OSDN Git Service

7beb2fc52a26db7c030c11842ae97989aecfa33a
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-04-17  Roger Sayle  <roger@eyesopen.com>
2
3         PR c/10375
4         * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
5         function attributes.
6
7 2003-04-17  Janis Johnson  <janis187@us.ibm.com>
8
9         * doc/sourcebuild.texi (Test Suites): Document support for testing
10         binary compatibility (moved from testsuite/README.compat).
11
12 2003-04-17  Richard Henderson  <rth@redhat.com>
13
14         * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
15
16 2003-04-17  Simon Law  <sfllaw@engmail.uwaterloo.ca>
17
18         * doc/include/gpl.texi: Fix double-spacing after "MA" to match
19         the one provided by the FSF.
20
21 2003-04-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
22
23         * doc/install.texi (Binaries): Update URL and list of platforms
24         provided by ftp.thewrittenword.com.
25
26 2003-04-17  Richard Henderson  <rth@redhat.com>
27
28         * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
29         (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
30         * config/xtensa/xtensa.md (call, call_value): Likewise.
31
32 2003-04-17  Richard Henderson  <rth@redhat.com>
33
34         * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
35         (print_operand_address): Likewise.
36         (ep_memory_operand): Likewise.
37         (special_symbolref_operand): Likewise.
38         (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
39         (v850_encode_section_info): Call default_encode_section_info.
40         (v850_strip_name_encoding): Remove.
41         * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
42         (ASM_OUTPUT_LABELREF): Remove.
43         (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
44         (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
45         (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
46         (ENCODED_NAME_P): Remove.
47         (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
48         (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
49         (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
50
51 2003-04-17  Richard Henderson  <rth@redhat.com>
52
53         * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
54         * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
55         SYMBOL_REF_FUNCTION_P.
56
57 2003-04-17  Richard Henderson  <rth@redhat.com>
58
59         * config/sparc/sparc.c (sparc_encode_section_info): Remove.
60         (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
61         (text_segment_operand): Likewise.
62
63 2003-04-17  Richard Henderson  <rth@redhat.com>
64
65         * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
66         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
67         (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
68         (sh_encode_section_info): Remove.
69         (sh_strip_name_encoding): Remove.
70         * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
71         (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
72         (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
73         (ASM_OUTPUT_LABELREF): Remove.
74         (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
75         * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
76
77 2003-04-17  Richard Henderson  <rth@redhat.com>
78
79         * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
80         (tls_model_chars): Remove.
81         (larl_operand): Use SYMBOL_REF_FLAGS.
82         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
83         (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P. 
84         (s390_output_mi_thunk): Likewise.
85         (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
86         (s390_function_profiler): Likewise.
87         (s390_encode_section_info): Use default_encode_section_info
88         and SYMBOL_FLAG_ALIGN1.
89         (s390_strip_name_encoding): Remove.
90         * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
91         * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
92         (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
93
94 2003-04-17  Richard Henderson  <rth@redhat.com>
95
96         * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
97         (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
98         (print_operand_address): Likewise.
99
100         * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
101         * config/ns32k/ns32k.c (expand_block_move): Don't check
102         flag_unroll_loops.
103
104 2003-04-17  Richard Henderson  <rth@redhat.com>
105
106         * config/mcore/mcore.c (mcore_encode_section_info): Don't set
107         SYMBOL_REF_FLAG.
108
109 2003-04-17  Richard Henderson  <rth@redhat.com>
110
111         * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
112
113         * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
114         (SYMBOL_REF_MODEL): New.
115         (LIT_NAME_P): Move from m32r.h.
116         (m32r_select_section): Remove.
117         (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
118         (m32r_strip_name_encoding): Remove.
119         (m32r_in_small_data_p): New.
120         (small_data_operand): Use SYMBOL_REF_SMALL_P.
121         (addr24_operand): Use SYMBOL_REF_MODEL.
122         (call26_operand): Likewise.
123         (addr32_operand): Tidy.
124         (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
125         * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
126         (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
127         (READONLY_DATA_SECTION_ASM_OP): Remove.
128         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
129         (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
130         (TARGET_ASM_SELECT_SECTION): Remove.
131         (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
132         (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
133         (LARGE_NAME_P, ENCODED_NAME_P): Remove.
134         (ASM_OUTPUT_LABELREF): Remove.
135
136 2003-04-17  Richard Henderson  <rth@redhat.com>
137
138         * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
139         (encode_section_info): Remove.
140         * config/ip2k/ip2k-protos.h: Update.
141
142 2003-04-17  Richard Henderson  <rth@redhat.com>
143
144         * varasm.c (default_encode_section_info): Don't set 
145         SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
146         * config/i370/i370.c (i370_encode_section_info): Remove.
147         * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
148         (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
149         * config/i370/i370.md (movsi): Likewise.
150
151         * config/i370/t-i370: Add missing backslash.
152
153 2003-04-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
154
155         * doc/invoke.texi (inline-limit): Fix pasto.
156
157 2003-04-17  Richard Henderson  <rth@redhat.com>
158
159         * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
160         (small_call_insn_operand): Use it.
161         (SYMBOL_FLAG_EIGHTBIT_DATA): New.
162         (h8300_eightbit_constant_address_p): Use it.
163         (SYMBOL_FLAG_TINY_DATA): New.
164         (h8300_tiny_constant_address_p): Use it.
165         (h8300_encode_label, h8300_strip_name_encoding): Remove.
166         (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
167         * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
168         (ASM_OUTPUT_LABELREF): Remove.
169
170 2003-04-16  Richard Henderson  <rth@redhat.com>
171
172         * config/frv/frv.c (symbol_ref_small_data_p): Remove.  Replace
173         all users with SYMBOL_REF_SMALL_P.
174         (const_small_data_p): Use SYMBOL_REF_SMALL_P.
175         (frv_encode_section_info): Remove.
176         (frv_strip_name_encoding): Remove.
177         (frv_in_small_data_p): Merge tests from encode_section_info.
178         (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
179         * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
180         (SDATA_NAME_P): Remove.
181         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
182         (ASM_OUTPUT_LABELREF): Remove.
183         (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
184
185         * config/frv/frv.c (frv_asm_out_constructor): New.
186         (frv_asm_out_destructor): New.
187         * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
188         (DTORS_SECTION_ASM_OP): New.
189         (ASM_OUTPUT_CONSTRUCTOR): Remove.
190         (ASM_OUTPUT_DESTRUCTOR): Remove.
191
192 2003-04-16  Richard Henderson  <rth@redhat.com>
193
194         * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
195         SYMBOL_REF_LOCAL_P; abort if not pic.
196         (cris_encode_section_info): Remove.
197
198 2003-04-16  Richard Henderson  <rth@redhat.com>
199
200         * config/c4x/c4x.c (c4x_encode_section_info): Remove.
201         (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
202
203         * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
204         flag_inline_trees.
205
206 2003-04-16  Richard Henderson  <rth@redhat.com>
207
208         * config/avr/avr.c (avr_encode_section_info): Remove.
209         (avr_insert_attributes): New.
210         (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
211         (avr_assemble_integer): Likewise.
212
213 2003-04-16  Richard Henderson  <rth@redhat.com>
214
215         * arc.c (arc_encode_section_info): Remove.
216         (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.      
217         (arc_print_operand, arc_print_operand_address): Likewise.
218         * arc.h (EXTRA_CONSTRAINT): Likewise.
219
220 2003-04-16  Roger Sayle  <roger@eyesopen.com>
221
222         * c-semantics.c (find_reachable_label): New function to find a
223         potentially reachable label in an expression.
224         (expand_unreachable_if_stmt): Similar to expand_if_stmt but
225         assumes the start of the IF_STMT is unreachable (dead) code.
226         (expand_unreachable_stmt): Similar to expand_stmt but assumes
227         the start of the statement list is unreachable (dead) code.
228         (genrtl_if_stmt):  If the controlling expression of the IF
229         is constant, use expand_unreachable_stmt for the THEN or ELSE
230         clause as appropriate.
231         (genrtl_switch_stmt):  Use expand_unreachable_stmt to expand
232         the body of a SWITCH statement.
233         (expand_stmt): The code immediately following a "return",
234         "break", "continue" or "goto" is unreachable.
235         * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
236
237 2003-04-16  Richard Henderson  <rth@redhat.com>
238
239         * rtl.h (MEM_ALIAS_SET): Update documentation.
240         * doc/rtl.texi (Special Accessors): New node.
241         (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
242
243 2003-04-16  Alexandre Oliva  <aoliva@redhat.com>
244
245         * reload1.c (reload_cse_noop_set_p): Return false if mode of
246         SET_DEST is not the same as that returned by...
247         * cselib.h (cselib_reg_set_mode): ... new function.
248         * cselib.c (cselib_reg_set_mode): Define it.
249         (REG_VALUES): Document semantics of first element as set mode.
250         (cselib_subst_to_values): Skip first element if ELT is NULL.
251         (cselib_lookup): Likewise.  Insert past the first element.
252         (cselib_invalidate_regno): NULLify first element.
253         (cselib_record_set): Set first element.
254
255 2003-04-16  Olivier Hainque <hainque@act-europe.fr>
256
257         * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
258         (save_expr): Replace loop by call to skip_simple_arithmetics_at.
259         * tree.h: Add prototypes for the two new functions.
260         * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
261         updates introduced in the previous revision by call to saved_expr_p.
262         * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
263
264         * expr.c (store_field): Force usage of bitfield instructions when
265         the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
266         (expand_expr, case BIT_FIELD_REF): likewise.
267
268 2003-04-16  Mark Mitchell  <mark@codesourcery.com>
269
270         PR middle-end/8866
271         * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
272         jumptables.
273
274 2003-04-16  Richard Henderson  <rth@redhat.com>
275
276         * config/ia64/ia64.c (sdata_symbolic_operand): Use
277         SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
278         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
279         (function_operand): Use SYMBOL_REF_FUNCTION_P.
280         (ia64_expand_load_address): Likewise.
281         (ia64_assemble_integer): Likewise.
282         (ia64_encode_section_info): Remove.
283         (ia64_strip_name_encoding): Remove.
284         * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
285         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
286
287 2003-04-16  Richard Henderson  <rth@redhat.com>
288
289         * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
290         (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
291         (direct_call_operand): Use SYMBOL_FLAG_NEAR.
292         (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
293         (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
294         (global_symbolic_operand): Similarly.
295         (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
296         (tls_symbolic_operand_type): Likewise.
297         (alpha_encode_section_info): Use default_encode_section_info.
298         (alpha_strip_name_encoding): Remove.
299         (get_tls_get_addr): Split out from ...
300         (alpha_legitimize_address): ... here.
301         (alpha_emit_xfloating_libcall): Use init_one_libfunc.
302         (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
303         (alpha_initialize_trampoline): Use init_one_libfunc.
304         (alpha_setup_incoming_varargs): Mark unused parameters.
305         (alpha_initial_elimination_offset): Likewise.
306         (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
307         (unicosmk_unique_section): Use default_strip_name_encoding.
308         (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
309
310 2003-04-16  Aldy Hernandez  <aldyh@redhat.com>
311
312         * config.gcc: Add t-spe for eabispe.
313
314         * config/rs6000/t-spe: New.
315
316 2003-04-16  J"orn Rennecke <joern.rennecke@superh.com>
317
318         Re-apply this patch:
319
320         2002-05-16  Dale Johannesen  <dalej@apple.com>
321           * combine.c (cant_combine_insn_p):  Reenable combinations
322           involving hard regs unless CLASS_LIKELY_SPILLED_P.
323
324 2003-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
325
326         PR/10271
327         * pa-protos.h (function_arg): Remove last argument.
328         * pa.c (function_arg): Likewise.  Use CUMULATIVE_ARGS struct instead.
329         * pa.h (struct hppa_args): Add member incoming. 
330         (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
331         member incoming.
332         (FUNCTION_ARG): Revise call to function_arg.
333         (FUNCTION_INCOMING_ARG): Delete.
334
335 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
336
337         * configure.in: Unify the code which creates symlinks to a
338         just-built as, ld, objdump, and nm with the code that detects
339         their presence for purposes of feature tests.
340         * configure: Regenerate.
341
342 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
343
344         * varasm.c (output_constant_def): Do not consult
345         CONSTANT_AFTER_FUNCTION_P.  Remove all code predicated on it.
346         (after_function_constants, output_after_function_constants): Delete.
347         * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
348         * config/mips/mips-protos.h, config/mips/mips.c
349         (mips16_constant_after_function_p): Delete.
350         * config/mips/mips.h: Delete #if-0-ed definition of
351         CONSTANT_AFTER_FUNCTION_P.
352         * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
353         mention of CONSTANT_AFTER_FUNCTION_P in comment.
354
355 2003-04-15  Geoffrey Keating  <geoffk@apple.com>
356
357         * tree.c (next_decl_uid): Mark with GTY.
358         (next_type_uid): Likewise.
359
360 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
361
362         PR target/9594:
363         * sh.c (barrier_align): Also recognize stuff_delay_slot as
364         an indicator that a barrier was created by branch splitting.
365
366 2003-04-15  Mark Mitchell  <mark@codesourcery.com>
367
368         * c-decl.c (implicitly_declare): Copy declarations that are going
369         to be placed in a local scope.
370
371 2003-04-15  James A. Morrison  <ja2morri@uwaterloo.ca>
372
373         * invoke.texi (Spec Files): Wrap if-exists-else example.
374         (MCore): Remove duplicate @itemx entries and @opindex entries.
375
376 2003-04-15  Ulrich Weigand  <uweigand@de.ibm.com>
377
378         * unwind.inc (_Unwind_Backtrace): New function.
379         * unwind.h (_Unwind_Backtrace): Declare it.
380         * libgcc-std.ver (_Unwind_Backtrace): Export it.
381
382 2003-04-14  Jason Merrill  <jason@redhat.com>
383
384         PR middle-end/10336, c++/10401
385         * jump.c (never_reached_warning): Also stop looking if we reach the
386         beginning of the function.
387
388 2003-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
389
390         PR target/10338
391         PR bootstrap/10198
392         PR bootstrap/10140
393         * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
394
395 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
396
397         * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
398
399 2003-04-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
400
401         * optabs.c (expand_binop): In multi-word add cases, ensure
402         XTARGET is copied to TARGET if they are different.
403
404 2003-04-15  Olivier Hainque <hainque@act-europe.fr>
405
406         * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
407         to region, possible after integration of function with unreachable
408         regions that were optimized away.
409
410 2003-04-15  Jakub Jelinek  <jakub@redhat.com>
411
412         * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
413         instead of TOC_REGISTER in epilogue in
414         current_function_calls_eh_return functions.
415
416 2003-04-14  Mark Mitchell  <mark@codesourcery.com>
417
418         * doc/extend.texi (Empty Structures): Correct description of G++'s
419         handling of these structures.
420
421         * c-decl.c (grokdeclarator): Reject extern redeclarations of
422         static variables.
423
424 2003-04-14  Janis Johnson  <janis287@us.ibm.com>
425
426         * config/rs6000/rs6000.md (define_constants): Define constants for
427         all UNSPEC usage, including new values for TLS support.
428         (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
429         load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
430         load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
431         macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
432         stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
433         eh_set_lr_di): Use them.
434         * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
435         rs6000_emit_epilogue) Use them.
436
437         * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
438
439 2003-04-14  Neil Booth  <neil@daikokuya.co.uk>
440
441         * Makefile.in (c-opts.o): Use custom action.
442
443 2003-04-14  Douglas B Rupp  <rupp@gnat.com>
444
445         * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
446
447 2003-04-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
448
449         * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
450         handle "superflat arrays" in Ada.
451
452         * integrate.c (expand_inline_function): Don't inline if would
453         lose /u on a BLKmode TARGET.
454
455 2003-04-14  Joel Brobecker  <brobecker@gnat.com>
456
457         * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
458         extracted from dbxout_type.
459         (dbxout_range_type): print large bounds in octal format.
460         (dbxout_type): Replace extracted code by call to
461         print_int_cst_bounds_in_octal_p.
462
463         * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
464         of DW_LANG_Ada83 for Ada units.
465
466 2003-04-14  Olivier Hainque <hainque@act-europe.fr>
467
468         * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
469         temporary used to round CONST_INT sizes.
470
471         * tree.c (int_fits_type_p): Extract generic checks from the case
472         of constant type bounds. Refine the checks against constant type
473         bounds to allow for possible decisions against each of these bounds
474         without requiring both bounds to be constant.
475         (tree_int_cst_msb): Put back.
476         * tree.h (tree_int_cst_msb): Likewise.
477
478         * global.c (global_conflicts): Prevent allocation of call clobbered
479         hard regs to pseudos live across abnormal edges, as later passes are
480         not ready to handle them.
481
482         * fold-const.c (fold): Reorder tests for conditional expressions.
483
484         * expr.c (highest_pow2_factor): Return unsigned.
485         * expr.h (offset_address): Likewise.
486         * emit-rtl.c (offset_address): POW2 argument now unsigned.
487
488 2003-04-14  Roger Sayle  <roger@eyesopen.com>
489
490         * builtins.c (expand_builtin_strlen):  Evaluate the lengths of
491         string literals at compile-time.
492
493 2003-04-14  Roger Sayle  <roger@eyesopen.com>
494
495         * fold-const.c (fold):  Transform (c1 - x) cmp c2, where cmp is a
496         comparison operation and c1/c2 are floating point constants into
497         x swap(cmp) (c1 - c2).
498
499 2003-04-14  Vladimir Makarov  <vmakarov@redhat.com>
500
501         * genautomata.c (output_translate_vect): Fix a typo in loop
502         condition.
503
504 2003-04-14  Hans-Peter Nilsson  <hp@axis.com>
505
506         PR target/10377
507         * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
508         ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
509         ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
510         ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
511         ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
512         ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
513         ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
514         ("*extopqihi_swap_side", "*extopqisi_swap_side")
515         ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
516         When next to constraint R, replace constraint i with n.
517
518 Mon Apr 14 16:18:37 CEST 2003  Jan Hubicka  <jh@suse.cz>
519
520         PR opt/10024
521         * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
522
523 2003-04-14  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
524
525         * doc/contrib.texi (Contributors): Correct my entry.
526
527 2003-04-13  Roger Sayle  <roger@eyesopen.com>
528
529         * tree.h (DECL_BUILT_IN_NONANSI): Remove.
530         * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
531         * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
532         implies DECL_BUILT_IN to simplify logic.
533         * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
534
535 2003-04-13  Roger Sayle  <roger@eyesopen.com>
536
537         * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
538         (BT_FN_PTR_SIZE_SIZE): Likewise.
539         * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
540         New built-in functions for malloc, calloc and strdup respectively.
541         * calls.c (special_function_p): No need to handle malloc-like
542         functions any longer.  ECF_MALLOC is set via built-in attributes.
543
544         * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
545
546         * doc/extend.texi: Document these new built-in functions.
547
548 2003-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
549
550         * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
551         (expand_builtin_stpcpy): New.
552         (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
553         * builtins.def: Add mempcpy & stpcpy support.
554         * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
555
556 2003-04-13  Nick Clifton  <nickc@redhat.com>
557
558         * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
559         "GCC".
560         * config/rs6000/40x.md, config/rs6000/603.md,
561         config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
562         config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
563         config/rs6000/aix3newas.h, config/rs6000/aix41.h,
564         config/rs6000/aix43.h, config/rs6000/aix51.h,
565         config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
566         config/rs6000/altivec.h, config/rs6000/altivec.md,
567         config/rs6000/beos.h, config/rs6000/darwin.h,
568         config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
569         config/rs6000/eabisim.h, config/rs6000/eabispe.h,
570         config/rs6000/freebsd.h, config/rs6000/gnu.h,
571         config/rs6000/host-darwin.c, config/rs6000/linux.h,
572         config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
573         config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
574         config/rs6000/netbsd.h, config/rs6000/power4.md,
575         config/rs6000/rios1.md, config/rs6000/rios2.md,
576         config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
577         config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
578         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
579         config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
580         config/rs6000/spe.md, config/rs6000/sysv4.h,
581         config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
582         config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
583
584 2003-04-13  Nick Clifton  <nickc@redhat.com>
585
586         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
587         support for -mcall-aix switch.
588         * config/rs6000/eabiaix.h: Delete.
589         * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
590         (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
591         RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
592         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
593         * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
594         debug_stack_info, output_function_profiler,
595         rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
596         * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
597         call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
598         call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
599         sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
600         * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
601         multilibs.
602         (MULTILIB_DIRNAMES): Remove mcall-aix directories.
603         (MULTILIB_EXCEPTIONS): Delete.
604         (MULTILIB_MATCHES): Remove mcall-aix matches.
605
606         * doc/fragments.texi: Replace -mcall-aix example with an ARM
607         one.
608         * doc/install.texi: Delete powerpc-*-eabiaix target.
609         * doc/invoke.texi: Remove documentation of mcall-aix switch.
610         * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
611         * config.gcc: Delete powerpc-*-eabiaix target.
612
613 2003-04-13  Kazu Hirata  <kazu@cs.umass.edu>
614
615         * doc/invoke.texi: Fix typos.
616         * doc/tm.texi: Likewise.
617
618 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
619
620         * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
621
622 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
623
624         * tree.c (build_constructor): New function.
625         * tree.h: Prototype it.
626
627         * c-typeck.c (build_c_cast, pop_init_level)
628         * profile.c (build_function_info_value, build_gcov_info_value)
629         (create_profiler):
630         Use build_constructor.
631
632         * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
633
634         * objc/objc-act.c (build_constructor):
635         Rename objc_build_constructor. Use build_constructor.
636         (build_objc_string_object, objc_add_static_instance)
637         (init_def_list, init_objc_symtab, init_module_descriptor)
638         (generate_static_references, build_selector_translation_table)
639         (build_descriptor_table_initializer, generate_descriptor_table)
640         (build_protocol_initializer, build_ivar_list_initializer)
641         (generate_ivars_list, build_dispatch_table_initializer)
642         (generate_dispatch_table, generate_protocol_list)
643         (build_category_initializer, build_shared_structure_initializer):
644         Update to match.
645
646 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
647
648         * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
649
650 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
651
652         * config/m68hc11/m68hc11-protos.h
653         (m68hc11_eq_compare_operator): Declare
654         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
655         * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
656         (d_register_operand): Check the operand mode.
657         (hard_addr_reg_operand): Likewise.
658
659 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
660
661         * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
662         pattern for dbcc/ibcc generation for 68HC12.
663         ("doloop_end"): New pattern.
664         ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
665         ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
666         ("m68hc12_dbcc_dec_qi"): New pattern.
667         ("m68hc12_dbcc_inc_qi"): New pattern.
668         (split): Add split for the above when we can't use dbcc/ibcc due to
669         reloading.
670         (peephole2): Add peephole2 to generate the above when possible.
671
672 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
673
674         * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
675         mode of operand 0.
676         (peephole2 optimize const load): Likewise for operand 2.
677         ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
678         clobbers CC_REGNUM.
679         ("*rotrhi3_with_carry"): Likewise.
680         (ashift:DI 1 split): Update pattern to create the above rotate.
681         (lshiftrt:DI 1 split): Likewise.
682
683 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
684
685         * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
686         ("tstqi_z_used" split): Use it.
687         ("cmphi_z_used"): Likewise.
688         ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
689         ("cmpqi_z_used"): Likewise.
690
691 2003-04-12  Mark Mitchell  <mark@codesourcery.com>
692
693         PR c++/7910
694         * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
695
696 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
697
698         * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
699         * configure, config.in: Regenerate.
700         * intl.c (gcc_gettext_width): New function.
701         * intl.h: Prototype it.
702
703 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
704
705         * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
706         recognize -mnorelax.
707         (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
708         (REG_CLASS_NAMES): Add its name.
709         (REG_CLASS_CONTENTS): Define its content.
710
711 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
712
713         * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
714         parameters so that offsets are valid for far definition.
715         (__mulsi3): Likewise and use ret to return.
716         (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
717
718 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
719
720         * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
721
722 2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
723
724         * mklibgcc.in (libgcc-stage-start): For every multilib  directory
725         containing a libgcc.a, move lib* to the corresponding stage dir.
726
727         * Makefile.in (stage1-start, stage2-start, stage3-start,
728         stage4-start): Move $(SPECS) to specs in stage dir.
729         (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
730         back as $(SPECS).
731
732         * mklibgcc.in (libgcc-stage-start): Move into the stage directory
733         object files from the non-libgcc/ multilib directories as well.
734
735 2003-04-11  Geoffrey Keating  <geoffk@apple.com>
736
737         * profile.c (read_counts_file): Initialise 'checksum'.
738
739         * emit-rtl.c (gen_rtx): Really correct typo.
740
741         PR c++/9393
742         * doc/invoke.texi (Debugging Options): Document -frandom-seed.
743         * configure.in: Check for gettimeofday.
744         * tree.c (flag_random_seed): Define.
745         (default_flag_random_seed): New.
746         (append_random_chars): Use flag_random_seed rather than trying
747         to acquire randomness here.
748         * tree.h (default_flag_random_seed): Declare.
749         * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
750         descriptions.
751         (decode_f_option): Handle -frandom-seed.
752         (print_switch_values): Call default_flag_random_seed.
753         * flags.h (flag_random_seed): Declare.
754         * configure: Regenerate.
755         * config.in: Regenerate.
756         * config/alpha/t-crtfm: Use -frandom-seed.
757
758         * doc/extend.texi (Empty Structures): New.
759
760         * c-pch.c: Include flags.h.  Add comments to routines.
761         (struct c_pch_validity): New.
762         (get_ident): Update PCH file version number.
763         (pch_init): Output current debugging type.
764         (c_common_valid_pch): Check debugging type.
765         * Makefile.in (c-pch.o): Update dependencies.
766         * flags.h (debug_type_names): Declare.
767         * toplev.c (debug_type_names): Move out of decode_g_option.
768
769 2003-04-11  Eric Christopher  <echristo@redhat.com>
770
771         * emit-rtl.c (gen_rtx): Fix typos.
772
773 2003-04-11  Richard Henderson  <rth@redhat.com>
774
775         * emit-rtl.c (gen_rtx): Zero '0' fields.
776
777 2003-04-11  Richard Henderson  <rth@redhat.com>
778
779         PR c++/10202
780         * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
781         not COMPLETE_TYPE_P for re-invoking layout_decl.
782
783 2003-04-11  Simon Law  <sfllaw@engmail.uwaterloo.ca>
784
785         * doc/bugreport.texi: Fix paragraph breaking between sections
786         in preparation for TeXinfo's paragraph indentation fixes.
787         * doc/extend.texi: Ditto.
788         * doc/invoke.texi: Ditto.
789         * doc/objc.texi: Ditto.
790         * doc/gcov.texi: Wrap 'gcov' in @command{}.
791         * doc/invoke.texi (Darwin Options): Add a preamble.
792
793 2003-04-11  Richard Henderson  <rth@redhat.com>
794
795         * config/i386/i386.c (tls_model_chars): Remove.
796         (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
797         (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
798         (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
799         (tls_symbolic_operand_1): Likewise.
800         (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
801         * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
802         (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
803         * config/i386/winnt.c (i386_pe_encode_section_info): Replace
804         bits "copied from i386.h" with default_encode_section_info.
805
806 2003-04-11  Richard Henderson  <rth@redhat.com>
807
808         * rtl.def (SYMBOL_REF): Add two 0 fields.
809         * gengtype.c (adjust_field_rtx_def): Handle them.
810         * print-rtl.c (print_rtx): Print them.
811         * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
812         (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
813         (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
814         (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
815         (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
816         (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
817         (SYMBOL_FLAG_MACH_DEP): New.
818         * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
819         * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
820         (assemble_static_space): Set SYMBOL_REF_FLAGS.
821         (assemble_trampoline_template): Likewise.
822         (output_constant_def, force_const_mem): Likewise.
823         (default_encode_section_info): New.
824         * output.h: Declare it.
825         * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
826
827 2003-04-11  Richard Henderson  <rth@redhat.com>
828
829         * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
830         (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
831         * optabs.c (init_optabs): Initialize them.
832         (init_libfuncs): Use init_one_libfunc.
833         * calls.c (expand_call): Use gcov_flush_libfunc.
834         * expr.c (store_constructor): Use setbits_libfunc.
835         * function.c (expand_main_function): Use init_one_libfunc.
836         * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
837
838 2003-04-11  Mark Mitchell  <mark@codesourcery.com>
839
840         * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
841         documentation; add DECL_FRIEND_CONTEXT.
842
843 2003-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
844
845         * doc/install.texi (hppa): Update links for HP-UX patches.  Revise
846         notes on linker selection and configuration for 64-bit HP-UX port.
847         * doc/invoke.texi (hppa): Remove hppa text from description for
848         -ffunction-sections and -fdata-sections.  Document -static, -nolibdld
849         and -threads options.
850
851         * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
852         libc.a on libdld.sl when -static is specified and -nolibdld is not
853         specified.
854         * pa64-hpux.h (LIB_SPEC): Likewise.
855         * pa-hpux11.h (LIB_SPEC): Likewise.
856         (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
857         is not specified.
858
859 2003-04-11  Zack Weinberg  <zack@codesourcery.com>
860
861         * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
862         not IDENTIFIER_LOCAL_VALUE.
863
864 2003-04-11  Richard Henderson  <rth@redhat.com>
865
866         PR c/10201
867         * expr.c (expand_expr): Move DECL_RTL frobbing ...
868         * stor-layout.c (layout_decl): ... here.
869
870 2003-04-11  James A. Morrison <ja2morri@uwaterloo.ca>
871
872         * doc/invoke.texi: Eliminate extra white-space caused by
873         @gccoptlist{ on its own line.
874         * doc/invoke.texi: Ensured there are two spaces between each option.
875         * doc/invoke.texi: Re-wrapped option lines that were too wide.
876         Added @gol to options that didn't have them.
877
878 2003-04-11  Nathan Sidwell  <nathan@codesourcery.com>
879
880         * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
881         gcov-iov.h.
882
883         Simplify interface to gcov reading and writing.
884         * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
885         gcov_alloc, gcov_modified, gcov_errored): Move into ...
886         (struct gcov_var gcov_var): ... this static structure.
887         (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
888         Return void.
889         (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
890         read object.
891         (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
892         (gcov_reserve_length): Remove.
893         (gcov_write_tag): New.
894         (gcov_write_length): Adjust.
895         (gcov_read_summary, gcov_write_summary): Adjust.
896         (gcov_eof, gcov_ok): Rename to ...
897         (gcov_is_eof, gcov_is_error): ... here. Return error code.
898         (gcov_save_position, gcov_resync): Rename to ...
899         (gcov_position, gcov_seek): ... here.
900         (gcov_skip, gcov_skip_string): Remove.
901         (gcov_error): Remove.
902         (gcov_open, gcov_close): Adjust.
903         * gcov.c (find_source): Take const char *, copy it on allocation.
904         (read_graph_file): Adjust.
905         (read_count_file): Adjust.
906         * libgcov.c (gcov_exit): Adjust.
907         * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
908         tag_arc_counts, tag_summary): Return void. Adjust.
909         (struct tag_format): Adjust proc member.
910         (dump_file): Adjust gcov calls.
911
912 2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
913
914         * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
915         mkfixinc.sh.
916         * fixinc/mkfixinc.sh (defs): Add LIBERTY.
917         * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
918         build != host sysrooted builds.
919         * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
920         TARGET_SYSTEM_ROOT even on sysrooted natives.
921         * configure: Rebuilt.
922
923 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
924
925         * c-decl.c (struct binding_level): Add shadowed_tags and
926         function_body; remove this_block, tag_transparent, and
927         subblocks_tag_transparent; update comments.
928         (clear_binding_level, lookup_tag_reverse): Kill.
929         (make_binding_level): Use ggc_alloc_cleared or memset.
930         (lookup_tag): Remove struct binding_level* parameter.  All
931         callers changed. Just look at IDENTIFIER_TAG_VALUE, and
932         current_binding_level->tags if asked for thislevel_only or if
933         we might have to diagnose "struct foo; union foo;"
934         (pushlevel): Ignore argument.  Do not push another binding
935         level on the transition from the parameters to the top level
936         of the function body; just tweak the flags and proceed.
937         (poplevel): Overhaul.  Clear IDENTIFIER_TAG_VALUEs; on exiting
938         a function body, separate the parameter list from the
939         top-level local variables.
940         (set_block): Do nothing.
941         (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
942         shadowed_tags if necessary.
943         (warn_if_shadowing): Nuke the special case for local shadowing
944         parameter.
945         (pushdecl): Do not create a shadow entry if we are replacing
946         an older decl in the same binding level.
947         (pushdecl_function_level): Tweak for new way of indicating
948         function scope.
949         (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
950         (start_function): Don't set subblocks_tag_transparent.
951         (finish_function): Fix up the binding_level stack for totally
952         empty functions.  Otherwise, don't call poplevel.
953
954         * c-common.c (shadow_warning): MANDATORY argument is no longer
955         necessary.  Always use plain warning.
956         * c-common.h: Update to match.
957
958         * cfglayout.c (scope_to_insns_initialize): Clear block when we
959         hit the FUNCTION_DECL.
960         * function.c: Do not create cyclic tree structure.
961
962 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
963
964         * c-tree.h (struct lang_identifier): Replace global_value,
965         local_value members with symbol_value, tag_value.  Kill
966         implicit_decl and limbo_value.
967         (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
968         IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
969         C_MISSING_PROTOTYPE_WARNED): Kill.
970         (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
971         C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
972         (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
973         (implicit_decl_warning, lookup_name_current_level,
974         record_function_scope_shadow): Don't prototype.
975         (pushdecl_function_level): Prototype.
976
977         * c-decl.c (truly_local_externals): New variable.
978         (struct binding_level): Adjust commentary.
979         (get_function_binding_level, clear_limbo_values,
980         record_function_scope_shadow): Kill.
981         (lookup_name_current_level, implicit_decl_warning): Are now static.
982         (any_external_decl, record_external_decl): New static functions.
983         (clone_underlying type): Split out of pushdecl.
984         (c_print_identifier): Update to match changes to struct
985         lang_identifier.
986         (poplevel): Delete #if 0 block.  Make externals invisible
987         instead of clearing their IDENTIFIER_SYMBOL_VALUEs.  Don't
988         call clear_limbo_values.  Refer to IDENTIFIER_SYMBOL_VALUE not
989         IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
990         (duplicate-decls): For real parm decl after a forward decl,
991         set TREE_ASM_WRITTEN here.  Allow void foo(...) followed by
992         foo(...) { } with only a warning.  Say whether a previous
993         declaration was implicit.
994         (warn_if_shadowing): Now handles all shadowing, not just
995         local-over-local.  Clarify comments.
996         (pushdecl): Rewritten.  There is no longer a distinction
997         between global and local symbol values; they're all
998         IDENTIFIER_SYMBOL_VALUE.  Call record_external_decl on all
999         DECL_EXTERNAL decls, and use any_external_decl to check
1000         against previous externals.  Kill #if 0 blocks.  Don't
1001         tolerate error_mark_node being NULL.
1002         (pushdecl_top_level): Handle only those cases which
1003         Objective C (the only user) needs.
1004         (pushdecl_function_level): New function.
1005         (implicitly_declare): Create ordinary decls with
1006         C_DECL_IMPLICIT set.  Recycle old decls, however they got
1007         created.
1008         (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
1009         for C_DECL_INVISIBLE symbols.
1010         (lookup_name_current_level): Likewise.  Use chain_member.
1011         (c_make_fname_decl): Don't muck with DECL_CONTEXT.
1012         Use pushdecl_function_level.
1013         (builtin_function): Use C_DECL_INVISIBLE.
1014         (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
1015         Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
1016         (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
1017         (identifier_global_value): Same.  Must scan
1018         global_binding_level in extremis.
1019
1020         * c-typeck.c (undeclared_variable): New static function, split
1021         from build_external_ref.
1022         (build_external_ref): Use DECL_CONTEXT, not
1023         IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
1024         an instance variable.  Restructure for clarity.
1025         * objc/objc-act.c: Use identifier_global_value, not
1026         IDENTIFIER_GLOBAL_VALUE.
1027
1028 2003-04-08  Jonathan Wakely  <redi@gcc.gnu.org>
1029
1030         * doc/extend.texi (Template Instantiation): Refer to ISO standard,
1031         not Working Paper.
1032         * doc/invoke.texi (C++ Dialect Options): Same.
1033
1034 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
1035
1036         * tree.c (tree_operand_check_failed): New function.
1037         * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
1038         TREE_RTL_OPERAND_CHECK): New checking macros.
1039         (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
1040         RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
1041         CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
1042         EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
1043         EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
1044         TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
1045         checking macros.
1046
1047 Thu Apr 10 23:52:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
1048
1049         PR inline-asm/8803
1050         * function.c (instantate_virtual_regs):  Verify that all ASM statements
1051         match after the virutal regs instantiation.
1052
1053 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
1054
1055         * ia64-protos.h (addp4_optimize_ok): New.
1056         * ia64.c (addp4_optimize_ok): New.
1057         * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
1058         (*ptr_extend_plus_2): Ditto.
1059
1060 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
1061
1062         * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
1063         not with convert_memory_address.
1064         (store_constructor): Ditto, and same for copy_size_rtx.
1065         (expand_expr): Ditto.
1066
1067 2003-04-10  Douglas B Rupp  <rupp@gnat.com>
1068
1069         * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
1070
1071 2003-04-10  Bob Wilson  <bob.wilson@acm.org>
1072
1073         * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
1074         even if it is configured to be write-through.
1075
1076 2003-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
1077
1078         * config/s390/s390.c (larl_operand): Do not allow symbols
1079         marked with '@'.
1080         (s390_encode_section_info): Mark symbols with forced 1-byte
1081         alignment with '@'.
1082         (s390_strip_name_encoding): Strip '@'.
1083         (legitimize_pic_address): Handle symbols that are not valid
1084         LARL operands in 64-bit mode.
1085
1086 2003-04-10  Andrew Haley  <aph@redhat.com>
1087
1088         * tree-inline.c (inlinable_function_p): Disable inlining for
1089         synchronized methods.
1090
1091 2003-04-09  Steven Bosscher  <steven@gcc.gnu.org>
1092
1093         * c-common.h (lang_statement_code_p): Remove declaration.
1094         (statement_code_p): Ditto.
1095         (c_common_stmt_codes): Define; list of c-common statement codes.
1096         (statement_code_p): New extern declaration.
1097         (STATEMENT_CODE_P): Define.
1098         (INIT_STATEMENT_CODES): Define.
1099         * c-common.c (statement_code_p): Kill the function, declare
1100         as an array of bools instead.
1101         (lang_statement_code_p): Remove.
1102         (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
1103         (c_safe_from_p): Ditto.
1104         * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
1105         to initialize the statement_code_p array.
1106         * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
1107         statement_code_p.
1108         (copy_tree_r): Ditto.
1109         * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
1110         statement tree codes.
1111         * cp/lex.c (cxx_init): Add missing print line break.  Use
1112         INIT_STATEMENT_CODES to initialize the statement_code_p array.
1113         * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
1114         instead of statement_code_p.
1115         * cp/pt.c (tsubst_expr): Ditto.
1116         * cp/tree.c (verify_stmt_tree_r): Ditto.
1117         (cp_statement_code_p): Remove.
1118         (init_tree): Don't set lang_statement_code_p, it's gone.
1119
1120 2003-04-09  Dan Nicolaescu  <dann@ics.uci.edu>
1121             Zack Weinberg  <zack@codesourcery.com>
1122
1123         * regrename.c (struct du_chain): Use a bitfield for reg_class.
1124         * cse.c (struct qty_table_elem, struct table_elt, struct set):
1125         Use bitfields for fields holding enum rtx_code or
1126         enum machine_mode values.  Add comments explaining size choices.
1127
1128 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
1129
1130         * config/fp-bit.c (unpack_d): Handle pair of doubles with
1131         different signs correctly.
1132
1133 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
1134
1135         * sched-deps.c (reg_pending_barrier_mode): New enumeration.
1136         (reg_pending_barrier): Make it of the enumeration type.
1137         (sched_analyze_2): Define the barrier as MOVE_BARRIER or
1138         TRUE_BARRIER.
1139         (sched_analyze): Ditto.
1140         (sched_analyze_insn): Ditto.  Use anti-dependencies for
1141         MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
1142         (init_deps_global): Initialize the barrier as NO_BARRIER.
1143
1144 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
1145
1146         * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
1147         Check that asm insn starts on a new cycle.  Add nops after asm
1148         insn to end bundle.
1149         (bundling): Move insn type evaluation from the loop.  Call
1150         issue_nops_and_insn with the new parameter.  Ignore changing
1151         position for nops after asm insn.
1152
1153 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
1154
1155         * optabs.c: Comment that gen_add2_insn and others may actually
1156         return emitted insns, if the gen functions turn out to return
1157         emitted insns.
1158         * reload1.c (reload_cse_move2add): Cope with emitted insns from
1159         gen_add2_insn.
1160
1161 2003-04-09  Richard Henderson  <rth@redhat.com>
1162
1163         * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
1164         but not tls_symbolic_operand.
1165         (ia64_expand_load_address): Remove scratch operand.
1166         (ia64_expand_tls_address): Split out from ia64_expand_move.
1167         (ia64_expand_move): Split symbolics only after reload.
1168         (ia64_emit_cond_move): New.
1169         * config/ia64/ia64-protos.h: Update.
1170         * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
1171         (symbolic splitter): Accept SImode operands too.
1172         (cmove splitter): Use ia64_emit_cond_move.
1173
1174 2003-04-09  Nick Clifton  <nickc@redhat.com>
1175
1176         * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
1177         newer.
1178         * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
1179         instead of -mno-fpu.
1180         * config/arm/semi.h (ASM_SPEC): Likewise.
1181         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
1182         but only if -msoft-float is specified pass.  Otherwise pass
1183         -mfpu=softvfp.
1184
1185 2003-04-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1186
1187         * function.c (purge_addressof): Use free_INSN_LIST_node instead of
1188         free_EXPR_LIST_node.
1189
1190 2003-04-08  Roger Sayle  <roger@eyesopen.com>
1191
1192         * fold-const.c (fold):  Use "fold" following build in more places.
1193         Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
1194         pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
1195
1196 2003-04-08  Roger Sayle  <roger@eyesopen.com>
1197
1198         * builtins.c (fold_builtin):  Constant fold expressions as x*0.5
1199         instead of x/2.0.  Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
1200         log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
1201         pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
1202         Delete function scope "fcode" variable to avoid shadowing.
1203
1204 2003-04-08  Kevin Buettner  <kevinb@redhat.com>
1205
1206         * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
1207         Take into account DWARF_INITIAL_LENGTH_SIZE.
1208
1209 2003-04-08  Hans-Peter Nilsson  <hp@axis.com>
1210
1211         * reorg.c (fill_slots_from_thread): When considering changing the
1212         insn following a reg-to-reg copy insn to use the source reg of the
1213         copy, bail out if there's overlap between the registers.
1214
1215 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1216
1217         * function.c (postponed_insns): New.
1218         (purge_addressof_1): Postpone processing of insns if addressofs
1219         are not put into stack.
1220         (purge_addressof): Process postponed insns.
1221
1222 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
1223
1224         * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
1225         this is FP_MODE_DOUBLE .
1226         * sh.c (ra.h): #include.
1227         (push_regs): Add second parameter.  Changed all callers.
1228         If necessary, set fpscr before saving floating point registers.
1229         (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
1230         do saves / restores with SZ == 1.
1231         (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
1232         (sh_expand_epilogue): Likewise.  For TARGET_FMOVD, if floating point
1233         registers are being restored, restore FPSCR only after restoring them.
1234
1235 2003-04-08  Aldy Hernandez  <aldyh@redhat.com>
1236
1237         * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
1238         regardless of architecture.
1239         (spe_init_builtins): Change V2SI and V2SF types to opaque types.
1240
1241 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
1242
1243         * sh.c (push_regs, calc_live_regs): Return int.  Take single
1244         HARD_REG_SET * parameter.  Changed all callers.
1245
1246 Tue Apr  8 11:12:07 CEST 2003  Jan Hubicka  <jh@suse.cz>
1247
1248         * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
1249         GOTOFF operand.
1250         (legitimize_pic_address): Move plus outside the unspec.
1251         * i386.c (legitimate_constant_p):  Check (CONST (PLUS (UNSPEC ...
1252         for validity.
1253
1254 2003-04-08  Nathan Sidwell  <nathan@codesourcery.com>
1255
1256         * gcov-io.h (gcov_save_position): Remove __inline__ from
1257         declaration.
1258
1259 2003-04-07  Matt Kraai  <kraai@alumni.cmu.edu>
1260
1261         * doc/install.texi: Use @command and @samp for single- and
1262         multi-word commands respectively.
1263         * doc/makefile.texi: Likewise.
1264         * doc/sourcebuild.texi: Likewise.
1265
1266 2003-04-07  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1267             Richard Henderson  <rth@redhat.com>
1268
1269         PR c/9516
1270         * expr.c (safe_from_p): Rearrange to avoid deep recursion in
1271         favour of looping and tail recursion for TREE_LIST and binops.
1272
1273 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1274
1275         * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
1276         for insns without luid.
1277
1278 2003-04-07  Glen Nakamura  <glen@imodulo.com>
1279
1280         PR opt/8634
1281         * explow.c (maybe_set_unchanging): Don't flag non-static const
1282         aggregate type initializers with RTX_UNCHANGING_P.
1283
1284 2003-04-07  Richard Henderson  <rth@redhat.com>
1285
1286         PR opt/8634
1287         * function.c (purge_addressof_1): Don't try arithmetics for
1288         unchanging memories.
1289
1290 2003-04-07  Janis Johnson  <janis187@us.ibm.com>
1291
1292         * doc/sourcebuild.texi (Test Suites): Document testing support for
1293         gcov and profile-directed optimizations; describe gcc.misc-tests.
1294
1295 Mon Apr  7 22:19:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
1296
1297         PR target/10077
1298         * i386.md (movsi_1, movsi_nointerunit_1):  Fix SSEMOV alternative.
1299
1300 2003-04-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
1301
1302         * doc/rtl.texi (Comparison operations): Update to
1303         record the allowed comparison modes.
1304
1305 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
1306
1307         * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
1308         V2SI_type_node to opaque_V2SI_type_node.  Rename all
1309         V2SF_type_node to opaque_V2SF_type_node.
1310         (rs6000_init_builtins): Define opaque_V2SI_type_node and
1311         opaque_V2SF_type_node.
1312         (is_ev64_opaque_type): The types opaque_V2SI_type_node and
1313         opaque_V2SF_type_node are opaque types.
1314
1315 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
1316
1317         * gcse.c (replace_store_insn): Use single_set.
1318
1319 2003-04-07  Nathan Sidwell  <nathan@codesourcery.com>
1320
1321         Change gcov file interface to single file at a time.
1322         * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
1323         Convert to C89 prototypes.
1324         (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
1325         gcov_error, gcov_modified): New static variables.
1326         (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
1327         functions.
1328         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
1329         gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
1330         (gcov_read_summary, gcov_write_summary): Adjust.
1331         (gcov_save_position, gcov_reserve_length, gcov_write_length):
1332         Adjust.
1333         (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
1334         (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
1335         (da_file_position, da_file_seek, da_file_write, da_file_read):
1336         Remove.
1337         (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
1338         * gcov.c (gcov_type): Don't typedef here.
1339         (IN_GCOV): #define
1340         (read_graph_file, read_count_file): Adjust.
1341         * gcov-dump.c (gcov_type): Don't typedef here.
1342         (IN_GCOV): #define.
1343         (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
1344         Remove FILE parameter, adjust.
1345         (struct tag_format): Adjust proc member.
1346         (dump_file): Adjust.
1347         * libgcov.c (IN_LIBGCOV): #define.
1348         (gcov_exit): Adjust.
1349         * loop-init.c: Don't #include gcov-io.h
1350         * profile.c (struct counts_entry): New structure to hold counter
1351         values.
1352         (struct section_reference, struct da_index_entry): Remove.
1353         (bbg_file, da_file): Remove.
1354         (htab_counts_index_hash, htab_counts_index_eq,
1355         htab_counts_index_del): Replace with ...
1356         (htab_counts_entry_hash, htab_counts_entry_eq,
1357         htab_counts_entry_del): ... these.
1358         (cleanup_counts_index, index_counts_file): Remove.
1359         (read_counts_file): New function.
1360         (get_exec_counts): Adjust.
1361         (compute_branch_probabilities): Don't free the exec counts here.
1362         (branch_prob): Adjust.
1363         (init_branch_prob): Adjust.
1364         (end_branch_prob): Adjust.
1365
1366 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
1367
1368         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
1369         -mfloat-gprs.
1370
1371         * config/rs6000/rs6000.c: Delete rs6000_fprs.
1372         Declare rs6000_float_gprs.
1373         Declare rs6000_float_gprs_string.
1374         (rs6000_parse_float_gprs_option): New.
1375         (rs6000_override_options): Genericize rs6000_parse_* calls to use
1376         rs6000_parse_yes_no_option.
1377         Change check for cpu=8540, to use TARGET_E500.
1378         (rs6000_parse_isel_option): Delete.
1379         (rs6000_parse_spe_option): Delete.
1380         (rs6000_parse_vrsave_option): Delete.
1381
1382         * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
1383         Define rs6000_float_gprs_string.
1384         (TARGET_OPTIONS): Add rs6000_float_gprs option.
1385
1386         * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
1387
1388         * config/rs6000/eabispe.h: Set rs6000_float_gprs.
1389
1390 Mon Apr  7 14:36:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
1391
1392         PR opt/10024
1393         * cfglayout.c (cfg_layout_redirect_edge):
1394         Redirect any branch edges unified with the fallthru one.
1395         * cfgrtl.c (force_nonfallthru_and_redirect):  Do not special
1396         case fallthru edges when called via cfglayout.c
1397
1398 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
1399
1400         * c-typeck.c (output_init_element): Check for type == error_mark_node.
1401
1402 2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
1403
1404         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
1405         split.
1406         (a splitter): Do zero-extension via HImode.
1407
1408 2003-04-07  James A. Morrison <ja2morri@uwaterloo.ca>
1409
1410         * doc/invoke.texi: Eliminate extra white-space caused by
1411         @gccoptlist{ on its own line.
1412         * doc/invoke.texi: Ensured there are two spaces between each option.
1413         * doc/invoke.texi: Re-wrapped option lines that were too wide.
1414         Added @gol to options that didn't have them.
1415
1416 2003-04-07  James A Morrison <ja2morri@student.math.uwaterloo.ca>
1417
1418         * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
1419
1420 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
1421
1422         * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
1423         at the sizes of the relevant structures, rather than relying
1424         on TREE_CODE_LENGTH.  Call lang_hooks.tree_size to get the
1425         sizes of any such we don't know about.  Use
1426         lang_hooks.identifier_size for IDENTIFIER_NODE.
1427
1428         (initializer_zerop): Use CONSTRUCTOR_ELTS.
1429         * tree.def: Update commentary.  Make fourth element of
1430         the definition for all 'c' and 'x' nodes zero.
1431
1432         * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
1433         * langhooks-def.h: Update to match.
1434         * langhooks.c: New default, lhd_tree_size.
1435
1436         * c-common.def (SRCLOC): Kill.
1437         * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
1438         Remove entirely - was already #if-ed out.
1439
1440
1441 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
1442
1443         * mklibgcc.in: Use a here document to avoid running afoul of
1444         shells that generate control-A from "echo \1".
1445
1446 2003-04-06  Aldy Hernandez  <aldyh@redhat.com>
1447
1448         * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
1449         option.
1450
1451         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
1452         rs6000_spe.
1453
1454         * config/rs6000/eabi.h (TARGET_E500): Define.
1455
1456         * config/rs6000/rs6000.h (TARGET_E500): Define.
1457         (TARGET_OPTIONS): Add spe= option.
1458         Declare rs6000_spe and rs6000_spe_string extern.
1459
1460         * config/rs6000/rs6000.c (branch_positive_comparison_operator):
1461         Change TARGET_SPE to TARGET_E500.
1462         (ccr_bit): Change TARGET_SPE to TARGET_E500.  Check for
1463         !TARGET_FPRS.
1464         (print_operand): Same.
1465         (rs6000_generate_compare): Same.
1466         (output_cbranch): Same.
1467         (rs6000_spe): Declare.
1468         (rs6000_spe_string): Declare.
1469         (rs6000_override_options): Call rs6000_parse_spe_option.
1470         (rs6000_parse_spe_option): New.
1471
1472 2003-04-06  Steven Bosscher  <steven@gcc.gnu.org>
1473
1474         * hashtable.c (gcc_obstack_init): Delete this function
1475         and everything related to it.
1476         * hashtable.h: Remove prototype.
1477         * bitmap.c (bitmap_element_allocate): Cleanup redundant
1478         defines.  Cleanup some unnecessary whitespace.
1479         * defaults.h (obstack_chunk_alloc): Redefine with
1480         appropriate casts for libiberty obstacks.
1481         (obstack_chunk_free): Ditto.
1482         (OBSTACK_CHUNK_SIZE): Define, default to 0.
1483         (gcc_obstack_init): Define as a call to _obstack_begin.
1484         * tree.c (print_obstack_statistics): Delete this unused
1485         function.
1486         * tree.h (obstack): Don't forward-declare.
1487         (print_obstack_statistics): Delete prototype.
1488         (print_obstack_name): Ditto.
1489         (gcc_obstack_init): Ditto.
1490         * rtl.h (gcc_obstack_init): Ditto.
1491         * java/jv-scan.c (gcc_obstack_init): Delete this
1492         function, its prototype and related defines.
1493         * java/jvgenmain.c (gcc_obstack_init): Delete this
1494         function, and related defines.
1495         * java/parse-scan.y (obstack_chunk_alloc): Don't define.
1496         (obstack_chunk_free): Ditto
1497
1498 2003-04-06  Geoffrey Keating  <geoffk@apple.com>
1499
1500         * dbxout.c (dbxout_handle_pch): Move prototype out from
1501         #if defined DBX_DEBUGGING_INFO.
1502
1503 2003-04-05  Nathan Sidwell  <nathan@codesourcery.com>
1504
1505         * gcov.c (struct arc_info): Replace local_span with cycle.
1506         (struct block_info): Replace u.span with u.cycle. Add is_call_return.
1507         (solve_flow_graph): Set is_call_return.
1508         (add_line_counts): Adjust. In block mode, blocks attach to last line.
1509         (accumulate_line_counts): Find graph cycles, not spanning tree.
1510         (output_branch_count): Adjust.
1511         (output_lines): Adjust.
1512         * doc/gcov.texi: Update.
1513
1514 2003-04-06  Kazu Hirata  <kazu@cs.umass.edu>
1515
1516         * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
1517         the second alternative to "#".
1518
1519 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
1520
1521         * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
1522         (single_zero_operand): Likewise.
1523
1524 2003-04-05  Daniel Berlin  <dberlin@dberlin.org>
1525
1526         * Makefile.in (df.o):  Depend on alloc-pool.h, not obstack.h.
1527         * df.c: Include alloc-pool.h, not obstack.h.
1528         (df_ref_obstack): Remove.
1529         (df_ref_pool, df_link_pool): Add pools.
1530         (df_alloc): Init the new pools.
1531         (df_free): And free them.
1532         (df_link_create): Use the pools.
1533         (df_ref_create): Ditto.
1534
1535 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
1536
1537         * simplify-rtx.c: Fix formatting.
1538
1539 2003-04-05  Andrew Pinski  <apinski@apple.com>
1540
1541         * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
1542         reg with reg1 == reg2 and offset1 = -8.
1543
1544 2003-04-05  David Edelsohn  <edelsohn@gnu.org>
1545
1546         * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
1547         multiply costs.  Correct Power4 divide costs.
1548         * config/rs6000/power4.md: Restore multiply and FP latency.
1549
1550 2003-04-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1551
1552         * alias.c (find_base_term): Export.
1553         * rtl.h (find_base_term): Declare.
1554         * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
1555         instead of flag_exceptions.  Move test for parameter passing ...
1556         (store_killed_in_insn): ... here.
1557
1558 2003-04-05  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1559
1560         PR bootstrap/10267
1561         * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
1562         for configuring.
1563
1564 2003-04-04  Geoffrey Keating  <geoffk@apple.com>
1565
1566         * dbxout.c (scope_labelno): Add GTY.
1567         (have_used_extensions): Add GTY.
1568         (source_label_number): Add GTY.
1569         (lastfile): Add GTY.
1570         (lastfile_is_base): New.
1571         (base_input_file): New.
1572         (dbxout_handle_pch): New.
1573         (dbx_debug_hooks): Add handle_pch.
1574         (xcoff_debug_hooks): Likewise.
1575         (dbxout_function_end): Remove scope_labelno.
1576         (dbxout_init): Set base_input_file.
1577         (dbxout_handle_pch): New.
1578         (dbxout_source_file): Honour lastfile_is_base.
1579         * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
1580         * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
1581         * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
1582         * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
1583         * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
1584         * debug.h (struct gcc_debug_hooks): Add handle_pch.
1585         * c-pch.c (pch_init): Don't call start_source_file, but do call
1586         handle_pch.
1587         (c_common_write_pch): Call handle_pch.
1588         (c_common_read_pch): Don't call start_source_file,
1589         or end_source_file.
1590
1591 Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
1592
1593         * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
1594         use of default attributes to agree MEM_ALIGN macro.
1595
1596 Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
1597
1598         * dbxout.c (dbxout_type): When printing type index of range type
1599         whose bounds are printed in octal format, print type of parent type if
1600         it exists so enumerated type descriptions are not transformed
1601         into unsigned types.
1602
1603 2003-04-04  Kazu Hirata  <kazu@cs.umass.edu>
1604
1605         * config/h8300/h8300-protos.h: Add a prototype for
1606         compute_a_shift_cc.
1607         * config/h8300/h8300.c (shift_one): Update the CC status.
1608         (shift_two): Likewise.
1609         (output_a_shift_cc): Set cc_inline and cc_special.
1610         (compute_a_shift_cc): New.
1611         * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
1612
1613 2003-04-04  Richard Henderson  <rth@redhat.com>
1614
1615         * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
1616
1617 2003-04-04  Loren James Rittle  <ljrittle@acm.org>
1618
1619         * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
1620         * fixinc/fixincl.x: Rebuilt.
1621         * fixinc/tests/base/stdio.h: Regenerated.
1622
1623 2003-04-04  Nathan Sidwell  <nathan@codesourcery.com>
1624
1625         * gcov.c (accumulate_line_counts): Fix span tree merge bug.
1626
1627 Fri Apr  4 15:58:52 2003  J"orn Rennecke <joern.rennecke@superh.com>
1628
1629         * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
1630         (NORMAL_MODE).
1631         * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
1632
1633 2003-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1634
1635         * doc/contrib.texi (Contributors): Add entries for Wolfgang
1636         Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
1637         Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
1638         Danny Smith, and Ulrich Weigand.
1639         Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
1640         entry.
1641
1642 2003-04-04  Nick Clifton  <nickc@redhat.com>
1643
1644         * config/sparc/sol2-bi.h: Revert previous delta.
1645         * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
1646
1647 2003-04-04  Nick Clifton  <nickc@redhat.com>
1648
1649         * config/v850/v850.c (expand_prologue): Only use register save
1650         helper functions if long calls are not being used.
1651         Add a clobber of r11 id using long calls.
1652         (pattern_is_ok_for_prologue): Account for the extra clobber.
1653         (construct_save_jarl): Likewise.
1654         * config/v850/v850.md (prolog pattern): Do not use this pattern
1655         for v850e's.
1656
1657 2003-04-04  Andreas Schwab  <schwab@suse.de>
1658
1659         * stor-layout.c (layout_decl): Avoid syntax error in last change
1660         when PCC_BITFIELD_TYPE_MATTERS is defined but not
1661         EMPTY_FIELD_BOUNDARY.
1662
1663 2003-04-03  Jason Merrill  <jason@redhat.com>
1664
1665         PR c/10175
1666         * jump.c (never_reached_warning): Revert patch of 2002-11-02.
1667         Look backwards for a line note.
1668
1669 2003-04-03  Neil Booth  <neil@daikokuya.co.uk>
1670
1671         * fix-header.c (read_scan_file): Defer switch processing.
1672
1673 2003-04-03  Matt Austern  <austern@apple.com>
1674
1675         * cpppch.c (reset_ht): Remove.
1676         (cpp_read_state): Remove loop to reset hashtable identifiers.
1677         * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
1678         after pch file is written.
1679         * ggc.h (gt_pch_fixup_stringpool): Declare.
1680         * stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
1681         hashnode's value to another hashtable, then clear the original.
1682         (saved_ident_hash): Define.
1683         (gt_pch_save_stringpool): Create saved_ident_hash, use it to
1684         store definitions in ident_hash, and clear ident_hash.
1685         (gt_pch_fixup_stringpool): Define.  Restore definitions from
1686         saved_ident_hash to ident_hash, then destroy saved_ident_hash.
1687
1688 Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
1689
1690         * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
1691
1692 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
1693
1694         PR optimization/10157
1695         * gcse.c (can_copy_p): Rename it to can_copy.
1696         (can_copy_init_p): Remove.
1697         (compute_can_copy): Use can_copy instead of can_copy_p.
1698         (can_copy_p): New exported function. Call compute_can_copy.
1699         (hash_scan_set): Use it.
1700         (gcse_main): Don't call compute_can_copy.
1701         (bypass_jumps): Don't call compute_can_copy.
1702         * rtl.h (can_copy_p): Declare.
1703         * loop.c (scan_loop): Don't move the source and add a reg-to-reg
1704         copy if the mode doesn't support copy operations.
1705
1706 2003-04-03  Jason Merrill  <jason@redhat.com>
1707
1708         * Makefile.in (unstrap): Also remove stage_last.
1709
1710         * dwarf2out.c (lookup_filename): Don't check for "<internal>".
1711         (dwarf2out_source_line): Don't do anything if line==0.
1712
1713         * stor-layout.c (do_type_align): New fn, split out from...
1714         (layout_decl): ...here.  Do all alignment calculations for
1715         FIELD_DECLs here.
1716         (update_alignment_for_field): Not here.
1717         (start_record_layout, debug_rli): Remove unpadded_align.
1718         * tree.h (struct record_layout_info_s): Remove unpadded_align.
1719         * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
1720         or DECL_MODE on the CONST_DECLs.
1721         (finish_struct): Don't mess with DECL_ALIGN.
1722
1723 Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
1724
1725         * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
1726
1727 Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
1728
1729         * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
1730         function is an interrupt handler.
1731
1732         * sh.c (sh_expand_epilogue): Avoid clash of temp register for
1733         restoring target registers with EH_RETURN_STACKADJ_RTX; use
1734         multiple registers in round-robin fashion.
1735
1736 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1737
1738         * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
1739         * system.h (CHAR_BITFIELD): New.
1740
1741 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
1742
1743         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
1744         and LE.
1745         (another peephole2): Likewise.
1746
1747 2003-04-03  Nick Clifton  <nickc@redhat.com>
1748
1749         * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
1750         (DEF_ARCH64_SPEC): Likewise.
1751
1752 Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
1753
1754         * i386.c (constant_address_p): Use legitimate_constant_p.
1755         (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
1756
1757 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
1758
1759         * config/h8300/h8300-protos.h: Add a prototype for
1760         gtle_operator.
1761         * config/h8300/h8300.c (gtle_operator): New.
1762         * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
1763         gtle_operator.
1764         * config/h8300/h8300.md (a peephole2): Generalize to accept GT
1765         and LE.
1766
1767 2003-04-02  Richard Henderson  <rth@redhat.com>
1768
1769         * libgcc-std.ver (_Unwind_GetCFA): New.
1770         * unwind-dw2.c (_Unwind_GetCFA): New.
1771         * unwind-libunwind.c (_Unwind_GetCFA): New.
1772         * unwind-sjlj.c (_Unwind_GetCFA): New.
1773         * unwind.h: Declare it.
1774
1775 Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
1776
1777         PR inline-asm/8088
1778         * i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
1779         when MMX/SSE is not available.
1780
1781 2003-04-02  Mike Stump  <mrs@apple.com>
1782
1783         * doc/install.texi (Specific): Update pointers to apple.com.
1784
1785 Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
1786
1787         * i386.c (override_options):  Disable red zone by default on i386.
1788         (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
1789         Do not test TARGET_64BIT together with TARGET_RED_ZONE
1790
1791 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
1792
1793         * config/h8300/h8300.md (a peephole2): Tighten the condition.
1794
1795 2003-04-02  Richard Henderson  <rth@redhat.com>
1796
1797         * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
1798
1799 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
1800
1801         * config/h8300/h8300.md (a peephole2): New.
1802
1803 2003-04-02  Richard Henderson  <rth@redhat.com>
1804
1805         * except.c (sjlj_find_directly_reachable_regions): Recognize when
1806         must-not-throw region has been deleted.
1807
1808 2003-04-02  Richard Henderson  <rth@redhat.com>
1809
1810         * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
1811         optimization when flag_exceptions not enabled.
1812
1813 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
1814
1815         * config/rs6000/rs6000.c
1816         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
1817         macros.
1818         (rs6000_issue_rate): Add case for 8540.
1819         (rs6000_use_sched_lookahead): New function.
1820
1821         * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
1822         units into MU ones.
1823         (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
1824         reservation before retirement.
1825         (ppc8540_multiply, ppc8540_load, ppc8540_store,
1826         ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
1827         Remove additional cycle in the reservation before retirement.
1828         (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
1829         reservation of ppc8540_issue.
1830
1831 2003-04-02  Andreas Schwab  <schwab@suse.de>
1832
1833         * real.c (decode_ieee_single): Fix decoding of SNaN bit.
1834
1835 2003-04-01  Richard Henderson  <rth@redhat.com>
1836
1837         * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
1838         notes for nothrow calls if flag_forced_unwind_exceptions.
1839         (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
1840         (sjlj_find_directly_reachable_regions): Likewise.
1841         (reachable_handlers): Likewise.
1842         (can_throw_external): Likewise.
1843         (collect_one_action_chain): Record cleanups after catch-all and
1844         must-not-throw if flag_forced_unwind_exceptions.
1845         * flags.h (flag_forced_unwind_exceptions): Declare.
1846         * toplev.c (flag_forced_unwind_exceptions): New.
1847         (lang_independent_options): Add it.
1848         * doc/invoke.text: Add it.
1849
1850 2003-04-01  David Mosberger <davidm@hpl.hp.com>
1851
1852         * config/ia64/crti.asm: Clean up trailing whitespace.
1853         Remove trailing hashes (#) from identifiers.
1854
1855         * config/ia64/crtn.asm: Ditto.
1856
1857         * config/ia64/crtend.asm: Remove trailing hashes (#) from
1858         identifiers.
1859         (__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
1860         directives.  Drop explicit bundling---it just makes the code
1861         harder to read.  Don't save/restore gp needlessly.
1862
1863         * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
1864         identifiers (they're only needed if the identifier would clash
1865         with a register name otherwise).
1866         (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
1867         directives.  Drop explicit bundling---it just makes the code
1868         harder to read.
1869         (__do_jv_register_classes): Ditto.
1870         (.fini_array): Remove "progbits" (newer
1871         assemblers don't like wrong section-types).
1872         (.init_array): Ditto.
1873
1874 2003-04-01  Roger Sayle  <roger@eyesopen.com>
1875
1876         PR fortran/9974
1877         * gcse.c (reg_killed_on_edge): New function to test whether the
1878         given reg is overwritten by any instruction queued on an edge.
1879         (bypass_block): Ignore substitutions killed on incoming edges.
1880         Don't bypass outgoing edges that have queued instructions.
1881
1882 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
1883
1884         * real.h (EXP_BITS): Make room for...
1885         (struct real_value): ... added canonical bit.
1886         (struct real_format): Added pnan.
1887         (mips_single_format, mips_double_format, mips_extended_format,
1888         mips_quad_format): New.
1889         * real.c: Copy p to pnan in all formats.
1890         (get_canonical_qnan, get_canonical_snan): Set canonical bit.
1891         (real_nan): Use pnan to compute significand's shift.
1892         (real_identical): Disregard significand in canonical
1893         NaNs.
1894         (real_hash): Likewise.  Take signalling into account.
1895         (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
1896         Disregard significand bits in canonical NaNs.  Set all bits of
1897         canonical NaN if !qnan_msb_set.
1898         (encode_ibm_extended, decode_ibm_extended): Likewise.  Use
1899         qnan_msb_set to tell the base double format.
1900         (ibm_extended_format): Use 53 as pnan.
1901         (mips_single_format, mips_double_format, mips_extended_format,
1902         mips_quad_format): Copied from the corresponding ieee/ibm
1903         formats, with qnan_msb_set false.
1904         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
1905         * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
1906         * config/mips/mips.c (override_options): Use mips_single_format
1907         and mips_double_format.  Default TFmode to mips_quad_format.
1908         * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
1909         * config/mips/t-irix6: Likewise.
1910         * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
1911         * config/fp-bit.c (pack_d, unpack_d): Obey it.
1912
1913 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
1914
1915         * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
1916         (live_image_destructor): Reset image to initial state.
1917         (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
1918
1919 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1920
1921         * config/sparc/sparc.c (input_operand): Accept bare
1922         CONSTANT_P_RTX operands.
1923
1924 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1925
1926         * gcse.c (struct ls_expr): Added pattern_regs field.
1927         (ldst_entry): Initialize it.
1928         (extract_mentioned_regs, extract_mentioned_regs_helper): New.
1929         (store_ops_ok): Use regs precomputed by them.
1930         (find_loads, store_killed_in_insn, load_kills_store): Change return
1931         type to bool.
1932         (store_killed_before, store_killed_after): Take position of register
1933         set in account.
1934         (reg_set_info): Store position of the setter.
1935         (gcse_main): Enable store motion.
1936         (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
1937         (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
1938         sharing.
1939         (simple_mem): Enable store motion of non-symbol mems.
1940         (regvec): Type changed.
1941         (LAST_AVAIL_CHECK_FAILURE): New.
1942         (compute_store_table_current_insn): New.
1943         (build_store_vectors): Computation of availability and anticipatability
1944         moved ...
1945         (compute_store_table, find_moveable_store): ... here.
1946         (delete_store): Remove senseless comment.
1947         (store_motion): Reorganize.
1948
1949 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
1950
1951         * config/mips/mips.c (override_options): Provide mappings for
1952         HI_REGNUM and LO_REGNUM.
1953         * config/mips/mips.h (MD_DBX_FIRST): Define.
1954
1955 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1956
1957         * combine.c (merge_outer_ops): Fix typo.
1958
1959         * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
1960
1961 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
1962
1963         * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
1964         power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
1965         imul_compare.  Add lmul_compare.
1966         * config/rs6000/power4.md: Bump some latencies.  Model extra cycle
1967         in second pair of dispatch slots.  Model stores more accurately.
1968         Tweak multiply model.  Add bypasses for CR instructions dependent
1969         on complicated compares.
1970         * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
1971         (muldi3): Add lmul_compare patterns.
1972         * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
1973         and FPSTORE_UX to split instructions and add COMPARE,
1974         DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
1975         (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
1976         (rs6000_rtx_costs): Separate POWER4 multiply case.
1977
1978 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
1979
1980         * config/s390/s390.c (s390_fixup_clobbered_return_reg):
1981         Do nothing if __builtin_return_address was not used.
1982
1983 Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
1984
1985         * i386.md (test patterns):  Allow memory operand in operand1.
1986
1987 2003-02-31  Aldy Hernandez  <aldyh@redhat.com>
1988
1989         * testsuite/gcc.c-torture/execute/simd-3.c: New.
1990
1991         * expr.c (expand_expr): Handle VECTOR_CST.
1992         (const_vector_from_tree): New.
1993
1994         * varasm.c (output_constant): Handle VECTOR_CST.
1995
1996         * c-typeck.c (digest_init): Build a vector constant from a
1997         VECTOR_TYPE.
1998
1999         * config/rs6000/rs6000.c: Remove prototype for
2000         easy_vector_constant.
2001         (easy_vector_constant): Add mode parameter.  Rewrite to handle
2002         more easy constants.
2003         (rs6000_emit_move): Pass mode to easy_vector_constant.
2004         Call emit_easy_vector_insn for SPE V2SI vector constant moves.
2005         (emit_easy_vector_insn): New.
2006         (easy_vector_same): New.
2007         (EASY_VECTOR_15): New macro.
2008         (EASY_VECTOR_15_ADD_SELF): New macro.
2009         (bdesc_2arg): Rename to xorv2si3.
2010         (easy_vector_constant_add_self): New.
2011         (input_operand): Allow vector constants.
2012
2013         * config/rs6000/rs6000.h (PREDICATE_CODES): Add
2014         easy_vector_constant, easy_vector_constant_add_self.
2015         (EXTRA_CONSTRAINT): Add 'W'.
2016
2017         * config/rs6000/rs6000-protos.h: Add prototype for
2018         easy_vector_constant, emit_easy_vector_insn.
2019
2020         * config/rs6000/altivec.md (xorv8hi3): New.
2021         (xorv16qi3): New.
2022         Remove all _const0 patterns.
2023         (movv4si_internal): Rewrite to use code.  Add vector constant to
2024         vector alternative.  Add splitter.
2025         (movv8hi_internal): Same.
2026         (movv16qi_internal): Same.
2027         (movv4sf_internal): Same.
2028         Change the unspecs for vspltis* to use constants.
2029
2030         * config/rs6000/spe.md ("xorv4hi3"): New.
2031         ("spe_evxor"): Rename to xorv2si3.
2032         ("xorv1di3"): New.
2033         Remove all _const0 patterns.
2034         (movv2si_internal): Rewrite to use code.  Add vector constant to
2035         alternatives.  Add splitter.
2036         (movv4hi_internal): Add vector constant to alternatives.
2037         (movv1di_internal): Same.
2038         (movv2sf_internal): Same.
2039
2040 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
2041
2042         PR c/9936
2043         * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
2044         variably-sized arrays in parameters.
2045         (set_save_expr_context): New function.
2046         (c_expand_body): Use it, via walk_tree.
2047
2048 2003-03-31  Eric Christopher  <echristo@redhat.com>
2049
2050         * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
2051         (combinable_i3pat): Remove call to expand_field_assignment and
2052         #if 0'd code.
2053
2054 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
2055
2056         PR c++/10278
2057         * c-common.c (finish_label_address_expr): Handle the
2058         error_mark_node.
2059
2060 2003-03-31  Richard Henderson  <rth@redhat.com>
2061
2062         * real.c (real_identical): Reorg so as to not compare
2063         signalling for normals.
2064
2065 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
2066
2067         * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
2068
2069 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
2070
2071         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
2072         notes as they are boggus.
2073         (m68hc11_gen_movqi): Likewise.
2074
2075 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
2076
2077         * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
2078         save the soft registers after the frame pointer so that gdb can unwind
2079         the frame more easily.
2080         (expand_epilogue): Likewise in opposite order; allow to use X register
2081         as scratch if the return value is by reference.
2082
2083 2003-03-31  Jason Merrill  <jason@redhat.com>
2084
2085         PR java/10145
2086         * stor-layout.c (update_alignment_for_field): Respect
2087         DECL_USER_ALIGN for zero-length bitfields, too.
2088         * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
2089         fields.
2090
2091 2003-03-31  Matt Austern  <austern@apple.com>
2092
2093         * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
2094         (count_defs): Keep track of number of defs as well as total size.
2095         (write_defs): Put every definition in cpp_savedstate's defs array.
2096         (comp_hashnode): Define.  Comparison function for qsort.
2097         (cpp_write_pch_deps): Sort definitions before writing them.
2098         (struct ht_node_list): Define. Like cpp_savedstate but simpler.
2099         (collect_ht_nodes): Define.
2100         (cpp_valid_state): When verifying that undefined identifiers in
2101         the pch file are still undefined, read a sorted list of undefined
2102         identifiers, collect all defined identifiers into a sorted list,
2103         and walk through both lists to make sure there's no match.
2104
2105 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
2106
2107         * config/h8300/h8300.md (a peephole2): New.
2108
2109 2003-03-31  Michael Matz  <matz@suse.de>
2110
2111         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
2112
2113 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
2114
2115         PR target/10177
2116         * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
2117         * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
2118         all call-clobbered registers as used.
2119
2120 2003-03-31  Michael Matz  <matz@suse.de>
2121
2122         * cppexp.c (cpp_classify_number): Accept '.' after "0x".
2123         * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
2124
2125 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
2126
2127         * gcov.c: Add -a & -u options.
2128         (struct arc_info): Add local_span, is_call_non_return,
2129         is_nonlocal_return, is_unconditional flags, remove is_call flag.
2130         (struct block_info): Add flags, is_call_site, is_nonlocal_return
2131         members. Make encodings a union with span member.
2132         (struct function_info): Add blocks_executed, line, src, line_next
2133         members.
2134         (struct coverage_info): Make branches a union with blocks member.
2135         (struct source_info): Add functions member.
2136         (object_summary, program_count): New global variables.
2137         (flag_all_blocks, flag_unconditional): New flags.
2138         (find_source, output_branch_count): New functions.
2139         (print_usage): Adjust.
2140         (options): Adjust.
2141         (process_args): Adjust.
2142         (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
2143         <GCOV_TAG_BLOCKS>: Read flags.
2144         <GCOV_TAG_LINES>: Adjust.
2145         (read_count_file): Process SUMMARY tags.
2146         (solve_flow_graph): Set is_unconditional and clear is_call_site
2147         appropriately.
2148         (add_branch_counts): Adjust. Don't count unconditional branches.
2149         (add_line_counts): Deal with all-blocks mode, accumulate block
2150         coverage.
2151         (accumulate_line_counts): Adjust, generate local spanning tree for
2152         all-blocks mode.
2153         (output_lines): Adjust.
2154         * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
2155         * doc/gcov.texi: Document.
2156
2157 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
2158
2159         * config/h8300/h8300.md: Organize peephole2's that transform
2160         (compare (reg:HI) (const_int)).
2161
2162 2003-03-31  Roger Sayle  <roger@eyesopen.com>
2163
2164         * emit-rtl.c (dconstm2, dconsthalf): New real constants.
2165         (init_emit_once): Initialize dconstm2 and dconsthalf here.
2166         * real.h (dconstm2, dconsthalf): Add prototypes here.
2167         * real.c (real_sqrt): Use dconsthalf rather than local copy.
2168         * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
2169         exp(x/2.0) remember to fold the division if possible.
2170         Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
2171         pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
2172         1.0/(x*x) and pow(x,0.5) as sqrt(x).
2173
2174 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
2175
2176         * config/h8300/h8300.md (a new peephole2): New.
2177
2178 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
2179
2180         * gcse.c (simple_mem): Return false for floating-point accesses
2181         if flag_float_store is true.
2182
2183 2003-03-30  Roger Sayle  <roger@eyesopen.com>
2184
2185         * gcse.c (gcse_constant_p): New function to identify constants
2186         suitable for constant propagation, including COMPARE with two
2187         integer constant arguments.
2188         (hash_scan_set): Use gcse_constant_p.
2189         (find_avail_set): Likewise.
2190         (cprop_insn): Likewise.
2191         (do_local_cprop): Likewise.
2192         (find_implicit_sets): Likewise.
2193         (find_bypass_set): Likewise.
2194
2195 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
2196
2197         * except.h: Remove definition of varray_type.
2198
2199 2003-03-30  Richard Henderson  <rth@redhat.com>
2200
2201         PR opt/10011, opt/10252:
2202         * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
2203         before post-gcse cse pass.
2204
2205 2003-03-30  Roger Sayle  <roger@eyesopen.com>
2206
2207         * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
2208
2209 2003-03-30  DJ Delorie  <dj@redhat.com>
2210
2211         * profile.c (instrument_edges): Make sure any newly created
2212         jump insns have correct jump label info.
2213
2214 2003-03-30  Richard Henderson  <rth@redhat.com>
2215
2216         * cfgbuild.c (make_edges): Use tablejump_p.
2217         * cfgcleanup.c (label_is_jump_target_p): Likewise.
2218         * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
2219         * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
2220         (try_redirect_by_replacing_jump): Likewise.
2221         (redirect_edge_and_branch): Likewise.
2222         * cse.c (fold_rtx): Likewise.
2223         * jump.c (delete_related_insns): Likewise.
2224         * rtlanal.c (get_jump_table_offset): Likewise.
2225         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
2226
2227 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2228
2229         * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
2230         (STRICT2_WARN): Likewise.
2231
2232 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2233
2234         PR other/6955
2235         * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
2236         * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
2237
2238 2003-03-30  Richard Henderson  <rth@redhat.com>
2239
2240         PR c/10083
2241         * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
2242         don't zero_extend const inputs.
2243
2244 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
2245
2246         * reload1.c (reload_cse_move2add): Fix a comment typo.
2247
2248 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
2249
2250         * config/h8300/h8300.md (a peephole2): Remove useless code.
2251
2252 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
2253
2254         * config/h8300/h8300.md (*iorsi3_and_ashift): New.
2255         (*iorsi3_and_lshiftrt): Likewise.
2256         (*iorsi3_zero_extract): Likewise.
2257
2258 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
2259
2260         * config/h8300/h8300.md (*insv_si_8_8): New.
2261         (*insv_si_8_8_lshiftrt_8): Likewise.
2262         (a peephole2): Likewise.
2263
2264 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2265
2266         * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
2267         Uniformly use bugfix instead of bug fix.
2268
2269 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2270
2271         PR doc/895
2272         * ONEWS: Remove those items that already appear in the EGCS
2273         release notes on our web pages.
2274
2275 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
2276
2277         * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
2278         TARGET_HARD_FLOAT.  Reformat.
2279         (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
2280
2281 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
2282
2283         * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
2284         work on Solaris 2.5.1.
2285
2286 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
2287
2288         * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
2289         section of h8300.md
2290         (*addsi3_and_nor_r_1): Likewise.
2291
2292 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
2293
2294         * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
2295         set up before any trapping memory access if flag_non_call_exceptions.
2296
2297 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
2298
2299         * reload1.c (reload_as_needed): Allow a USE in asm reloads.
2300
2301         * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
2302
2303 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
2304
2305         * configure.in: Clarify comments.
2306         * configure: Regenerate.
2307
2308 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
2309
2310         * config/s390/s390.md ("literal_pool_31"): Output pool anchor
2311         label even if pool empty when generating PIC.
2312         ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
2313
2314 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
2315             Dhananjay Deshpande  <dhananjayd@kpit.com>
2316
2317         PR target/10205
2318         * config/h8300/h8300.c (h8300_initial_elimination_offset):
2319         Correct the offset computation when TARGET_NORMAL.
2320
2321 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
2322
2323         PR target/10067
2324         * config/sparc/sparc.md (jump pattern): Correct order
2325         when issuing the annuling marker.
2326
2327 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
2328
2329         PR c/8281
2330         * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
2331         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
2332
2333 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
2334
2335         * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
2336         globalize_label.
2337         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2338         * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2339         * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2340         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2341         * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2342         * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2343         * config/v850/v850.c (v850_output_aligned_bss): Likewise.
2344
2345 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
2346
2347         * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
2348         (replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
2349         notes after hoisting.
2350         (load_mems): Adjust replace_loop_mems call.
2351
2352 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
2353             Richard Henderson  <rth@redhat.com>
2354
2355         PR target/10114 and PR target/10084
2356         * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
2357
2358 2003-03-27  Richard Henderson  <rth@redhat.com>
2359
2360         * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
2361
2362 2003-03-27  Roger Sayle  <roger@eyesopen.com>
2363
2364         * fold-const.c (fold_inf_compare):  New function to simplify FP
2365         comparisons against +Infinity or -Infinity.
2366         (fold):  Optimize floating point comparisons against Infs and NaNs.
2367
2368 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
2369
2370         * libgcov.c: Provide only dummy functions if libc is not available.
2371
2372 2003-03-27  Richard Henderson  <rth@redhat.com>
2373
2374         * real.h (struct real_value): Add signalling.
2375         (EXP_BITS): Decrement.
2376         * real.c (get_canonical_qnan): Don't set MSB-1.
2377         (get_canonical_snan): Likewise.  Set signalling.
2378         (real_identical): Compare signalling.
2379         (round_for_format): Remove force-one-bit on code.
2380         (real_nan): Likewise.  Set signalling.
2381         (encode_ieee_single): Add force-one-bit code; honor signalling.
2382         (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
2383         (decode_ieee_single): Set signalling.
2384         (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
2385
2386 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
2387
2388         PR ada/9953
2389         * ada/Makefile.in (gnatlib configuration for HPUX): Split
2390         the general section for HPUX into specific sections for
2391         HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
2392         11 case.
2393
2394 2003-03-27  Glen Nakamura  <glen@imodulo.com>
2395
2396         PR opt/10087
2397         * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
2398         while incrementing giv.
2399         (record_biv): Check for duplicate biv locations and
2400         set (struct induction *) v->same if found.
2401
2402 2003-03-27  David Mosberger  <davidm@hpl.hp.com>
2403
2404         * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
2405         v0.9 API change: replace read of UNW_REG_HANDLER with
2406         unw_get_proc_info().
2407         (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
2408         with unw_get_proc_info().
2409         (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
2410         unw_get_proc_info().
2411
2412 2003-03-27  Vladimir Makarov  <vmakarov@redhat.com>
2413
2414         * config/rs6000/8540.md: Use presence_set instead of absence_set.
2415
2416 2003-03-26  Richard Henderson  <rth@redhat.com>
2417
2418         * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
2419
2420 2003-03-26  Roger Sayle  <roger@eyesopen.com>
2421
2422         PR bootstrap/10051, PR bootstrap/10169.
2423         * mips-tfile.c (init_file): Don't provide a static initializer.
2424         (initialize_init_file): Initialize the contents of init_file.
2425         (add_file): Call initialize_init_file if not already initialized.
2426
2427 2003-03-26  Ulrich Weigand  <uweigand@de.ibm.com>
2428
2429         * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
2430         registers used for global asm variables.
2431         (s390_frame_info, s390_arg_frame_offset): Likewise.
2432         (s390_emit_prologue, s390_emit_epilogue): Likewise.
2433
2434 2003-03-26  Vladimir Makarov  <vmakarov@redhat.com>
2435
2436         * config/rs6000/8540.md: New file.
2437
2438         * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
2439         power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
2440         reservations for imul.
2441
2442         * config/rs6000/rs6000.md: Include 8540.md.  Change
2443         delayed_compare onto mult_compare for insns generating
2444         multiplication.
2445         (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
2446         New type attribute values.
2447
2448         * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
2449         fpsimple instead of fp.
2450         (*divsf3_gpr): Use type vecfdiv instead of fp.
2451         (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
2452         instead of vecfloat.
2453         (spe_evfsdive): Use type vecfdiv instead of vecfloat.
2454         (spe_brinc): Use type brinc instead of veccomplex.
2455         (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
2456         veccomplex.
2457         (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
2458         (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
2459         *movv2sf_internal): Define type attribute values for all
2460         alternatives.
2461         (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
2462         of fpcompare.
2463         (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
2464         instead of fpcompare.
2465
2466 2003-03-26  David Edelsohn  <edelsohn@gnu.org>
2467
2468         * config/rs6000/power4.md: Allow delay between dispatch and
2469         function units for simple instructions.  Correct store units.
2470         Allow branch to occupy as many dispatch slots as necessary.
2471
2472 2003-03-26  Jakub Jelinek  <jakub@redhat.com>
2473
2474         * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
2475         (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
2476         zero extend old to it.
2477         * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
2478         operand.
2479
2480 2003-03-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
2481
2482         PR target/7784
2483         * reload.c (find_reloads_address): Handle
2484         (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
2485         all base registers.
2486
2487 2003-03-25  Marcelo Abreu  <mmabreu@inf.ufrgs.br>
2488
2489         PR other/10203
2490         * version.c: Reference the GCC web site in the URL.
2491
2492 2003-03-26  Alan Modra  <amodra@bigpond.net.au>
2493
2494         * c-incpath.c (add_standard_paths): Add both "translated" and
2495         non-translated header paths.
2496
2497 2003-03-25  Loren James Rittle  <ljrittle@acm.org>
2498
2499         * doc/install.texi (*-*-freebsd*): Update with known status.
2500
2501 2003-03-21  Jason Merrill  <jason@redhat.com>
2502
2503         PR optimization/10171
2504         * unroll.c (unroll_loop): Don't delete the jump at the end unless
2505         we also delete a jump at the beginning.
2506
2507 2003-03-25  Stephane Carrez  <stcarrez@nerim.fr>
2508
2509         * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
2510         contributor.
2511
2512 Tue Mar 25 20:35:51 CET 2003  Jan Hubicka  <jh@suse.cz>
2513
2514         * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
2515         constants are not expensive.
2516
2517 Mon Mar 24 20:03:03 CET 2003  Jan Hubicka  <jh@suse.cz>
2518
2519         PR opt/10056
2520         * cfglayout.c (fixup_reorder_chain):  Fix dealing with the conditional
2521         jump jumping to the next instruction.
2522         * cfgrtl.c (force_nonfallthru_and_redirect):  Likewise.
2523
2524 2003-03-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2525
2526         * doc/passes.texi (Passes): Properly document that we do not
2527         perform jump2 any longer; remove command-line option -dJ.
2528
2529 2003-03-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2530
2531         PR optimization/8746
2532         * config/i386/i386.md (and promoting splitters): Disable HImode to
2533         SImode promoting when the sign bit matters and is not preserved, or
2534         when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
2535         for size.
2536
2537 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
2538
2539         * config/h8300/h8300.md (a peephole2): Extend to support loads
2540         in QImode and HImode.
2541
2542 2003-03-24  Stephane Carrez  <stcarrez@nerim.fr>
2543
2544         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
2545         _return_far
2546         (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
2547         (MULTILIB_EXCEPTIONS): Likewise.
2548         * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
2549         by calling some board support routine.
2550         ("call_value"): Likewise.
2551         ("*return_void"): Likewise for return.
2552         ("*return_16bit"): Likewise.
2553         ("*return_32bit"): Likewise.
2554         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
2555         for 68HC11 too.
2556         (DWARF2_ADDR_SIZE): Use 4 so that addresses can
2557         * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
2558         -mlong-calls for 68HC11.
2559         * config/m68hc11/larith.asm (declare_near): New macro.
2560         (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
2561         (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
2562         (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
2563         (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
2564         (__mulhi32): Likewise.
2565         (ret): Update macro for 68HC11.
2566         (__far_trampoline): Implement for 68HC11.
2567         (__call_a16, __call_a32, __return_void, __return_16): New support
2568         routines for 68HC11 memory bank switching calling support.
2569         (__return_32): Likewise.
2570
2571 2003-03-24  Neil Booth  <neil@daikokuya.co.uk>
2572
2573         * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
2574
2575 2003-03-24  Janis Johnson  <janis187@us.ibm.com>
2576
2577         * doc/install.texi (Testing): Mention test result links from build
2578         status pages.
2579
2580 2003-03-24  Mark Mitchell  <mark@codesourcery.com>
2581
2582         * function.c (put_var_into_stack): Change bool parameter to int.
2583         (gen_mem_addressof): Likewise.
2584         * rtl.h (gen_mem_addressof): Likewise.
2585         * tree.h (put_var_into_stack): Likewise.
2586         * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
2587         gen_mem_addressof or put_var_into_stack.
2588         * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
2589         * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
2590
2591 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
2592
2593         * config/h8300/h8300.md (a peephole2): New.
2594
2595 2003-03-24  Jakub Jelinek  <jakub@redhat.com>
2596
2597         * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
2598
2599 2003-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2600
2601         * doc/contrib.texi (Contributors): Update Janis Johnson.
2602
2603 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2604
2605         PR target/10072
2606         * combine.c (simplify_if_then_else): Check that the mode
2607         has MODE_INT class before applying the (OP Z (mult COND C2))
2608         transformation.
2609
2610 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
2611
2612         PR optimization/9414
2613         * config/sparc/sparc.md (widening peepholes): Use
2614         widen_memory_access instead of change_address.
2615
2616 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
2617
2618         PR c++/7086
2619         * c-typeck.c (c_mark_addressable): Adjust calls to
2620         put_var_into_stack.
2621         * expr.c (expand_expr): Likewise.
2622         * function.c (put_var_into_stack): Add rescan parameter.  Do not
2623         call fixup_var_refs when rescan is false.
2624         (gen_mem_addressof): Likewise.
2625         (assign_parms): Adjust calls to put_var_into_stack.
2626         (setjmp_protect): Likewise.
2627         (setjmp_protect_args): Likewise.
2628         * rtl.h (gen_mem_addressof): Change prototype.
2629         * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
2630         * tree.h (put_var_into_stack): Change prototype.
2631
2632 2003-03-23  Arpad Beszedes <beszedes@cc.u-szeged.hu>
2633
2634         PR middle-end/9967
2635         * builtins.c (expand_builtin_fputs): When optimizing for size,
2636         don't transform fputs into fwrite.
2637
2638 2003-03-23  Glen Nakamura <glen@imodulo.com>
2639
2640         PR c/8224
2641         * fold-const.c (extract_muldiv_1): Don't pass through type conversions
2642         when signedness changes for division or modulus.
2643
2644 2003-03-24  Alan Modra  <amodra@bigpond.net.au>
2645
2646         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
2647         globalize_label.
2648
2649 2003-03-23  Roger Sayle  <roger@eyesopen.com>
2650
2651         PR c/10178
2652         * stmt.c (expand_end_case_type): Check for overflow in range when
2653         determining whether to use a bit-test implementation.
2654
2655 2003-03-23  Richard Henderson  <rth@redhat.com>
2656
2657         * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
2658         before flow2.
2659         * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
2660
2661 2003-03-23  Richard Henderson  <rth@redhat.com>
2662
2663         PR opt/10116
2664         * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
2665         from then_bb or else_bb after flow2.
2666
2667 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
2668
2669         * configure.in: Check whether it is necessary to link against
2670         libm to use ldexp.
2671         * configure: Regenerate.
2672         * Makefile.in: Add LDEXP_LIB substitution variable.
2673
2674 2003-03-23  Kazu Hirata  <kazu@cs.umass.edu>
2675
2676         * config/h8300/h8300.md: Fix comment typos.
2677
2678 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2679
2680         * pa.c (output_cbranch): Fix typo in comment.
2681
2682 2003-03-22  Richard Henderson <rth@redhat.com>
2683
2684         * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
2685         after reload.
2686
2687 2003-03-22  DJ Delorie  <dj at redhat dot com>,
2688         Bruce Korb  <bkorb at gnu dot org>
2689
2690         * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
2691         buggy Solaris 2.6 mutex/cond initializers.
2692         (solaris_mutex_init): Rename to solaris_mutex_init_2.
2693         * fixinc/fixincl.x: Regenerate.
2694         * fixinc/tests/base/pthread.h: Update.
2695         * fixinc/fixincl.c(initialize): be explicit about the default case
2696         and indicate verbose level when being very, very verbose.
2697         * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
2698
2699 2003-03-22  Andreas Jaeger  <aj@suse.de>
2700
2701         * config/i386/i386.c (ix86_init_machine_status): Return value.
2702
2703 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2704
2705         * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
2706         conditional branch to the following instruction.  Use next_real_insn
2707         instead of next_active_insn.
2708         (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
2709         instead of next_active_insn.
2710
2711 2003-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
2712
2713         * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
2714         instead of 'm' constraint in forced-split alternatives.
2715         ("*adddi3_31", "*subdi3_31"): Likewise.  Also, pass 0 instead of 1 as
2716         VALIDATE_ADDRESS parameter to operand_subword.
2717
2718 2003-03-22  Kazu Hirata  <kazu@cs.umass.edu>
2719
2720         * config/h8300/h8300.c (notice_update_cc): Correctly handle
2721         the case where the set destination is STRICT_LOW_PART.
2722
2723 2003-03-22  Svein E. Seldal  <Svein.Seldal@solidas.com>
2724
2725         * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
2726         c30 instead of a c40 processor.
2727
2728 2003-03-22  Alan Modra  <amodra@bigpond.net.au>
2729
2730         * combine.c (simplify_comparison <AND>): Use gen_int_mode.  Tidy.
2731
2732 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
2733
2734         * c-common.c: Include intl.h.
2735         (shadow_warning): Rewrite to allow better diagnostic translations.
2736         * c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
2737         * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
2738         use it throughout.
2739         * Makefile.in (c-common.o): Add intl.h.
2740
2741 2003-03-21  Nathanael Nerode  <neroden@gcc.gnu.org>
2742
2743         * config.gcc: Remove 'float_format'.
2744
2745         * fixproto: Define NULL and size_t in generated stdlib.h and
2746         unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
2747         Rearrange file generation loop for readability.  Generate time.h,
2748         string.h if missing.
2749         * tsystem.h: Include <string.h>, <time.h> unconditionally.
2750         * config.gcc: Blow away POSIX defines.
2751
2752 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
2753
2754         * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
2755
2756 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
2757
2758         * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
2759         writing .interrupt command.
2760         * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
2761         if it's a far or near function.
2762         ("call_value"): Likewise.
2763         * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
2764         near attributes.
2765         (m68hc11_handle_fntype_attribute): Accept attributes on methods.
2766         (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
2767         (m68hc11_initial_elimination_offset): Set current_function_far
2768         according to attributes.
2769         (expand_prologue): Likewise.
2770         (trap_handler_symbol): New global to keep track of trap handlers.
2771         (m68hc11_encode_section_info): Mark symbol as far if needed; set
2772         trap symbol.
2773         (m68hc11_is_far_symbol): New function.
2774         (m68hc11_is_trap_symbol): New function.
2775         * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
2776         (m68hc11_is_trap_symbol): Declare.
2777
2778 2003-03-21  Jan Hubicka  <jh@suse.cz>
2779
2780         * i386.c (ix86_compute_frame_layout): Recompute fast prologues
2781         only when amount of saved regs changed.
2782         (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
2783         * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
2784
2785 2003-03-21  Jan Hubicka  <jh@suse.cz>
2786
2787         PR inline-asm/7916
2788         * function.c (instantiate_virtual_regs_lossage): New function.
2789         (instantiate_virtual_regs_1): Use it.
2790         (instantiate_virtual_regs): Do not continue in substition when insn has
2791         been deleted.
2792
2793 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
2794
2795         * combine.c (make_field_assignment): Fix a warning.
2796
2797 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
2798
2799         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
2800
2801 2003-03-21  Dale Johannesen  <dalej@apple.com>
2802
2803         * config/rs6000/rs6000.h (REG_ALLOC_ORDER):  Increase
2804         priority for R2 on Darwin.
2805         (HARD_REGNO_MODE_OK):  Don't accept R31 for DFmode.
2806
2807 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
2808
2809         * combine.c (make_field_assignment): Remove unnecessary AND
2810         when storing into zero_extract.
2811
2812 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
2813
2814         * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
2815         * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
2816         * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
2817         in comment.
2818
2819 2003-03-21  DJ Delorie  <dj@redhat.com>
2820
2821         * optabs.c (init_integral_libfuncs): Make sure we init at least up
2822         to "long long" size words.
2823
2824 2003-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
2825
2826         * config/s390/s390.h: Do not include fixdfdi.h on s390x.
2827         (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
2828         (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
2829
2830 2003-03-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2831
2832         PR doc-bug/9813
2833         * doc/extend.texi: Move misplaced paragraph about underscores in
2834         variables in macros.
2835
2836 2003-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2837             Richard Henderson  <rth@redhat.com>
2838
2839         PR optimization/8366
2840         * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
2841         (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
2842         PIC+SYMBOLIC_CONST in other modes than Pmode.
2843         (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
2844         the form PIC+SYMBOLIC_CONST as mode dependent.
2845
2846 2003-03-21  DJ Delorie  <dj@redhat.com>
2847
2848         * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
2849         sure we always emit at least one insn.
2850
2851 2003-03-21  Christopher Faylor  <cgf@redhat.com>
2852
2853         * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
2854         stub t-cygming. Use common target header cygming.h. Add extra
2855         c_target_obj and cxx_target_obj file. Default cygwin to posix
2856         threading. Enforce i386 as float format.
2857         (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
2858         Remove cygwin.h as target header. Use common target header
2859         cygming.h  Enforce i386 as float format. Correct typo.
2860         * config/i386/cygming.h: New file, containing definitions
2861         common to mingw32 and cygwin.
2862         * config/i386/cygwin.h: Remove definitions common to cygwin and
2863         mingw.  Simplify special spec logic.  Define "wrappers" around
2864         certain include path defines to accommodate -mno-cygwin.
2865         Remove some #if 0'ed code.
2866         (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
2867         (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
2868         (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
2869         * config/i386/mingw32.h: Remove definitions common to cygwin and
2870         mingw.
2871         (EXTRA_OS_CPP_BUILTINS): Adjust.
2872         (TARGET_VERSION): Define.
2873         * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
2874         mingw32.h definitions.
2875         (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
2876         * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
2877         Add compilation rules for cygwin1.o cygwin2.o.
2878         * config/i386/cygwin1.c: New file.
2879         * config/i386/cygwin2.c: New file.
2880         * config/i386/t-cygming: New makefile stub.
2881
2882 2003-03-20  Richard Henderson  <rth@redhat.com>
2883
2884         * fold-const.c (extract_muldiv_1): Revert changing order of
2885         operands in case MULT_EXPR of 2003-02-16 patch.
2886
2887 2003-03-20  Daniel Berlin  <dberlin@dberlin.org>
2888         Merge changes from new-regalloc-branch
2889
2890         From Michael Matz  <matz@suse.de>
2891         * df.c (df_ref_record_1): Move init of loc to safe point.
2892         Only recurse on interesting things in parallels.
2893         Handle CLASS_CANNOT_CHANGE_MODE smarter.
2894         (df_uses_record): Ditto.
2895
2896         * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
2897         it's already okay to use memory operands in (IE doesn't require
2898         adding another insn or anything).
2899
2900 2003-03-20  Richard Henderson  <rth@redhat.com>
2901
2902         PR middle-end/6348
2903         * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
2904         different from word_mode.
2905
2906 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
2907
2908         * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
2909         source operand to those that can be extracted with bld.
2910
2911 2003-03-20  Richard Earnshaw  <rearnsha@arm.com>
2912
2913         PR 10066
2914         * arm.md (UNSPEC_PIC_BASE): New constant.
2915         (pic_add_dot_plus_four): Wrap with unspec.
2916         (pic_add_dot_plus_eight): Likewise.
2917
2918 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
2919
2920         * config/h8300/h8300.md (*insv_si_1_n): New.
2921         (*insv_si_1_n_lshiftrt): Likewise.
2922
2923 2003-03-20  Roger Sayle  <roger@eyesopen.com>
2924
2925         * fold-const.c (fold_mathfn_compare): New function to simplify
2926         comparisons against built-in math functions.  Fold comparisons
2927         of sqrt against constants.
2928         (fold): Call fold_mathfn_compare when appropriate.
2929
2930 2003-03-20 Richard Earnshaw  <rearnsha@arm.com>
2931
2932         * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
2933         information.
2934
2935 2003-03-20  Per Bothner  <pbothner@apple.com>
2936
2937         Various cleanups to help compile server.
2938
2939         * cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
2940         and pass that to _cpp_init_hashtable.
2941         (cpp_read_main_file):  Drop hash_table* argument; don't call
2942         _cpp_init_hashtable.
2943         * cpplib.h:  Update declarations to match.
2944         * c-opts.c (c_common_init_options):  Pass ident_hash to
2945         cpp_create_reader.
2946         (c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
2947         * fix-header.c (read_scan_file):  Likewise pass NULL table to
2948         cpp_create_reader rather than cpp_read_main_file.
2949
2950         * cppfiles.c (cpp_rename_file):  Generalized and renamed
2951         to cpp_change_file.
2952         * cpplib.h:  Update declaration to match.
2953         * c-opts.c (push_command_line_line, finish_options):  Change
2954         cpp_rename_file calls to cpp_change_file.
2955
2956         * line-map.c (add_line_map):  Allow leaving the outermost file.
2957         Allowing entering an outermost-file after the initial time.
2958
2959         * toplev.c (pop_srcloc):  Allow popping from initial file.
2960
2961 2003-03-20  Kazu Hirata  <kazu at cs dot umass dot edu>
2962
2963         * fold-const.c (fold): Fold A - (A & B) into ~B & A.
2964
2965 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
2966
2967         * config/h8300/h8300.md (a peephole2): New.
2968
2969 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
2970
2971         * config/h8300/h8300.md (*addsi3_and_r_1): New.
2972         (*addsi3_and_not_r_1): Likewise.
2973
2974 2003-03-19  Loren James Rittle  <ljrittle@acm.org>
2975
2976         * Makefile.in (STRICT2_WARN): Add @WERROR@.
2977         (GCC_WARN_CFLAGS): Remove $(WERROR).
2978         (fixinc.sh-warn): New.
2979         * ada/Make-lang.in (ada-warn): Add $(WERROR).
2980         * cp/Make-lang.in (cp-warn): Add $(WERROR).
2981         * f/Make-lang.in (f-warn): Add $(WERROR).
2982         * java/Make-lang.in (java-warn): Add $(WERROR).
2983         * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
2984
2985 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
2986
2987         * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
2988         langhooks-def.h (lhd_tree_dump_dump_tree),
2989         langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
2990         Change return type from 'int' to 'bool'.  Replace 0 and 1 with
2991         true and false in return statements.
2992
2993 2003-03-19  Kevin Buettner  <kevinb@redhat.com>
2994
2995         * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
2996         (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
2997         DWARF_INITIAL_LENGTH_SIZE.
2998         (output_compilation_unit_header, output_pubnames, output_aranges)
2999         (output_line_info): Output 0xffffffff escape value for 64-bit
3000         DWARF extension.
3001         * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
3002
3003 2003-03-19  Ulrich Weigand  <uweigand@de.ibm.com>
3004
3005         * config/s390/s390.c (s390_preferred_reload_class): Do not
3006         force constants to the pool unless necessary.
3007         (s390_decompose_address): Prefer to use pointer as base,
3008         not index register.
3009         * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
3010         Q alternative.
3011         ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
3012         "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
3013         ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
3014         "*zero_extendqisi2_31", "*zero_extendqihi2_31",
3015         "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
3016
3017 2003-03-19  Jan Hubicka  <jh@suse.cz>
3018
3019         * i386.h (machine_function): New fields use_fast_prologue_epilogue.
3020         * i386.c (use_fast_prologue_epilogue): Remove.
3021         (ix86_frame): New field save_regs-using_mov;
3022         (ix86_compute_frame_layout):  Decide on fast prologues;
3023         allocate saved registers in red zone.
3024         (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
3025
3026 2003-03-19  Nick Clifton  <nickc@redhat.com>
3027
3028         * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
3029
3030 2003-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3031
3032         PR 10062
3033         * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
3034         * pa-protos.h (output_lbranch): New prototype.
3035         * pa.c (compute_frame_size): Change size of the frame marker on the
3036         64-bit ports to 48 bytes.
3037         (pa_output_function_prologue): Document why SAVE_SP is set.
3038         (hppa_expand_prologue): Save previous stack pointer into frame marker
3039         on targets which use the hpux unwind library.
3040         (output_cbranch): Use output_lbranch.
3041         (output_lbranch): New function to output long unconditional branches.
3042         * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
3043         (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
3044         64-bit ports.
3045         * pa.md (jump): Use output_lbranch.
3046         (allocate_stack): New expander for dynamic stack allocation.
3047
3048 2003-03-19  Alan Modra  <amodra@bigpond.net.au>
3049
3050         * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
3051         when debugging on XCOFF targets.  Delete "abi" temp.
3052
3053         PR target/10073
3054         * combine.c (force_to_mode <NOT>): Use gen_int_mode.
3055
3056 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
3057
3058         * config/s390/s390.c (s390_output_dwarf_dtprel): New.
3059         * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
3060         * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
3061
3062         * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
3063         * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
3064         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
3065
3066 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
3067
3068         * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
3069         the result of machopic_function_base_name.
3070         * config/darwin.c (machopic_function_base_name): Use a gc-allocated
3071         string rather than a static array.
3072
3073         * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
3074
3075         * gengtype.c: Include rtl.h.
3076         (enum rtx_code): Don't define.
3077         (rtx_format): Make declaration match rtl.h.
3078         (rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
3079         users.
3080         (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
3081         * Makefile.in (gengtype.o): Update dependencies.
3082
3083 2003-03-18  Andreas Schwab  <schwab@suse.de>
3084
3085         * config/m68k/m68k.md (iordi3): Fix setting low half to -1.  From
3086         martin@blom.org.
3087
3088 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
3089
3090         * function.c (next_block_index): Mark with GTY.
3091
3092         * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
3093
3094 2003-03-18  Richard Henderson  <rth@redhat.com>
3095
3096         * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
3097         (builtin_setjmp_receiver): Delay call to ia64_reload_gp
3098         until after reload.
3099
3100 2003-03-18  Richard Henderson  <rth@redhat.com>
3101
3102         * builtins.c (expand_builtin_unop): New target_mode operand;
3103         use it to convert the result to the correct mode.
3104         (expand_builtin): Update all callers.
3105
3106 2003-03-18  Ulrich Weigand  <uweigand@de.ibm.com>
3107
3108         * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
3109
3110 2003-03-18  Jan Hubicka  <jh@suse.cz>
3111
3112         * i386.md:  Fix previous commit that mistakely applied the patch
3113         twice.
3114
3115         * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
3116         canonicalized.
3117         (memrefs_conflict_p): Likewise.
3118         (addr_side_effect_eval): Canonicalize the constructed address.
3119
3120 2003-03-18  Jan Hubicka  <jh@suse.cz>
3121
3122         * i386.md (cvtts?2si peep2): New.
3123
3124 2003-03-18  Kazu Hirata  <kazu@cs.umass.edu>
3125
3126         * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
3127
3128 2003-03-18  Andreas Schwab  <schwab@suse.de>
3129
3130         * dwarf2out.c (output_file_names): Cast size_t to unsigned long
3131         for format.
3132
3133 2003-03-17  Jason Merrill  <jason@redhat.com>
3134
3135         PR c++/10091
3136         * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
3137         an unaligned member of TREE_ADDRESSABLE type.
3138
3139 2003-03-18  Alan Modra  <amodra@bigpond.net.au>
3140
3141         * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
3142         (TARGET_PROFILE_KERNEL): Define.
3143         (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
3144         (PROFILE_BEFORE_PROLOGUE): Don't define.
3145         (PROFILE_KERNEL): Remove hacks.
3146         * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
3147         (rs6000_stack_info): No need to save lr if just for profiling when
3148         TARGET_PROFILE_KERNEL.
3149         (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
3150         (output_function_profiler): Localize label generation.  Emit code
3151         for kernel profiling.
3152
3153 2003-03-17  Kazu Hirata  <kazu@cs.umass.edu>
3154
3155         * config/h8300/h8300-protos.h: Add a prototype for
3156         byte_accesses_mergeable_p.
3157         * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
3158         * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
3159         (a splitter): Likewise.
3160         (*iorsi3_ashift_16_ashift_24): Likewise.
3161         (*iorsi3_ashift_16_ashift_24_mem): Likewise.
3162
3163 2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3164
3165         * dwarf2asm.h: Delete obsolete comment.
3166         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
3167         dw2_asm_output_pcrel, dw2_asm_output_addr,
3168         dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
3169         dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
3170         dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
3171         dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
3172
3173 2003-03-17  Zack Weinberg <zack@codesourcery.com>
3174
3175         * c-tree.h (struct lang_identifier): Remove error_locus field.
3176         (IDENTIFIER_ERROR_LOCUS): Kill.
3177         (record_function_scope_shadow): New prototype.
3178         * c-typeck.c (build_external_ref): Don't complain if
3179         decl is error_mark_node.  When not at file scope, bind the
3180         decl's local value to error_mark_node to suppress further
3181         warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
3182
3183         * c-decl.c (get_function_binding_level): New static function.
3184         (record_function_scope_shadow): New exported function.
3185         (c_make_fname_decl): Use get_function_binding_level.
3186
3187 2003-03-17  Steve Ellcey  <sje@cup.hp.com>
3188
3189         * stmt.c (tail_recursion_args): Call promote_mode to set
3190         unsignedp flag correctly before calling convert_move.
3191
3192 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3193
3194         * loop-unroll.c (decide_peel_completely,
3195         decide_unroll_constant_iterations, decide_unroll_stupid,
3196         decide_unroll_runtime_iterations, decide_peel_simple): Set
3197         loop->has_desc.
3198
3199 2003-03-17  Jan Hubicka  <jh@suse.cz>
3200
3201         * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
3202
3203 2003-03-17  Olivier Hainque  <hainque@act-europe.fr>
3204
3205         * function.c (assign_parms): For a struct value address passed as
3206         first argument, delay the function's result RTL setup code until
3207         after the emission of parameter conversions.
3208
3209 2003-03-17  Dave Love  <fx@gnu.org>
3210             Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3211
3212         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
3213         __arch64__ to match Compaq cc.
3214
3215 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
3216
3217         * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
3218         (c_common_init): Set EBCDIC in cpp options.
3219         * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
3220         not conditional compilation.
3221         * cpplib.h (struct cpp_options): New entry EBCDIC.
3222
3223 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
3224
3225         * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
3226
3227 2003-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3228
3229         * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
3230         argument to 0 for redirect_jump.
3231
3232 2003-03-16  Mark Mitchell  <mark@codesourcery.com>
3233
3234         PR c++/8805
3235         * except.c (eh_region_u_cleanup): Add prev_try.
3236         (expand_eh_region_end_cleanup): Set it.
3237         (reachable_handlers): Use it to skip over cleanup blocks.
3238
3239 2003-03-17  Andreas Jaeger  <aj@suse.de>
3240
3241         * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
3242
3243 2003-03-17  Alan Modra  <amodra@bigpond.net.au>
3244
3245         * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
3246         (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
3247         (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
3248         (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
3249
3250 2003-03-16  Richard Henderson  <rth@redhat.com>
3251
3252         * simplify-rtx (simplify_binary_operation): Don't abort for
3253         SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
3254
3255 2003-03-16  Richard Henderson  <rth@redhat.com>
3256
3257         * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
3258         optimize_size as well.
3259
3260 2003-03-16  Stephane Carrez  <stcarrez@nerim.fr>
3261
3262         * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
3263         for D register to specify the low part of it, aka B.
3264         (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
3265         the register if we are loading 1 or -1 to it; avoid using temp
3266         register when moving X/Y to Y/X.
3267         (m68hc11_gen_movqi): Likewise.
3268         (m68hc11_check_z_replacement): Fix last insn setting for compare case.
3269
3270 2003-03-14  Mark Mitchell  <mark@codesourcery.com>
3271
3272         PR optimization/9016
3273         * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
3274         into the constant pool.
3275
3276 2003-03-16  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
3277
3278         PR target/9164
3279         * tree.c (get_narrower): For extensions with unchanged bit number,
3280         return the unsignedness of the outer mode.
3281
3282 2003-03-16  Roger Sayle  <roger@eyesopen.com>
3283
3284         * c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
3285         to avoid "may be used uninitialized" warning on ia64-hpux.
3286         * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
3287
3288 2003-03-16  Andreas Jaeger  <aj@suse.de>
3289
3290         * configure.in: Improve check for memcheck.h.
3291         * configure: Regenerated.
3292
3293 2003-03-16  Neil Booth  <neil@daikokuya.co.uk>
3294
3295         * doc/cppopts.texi: Remove documentation of -A-.
3296
3297 2003-03-15  Zack Weinberg  <zack@codesourcery.com>
3298
3299         * doc/libgcc.texi: Remove @tie.
3300
3301 2003-03-15  Josef Zlomek  <zlomekj@suse.cz>
3302
3303         * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
3304         (rtx_pair): Added new element update_label_nuses, renamed to
3305         replace_label_data.
3306         * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
3307         replace_label_data instead of rtx_pair.
3308         * loop.c (load_mems): Likewise.
3309         * rtlanal.c (replace_label): Replace label in pool constants and in
3310         INSN_LIST (in REG_LABEL note).
3311         (subrtx_p): Renamed to rtx_referenced_p.
3312         (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
3313         LABEL_REF with CODE_LABEL, traverse constants from pool.
3314
3315 2003-03-15  Aldy Hernandez <aldyh@redhat.com>
3316             Zack Weinberg  <zack@codesourcery.com>
3317
3318         * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
3319         * doc/libgcc.texi: New file.
3320         * doc/interface.texi: Delete paragraph about libgcc interface.
3321         * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
3322
3323 2003-03-15  Jason Merrill  <jason@redhat.com>
3324
3325         PR debug/9039
3326         * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
3327
3328         PR debug/6387
3329         * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
3330         function DIEs at toplevel.
3331         (decls_for_scope): At -g1, don't descend into subblocks.
3332
3333 2003-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
3334
3335         * varasm.c (struct rtx_const): Change type of un.addr member
3336         to struct holding an additional 'symbol' member.
3337         (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
3338         with equal string addresses as equal.
3339         (simplify_subtraction): Adapt to struct rtx_const change.
3340
3341 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
3342
3343         * fix-header.c (read_scan_file): Read main file before handling -D.
3344
3345 2003-03-15  Roger Sayle  <roger@eyesopen.com>
3346
3347         * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
3348         * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
3349         * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
3350         (find_sub_basic_blocks): Likewise.
3351         * cgraphunit.c (cgraph_expand_functions): Likewise.
3352         * dwarf2out.c (prune_unused_types): Likewise.
3353         * expr.c (store_field): Likewise.
3354         * genextract.c (print_path): Likewise.
3355         * haifa-sched.c (schedule_insn): Likewise.
3356         * lcm.c (compute_antinout_edge): Likewise.
3357         * loop-unroll.c (decide_peel_once_rolling): Likewise.
3358         * ra-colorize.c (ra_colorize_free_all): Likewise.
3359         * ra-debug.c (dump_igraph): Likewise.
3360         (debug_hard_reg_set): Likewise.
3361         * reg-stack.c (reg_to_stack): Likewise.
3362         * rtlanal.c (refers_to_regno_p): Likewise.
3363         * tracer.c (layout_superblocks): Likewise.
3364
3365 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
3366
3367         * fix-header.c (read_scan_file): Fix thinko.
3368
3369 2003-03-15  Glen Nakamura  <glen@imodulo.com>
3370
3371         * reload1.c (choose_reload_regs): Use && instead of ||
3372         with REG_CANNOT_CHANGE_MODE_P condition.
3373
3374 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
3375
3376         * Makefile.in: Update.
3377         * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
3378         * c-lex.c (init_c_lex): Register builtins hook is dead.
3379         * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
3380         (c_common_decode_option): Don't call cpp_handle_option.
3381         Handle -A, -D and -U.
3382         (handle_deferred_opts): Simplify.
3383         (finish_options): Define builtins and command line macros.
3384         * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
3385         * cppinit.c: Don't include intl.h.
3386         (init_builtins): Rename cpp_init_builtins.  No hook to call.
3387         (init_library): Don't need to sort options.
3388         (cpp_create_reader): Don't set pending.
3389         (cpp_destroy): Don't free pending.
3390         (struct pending_option, cl_directive_handler, struct cpp_pending,
3391         APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
3392         cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
3393         cl_options, cpp_handle_option): Remove.
3394         * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
3395         cpp_finish_options): Remove.
3396         (cpp_init_builtins): New.
3397         * fix-header.c (read_scan_file): Update to handle -D.  Fix
3398         handling of -I.  Replace call to cpp_finish_options.
3399
3400 2003-03-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3401
3402         PR optimization/9387
3403         * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
3404         for conditional returns.
3405
3406 2003-03-14  Jason Merrill  <jason@redhat.com>
3407
3408         PR optimization/6871
3409         * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
3410
3411 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
3412
3413         * c-opts.c (finish_options): New.
3414         (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
3415         (missing_arg): Handle OPT_include and OPT_imacros.
3416         (c_common_init, c_common_parse_file): Use finish_options.
3417         (handle_deferred_opts): Update.
3418         * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
3419         (cpp_finish_options): Don't handle -imacros here.
3420         (no_fil): Remove.
3421         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
3422
3423 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
3424
3425         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
3426         rs6000_maybe_dead if !fromprolog.
3427
3428 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
3429
3430         * Makefile.in: Update.
3431         * c-common.h (fe_file_change, pp_file_change): New.
3432         * c-lex.c (init_c_lex): Don't set cb_file_change.
3433         (c_common_parse_file): Move to c-opts.c.
3434         (cb_file_change): Rename fe_file_change.
3435         * c-opts.c: Include debug.h.
3436         (warn_unused_macros, include_cursor): New.
3437         (push_command_line_include, cb_file_change): New.
3438         (COMMAND_LINE_OPTIONS): Handle -include.
3439         (c_common_decode_option): Use local warn_unused_macros.
3440         Handle OPT_include.
3441         (c_common_post_options): Set file change callback.
3442         (handle_deferred_opts): Skip -include.  Don't free the array.
3443         (c_common_init): Call cpp_finish_options here, and push an
3444         initial -include file.
3445         * c-ppoutput.c (cb_file_change): Rename pp_file_change.
3446         (preprocess_file): Don't call cpp_finish_options.
3447         (init_pp_output): Don't set the file change callback.
3448         (pp_file_change): Return if no line commands or no output.
3449         * cpphash.h (next_include_file, first_unused_line): Remove.
3450         * cppinit.c (include_head, include_tail): Remove.
3451         (cpp_destroy): Don't free -include chain.
3452         (cpp_finish_options): Don't handle -include, or worry about
3453         -Wunused-macros.
3454         (_cpp_maybe_push_include_file): Remove.
3455         (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
3456         * cpplib.c (_cpp_pop_buffer): Don't handle -include.
3457         * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
3458         Used flag is set based upon the state of the warn_unused_macros
3459         flag, and so use of first_unused_line is unnecessary.
3460
3461 2003-03-13  Jan Hubicka  <jh@suse.cz>
3462
3463         * cselib.c (clear_table): Do not take argument; always clear just
3464         used slots.
3465         (cselib_process_insn):  Update call of clear_table
3466         (cselib_init): Do not call clear_table.
3467         (cselib_finish): Clear table.
3468
3469         * cse.c (count_reg_usage): Do not check side_effects_p.
3470         * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
3471         like noop.
3472         (find_reg_equal_equiv_note): Do not use find_reg_note.
3473
3474 2003-03-14  Richard Henderson  <rth@redhat.com>
3475
3476         PR target/9700
3477         * config/alpha/alpha.c (alpha_va_start): Account for
3478         current_function_pretend_args_size in the AP offset.
3479
3480         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
3481         (INITIAL_ELIMINATION_OFFSET): Move out of line.
3482         * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
3483         (alpha_initial_elimination_offset) New.
3484         * config/alpha/alpha-protos.h: Update.
3485
3486 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
3487
3488         * stmt.c (expand_start_case): Call emit_queue ().
3489
3490 2003-03-14  Chris Demetriou  <cgd@broadcom.com>
3491             Alexandre Oliva  <aoliva@redhat.com>
3492
3493         * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
3494         words in new abis.
3495
3496 2003-03-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
3497
3498         PR optimization/8396
3499         * tree-inline.c (initialize_inlined_parameters): Make sure the value
3500         of read-only constant arguments is passed with the right type.
3501
3502 2003-03-14  Steven Bosscher  <steven@gcc.gnu.org>
3503
3504         * doc/extend.texi (Function Names): Make the example compilable.
3505
3506 2003-03-13  David Edelsohn  <edelsohn@gnu.org>
3507
3508         * config/rs6000/rs6000.c (processor_target_table): Really allow
3509         GP optional instructions on Power4.
3510
3511 2003-03-13  Roger Sayle  <roger@eyesopen.com>
3512
3513         * calls.c (flags_from_decl_or_type): Factor and remove redundant
3514         conditional tests.
3515
3516 2003-03-13  Mike Stump  <mrs@apple.com>
3517
3518         * ggc-page.c (struct page_entry): Remove varray.h header.
3519         Add index_by_depth field.
3520         Remove save_in_use_p field.
3521         (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
3522         by_depth_max, by_depth, and save_in_use fields.
3523         (INITIAL_PTE_COUNT): Add.
3524         (save_in_use_p_i): Add.
3525         (save_in_use_p): Add.
3526         (adjust_depth): Add.
3527         (move_ptes_to_front): Add.
3528         (push_depth): Add.
3529         (push_by_depth): Add.
3530         (prefetch): Add.
3531         (free_page): Add support for and use faster data structures.
3532         (ggc_alloc): Likewise.
3533         (init_ggc): Likewise.
3534         (ggc_recalculate_in_use_p): Likewise.
3535         (ggc_pop_context): Likewise.
3536         (clear_marks): Likewise.
3537         (ggc_pch_read): Likewise.
3538         * Makefile.in (ggc-page.o): Remove varray.h.
3539
3540 2003-03-13  Nathanael Nerode  <neroden@gcc.gnu.org>
3541
3542         * ChangeLog: Rotated last year's entries to...
3543         * ChangeLog.8: New.
3544
3545         * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
3546         config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
3547         config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
3548         config/ia64/ia64-protos.h, config/ia64/ia64.c,
3549         config/ia64/ia64.h, config/ia64/ia64.md,
3550         config/ia64/itanium1.md, config/ia64/itanium2.md,
3551         config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
3552         config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
3553
3554 2003-03-13  Aldy Hernandez  <aldyh@redhat.com>
3555
3556         * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
3557         Differentiate endianness.
3558         (s6000_override_options): Use cpu type instead of TARGET_SPE.
3559
3560 2003-03-13  Nick Clifton  <nickc@redhat.com>
3561
3562         * config/arm/arm.c (print_multi_reg): Do not generate a type 2
3563         LDM instructions with writeback enabled.
3564         (output_return_instruction): Likewise.
3565
3566         * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
3567         (CALL_USED_REGISTERS): Remove definition.
3568         (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
3569
3570 2003-03-13  Alan Modra  <amodra@bigpond.net.au>
3571
3572         * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
3573         (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
3574         (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
3575         (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
3576         (rs6000_legitimize_address): Formatting.
3577         (rs6000_emit_move): Likewise.
3578         (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
3579         (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
3580         (rs6000_elf_select_section): Comment reason for shlib being
3581         set for ABI_AIX.
3582         (rs6000_elf_unique_section): Likewise.
3583         (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
3584         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
3585         as well as flag_pic.
3586         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
3587         (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
3588         * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
3589
3590 2003-03-13  Richard Henderson  <rth@redhat.com>
3591
3592         * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
3593
3594         * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
3595         (ia64_gp_save_reg): Remove.
3596         (struct ia64_frame_info): Move to the beginning of the file;
3597         add reg_save_gp.
3598         (ia64_expand_call): Rearrange for new call patterns.
3599         (ia64_reload_gp): New.
3600         (ia64_split_call): New.
3601         (ia64_compute_frame_size): Allocate reg_save_gp.
3602         (ia64_expand_prologue): Save reg_save_gp.
3603         (ia64_expand_epilogue): Don't restore gp.
3604         (ia64_hard_regno_rename_ok): Remove R4 hack.
3605         (ia64_function_ok_for_sibcall): New.
3606         (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
3607         call try_split on sibcall pattern.
3608         * config/ia64/ia64-protos.h: Update.
3609         * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
3610         Rename from nopic versions.  Confiscate 2nd argument to call as
3611         a marker.
3612         (call_pic, call_value_pic, sibcall_pic): Remove.
3613         (call_gp, call_value_gp, sibcall_gp): New.
3614         (builtin_setjmp_setup): Remove.
3615         (builtin_setjmp_receiver): Call ia64_reload_gp.
3616
3617 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3618
3619         * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
3620         config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
3621         "GNU CC" with "GCC".
3622
3623         * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
3624         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
3625         config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
3626         GCC, not GNU CC.
3627
3628         * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
3629         langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
3630
3631         * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
3632         langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
3633         unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
3634         "GNU CC" with "GCC".
3635
3636         * config/v850/lib1funcs.asm, config/v850/rtems.h,
3637         config/v850/v850-c.c, config/v850/v850-protos.h,
3638         config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
3639         GCC, not GNU CC.
3640
3641         * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
3642         config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
3643         config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
3644         config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
3645         GNU CC.
3646
3647 2003-03-12  Benjamin Kosnik  <bkoz@redhat.com>
3648
3649         * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
3650
3651 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3652
3653         * fixinc/fixinc.interix: Remove dead code (most of it).
3654         * fixinc/fixinc.dgux: Remove.
3655
3656         * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
3657         ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
3658
3659 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3660
3661         * pa.c (pa_init_builtins): Fix warning.
3662
3663 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
3664
3665         * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
3666         (ASM_OUTPUT_XDATA_SHORT): Remove.
3667         (ASM_OUTPUT_XDATA_INT): Remove.
3668         (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
3669         (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
3670         (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
3671         (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
3672
3673 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
3674
3675         PR c++/7050
3676         * expr.c (store_expr): Don't attempt to store void-typed trees,
3677         just evaluate them for side effects.
3678
3679 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
3680
3681         * cppfiles.c (cpp_rename_file, cpp_push_include): New.
3682         * cppinit.c (push_include): Move with changes to cppfiles.c.
3683         (cpp_read_main_file): Mark named operators here...
3684         (cpp_finish_options): ...not here.  Update.
3685         (_cpp_maybe_push_include_file): Update.
3686         * cpplib.h (cpp_push_include, cpp_rename_file): New.
3687
3688 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3689
3690         * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
3691         _gcc_COMPUTE_GAS_VERSION.
3692         * configure.in: Use them.
3693         * configure: Regenerate.
3694
3695 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
3696
3697         * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
3698         to detect carry.
3699         (subdi3): Reorder emitted instructions.
3700
3701 2003-03-12  Andreas Jaeger  <aj@suse.de>
3702
3703         * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
3704         NETBSD_OS_CPP_BUILTINS_LP64.
3705
3706 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
3707
3708         * Makefile.in: Eliminate all.indirect.  Update and clean up comments.
3709         Rearrange.  Reorganize.
3710         * configure.in: Rearrange.
3711         * configure: Regenerate.
3712
3713 2003-03-12  Andreas Jaeger  <aj@suse.de>
3714
3715         * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
3716         LP64 targets.
3717
3718         * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
3719         _LP64.
3720
3721         * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
3722         _LP64 macros here.
3723         * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
3724
3725         * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
3726         NETBSD_OS_CPP_BUILTINS_LP64.
3727         * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
3728         * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
3729
3730         * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
3731
3732 2003-03-12  Jan Hubicka  <jh@suse.cz>
3733
3734         * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
3735
3736 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
3737
3738         Fix PR target/9797 and PR c/9853.
3739         * stmt.c (expand_decl_init): Call push_temp_slots () and
3740         pop_temp_slots ().
3741
3742 2003-03-12  J"orn Rennecke <joern.rennecke@superh.com>
3743
3744         * sh.c: Include basic-block.h.
3745         (sh_output_mi_thunk, emit_load_ptr): New functions.
3746         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
3747
3748 2003-03-12  Nick Clifton  <nickc@redhat.com>
3749
3750         * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
3751         (CALL_USED_REGISTERS): Likewise.
3752         * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
3753         describing how this value is calculated.
3754
3755 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
3756
3757         * configure.in (rlim_t): Define to long if no valid definition
3758         found in sys/resource.h.
3759         * config.in, configure: Regenerate.
3760
3761 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
3762
3763         * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
3764         TARGET_OS_CPP_BUILTINS.
3765         * config/mcore/mcore-pe.h: Similarly.
3766         * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
3767         CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
3768
3769 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
3770
3771         PR c/9928
3772         * c-decl.c (duplicate_decls): Discard the initializer of the new decl
3773         only if it is a VAR_DECL.
3774
3775 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
3776
3777         PR optimization/9888
3778         * config/i386/i386.md (jcc_1): Fix range.
3779         (jcc_2): Likewise.
3780         (jump): LIkewise.
3781         (doloop_end_internal): Likewise.
3782
3783 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
3784
3785         * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
3786         Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
3787         (DLL_EXPORT_PREFIX): New define. Use throughout instead of
3788         DLL_IMPORT_EXPORT_PREFIX and "i."
3789         (i386_pe_dllexport_name_p): Here.
3790         (i386_pe_dllimport_name_p): Here.
3791         (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
3792         not 9 chars when getting identifier name.
3793         (i386_pe_mark_dllimport): Here.
3794         (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
3795         not 9 chars when getting identifier name. Correct comment.
3796         (i386_pe_strip_name_encoding): Here. Add comments for different
3797         cases.
3798         (gen_fastcall_suffix): Break down xmalloc() argument to
3799         components.
3800         (gen_stdcall_suffix): Likewise.
3801         Update copyright year.
3802
3803 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
3804
3805         PR optimization/9888
3806         * config/i386/i386.md (movsi_1): Remove special alternatives
3807         for %eax register.
3808         (movsi_1_nointernunit): Likewise.
3809         (movhi_1): Likewise.
3810         * config/i386/i386.c (memory_address_length): Do not use
3811         short displacement when there is no base.
3812         (ix86_attr_length_address_default): Handle LEA instructions.
3813
3814 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
3815
3816         * c-cppbuiltin.c (builtin_define_std): Make non-static.
3817
3818 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
3819
3820         * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
3821         (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
3822         (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
3823         * config/freebsd.h (CPP_PREDEFINES): Remove.
3824         (TARGET_OS_CPP_BUILTINS): New.
3825         * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
3826         instead of TARGET_OS_CPP_BUILTINS.
3827         * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
3828
3829 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
3830
3831         * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
3832
3833 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
3834
3835         * config/rs6000/rs6000.c (rs6000_stack_info): Remove
3836         insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
3837
3838         * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
3839
3840 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
3841
3842         * toplev.c (independent_decode_option): Return success for --help,
3843         --target-help and --version.
3844
3845 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
3846
3847         * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
3848         Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
3849         specified.
3850         (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
3851         DRIVER_SELF_SPECS.
3852         (LINK_SPEC): Let endian options affect the linker emulation name.
3853
3854 2003-03-11  J"orn Rennecke <joern.rennecke@superh.com>
3855
3856         * sh.md (reload_inqi): Fix mode for source in second set.
3857
3858 2003-03-11  Jan Hubicka  <jh@suse.cz>
3859
3860         * cselib.c (cselib_invalidate_mem_1): Move too ...
3861         (cselib_invalidate_mem): ... here; use new list
3862         (dummy_val, first_containing_mem): New static variables.
3863         (clear_table): Initialize first_containing_mem.
3864         (discard_useless_values):  Compact the containing_mem list.
3865         (add_mem_for_addr): Add to the list.
3866         * cselib.h (cselib_val): Add next_containing_mem.
3867
3868 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
3869
3870         * config/rs6000/rs6000.c (rs6000_override_options): Disable string
3871         instructions for e500.
3872
3873 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
3874
3875         * Makefile.in: Update.
3876         * c-cppbuiltin.c: Include tm_p.h.
3877
3878 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
3879
3880         * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
3881
3882         * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
3883         (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
3884         (_Unwind_SetGR): Same.
3885         (_Unwind_GetGRPtr): New.
3886         (_Unwind_SetGRPtr): New.
3887         (uw_update_context_1): Use accesor functions instead of accessing
3888         context->reg[] directly.
3889         (uw_install_context_1): Same.
3890         (execute_cfa_program): Same.
3891         (__frame_state_for): Same.
3892
3893         * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
3894         the synthetic register offset.
3895
3896         * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
3897
3898 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
3899
3900         * config/cris/cris.md: Remove lingering EGCS reference.
3901         ("*extopqihi_side_biap"): For HI operation, match
3902         cris_additive_operand_extend_operator, not
3903         cris_operand_extend_operator.  Adjust condition.
3904         ("*extopqihi_side", "*extopqihi"): Ditto.
3905         ("*extopqisi_side_biap"): Correct operand numbers in condition.
3906         ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
3907         ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
3908         ("*extophisi_swap"): Ditto.
3909         ("*extopqihi_swap_side_biap"): For HI operation, match a simple
3910         PLUS, not cris_operand_extend_operator.  Adjust condition and
3911         output template.
3912         ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
3913         * config/cris/cris.h (PREDICATE_CODES): Add
3914         cris_additive_operand_extend_operator.
3915         * config/cris/cris.c (cris_additive_operand_extend_operator):
3916         New predicate.
3917
3918 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
3919
3920         * df.c (read_modify_subreg_p): Change from static to global.
3921         * df.h (read_modify_subreg_p): Add prototype.
3922         * sched-deps.c (sched_analyze_1): Generate true dependency for
3923         strict_low_part, certain subregs and zero/sign_extract.
3924
3925 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
3926
3927         * Makefile.in: Update.
3928         * c-common.c: Don't include real.h or except.h.
3929         (REGISTER_PREFIX): Remove.
3930         (builtin_define_std, builtin_define_with_value,
3931         builtin_define_with_int_value, builtin_define_with_hex_fp_value,
3932         builtin_define_type_max, builtin_define_type_precision,
3933         builtin_define_float_constants): Move to c-cppbuiltin.c.
3934         (c_stddef_cpp_builtins): New.
3935         * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
3936         * c-cppbuiltin.c: New, extracted from c-common.c.
3937         (define__GNUC__): New.
3938         * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
3939         * gcc.c: Remove support of %v1, %v2 and %v3 specs.
3940         (cpp_unique_options): Don't support no-gcc.
3941         (do_spec_1): Remove support of version specs.
3942         * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
3943         * doc/passes.texi: Update.
3944         * doc/tm.texi: Update.
3945
3946 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
3947
3948         * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
3949
3950 2003-03-10  Andrew Pinski  <apinski@apple.com>
3951
3952         * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
3953         is on should not get here.
3954         (machopic_indirect_data_reference): If dynamic-no-pic is on just
3955         generate high/low parts of the address.
3956         (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
3957         MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
3958         symbol and labels with a new reg.  Dynamic-no-pic does not have a
3959         pic_offset_table_rtx.
3960         (machopic_select_section): Change references of flag_pic to
3961         MACHOPIC_INDIRECT.
3962         (machopic_asm_out_destructor): Likewise.
3963         * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
3964         reference of flag_pic to MACHOPIC_INDIRECT.
3965         (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
3966         (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
3967         (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
3968         (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
3969         * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
3970         0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
3971         * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
3972         (TARGET_DYNAMIC_NO_PIC): Define.
3973         (SUBTARGET_SWITCHES): Define, have sub-target switches for
3974         dynamic-no-pic.
3975         (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
3976         rs6000_override_options to here. Dynamic-no-pic overrides
3977         pic.
3978         (CC1_SPEC): Change from not static then pic to not static and not
3979         dynamic-no-pic then pic.
3980         * config/rs6000/rs6000.c (rs6000_override_options): Move the
3981         check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
3982         (rs6000_legitimize_reload_address): Add case for loading floating in
3983         dynamic-no-pic.
3984         (rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
3985         of flag_pic to MACHOPIC_INDIRECT.
3986         (secondary_reload_class): Conditional change the reference of
3987         flag_pic to MACHOPIC_INDIRECT.
3988         (rs6000_output_mi_thunk): Change reference of flag_pic to
3989         MACHOPIC_INDIRECT.
3990         (output_profile_hook): Likewise.
3991         (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
3992         * config/rs6000/rs6000.md (movdf_low): Add the case for
3993         MACHO_DYNAMIC_NO_PIC_P.
3994         (call): Change references for flag_pic in TARGET_MACHO to
3995         MACHOPIC_INDIRECT.
3996         (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
3997         -mdynamic-no-pic is on.  Also move case for -fpic from rs6000.c.
3998         * doc/invoke.texi (-mdynamic-no-pic): Document.
3999
4000 2003-03-10  Devang Patel  <dpatel@apple.com>
4001
4002         PR c++/9394
4003         * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
4004         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
4005         * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
4006         (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
4007         * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
4008         (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
4009
4010 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
4011
4012         PR optimization/7189
4013         * toplev.c (rest_of_compilation):  Move
4014         check_function_return_warnings up to just after
4015         delete_unreachable_blocks.
4016
4017 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
4018
4019         * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
4020         * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
4021         Declare.
4022         * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
4023         for reg rename optimization to avoid using Z and Y registers.
4024
4025 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
4026
4027         * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
4028         when adding to X and Y since leax/leay are fast.
4029         ("*addhi3"): Accept 'I' constraint when adding to address register.
4030         ("rotlhi3"): Operand 1 must be a register_operand.
4031         (peephole2): New peephole to optimize some adds.
4032         * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
4033         to represent -2 .. 2 small integer range.
4034
4035 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
4036
4037         * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
4038         each 16-bit rotation.
4039
4040 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
4041
4042         * c-opts.c (add_prefixed_path): Don't use concat.  When
4043         prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
4044         cpp_GCC_INCLUDE_DIR_len characters.
4045
4046 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
4047
4048         * testsuite/gcc.dg/altivec-9.c: New file.
4049
4050         * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
4051         (rs6000_emit_prologue): Use rs6000_frame_related instead.
4052
4053 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
4054
4055         * config/rs6000/spe.h: Define __ev64_*64__ to use single element
4056         vectors.
4057         (__ev_convert_u64): Remove macro.  Define as inline.
4058         (__ev_convert_s64): Same.
4059
4060 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
4061
4062         * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
4063         (rs6000_stack_t): Add spe_64bit_regs_used.
4064
4065         * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
4066         spe_64bit_regs_used, and use it to determine the size of the
4067         frame.
4068         (spe_func_has_64bit_regs_p): New.
4069         (spe_synthesize_frame_save): New.
4070         (rs6000_frame_related): Handle SPE synthetic registers.