OSDN Git Service

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