OSDN Git Service

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