OSDN Git Service

PR c++/2513
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
2
3         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
4         for posterity, then remove it.
5
6 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
7             Nathan Sidwell  <nathan@codesourcery.com>
8
9         * config/arm/arm.c (use_return_insn): Not a single instruction, if
10         there's a frame pointer.
11         (arm_output_epilogue): Protect stack pointer from being corrupted
12         on interrupt.
13
14 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
15
16         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
17
18 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
19
20         * combine.c (simplify_set): Do not clear out undobuf.other_insn
21         already set elsewhere.
22
23 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
24
25         * config/i386/i386.c (ix86_expand_prologue):  Use
26         gen_allocate_stack_worker.
27
28 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
29
30         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
31         without gas.
32         (mips-sgi-irix6*): Likewise.
33
34         * config/mips/iris6gas.h: New file.
35         * gcc/config.gcc (mips-sgi-irix6*): Use it.
36
37         * config/mips/mips.h (TARGET_IRIX): Provide default.
38         (TARGET_IRIX5): Likewise.
39         (TARGET_SGI_O32_AS): Likewise.
40         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
41         (TARGET_IRIX5): Likewise.
42         * config/mips/iris6.h (TARGET_IRIX6): Remove.
43         (TARGET_IRIX5): Redefine as 0.
44
45         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
46         linker workaround with TARGET_IRIX and mips_abi instead of
47         ASM_OUTPUT_UNDEF_FUNCTION.
48         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
49         testing TARGET_IRIX and mips_abi explicitly.
50         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
51         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
52
53         * config/mips/mips.c (irix_output_external_libcall): Renamed from
54         mips_output_external_libcall.
55         Use new TARGET_IRIX in guard.
56         * config/mips/mips-protos.h (irix_output_external_libcall): Match
57         this.
58         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
59
60         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
61         Define as 0.
62
63         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
64         depending on mips_abi. 
65         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
66         * config/mips/mips.c (mips_output_function_prologue): Test
67         FUNCTION_NAME_ALREADY_DECLARED at runtime.
68         (mips_output_function_epilogue): Likewise.
69         (build_mips16_function_stub): Likewise.
70         (build_mips16_call_stub): Likewise.
71         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
72         default.
73         
74         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
75         IRIX 6 O32 assembler.
76         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
77         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
78         _MIPS_SIM for O32 ABI.
79         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
80         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
81         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
82         Integrate O32 version.
83         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
84         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
85         O32 ABI.
86         (BSS_SECTION_ASM_OP_32): Define.
87         (BSS_SECTION_ASM_OP_64): Likewise.
88         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
89         using them.
90         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
91         Move up to allow override for O32 ABI without GNU as.
92         (EH_FRAME_SECTION_NAME): Define explicitly.
93         (MUST_USE_SJLJ_EXCEPTIONS): Define.
94         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
95         DTORS_SECTION_ASM_OP): Dummy definitions.
96         (TARGET_ASM_NAMED_SECTION): Undef statically. 
97         (EH_FRAME_SECTION_NAME): Likewise.
98         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
99         (LINK_SPEC): Only use default options -call_shared -no_unresolved
100         without -r.
101         Don't pass -init, -fini with -mabi=32.
102         (COLLECT_PARSE_FLAG): Define.
103
104         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
105         TARGET_IRIX.
106         Renamed to use irix_ prefix.
107         (iris6_asm_named_section): Likewise.
108         (iris_section_align_entry_eq): Likewise.
109         (iris_section_align_entry_hash): Likewise.
110         (iris6_file_start): Likewise.
111         (iris6_section_align_1): Likewise.
112         (iris6_file_end): Likewise.
113         (iris6_section_type_flags): Likewise.
114         (iris_section_align_htab): Likewise.
115         (iris_orig_asm_out_file): Likewise.
116         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
117         (TARGET_ASM_FILE_END): Likewise.
118         (TARGET_SECTION_TYPE_FLAGS): Likewise.
119
120         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
121         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
122         override_options instead.
123         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
124         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
125         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
126         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
127         assemblers.
128         Likewise for constructor/destructor handling.
129         (override_options): Handle IRIX O32 assembler quirks.
130         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
131         without gas.
132         (mips_file_start): Use new TARGET_IRIX.
133         (mips_declare_object_name): No special processing for IRIX O32
134         assembler.
135         (mips_finish_declare_object): Likewise.
136         (irix_asm_output_align): Renamed from iris6_asm_output_align.
137         Don't record alignment for O32 ABI.
138         (irix_file_start): Renamed from iris6_file_start.
139         Return early for O32 ABI.
140         (irix_file_end): Renamed from iris6_file_end.
141         Don't emit .section directives for O32 ABI.
142         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
143         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
144
145         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
146         (MULTILIB_OSDIRNAMES): Likewise.
147
148 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
149
150         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
151         (main): Use it.
152         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
153
154 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
155
156         * arm-modes.def (CC_Nmode): New condition code mode.
157         * arm.c (thumb_condition_code): Delete.
158         (arm_select_cc_mode): Handle single-bit test for Thumb.
159         (arm_print_operand, cases 'd' and 'D'): Don't special case the 
160         condition code logic for Thumb.
161         (get_arm_condition_code): Handle CC_Nmode.
162         (thumb_cbrch_target_operand): New function.
163         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
164         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
165         * arm.md: Add Thumb split patterns for zero_extract and
166         sign_extract.
167         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
168         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
169         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
170         (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
171         (cbranchne_decr1): Re-work to use CC_Nmode.
172
173         * arm.c (thumb_expand_epilogue): Add clobbers of registers restored 
174         by the return instruction.  Add a use of the link register if it
175         wasn't stored.
176
177 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
178
179         * flow.c (init_propagate_block_info): Don't abort if a conditional
180         jump is not a comparison of a register.  Instead, just don't record
181         conditional life information.
182
183 2003-10-16  Jan Hubicka  <jh@suse.cz>
184
185         PR optimization/12630
186         * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
187         for operands 7 and 8.
188
189 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
190
191         * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
192
193 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
194
195         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
196
197         * config/i386/winnt.c (gen_stdcall_suffix): Make static
198         (gen_fastcall_suffix): Likewise.
199         (i386_pe_dllexport_p): Likewise.
200         (i386_pe_dllimport_p): Likewise.
201         (i386_pe_mark_dllexport): Likewise.
202         (i386_pe_mark_dllimport): Likewise.
203         (i386_pe_asm_named_section): Fix formatting.
204
205 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
206
207         * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
208         * system.h: Declare snprintf if necessary.
209         * configure, config.in: Regenerate.
210
211 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
212
213         * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
214         arguments if TARGET_ALTIVEC_ABI.
215
216 2003-10-15  Roger Sayle  <roger@eyesopen.com>
217
218         * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
219         fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
220         fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
221         New functions.
222         (expand_builtin_memcpy): Use integer_zerop instead of testing
223         host_integerp and tree_low_cst directly.  Move misapplied hunk
224         for optimization wher SRC and DEST point to the same location.
225         (expand_builtin_mempcpy): From here.
226         (expand_builtin_memmove): Use integer_zerop instead of testing
227         host_integerp and tree_low_cst_directly.
228         (expand_builtin_memset): Likewise.
229         (expand_builtin_memcmp): Likewise (and for integer_onep).
230         (expand_builtin_strncmp): Likewise.
231         (fold_builtin): Call the appropriate fold_builtin_foo functions
232         to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
233         strcmp and strncmp.
234
235 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
236
237         * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
238         prototype.  Clean up some whitespace.
239         * config/darwin.c: Use gen_rtx_FOO (...) rather than
240         gen_rtx (FOO, ...).
241         (machopic_non_lazy_ptr_name): Make static.
242         (name_needs_quotes): Allow '.' and '$' unquoted.
243         (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
244         case.
245
246 2003-10-15  Gábor Lóki  <alga@rgai.hu>
247
248         * fold-const.c (tree_swap_operands_p): Disable some features
249         when optimizing for size.
250
251 2003-10-15  David Daney  <ddaney@avtrex.com>
252
253         * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
254         * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
255         from leaf functions.
256         (DWARF_FRAME_RETURN_COLUMN): Ditto.
257         (SIGNAL_UNWIND_RETURN_COLUMN): New, used
258         by MD_FALLBACK_FRAME_STATE_FOR.
259         * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
260
261 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
262
263         * genmodes.c: Include hashtab.h.
264         (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
265         (adj_bytesize, adj_alignment, adj_format, new_adjust)
266         (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
267         (print_maybe_const_decl, emit_mode_adjustments): New.
268         (known_modes): Rename to modes.
269         (find_mode): Kill class argument; look up in hash table.
270         (new_mode): Insert into hash table also.
271         (new_adjust): New.
272         (reset_float_format, make_partial_integer_mode)
273         (make_vector_mode): Tweak error reporting.
274         (reset_float_format): Correct type of fourth argument.
275         (emit_insn_modes_h): Add #defines to help make mode_size,
276         mode_base_align, and real_format_for_mode conditionally const.
277         (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
278         (emit_real_format_for_mode): Likewise, but temporarily disabled.
279         (emit_insn_modes_c): Call emit_mode_adjustments.
280         (main): Initialize modes_by_name.
281         * Makefile.in: Update dependencies.
282         * machmode.def: Document EXPR arguments and new ADJUST_* statements.
283         * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
284         declarations of mode_size and mode_base_align.  Declare
285         init_adjust_machine_modes.
286         * toplev.c (backend_init): Call init_adjust_machine_modes.
287
288 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
289
290         * genmodes.c (calc_wider_mode): Allocate enough room for all the
291         entries we'll possibly assign in the sort buffer.
292
293 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
294
295         * config.gcc (s390x-ibm-tpf*): New target.
296         * doc/install.texi: Document it.
297         * config/s390/t-tpf: New file.
298         * config/s390/tpf.h: New file.
299
300 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
301
302         PR target/12598
303         * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
304         (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
305         Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
306         ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
307         (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
308         (define_split "*mov_sidesi_mem"+28, +29, +30): Use
309         replace_equiv_address, not gen_rtx_MEM.
310         * config/cris/cris.c (cris_mem_op): New match_operator function.
311         (cris_notice_update_cc): Use replace_equiv_address, not
312         gen_rtx_MEM.
313         * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
314
315 2003-10-15  Bernardo Innocenti <bernie@develer.com>
316
317         * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
318         MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
319         definitions after the other flags.
320
321 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
322
323         * c-parse.in (methoddef, methodproto): Call objc_add_method()
324         instead of add_method().
325         * objc/objc-act.c (objc_check_decl): Do not check for
326         constant_string_type.
327         (add_method): Rename to objc_add_method().
328         (really_start_method): Call objc_add_method() instead of
329         add_method().
330         * objc/objc-act.h (add_method): Rename to objc_add_method().
331
332 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
333
334         * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
335         (s390_slb_comparison): Likewise.
336         * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
337         New functions.
338         * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
339         and s390_slb_comparison.
340         * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
341         zSeries machines.
342         ("*adddi3_31z", "*subdi3_31z"): New insns.
343         ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
344         "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
345         New insns.
346
347 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
348
349         * configure.in: Clean up some feedback echoes.
350         * configure: Regenerate.
351
352         * aclocal.m4: Properly quote names of macros being defined.
353
354         * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
355
356 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
357
358         * config/ia64/ia64.c (ia64_expand_call): Force function address
359         to DImode.
360         * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
361
362 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
363
364         * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
365         "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
366         ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
367         "*divsf3_ibm"): Likewise.
368
369 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
370
371         * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
372         target_alias with target_noncanonical.
373
374 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
375
376         * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
377         and add case for machines where outgoing register parameters
378         get stack space.
379
380         * config/darwin.c (machopic_indirect_data_reference): Use a scratch
381         register when generating indirect address.
382
383 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
384
385         * arm.c (arm_addimm_operand): MODE arguemnt is unused.
386         * arm.md (cbranchne_decr1): Fix bootstrap warning.
387
388 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
389
390         * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
391         * fixinc/fixincl.x: Regenerate.
392         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
393         testcase.
394         Fixes PR bootstrap/9330.
395
396 2003-10-13  Eric Christopher  <echristo@redhat.com>
397
398         * config/frv/frv.c (frv_adjust_field_align): Redo check for
399         too wide bitfields.
400         (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
401         * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
402         (SBSS_SECTION_ASM_OP): Remove.
403         (EXTRA_SECTIONS): Remove in_sbss.
404         (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
405         (SBSS_SECTION_FUNCTION, sbss_section): Remove.
406         (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
407         named_section.
408
409 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
410
411         * Makefile.in, configure.in, config.host, mkheaders.in: Replace
412         uses of ${target_alias} for directory names (and other places which
413         won't like the empty string) with ${target_noncanonical}.  Introduce
414         call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
415         available.
416         * configure: Regenerate.
417
418 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
419
420         * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
421         * config/arm/arm.md: For splits which rely on conditional moves,
422         remove ! TARGET_IWMMXT condition.
423
424 2003-10-13  David S. Miller  <davem@redhat.com>
425
426         * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
427         (find_cond_trap): Always increment if we emit a conditional
428         trap insn.
429
430 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
431
432         * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
433         with min-insn-modes.o.
434         (STAGESTUFF): Add min-insn-modes.c.
435         (genobjs): Add genmodes.o.
436         (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
437         (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
438         (min-insn-modes.c, min-insn-modes.o): New rules.
439         (s-modes): Also generate min-insn-modes.c.
440         ($(BUILD_PREFIX_1)insn-modes.o): Kill.
441         * genmodes.c (struct mode_data): Add format field.
442         (blank_mode, validate_mode, complete_mode): Update to match.
443         (make_scalar_mode): Separate into make_int_mode and make_float_mode.
444         (_SCALAR_MODE): Kill.
445         (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
446         (emit_insn_modes_c_header): Adjust.
447         (emit_min_insn_modes_c_header, emit_real_format_for_mode)
448         (emit_min_insn_modes_c): New functions.
449         (emit_insn_modes_c): Call emit_real_format_for_mode.
450         (main): Add -m option to generate min-insn-modes.c.
451         * machmode.h: Update documentation.  Add format argument to
452         all uses of FLOAT_MODE.
453         * real.c: Don't define real_format_for_mode here.
454
455         * dwarfout.c: Move default definition of PRINT_REG...
456         * defaults.h: ...here.
457         * print-rtl.c: Include tm_p.h.
458         (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
459         Kill.
460         (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
461         this entire block with #ifndef GENERATOR_FILE.
462         * regclass.c: Unconditionally define reg_names.
463         * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
464         Don't define DEBUG_REGISTER_NAMES.
465         * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
466         redefinition of REGISTER_NAMES.
467         * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
468
469         * combine.c: Change all preprocessor conditionals on
470         EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
471         for clarity.
472         * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
473         * configure.in: Don't define EXTRA_CC_MODES.
474         * configure, config.in: Regenerate.
475         * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
476
477         * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
478         May assume that GET_MODE_CLASS is accurate for extra CC modes
479         at all times.
480
481         * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
482         number of arguments to aggregate_value_p.
483
484         * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
485         * machmode.def: Explain ARCH-modes.def.  Document
486         RESET_FLOAT_FORMAT.  Improve commentary on various mode
487         clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
488         XF, or TF modes here.  Remove backward-compatibility
489         definition of CC.
490
491         * config/alpha/alpha-modes.def: New file; define TF mode.
492         * config/arc/arm-modes.def: Define XF mode.
493         * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
494         float format for SF and DF modes.
495         * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
496         * config/i386/i386-modes.def: Define XF and TF modes.
497         * config/i960/i960-modes.def: Define TF mode.
498         * config/ia64/ia64-modes.def: Define TF and OI modes.
499         * config/m68k/m68k-modes.def: New file; define XF mode.
500         * config/mips/mips-modes.def: New file; define TF mode, reset
501         formats for SF and DF modes.
502         * config/pa/pa-modes.def: Define TF mode.
503         * config/rs6000/rs6000.c: Define TF and PSI modes.
504         * config/s390/s390-modes.def: Define OI mode.
505         * config/sh/sh-modes.def: New file; define PSI mode.
506         * config/sparc/sparc-modes.def: Define TF mode.
507         * config/vax/vax-modes.def: New file; reset formats for SF and
508         DF modes.
509
510         * config/c4x/c4x.c (c4x_override_options): No need to mess
511         with real_format_for_mode or set REAL_MODE_FORMATs.
512         (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
513         variable.
514         * config/i386/i386.c (override_options): No need to set
515         REAL_MODE_FORMATs here.
516         * config/i960/i960.c (i960_initialize): Likewise.
517         * config/m68k/m68k.c (m68k_override_options): Likewise.
518         * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
519         for TFmode only if not the default.
520         * config/mips/mips.c (override_options): Likewise.
521         * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
522         DFmode only if not the default.
523
524         * config/i370/i370.h (RET_REG): Don't consider TFmode.
525         * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
526         * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
527         of modes that don't appear anywhere in the machine description.
528
529         * config/arc/arc-modes.def, config/arm/arm-modes.def
530         * config/c4x/c4x-modes.def, config/frv/frv-modes.def
531         * config/i386/i386-modes.def, config/i960/i960-modes.def
532         * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
533         * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
534         * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
535         * config/sparc/sparc-modes.def: Convert to new style for
536         declaring extra CC modes.
537
538 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
539
540         * cpplex.c (_cpp_clean_line): In the common case of a line
541         with no trigraphs and no \-newline, avoid writing to memory.
542         (_cpp_skip_block_comment): Use a local 'cur' pointer instead
543         of the buffer member.  Make c an uchar to avoid unnecessary
544         sign extensions.
545
546 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
547
548         * configure.in: Remove unnecessary test.
549         * configure: Regenerate.
550
551         * configure.in: Fix grammatical error.  Move UWIN host error to...
552         * config.host: Here.
553         * configure: Regenerate.
554
555 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
556
557         * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
558         "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
559         of flag_unsafe_math_optimizations.
560         * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
561         "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
562         fused-madd and no-fused-madd.
563         * doc/invoke.texi: Documented the new options fused-madd and
564         no-fused-madd for S/390.
565
566 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
567
568         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
569         MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
570         assign DEFAULT_ABI.
571         (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
572         * config/rs6000/rs6000.c: Formatting.
573         (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
574         when rs6000_alignment_string given.
575
576 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
577
578         PR target/12538
579         * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
580         (sparc_flat_must_save_register_p): New function to decide whether
581         a register must be saved/restored in the function prologue/epilogue.
582         (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
583
584 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
585
586         * config/avr/avr.c, config/avr/avr-protos.h: Convert to
587         ISO C90 function declarations and definitions.
588         * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
589
590 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
591
592         * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
593         config files which do the same thing.
594         * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
595         config/freebsd6.h: Remove now unnecessary files.
596
597 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
598
599         * c-common.c (c_common_truthvalue_conversion): Warn if the
600         address of a non-weak function is used as a truth value.
601
602 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
603
604         * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
605         a literal.
606         * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
607         instead of a literal.
608
609 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
610
611         * doc/extend.texi (Function Attributes): Mention the exceptional
612         path for noreturn-marked functions.
613
614 2003-10-12  Jan Hubicka  <jh@suse.cz>
615
616         * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
617         warning.
618
619 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
620
621         * config/i386/i386.c (x86_this_parameter): Fix typo.
622
623 2003-10-11  Jan Hubicka  <jh@suse.cz>
624
625         * Makefile.in (web.o): New.
626         * web.c: New file.
627         * rtl.h (web_main): Declare.
628         * timervar.def (TV_WEB): New.
629         * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
630         (rest_of_hanle_web): New.
631         (flag_web): New static variable.
632         (lang_independent_options): Add "web".
633         (rest_of_compilation): Call rest_of_handle_web.
634         * invoke.texi (-fweb): Document.
635         * common.opt (fweb): New.
636         * flags.h (flag_web): New.
637         * opts.c (decode_options): Set flag_web at -O3.
638
639         * passes.texi (web construction):  Document.
640         * invoke.texi (-O3): Document that -fweb is enabled.
641
642         * regrename.c (regrename_optimize): Deal better with situation when
643         replacement failed.
644
645         * sched-ebb.c: Include params.h and profile.h
646         (schedule_ebbs):  Use tracer parameters to discover superblocks
647         * Makefile.in (sched-ebb.o):  Add dependencies.
648
649 2003-10-11  Roger Sayle  <roger@eyesopen.com>
650
651         * fold-const.c (negate_mathfn_p): New function to determine whether
652         a built-in mathematical function is sign preserving, f(-x) == -f(x).
653         Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
654         (tree_swap_operands_p): Change API to take an additional argument
655         indicating that the swapped operands evaluate in reverse order.
656         Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
657         operand side-effects or we don't care about flag_evaluation_order.
658         (reorder_operands_p): New function to check whether its safe to
659         evaluate the given operands in reverse order.
660         (negate_expr_p):  We can always negate integer constants unless
661         we honor -ftrapv and the signed type would overflow.  Only allow
662         -(A-B) into B-A if reorder_operands_p says that its OK.  Allow
663         negation of COMPLEX_CST if both real and imaginary parts can be
664         negated.  Allow negation through floating point extensions and
665         sign-preserving built-in functions.
666         (negate_expr):  Move the code to negate integers from "fold" to
667         here.  Always negate integer constants unless we honor -ftrapv
668         and the signed type would overflow.  Always negate real constants
669         unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
670         if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
671         Optimize negation through floating point extensions and
672         sign-preserving built-in functions (as defined by negate_mathfn_p).
673         (fold): Adjust calls to tree_swap_operands_p.
674         (fold <NEGATE_EXPR>): Move the remaining negation optimizations
675         to negate_expr_p/negate_expr.
676         (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
677         allowed to convert (-A) - B into (-B) - A.
678
679 2003-10-11  Roger Sayle  <roger@eyesopen.com>
680
681         * builtins.c (expand_builtin_strcmp): Defend against the possibility
682         that gen_cmpstrsi may fail: Stabilize the argument list against
683         re-evaluation and expand the library call directly using this saved
684         argument list if a cmpstrsi sequence can't be generated.
685         (expand_builtin_strncmp): Likewise.
686
687         * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
688
689 2003-10-11  Roger Sayle  <roger@eyesopen.com>
690
691         PR optimization/12260
692         * simplify-rtx.c (simplify_unary_operation): Simplify all unary
693         operations through CONST nodes.  Optimize (neg (plus X C)) as
694         (minus -C X) for constant values C.
695         (simplify_binary_operation): Optimize (minus (neg X) C) as
696         (minus -C X) for constant values C.
697         (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
698         instead create (minus -C X).
699
700 2003-10-11  Roger Sayle  <roger@eyesopen.com>
701
702         * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
703         safe_from_p for us, once it chooses an evaluation order.
704         (expand_expr <MULT_EXPR>): Likewise.
705         (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
706         places the second operand in "target", swap the operands.
707         (do_store_flag): Let expand_operands call safe_from_p for us.
708
709 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
710
711         PR optimization/12544
712         * function.c (put_var_into_stack): Don't generate ADDRESSOFs
713         for DECL_NONLOCAL decls.
714
715 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
716
717         * expr.c: Follow spelling conventions.
718         * final.c: Likewise.
719         * optabs.c: Likewise.
720         * sched-deps.c: Likewise.
721         * sdbout.c: Likewise.
722
723 Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
724
725         * varasm.c (notice_global_symbol):  Fix handling of variables; avoid
726         re-computing of variable.
727
728 2003-10-11  Richard Henderson  <rth@redhat.com>
729
730         * config/alpha/alpha.c (alpha_return_in_memory): Rename from
731         return_in_memory, make static, change signature to match target hook.
732         (alpha_setup_incoming_varargs): Make static, change signature to
733         match target hook, add code for vms and unicos.
734         (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
735         TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
736         TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
737         TARGET_STRICT_ARGUMENT_NAMING,
738         TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
739         * config/alpha/alpha-protos.h: Update.
740         * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
741         PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
742         SETUP_INCOMING_VARARGS): Remove.
743         * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
744         * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
745
746 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
747
748         * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
749
750 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
751
752         * config/m68k/lb1sf68.asm: Follow spelling conventions.
753         * config/m68k/m68k.c: Likewise.
754         * config/m68k/m68k.h: Likewise.
755         * config/m68k/m68k.md: Likewise.
756
757 2003-10-11  Roger Sayle  <roger@eyesopen.com>
758
759         * builtins.c (expand_builtin_memcpy): Optimize case when the two
760         pointer arguments are the equal, non-volatile and side-effect free.
761         (expand_builtin_mempcpy): Likewise.
762         (expand_builtin_memmove): Likewise.
763         (expand_builtin_strcpy): Likewise.
764         (expand_builtin_memcmp): Likewise.
765         (expand_builtin_strcmp): Likewise.
766         (expand_builtin_strncmp): Likewise.
767
768 2003-10-11  Roger Sayle  <roger@eyesopen.com>
769
770         * combine.c (apply_distributive_law): Enable "distributive" floating
771         point optimizations with -funsafe-math-optimizations.
772
773 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
774
775         * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
776
777 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
778
779         * config/m68k/m68k-protos.h: Remove the prototype for
780         finalize_pic.
781
782 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
783
784         * config/m68k/m68k.c: Fix comment typos.
785
786 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
787
788         * config/m68k/m68k-protos.h (use_return_insn): Change return type from
789         int to bool.
790         * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
791         (current_frame): New global var.
792         (m68k_compute_frame_layout): Cache computations in current_frame.
793         (m68k_initial_elimination_offset): Use values from current_frame
794         instead of recomputing them.
795         (use_return_insn): Likewise.
796         (m68k_output_function_prologue): Likewise.
797         (m68k_output_function_epilogue): Likewise.
798         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
799         inside the block for __pic__.
800
801 2003-10-11  Peter Barada <peter@baradas.org>
802             Bernardo Innocenti  <bernie@develer.com>
803
804         * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
805         (m68k_save_reg): Add boolean parameter `interrupt_handler'.
806         (m68k_interrupt_function_p): New function.
807         (m68k_handle_fndecl_attribute): Ditto.
808         (m68k_compute_frame_layout): Ditto.
809         (m68k_attribute_table): Define back-end specific attributes.
810         (m68k_output_function_epilogue): Emit RTE instruction for interrupt
811         functions.
812
813 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
814
815         * config/m68k/t-uclinux: New target Makefile fragment.
816         * config/m68k/uclinux.h: New target macro file.
817         * config.gcc (m68k-*-uclinux): New target definition.
818
819 2003-10-10  Roger Sayle  <roger@eyesopen.com>
820
821         * builtins.c (builtin_mathfn_code): Generalize to check whether
822         the call is to any built-in function by comparing the call's
823         argument list against the builtin decl's function type.
824
825 2003-10-10  Roger Sayle  <roger@eyesopen.com>
826
827         * cse.c (constant_pool_entries_regcost): New global variable to
828         hold the register cost component of constant_pool_entries_cost.
829         (fold_rtx): Calculate constant_pool_entries_regcost at the same
830         time as constant_pool_entries_cost.
831         (cse_insn): Set both src_folded_cost and src_folded_regcost from
832         constant_pool_entries_cost and constant_pool_entries_regcost.
833         (cse_main): Initialize constant_pool_entries_regcost to zero.
834
835         * optabs.c (expand_unop): Attach a REG_EQUAL note describing
836         the semantics of the sequence of bit operations used to negate
837         a floating-point value.
838         (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
839         the semantics of the bit operations used to abs a floating point
840         value.
841
842 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
843             Paul Dale  <pauli@snapgear.com>
844
845         * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
846         support.
847         * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
848         -fpic, -fPIC, -msep-data and -mid-shared-library.
849         * config/m68k/m68k.c (m68k_library_id_string): New global variable.
850         (override_options): Add -msep-data and -mshared-library-id support.
851         (m68k_output_function_prologue): Generate code to load A5 for
852         TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
853         (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
854         (m68k_output_pic_call): New function.
855         * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
856         (TARGET_ID_SHARED_LIBRARY): Ditto.
857         (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
858         * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
859         (call_value): Likewise.
860
861 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
862
863         * gengenrtl.c (find_formats, genheader): Make i an unsigned
864         int, remove cast of NUM_RTX_CODE.
865         * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
866         entire file.  Remove the #ifs on GET_MODE_MASK etc and
867         GET_MODE_WIDER_MODE etc.
868
869 2003-10-10  Eric Christopher  <echristo@redhat.com>
870
871         * lcm.c (optimize_mode_switching): Change NORMAL_MODE
872         to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
873         that set mode.
874         * config/sh/sh.h (MODE_ENTRY): New macro.
875         (MODE_EXIT): Ditto.
876         (MODE_AFTER): Ditto.
877         * config/sh/sh.md: Change for MODE_AFTER. Add
878         fp_set attribute.
879         * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
880
881 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
882
883         * genmodes.c, mode-classes.def: New files.
884         * machmode.def: Rewritten to genmodes.c interface.
885         * Makefile.in (extra_modes_file): New substitution variable.
886         (MACHMODE_H): No longer includes machmode.def or
887         @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
888         (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
889         (OBJS-common): Add insn-modes.o.
890         (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
891         genmodes$(build_exeext).
892         (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
893         genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
894         (s-genrtl): Don't depend on $(RTL_BASE_H).
895         (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
896         or $(RTL_BASE_H); just rtl.def.
897         * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
898         real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
899         substitute definition of NUM_RTX_CODE.  Add casts to avoid
900         warnings.
901         * machmode.h: Include insn-modes.h, not machmode.def.  Include
902         mode-classes.def to define enum mode_class.  Tweak definitions
903         of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
904         GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
905         (inner_mode_array): Renamed mode_inner.
906         (mode_base_align): New.
907         * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
908         mode_unit_size, mode_wider_mode, mode_mask_array,
909         inner_mode_array, class_narrowest_mode): Delete definitions.
910         * stor-layout.c (get_mode_alignment): Use mode_base_align.
911         * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
912         and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
913
914         * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
915         No need to define BITS_PER_UNIT.
916
917 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
918
919         * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
920         (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
921         (ia64_initialize_trampoline): If not using GAS, declare trampoline
922         as global.
923         * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
924         (ASM_OUTPUT_DEBUG_LABEL): Likewise.
925
926         * stor-layout.c (compute_record_mode): Don't force BLKmode if
927         field is zero-length BLKmode.
928         * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
929         zero-size references.
930
931         * combine.c (distribute_links): Properly test for REG being set.
932
933         * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
934         gen_lowpart and company except for REG.
935
936 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
937
938         * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
939
940 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
941
942         * config.gcc (mips*-*-netbsd*): Remove content-free line.
943
944 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
945
946         * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
947         gcov_position_t and gcov_type.
948
949 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
950
951         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
952         * configure: Regenerate.
953
954 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
955
956         * config/h8300/h8300.md (define_asm_attributes): Specify
957         the length of an asm insn more precisely.
958
959 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
960
961         * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
962
963 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
964
965         * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
966         FP register number to 48 and MAC16 accumulator to 0x210.
967
968 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
969
970         * config.gcc: Remove redundant thread_file setting clauses for
971         various *-*-linux* targets.
972
973 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
974
975         * config/h8300/h8300.md (define_asm_attributes): New.
976
977 2003-10-09  Roger Sayle  <roger@eyesopen.com>
978
979         * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
980         to the comparison, as emit_libcall_block calls copy_rtx on equiv.
981
982 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
983
984         * haifa-sched.c (ok_for_early_schedule): New function.
985         (early_queue_to_ready): New function.
986         (schedule_block): Allow early removal of insns from Q.
987         (schedule_insn): Update INSN_TICK in case of premature
988         issue.
989         * common.opt (sched_stalled_insns): New flag.
990         (sched_stalled_insns_dep): New flag.
991         * flags.h: Same above flags.
992         * opts.c: Same as above.
993         * toplev.c: Same as above.
994         * target.h (targetm.sched.is_costly_dependence): New
995         hook.
996         * target-def.h: Same as above.
997         * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
998         Support new flag -msched-costly-dep.
999         (DEFAULT_SCHED_COSTLY_DEP): Define.
1000         * config/rs6000/rs6000.c:
1001         (rs6000_is_costly_dependence): New function.
1002         (is_load_insn, is_store_insn): New functions.
1003         (is_load_insn1, is_store_insn1, is_mem_ref): New
1004         functions.
1005         * doc/invoke.texi (-fsched-stalled-insns-dep)
1006         (-fsched-stalled-insns, -msched-costly-dep): Document
1007         options.
1008         * doc/tm.texi (is_costly_dependence): Define new
1009         scheduler target hook.
1010
1011 2003-10-09  Jason Merrill  <jason@redhat.com>
1012
1013         PR c++/6392
1014         * c-common.c (c_build_qualified_type): Look through arrays first.
1015         (c_apply_type_quals_to_decl): Look through arrays.
1016
1017         * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
1018         types with constructors.
1019
1020         * coverage.c (build_ctr_info_value): Use build_decl to make a
1021         VAR_DECL.
1022         (create_coverage): Likewise.
1023
1024         * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
1025         here.
1026         (expand_asm_operands): Not here.
1027         (parse_input_constraint): No longer static.
1028         * tree.h: Declare it.
1029
1030 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
1031
1032         * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
1033         libgcc_s.so.
1034         (SHLIB_INSTALL): Likewise.
1035
1036 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1037
1038         * doc/install.texi: Remove reference to removed 'pthreads' thread
1039         option.
1040
1041 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
1042
1043         * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
1044         operand 2.
1045
1046 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
1047
1048         * config.gcc: Don't accept --enable-threads=pthreads.  Clean
1049         up related case statements.
1050         * configure.in: Don't accept --enable-threads=pthreads,
1051         decosf1, mach, or os2 (none of which work anyway).  Alphabetize
1052         supported thread files in case clause.
1053         * configure: Regenerate.
1054
1055 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
1056
1057         * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
1058         definition to above SPARC_STACK_BOUNDARY_HACK.
1059
1060 2003-10-08  Jason Merrill  <jason@redhat.com>
1061
1062         * c-pretty-print.c (pp_c_postfix_expression)
1063         <COMPOUND_LITERAL_EXPR>: Fix thinko.
1064
1065 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1066
1067         * mklibgcc.in: Don't hide undefined or typeless symbols.
1068
1069 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1070
1071         PR optimization/12142
1072         * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
1073         uses of the register in the SET_SRC.  Remove unnecessary argument.
1074         * pa.c (legitimize_pic_address): Before reload, use a scratch register
1075         for the intermediate result in loading the address of a SYMBOL_REF.
1076         Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
1077         which loads the SYMBOL_REF address.
1078
1079 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
1080             Eric Botcazou  <ebotcazou@libertysurf.fr>
1081
1082         PR bootstrap/12490
1083         * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
1084         to define the size of the extern_C_braces array.  Set it to 200.
1085         (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
1086
1087 2003-10-08  Carlo Wood  <carlo@alinoe.com>
1088
1089         * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
1090         a space after the -o option.  flex 2.5.31 understands both, with
1091         and without the space. Removed that space.
1092
1093 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
1094
1095         * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
1096         (compute_frame_size): Initialize it.  Remove the .cprestore slot
1097         from args_size.
1098         (mips_output_function_prologue): Simplify accordingly.
1099         (mips_debugger_offset): Change the mips16 frame pointer offset from
1100         current_function_outgoing_args to cfun->machine->frame.args_size.
1101         (mips_initial_elimination_offset): Likewise.
1102         (mips_expand_prologue): Likewise.
1103         (mips_expand_epilogue): Likewise.
1104
1105 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
1106
1107         * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
1108         (EXTRA_MEMORY_CONSTRAINT): Define.
1109         (CAN_ELIMINATE): Remove lwu workaround.
1110         * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
1111         Use a 'W' constraint for the source operand.
1112
1113 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
1114
1115         * genopinit.c (main): Output code to declare undefined
1116         variables.
1117
1118 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
1119
1120         * gengtype-lex.l: Remove -Wtraditional cruft.
1121         * Makefile.in (gengtype-lex.c): Likewise.
1122
1123 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1124
1125         * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
1126
1127 2003-10-07  Jason Merrill  <jason@redhat.com>
1128
1129         PR c++/12519
1130         * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
1131         it isn't a decl.
1132
1133 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
1134
1135         * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
1136         not overridden.
1137         Fixes PR bootstrap/12173.
1138
1139 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
1140
1141         * errors.c: Don't include coretypes.h or tm.h.
1142         (trim_filename): Use IS_DIR_SEPARATOR.
1143         * Makefile.in: Update dependencies of errors.o and
1144         $(BUILD_PREFIX_1)errors.o.
1145
1146 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
1147
1148         * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
1149         account when aligning arguments.
1150         * calls.c (STACK_POINTER_OFFSET): Move default from here ...
1151         * defaults.h (STACK_POINTER_OFFSET): ... to here.
1152         * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
1153         it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
1154         (SPARC_STACK_BOUNDARY_HACK): Define.
1155         * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
1156         arrange for vector parameters to varargs functions to be passed
1157         in both memory and GPRs when appropriate.
1158         (rs6000_va_arg): Vector arguments passed in memory are 16-byte
1159         aligned.
1160
1161         * hooks.c (hook_bool_tree_true): New.
1162         (hook_rtx_tree_int_null): New.
1163         (hook_rtx_rtx_null): Use NULL, not 0.
1164         * hooks.h: Add 'extern' to everything.
1165         (hook_bool_tree_true): New.
1166         (hook_rtx_tree_int_null): New.
1167         * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
1168         * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
1169         * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
1170         prototype.
1171         * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
1172         (setup_incoming_varargs): Prototype.
1173         (TARGET_PROMOTE_FUNCTION_ARGS): Define.
1174         (TARGET_PROMOTE_FUNCTION_RETURN): Define.
1175         (TARGET_STRUCT_VALUE_RTX): Define.
1176         (TARGET_RETURN_IN_MEMORY): Define.
1177         (TARGET_SETUP_INCOMING_VARARGS): Define.
1178         (TARGET_STRICT_ARGUMENT_NAMING): Define.
1179         (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
1180         (init_cumulative_args): Use rs6000_return_in_memory.
1181         (setup_incoming_varargs): Make 'static'.
1182         * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
1183         (PROMOTE_FUNCTION_RETURN): Delete.
1184         (STRUCT_VALUE): Delete.
1185         (RETURN_IN_MEMORY): Delete.
1186         (SETUP_INCOMING_VARARGS): Delete.
1187
1188 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
1189
1190         * doc/invoke.texi (Warning Options): Simplify and clarify the
1191         descriptions of -Wnonnull and -Winit-self.
1192
1193 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
1194
1195         * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
1196         indicees for floating-point conversersion libcalls.
1197
1198 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1199
1200         * Makefile.in: Add more comments separating large conceptually
1201         separate sections.
1202
1203         * configure.in: Clean up thread file logic.
1204         * configure: Regenerate.
1205
1206 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
1207
1208         * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
1209         (switch_to_section): Handle in_readonly_data.
1210         * config/i386/winnt.c (i386_pe_asm_named_section): Handle
1211         readonly data.
1212
1213 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
1214
1215         * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
1216         it.
1217         (cbranchne_decr1): New Thumb pattern.
1218         * arm.c (arm_addimm_operand): New insn predicate.
1219         * arm-protos.h: Add a prototype for it.
1220         * arm.h (PREDICATE_CODES): Add it.
1221
1222 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
1223
1224         * sched-int.h (sched_info): New field
1225         sched_max_insns_priority.
1226         * sched-rgn.c (init_ready_list): Add invocations to
1227         targetm.sched.adjust_priority.
1228         (sched_max_insns_priority): Init new field.
1229         * sched-ebb.c (sched_max_insns_priority): Init new field.
1230         * haifa-sched.c (set_priorities): Set
1231         sched_info->sched_max_insns_priority.
1232         * config/rs6000/rs6000.h:
1233         (rs6000_sched_restricted_insns_priority_str): Support new
1234         flag -mprioritize-restricted-insns.
1235         (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
1236         * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
1237         function.
1238         (rs6000_adjust_priority): Change priority of restricted
1239         insns, using above new function and new flag.
1240         * doc/invoke.texi (-mprioritize-restricted-insns): Document
1241         new option.
1242
1243 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
1244
1245         * expr.c (cmpstr_optab, cmpmem_optab): New.
1246         * genopinit.c: Initialize them.
1247         * optabs.h: Declare them.
1248         * optabs.c (init_optabs): Clear them.
1249         (prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
1250         block memory compare insns, not conditional chains.  Restructure
1251         the fallback generation of a call to memcmp/bcmp for better
1252         readability.
1253
1254 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
1255
1256         * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
1257         (mips_save_restore_fn): New typedef.
1258         (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
1259         (mips_set_frame_expr, mips_frame_set): Move above prologue code.
1260         (save_restore_insns): Remove, replacing with...
1261         (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
1262         (mips_save_reg, mips_restore_reg): New function.
1263         (mips_expand_prologue, mips_expand_epilogue): Rework.
1264         * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
1265         (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
1266         (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
1267
1268 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
1269
1270         * config/mips/mips.c (mips_expand_prologue): Remove unused
1271         traversal of function arguments.
1272
1273 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
1274
1275         * doc/invoke.texi: Remove documentation of -mentry.
1276         * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
1277         (override_options, mips_save_reg_p): Remove handling.
1278         (compute_frame_size, mips_output_function_prologue): Likewise.
1279         (mips_expand_prologue, mips_expand_epilogue): Likewise.
1280         * config/mips/mips.h (mips_entry_string): Remove declaration.
1281         (TARGET_OPTIONS): Remove -mentry.
1282         * config/mips/mips16.S: Remove mention of -mentry.
1283
1284 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
1285
1286         * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
1287         (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
1288         (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
1289         (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
1290         (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
1291         (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
1292         (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
1293         (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
1294         (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
1295         (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
1296         (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
1297         (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
1298         (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
1299         (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
1300         (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
1301         (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
1302         (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
1303         (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
1304         (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
1305         (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
1306         (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
1307         (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
1308         (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
1309         (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
1310         (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
1311         (fixunstfti_libfunc): Delete.
1312         * optabs.h (struct optab_handlers): Break out of struct optab.
1313         (struct convert_optab, convert_optab, enum convert_optab_index,
1314         convert_optab_table, sext_optab, zext_optab, trunc_optab,
1315         sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
1316         sfloat_optab, ufloat_optab): New.
1317         (set_conv_libfunc): Prototype.
1318         (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
1319         (trunc_optab): Renamed btrunc_optab.
1320         * builtins.c (expand_builtin_mathfn): Update to match.
1321         * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
1322         (convert_optab_table, new_convert_optab, init_convert_optab)
1323         (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
1324         (set_conv_libfunc): New.
1325         (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
1326         (expand_float, expand_fix): Use new conversion optabs,
1327         not old insn code tables or long chains of ifs.
1328         (init_optabs): No need to clear old insn code tables.
1329         Initialize the new optabs, not the old libfunc array entries.
1330         Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
1331         * genopinit.c: Initialize conversion optabs, not the
1332         former insn code tables.  Remove unnecessary casts.
1333         Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
1334         * expr.c (convert_move): Remove redundant check that
1335         to_real==from_real.  Use the conversion optabs instead
1336         of long chains of tests of modes.  Move partial-integer-mode
1337         interconversion above all integer conversion.  Do not recurse
1338         on a value forced into a register in the original mode.
1339
1340         * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
1341         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
1342         * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
1343         in new conversion optabs; do not reference the old libfunc
1344         array entries.  No need to include libfuncs.h.
1345
1346 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1347
1348         * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
1349         point comparison sequence with a REG_EQUAL note that describes
1350         the comparison's semantics.
1351
1352 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1353
1354         * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
1355         of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
1356
1357 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1358             Zack Weinberg  <zack@codesourcery.com>
1359
1360         * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
1361         instruction by using LCT_CONST and then calling emit_libcall_block
1362         ourselves.
1363
1364 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1365
1366         PR optimization/11974
1367         * optabs.c (expand_unop): Promote libcall outmode according to
1368         hard_libcall_value.
1369
1370 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
1371
1372         * real.h (REAL_MODE_FORMAT): New macro.
1373         * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
1374         * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
1375         * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
1376         * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
1377         * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
1378         directly to real_format_for_mode array, wherever possible.
1379
1380 2003-10-06  Devang Patel  <dpatel@apple.com>
1381
1382         * dwarf2out.c (is_main_source): Remove variable.
1383         (dwarf2out_start_source_file): Do not check is_main_source.
1384         Do not reset is_main_source.
1385         (dwarf2out_init): Do not initialize is_main_source.
1386
1387 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1388
1389         * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
1390         (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
1391         introduced some multi-line prototypes.
1392         * fixinc/fixincl.x: Regenerate.
1393
1394 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1395
1396         * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
1397         * config/mips/mips.c (stack_operand): New predicate.
1398         * config/mips/mips.md: Use it for the destination of mips16 insns
1399         that store $31.
1400
1401 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1402
1403         * config/mips/mips.md (*lowsi): Renamed from lowsi.
1404         (*lowdi): Likewise lowdi.
1405         (*lowsi_mips16, *lowdi_mips16): New patterns.
1406         * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
1407         mips16 CONSTANT_RELOC handling.
1408         (mips_delegitimize_address): Adjust for new sdata representation.
1409
1410 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1411
1412         * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
1413         skip any remaining register arguments.
1414
1415 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
1416
1417         * reload.c (find_reloads_subreg_address): Use correct offset for
1418         paradoxical MEM subregs on big-endian targets.
1419
1420 2003-10-06  Andrew Haley  <aph@redhat.com>
1421
1422         * tree.c (get_callee_fndecl): Call
1423         lang_hooks.lang_get_callee_fndecl.
1424         * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
1425         (lhd_get_callee_fndecl): New.
1426
1427 2003-10-06  Andrew Pinski  <apinski@apple.com>
1428
1429         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
1430         error in calculating the length of the string.
1431         (machopic_stub_name): Likewise.
1432
1433 2003-10-06  Roger Sayle  <roger@eyesopen.com>
1434
1435         * optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
1436         describing the return value of the comparison libcall to the
1437         REG_RETVAL instruction of the emitted sequence.
1438
1439 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1440
1441         PR optimization/12215
1442         * cse.c (cse_set_around_loop): Emit the move at the beginning
1443         of the next basic block for trapping sets.
1444
1445 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
1446
1447         PR optimization/11637
1448         * combine.c (adjust_for_new_dest): New function to adjust the
1449         notes and LOG_LINKS when the dest of an insn has changed.
1450         (try_combine): Use it when deleting the first insn of a two-insn
1451         parallel or splitting a two-load parallel.
1452
1453 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1454
1455         * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
1456         if TARGET_EXPLICIT_RELOCS.
1457
1458 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
1459
1460         PR bootstrap/12512
1461         * Makefile.in (info): Use double-colon rules.
1462         (dvi): Likewise.
1463         (generated-manpages): Likewise.
1464         * configure.in: Do not create lang.info, lang.dvi, or
1465         lang.generated-manpages hooks.
1466         * configure: Regenerated.
1467         * objc/Make-lang.in (objc.info): Remove.
1468         (objc.dvi): Remove.
1469         (objc.generated-manpages): Remove.
1470         * doc/sourcebuild.texi: Update description of info, dvi, and
1471         generated-manpages hooks.
1472
1473 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
1474
1475         * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
1476
1477 2003-10-05  Andrew Pinski  <apinski@apple.com>
1478
1479         * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
1480         errors in memcpy destinations.
1481         (machopic_stub_name): Likewise.
1482
1483 2003-10-05  Andrew Pinski <apinski@apple.com>
1484
1485         * config/darwin.c (machopic_non_lazy_ptr_name):
1486         Change strcat to memcpy and add length together.
1487         (machopic_stub_name): Likewise.
1488
1489 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
1490
1491         * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
1492         signal trampoline codes.
1493
1494 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
1495
1496         * config/mips/mips.md (*divsf3): Move description of
1497         SB-1 F2 erratum from here to...
1498         (divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
1499         flag_unsafe_math_optimizations is not.
1500
1501 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
1502
1503         * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
1504         TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
1505
1506 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1507
1508         * c-pretty-print.c: Fix comment typos.
1509         * c-pretty-print.h: Likewise.
1510         * calls.c: Likewise.
1511         * cfgloopmanip.c: Likewise.
1512         * cgraphunit.c: Likewise.
1513         * cppfiles.c: Likewise.
1514         * final.c: Likewise.
1515         * function.c: Likewise.
1516         * gcov-io.h: Likewise.
1517         * gcse.c: Likewise.
1518         * genoutput.c: Likewise.
1519         * loop.c: Likewise.
1520         * postreload.c: Likewise.
1521         * reg-stack.c: Likewise.
1522         * regmove.c: Likewise.
1523         * sched-int.h: Likewise.
1524         * sched-rgn.c: Likewise.
1525         * simplify-rtx.c: Likewise.
1526         * tree-inline.c: Likewise.
1527         * config/m68hc11/m68hc11.h: Likewise.
1528         * config/mmix/mmix.c: Likewise.
1529         * config/mn10300/mn10300.md: Likewise.
1530         * config/sh/sh.h: Likewise.
1531
1532 2003-10-05  Richard Henderson  <rth@redhat.com>
1533
1534         * tree-inline.c (remap_type): New.
1535         (remap_decl): Use it.  Remap DECL_SIZE*.
1536         (copy_body_r): Use it.
1537         (walk_tree): Walk TREE_TYPE too.
1538         (copy_tree_r): Don't walk subtrees of types.
1539         * tree.c (variably_modified_type_p): Restructure.  Consider integer
1540         types with non-const bounds variably modified.
1541
1542 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1543
1544         * doc/invoke.texi: Fix typos.
1545
1546 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1547
1548         * fold-const.c: Follow spelling conventions.
1549         * function.c: Likewise.
1550         * config/c4x/c4x.h: Likewise.
1551         * config/c4x/c4x.md: Likewise.
1552         * config/frv/frv.md: Likewise.
1553         * config/rs6000/aix.h: Likewise.
1554         * config/rs6000/linux64.h: Likewise.
1555         * config/xtensa/xtensa.c: Likewise.
1556
1557 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
1558
1559         * c-pretty-print.c: Fix comment formatting.
1560         * cfglayout.c: Likewise.
1561         * cfgloopanal.c: Likewise.
1562         * cppcharset.c: Likewise.
1563         * dbxout.c: Likewise.
1564         * ggc-page.c: Likewise.
1565         * ggc.h: Likewise.
1566         * target.h: Likewise.
1567
1568 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
1569
1570         * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
1571
1572 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
1573
1574         * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
1575         Convert to ISO C90 function declarations and definitions.
1576
1577 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
1578
1579         * libfuncs.h
1580         (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
1581         (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
1582         (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
1583         (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
1584         (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
1585         (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
1586         (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
1587         (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
1588         (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
1589         (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
1590         (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
1591         (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
1592         (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
1593         (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
1594         (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
1595         (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
1596         Delete.
1597         * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
1598         (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
1599         (le_optab, unord_optab): New.
1600
1601         * optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
1602         from the code_to_optab table, not a giant switch; use
1603         swap_condition; do widening only if a comparison function that
1604         we can call exists in a wider mode, not if a cmp_optab insn or
1605         libfunc exists in a wider mode; call protect_from_queue
1606         exactly once on each operand.
1607         (init_optabs): Initialize the new optabs, not the deleted libfuncs.
1608
1609         * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
1610         * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
1611         Set floating point comparison libfuncs using set_optab_libfunc
1612         on the appropriate optab.
1613
1614         * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
1615         * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
1616         selector conditionals.
1617
1618 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
1619
1620         * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
1621         identical to m68hc12 as far as libraries are concerned.
1622
1623 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
1624
1625         PR c/12446
1626         * c-typeck.c (convert_for_assignment): Issue an error for
1627         array to pointer assignment after default conversion.
1628         (digest_init): Likewise.
1629
1630 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
1631
1632         * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
1633
1634 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
1635
1636         * doc/extend.texi (Function Attributes): Fix title of GNU C
1637         Preprocessor manual.
1638         (C++ Extensions): Fix reference to "Predefined Macros" in the
1639         GNU C Preprocessor manual.
1640
1641 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
1642
1643         * doc/extend.texi: Document how GCC estimates and relies on the size
1644         of an asm.
1645
1646 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
1647
1648         * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
1649         arguments downward for big-endian o64.
1650
1651 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
1652
1653         * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
1654         PCH generation, avoiding too-frequent flushes when writing to NFS
1655         file system.
1656
1657 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
1658
1659         * objc/objc-act.c (lookup_category): Mark as 'inline'.
1660
1661 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
1662             Ziemowit Laski  <zlaski@apple.com>
1663
1664         * objc/objc-act.c (add_method_to_hash_list, lookup_category):
1665         New functions.
1666         (lookup_method_in_hash_lists): New parameter indicating whether
1667         we are messaging 'Class' or 'id'.
1668         (check_duplicates): Likewise; do not assume all methods will
1669         be either class or instance methods.
1670         (generate_category, finish_class): Use lookup_category().
1671         (add_method): Use add_method_to_hash_list(); insert instance
1672         methods of root classes into the global class method hash table.
1673         (add_category): Use lookup_category(); avoid constructing
1674         duplicate categories.
1675         (really_start_method): Add method to corresponding @interface,
1676         if not already there (and if the @interface exists).
1677         (finish_message_expr, finish_objc): Adjust calls to
1678         check_duplicates().
1679
1680 2003-10-03  Roger Sayle  <roger@eyesopen.com>
1681
1682         PR optimization/9325, PR java/6391
1683         * fold-const.c (fold_convert): For floating point to integer
1684         conversions, return the maximum/minimum representable integer
1685         value if the real constant overflows the destination type.
1686         * tree.c (real_value_from_int_cst): Allow the type to be NULL,
1687         meaning don't truncate the result to a floating point mode.
1688         Simplify the logic by calling real_from_integer directly.
1689         * simplify-rtx.c (simplify_unary_operation):  Implement the
1690         same semantics for folding floating point to integer conversions
1691         in RTL.
1692
1693 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
1694
1695         * config/mips/mips.c (mips_emit_prefetch): Restructure
1696         to avoid use of arrays, handle indexed prefetch.
1697         * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
1698         (ISA_HAS_PREFETCHX): New deffine.
1699         * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
1700         update comments.
1701         (prefetch_indexed_di, prefetch_indexed_si): New insns.
1702
1703 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
1704             Roger Sayle  <roger@eyesopen.com>
1705
1706         PR optimization/12289
1707         * calls.c (emit_call_1): Pretend to have popped the arguments
1708         to noreturn and longjmp functions instead of ignoring them.
1709         (expand_call): Don't adjust stack_pointer_dela while
1710         inhibit_defer_pop is set.
1711
1712 2003-10-03  Andreas Schwab  <schwab@suse.de>
1713
1714         PR bootstrap/12276
1715         * configure.in: Check for libunwind on the host only if building
1716         a native compiler.
1717         * configure: Regenerated.
1718
1719 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
1720
1721         * unwind-pe.h (read_encoded_value_with_base): Constify u and
1722         its inizialization cast.
1723
1724 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
1725
1726         PR target/12485
1727         * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
1728
1729 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
1730
1731         PR optimization/12180
1732         * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
1733         functions containing calls to __builtin_next_arg.
1734
1735 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
1736
1737         * config/mips/mips.c (mips_emit_prefetch): Use operand 3
1738         in instructions being output.
1739         * config/mips/mips.md (prefetch_si_address): Change third
1740         operand's constraint letter to 'I'.
1741         (prefetch_di_address): Likewise.
1742         (prefetch_si, prefetch_di): Set third operand to const0_rtx.
1743
1744 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
1745
1746         * system.h: Poison macros obsoleted by earlier patch.
1747         * config/cris/cris.c: C90-ify a function definition.
1748
1749 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
1750
1751         PR/12292
1752         * combine.c (make_field_assignment): Check whether rtx's code
1753         is CONST_INT before using INTVAL.
1754
1755 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
1756
1757         * cgraph.c (cgraph_node): Use INSERT instead of 1 in
1758         htab_find_slot_with_hash.
1759         (cgraph_node_for_identifier): Use NO_INSERT.
1760         (cgraph_remove_node): Use NO_INSERT.
1761         (cgraph_varpool_node): Use INSERT.
1762         (cgraph_varpool_node_for_identifier): Use NO_INSERT.
1763
1764 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
1765
1766         Waldek Hebisch <hebisch@math.uni.wroc.pl>
1767         PR/12072
1768         * varasm.c (compare_constant): Fix thinko.
1769
1770 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
1771
1772         * config/frv/frv.c (frv_issue_rate): New function.
1773         (frv_pack_insns): Use it.
1774         (TARGET_SCHED_ISSUE_RATE): Define.
1775
1776 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
1777
1778         * config/mcore/mcore.c: Convert to ISO C90 function declarations
1779         and definitions.
1780         * config/mcore/mcore.h: Likewise.
1781         * config/mcore/mcore-protos.h: Likewise.
1782
1783 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
1784
1785         * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
1786         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
1787
1788 2003-10-01  Per Bothner  <pbothner@apple.com>
1789
1790         * c-lex.c (src_line):   Remove unneeded static variable.
1791         (cb_line_change):  Set input_line directly, instead of src_line.
1792         (get_non_padding_token):  We no longer need to compensate for the
1793         "horrible things" the C++ front-end does with the current line number,
1794
1795         * cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
1796         callback even when popping the main file.
1797         * c-lex.c (fe_file_change):  Handle a NULL new_map.
1798         * fix-header.c (cb_file_change):  Likewise.
1799         * c-ppoutput.c (pp_file_change):  Likewise.
1800
1801         * cppinit.c (cpp_read_main_file):  Split into two functions:
1802         Distribute _cpp_stack_file call over the two functions.
1803         (cpp_find_main_file):  New function.
1804         Don't call _cpp_do_file_change even if working_directory flag set.
1805         (cpp_push_main_file):  New function.
1806         * cppfiles.c (_cpp_find_failed):  New helper function.
1807         (find_file):  Made non-static and renamed to _cpp_find_file.
1808         (_cpp_stack_file):  No longer needed.  But note the following.
1809         (stack_file):  Made non-static and renamed to _cpp_stack_file.
1810         * fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
1811         call with calls to cpp_find_main_file and cpp_push_main_file.
1812         (search_path_head):  If there is no current buffer, use main_file.
1813         * cpphash.h:  Update function declarations.
1814         * cpplib.h:  Update function declarations.
1815
1816         * c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
1817         (c_common_parse_file):  No longer need to call cpp_read_main_file
1818         when file_index > 0 (as in multi-file or server compiation).
1819         (finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
1820         as this now happens before cpp_push_main_file.
1821         (push_command_line_include):  When done with options, pass LC_LEAVE
1822         instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
1823         (fe_file_change):  Handle NULL new_map, and simplify.
1824         * cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
1825         08-28 change, since we're never called with a NULL buffer.
1826         (_cpp_lex_direct):  Likewise.
1827         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
1828         Return false if buffer is NULL at end.
1829
1830         * cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
1831         whether pfile->buffer is NULL after pop, ignoring return_at_eof.
1832         * cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
1833         * cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
1834         remove the unused return_at_eof parameter.
1835         * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
1836         Update callers of cpp_push_buffer.
1837
1838 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
1839
1840         * target.h (init_libfuncs): New hook.
1841         * target-def.h: Default TARGET_INIT_BUILTINS and
1842         TARGET_INIT_LIBFUNCS to hook_void_void.  Add
1843         TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
1844         * builtins.c (default_init_builtins): Delete.
1845         * expr.h (default_init_builtins): Delete prototype.
1846         * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
1847         Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
1848         Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
1849         DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
1850         MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
1851         and UMODDI3_LIBCALL,
1852
1853         * Makefile.in (optabs.o): Depends on target.h.
1854         * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
1855         * optabs.c: Include target.h.
1856         (prepare_float_lib_cmp): No need for #ifdef around use of
1857         FLOAT_LIB_COMPARE_RETURNS_BOOL.
1858         (set_optab_libfunc): New function.
1859         (init_optabs): Delete use of all *_LIBCALL defines.
1860         Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
1861         * optabs.h: Prototype set_optab_libfunc.
1862
1863         * config.gcc: Remove all references to pa/long_double.h,
1864         ia64/hpux_longdouble.h, and gofast.h.
1865         (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
1866         to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
1867
1868         * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
1869         * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
1870         * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
1871         * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
1872         * config/sparc/sparc.c, config/vax/vax.c:
1873         Provide a definition for TARGET_INIT_LIBFUNCS.  Where
1874         necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
1875
1876         * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
1877         * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
1878         * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
1879         * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
1880         * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
1881         * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
1882         * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
1883         * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
1884         INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
1885
1886         * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
1887         Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
1888         * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
1889         HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
1890         * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
1891
1892         * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
1893         * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
1894         SUN_INTEGER_MULTIPLY_64 to 0.
1895         * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
1896         SUN_INTEGER_MULTIPLY_64 to 1.
1897         * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
1898         SUN_INTEGER_MULTIPLY_64 to 0.
1899         * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
1900         Define US_SOFTWARE_GOFAST.
1901         * config/vax/vax.h: Default TARGET_ELF to 0.
1902         * config/vax/elf.h: Redefine TARGET_ELF to 1.
1903
1904         * config/gofast.h: Don't define any macros here.  Provide one
1905         static function, gofast_maybe_init_libfuncs, which does what
1906         INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
1907         is already defined.  Do not clear negation libfuncs.  Do
1908         not mess with HFmode, XFmode, or TFmode libfuncs.
1909
1910         * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
1911
1912 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
1913
1914         PR C/12466
1915         * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
1916
1917 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1918
1919         * config/mips/xm-iris5.h: Remove, unnecessary.
1920         * config.build (mips-sgi-irix5*): Remove.
1921         (mips-sgi-irix6*o32): Likewise.
1922         * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
1923         (mips-sgi-irix5cross64): Likewise.
1924         (mips-sgi-irix5*): Likewise.
1925         * config.host (mips-sgi-irix5*): Remove.
1926         (mips-sgi-irix6*o32): Likewise.
1927
1928 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
1929
1930         * dbxout.c (dbxout_fptype_value): Delete.
1931         (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
1932
1933 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
1934
1935         * output.h (compute_reloc_for_constant): Declare.
1936         * varasm.c (compute_reloc_for_constant): Extract from...
1937         (output_addressed_constants): ... here.  Adjust all callers.
1938
1939 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1940
1941         * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
1942         * configure: Rebuilt.
1943
1944 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1945
1946         * fold-const.c (make_range): When handling unsigned, don't reverse
1947         range if high bound is zero.
1948
1949 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
1950
1951         * config/frv/frv.h (PREDICATE_CODES): Added
1952         condexec_si_media_operator, condexec_sf_add_operator and
1953         condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
1954         and condexec_sf_unary_operator.
1955
1956 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1957
1958         * aclocal.m4: Add ultrix* to /dev/zero blacklist.
1959         * configure: Rebuilt.
1960
1961 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1962
1963         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
1964         Allow override.
1965         * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
1966
1967 2003-09-23  David S. Miller  <davem@redhat.com>
1968
1969         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
1970         before redefining.
1971         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
1972
1973 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
1974
1975         * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
1976         C90 function declarations and definitions.
1977
1978 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
1979
1980         * config.gcc (cris-*-linux*): Revert mistaken commit.
1981
1982 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
1983
1984         PR optimization/11753
1985         * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
1986         the length in the non-V9 case.
1987
1988 2003-09-30  Richard Henderson  <rth@redhat.com>
1989
1990         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
1991         DWARF_ALT_FRAME_RETURN_COLUMN.
1992         * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
1993         (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
1994         (uw_frame_state_for): Return end-of-stack for null return address.
1995         * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
1996
1997         * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
1998         (alpha_expand_prologue): Store a zero for it.
1999         (alpha_expand_epilogue): Don't reload it.
2000         * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
2001         * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
2002         for the sigframe return address.
2003
2004 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
2005
2006         * sdbout.c: Convert to ISO C90 prototypes.
2007         * objc/objc-act.c: Likewise.
2008
2009 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
2010
2011         * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
2012         * config/i386/winnt.c: Likewise.
2013         * config/i386/cygming.h: Likewise.
2014
2015 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
2016
2017         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
2018         (A ^ B) - B for any B.
2019
2020 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
2021
2022         * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
2023         powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
2024
2025 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
2026
2027         * arm/ieee754-sf.S: Tidy formatting.
2028
2029 2003-09-30  Nicolas Pitre  <nico@cam.org>
2030
2031         * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
2032         and ARM_MOD_BODY.
2033         (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
2034         (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
2035         added better divisor alignment in the other case.
2036         (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
2037         (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
2038         macros above, add fast exits for divisor >= dividend, etc.
2039
2040 2003-09-30  Nicolas Pitre  <nico@cam.org>
2041
2042         * arm/ieee754-df.S: Split compilation of fixunsdfsi from
2043         L_fixdfsi target.
2044         * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
2045
2046 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
2047
2048         * config.gcc: Default use_fixproto to 'no'.
2049
2050 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
2051
2052         PR optimization/12345
2053         * config/mips/mips-protos.h (mips_restore_gp): Remove.
2054         (mips_gp_save_slot): Declare.
2055         * config/mips/mips.c (mips_restore_gp): Remove in favor of...
2056         (mips_gp_save_slot): ...this new function.
2057         * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
2058         and mips_output_move to generate the output template.
2059         (call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
2060         a gp load after a noreturn call.  Load the gp using a move rather
2061         than an exception_receiver pattern.
2062         (call_value_internal, call_value_multiple_internal): Likewise.
2063         (call_split, call_value_split, call_value_multiple_split): Clobber $28.
2064
2065 2003-09-30  Carlo Wood  <carlo@alinoe.com>
2066
2067         PR debug/12319
2068         * cfglayout.c (insn_scope):  Use prologue_locator and
2069         epilogue_locator; return the outer function scope for
2070         pro- and epilogue insns.
2071
2072 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
2073
2074         * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
2075         REAL_TYPEs based on the bitsize of the type's mode, not the
2076         mode directly.
2077
2078 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2079
2080         * dwarf2out.c (default_eh_frame_section): Split into ...
2081         (named_section_eh_frame_section, collect2_eh_frame_section): ... new
2082         functions.
2083         * output.h (named_section_eh_frame_section): Declare.
2084         (collect2_eh_frame_section): Likewise.
2085
2086 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
2087
2088         * real.c (real_sqrt): Use get_canonical_qnan directly.
2089
2090         * dwarf2out.c (add_const_value_attribute): Use real_to_target.
2091
2092         * varasm.c (assemble_real): Use real_to_target directly,
2093         calculate the number of significant elements of the result
2094         array and write them out in a loop, instead of using a giant
2095         switch statement to pick the correct REAL_VALUE_TO_TARGET_*
2096         macro.
2097
2098 2003-09-29  Jan Hubicka  <jh@suse.cz>
2099
2100         PR c++/12175
2101         * varasm.c (notice_global_symbol): Discard external symbols.
2102
2103         PR optimization/12286
2104         * gcov-io.c (gcov_read_words): Fix memmove call.
2105         * profile.c (compute_branch_probabilities): Add extra sanity checks.
2106
2107 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2108
2109         * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
2110         Solaris 7-9.
2111
2112         * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
2113         wildcards which explicitly match micro versions.
2114         * fixinc/fixincl.x: Regenerate.
2115
2116 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
2117
2118         * fold-const.c (fold): Fold (A & ~B) - (A & B) into
2119         (A ^ B) - B, where B is any power of 2 minus 1.
2120
2121 2003-09-29  Jan Hubicka  <jh@suse.cz>
2122
2123         * libgcov.c (gcov_exit): Fix two pastos.
2124
2125 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
2126
2127         * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
2128         define_split immediately below to form define_insn_and_split.
2129
2130 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
2131
2132         * config/h8300/h8300.md (*tstsi_variable_bit): New.
2133         (*tstsi_variable_bit_qi): Likewise.
2134
2135 2003-09-28  Phil Edwards  <phil@codesourcery.com>
2136
2137         * doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
2138         reference name.
2139
2140 2003-09-28  Richard Henderson  <rth@redhat.com>
2141
2142         * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
2143         file and line separately.
2144
2145 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
2146
2147         * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
2148         "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
2149         "*subdi3_borrow_cconly"): New insns.
2150         ("*addsi3_sub", "*subsi3_sub"): Remove.
2151         ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
2152         ("*subsi3_cc"): Fix op_type attribute.
2153
2154 2003-09-28  Richard Henderson  <rth@redhat.com>
2155
2156         * stmt.c (expand_asm_operands): Take a location_t, instead of
2157         individual file and line.
2158         * c-typeck.c (c_expand_asm_operands): Likewise.
2159         * tree.h (expand_asm_operands): Update decl.
2160         * c-common.h (c_expand_asm_operands): Likewise.
2161         * c-semantics (genrtl_asm_stmt): Update call.
2162
2163 2003-09-28  Philip Blundell  <philb@gnu.org>
2164
2165         * config/arm/arm.c (legitimize_pic_address): Check
2166         SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
2167         (arm_assemble_integer): Likewise.
2168
2169 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
2170
2171         * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
2172         config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
2173         config/c4x/c4x.h:
2174         Convert to ISO C90 function declarations and definitions.
2175
2176 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
2177
2178         *  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
2179         Convert to ISO C90 function declarations and definitions.
2180
2181 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
2182
2183         * config/mips/mips.c (mips_constant_info): Add reloc field.
2184         (mips_classify_constant): Initialize it.  Always set SYMBOL to the
2185         underlying symbol, not to an unspec.
2186         (mips_delegitimize_address, print_operand): Clean up accordingly.
2187
2188 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
2189
2190         * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
2191         * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
2192         * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
2193         (mips_classify_constant): Use it.
2194         (mips_splittable_symbol_p): Add an offset argument.
2195         (mips_classify_address): Adjust call accordingly.
2196         (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
2197         than a relocation unspec.  Update call to mips_splittable_symbol_p.
2198         Generalize the code that copes with symbols + invalid offsets.
2199         (print_operand): Allow '%R' to be applied to small data addresses.
2200         (mips_reloc_string): Remove RELOC_GPREL16.
2201         (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
2202         for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
2203         relocation operators.
2204         * config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
2205         constants accordingly.
2206
2207 2003-09-27  Roger Sayle  <roger@eyesopen.com>
2208
2209         * toplev.c (flag_evaluation_order): New global variable.
2210         * flags.h (flag_evaluation_order): Prototype here.
2211         * expr.c (expand_operands): If we need to preserve observable
2212         evaluation order, protect exp1 from clobbering exp0's result.
2213
2214 2003-09-28  Andreas Jaeger  <aj@suse.de>
2215
2216         * c-decl.c (finish_function): Convert definition to ISO C90.
2217         * ifcvt.c (mark_loop_exit_edges): Likewise.
2218         * ra-rewrite.c (emit_colors): Likewise.
2219
2220 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
2221
2222         * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
2223         * config.gcc (arm*-*-uclinux*): Disable fixproto.
2224         * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
2225         powerpc-*-eabialtivec*): Disable fixproto.
2226
2227 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
2228
2229         PR optimization/12340
2230         * loop.h (struct induction): Document the new semantics
2231         of the 'same' field for bivs.
2232         * unroll.c (biv_total_increment): Don't count the same
2233         biv increment several times.
2234         (loop_iterations) [GENERAL_INDUCT]: Likewise.
2235
2236 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
2237
2238         * unroll.c (loop_interations)[GT]: Add missing break.
2239
2240 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
2241
2242         * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
2243         config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
2244         config/dbxelf.h, config/elfos.h, config/fp-bit.h,
2245         config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
2246         config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
2247         config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
2248         config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
2249         config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
2250         config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
2251         config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
2252         config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
2253         config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
2254         config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
2255         config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
2256         config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
2257         config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
2258         config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
2259         config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
2260         config/alpha/xm-vms.h, config/arc/arc-modes.def,
2261         config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
2262         config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
2263         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
2264         config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
2265         config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
2266         config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
2267         config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
2268         config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
2269         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
2270         config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
2271         config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
2272         config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
2273         config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
2274         config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
2275         config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
2276         config/i960/i960-c.c, config/i960/i960-coff.h,
2277         config/i960/i960-modes.def, config/i960/i960-protos.h,
2278         config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
2279         config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
2280         config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
2281         config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
2282         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
2283         config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
2284         config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
2285         config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
2286         config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
2287         config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
2288         config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
2289         config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
2290         config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
2291         config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
2292         config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
2293         config/mcore/mcore-protos.h, config/mcore/mcore.c,
2294         config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
2295         config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
2296         config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
2297         config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
2298         config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
2299         config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
2300         config/mips/vr.h, config/mn10300/linux.h,
2301         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
2302         config/mn10300/mn10300.h, config/mn10300/mn10300.md,
2303         config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
2304         config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
2305         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
2306         config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
2307         config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
2308         config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
2309         config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
2310         config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
2311         config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
2312         config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
2313         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2314         config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
2315         config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
2316         config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
2317         fixinc/fixinc.svr4: GNU CC -> GCC.
2318
2319 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
2320
2321         * objc/objc-act.c (tm_p.h): Tweak order.
2322         * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
2323
2324 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
2325
2326         * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
2327         Include t-slibgcc-elf-ver and t-linux in tmake_file.
2328         * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
2329         Disable fixproto.
2330         * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
2331         Disable fixproto.
2332         * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
2333         sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
2334
2335         * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
2336
2337 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
2338
2339         * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
2340         * objc/objc-act.c (tm_p.h): Include.
2341
2342 2003-09-26  Per Bothner  <pbothner@apple.com>
2343
2344         * dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
2345         No longer any need to reverse by recursion.
2346
2347 2003-09-26  Roger Sayle  <roger@eyesopen.com>
2348             Richard Henderson  <rth@redhat.com>
2349
2350         PR optimization/11741
2351         * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
2352         appropriate set to match that in hash_scan_insn.  Fall back to
2353         the original copy method, if we can't validate changing insn.
2354         (pre_delete): Only delete instructions that have a single_set,
2355         instead of aborting when we encounter an PARALLEL insn with more
2356         then one SET.
2357
2358 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
2359
2360         * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
2361         ("builtin_longjmp"): Insn deleted.
2362         ("save_stack_nonlocal"): Save literal pool base pointer behind
2363         backchain and stack pointer.
2364         ("restore_stack_nonlocal"): Restore literal pool base pointer.
2365         * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
2366         the stack save area for the nonlocal goto case.
2367
2368 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2369
2370         PR bootstrap/12358
2371         * pa.c (output_bvb): Fix typo.
2372
2373 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
2374
2375         * expmed.c (store_bit_field): Don't search for an integer mode
2376         unless we need the result.
2377
2378 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
2379
2380         * expr.c (emit_move_insn_1): If there is no move pattern for the
2381         original mode, try using a pattern for the corresponding integer mode.
2382
2383 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
2384
2385         PR middle-end/9200
2386         * combine.c (if_then_else_cond): Tighten mode check.
2387
2388 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2389
2390         * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
2391         'struct _cpp_strbuf'.
2392
2393         * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
2394         config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
2395         config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
2396         config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
2397         config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
2398         config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
2399         config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
2400         config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
2401         config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
2402         "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
2403         * config/i386/i386-aout.h, config/i386/i386-coff.h,
2404         config/i386/i386-interix.h, config/i386/i386-interix3.h,
2405         config/i386/i386-modes.def, config/i386/i386-protos.h,
2406         config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
2407         config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
2408         config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
2409         config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
2410         config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
2411         "GNU compiler" -> GCC.
2412         * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
2413         config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
2414         config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
2415         config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
2416         config/i386/freebsd-aout.h, config/i386/freebsd.h,
2417         config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
2418
2419 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
2420
2421         * cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
2422         "local" to the callgraph dump.  Output "after inlining" earlier.
2423         * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
2424         callgraph dumps.  Correct misspellings.
2425         (cgraph_decide_inlining):  Output number of insns before inlining.
2426         Output the calling function into which a function is inlined.
2427         (cgraph_decide_small_functions): Format dump file like always_inline.
2428
2429 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
2430
2431         * config/i386/i386.h (ix86_return_in_memory): Add prototype.
2432
2433 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2434
2435         * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
2436         FPR slots in the save area.
2437         (s390_emit_epilogue): Likewise.
2438
2439 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
2440
2441         * cgraph.h (cgraph_remove_edge): Declare.
2442         * cgraph.c (cgraph_remove_edge): Make extern.
2443         * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
2444         instead of cgraph_remove_call.
2445
2446 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
2447
2448         * objc/objc-act.c (gen_declaration_1): Fix printf format.
2449
2450 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
2451
2452         * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
2453         arm7tdmi core.
2454
2455 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
2456
2457         * config/darwin-protos.h (objc_image_info_section):
2458         New prototype.
2459
2460 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
2461
2462         * Makefile.in (stub-objc.o): Depend on $(GGC_H).
2463
2464 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2465
2466         * config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
2467         tsc701 as a --with-cpu, --with-tune setting for sparc.
2468
2469 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
2470
2471         * c-parse.in (objc_try_stmt): Do not specify a %type.
2472
2473 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2474
2475         * config.gcc: New 'widely ported system' clause for rtems.
2476         Set thread file there, not in individual clauses.
2477
2478 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
2479
2480         PR target/6222
2481         * config/mips/mips.c (mips_va_arg): Handle arguments that must be
2482         passed on the stack.
2483
2484 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
2485
2486         * config.gcc (widely ported systems section): Mostly alphabetize
2487         by system.  Comment the case where we can't.
2488         * config.gcc (widely ported systems section): Reindent and clean up.
2489
2490         * config.gcc: Remove some unnecessary uses of 'x' in case statements.
2491         Actually allow ep9312 as an arm --with-arch setting.
2492
2493         * config.gcc (*-hpux11): Disable fixproto.
2494
2495 2003-09-24  Phil Edwards  <phil@codesourcery.com>
2496
2497         PR pch/12112
2498         * gcc/cppfiles.c (pch_open_file): Return based on combined
2499         result of all files.
2500         (validate_pch): Return validate flag for current file.
2501
2502 2003-09-24  Roger Sayle  <roger@eyesopen.com>
2503
2504         PR bootstrap/12358
2505         * fold-const.c (tree_swap_operands_p): Only reorder operands when
2506         one of the operands is constant.
2507
2508 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
2509
2510         MERGE OF objc-improvements-branch into MAINLINE:
2511         * Makefile.in (C_OBJS): Add in stub-objc.o.
2512         (c-parse.y): Change sed demarcations to begin with '@@'.
2513         (stub-objc.o): New rule.
2514         * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
2515         flag_replace_objc_classes): New flags.
2516         * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
2517         RID_AT_SYNCHRONIZED): New keywords.
2518         (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
2519         flag_replace_objc_classes): New flags.
2520         (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
2521         objc_comptypes, objc_message_selector, lookup_objc_ivar,
2522         get_current_scope, objc_mark_locals_volatile): New prototypes,
2523         some moved from c-tree.h.
2524         * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
2525         (finish_decl): Adjust where objc_check_decl() gets called.
2526         * c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
2527         objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
2528         * c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
2529         flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
2530         * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
2531         '@@end_ifc', respectively.
2532         (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
2533         (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
2534         objc_finally_block): New rules.
2535         (component_decl_list2): Clean up semantic action for @defs construct.
2536         (component_decl, c99_block_start): Remove call to add_objc_decls().
2537         (poplevel): Add call to objc_clear_super_receiver().
2538         (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
2539         constructs.
2540         (classdef, methodprotolist): Clean up/simplify.
2541         (methodprotolist2): Eliminate.
2542         (methodproto): Call add_method() instead of add_class_method() and
2543         add_instance_method().
2544         (receiver): Add TYPENAME production.
2545         (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
2546         (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
2547         AT_SYNCHRONIZED.
2548         * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
2549         objc_comptypes, objc_message_selector)
2550         * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
2551         struct and pointer types.
2552         (build_c_cast): Do not discard ObjC protocol qualifiers.
2553         (convert_for_assignment): Cache result of comp_target_types() instead
2554         of calling it more than once.
2555         * c.opt (fnext-runtime): Update description string.
2556         (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
2557         New ObjC/ObjC++-specific flags.
2558         * function.h (GCC_FUNCTION_H): Header guard.
2559         * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
2560         * stub-objc.c: New file, to be used to satisfy references to ObjC
2561         functions by the C and C++ front-ends.
2562         * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
2563         * config/darwin.h (FUNCTION): Add in_objc_image_info.
2564         (SECTION_FUNCTION): Add objc_image_info_section.
2565         * doc/invoke.texi: Link to GCC web site for Objective-C information.
2566         (-fconstant-string-class): Update documentation.
2567         (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
2568         -fzero-link): New documentation.
2569         * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
2570         with '@@'.
2571         * objc/lang-specs.h (@objective-c-header): Fix -E spec.
2572         * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
2573         throughout; provide casts for return values from memory allocation
2574         functions (xmalloc, alloca, ggc_alloc, etc.).
2575         (OBJC_VOID_AT_END): New macro.
2576         (rtl.h): Do not #include any more.
2577         (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
2578         (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
2579         TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
2580         TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
2581         TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
2582         (struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
2583         val_stack_pop): New.
2584         (objc_check_decl): Fix precondition for error message, along with
2585         the message itself.
2586         (lookup_and_install_protocols): Remove nonexistent protocols from
2587         protocol list instead of returning error_mark_node.
2588         (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
2589         (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
2590         (synth_module_prologue): General clean-up; construct NeXT-specific
2591         runtime API prototypes if needed.
2592         (build_string_class_template): Remove.
2593         (check_string_class_template, string_layout_checked): New.
2594         (build_objc_string_object): Generalize to work with
2595         -fconstant-string-class.
2596         (build_objc_symtab_template): Fix layout for the NeXT runtime.
2597         (build_metadata_decl): New.
2598         (forward_declare_categories): Call build_metadata_decl() instead of
2599         create_builtin_decl() et al.
2600         (build_module_descriptor): Use OBJC_VOID_AT_END instead of
2601         void_list_node_1.
2602         (build_selector_reference_decl, build_class_reference_decl,
2603         build_objc_string_decl): Do not set TREE_READONLY.
2604         (get_proto_encoding): Do not call hack_method_prototype().
2605         (get_class_reference): Add failure mode for invalid class names;
2606         support -fzero-link; defer if in an ObjC++ template declaration.
2607         (objc_declare_alias, objc_declare_class): Fix up duplicate name
2608         lookup; check for global scope if in ObjC++.
2609         (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
2610         RECORD_TYPE, IDENTIFIER_NODE, etc.)
2611         (objc_is_id): Removed.
2612         (objc_is_object_ptr): New function.
2613         (get_class_ivars_from_name): New function, used for @defs construct.
2614         (get_class_ivars): Add option to return raw ivars; create a
2615         ClASS_OWN_IVARS list for each class as needed.
2616         (objc_enter_block, objc_exit_block, objc_declare_variable,
2617         objc_build_throw_stmt, val_stack_push, val_stack_pop,
2618         objc_build_try_enter_fragment, objc_build_extract_expr,
2619         objc_build_try_exit_fragment, objc_build_extract_fragment,
2620         objc_build_try_prologue, objc_build_try_epilogue,
2621         objc_build_catch_stmt, objc_build_catch_epilogue,
2622         objc_build_finally_prologue, objc_build_finally_epilogue,
2623         objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
2624         objc_build_synchronized_epilogue, build_objc_exception_stuff):
2625         New functions.
2626         (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
2627         the future).
2628         (build_private_template): Fix up calls to get_class_ivars().
2629         (offset_is_register, forwarding_offset): Remove.
2630         (objc_method_parm_type, objc_encoded_type_size): New functions.
2631         (encode_method_prototype): Simplify to no longer depend on
2632         back-end information.
2633         (build_tmp_function_decl_xxx, build_tmp_function_decl,
2634         hack_method_prototype): Removed.
2635         (generate_protocol_references): Remove calls to
2636         build_tmp_function_decl().
2637         (generate_protocols): Adjust calls to encode_method_prototype().
2638         (build_class_template): Generate sel_id' and 'gc_object_type' fields
2639         for the NeXT runtime.
2640         (synth_forward_declarations): Call build_metadata_decl().
2641         (check_ivars): Check that the number of ivars matches also.
2642         (build_super_template): Modify super_type directly; disable debugging
2643         output while generating decl.
2644         (build_ivar_list_initializer): Skip list elements that are not
2645         FIELD_DECLs.
2646         (ivar_list_length): New function.
2647         (generate_ivar_lists): Call ivar_list_length() instead of list_length()
2648         and encode_method_prototype() instead of encode_method_def().
2649         (build_shared_structure_initializer): Generate 'sel_id' field for
2650         the NeXT runtime.
2651         (generate_category): Do not set TREE_USED.
2652         (build_keyword_selector): Ditto; transform into a function argument
2653         chain.
2654         (get_arg_type_list): If there are no user-specified arguments, use
2655         '...'; use OBJC_VOID_AT_END.
2656         (check_duplicates): Add a parameter indicating whether methods or
2657         selectors are being checked.
2658         (receiver_is_class_object): Add parameters indicating whether
2659         receiver is 'self' or 'super'; robustify.
2660         (build_message_expr): Defer call to finish_message_expr() if
2661         inside an ObjC++ template.
2662         (lookup_method_in_hash_lists): New function.
2663         (finish_message_expr): Complete rewrite/fix.
2664         (build_objc_method_call): Ditto; factor out commonalities between
2665         the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
2666         messenger variants on the NeXT.
2667         (lookup_instance_method_static, lookup_class_method_static):
2668         Fold into a single lookup_method_static() function with an
2669         additional parameter.
2670         (add_class_method, add_instance_method): Fold into a single
2671         add_method() function with an additional parameter.
2672         (add_category): Make duplicate categories a hard error in ObjC++.
2673         (add_instance_variable): Properly handle unnamed ivars, arrays of
2674         zero or no size and bitfields.  In ObjC++, check for nontrivial
2675         C++ class instances.
2676         (is_public): Allow C functions to access non-@public ivars, with
2677         a warning.
2678         (start_class): Move common initializations to
2679         synth_module_prologue(); check for global scope if in ObjC++.
2680         (continue_class): Fix calls to finish_struct().
2681         (objc_declare_protocols, start_protocol): Check for global scope
2682         if in ObjC++.
2683         (encode_pointer): Encode 'BOOL *' specially on the NeXT.
2684         (encode_aggregate_within): Rewrite to properly distinguish
2685         struct tags from typedefs in both ObjC and ObjC++.
2686         (encode_bitfield, encode_complete_bitfield): Remove.
2687         (encode_next_bitfield, encode_gnu_bitfield): New functions.
2688         (encode_field_decl): Call encode_next_bitfield() or
2689         encode_gnu_bitfield() as needed.
2690         (synth_self_and_ucmd_args): New function.
2691         (start_method_def): Use it.
2692         (objc_types_are_equivalent): New function.
2693         (comp_proto_with_proto): Use it instead of comptypes(), since
2694         we need symmetry.
2695         (really_start_method): Use lookup_method_static() instead of
2696         lookup_class_method_static() and lookup_instance_method_static();
2697         Emit 'extern "C"' if in ObjC++ mode.
2698         (add_objc_decls): Removed.
2699         (UOBJC_SUPER_scope): New variable.
2700         (get_super_receiver): Move construction of 'super' from
2701         add_objc_decls(); remove dependency on struct objc_class.
2702         (encode_method_def): Removed; encode_method_prototype() is
2703         used instead.
2704         (objc_clear_super_receiver): New function.
2705         (objc_expand_function_end): Do not do anything for ordinary
2706         C functions.
2707         (finish_method_def): Mark ObjC methods as un-inlinable.
2708         (gen_declaration_1): Emit widths of bitfields.
2709         (finish_objc): Call generate_objc_image_info() if needed;
2710         use check_duplicates() when checking for selector duplicates.
2711         (generate_objc_image_info): New function.
2712         * objc/objc-act.h (add_instance_method, add_class_method,
2713         get_class_ivars): Remove prototypes.
2714         (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
2715         objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
2716         objc_build_catch_stmt, objc_build_catch_epilogue,
2717         objc_build_finally_prologue, objc_build_finally_epilogue,
2718         add_method, get_class_ivars_from_name): New prototypes.
2719         (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
2720         (TYPE_PROTOCOL_LIST): Robustify to distinguish from
2721         TRANSLATION_UNIT_DECLs.
2722         (OBJC_TYPE_NAME): New.
2723         (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
2724         got included.
2725         (IS_SUPER): Robustify.
2726         (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
2727         umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
2728         objc_exception_try_enter_decl, objc_exception_try_exit_decl,
2729         objc_exception_match_decl, objc_exception_throw_decl,
2730         objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
2731         objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
2732         objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
2733         objc_catch_type): New ObjC/ObjC++ roots.
2734         * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
2735         ObjC/ObjC++ tree node codes.
2736
2737 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
2738
2739         * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
2740         code path that calls a handler.
2741
2742 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2743
2744         * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
2745         Disable fixproto.
2746
2747         * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
2748         the section giving $with_cpu defaults by target.
2749
2750         * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
2751         arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
2752         rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
2753         rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
2754         rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
2755         i[34567]86-pc-msdosdjgpp*): Disable fixproto.
2756
2757 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
2758
2759         * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
2760         together.  Protect load string instruction with TARGET_STRING.
2761         (movti_string): Collapse case 1 and 2 together.
2762
2763 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
2764
2765         * c-common.c (c_common_type_for_mode): Check for VOIDmode.
2766
2767 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
2768
2769         * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
2770         do...while(0)
2771
2772 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2773
2774         * config.gcc: Move use_fixproto=no from generic vxworks clause to
2775         specific one.
2776
2777         * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
2778         (accidentally missed in last pass).
2779
2780 2003-09-23  Andrew Pinski  <apinski@apple.com>
2781
2782         PR bootstrap/12383
2783         * configure: Regenerate.
2784
2785 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2786
2787         * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
2788         missed in last pass).
2789
2790 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
2791
2792         * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
2793         constant.
2794
2795 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2796
2797         * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
2798
2799         * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
2800         powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
2801         powerpcle-*-eabi*): Disable fixproto.
2802
2803         * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
2804         specific FreeBSD clauses.
2805         * config.gcc: Move use_fixproto=no from generic NetBSD clause to
2806         specific NetBSD clauses.
2807         * config.gcc: Move use_fixproto=no from generic OpenBSD clause
2808         to specific OpenBSD clauses.
2809
2810 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2811
2812         * pa.c (hppa_expand_prologue): Do pic register save in frame marker
2813         without adding a frame note.
2814         * pa.md (allocate_stack): Save pic register in new frame marker when
2815         generating pic code.
2816
2817 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
2818
2819         * cgraphunit.c (cgraph_expand_all_functions): Renamed from
2820         cgraph_expand_functions.
2821
2822 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2823
2824         * Makefile.in (gnucompare*): Merge into ...
2825         (slowcompare*): ... here.
2826         (fastcompare*): New targets.
2827         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
2828         other "fast" cmp programs.
2829         * configure: Regenerate.
2830
2831 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2832
2833         * targhooks.c: Include output.h.
2834         * Makefile.in (targhooks.o): Add output.h to dependency list.
2835
2836 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2837
2838         * config.host: Removed superfluous newline.
2839
2840 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2841
2842         * config.gcc: Use ${target}, not $machine.
2843         * configure.in: Don't set $machine.
2844         * configure: Regenerate.
2845
2846 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
2847
2848         * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
2849
2850         * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
2851         pass zero-size arrays by reference.
2852         (rs6000_va_arg): Likewise.
2853
2854 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
2855
2856         * config.gcc: Set use_fixproto=no in each specific *-gnu*
2857         configuration, rather than the generic one.
2858
2859 2003-09-23  Richard Henderson  <rth@redhat.com>
2860
2861         * tree-inline.c (remap_save_expr): Map new save_expr to identity
2862         rather than to error_mark_node.
2863
2864 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2865
2866         * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
2867         Update description.
2868         * configure: Regenerate.
2869         * config.in: Likewise.
2870         * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
2871         HAVE_GAS_SHF_MERGE value.
2872         * varasm.c (mergeable_string_section): Likewise.
2873         (mergeable_constant_section): Likewise.
2874
2875 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2876
2877         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
2878         value.
2879
2880 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2881
2882         * target.h (struct gcc_target): New member external_libcall.
2883         * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
2884         (TARGET_ASM_OUT): Use it.
2885         * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
2886         * targhooks.c: Convert to ISO C 90.
2887         (default_external_libcall): New function.
2888         * targhooks.h (default_external_libcall): Declare.
2889         * varasm.c (assemble_external_libcall): Use
2890         targetm.asm_out.external_libcall instead of
2891         ASM_OUTPUT_EXTERNAL_LIBCALL.
2892         * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
2893         (mips_output_external_libcall): Declare.
2894         * config/mips/mips.c (mips_output_external_libcall): Change
2895         definition guard.
2896         Change to match TARGET_ASM_EXTERNAL_LIBCALL.
2897         Only operate for O32 ABI.
2898         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
2899         instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
2900         * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
2901         superceded by TARGET_ASM_EXTERNAL_LIBCALL.
2902
2903 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
2904
2905         * config.gcc: Do per-target disabling of fixproto here in clauses,
2906         not in t- fragments.
2907         * configure.in: Adjust to set STMP_FIXPROTO correctly.
2908         * configure: Regenerate.
2909         * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
2910         config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
2911         t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
2912         xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
2913         * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
2914         t-interix, t-linux-aout:  Delete files consisting only of
2915         setting of STMP_FIXPROTO.
2916
2917         * config.host: Allow unknown hosts (not targets).  Allow
2918         ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
2919         empty clauses.  Remove useless obsolete-configuration clause.
2920         Prune unsupported configuration list.  Collapse identical
2921         clauses for closely related systems.  Rewrite comment for
2922         unsupported hosts list.  Reorganize a little.
2923
2924 2003-09-22  Richard Henderson  <rth@redhat.com>
2925
2926         * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
2927         not precision.
2928
2929 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
2930             Hartmut Penner  <hpenner@de.ibm.com>
2931             Segher Boessenkool  <boessen@de.ibm.com>
2932
2933         * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
2934         (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
2935         (rs6000_split_altivec_in_gprs): Rename to ...
2936         (rs6000_split_multireg_move): Add support for update addressing.
2937         * config/rs6000/rs6000-protos.h: Same.
2938         * config/rs6000/altivec.md: Same.
2939         * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
2940         multiple GPRs.
2941         (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
2942         (movti_power): Use new splitter for multiple GPRs.
2943         (movti_string): Same.
2944         (movti_ppc64): Same.
2945
2946 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
2947
2948         * config/xtensa/xtensa-protos.h: Convert to ISO C90.
2949         * config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
2950
2951 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
2952
2953         * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
2954         (andsi3): Set attr cc to set_zn when using shifts or adds.
2955
2956 2003-09-22  Bernardo Innocenti <bernie@develer.com>
2957
2958         * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
2959
2960 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
2961
2962         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
2963         Resurrect -mrtd option.
2964
2965 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
2966
2967         PR target/12281
2968         * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
2969         mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
2970
2971 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
2972
2973         PR target/9786
2974         * reg-stack.c (convert_regs_1): Purge possible dead eh edges
2975         after potential deletion of trapping insn. Avoids later ICE
2976         from call to fixup_abnormal_edges.
2977         (convert_regs_2): Stack the current block successors before
2978         processing this block, that is, before the potential deletion of
2979         dead edges by convert_regs_1, because these edges have been used
2980         to initialize the predecessors count.
2981
2982 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
2983
2984         * real.c: Fix several nits in the head comment.
2985
2986 2003-09-21  Richard Henderson  <rth@redhat.com>
2987
2988         * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
2989         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
2990         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
2991         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
2992         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
2993
2994 2003-09-21  Richard Henderson  <rth@redhat.com>
2995
2996         * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
2997         (TREE_FILENAME, TREE_LINENO): Likewise.
2998         (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
2999         (TREE_LOCUS_SET_P): New.
3000         * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
3001         diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
3002         print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
3003         tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
3004         config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
3005
3006 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
3007
3008         * config/vax/vax-protos.h: Convert to ISO C90.
3009         * config/vax/vax.c: Convert to ISO C90.
3010
3011 2003-09-21  Graham Stott  <grahams@btinternet.com>
3012
3013        PR target/12353
3014        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
3015
3016 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
3017
3018         PR target/12301
3019         * reorg.c (stop_search_p): Return 1 for insns that can
3020         throw internally.
3021
3022 2003-09-20  Richard Henderson  <rth@redhat.com>
3023
3024         * c-format.c (gcc_diag_char_table): Add %J.
3025         (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
3026         (check_format_types): Fix wanted_type name lookup.
3027         (init_dynamic_diag_info): Setup %J.
3028         * diagnostic.c (text_specifies_location): Implement %J.
3029         * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
3030         dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
3031         tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
3032         config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
3033         config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
3034
3035         * tree-inline.c: Include intl.h
3036         (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
3037         * Makefile.in (tree-inline.o): Update.
3038
3039 2003-09-20  Roger Sayle  <roger@eyesopen.com>
3040
3041         * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
3042         transformation of a>=0 into (unsigned)a<0x80000000.
3043
3044 2003-09-20  Andrew Pinski <apinski@apple.com>
3045
3046         * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
3047
3048 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
3049
3050         * Makefile.in: Don't set (unused) DLLTOOL.
3051
3052         * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
3053         Remove obsolete references to ENQUIRE.
3054
3055 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
3056
3057         * configure.in: Remove --with-elf, which doesn't work.
3058         * configure: Regenerate.
3059         * config.gcc: Remove references to $elf, which does nothing.
3060
3061         * config/i386/xm-vsta.h: Remove xm-file believed useless.
3062         * config.build (i386-vsta): Remove reference to it.
3063         * config.host (i386-vsta): Remove reference to it.
3064
3065 2003-09-19  Phil Edwards  <phil@codesourcery.com>
3066
3067         * doc/install.texi:  Document the multiple testsuite options.
3068
3069 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
3070
3071         * doc/install.texi (Specific): Add the specific versions of GCC
3072         where support for FreeBSD 1, HP-UX version 9 and older, and AIX
3073         version 3 and older was discontinued.
3074
3075 2003-09-19      Joel Sherrill <joel@oarcorp.com>
3076
3077         * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
3078         68881.
3079
3080 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
3081
3082         * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
3083         for -m68030, -m68020-60 and -m68020-40.
3084         * config/m68k/m68k.h (TARGET_68030): New target flag.
3085         * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
3086         TARGET_REGPARM): Remove.
3087         * config/m68k/m68k.h: Regroup and renumber target flags.
3088         * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
3089         * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
3090         * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
3091         * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
3092         * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
3093
3094 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3095
3096         * config/m68k/t-rtems (m68k-*-rtems*): New.
3097         * config.gcc: Use config/m68k/t-rtems.
3098
3099 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3100
3101         * config/mips/t-rtems: New.
3102         * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
3103
3104 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
3105
3106         * cgraph.c: Fix typo in debugging output.
3107
3108 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
3109             Eric Botcazou <ebotcazou@libertysurf.fr>
3110
3111         PR target/12166
3112         * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
3113
3114 2003-09-18  Mike Stump  <mrs@apple.com>
3115
3116         * c-ppoutput.c (print):  Use fileline typedef for field 'line'.
3117         (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
3118         cb_ident, cb_def_pragma):  Use fileline typedef.
3119         * cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
3120
3121 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
3122
3123         * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
3124         total parm size if a parm has incomplete type.
3125         (gen_fastcall_suffix): Likewise.
3126
3127 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3128
3129         * except.c (output_function_exception_table): Adjust last change
3130         to handle TYPE of INTEGER_CST.
3131
3132 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
3133
3134         PR target/11184
3135         * builtins.c (expand_builtin_apply): Use convert_memory_address
3136         before returning the value.
3137
3138         * alias.c (find_base_value): Simplify use of
3139         convert_memory_address.
3140         (find_base_term): Likewise.
3141         * builtins.c (expand_builtin_stejmp_setup): Likewise.
3142         (expand_builtin_longjmp): Likewise.
3143         (expand_builtin_prefetch): Likewise.
3144         (get_memory_rtx): Likewise.
3145         (expand_builtin_return): Likewise.
3146         (expand_builtin_memcpy): Likewise.
3147         (expand_builtin_strncpy): Likewise.
3148         (expand_builtin_memset): Likewise.
3149         (expand_builtin_va_arg): Likewise.
3150         (expand_builtin_va_copy): Likewise.
3151         (expand_builtin_alloca): Likewise.
3152         * calls.c (expand_call): Likewise.
3153         * except.c (expand_builtin_extract_return_addr): Likewise.
3154         (expand_builtin_eh_return): Likewise.
3155         * explow.c (convert_memory_address): Define even when
3156         POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
3157         is already in the right mode.
3158         * explow.c (memory_address): Simplify use of convert_memory_address.
3159         (probe_stack_range): Likewise.
3160         * expmed.c (make_tree): Likewise.
3161         * expr.c (emit_block_move_in_libcall): Likewise.
3162         (expand_assignment): Likewise.
3163         (expand_expr): Likewise.
3164         * function.c (assign_parms): Likewise.
3165         (expand_function_end): Likewise.
3166         * integrate.c (copy_rtx_and_substitute): Likewise.
3167         * stmt.c (expand_computed_goto): Likewise.
3168
3169 2003-09-18  Roger Sayle  <roger@eyesopen.com>
3170
3171         * simplify-rtx.c (simplify_unary_operation): Only transform
3172         (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
3173         is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
3174
3175 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3176
3177         PR target/11674
3178         * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
3179
3180 2003-09-18  Roger Sayle  <roger@eyesopen.com>
3181
3182         * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
3183         PARITY_EXPR): Delete unused tree codes.
3184         * c-common.c (c_common_truthvalue_conversion): Delete references
3185         to FFS_EXPR and POPCOUNT_EXPR.
3186         * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
3187         (pp_c_expression): Likewise.
3188         * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
3189         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
3190         * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
3191         CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
3192         BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
3193         and long long variants.
3194
3195 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3196
3197         * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
3198         * c-pretty-print.c: Fix formatting.
3199         (pp_c_integer_constant): Append type annotation to literals.  Tidy.
3200         (pp_c_type_specifier): Tidy.
3201         (pp_c_compound_literal): New function.
3202         (pp_c_initializer): Simplify..
3203         (pp_c_initializer_list): Likewise.
3204         (pp_c_brace_enclosed_initializer_list): New function.
3205         (pp_c_postfix_expression): Simplify.
3206
3207 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
3208
3209         * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
3210         one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
3211
3212 2003-09-17  Richard Henderson  <rth@redhat.com>
3213
3214         * tree-optimize.c (tree_rest_of_compilation): Save and restore
3215         input_location.
3216
3217 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
3218
3219         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
3220
3221 2003-09-17  Richard Henderson  <rth@redhat.com>
3222
3223         * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
3224
3225 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3226
3227         * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
3228         * configure: Regenerate.
3229
3230 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
3231
3232         PR debug/12066
3233         * dbxout.c (dbxout_init): Use a langhook to find builtin types.
3234         * langhooks-def.h (lhd_return_null_tree_v): New function.
3235         (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
3236         (LANG_HOOKS_DECLS): Add it to the intializer.
3237         * langhooks.c (lhd_return_null_tree_v): New function.
3238         * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
3239
3240 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
3241
3242         * configure.in: Quote gcc_config_arguments for configargs.h.
3243         * configure: Regenerated.
3244         * gccbug.in: Don't shell-expand gcc_config_arguments.
3245
3246 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3247
3248         PR c++/11357
3249         * c-pretty-print.c (pp_c_floating_constant): Append
3250         type-annotation to floating constants.
3251
3252 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3253
3254         * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
3255         Define _ABIO32.
3256         Use it for _MIPS_SIM.
3257         * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
3258
3259         * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
3260         Moved ...
3261         * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
3262         updating comment.
3263         Fixes PR target/10190.
3264
3265 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
3266
3267         * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
3268         to shared libraries.
3269
3270 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
3271
3272         PR optimization/11646
3273         * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
3274         EDGE_ABNORMAL flag for EH edges.
3275         * toplev.c (rest_of_handle_cse): Delete unreachable blocks
3276         if dead edges were purged.
3277
3278 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
3279
3280         * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
3281         * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
3282         * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
3283         * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
3284
3285 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
3286
3287         * cfgcleanup.c (label_is_jump_target_p): Correct use of table
3288         returned by tablejump_p.
3289
3290 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
3291
3292         * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
3293
3294 2003-09-16  Roger Sayle  <roger@eyesopen.com>
3295
3296         PR bootstrap/12269
3297         * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
3298         argument to be VOIDmode, taking the mode of the comparison from
3299         the operands.  Only call simplify_relational_operation if we
3300         know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
3301         if comparison has a floating point result.  Ensure that the
3302         result is always of the specified mode.
3303         (simplify_replace_rtx): Simplify call to simplify_gen_relational.
3304         (simplify_unary_operation): Ensure the correct mode and cmp_mode
3305         are always passed to simplify_gen_relational.  Simplify NOT of
3306         comparison operator in any mode, not just BImode.
3307         (simplify_ternary_operation): Correct tests on the return value
3308         of simplify_relational_operation to use const_true_rtx, not
3309         const1_rtx.  Abort if it ever returns a non-constant result.
3310
3311         * cfgloopanal.c (count_strange_loop_iterations): Use the function
3312         simplify_relational_operation, not simplify_gen_relational, if
3313         we're only interested in constant comparisons and will ignore
3314         non-constant results.
3315
3316 2003-09-16  Roger Sayle  <roger@eyesopen.com>
3317
3318         * fold-const.c (tree_swap_operands_p): New function to determine
3319         the prefered ordering of operands.
3320         (fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
3321         operands to commutative, comparison or ternary operators.  Replace
3322         uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
3323         transformation of A ? B : C into !A ? C : B.
3324
3325 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
3326
3327         * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3328         * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3329         * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3330         * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3331         * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3332         * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3333         * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3334         * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
3335
3336 2003-09-16  Jason Merrill  <jason@redhat.com>
3337             Jakub Jelinek  <jakub@redhat.com>
3338
3339         * c-common.c (handle_warn_unused_result_attribute): New function.
3340         (c_common_attribute_table): Add warn_unused_result.
3341         (c_expand_expr): Issue warning when result of inlined function
3342         with warn_unused_result attribute is ignored.
3343         * calls.c (expand_call): Issue warning when result of function
3344         with warn_unused_result attribute is ignored.
3345         * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
3346         * expr.c (expr_wfl_stack): Define.
3347         (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
3348         pass const0_rtx as target.  Chain locations into expr_wfl_stack.
3349         * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
3350         bit if inlined function has warn_unused_result attribute.
3351         * input.h (expr_wfl_stack): Declare.
3352         * doc/extend.texi: Document warn_unused_result attribute.
3353
3354 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
3355
3356         * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
3357
3358 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
3359
3360         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
3361         ATTRIBUTE_UNUSED.
3362         (call_insn_operand): For PIC, don't allow a direct call to a
3363         function in a different section than the current one.
3364
3365 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3366
3367         * doc/invoke.texi (Warning Options): Add missing hyphen before
3368         "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
3369         Move "-Wold-style-definition" to the C-only section.
3370         Fix the ordering of the warning options.
3371
3372 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3373             Jeff Law  <law@redhat.com>
3374
3375         * gcse.c (remove_reachable_equiv_notes): New.
3376         replace_store_insn): Call it.  Update antic list.
3377         (store_killed_in_insn): Take REG_EQUAL notes into account.
3378         (build_store_vectors, delete_store): Add parameter to
3379         replace_store_insn call.
3380
3381 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
3382
3383         * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
3384         SYMBOL_REF_LOCAL_P.
3385
3386 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
3387
3388         * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
3389         (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
3390         * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
3391         Likewise.
3392         * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
3393         Likewise.
3394         * config/rs6000/rs6000.c (function_arg_padding): Likewise.
3395         * config/sparc/sparc.c (function_arg_padding): Likewise.
3396
3397 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
3398
3399         * haifa-sched.c (schedule_block): Use ready_remove_first instead
3400         of choose_ready for non-dfa insn scheduling.
3401
3402 2003-09-15  Andreas Jaeger  <aj@suse.de>
3403             Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3404
3405         * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
3406         * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
3407         * c-parse.in: Warn about old-style parameter definition.
3408         * c-common.c: Define warn_old_style_defintion.
3409         * c-common.h: Declare it.
3410         * c.opt: Add Wold-style-defintion.
3411
3412 2003-09-15  Andreas Jaeger  <aj@suse.de>
3413
3414         * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
3415         * config/rs6000/rs6000.c: Likewise.
3416
3417 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3418
3419         PR optimization/10914
3420         * expr.h (get_condition, canonicalize_condition): Declaration changed.
3421         * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
3422         and canonicalize_condition calls.
3423         * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
3424         delete_null_pointer_checks): Ditto.
3425         * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
3426         * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
3427         * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
3428         (canonicalize_condition, get_condition): Allow to return comparisons
3429         of cc mode registers.
3430         * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
3431         cc mode registers comparison in condition.
3432
3433 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
3434
3435         * coverage.c (create_coverage): Do not call pushlevel/poplevel.
3436         * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
3437         function.
3438         * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
3439
3440 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3441
3442         * combine.c (simplify_comparison): Convert
3443         (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
3444         (eq (and (lshiftrt X Y) 1) 0).
3445
3446 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
3447
3448         * alias.c: Follow spelling conventions.
3449         * cpphash.h: Likewise.
3450         * fold-const.c: Likewise.
3451
3452 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
3453
3454         * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
3455         * c-lex.c (cb_line_change): Skip line changing whenever
3456         c-ppoutput.c would.
3457
3458 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
3459
3460         * ra.c: Convert to ISO C90 prototypes.
3461         * ra-build.c: Likewise.
3462         * ra-colorize.c: Likewise.
3463         * ra-debug.c: Likewise.
3464         * ra-rewrite.c: Likewise.
3465
3466 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
3467
3468         * Makefile.in (%.dvi): Remove excess $(docdir).
3469
3470 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
3471
3472         * function.c (STACK_BYTES): Move definition to head of file.
3473         (assign_parms): Don't pass current_function_pretend_args_size
3474         directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
3475         round current_function_pretend_args_size up to STACK_BYTES.  Skip any
3476         excess before laying out the argument.
3477
3478 2003-09-14  Andreas Jaeger  <aj@suse.de>
3479
3480         * objc/objc-act.c: Convert to ISO C90 prototypes.
3481         * objc/objc-act.h: Likewise.
3482
3483 2003-09-14  Olaf Hering  <olh@suse.de>
3484
3485         * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
3486
3487 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
3488
3489         PR target/12021
3490         * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
3491         as they already are done in config/m68k/m68k.h.
3492         * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
3493
3494         * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
3495         (machopic_output_stub): Only generate pic base symbols when using pic
3496         and generate them in the form L00000000$spb.
3497
3498 2003-09-13  Richard Henderson  <rth@redhat.com>
3499
3500         * cgraphunit.c (cgraph_assemble_pending_functions): Export.
3501         (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
3502         * cgraph.h: Update.
3503
3504 2003-09-12  Dale Johannesen  <dalej@apple.com>
3505
3506         * config/rs6000/rs6000.c: Fix typos in previous.
3507
3508 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
3509
3510         * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
3511         when allocating pp->buffer.
3512
3513 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
3514
3515         * config/darwin.c (machopic_select_rtx_section): Use
3516         const_data_section for things that might require relocation.
3517
3518 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
3519
3520         PR bootstrap/12264
3521         * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
3522
3523 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
3524
3525         * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
3526         * config/xtensa/linux.h (ASM_SPEC): Likewise.
3527         * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
3528         -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
3529         -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
3530         -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
3531         -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
3532         -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
3533         and redefine corresponding TARGET_* macros with constants from the
3534         xtensa-config.h header.
3535         * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
3536         for the options listed above.
3537
3538 2003-09-12  Dale Johannesen  <dalej@apple.com>
3539
3540         * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
3541         * config/rs6000/rs6000-c.c:  Ditto.
3542         * config/rs6000/rs6000.c:  Ditto.
3543         * config/rs6000/ sysv4.h:  Ditto.
3544
3545 2003-09-12  Chris Lattner <sabre@nondot.org>
3546
3547         * loop.c: Move comments describing BIV's and GIV's to top of file
3548
3549 2003-09-12  Roger Sayle  <roger@eyesopen.com>
3550
3551         PR optimization/8967
3552         * alias.c (write_dependence_p): Modify to take an additional constp
3553         argument that controls whether the UNCHANGING_RTX_P flags are used.
3554         (anti_dependence, output_dependence): Adjust write_dependence_p
3555         callers to pass this additional argument, to return the same result.
3556         (unchanging_anti_dependence): New variant of anti_dependence that
3557         ignores the UNCHANGING_RTX_P property on memory references.
3558         * rtl.h (unchaning_anti_dependence): Prototype here.
3559         * flow.c (init_propagate_block): Place fake constant mem writes on
3560         the mem_set_list so that dead writes to const variables are deleted.
3561         (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
3562         (mark_used_regs): Likewise.
3563
3564 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
3565
3566         * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
3567         (mcore_secondary_reload_class): Declare.
3568         (mcore_output_inline_const_forced): Remove.
3569         * config/mcore/mcore.md (movsi): Remove the code that forced
3570         non-inlineable constants into a register if the target was r15
3571         or the stack pointer.  Remove constant restrictions from the main
3572         define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
3573         of an r <- P alternative.  Remove fallback define_insn for reload.
3574         (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
3575         define_insn.  Use mcore_output_move in the remaining define_insn.
3576         Adjust condition and constraints in the way as for movsi.
3577         (movdi): Always split unacceptable constants into two.  Use
3578         simplify_gen_subreg instead of operand_subword{,_force}.
3579         * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
3580         (mcore_output_move): Support HImode and QImode moves as well.
3581         (mcore_m15_operand_p): New function.
3582         (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
3583         (mcore_secondary_reload_class): New function.
3584         * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
3585         terms of mcore_secondary_reload_class.
3586
3587 2003-09-11  Mike Stump  <mrs@apple.com>
3588
3589         * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
3590
3591 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3592
3593         * builtins.c (fold_builtin_logarithm): if N can't be truncated to
3594         MODE exactly, then only convert logN(N) -> 1.0 if
3595         flag_unsafe_math_optimizations is set.
3596
3597         * builtins.c (builtin_dconsts_init, dconstpi, dconste,
3598         init_builtin_dconsts): Delete.
3599         * emit-rtl.c (dconstpi, dconste): Define.
3600         (init_emit_once): Initialize dconstpi & dconste.
3601         * real.h (dconstpi, dconste): Declare.
3602
3603 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
3604
3605         PR fortran/11522
3606         * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
3607         for ultimate origin even if block is abstract.
3608
3609 2003-09-11  Roger Sayle  <roger@eyesopen.com>
3610
3611         * combine.c (combine_simplify_rtx): Move several NOT and NEG
3612         optimizations from here...
3613         * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
3614         simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
3615
3616 2003-09-11  Richard Henderson  <rth@redhat.com>
3617
3618         * cgraphunit.c (cgraph_finalize_function): Add nested arg.
3619         Tweek tests for function already generated.
3620         (cgraph_expand_function): Don't double announce in !unit-at-a-time.
3621         * cgraph.h (cgraph_finalize_function): Update for extra arg.
3622         * c-decl.c (finish_function): Likewise.
3623
3624 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
3625
3626         * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
3627
3628 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
3629
3630         * real.c: Update URL to VAX floating point docs.
3631         (decode_vax_d): Extract 8 exponent bits instead of 7.
3632
3633 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
3634
3635         * combine.c (force_to_mode): Set fuller_mask based only on mask,
3636         not op_mode.
3637
3638 2003-09-11  Jan Hubicka  <jh@suse.cz>
3639
3640         * c-objc-common.c (c_cannot_inline_tree_fn): Warn
3641         on why function is not inlinable; do not check
3642         the body.
3643         (inline_forbidden_p): Move to...
3644         * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
3645         deal with alloca, longjmp.
3646         (inline_forbidden_p): New static function.
3647         (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
3648         find_builtin_longjmp_call): Kill.
3649
3650 2003-09-10  Richard Henderson  <rth@redhat.com>
3651
3652         * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
3653         * cgraphunit.c: Update to match.
3654         (record_call_1): Rearrange.  Call lang hook for language nodes.
3655         (cgraph_analyze_function): Don't call lower_function.
3656         * langhooks.h (struct lang_hooks_for_callgraph): Replace
3657         lower_function with analyze_expr.
3658         * langhooks-def.h: Update to match.
3659         * langhooks.c (lhd_callgraph_analyze_expr): New.
3660
3661 2003-09-10  Martin Husemann  <martin@duskware.de>
3662
3663         PR target/11965
3664         * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
3665         constants greater than 63.
3666         * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
3667         against constants greater than 31.
3668         (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
3669         constants greater than 63.
3670
3671 2003-09-09  Richard Henderson  <rth@redhat.com>
3672
3673         * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
3674         * cgraph.h (cgraph_finalize_function): Update.
3675         * c-decl.c (finish_function): Update.
3676
3677 2003-09-09  Devang Patel  <dpatel@apple.com>
3678
3679         * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
3680         * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
3681
3682 2003-09-09  Eric Christopher  <echristo@redhat.com>
3683
3684         * configure.in: Change usage of 'head' to 'sed 1q'.
3685         * configure: Regenerate.
3686
3687 2003-09-09  Richard Henderson  <rth@redhat.com>
3688
3689         * except.c: Include cgraph.h.
3690         (output_function_exception_table): Invoke
3691         cgraph_varpool_mark_needed_node.
3692         * Makefile.in (except.o): Update.
3693
3694 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
3695
3696         * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
3697         and use it throughout.
3698
3699 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3700
3701         * builtins.c (real_dconstp, fold_builtin_logarithm,
3702         fold_builtin_exponent): New, split out from fold_builtin.  Also
3703         generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
3704         * emit-rtl.c (dconst3, dconst10, dconstthird): New.
3705         (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
3706         of hardcoded array size.
3707         * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
3708         (tree_expr_nonnegative_p): Likewise.
3709         * real.h (dconst3, dconst10, dconstthird): New.
3710
3711 2003-09-09  Jan Hubicka  <jh@suse.cz>
3712
3713         * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
3714         inline functions.
3715         (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
3716         DECL_SAVED_TREE.
3717
3718 2003-09-09  Roger Sayle  <roger@eyesopen.com>
3719
3720         * builtins.c (fold_builtin_cabs): Protect the complex argument
3721         against multiple evaluation when optimizing cabs* into sqrt*.
3722
3723 2003-09-09  Jan Hubicka  <jh@suse.cz>
3724
3725         * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
3726
3727 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
3728
3729         * Makefile.in: Revert yesterday's change.
3730
3731 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
3732             Peter Barada <peter@baradas.org>
3733
3734         * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
3735         * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
3736         * config/m68k/linux.h (REGISTER_NAMES): Likewise.
3737         * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
3738         * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
3739         * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
3740         * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
3741         (m68k_compute_frame_layout): New function.
3742         (m68k_initial_elimination_offset): New function.
3743         (m68k_output_function_prologue): ColdFire-specific movem handling.
3744         (m68k_output_function_epilogue): Likewise.
3745         * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
3746         (ARG_POINTER_REGNUM): Add new definition.
3747         (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
3748         (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
3749         (CAN_ELIMINATE): Likewise.
3750         (INITIAL_ELIMINATION_OFFSET): Likewise.
3751
3752 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
3753
3754         * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
3755         by removing redundant variable cfa_store_offset.
3756
3757 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
3758
3759         * langhooks-def.h (lhd_register_builtin_type): New function.
3760         (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
3761         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
3762         * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
3763         * langhooks.c (lhd_register_builtin_type): New function.
3764         * c-common.h (c_register_builtin_type): Declare.
3765         * c-common.c (c_register_builtin_type): New function.
3766         * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
3767         c_register_builtin_type.
3768         * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
3769         __float80, and __float128 macros.
3770         * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
3771         __float80, and __float128 types.
3772
3773 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3774
3775         * builtin-types.def
3776         (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
3777         BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
3778         BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
3779         * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
3780         BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
3781         BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
3782         BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
3783         BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
3784         BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
3785         BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
3786         BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
3787         BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
3788         BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
3789         BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
3790         BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
3791         BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
3792         BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
3793         New.
3794         * doc/extend.texi: Document new builtins.
3795
3796 2003-09-09  Jan Hubicka  <jh@suse.cz>
3797
3798         * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
3799         finalization.
3800         * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
3801         functions, check for COMDAT.
3802         (cgraph_assemble_pending_functions): Break out from...
3803         (cgraph_finalize_function): ... here; allow redefinig of extern inline
3804         functions.
3805         (record_call_1): Record function references only in non-unit-at-a-time
3806         mode.
3807         (cgraph_analyze_function): Reset current_function_decl.
3808         (cgraph_finalize_compilation_unit):  Assemble pending functions.
3809
3810 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
3811
3812         * mklibgcc.in (libcc.a): Depend on stmp-dirs.
3813         (libgov.a): Likewise.
3814         (libgcc_eh.a): Likewise.
3815
3816 2003-09-08  Roger Sayle  <roger@eyesopen.com>
3817
3818         * fold-const.c (operand_equal_p): Clarify documentation.
3819
3820 2003-09-08  Richard Henderson  <rth@redhat.com>
3821
3822         * c-decl.c (c_expand_body_1): Push and pop function context here.
3823         * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
3824         nested argument instead of computing nesting ourselves.
3825
3826 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
3827
3828         * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
3829         regstack if optimizing but not scheduling after reload.
3830
3831 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
3832
3833         * config/sparc/sparc.c (struct machine_function): New type.
3834         (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
3835         (sparc_override_options): Initialize init_machine_status.
3836         (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
3837         tie_symbolic_operand, tle_symbolic_operand): New functions.
3838         (symbolic_operand): Disallow tls_symbolic_operand.
3839         (symbolic_memory_operand): Likewise.
3840         (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
3841         constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
3842         New functions.
3843         (sparc_tls_symbol): New variable.
3844         (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
3845         legitimize_address): New functions.
3846         (print_operand): Handle %&.
3847         (sparc_init_machine_status, get_some_local_dynamic_name,
3848         get_some_local_dynamic_name_1): New functions.
3849         (sparc_output_dwarf_dtprel): New function.
3850         * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
3851         constant_address_p.
3852         (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
3853         (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
3854         (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
3855         (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
3856         (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
3857         (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
3858         (ASM_OUTPUT_DWARF_DTPREL): Define.
3859         (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
3860         tie_symbolic_operand, tle_symbolic_operand.
3861         * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
3862         UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
3863         (tls_call_delay): New attribute.
3864         (in_call_delay): Use it.
3865         (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
3866         (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
3867         tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
3868         tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
3869         tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
3870         tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
3871         (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
3872         tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
3873         tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
3874         tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
3875         tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
3876         tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
3877         tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
3878         tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
3879         insns.
3880         * config/sparc/sparc-protos.h (legitimate_constant_p,
3881         constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
3882         legitimize_tls_address, legitimize_address, tls_symbolic_operand,
3883         tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
3884         * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
3885         * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
3886         * configure.in (sparc*-*-*): Add TLS check.
3887         * configure: Rebuilt.
3888
3889 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
3890
3891         PR target/11689
3892         * config/i386/i386.c (memory_address_length): Fix computation when
3893         the base is esp or ebp.
3894
3895 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
3896
3897         PR c++/11852
3898         * varasm.c (initializer_constant_valid_p): Correct logic for
3899         CONSTRUCTORs.
3900
3901 2003-09-07  Roger Sayle  <roger@eyesopen.com>
3902
3903         * expr.c (expand_operands): New function to expand an operand pair.
3904         (expand_expr): Call expand_operands whenever we need to expand both
3905         operands of a binary operator.
3906         (do_store_flag): Likewise for operands of comparison operations.
3907
3908 2003-09-07  Roger Sayle  <roger@eyesopen.com>
3909
3910         * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
3911         (-A)*B if we care about sign-dependent rounding.
3912
3913 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
3914
3915         * c-pretty-print.h (pp_c_left_brace): Declare.
3916         (pp_c_right_brace): Likewise.
3917         * c-pretty-print.c (pp_c_left_brace): Now a function
3918         (pp_c_right_brace): Likewise.
3919
3920 2003-09-07  Jan Hubicka  <jh@suse.cz>
3921
3922         * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
3923
3924 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3925
3926         * diagnostic.c (warn_deprecated_use): Move to toplev.c
3927
3928 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3929
3930         * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
3931         * Makefile.in (langhooks.o): Depend on diagnostic.h
3932
3933 2003-09-06  James E Wilson  <wilson@tuliptree.org>
3934
3935         * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
3936         simplify.
3937
3938 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
3939
3940         * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
3941         and use it throughout.
3942
3943 2003-09-07  Jan Hubicka  <jh@suse.cz>
3944
3945         * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
3946
3947         * toplev.c  (rest_of_decl_compilation):  Do not finalize external
3948         virables.
3949
3950         * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
3951         functions.
3952         (cgraph_varpool_finalize_decl): Notice global symbol when needed.
3953
3954 2003-09-06  Jan Hubicka  <jh@suse.cz>
3955
3956         PR target/12070
3957         * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
3958
3959         PR opt/12082
3960         * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
3961
3962 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3963
3964         * diagnostic.c (announce_function): Move to toplev.c.
3965
3966 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3967
3968         * gcse.c (expr_equiv_p): Don't consider anything to be equal to
3969         volatile mem.
3970
3971 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3972
3973         * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
3974         when gc checking is enabled.
3975
3976 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
3977
3978         PR c/9862
3979         * c-decl.c (c_expand_body_1): Move return warning from here...
3980         (finish_function): ...to here.
3981
3982 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
3983
3984         * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
3985         a subset of the input class.
3986
3987 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
3988
3989         * config/i860/i860.c: Follow spelling conventions.
3990         * config/i860/i860.h: Likewise.
3991         * config/sh/sh.h: Likewise.
3992
3993 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
3994
3995         * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
3996         * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
3997         * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
3998
3999 2003-09-05  Roger Sayle  <roger@eyesopen.com>
4000             Richard Henderson  <rth@redhat.com>
4001
4002         PR optimization/1823
4003         * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
4004         multiplication to implement division by constant integer.
4005
4006 2003-09-05  Jan Hubicka  <jh@suse.cz>
4007
4008         * opts.c (decode_options): Enable unit-at-a-time at -O2.
4009         * params.def (max-inline-insns-single): Set to 500
4010         (max-inline-insns-auto): Set to 150
4011         * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
4012
4013 2003-09-04  Richard Henderson  <rth@redhat.com>
4014
4015         * cgraph.c (cgraph_mark_reachable_node): Split out from ...
4016         (cgraph_mark_needed_node): Remove needed argument.
4017         * cgraph.h: Update to match.
4018         * cgraphunit.c (decide_is_function_needed): Split out from ...
4019         (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
4020         if we generated the function.
4021         (record_call_1): Update for cgraph_mark_reachable_node.
4022         * varasm.c (mark_referenced): Likewise.
4023         * objc/objc-act.c (mark_referenced_methods): Likewise.
4024
4025 2003-09-04  DJ Delorie  <dj@redhat.com>
4026
4027         * targhooks.c: Add comment explaining the migration process.
4028
4029 2003-09-04  Eric Christopher  <echristo@redhat.com>
4030
4031         * config/frv/t-frv: Fix path for frv-abi.h.
4032         * config/frv/frv-asm.h: Fix string concatenation.
4033
4034 2003-09-04  DJ Delorie  <dj@redhat.com>
4035
4036         * builtins.c (apply_args_size): Guard against a NULL cfun.
4037         (expand_builtin_apply_args_1): Likewise.
4038         (expand_builtin_apply): Likewise.
4039         Fixes PR bootstrap/12172.
4040
4041 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4042
4043         * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
4044         assembler supports Sun syntax for cmov.
4045         * configure: Regenerate.
4046         * config.in: Likewise.
4047         * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
4048         HAVE_AS_IX86_CMOV_SUN_SYNTAX.
4049         * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
4050         Fixes PR target/12101.
4051
4052 2003-09-04  Matt Austern  <austern@apple.com>
4053
4054         * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
4055         with verbosity 0, instead of DECL_NAME, for human-readable string.
4056
4057 2003-09-04  Eric Christopher  <echristo@redhat.com>
4058
4059         * targhooks.c (default_return_in_memory): Allow
4060         unconverted ports.
4061
4062 2003-09-04  Eric Christopher  <echristo@redhat.com>
4063
4064         * targhooks.c (default_return_in_memory): Fix typo
4065         in last checkin.
4066
4067 2003-09-04  Eric Christopher  <echristo@redhat.com>
4068
4069         * targhooks.c (default_return_in_memory): Fix default
4070         definition.
4071
4072 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
4073
4074         * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
4075         deleted function.
4076         * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
4077         enable coff-only code in m68k.c.
4078
4079 2003-09-04  Nick Clifton  <nickc@redhat.com>
4080
4081         * config.gcc: Add v850e1 target.  Allow --with-cpu to accept
4082         v850e1.
4083         * config/v850/v850.h: Accept v850e1 as a default CPU.
4084         Accept -mv850e1 as a command line option.
4085         * doc/invoke.texi: Document new -mv850e1 command line switch.
4086         * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
4087         -mv850e.
4088
4089 2003-09-04  Nick Clifton  <nickc@redhat.com>
4090
4091         * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
4092         * config/v850/t-v850: Only produce one extra multilib - for
4093         the v850e.
4094         * config/v850/t-v850e: New file: Only produce one extra
4095         multilib - for the v850.
4096
4097 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
4098
4099         * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
4100         * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
4101         * unwind.h (_Unwind_GetBSP): New prototype.
4102         * libgcc-std.ver: Add empty GCC_3.3.2 version.
4103         * mkmap-symver.awk: For symbol versions with no exported symbols,
4104         don't put anything into version script, just change all symbol
4105         versions which inherit from it to inherit from its ancestor.
4106
4107 2003-09-04  Eric Christopher  <echristo@redhat.com>
4108
4109         * config/mips/mips.c (mips_expand_prologue): Convert to
4110         calls.struct_value_rtx hook.
4111         (reg_or_const_float_1_operand): New.
4112         * config/mips/mips.h: Update Comments.
4113         (mips_arg): Add reg_or_const_float_1_operand.
4114         * config/mips/mips.md (divdf3); Convert to expander.
4115         (divsf3): Ditto.
4116         (*divdf3): New pattern.
4117         (*divsf3): Ditto.
4118
4119 2003-09-04  Jan Hubicka  <jh@suse.cz>
4120
4121         * toplev.c (wrapup_global_declarations): Fix final pass in
4122         unit-at-atime mode.
4123
4124 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
4125
4126         * doc/extend.texi: Document removal of cast-as-lvalue extension in
4127         C++.
4128
4129 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
4130
4131         * gcc.c (process_command): Fix typo.
4132
4133 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
4134
4135         optimization/11980
4136         * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
4137         (PTRDIFF_TYPE): Likewise.
4138         (WCHAR_TYPE_SIZE): Likewise.
4139
4140 2003-09-03  DJ Delorie  <dj@redhat.com>
4141
4142         * targhooks.c: New file.
4143         * targhooks.h: New file.
4144         * Makefile.in: Add targhooks.o support.
4145         (function.o): Depend on$(TARGET_H).
4146         (stmt.o): Likewise.
4147         (combine.o): Depend on $(TREE_H) and $(TARGET_H).
4148         * builtins.c (apply_args_size, expand_builtin_apply_args_1,
4149         expand_builtin_apply): Convert to calls.struct_value_rtx hook.
4150         (expand_builtin_saveregs): Convert to
4151         calls.expand_builtin_saveregs hook.
4152         * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
4153         here, instead of ...
4154         (get_parm_info) ... here.
4155         (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
4156         hook.
4157         (finish_function): Handle calls.promote_prototypes hook here too.
4158         * c-typeck.c (convert_arguments): Convert to
4159         calls.promote_prototypes hook.
4160         (c_convert_parm_for_inlining): Likewise.
4161         * calls.c (initialize_argument_information): Convert to
4162         calls.promote_function_args hook.
4163         (expand_call): Convert to calls.struct_value_rtx,
4164         calls.strict_argument_naming,
4165         calls.pretend_outgoing_varargs_named, and
4166         calls.promote_function_return hooks.  Pass fndecl to
4167         aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
4168         hooks, so they can use that.
4169         (emit_library_call_value_1): Likewise.
4170         * combine.c (setup_incoming_promotions): Convert to
4171         calls.promote_function_args hook.
4172         * emit-rtl.c: Convert to calls.struct_value_rtx hook.
4173         * expr.c (expand_assignment): Pass call to aggregate_value_p.
4174         (expand_expr): Likewise.
4175         * expr.h: Remove support for SETUP_INCOMING_VARARGS,
4176         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
4177         RETURN_IN_MEMORY macro defaults.
4178         * final.c (profile_function): Convert to calls.struct_value_rtx
4179         hook.
4180         * function.c (aggregate_value_p): Accept function type tree as
4181         second parameter; try to deduce fntype from it.  Convert to
4182         calls.return_in_memory hook.
4183         (assign_parms): Convert to calls.setup_incoming_varargs,
4184         calls.strict_argument_naming, calls.promote_function_args,
4185         calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
4186         aggregate_value_p.
4187         (expand_function_start): Likewise.  Convert to
4188         calls.struct_value_rtx hook.
4189         (expand_function_end): Convert to calls.promote_function_return hook.
4190         (allocate_struct_function): Pass fndecl to aggregate_value_p.
4191         * hard-reg-set.h: Update comments to new hook names.
4192         * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
4193         * reg-stack.c (stack_result): Likewise.
4194         * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
4195         * stmt.c (expand_value_return): Convert to
4196         calls.promote_function_return hook.
4197         * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
4198         TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
4199         TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
4200         TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
4201         TARGET_STRICT_ARGUMENT_NAMING,
4202         TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
4203         * target.h: Likewise.
4204         * tree.h (aggregate_value_p): Also takes a tree to deduce function
4205         attributes from (for target hooks).
4206         * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
4207         PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
4208         STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
4209         EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
4210         STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
4211         to hooks.
4212
4213         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
4214         to aggregate_value_p.
4215         * config/arm/arm.c (arm_init_cumulative_args,
4216         arm_output_mi_thunk): Likewise.
4217         * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
4218         Likewise.
4219         * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
4220         mips_can_use_return_insn): Likewise.
4221         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
4222         * config/s390/s390.c (s390_output_mi_thunk): Likewise.
4223         * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
4224         aggregate_value_p.
4225         * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
4226         function to aggregate_value_p.
4227         * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
4228         aggregate_value_p.
4229
4230         * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
4231         (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
4232         sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
4233         (sh_handle_renesas_attribute, sh_promote_prototypes,
4234         sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
4235         sh_setup_incoming_varargs, sh_strict_argument_naming,
4236         sh_pretend_outgoing_varargs_named): New decls.
4237         (targetm): Add new hooks.
4238         (calc_live_regs): Save MACL and MACH if the function has the
4239         renesas attribute.
4240         (sh_expand_prologue): Support renesas attribute.
4241         (sh_builtin_saveregs): Make static.
4242         (sh_build_va_list): Support renesas attribute.
4243         (sh_va_start): Likewise.
4244         (sh_va_arg): Likewise.
4245         (sh_promote_prototypes): New.
4246         (sh_function_arg): New, moved from sh.h.  Support renesas
4247         attribute.
4248         (sh_function_arg_advance): Likewise.
4249         (sh_return_in_memory): Likewise.
4250         (sh_strict_argument_naming): Likewise.
4251         (sh_pretend_outgoing_varargs_named): Likewise.
4252         (sh_struct_value_rtx): New.
4253         (sh_attribute): Add renesas attribute.
4254         (sh_handle_renesas_attribute): New.
4255         (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
4256         (sh_ms_bitfield_layout_p): Support renesas attribute also.
4257         (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
4258         config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
4259         -mhitachi.
4260         (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
4261         target hooks.
4262         (sh_args): Add renesas_abi flag.
4263         (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
4264         (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
4265         (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
4266         stack for the renesas abi.
4267         (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
4268         SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
4269         PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
4270         call cookie to indicate renesas calls.
4271
4272 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
4273
4274         * gcse.c (replace_one_set): New function.
4275         (pre_insert_copy_insn): Change the order of copying
4276         to make copy propagation discover additional PRE opportunities.
4277
4278 2003-09-03  Roger Sayle  <roger@eyesopen.com>
4279
4280         PR optimization/11700.
4281         * simplify-rtx.c (simplify_subreg): Check that the subreg offset
4282         of a hard register is representable before trying to simplify it
4283         using subreg_hard_regno.
4284
4285 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4286
4287         * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
4288         * configure: Regenerate.
4289
4290 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4291
4292         * intl.h (N_): Remove parentheses.
4293
4294 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
4295
4296         * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
4297         * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
4298         definition and code blocks compiled when not defined.
4299         * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
4300         * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
4301         * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
4302         * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
4303
4304 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
4305
4306         * cgraphunit.c (visited_nodes): New static variable.
4307         (record_call_1): Use walk_tree with visited_nodes.
4308         (cgraph_create_edges): Use walk_tree with visited_nodes.
4309         Setup/teardown visited_nodes hashtable.
4310
4311 2003-09-03  Roger Sayle  <roger@eyesopen.com>
4312
4313         * toplev.c (flag_rounding_math): New global variable.
4314         (f_options): Add to the list of language independent options.
4315         * flags.h (flag_rounding_math): Prototype here.
4316         (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
4317         * common.opt (frounding-math): New common command line option.
4318         * opts.c (common_handle_option): Handle OPT_frounding_math.
4319         (set_fast_math_flags): -ffast-math clears flag_rounding_math.
4320
4321         * doc/invoke.texi: Document this new command line option.
4322
4323 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4324
4325         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
4326
4327 2003-09-03  Jan Hubicka  <jh@suse.cz>
4328
4329         * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
4330         * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
4331         * c-objc-common.c: Kill include of gt-c-objc-common.h
4332         (expand_deferred_fns, deffer_fn): Kill function.
4333         (deferred_fns): Kill variable.
4334         (finish_cdtor): Update finish_function call.
4335         (c_objc_common_finish_file): Always call cgraph code.
4336         * c-parse.c: Regenerate.
4337         * c-parse.y: Regenerate.
4338         * c-tree.h (finish_function): Update prototype.
4339         * objc-acct.c (build_module_descriptor, finish_method_def):
4340         Update call of finish_function.
4341         * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
4342         forward prototype.
4343         (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
4344         function and assemble it if needed.
4345         (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
4346         mode.
4347         (cgraph_optimize): Likewise.
4348         (cgraph_expand_function): In non-unit-at-a-time mode keep function body
4349         even when it has no inline callees.
4350         * c-parse.in: Update calls to finish_function.
4351
4352 2003-09-03  Nick Clifton  <nickc@redhat.com>
4353
4354         * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
4355         Use #error to generate the message if TARGET_DEFAULT is not
4356         recognised.
4357
4358 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
4359
4360         * config/mips/mips.h (MASK_UNUSED1): Remove.
4361         (MASK_XGOT, TARGET_XGOT): Define.
4362         (TARGET_SWITCHES): Add an entry for -mxgot.
4363         (ASM_SPEC): Map -mxgot to -xgot.
4364         * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
4365         whether we're using a big-GOT sequences.
4366         (mips_legitimize_const_move, mips_expand_call): Likewise.
4367         (override_options): Revert 2003-01-09 change.
4368         * doc/invoke.texi: Document -mxgot.
4369
4370 2003-09-02  Jason Merrill  <jason@redhat.com>
4371
4372         * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
4373         * config/sparc/sol2.h: Not here.
4374
4375 2003-09-02  Roger Sayle  <roger@eyesopen.com>
4376
4377         * expr.c (expand_expr): The code following both_summands performs
4378         the same task as simplify_gen_binary.  Replace all gotos to
4379         both_summands with a call to simplify_gen_binary and delete the
4380         now unused label.
4381
4382 2003-09-02  Jason Merrill  <jason@redhat.com>
4383
4384         PR c++/7327
4385         * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
4386
4387 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
4388
4389         * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
4390         (cgraph_optimize_function): Set current_function_decl to the
4391         fndecl we're integrating from.
4392
4393 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4394
4395         * builtins.def: Break out _Complex math functions into their
4396         own category.
4397
4398 2003-09-02  Andreas Jaeger  <aj@suse.de>
4399
4400         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
4401
4402 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
4403
4404         * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
4405         finding the note again.
4406
4407 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
4408
4409         * config.gcc: Remove host-specific rewrites of target_alias.
4410
4411 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
4412
4413         * Makefile.in (genprogs): Fix typo.
4414
4415         * Makefile.in (gencheck.o): Remove build commands.
4416         (dummy-conditions.o): Likewise.
4417         (read-rtl.o): Likewise.
4418         (gensupport.o): Likewise.
4419         (genconfig$(build_exeext)): Remove rule.
4420         (genconfig.o): Remove build commands.
4421         (genflags$(build_exeext)): Remove rule.
4422         (genflags.o): Remove build commands.
4423         (gencodes$(build_exeext)): Remove rule.
4424         (gencodes.o): Remove build commands.
4425         (genconstants.o): Remove build commands.
4426         (genemit$(build_exeext)): Remove rule.
4427         (genemit.o): Remove build commands.
4428         (genrecog$(build_exeext)): Remove rule.
4429         (genrecog.o): Remove build commands.
4430         (genextract$(build_exeext)): Remove rule.
4431         (genextract.o): Remove build commands.
4432         (genpeep$(build_exeext)): Remove rule.
4433         (genpeep.o): Remove build commands.
4434         (genattr$(build_exeext)): Remove rule.
4435         (genattr.o): Remove build commands.
4436         (genprognames): New variable.
4437         (genprogs): Likewise.
4438         (genobjs): Likewise.
4439         (genprogs): New rule.
4440         (genobjs): Likewise.
4441         (genattrtab.o): Remove build commands.
4442         (genautomata.o): Likewise.
4443         (genoutput$(build_exeext)): Remove rule.
4444         (genoutput.o): Remove build commands.
4445         (gengenrtl.o): Likewise.
4446         (genpreds.o): Likewise.
4447         (gengtype.o): Likewise.
4448         (genconditions.o): Likewise.
4449         (gen-protos.o): Likewise.
4450         (scan.o): Likewise.
4451         (fix-header.o): Likewise.
4452         (scan-decls.o): Likewise.
4453         (check-g++): Combine with other check targets.
4454         (check-gcc): Likewise.
4455         (check-g77): Likewise.
4456         (check-objc): Likewise.
4457
4458 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
4459
4460         * config.gcc: Remove host-specific stuff which is unused here
4461         since the introduction of config.host.
4462
4463         * doc/fragments.texi: Mention config.host.
4464         * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
4465         of config.build, config.host, and config.gcc.
4466
4467 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
4468
4469         * c-decl.c (pushdecl): Don't put variables on
4470         C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
4471         incomplete.
4472
4473 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
4474
4475         * config.host: New file.
4476         * config.gcc: Remove some host-specific stuff and some
4477         logic needed only for repeated invocation.
4478         * configure.in: Use config.host.
4479         * configure: Regenerate.
4480
4481 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
4482
4483         * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
4484         * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
4485         * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
4486         (fold): Kill BIT_ANDTC_EXPR and label bit_and.
4487         * tree.def (BIT_ANDTC_EXPR): Kill.
4488
4489 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
4490
4491         * configure.in: Remove uses of "for x in .. ${foo}" idiom.
4492         * configure: Regenerate.
4493
4494         * config.gcc:  Remove references to install_headers_dir, now unused
4495         since introduction of config.build.
4496         * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
4497
4498         * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
4499         config.build.
4500
4501         * config.build: New file.
4502         * config.gcc: Remove some build-specific stuff.
4503         * configure.in: Use config.build.
4504         * configure: Regnerate.
4505
4506 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
4507             Roger Sayle  <roger@eyesopen.com>
4508
4509         PR middle-end/11823
4510         * stmt.c (expand_end_case_type): Only use jump tables for dense
4511         switch statements when optimizing for size.
4512
4513 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
4514
4515         * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
4516         the != 0 case, which ensures pending stack adjustments are flushed.
4517
4518 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
4519
4520         * configure.frag: Delete file.
4521         * configure.in: Rename the substitution variables
4522         dep_host_xmake_file and dep_tmake_file to xmake_file and
4523         tmake_file respectively.  Do not expand $srcdir in the
4524         value of these; leave that for Make.  Introduce a new
4525         substitution varaible, all_lang_makefrags, which lists
4526         subdirectory Make-lang.in files; exclude these from
4527         all_lang_makefiles, which is now only for subdirectory
4528         outputs.  Do not invoke configure.frag.  Do not set nor
4529         AC_SUBST_FILE target_overrides, host_overrides, or
4530         language_fragments. Create build subdirectories in
4531         config.status extra commands.
4532         * configure: Regenerate.
4533         * Makefile.in: Update substitutions to match changes to
4534         configure.  Use include directives instead of @-insertions
4535         to read in host, target, and language fragments.
4536         (Makefile rule): Do not invoke configure.frag.  Do not copy
4537         config.status to config.run before executing it.  Set
4538         CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
4539         regenerated.
4540         (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
4541
4542 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
4543
4544         * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
4545         * c-typeck.c (same_translation_unit_p): New function.
4546         (comptypes): Use it instead of flags parameter to identify
4547         structure types from different translation units.
4548         * c-decl.c (duplicate_decls): Always call comptypes with
4549         COMPTYPE_STRICT flags argument.
4550         (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
4551         to file_scope_decl.
4552
4553 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
4554
4555         * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
4556         * c-decl.c (struct c_scope): Remove "incomplete" field.
4557         (pushdecl): Attach variables with incomplete types to
4558         the TYPE_MAIN_VARIANT of the incomplete type in question.
4559         (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
4560         to complete, not at current_scope->incomplete.  All such
4561         variables do need completion.
4562
4563 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
4564         Nicolas Pitre <nico@cam.org>
4565
4566         * arm/lib1funcs.asm (RETCOND): Delete.
4567         (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
4568         (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
4569         (__ARM_ARCH__): Move here from ieee754-?f.S.
4570         (RET, RETc): Clean up definitions.
4571         (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
4572         (FUNC_END): New macro that marks the end of any function.
4573         (ARM_FUNC_START): New macro that allows an assembler routine to be
4574         implemented in ARM code even if a Thumb-only build.
4575         Unconditionally include ieee754-?f.S.
4576         * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
4577         Mark ends of functions.
4578         Split into separate conditionally-compiled units.
4579         Use RETLDM to return from routines.
4580         * arm/ieee754-sf.S: Similarly.
4581         * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
4582         Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
4583         _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
4584         _fixsfsi and _fixunssfsi.
4585
4586         * arm/ieee754-df.S (__muldf3): Fix bug when result of a
4587         multiplication underflows to zero.
4588         (__adddf3): Fix bug when using VFP ordering on little-endian
4589         processors.
4590         (__fixdfsi): Use rrx to extract the carry into a register instead of
4591         MRS instruction.  Optimize later use of result.
4592         * arm/ieee754-sf.S (__fixsfsi): Likewise.
4593         (__fixunssfsi): Use a better sequence for handling negative-or-zero.
4594
4595 2003-08-29  Richard Henderson  <rth@redhat.com>
4596
4597         * tree-optimize.c: New file.
4598         * Makefile.in (OBJS-archive): Add tree-optimize.o.
4599         (tree-optimize.o): New.
4600         * c-decl.c (store_parm_decls): Use allocate_struct_function.
4601         (finish_function): Don't free_after_parsing or free_after_compilation.
4602         (set_save_expr_context): Move to tree-optimize.c.
4603         (c_expand_body_1): Use tree_rest_of_compilation.
4604         * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
4605         * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
4606         * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
4607         iterate until closure.
4608         * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
4609         LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
4610         (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
4611         * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
4612         * toplev.h (tree_rest_of_compilation): Declare it.
4613
4614 2003-08-29  Richard Henderson  <rth@redhat.com>
4615
4616         * function.h (struct function): Add rtl_inline_init, saved_for_inline.
4617         * integrate.c (save_for_inline): Set saved_for_inline.
4618         * c-semantics.c (genrtl_scope_stmt): Check it.
4619         * toplev.c (wrapup_global_declarations): Check it.
4620         (rest_of_handle_inlining): Set and check rtl_inline_init.
4621         (rest_of_compilation): Remove out of date comment.
4622
4623 2003-08-29  Richard Henderson  <rth@redhat.com>
4624
4625         * function.c (allocate_struct_function): New, split out of ...
4626         (prepare_function_start, init_function_start): ... here.
4627         * expr.c (init_expr): Use ggc_alloc_cleared.
4628         * stmt.c (init_stmt_for_function): Likewise.
4629         * tree.h (allocate_struct_function): Declare.
4630
4631 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
4632
4633         * config.gcc: Don't use negated character class in shell case
4634         clause.
4635
4636 2003-08-29  Richard Henderson  <rth@redhat.com>
4637
4638         * function.h (struct function): Move function_frequency and
4639         max_jumptable_ents before start of bit field members.
4640
4641 2003-08-29  Richard Henderson  <rth@redhat.com>
4642
4643         * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
4644         (fold_builtin_constant_p) ... not here.
4645
4646 2003-08-29  Richard Henderson  <rth@redhat.com>
4647
4648         * c-tree.h (C_DECL_FILE_SCOPE): Move ...
4649         * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
4650         * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
4651
4652 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4653
4654         * builtins.def: Fix typos.
4655         (ATTR_MATHFN_FPROUNDING_STORE): New macro.
4656         (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
4657         BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
4658         BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
4659         BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
4660
4661         * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
4662         Use ATTR_MATHFN_FPROUNDING_ERRNO.
4663
4664 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
4665
4666         * config.gcc (i386-*-vsta): Fix obvious bogosity.
4667
4668         * fixinc/inclhack.def:  Remove special cases for unsupported
4669         PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
4670         * fixinc/fixincl.x: Regenerate.
4671
4672 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
4673
4674         * Makefile.in (cpp.info): Just state dependencies.
4675         (gcc.info): Likewise.
4676         (gccint.info): Likewise.
4677         (gccinstall.info): Likewise.
4678         (cppinternals.info): Likewise.
4679         (cpp.dvi): Likewise.
4680         (gcc.dvi): Likewise.
4681         (gccint.dvi): Likewise.
4682         (gccinstall.dvi): Likewise.
4683         (cppinternals.dvi): Likewise.
4684         (gcov.1): Likewise.
4685         (cpp.1): Likewise.
4686         (gcc.1): Likewise.
4687         (gfdl.7): Likewise.
4688         (gpl.7): Likewise.
4689         (fsf-funding.7): Likewise.
4690         ($(objdir)/%.info): New pattern rule.
4691         (%.dvi): Likewise.
4692
4693 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
4694
4695         * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
4696         (restage2): Likewise.
4697         (restage3): Likewise.
4698         (restage4): Likewise.
4699         (restageprofile): Likewise.
4700         (restagefeedback): Likewise.
4701         (bubblestrap): Likewise.
4702
4703 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
4704
4705         * config.gcc: Narrow unsupported target match to avoid clobbering
4706         i?86-sequent-sysv4*.
4707
4708 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4709
4710         * builtins.c (mathfn_built_in): Handle new math builtins.
4711
4712 2003-08-28  Per Bothner  <per@bothner.com>
4713
4714         Fix (hopefully temporary) for breakage caused by my 08-21 patch.
4715         * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
4716         (_cpp_lex_buffer):  Likewise.
4717         * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
4718
4719 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
4720
4721         * config/s390/s390.md ("*mulsi3_sign"): New insn.
4722         ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
4723         ("mulsidi3"): ... this new insn.
4724         ("umulsidi3"): New insn.
4725         ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
4726         mixed-mode matching constraints.
4727         ("udivmodsi4", "udivmoddisi3"): New insns.
4728         ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
4729
4730 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4731
4732         * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
4733         BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
4734         BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
4735         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
4736         BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
4737         BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
4738         BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
4739         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
4740         BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
4741         BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
4742         BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
4743         * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
4744         BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
4745         BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
4746         BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
4747         * tree.c: Assign new type_nodes.
4748         * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
4749         TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
4750         (float_ptr_type_node, double_ptr_type_node,
4751         long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
4752
4753         * doc/extend.texi: Document new builtins.
4754
4755 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4756
4757         * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
4758         BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
4759
4760         * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
4761         BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
4762         BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
4763         BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
4764         BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
4765         BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
4766         BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
4767         BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
4768         BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
4769         BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
4770
4771         * doc/extend.texi: Document new builtins.
4772
4773 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
4774
4775         * fixinc/mkfixinc.sh: Remove special case code for unsupported
4776         variants of i?86, powerpcle, and thumb.
4777         * fixinc/mkfixinc.sh: Remove special case code for unsupported
4778         arm and hppa variants.
4779
4780 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4781
4782         * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
4783         BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
4784         BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
4785         BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
4786         BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
4787         BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
4788         BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
4789         BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
4790         BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
4791         BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
4792
4793         * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
4794         BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
4795         BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
4796         BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
4797         BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
4798         BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
4799         BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
4800         BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
4801         BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
4802         BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
4803         BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
4804         BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
4805         BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
4806         BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
4807         BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
4808         BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
4809         BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
4810         BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
4811         BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
4812         BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
4813         BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
4814         BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
4815         BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
4816         BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
4817         BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
4818         BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
4819         BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
4820         BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
4821         BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
4822         BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
4823         BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
4824
4825         * doc/extend.texi: Document new builtins.
4826
4827 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
4828
4829         * config/s390/s390.c (legitmate_constant_p): Use LARL on
4830         zSeries machines even in 31-bit addressing mode.
4831         (legitimate_reload_constant_p): Likewise.
4832         (legitimize_pic_address): Likewise.
4833         (legitimize_tls_address): Likewise.
4834         (s390_split_branches): Likewise.
4835         (s390_dump_pool): Likewise.
4836         (s390_mainpool_finish): Likewise.
4837         (s390_chunkify_start): Likewise.
4838         (s390_select_rtx_section): Likewise.
4839         * config/s390/s390.md ("doloop_si"): Likewise.
4840         ("pool_start_31", "pool_end_31"): Likewise.
4841         ("pool_start_64", "pool_end_64"): Likewise.
4842         ("main_base_31_small", "main_base_31_large"): Likewise.
4843         ("main_base_64"): Likewise.
4844         ("reload_base_31", "reload_base_64"): Likewise.
4845         ("*movsi_larl"): New insn.
4846         ("cjump", "icjump"): Use long branches on zSeries machines.
4847         ("jump"): Likewise.
4848         ("call"): Use BRASL on zSeries machines.
4849         ("call_value", "call_value_tls"): Likewise.
4850         ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
4851         and replace by ...
4852         ("*bras", "*brasl", "*basr") ... these new insns.
4853         ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
4854         "bas_31_r"): Remove and replace by ...
4855         ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
4856         ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
4857         "bas_64_tls", "bas_31_tls"): Remove and replace by ...
4858         ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
4859         ("*return_si", "*return_di"): Remove and replace by ...
4860         ("*return"): ... this new insn.
4861         ("rotlsi3"): Allow on zSeries machines.
4862
4863         * config/s390/s390.c (legitimize_reload_constant_p): Use
4864         LL/LH type instructions in z/Architecture mode.
4865         * config/s390/s390.md ("*movsi_lli"): Likewise.
4866         ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
4867         ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
4868         ("*extendqisi2"): Use LB in z/Architecture mode.
4869         ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
4870         z/Architecture mode.
4871         ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
4872         Likewise.
4873
4874         * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
4875         and 31-bit mode.
4876         ("ptr_extend"): Allow only in 64-bit mode.
4877
4878 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
4879
4880         * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
4881         (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
4882         definitions.
4883         (main): Only use standard_startfile_prefix if native.
4884         * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
4885
4886 2003-08-27  Per Bothner  <pbothner@apple.com>
4887
4888         * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
4889         test fails following my 08-21 change, and it seems unnecessary anyway.
4890         (cpp_error):  Likewise.
4891
4892 2003-08-27  Jason Merrill  <jason@redhat.com>
4893
4894         * real.c (do_multiply): Initialize with memset.
4895
4896 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4897
4898         * gcov.c (typedef struct arc_info): New field cs_count.
4899         (accumulate_line_counts): Find cycles correctly.
4900
4901 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
4902
4903         * config/s390/s390.c (struct machine_function): Remove member
4904         literal_pool_label.
4905         (s390_optimize_prolog): Replace TEMP_REG argument with
4906         TEMP_USED and BASE_USED.  Do not check get_pool_size ().
4907         (general_s_operand): Accept all immediates before reload if
4908         ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
4909         references.
4910         (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
4911         (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
4912         (s390_alloc_pool): New function.
4913         (s390_new_pool): Call it.
4914         (s390_dump_pool): Add REMOTE_LABEL argument.
4915         (s390_chunkify_start): Add BASE_REG argument.  Do not check
4916         get_pool_size ().
4917         (s390_chunkify_finish): Add BASE_REG argument.  Adapt
4918         s390_dump_pool call.
4919         (s390_pool_count, s390_nr_constants): Remove.
4920         (s390_output_constant_pool): Remove.
4921         (s390_mainpool_start): New function.
4922         (s390_mainpool_finish): New function.
4923         (s390_mainpool_cancel): New function.
4924         (s390_reorg): Implement main literal pool handling.
4925         (s390_emit_prologue): Emit main_pool placeholder instead of
4926         literal_pool_31 / literal_pool_64 insns.
4927         * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
4928         (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
4929         * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
4930         ("main_base_31_small", "main_base_31_large"): New insns.
4931         ("main_base_64",  "main_pool"): New insns.
4932         ("literal_pool_31", "literal_pool_64"): Remove.
4933
4934 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
4935
4936         * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
4937         fixinc.ptx.
4938         * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
4939         Prettify a little.
4940         * fixinc/fixincl.x: Regenerate.
4941
4942 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
4943
4944         * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
4945         (L_ieee754_dp): New.  Include ieee754-df.S.
4946         * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
4947         and compilation in apcs-26 mode.
4948         * arm/ieee754-df.S: Likewise.
4949         * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
4950         (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
4951
4952 2003-08-27  Nicolas Pitre  <nico@cam.org>
4953
4954         * arm/ieee754-sf.S: New.
4955         * arm/ieee754-df.S: New.
4956
4957 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
4958
4959         * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
4960         and restore it if returning NULL.
4961
4962 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
4963
4964         * calls.c (initialize_argument_information): If an argument has no
4965         stack space associated with it, and BLOCK_REG_PADDING is defined,
4966         use it to decide at which end the argument should be padded.
4967         * function.c (assign_parms): Allocate BLKmode stack slots.
4968         * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
4969         (mips_pad_reg_upward): Declare.
4970         * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
4971         (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
4972         (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
4973         (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
4974         * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
4975         (mips_expand_call): Remove code for generating structure shifts.
4976         (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
4977         types unless using the EABI.
4978         (function_arg_advance): Don't generate shift instructions.
4979         (function_arg): Don't return them.  Don't short-circuit the
4980         check for double structure chunks for DFmode arguments.
4981         (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
4982         (mips_expand_prologue): Remove code to emit structure shifts.
4983         * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
4984         structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
4985         comments to say that only structure returns are a problem.
4986
4987 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
4988
4989         * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
4990         Fix to match produced versions.
4991         * fixinc/inclhack.def (longlong_t): New disabled test, ported
4992         from fixinc.svr4.
4993         * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
4994         from fixinc.ptx.
4995         * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
4996         ported from fixinc.ptx.
4997
4998 2003-08-26  Per Bothner  <pbothner@apple.com>
4999
5000         * cpplib.h (struct cpp_token):  Change type of field line to fileline.
5001         (cpp_error_with_line):  Use fileline for appropriate parameter.
5002         * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
5003         (struct cpp_reader):  Likewise for fields line and directive_line.
5004         (_cpp_begin_message):  Use fileline for appropriate parameter.
5005         * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
5006         cpp_error):  Use fileline for appropriate parameters and variables.
5007         (print_location):  New local lin, since it is not a fileline.
5008
5009 2003-08-26  Roger Sayle  <roger@eyesopen.com>
5010
5011         PR middle-end/12002
5012         * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
5013         (FLOAT_TYPE_P): Define in terms of these two new macros.
5014         * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
5015         for complex floating point types.
5016
5017 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
5018
5019         * config/s390/s390.c (emit_prologue): Don't check literal pool size.
5020         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
5021         s390_output_pool_entry.
5022
5023 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
5024
5025         * fixinc/inclhack.def (svr4_preproc_lint_on,
5026         svr4_preproc_lint_off, svr4_preproc_machine): New disabled
5027         fixes, ported from fixinc.svr4.
5028
5029 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
5030
5031         * doc/install.texi (Prerequisites): Mention GNU make requirement.
5032
5033         * Makefile.in (AR_FOR_TARGET): Export it.
5034         (AR_CREATE_FOR_TARGET): Likewise.
5035         (AR_FLAGS_FOR_TARGET): Likewise.
5036         (AR_EXTRACT_FOR_TARGET): Likewise.
5037         (AWK): Likewise.
5038         (BUILD_PREFIX): Likewise.
5039         (BUILD_PREFIX_1): Likewise.
5040         (DESTDIR): Likewise.
5041         (GCC_FOR_TARGET): Likewise.
5042         (INCLUDES): Likewise.
5043         (INSTALL_DATA): Likewise.
5044         (LIB1ASMSRC): Likewise.
5045         (LIBGCC2_CFLAGS): Likewise.
5046         (MACHMODE_H): Likewise.
5047         (NM_FOR_TARGET): Likewise.
5048         (RANLIB_FOR_TARGET): Likewise.
5049         (libsubdir): Likewise.
5050         (slibdir): Likewise.
5051         (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
5052         exporting.
5053         (libgcc.a): Don't pass them here.
5054         (stmp-multilib): Or here.
5055         (install-libgcc): Or here.
5056         (install-multilib): Or here.
5057         (POSTSTAGE1_FLAGS_TO_PASS): Or here.
5058         (stage1_build): Or here.
5059
5060 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
5061
5062         * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
5063         "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
5064
5065 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
5066
5067         * config/s390/s390.md ("*fmadddf", "*fmsubdf",
5068         "*fmaddsf", "*fmsubsf"): New insns.
5069
5070 2003-08-26  Roger Sayle  <roger@eyesopen.com>
5071
5072         * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
5073         (C1*C2)/X when unsafe math optimizations are allowed.
5074         (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
5075         math optimizations.  Minor code clean-ups.  Recursively call
5076         fold when constructing sub-expressions.
5077
5078 2003-08-26  Roger Sayle  <roger@eyesopen.com>
5079
5080         * builtins.c (fold_builtin_bitop): New function to perform constant
5081         folding of ffs, clz, ctz, popcount and parity builtin functions
5082         and their long and long long variants (such as ffsl and ffsll).
5083         (fold_builtin): fold_builtin_bitop when appropriate.
5084         * simplify-rtx.c (simplify_unary_operation): Honor both
5085         CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
5086         evaluating clz and ctz at compile-time, for operands wider
5087         than HOST_WIDE_INT.
5088
5089 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
5090
5091         * builtins.c (build_function_call_expr): Don't set
5092         TREE_SIDE_EFFECTS here.
5093         * expr.c (emit_block_move_via_libcall): Likewise.
5094         (clear_storage_via_libcall): Likewise.
5095         * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
5096         CALL_EXPRs.
5097
5098         * gcse.c (is_too_expensive): New function.
5099         (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
5100
5101 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
5102
5103         * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
5104         commented-out logic to use DCE threads (if present), add
5105         support for POSIX threads.
5106         * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
5107         #defines for -pthread.  Add -lpthread to LIB_SPEC when
5108         -pthread.  In both cases take -mt as a synonym for -pthread
5109         for acc compatibility.
5110         Define GTHREAD_USE_WEAK to 0.
5111         * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
5112         Remove old logic for DCE threads from LIB_SPEC.
5113         * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
5114
5115 2003-08-25  Roger Sayle  <roger@eyesopen.com>
5116
5117         * builtins.c (expand_builtin_mathfn):  Rearrange so that we only
5118         return 0 for invalid argument types.  Instead drop through to a
5119         call of expand_call at the bottom of function.  If op is SQRT,
5120         try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
5121
5122 2003-08-25  Richard Henderson  <rth@redhat.com>
5123
5124         * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
5125         result when op0 is SImode.
5126
5127 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
5128
5129         * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
5130         from fixinc.svr4.
5131         * fixinc/fixincl.x: Regenerate.
5132         * fixinc/tests/base/sys/signal.h: Regenerate.
5133
5134 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
5135
5136         * combine.c (simplify_comparison): Re-enable widening of comparisons
5137         with non-paradoxical subregs of non-REG expressions.
5138
5139 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
5140
5141         * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
5142
5143 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
5144
5145         * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
5146
5147 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5148
5149         * pretty-print.h (pp_maybe_newline_and_indent): New macro.
5150         * c-pretty-print.h (c_pretty_printer): Now typedef to the
5151         structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
5152         (struct c_pretty_print_info): Document.  Add new fields.
5153         (pp_type_specifier_seq): Rename from pp_c_type_specifier.
5154         (pp_direct_abstract_declarator): New macro.
5155         (pp_ptr_operator): Likewise.
5156         (pp_simple_type_specifier): Likewise.
5157         (pp_expression): Likewise.
5158         (pp_parameter_list): Rename from pp_parameter_declaration.
5159         * c-pretty-print.c (pp_c_whitespace): Now a function.
5160         (pp_c_left_paren): Likewise.
5161         (pp_c_right_paren): Likewise.
5162         (pp_c_dot): Likewise.
5163         (pp_c_ampersand): Likewise.
5164         (pp_c_arrow): Likewise.
5165         (pp_c_semicolon): Likewise.
5166         (pp_c_type_cast): New function.
5167         (pp_c_space_for_pointer_operator): Likewise.
5168         (pp_c_call_argument_list): Likewise.
5169         (pp_c_cv_qualifier): Adjust prototype.
5170         (pp_c_type_qualifier_list): Likewise.
5171         (pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
5172         (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
5173         Adjust to follow standard grammar.
5174         (pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
5175         REFERENCE_TYPE.  Tidy.
5176         (pp_c_parameter_type_list): Adjust prototype.  Tidy.
5177         (pp_c_parameter_declaration): Remove.
5178         (pp_c_abstract_declarator): Adjust prototype.
5179         (pp_c_direct_abstract_declarator): Likewise.
5180         (pp_c_type_id): Likewise.
5181         (pp_c_storage_class_specifier): Likewise.
5182         (pp_c_function_specifier): Likewise.
5183         (pp_c_declaration_specifiers): Likewise.
5184         (pp_c_direct_declarator): Likewise.
5185         (pp_c_declarator): Likewise.
5186         (pp_c_declarator): Likewise.
5187         (pp_c_declaration): Likewise.
5188         (pp_c_attributes): Likewise.  Tidy.
5189         (pp_c_function_definition): Adjust prototype.
5190         (pp_c_char): Likewise.
5191         (pp_c_string_literal): Likewise.
5192         (pp_c_integer_constant): Likewise.
5193         (pp_c_character_constant): Likewise.
5194         (pp_c_bool_constant): Likewise.
5195         (pp_c_enumeration_constant): Likewise.
5196         (pp_c_floating_constant): Likewise.
5197         (pp_c_constant): Likewise.
5198         (pp_c_identifier): Likewise.
5199         (pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
5200         (pp_c_initializer): Adjust prototype.
5201         (pp_c_init_declarator): Likewise.
5202         (pp_c_initializer_list): Likewise.
5203         (pp_c_id_expression): Likewise.
5204         (pp_c_postfix_expression): Likewise.
5205         (pp_c_expression_list): Likewise.
5206         (pp_c_unary_expression): Likewise.
5207         (pp_c_cast_expression): Likewise.
5208         (pp_c_multiplicative_expression): Likewise.
5209         (pp_c_additive_expression): Likewise.
5210         (pp_c_shift_expression): Likewise.
5211         (pp_c_relational_expression): Likewise.
5212         (pp_c_equality_expression): Likewise.
5213         (pp_c_and_expression): Likewise.
5214         (pp_c_exclusive_or_expression): Likewise.
5215         (pp_c_inclusive_or_expression): Likewise.
5216         (pp_c_logical_and_expression): Likewise.
5217         (pp_c_logical_or_expression): Likewise.
5218         (pp_c_conditional_expression): Likewise.
5219         (pp_c_assignment_expression): Likewise.
5220         (pp_c_expression): Likewise.  Tidy.
5221         (pp_c_statement): Likewise.  Document.
5222         (pp_c_pretty_printer_init): Adjust prototype. Tidy.
5223
5224         * c-lang.c (c_initialize_diagnostics): Update.
5225         * c-common.h (strip_pointer_operator): Declare.
5226         * c-common.c (strip_pointer_operator): Define.
5227
5228 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
5229
5230         PR c++/8795
5231         * tree.h (build_method_type_directly): Declare.
5232         * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
5233         (vector_size_helper): Likewise.
5234         * tree.c (build_method_type_directly): New function.
5235         (build_method_type): Use it.
5236
5237 2003-08-24  Richard Henderson  <rth@redhat.com>
5238
5239         * config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
5240         for 16-byte vector modes if sse not enabled; warn for abi change.
5241         (ix86_value_regno): Only return xmm0 for 16-byte vector types.
5242
5243 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
5244
5245         * rtlanal.c (may_trap_p): Simplify an integer comparison.
5246
5247 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
5248
5249         * fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
5250         comment.  Enable for DYNIX/ptx systems (when they switch to
5251         regular fixincludes).
5252         * fixinc/fixincl.x: Regenerate.
5253
5254 2003-08-23  Jason Eckhardt  <jle@rice.edu>
5255
5256         * config/i860/t-i860: New.
5257         * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
5258
5259 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
5260
5261         * c-decl.c (pushdecl): Only put decls which finish_struct will do
5262         something about onto incomplete chain.
5263         (finish_struct): If not removing type from incomplete
5264         list, update prev.
5265
5266 2003-08-20  Jan Hubicka  <jh@suse.cz>
5267
5268         PR target/11369
5269         * i386.c (ix86_expand_carry_flag_compare): Validate operand.
5270
5271         PR target/11031
5272         * i386.c (const_0_to_3_operand, const_0_to_7_operand,
5273         const_0_to_15_operand, const_0_to_255_operand): New predicates.
5274         * i386.h (PREDICATE_CODES): Add these.
5275         * i386.c (pinsrw and pextrw patterns): Use them.
5276
5277         PR target/10984
5278         * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
5279
5280         PR target/8869
5281         * expr.c (convert_modes): Deal properly with integer to vector
5282         constant conversion.
5283
5284         PR target/8871
5285         * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
5286
5287 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
5288
5289         * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
5290         * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
5291         ("*movhi"): ... this.
5292         ("movqi", "*movqi"): Likewise.
5293         ("movqi_64"): Remove.
5294         ("*zero_extendhisi2_31"): Change predicate to s_operand.
5295
5296 2003-08-23  Dale Johannesen  <dalej@apple.com>
5297         * calls.c (emit_library_call_value_1): Fix obvious errors in
5298         arguments to emit_group_store.
5299
5300 2003-08-23  Jason Eckhardt  <jle@rice.edu>
5301
5302         * calls.c (emit_library_call_value_1): Remove code related
5303         to LIBGCC_NEEDS_DOUBLE.
5304         * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
5305         * doc/tm.texi: Likewise.
5306         * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
5307
5308 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
5309
5310         * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
5311
5312 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
5313
5314         * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
5315         as well.  Put memory references in the varargs alias set.
5316         (mips_expand_prologue): Remove varargs handling from here.
5317
5318 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
5319
5320         * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
5321         s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
5322         s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
5323         for function pointer calls.
5324         * config/s390/s390.md ("*negdi2_31"): Likewise.
5325
5326 2003-08-23  Roger Sayle  <roger@eyesopen.com>
5327
5328         * combine.c (apply_distributive_law): Correct comment.
5329
5330 2003-08-23  Jason Eckhardt  <jle@rice.edu>
5331
5332         * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
5333
5334 2003-08-22  Jason Eckhardt  <jle@rice.edu>
5335
5336         * config/i860/i860.c (i860_build_va_list): Create the va_decl
5337         declaration.  Document the va_list structure.
5338         (i860_va_start): Initialize the va_list structure.
5339         (i860_va_arg): Rewrite completely.
5340         * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
5341         * config/i860/varargs.asm: Do not allocate or initialize
5342         a va_list.  Return the address of the register save area.
5343
5344 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
5345
5346         * config/iq2000/iq2000.c: Fix comment typos.
5347         * config/iq2000/iq2000.md: Likewise.
5348
5349 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
5350
5351         * config/iq2000/iq2000.c: Follow spelling conventions.
5352         * config/iq2000/iq2000.h: Likewise.
5353         * config/mn10300/mn10300.c: Likewise.
5354
5355 2003-08-22  Jason Eckhardt  <jle@rice.edu>
5356
5357         * config/i860/i860.c (output_move_double): Don't set latehalf
5358         to zero for CONST_INT (since it could be, e.g., -1).
5359
5360         * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
5361         (MODSI3_LIBCALL): ...with this one.
5362         (UREMSI3_LIBCALL): Replace this macro...
5363         (UMODSI3_LIBCALL): ...with this one.
5364
5365 2003-08-22  Jason Eckhardt  <jle@rice.edu>
5366
5367         * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
5368         (output_delayed_branch): Remove prototype.
5369         (single_insn_src_p): Remove prototype.
5370         * config/i860/i860.c (single_insn_src_p): Remove function.
5371         (output_delayed_branch): Remove function.
5372         (output_delay_insn): Remove function.
5373         (va_start): Remove unconditional test and dead code, re-format.
5374         Fix coding style and spelling problems in various comments.
5375         * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
5376         (blockage pattern): ...and use it here.
5377         (all define_peephole patterns related to delayed branches): Remove.
5378         Fix coding style and spelling problems in various comments.
5379
5380 2003-08-22  Jason Eckhardt  <jle@rice.edu>
5381
5382         * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
5383         Remove all uses of the PARAMS macro.  Remove superflous prototypes.
5384         Convert all function definitions from traditional to ISO C90 syntax.
5385         * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
5386         with 'GCC'.  Remove all uses of the PARAMS macro.
5387         * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
5388         * config/i860/i860.md: Likewise.
5389         * config/i860/sysv4.h: Likewise.
5390         * config/i860/varargs.asm: Likewise.
5391
5392 2003-08-22  Jason Eckhardt  <jle@rice.edu>
5393
5394         * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
5395         argument.
5396         (tdesc_section): Add prototype.
5397         Update copyright dates.
5398         * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
5399         (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
5400         (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
5401         (targetm): Likewise.
5402         (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
5403         for '%d' where necessary.
5404         (i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
5405         on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
5406         by UNITS_PER_WORD when referencing (likewise for .floats).
5407         (I860_SVR4_VARARGS): Rename...
5408         (I860_SVR4_VA_LIST): ...to this.
5409         Call build() with 't' rather than 'field'.
5410         (i860_rtx_costs): New function.
5411         (TARGET_RTX_COSTS): Define.
5412         (i860_internal_label): New function.
5413         (TARGET_ASM_INTERNAL_LABEL): Define.
5414         (i860_file_start): New function.
5415         Update copyright dates.
5416         * config/i860/i860.h (CPP_PREDEFINES): Remove.
5417         (TARGET_CPU_CPP_BUILTINS): Define.
5418         (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
5419         (CONST_COSTS): Remove (and move code to i860_rtx_costs).
5420         (ASM_FILE_START): Remove.
5421         (ASM_FILE_START_1): Remove.
5422         (ASM_GLOBALIZE_LABEL): Remove.
5423         (ASM_OUTPUT_INTERNAL_LABEL): Remove.
5424         (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
5425         with targetm.asm_out.internal_label.
5426         Update copyright dates.
5427         * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
5428         (CPP_PREDEFINES): Remove.
5429         (TARGET_OS_CPP_BUILTINS): Define.
5430         (GLOBAL_ASM_OP): Define.
5431         (ASM_FILE_START): Remove.
5432         (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
5433         (TARGET_ASM_FILE_START): Define.
5434         Update copyright dates.
5435
5436 2003-08-22  Jason Eckhardt  <jle@rice.edu>
5437
5438         * gcc/config.gcc (i860-*-sysv4*): Add target.
5439         * config/i860/i860-protos.h: New.
5440         * config/i860/i860.c: New.
5441         * config/i860/i860.h: New.
5442         * config/i860/i860.md: New.
5443         * config/i860/sysv4.h: New.
5444         * config/i860/varargs.asm: New.
5445         * config/i860/x-sysv4: New.
5446
5447 2003-08-22  Jason Eckhardt  <jle@rice.edu>
5448
5449         * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
5450         Remove all uses of PARAMS macro.
5451         Convert all function definitions to ISO C90 syntax.
5452         * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
5453         * config/pa/fptr.c: Likewise.
5454         * config/pa/lib2funcs.asm: Likewise.
5455         * config/pa/long_double.h: Likewise.
5456         * config/pa/milli64.S: Likewise.
5457         * config/pa/pa-64.h: Likewise.
5458         * config/pa/pa-hpux.h: Likewise.
5459         * config/pa/pa-hpux10.h: Likewise.
5460         * config/pa/pa-hpux11.h: Likewise.
5461         * config/pa/pa-linux.h: Likewise.
5462         * config/pa/pa-modes.def: Likewise.
5463         * config/pa/pa-osf.h: Likewise.
5464         * config/pa/pa-pro-end.h: Likewise.
5465         * config/pa/pa.md: Likewise.
5466         * config/pa/pa32-linux.h: Likewise.
5467         * config/pa/pa64-linux.h: Likewise.
5468         * config/pa/pa64-hpux.h: Likewise.
5469         * config/pa/pa64-regs.h: Likewise.
5470         * config/pa/quadlib.c: Likewise.
5471         * config/pa/rtems.h: Likewise.
5472         * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
5473         all uses of the PARAMS macro.
5474         * config/pa/pa.h: Likewise.
5475         * config/pa/som.h: Likewise.
5476
5477         * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
5478         Remove all uses of PARAMS macro.
5479         Convert all function definitions to ISO C90 syntax.
5480         * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
5481         Remove all uses of PARAMS macro.
5482         * config/iq2000.h: Remove all uses of PARAMS macro.
5483         * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
5484
5485 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
5486
5487         * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
5488         * config/s390/s390.c (gen_consttable): Remove.
5489         (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
5490         (s390_output_pool_entry): New function.
5491         * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
5492         UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
5493         UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
5494         (UNSPECV_POOL_ENTRY): ... this new constant.
5495         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
5496         "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
5497         ("*pool_entry"): ... and replace by this new insn.
5498         ("literal_pool_31"): Do not emit anchor label if pool empty.
5499
5500         * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
5501         (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
5502         (s390_fixup_clobbered_return_reg): Remove.
5503         (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
5504         (s390_return_addr_rtx): Always retrieve return address from save area
5505         slot.  Use save_return_addr_p to force slot to be filled.
5506         (s390_emit_prologue): Remove has_hard_reg_initial_val test.
5507
5508 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
5509
5510         * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
5511         (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
5512         * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
5513         around SB-1 errata if TARGET_FIX_SB1 is set.
5514         (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
5515         * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
5516
5517 2003-08-22  Roger Sayle  <roger@eyesopen.com>
5518
5519         * hashtable.c (ht_expand): Avoid calculating rehash for the common
5520         case that the first probe hits an empty hash table slot.
5521
5522 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
5523
5524         * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
5525
5526 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
5527
5528         * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
5529         (ptr_extend_plus_imm): ... this.
5530         * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
5531         optimization in C++.
5532         (ia64_output_mi_thunk): Support ILP32 mode.
5533
5534 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
5535
5536         * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
5537         function.
5538         * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
5539
5540 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
5541
5542         * config/i386/i386.c (const_int_1_operand): Simplify an
5543         integer comparison.
5544
5545 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
5546
5547         * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
5548         * config/rs6000/ppc64-fp.c: Likewise.
5549
5550 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
5551
5552         * cfgcleanup.c: Fix comment typos.
5553         * emit-rtl.c: Likewise.
5554         * optabs.c: Likewise.
5555         * ra-build.c: Likewise.
5556         * rtlanal.c: Likewise.
5557         * tree.h: Likewise.
5558
5559 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
5560
5561         * c-decl.c: Fix comment formatting.
5562         * cfgrtl.c: Likewise.
5563         * combine.c: Likewise.
5564         * convert.c: Likewise.
5565         * dominance.c: Likewise.
5566         * dwarf2out.c: Likewise.
5567         * dwarfout.c: Likewise.
5568         * expmed.c: Likewise.
5569         * fold-const.c: Likewise.
5570         * gcov.c: Likewise.
5571         * genattrtab.c: Likewise.
5572         * ggc-common.c: Likewise.
5573         * mips-tfile.c: Likewise.
5574         * regmove.c: Likewise.
5575
5576 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
5577
5578         * builtin-attrs.def: Fix comment formatting.
5579         * c-pretty-print.c: Likewise.
5580         * diagnostic.h: Likewise.
5581         * langhooks.h: Likewise.
5582         * recog.c: Likewise.
5583         * simplify-rtx.c: Likewise.
5584         * tree.def: Likewise.
5585
5586 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
5587
5588         * config/m68k/m68k-protos.h: Convert to ISO C90.
5589         * config/m68k/m68k.c: Likewise.
5590
5591 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
5592             Paul Dale  <pauli@snapgear.com>
5593             Peter Barada <peter@baradas.org>
5594
5595         * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
5596         ColdFire cores.
5597
5598 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
5599
5600         * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
5601         * config.gcc (*-*-openbsd): Don't set tm_file.
5602         (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
5603         arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
5604         h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
5605         i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
5606         i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
5607         m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
5608         m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
5609         m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
5610         mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
5611         sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
5612         xscale-*-coff): Use explicit and complete lists of target headers
5613         to include.  Move definitions to tm_defines where appropriate.
5614         (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
5615         not-yet-contributed configuration.
5616
5617         * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
5618         * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
5619         * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
5620         * config/i386/nto.h, config/iq2000/iq2000.h,
5621         * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
5622         * config/m68k/linux.h, config/m68k/m68k-aout.h
5623         * config/m68k/m68k-none.h, config/m68k/m68kv4.h
5624         * config/m68k/netbsd.h, config/m68k/openbsd.h
5625         * config/m68k/sgs.h, config/mcore/mcore-pe.h,
5626         * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
5627         * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
5628         Remove includes of other target config headers, and
5629         definitions of macros moved to tm_defines lists.  Add #undefs
5630         where now necessary to prevent redefinition warnings.
5631
5632         * config/h8300/coff.h: New file split out of...
5633         * config/h8300/elf.h: ...here.
5634         * config/m68k/hp320base.h: New file split out of...
5635         * config/m68k/hp320.h: ...here.
5636         * config/rs6000/lynxbase.h: New file split out of...
5637         * config/rs6000/lynx.h: ...here.
5638
5639         * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
5640         * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
5641
5642         * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
5643         * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
5644         * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
5645         Remove unnecessary #ifndef.
5646         * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
5647         [under IN_LIBGCC2] with config/.
5648
5649 2003-08-21  Per Bothner  <pbothner@apple.com>
5650
5651         * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
5652         to cpp_push_buffer.
5653         * cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
5654         by return_at_eof check.  Always call _cpp_pop_buffer at end.
5655
5656 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
5657
5658         PR target/11805
5659         * config/h8300/h8300.md (two anonymous patterns): Remove.
5660
5661 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
5662
5663         * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
5664         * config/mips/mips.c (function_arg_pass_by_reference): Never return
5665         true for n32 & n64.
5666
5667 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
5668
5669         * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
5670         and similarly in (A | C) == D where C & ~D != 0.
5671
5672 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
5673
5674         PR 8180
5675         * configure.in: When testing with_libs and with_headers, treat
5676         'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
5677         * configure: Regenerate.
5678
5679 2003-08-20  Peter Barada <peter@baradas.org>
5680
5681         * longlong.h (umul_ppmm): Add ColdFire support.
5682
5683 2003-08-20  Peter Barada <peter@baradas.org>
5684             Bernardo Innocenti  <bernie@develer.com>
5685
5686         * config/m68k/m68k-none.h: Introduce new ColdFire archs.
5687         * config/m68k/m68k.h: Likewise.
5688         * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
5689         * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
5690         * config/m68k/linux.h: Likewise.
5691         * config/m68k/m68k.c: Likewise.
5692         * config/m68k/m68k.md: Likewise.
5693         * config/m68k/m68kelf.h: Likewise.
5694         * config/m68k/netbsd-elf.h: Likewise.
5695         * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
5696
5697 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
5698
5699         * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
5700         * config/m68k/m68k.md: Likewise.
5701
5702 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
5703
5704         PR java/11996
5705         Revert this change:
5706         2003-08-19  Mark Mitchell  <mark@codesourcery.com>
5707         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
5708         types with precisions other than those given by native machine
5709         modes.
5710
5711 2003-08-20  Gunther Nikl  <gni@gecko.de>
5712
5713         * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
5714         selected by FSGLMUL_USE_S and FSGLDIV_USE_S
5715         * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
5716         * config/m68k/m68k.md (anonymous define_insn): Likewise
5717         * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
5718         * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
5719         code selected by NO_ASM_FMOVECR
5720
5721 2003-08-20  Gunther Nikl  <gni@gecko.de>
5722
5723         * config/m68k/m68k.c (output_move_const_into_data_reg,
5724         output_move_himode): unify MOTOROLA/MIT handling of moveq
5725         * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
5726         Likewise
5727
5728 2003-08-20  Gunther Nikl  <gni@gecko.de>
5729
5730         * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
5731         label name
5732         * config/m68k/m68k.c (m68k_output_function_epilogue): replace
5733         HOST_WIDE_INT_PRINT_DEC with %wd
5734
5735 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
5736
5737         * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
5738         redefine warning.
5739
5740 2003-08-20  Roger Sayle  <roger@eyesopen.com>
5741
5742         PR middle-end/11984
5743         * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
5744         operands before calling tree_int_cst_lt when performing associative
5745         transformations.
5746
5747 2003-08-20  Jason Merrill  <jason@redhat.com>
5748
5749         * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
5750         (EXPR_CHECK): Don't check for 'r' or 's' if we're
5751         checking IS_EXPR_CODE_CLASS.
5752         * calls.c (calls_function_1): Likewise.
5753         * fold-const.c (fold): Likewise.
5754         * tree.c (iterative_hash_expr): Likewise.
5755         * tree-inline.c (walk_tree, copy_tree_r): Likewise.
5756
5757 2003-08-20  Gunther Nikl  <gni@gecko.de>
5758
5759         * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
5760         depending on MOTOROLA_BSR
5761         * config/m68k/m68k.md (anonymous define_insn): Likewise
5762
5763 2003-08-20  Jason Merrill  <jason@redhat.com>
5764
5765         * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
5766         (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
5767         fold_trunc_transparent_mathfn, fold_builtin): Likewise.
5768         * dojump.c (do_jump): Likewise.
5769         * fold-const.c (operand_equal_p, fold): Likewise.
5770         (tree_expr_nonnegative_p): Likewise.
5771
5772         * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
5773         TYPE_USER_ALIGN for FIELD_DECLs.
5774
5775         * attribs.c (decl_attributes): Rebuild the function pointer type after
5776         changing the target type.
5777         * tree.c (get_qualified_type): Also check that the attributes match.
5778
5779 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
5780
5781         * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
5782         * objc/config-lang.in (stagestuff): ... to here.
5783
5784 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
5785
5786         PR c++/11946
5787         * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
5788         NOP_EXPR) when necessary.
5789         * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
5790         types with precisions other than those given by native machine
5791         modes.
5792
5793 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
5794
5795         * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
5796         because some macro is defined.
5797
5798         * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
5799         options.
5800         * config/i386/darwin.h (ASM_SPEC): New.
5801         (SUBTARGET_EXTRA_SPECS): New.
5802         * config/rs6000/darwin.h (ASM_SPEC): New.
5803         (SUBTARGET_EXTRA_SPECS): New.
5804         * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
5805         a cross-compiler between two different processors on Darwin.
5806         * configure: Regenerate.
5807
5808 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
5809
5810         * builtins.c: Fix comment typos.
5811         * c-common.c: Likewise.
5812         * c-decl.c: Likewise.
5813         * c-pretty-print.c: Likewise.
5814         * cfgbuild.c: Likewise.
5815         * cfglayout.c: Likewise.
5816         * cfgloopanal.c: Likewise.
5817         * cgraphunit.c: Likewise.
5818         * cppfiles.c: Likewise.
5819         * dwarfout.c: Likewise.
5820         * expr.c: Likewise.
5821         * fold-const.c: Likewise.
5822         * gcse.c: Likewise.
5823         * ggc-page.c: Likewise.
5824         * haifa-sched.c: Likewise.
5825         * pretty-print.c: Likewise.
5826         * tree.c: Likewise.
5827         * tree.h: Likewise.
5828         * value-prof.c: Likewise.
5829
5830 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
5831
5832         * c-decl.c: Follow spelling conventions.
5833         * cppfiles.c: Likewise.
5834
5835 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
5836
5837         * c-common.c: Fix comment formatting.
5838         * c-common.h: Likewise.
5839         * c-decl.c: Likewise.
5840         * cppinit.c: Likewise.
5841         * cpplib.h: Likewise.
5842         * emit-rtl.c: Likewise.
5843         * input.h: Likewise.
5844         * line-map.h: Likewise.
5845         * opts.c: Likewise.
5846         * opts.h: Likewise.
5847         * simplify-rtx.c: Likewise.
5848
5849 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
5850
5851         * unwind-c.c: Add libgcc-style exception.
5852         * unwind-dw2.c: Likewise.
5853         * unwind-pe.h: Likewise.
5854         * unwind-sjlj.c: Likewise.
5855         * unwind.inc: Likewise.
5856
5857 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
5858
5859         PR c/5582 PR c++/10538
5860         * langhooks-def.h (lhd_decl_uninit): Declare.
5861         (LANG_HOOKS_DECL_UNINIT): New macro.
5862         (LANG_HOOKS_INITIALIZER): Adjust.
5863         * langhooks.h (struct lang_hooks): Add new field
5864         decl_uninit.
5865         * langhooks.c (lhd_decl_uninit): Define.
5866         * c-common.c (c_decl_uninit_1): New function.
5867         (c_decl_uninit): New function.
5868         (warn_init_self): Define.
5869         * c-common.h (c_decl_uninit): Declare.
5870         (warn_init_self): Declare.
5871         * c.opt: Introduce -Winit-self.
5872         * c-opts.c (c_common_handle_options): Set warn_init_self.
5873         * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
5874         * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
5875         * function.c (uninitialized_vars_warning): Call the language hook.
5876         * doc/invoke.texi: Document -Winit-self.
5877
5878 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
5879
5880         * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
5881         to use better predicates and constraints.  Define new
5882         instruction to handle "trap_if" with DI-mode arguments.
5883         (conditional_trap): FAIL if trap code is not 0.
5884
5885 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
5886
5887         * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
5888         strstr with $pb to a strcompare with "<pic base>"
5889         (ix86_output_addr_diff_elt): Output the real pic base.
5890
5891 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5892
5893         * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
5894         (LANG_HOOKS_INITIALIZER): Correct.
5895         * c-lang.c: Likewise.
5896
5897 2003-08-19  Jan Hubicka  <jh@suse.cz>
5898
5899         * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
5900         (cgraph_varpool_mark_needed_node): Likewise.
5901         * cgraph.h (notice_global_symbol): Declare
5902         * varasm.c (notice_global_symbol): Break out from ...
5903         (assemble_start_function): ... here; update for variables.
5904         (assemble_variable): Use notice_global_symbol.
5905
5906 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
5907
5908         * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
5909         expect SFmode and DFmode arguments to be passed in FPRs,
5910         regardless of the underlying type.
5911
5912 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
5913
5914         PR target/11924
5915         * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
5916         (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
5917
5918 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
5919
5920         PR c/11207
5921         * c-typeck.c (set_init_index): Check for negative index.
5922
5923 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
5924
5925         * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
5926         call0 ABI.
5927         * config/xtensa/crtn.asm (_init, _fini): Likewise.
5928         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
5929         __umodsi3, __modsi3): Likewise.
5930         * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
5931         $(INCLUDES).
5932
5933 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
5934
5935         * config/rs6000/spe.md ("*nabssf2_gpr"): New.
5936
5937 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
5938
5939         * config/mips/mips.md: Quote C code in braces.  Remove use of
5940         fake const0_rtx operands.  Remove double backslashes.  Use \;.
5941         Remove workarounds for bogus warnings.
5942
5943 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
5944
5945         * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
5946         (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
5947         rather than TARGET_MIPS4300.
5948         (mulsf3_internal, mulsf3_r4300): Likewise.
5949
5950 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
5951
5952         * config/mips/mips.md: Renumber unspecs.  Clean up comments.
5953
5954 2003-08-17  Roger Sayle  <roger@eyesopen.com>
5955
5956         * simplify-rtx.c (associative_constant_p): New function to test
5957         whether an RTX expression is an immediate constant.
5958         (simplify_associative_operation): New function to perform some
5959         reassociation optimizations of associative binary expressions.
5960         (simplify_binary_operation): Use simplify_associative_operation
5961         to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
5962         Floating point expressions are only reassociated when unsafe
5963         math optimizations are permitted.
5964
5965 2003-08-17  Andreas Jaeger  <aj@suse.de>
5966
5967         * config/alpha/alpha.md: Remove usage of PARAMS.
5968
5969         * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
5970         * config/i386/i386-interix.h: Likewise.
5971         * config/i386/winnt.c: Likewise.
5972         * config/i386/cygming.h: Likewise.
5973         * config/i386/cygwin2.c: Likewise.
5974         * config/darwin.c: Likewise.
5975         * config/darwin-c.c: Likewise.
5976         * config/darwin-protos.h: Likewise.
5977         * config/darwin.h: Likewise.
5978         * config/s390/s390-protos.h: Likewise.
5979         * config/s390/s390.c: Likewise.
5980         * config/ia64/ia64.c: Likewse
5981         * config/ia64/ia64-protos.h: Likewise.
5982         * config/ia64/ia64-c.c: Likewise.
5983
5984 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5985
5986         * config/sparc/sparc.c: Convert to ISO C.
5987
5988         * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
5989         * config/sparc/sparc.c: Likewise.
5990
5991 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
5992
5993         PR c++/11512
5994         * stmt.c (expand_expr_stmt_value): Don't warn about any void
5995         typed expression.
5996
5997 2003-08-16  Jan Hubicka  <jh@suse.cz>
5998
5999         * i386.c (ix86_fntype_regparm): Rename from ...
6000         (ix86_function_regparm): ... this one; add fastcall and local
6001         functions.
6002         (ix86_function_ok_for_sibcall): Update.
6003         (ix86_return_pops_args): Likewise.
6004         (init_cumulative_args): Likewise.
6005         (x86_can_output_mi_thunk): Likewise.
6006         (function_arg): Fix formating.
6007         (x86_this_parameter): Fix fastcall.
6008         (x86_output_mi_thunk): Likewise.
6009
6010         * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
6011         body as reachable; mark nested functions as needed too.
6012         (dump_cgraph): Do not output global.calls.
6013         * cgraph.h (cgraph_global_info): Kill.
6014         * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
6015         (record_call_1): Speedup.
6016         (cgraph_analyze_function): Break out from ...; compute inlining
6017         parameters.
6018         (cgraph_finalize_compilation_unit): ... here.
6019         (cgraph_mark_inline): Kill computation of calls.
6020         (cgraph_decide_inlining): Do not compute most of initial values.
6021
6022 2003-08-14  Roger Sayle  <roger@eyesopen.com>
6023
6024         * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
6025         to negate if either operand is easy to negate, if we don't care
6026         about sign-dependent rounding.
6027         (negate_expr): Make the logic to negate a REAL_CST explicit.
6028         Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
6029         that's easy to negate, if we don't honor sign-dependent rounding.
6030         (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
6031         negate, and the symmetric A * -B as -A * B if A is easy to negate.
6032         (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
6033         -C/D if B and C are cheap to negate.  Add an explicit rule to
6034         optimize X/-1.0 as -X when we don't care about signaling NaNs.
6035
6036 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
6037
6038         * Makefile.in (tm_file): Rename tm_include_list.
6039         (tm_p_file): Rename tm_p_include_list.
6040         (build_xm_file): Rename build_xm_include_list.
6041         (host_xm_file): Rename host_xm_include_list.
6042         (xm_file): Rename xm_include_list.
6043         (xm_file_list): Add to be substituted.
6044         (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
6045         Update to match.
6046         (bt-load.o): Add missing dependency on $(TM_H).
6047         * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
6048         For each of tm_file, tm_p_file, xm_file, host_xm_file, and
6049         build_xm_file, generate both *_file_list and *_include_list
6050         values from it.  (xm_file_list was formerly not being generated.)
6051         In *_include_list, prefix the names of all headers found in
6052         $(srcdir)/config with config/.  In each loop, consider only
6053         the special case files that can actually appear in that list.
6054         AC_SUBST all *_file_list and all *_include_list variables; do
6055         not AC_SUBST the plain *_file variables.
6056         * configure: Regenerate.
6057
6058 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6059
6060         * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
6061
6062 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6063
6064         * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
6065         direct calls.
6066         (attr_length_call): Include it here.  Improve length estimate for
6067         local calls.
6068         (output_call): Use targetm.binds_local_p.
6069
6070 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6071
6072         * builtins.c (CASE_MATHFN): New helper macro.
6073         (mathfn_built_in): Simplify and sort.
6074
6075         * protoize.c (substr): Delete, callers changed to `strstr'.
6076
6077 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
6078
6079         * config.gcc (iq2000*-*-elf*): Don't set xm_file.
6080         * config/iq2000/xm-iq2000.h: Delete file.
6081
6082 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
6083
6084         * gengtype.c (walk_type): Process a subobject before processing
6085         the pointer that points to the subobject.
6086
6087 2003-08-13  Per Bothner  <pbothner@apple.com>
6088
6089         * regclass.c (init_reg_modes):  Make non-static.
6090         Rename to init_reg_modes_once per new naming convention.
6091         (init_regs):  Don't call init_reg_modes here.
6092         * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
6093         * rtl.h (init_reg_modes_once):  New declaration.
6094         * toplev.c (backend_init):  Call init_regs after init_emit_once.
6095
6096 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
6097
6098         * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
6099         special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
6100
6101 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
6102
6103         * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
6104         * sh.md (load_ra): Change insn predicate to TARGET_SH1.
6105
6106 2003-08-13  Dale Johannesen  <dalej@apple.com>
6107
6108         * config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
6109         handling of decrement-and-branch farther than 32 bits.
6110
6111 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
6112
6113         * configure.in (make_compare_target): Move test to ...
6114         * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
6115         * configure: Regenerate.
6116
6117 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
6118
6119         * config/mips/iris6.h: Convert to C90 prototypes.
6120         * config/mips/irix6-libc-compat.c: Likewise.
6121         * config/mips/mips-protos.h: Likewise.
6122         * config/mips/mips.c: Likewise.
6123
6124 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
6125
6126         fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
6127         for selected machines.  Comment heavily.
6128         fixinc/fixincl.x: Rebuild.
6129         fixinc/tests/base/fs/rfs/rf_cache.h: New file.
6130
6131 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
6132
6133         * config/mips/mips.h: Tweak various comments.
6134         * config/mips/mips.c: Likewise.
6135
6136 2003-08-11  James E Wilson  <wilson@tuliptree.org>
6137
6138         PR optimization/11319
6139         PR target/10021
6140         * alias.c (find_base_value, case REG): Return 0 not src if no base
6141         found.
6142
6143 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6144
6145         * gcse.c (gmalloc): Fix last change.
6146
6147 2003-08-11  Roger Sayle  <roger@eyesopen.com>
6148
6149         * simplify-rtx.c (simplify_binary_operation): Replace calls to
6150         gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
6151         and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
6152         gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
6153
6154 2003-08-11  Roger Sayle  <roger@eyesopen.com>
6155
6156         * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
6157         * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
6158         typecode for an ABS_EXPR.
6159
6160         * doc/c-tree.texi: Document ABS_EXPR.
6161
6162 2003-08-11  Roger Sayle  <roger@eyesopen.com>
6163
6164         * fold-const.c (fold): Optimize any associative floating point
6165         operator with -funsafe-math-optimizations, not just MULT_EXPR.
6166
6167 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
6168
6169         * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
6170         information in SHmedia case too.
6171         (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
6172         Likewise.
6173         (__set_fpscr): Use an access via GOT for PIC case.
6174
6175 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
6176
6177         * configure.in (intermodule): Make switch test more portable.
6178         * configure: Regenerate.
6179
6180 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
6181
6182         * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
6183         (restrap): Likewise.
6184
6185 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6186
6187         * gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
6188         (grealloc): Size argument is a size_t.
6189         (gcalloc): New function.  Use throughout in lieu of
6190         gmalloc/memset.
6191
6192         * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
6193         xmalloc/memset.
6194         * config/ia64/ia64.c (ia64_reorg): Likewise.
6195         * conflict.c (conflict_graph_new): Likewise.
6196         * fixinc/fixincl.c (run_compiles): Likewise.
6197         * genattrtab.c (optimize_attrs): Likewise.
6198         * genrecog.c (new_decision): Likewise.
6199         * haifa-sched.c (schedule_block): Likewise.
6200         * hashtable.c (ht_create): Likewise.
6201
6202 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
6203
6204         * config/xtensa/lib2funcs.S: Fix whitespace.
6205         * config/xtensa/xtensa.md (all insns and expanders): Use brace block
6206         syntax where appropriate.  Remove unnecessary backslash escapes.
6207         Reformat comments and fix some code formatting.
6208         (extendqisi2): Rearrange conditional.
6209         (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
6210         *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
6211         of fatal_insn.
6212
6213 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
6214
6215         * config/mips/mips.c: Various formatting fixes.
6216         (override_options): Resync -mtune handling with gas.
6217         (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
6218         * config/mips/mips.h: More formatting fixes.
6219         (mips_abi): Move declaration.
6220         * config/mips/mips.md (exception_receiver): Add mode to
6221         unspec_volatile.
6222
6223 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
6224
6225         * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
6226         evsplatfi here.
6227         (bdesc_1arg): Remove evsplati and evsplatfi.
6228
6229 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
6230
6231         * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
6232         into account.
6233
6234 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6235
6236         * builtins.c (expand_builtin_strcat): Optimize constant strings.
6237
6238 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6239
6240         * pretty-print.c (pp_base_indent): Rename from pp_indent.
6241         * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
6242         (struct c_pretty_print_info): Add more fields.
6243         (pp_c_left_paren): Move to c-pretty-print.c.
6244         (pp_c_right_paren): Likewise.
6245         (pp_c_left_brace): Likewise.
6246         (pp_c_right_brace): Likewise.
6247         (pp_c_left_bracket): Likewise.
6248         (pp_c_right_bracket): Likewise.
6249         (pp_c_declarator): Declare.
6250         (pp_c_direct_declarator): Likewise.
6251         (pp_c_specifier_qualifier_list): Likewise.
6252         (pp_c_type_id): Likewise.
6253         * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
6254         (pp_c_type_qualifier_list): New.
6255         (pp_c_pointer): Likewise.
6256         (pp_c_parameter_type_list): Likewise.
6257         (pp_c_function_definition): Likewise.
6258         (pp_c_id_expression): Likewise.
6259         (pp_c_simple_type_specifier): Tidy.
6260         (pp_c_unary_expression): Likewise.
6261         (pp_c_expression): Likewise.
6262         (pp_c_pretty_printer_init): Likewise.
6263         (pp_c_specifier_qualifier_list): Rework..
6264         (pp_c_abstract_declarator): Likewise.
6265         (pp_c_postfix_expression): Likewise.
6266         (pp_c_primary_expression): Likewise.
6267         (pp_c_cast_expression): Likewise.
6268         (pp_c_direct_abstract_declarator): Likewise.
6269         (pp_c_storage_class_specifier): Likewise.
6270         (pp_c_function_specifier): Likewise.
6271         (pp_c_declaration_specifiers): Likewise.
6272         (pp_c_direct_declarator): Likewise.
6273         (pp_c_declarator): Likewise.
6274         (pp_c_declaration): Likewise.
6275         (pp_c_statement): Likewise.
6276         (pp_c_integer_constant): Rename from pp_c_integer_literal.
6277         (pp_c_character_constant): Rename from pp_c_character_literal.
6278         (pp_c_bool_constant): Rename from pp_c_bool_literal.
6279         (pp_c_enumeration_constant): Rename from pp_c_enumerator.
6280         (pp_c_floating_constant): Rename from pp_c_real_literal.
6281         (pp_c_constant): Rename from pp_c_literal.
6282         * c-lang.c: Include diagnostic.h and c-pretty-print.h
6283         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
6284         (c_initialize_diagnostics): New.
6285         * Makefile.in (c-lang.o): Update dependency.
6286
6287 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
6288
6289         * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
6290
6291 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
6292
6293         * config/mips/mips.c (mips_no_mips16_string): Remove.
6294         (override_options): Don't handle -mips16 as part of -mipsN.
6295         * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
6296         (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
6297         (TARGET_OPTIONS): Remove -mno-mips16.
6298
6299 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
6300
6301         * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
6302         (coprocessor2_operand): Likewise.
6303         * config/mips/mips.c (STAB_CODE_TYPE): Remove.
6304         (lookup_name): Remove declaration.
6305         (abort_with_insn): Remove.  Replace all uses with fatal_insn.
6306         (mips16, mips_abicalls): Remove.
6307         (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
6308         (arith32_operand, large_int, true_reg_or_0_operand): Remove.
6309         (coprocessor_operand, coprocessor2_operand): Remove.
6310         (override_options): Don't set mips16 or mips_abicalls.
6311         (print_operand): Don't expect SIGN_EXTEND operands.
6312         (mips_secondary_reload_class): Likewise.
6313         (mips_output_conditional_branch): Remove disabled long-branch code.
6314         * config/mips/mips.h (call_used_regs): Remove declaration.
6315         (may_call_alloca): Likewise.
6316         (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
6317         (mips_abicalls, mips16): Remove declarations.
6318         (ASM_FINAL_SPEC, LIB_SPEC): Remove.
6319         (CC1_SPEC): Remove outdated comment.
6320         (MIPS_VERSION, MACHINE_TYPE): Remove.
6321         (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
6322         (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
6323         (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
6324         (PUSH_ROUNDING): Likewise.
6325         (ASSEMBLER_SCRATCH_REGNUM): Remove.
6326         * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
6327         and mips16 with TARGET_MIPS16.
6328
6329 2003-08-09  Per Bothner  <pbothner@apple.com>
6330
6331         * cppinit.c (cpp_read_main_file):  Split out source-independent
6332         initialization to separate function ...
6333         (cpp_post_options):  New function.
6334         * cppfiles.c (cpp_stack_file):  Rename public name to ...
6335         (_cpp_stack_file):  New internal function name.
6336         * cpplib.h:  Update accordingly.
6337         * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
6338         (cpp_read_main_file):  Don't initialize line here.
6339         * c-opts.c (c_common_post_options):  Call cpp_post_options.
6340         (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
6341         * fix-header.c (read_scan_file):  Call cpp_post_options.
6342
6343 2003-08-09  Per Bothner  <per@bothner.com>
6344
6345         * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
6346
6347 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6348
6349         * pa.c (pa_asm_output_mi_thunk): Fix typo.
6350
6351 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
6352
6353         PR preprocessor/11839
6354         * cppfiles.c (open_file): Handle ENOTDIR.
6355
6356 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
6357
6358         PR target/11699
6359         * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
6360
6361 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6362
6363         * pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
6364         source/destination is not a register operand.
6365
6366 2003-08-08  Richard Henderson  <rth@redhat.com>
6367
6368         PR target/11535
6369         * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
6370         RETURN_ADDRESS_POINTER_REGNUM.
6371         (ia64_expand_prologue): Don't frob it.
6372         (ia64_output_function_epilogue): Likewise.
6373         (ia64_return_addr_rtx): New.
6374         (ia64_split_return_addr_rtx): New.
6375         * config/ia64/ia64-protos.h: Update.
6376         * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
6377         (RETURN_ADDRESS_POINTER_REGNUM): Remove.
6378         (GENERAL_REGNO_P): Don't check it.
6379         (AR_*_REGNUM): Renumber.
6380         (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
6381         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
6382         (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
6383         (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
6384         (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
6385         * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
6386         (movdi_ret_addr): New.
6387
6388 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
6389
6390         * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
6391
6392 2003-08-08  Roger Sayle  <roger@eyesopen.com>
6393
6394         * tree.h (get_identifier) Define a macro form of get_identifier
6395         that calls get_identifier_with_length when the string is constant.
6396         (get_identifier_with_length): Change type of second argument to
6397         size_t in prototype.
6398         * stringpool.c (get_identifier): Undefine the macro before giving
6399         the function definition.
6400         (get_identifier_with_length): Change  type of second argument to
6401         size_t in function definition.
6402         * hashtable.c (calc_hash): Change type of second argument to size_t.
6403         (ht_lookup): Change type of third argument to size_t.  Reorganize
6404         to speed-up the cases where the hash table slot is empty, or the
6405         first probe matches (i.e. there isn't a collision).
6406         * hashtable.h (ht_lookup): Adjust function prototype.
6407
6408 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
6409
6410         PR target/9697
6411         PR target/11777
6412         * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
6413
6414 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
6415
6416         * common.opt: Add debug switches.
6417         * flags.h (use_gnu_debug_info_extensions): Boolify.
6418         * opts.c (write_symbols, debug_info_level,
6419         use_gnu_debug_info_extensions): Move from toplev.c.
6420         (set_debug_level): New.
6421         (common_handle_options): Handle debug switches.
6422         (print_help): Display target options directly.
6423         * toplev.c (debug_hooks): Don't initialize.
6424         (write_symbols, debug_info_level,
6425         use_gnu_debug_info_extensions): Move to opts.c.
6426         (debug_args, display_help, decode_g_option): Remove.
6427         (process_options): Set no debug if level zero here,
6428         and no-debug-hooks.  Error here if impossible debug format selected.
6429         * toplev.h (display_help, decode_g_option): Remove.
6430
6431 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
6432
6433         * tree.c (get_file_function_name_long): Fix size of alloca() area.
6434
6435 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
6436
6437         * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
6438         and gcc_cv_prog_cmp_skip.
6439         * configure: Regenerate.
6440
6441 2003-08-08  Stan Cox  <scox@redhat.com>
6442
6443         * config/iq2000: New port.
6444         * config.gcc (iq2000-*-elf): Added.
6445         * doc/install.texi (Specific):  Add iq2000 description.
6446
6447 2003-08-08  Andreas Schwab  <schwab@suse.de>
6448
6449         * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
6450         and insert missing empty argument.
6451         * configure: Regenerate.
6452
6453 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
6454
6455         * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
6456         (attr_length_millicode_call): Likewise.
6457         (attr_length_call): Likewise.  Revise some maximum insn lengths.
6458         (attr_length_indirect_call): Likewise.
6459         (output_call): Fix thinko that added extra nop.
6460         * pa.h (IN_NAMED_SECTION_P): Define.
6461
6462         PR c++/11712
6463         * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
6464         __STDC_EXT__ when using C++ dialect.
6465
6466 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
6467
6468         * sh.c (calc_live_regs): If the return address pointer is live,
6469         force pr live.
6470         (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
6471         for saves / restores.
6472         (sh_expand_epilogue): If sh_media_register_for_return returns a
6473         register number, flag the instructions that restores PR_MEDIA_REG
6474         as possibly dead.
6475         Remove dead update of offset.
6476         (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
6477         we can use the result of get_hard_reg_initial_val.
6478         * sh.md (UNSPEC_RA): New constant.
6479         (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
6480         (load_ra).  Handle UNSPEC_RA.
6481         (sibcall_media): Use PR_MEDIA_REG.
6482
6483         * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
6484         * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
6485         needs saving on SHmedia.
6486
6487 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
6488
6489         * config/s390/s390.md: Replace all occurrences of \\t with \t.
6490
6491 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
6492
6493         * local-alloc.c (combine_regs): Fix comment typo.
6494
6495 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
6496
6497         * c-decl.c (builtin_decls): Replace with first_builtin_decl
6498         and last_builtin_decl.
6499         (c_init_decl_processing): Initialize both.
6500         (c_reset_state): Iterate from first_builtin_decl to
6501         last_builtin_decl inclusive to reintroduce builtins.
6502
6503 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
6504
6505         * doc/extend.texi (Function Attributes): Document the IA-64 version
6506         of the "model" attribute.
6507
6508         * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
6509         (SYMBOL_REF_SMALL_ADDR_P): Ditto.
6510         (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
6511
6512         * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
6513         (ia64_encode_section_info): Likewise.
6514         (ia64_attribute_table): Add "model" attribute.
6515         (TARGET_ENCODE_SECTION_INFO): Define.
6516         (small_addr_symbolic_operand): New function.
6517         (got_symbolic_operand): Return 0 for a symbolref to an object
6518         in the small address area.
6519         (enum ia64_addr_area): New type.
6520         (small_ident1): New variable.
6521         (small_ident2): Likewise.
6522         (init_idents): New function.
6523         (ia64_get_addr_area): Likewise.
6524         (ia64_encode_addr_area): Likewise.
6525         (ia64_encode_section_info): Likewise.
6526         (ia64_expand_load_address): For symbolic references to objects in
6527         the small-address-area, load the address via gen_rtx_SET() (which,
6528         eventually, will expand into "addl").
6529
6530 2003-08-06  Per Bothner  <pbothner@apple.com>
6531
6532         * line-map.h (fileline):  New typedef.
6533         (struct line_map, linemap_add, linemap_lookup):  Use it.
6534         * input.h (struct location_s):  Comment notes that long-term we want
6535         to replace it by fileline.
6536
6537 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
6538
6539         Fix SHcompact exception handling:
6540         * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
6541         by the prologue, return a MEM with return_address_pointer_rtx
6542         as address.
6543         * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
6544         (RETURN_ADDR_OFFSET): Don't define.
6545         (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
6546         registers that are visible in compact mode.  Show that SHmedia
6547         registers still exist in compact mode, even if there are not
6548         readily accessible.
6549         (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
6550         if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
6551         and DW_EH_PE_pcrel for pic data.
6552         (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
6553         set SYMBOL_FLAG_FUNCTION in symbol, and actually use
6554         DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
6555         (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
6556         * sh.md (movsi_media-1): New splitter.
6557
6558 2003-08-06  Graeme Peterson <gp@qnx.com>
6559
6560         * config/i386/nto.h: New.
6561         * config/i386/t-nto: New.
6562         * config.gcc (i[34567]86-*-nto-qnx*): New.
6563
6564 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
6565
6566         * doc/install.texi (*-*-solaris2*):  Refine configure instructions.
6567
6568 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
6569
6570         * calls.c (load_register_parameters): Arrange for call_fusage to
6571         report the whole register as used when shifting to the msb.
6572
6573 2003-08-05  Roger Sayle  <roger@eyesopen.com>
6574
6575         * builtins.c (expand_builtin): When not optimizing, call the library
6576         function for all builtins that have library functions (except alloca).
6577
6578 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
6579
6580         * c.opt: Introduce -fworking-directory.
6581         * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
6582         * c-common.h (flag_working_directory): Declare.
6583         * c-common.c (flag_working_directory): Define.
6584         * c-opts.c (c_common_handle_options): Set it.
6585         (sanitize_cpp_opts): Set...
6586         * cpplib.h (struct cpp_options): ... working_directory option.
6587         (struct cpp_callbacks): Add dir_change.
6588         * cppinit.c (read_original_filename): Call...
6589         (read_original_directory): New.  Look for # 1 "directory//"
6590         and process it.
6591         (cpp_read_main_file): Call dir_change callback if working_directory
6592         option is set.
6593         * gcc.c (cpp_unique_options): Pass -g*.
6594         * c-lex.c (cb_dir_change): New.
6595         (init_c_lex): Set dir_change callback.
6596         * toplev.c (src_pwd): New static variable.
6597         (set_src_pwd, get_src_pwd): New functions.
6598         * toplev.h (get_src_pwd, set_src_pwd): Declare.
6599         * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
6600         * dwarf2out.c (gen_compile_unit_die): Likewise.
6601         * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
6602
6603 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6604
6605         * pretty-print.h (pp_set_line_maximum_length): Make macro.
6606         (pp_set_prefix): Likewise.
6607         (pp_destroy_prefix): Likewise.
6608         (pp_remaining_character_count_for_line): Likewise.
6609         (pp_clear_output_area): Likewise.
6610         (pp_formatted_text): Likewise.
6611         (pp_last_position_in_text): Likewise.
6612         (pp_emit_prefix): Likewise.
6613         (pp_append_text): Likewise.
6614         (pp_flush): Likewise.
6615         (pp_format_text): Likewise.
6616         (pp_format_verbatim): Likewise.
6617         (pp_tree_identifier): Tidy.
6618         * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
6619         (pp_base_format_verbatim): Rename from pp_format_verbatim.
6620         (pp_base_flush): Rename from pp_flush.
6621         (pp_base_set_line_maximum_length): Rename from
6622         pp_set_line_maximum_length.
6623         (pp_base_clear_output_area): Rename from pp_clear_output_area.
6624         (pp_base_set_prefix): Rename from pp_set_prefix.
6625         (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
6626         (pp_base_emit_prefix): Rename from pp_emit_prefix.
6627         (pp_base_append_text): Rename from pp_append_text.
6628         (pp_base_formatted_text): Rename from pp_formatted_text.
6629         (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
6630         (pp_base_remaining_character_count_for_line): Rename from
6631         pp_remaining_character_count_for_line.
6632         * diagnostic.h (diagnostic_format_decoder): Tidy.
6633         (diagnostic_flush_buffer): Likewise.
6634         * c-pretty-print.h: (pp_c_string_literal): Declare.
6635         (pp_c_real_literal): Likewise.
6636         (pp_c_integer_literal): Likewise.
6637         * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
6638         pp_identifier.
6639         (pp_c_character_literal): Tidy.
6640         (pp_c_string_literal): Make public.
6641         (pp_c_bool_literal): Likewise.
6642         (pp_c_integer_literal): Likewise.
6643         (pp_c_real_literal): Likewise.
6644
6645         * Makefile.in (C_PRETTY_PRINT_H): New variable.
6646         (c-pretty-print.o): Update dependence.
6647
6648 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
6649
6650         * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
6651         ".set nomacro" state.
6652         (fix_truncsfsi2_macro): Likewise.
6653
6654 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
6655
6656         * tree.h (DID_INLINE_FUNC): Remove macro.
6657         (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
6658         add tree check for FUNCTION_DECL.
6659         (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
6660         (struct tree_decl): Rename inlined_function_flag to
6661         declared_inline_flag.
6662         * c-common.h (c_lang_decl): Remove.
6663         (DECL_ESTIMATED_INSNS): Remove.
6664         * c-tree.h (struct lang_decl): Don't include c_lang_decl.
6665         (DECL_DECLARED_INLINE_P): Remove.
6666         * c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
6667         do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
6668         (finish_function): Make uninlinable a bool.  Fixup call to
6669         tree_inlinable_function_p() and fix some code style issues.
6670         * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
6671         * cgraph.c (dump_cgraph): Likewise.
6672         * cgraphunit.c (cgraph_decide_inlining): Likewise
6673         (cgraph_finalize_compilation_unit): Likewise.
6674         Also update call to tree_inlinable_function_p().
6675         (cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
6676         look at DECL_DECLARED_INLINE and reverse logic.
6677         * print-tree.c (print_node): Likewise.
6678         * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
6679         * tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
6680         prototype.
6681         * tree-inline.c (inlinable_function_p): Split up in this function to
6682         check for basic inlining inhibiting conditions, and new
6683         limits_allow_inlining() function.  Warn if inlining is impossible
6684         because the inline candidate calls alloca or uses sjlj exceptions.
6685         (limits_allow_inlining): this new function to check if the inlining
6686         limits are satisfied.  Throttle from currfn_max_inline_insns, not from
6687         MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
6688         MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
6689         Update prototypes.
6690         (tree_inlinable_function_p): Make a bool.  Update call to
6691         inlinable_function_p
6692         (expand_call_inline): Use limits_allow_inlining() when not in
6693         unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
6694         instead see if the function was declared `inline'.
6695
6696 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
6697
6698         * gcse.c (try_replace_reg): Fix updating of note.
6699
6700 2003-08-04  Roger Sayle  <roger@eyesopen.com>
6701
6702         PR middle-end/11771
6703         * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
6704         logic in negate_expr, i.e. we don't invert (A-B) for floating
6705         point types unless flag_unsafe_math_optimizations.
6706
6707 2003-08-04  Roger Sayle  <roger@eyesopen.com>
6708
6709         * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
6710         Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
6711         for floating point expressions with -ffast-math.
6712         (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
6713         * expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
6714
6715 2003-08-04  Roger Sayle  <roger@eyesopen.com>
6716
6717         * c-common.c (flag_noniso_default_format_attributes): Delete.
6718         (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
6719         (c_attrs_initialized): Delete.
6720         (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
6721         always call c_init_attributes.
6722         (c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
6723         set c_attrs_initialized when done.
6724         (c_common_insert_default_attributes): Delete.
6725         * c-common.h (flag_noniso_default_format_attributes): Delete.
6726         (c_coomon_insert_default_attributes): Delete prototype.
6727         * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
6728         flag_noniso_default_format_attributes.
6729
6730         * c-decl.c (c_insert_default_attributes): Delete.
6731         * c-tree.h (c_insert_default_attributes): Delete prototype.
6732
6733         * attribs.c (decl_attributes): Don't call insert_default_attributes
6734         langhook.  Update function description comment.
6735         * langhooks.h (lang_hooks): Remove insert_default_attributes field.
6736         * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
6737         * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
6738         * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
6739
6740         * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
6741         define.
6742
6743 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
6744
6745         * config/mips/mips.c (override_options): Disable -G on targets that
6746         have no .section support.
6747         (mips_select_section): Use default_select_section for such targets.
6748
6749 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
6750
6751         * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
6752         * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
6753         * fixinc/fixincl.x: Rebuild.
6754         * fixinc/tests/base/regexp.h: New test.
6755
6756 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
6757
6758         * c-ppoutput.c (cb_line_change): Don't skip line changing while
6759         parsing macro arguments in the top-level context.
6760
6761 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
6762
6763         * config.in: Remove HAVE_LSTAT.
6764         * configure, configure.in: Don't test for lstat.
6765
6766 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6767
6768         * opts.c (decode_options): Do language-specific initialization for
6769         the global diagnostic context.
6770         * langhooks-def.h (lhd_initialize_diagnostics): Declare.
6771         (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
6772         (LANG_HOOKS_INITIALIZER): Adjust.
6773         * langhooks.h (struct lang_hooks): Add new field
6774         initialize_diagnostics.
6775         * langhooks.c (lhd_initialize_diagnostics): Define.
6776
6777 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
6778
6779         * pretty-print.h:   Adjust macro definitions.
6780         * pretty-print.c (pp_newline): Rename to pp_base_newline.
6781         (pp_character): Rename to pp_base_character.
6782         (pp_string): Rename to pp_base_string.
6783         * c-pretty-print.c (pp_buffer): Move to pretty-print.h
6784         (pp_newline):  Likewise.  Adjust.
6785         (pp_c_char): Adjust.
6786
6787 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6788
6789         * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
6790         BUILT_IN_LLABS): Move to miscellaneous section.
6791
6792 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
6793
6794         PR preprocessor/11534
6795         * cppexp.c (parse_defined): Warn only if -pedantic.
6796
6797 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
6798
6799         * cppfiles.c (stack_file): Use file path.
6800
6801 2003-08-02  Roger Sayle  <roger@eyesopen.com>
6802
6803         * builtin-types.def (BT_SSIZE): New primitive type.
6804         (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
6805         BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
6806         BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
6807         BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
6808         * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
6809         BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
6810         BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
6811         * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
6812         few functions that define default attributes using it.
6813         * c-common.c (c_common_insert_default_attributes): Do nothing.
6814
6815         * doc/extend.texi: Document these "new" builtins.
6816
6817 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
6818
6819         * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
6820         (LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
6821         when -mieee-fp set and -shared not set.
6822         (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
6823
6824 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
6825
6826         * cppfiles.c (struct _cpp_file): Rename once_only_next to
6827         next_file.  Remove import and pragma_once, add once_only.
6828         (find_file): Add new file structures to the all_files list.
6829         (should_stack_file): Mark #import-ed files once-only, and
6830         don't stack them if the file has already been stacked.
6831         (_cp_mark_file_once_only): Simplify.
6832         * cpphash.h (struct cpp_reader): Rename once_only_files
6833         to all_files.  Rename saw_pragma_once to seen_once_only.
6834         (_cpp_mark_file_once_only): Update prototype.
6835         * cpplib.c (do_pragma_once): Update.
6836
6837 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
6838
6839         * cppfiles.c (ENOTDIR): Remove.
6840         (open_file_in_dir): Rename find_file_in_dir.  Handle errors
6841         other than ENOENT here.
6842         (once_only_file_p): Rename should_stack_file.
6843         (find_file, open_file_failed, read_file_guts): Report errors
6844         with full path name.
6845         (read_file): Move pch handling to should_stack_file.
6846         (should_stack_file): Handle PCH and once-only issues, and
6847         reading the file.
6848         (stack_file): Don't do file reads.
6849
6850 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6851
6852         * libgcov.c (gcov_exit): Cleanup and fix.
6853         * profile.c (compute_value_histograms): Don't try to read profiles
6854         that are not present.
6855
6856 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6857
6858         * builtins.def: Categorize.
6859
6860         * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
6861         Mind fp rounding.
6862         (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
6863
6864 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
6865
6866         * config.gcc: Enable posix threads by default on darwin.
6867
6868 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
6869
6870         * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
6871         even if nehedges1 is 0.
6872
6873 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
6874
6875         * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
6876         fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
6877         fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
6878         and defintions.
6879
6880         * fixinc/inclhack.def (broken_cabs): Make matching more generous.
6881         * fixinc/fixincl.x: Regenerate.
6882         * fixinc/tests/base/math.h: Regenerate to match test_text change.
6883
6884 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6885
6886         * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
6887
6888 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6889
6890         * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
6891         for accesses to exc_ptr.
6892
6893 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
6894
6895         * doc/sourcebuild.texi (Front End Directory): Don't make references
6896         to libsubdir, it's not part of the interface to frontends.
6897         * doc/install.texi (Configuration): Help users read faster by saying
6898         that GCC's configure options are the standard autoconf ones.
6899         Mention --libdir.  Update the default rules for finding the
6900         assembler.  Don't use libsubdir since we haven't said what it means.
6901         (Specific): In the Solaris 7 notes, update the place to put the
6902         assembler.
6903         * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
6904         * doc/cpp.texi (Search Path): Actually, the search path
6905         depends on libdir, which can relocate with cpp.
6906         * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
6907         now a private interface between the Makefile and the driver.
6908
6909 2003-08-01  Richard Henderson  <rth@redhat.com>
6910
6911         * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
6912
6913         * varasm.c (lookup_constant_def): New function.
6914         * rtl.h (lookup_constant_def): Declare it.
6915         * dwarf2out.c (loc_descriptor_from_tree): Use it.
6916         Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
6917
6918 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
6919
6920         * c-decl.c (gettags, pushdecl_function_level): Delete.
6921         (last_function_parm_vars): Rename last_function_parm_others.
6922         (current_function_parm_vars): Rename current_function_parm_others.
6923         (struct c_scope): Rewrite comment explaining this data structure.
6924         Add names_last, blocks_last, parms_last fields.  Rename
6925         incomplete_list to incomplete.
6926         (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
6927         (poplevel): Ignore second argument.  No need to nreverse
6928         anything.  Restructure such that each list is processed
6929         exactly once.  Use 'const location_t *locus' syntactic sugar
6930         variable where useful.  Issue unused variable warnings
6931         ourselves, do not rely on function.c.
6932         (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
6933         (pushdecl_top_level): Likewise.  Don't call duplicate_decls.
6934         (implicitly_declare): decl cannot be error_mark_node.
6935         (undeclared_variable): Manipulate scope structure directly.
6936         (c_make_fname_decl): Likewise.
6937         (getdecls, c_init_decl_processing): Fix comment.
6938         (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
6939         for 'last' variable.
6940         (grokparms): No need to nreverse parms list.
6941         (store_parm_decls_newstyle): Set up the parms_last and
6942         names_last fields of the new scope too.
6943         (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
6944         on parms to begin with; check this under ENABLE_CHECKING.  Set
6945         up parms_last.
6946         (check_for_loop_decls): Refer directly to current_scope->tags.
6947         Use consistent quote style in diagnostics.
6948         (c_write_global_declarations): The names list is not backward.
6949
6950         * c-common.h: Don't prototype gettags.
6951         * c-parse.in: Call poplevel with second argument 0 always.
6952
6953 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6954
6955         * builtins.def: Resort builtins.
6956
6957 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6958
6959         * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
6960         DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
6961         Prepend "__builtin_" onto NAME with string concatenation.  Remove
6962         explicit "__builtin_" from each macro call.
6963
6964         Reformat entire file.
6965
6966 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6967
6968         * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
6969         ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
6970
6971 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
6972
6973         * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
6974         CCL1, or CCL2 modes with floating point operations.
6975
6976         * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
6977         "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
6978         "*subdf3_cconly"): New insns.
6979         ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
6980
6981 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
6982
6983         * Makefile.in: Refine dependencies.
6984         * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
6985         * c.opt: Update help for -Wimport.
6986         * cppfiles.c: Include hashtab.h.  Update comments.
6987         (stack_file): Read the file before updating dependencies.
6988         (once_only_file_p): Be smarter about marking once-only files.
6989         (_cpp_mark_file_once_only): Correct the check for existence on
6990         the list.
6991         (open_file_failed): Use name not path, which is NULL.
6992         * cpphash.h: Don't include hashtab.h.
6993         (struct _cpp_file): Remove.
6994         (struct cpp_reader): Update.
6995         * cppinit.c (cpp_create_reader): Don't initialize warn_import.
6996         * cpplib.h (struct cpp_options): Remove warn_import.
6997         (cpp_simplify_path): Remove.
6998
6999 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
7000
7001         PR c++/11295
7002         * doc/extend.texi (Statement Expressions): Document C++ semantics.
7003
7004 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
7005
7006         * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
7007
7008 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7009
7010         * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
7011         throughout.
7012         * builtins.def: Likewise.
7013
7014 2003-07-31  Jason Merrill  <jason@redhat.com>
7015
7016         * Makefile.in (bubblestrap): Don't require a previous full
7017         bootstrap.
7018
7019         * expr.c (mostly_zeros_p): No longer static.
7020         * tree.h: Declare it.
7021         * stmt.c (resolve_asm_operand_names): Don't copy the pattern
7022         unless we need to do substitutions.
7023
7024 2003-07-31  Roger Sayle  <roger@eyesopen.com>
7025
7026         * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
7027         pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
7028         as pow(x,2.0) when the latter will be expanded back into x*x.
7029         (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
7030         * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
7031         pow can never set errno when used with an integer exponent.
7032         Always use expand_powi when exponent is -1, 0, 1 or 2.
7033         (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
7034         as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
7035         the pow forms of these expressions.
7036
7037 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
7038
7039         * Makefile.in (libexecdir): New.
7040         (libsubdir): Use gcc instead of gcc-lib.
7041         (libexecsubdir): New.
7042         (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
7043         (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
7044         gcc-lib.
7045         (installdirs): Make libexecsubdir.
7046         (install-common): Put executables in libexecsubdir.
7047         (itoolsdir): Use libexecsubdir.
7048         (itoolsdatadir): New.
7049         (install-mkheaders): Separate data files and executables.
7050         (install-collect2): Put executables in libexecsubdir.
7051         (uninstall): Remove libexecsubdir.
7052         * mkheaders.in: Update for new arrangement of files.
7053         (libexecdir): New.
7054         (libexecsubdir): New.
7055         (itoolsdir): Use libexecsubdir.
7056         (itoolsdatadir): New.
7057         * gcc.c (gcc_libexec_prefix): New.
7058         (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
7059         (standard_exec_prefix_1): Use libexec.
7060         (standard_exec_prefix_2): New.
7061         (standard_libexec_prefix): New.
7062         (process_command): Update for new arrangement of files.  Compute
7063         gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
7064
7065 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
7066
7067         * inclhack.def (stdio_va_list): Avoid bogus replacement which
7068         triggers on Interix.
7069         * fixincl.x: Regenerate.
7070
7071 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
7072
7073         * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
7074         SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
7075
7076 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7077
7078         * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
7079
7080 2003-07-31  Per Bothner  <pbothner@apple.com>
7081
7082         * opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
7083         (add_input_filename):  New function.
7084         (handle_options):  Call add_input_filename directly instead of
7085         with a lang hook.
7086         * opts.h (in_fnames, num_in_fnames):  Moved here.
7087         (add_input_filename):  Declare.
7088         * c-decl.c:  Need to #include opts.h.
7089         * Makefile.in (c-decl.o):  Also depends on opts.h.
7090         * c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
7091         (c_common_handle_filename):  Replaced by add_input_filename.
7092         * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
7093         Remove.
7094         * langhooks.h (struct lang_hooks):  Remove handle_filename hook.
7095         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
7096         (LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
7097         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
7098
7099 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7100
7101         * combine.c (try_combine): Set JUMP_LABEL for newly created
7102         unconditional jump.
7103
7104 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7105
7106         * fold-const.c (fold): Fold some comparisons of bit operations.
7107
7108 2003-07-31  Jan Hubicka  <jh@suse.cz>
7109
7110         * cgraph.c (create_edge): Fix typo.
7111         * i386.c (pic_symbolic_operand): Reorder tests.
7112
7113 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
7114
7115         * doc/gcov.texi (Invoking Gcov): Describe output name mangling
7116         more fully.
7117         (Gcov Data Files): Update.
7118
7119 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7120
7121         * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
7122         default.
7123
7124         * gthr-posix.c: New file.
7125         * gthr-posix.h: Define _REENTRANT if missing.
7126         Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
7127
7128         * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
7129         by gthr-posix.o.
7130         * config/alpha/t-osf-pthread: New file.
7131
7132         * fixinc/inclhack.def (alpha_pthread): New fix.
7133         * fixinc/fixincl.x: Regenerate.
7134         * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
7135
7136         * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
7137         warning.
7138         Fixes PR bootstrap/9330.
7139
7140 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7141
7142         * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
7143         without GNU ld.
7144         Update comment.
7145         * configure: Regenerate.
7146
7147 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
7148
7149         * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
7150         setter.
7151
7152 2003-07-30  Roger Sayle  <roger@eyesopen.com>
7153
7154         * builtins.def: Alphabetize.
7155
7156 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
7157
7158         * doc/c-tree.texi: Normalize spellings of "lowercase" and
7159         "uppercase".
7160         * doc/cpp.texi: Likewise.
7161         * doc/md.texi: Likewise.
7162         * doc/rtl.texi: Likewise.
7163         * doc/tm.texi: Likewise.
7164
7165 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
7166
7167         * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
7168         (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
7169         of cc1obj.
7170
7171 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
7172
7173         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
7174         macros before defining them.
7175
7176 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
7177
7178         * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
7179         UNSPECV_BLOCKAGE): New constants.
7180         ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
7181         "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
7182         splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
7183         "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
7184
7185         (all insns and expanders): Write output control string as brace block
7186         where appropriate.  Remove \-escapes for doublequote characters.
7187
7188 2003-07-31  Jan Hubicka  <jh@suse.cz>
7189
7190         * gcse.c (insert_store): Fix typo in previous patch.
7191
7192 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
7193
7194         * cppfiles.c (stack_file, open_file_failed): Use path for deps.
7195
7196 2003-07-30  Andi Kleen  <ak@muc.de>
7197
7198         * loop.c (check_dbra_loop): Allow LTU in the loop condition.
7199
7200 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7201
7202         * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
7203         * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
7204         GCOV_N_VALUE_COUNTERS): New.
7205         * profile.c (compute_value_histograms): New static function.
7206         (branch_prob): Read back the value histograms.
7207         * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
7208         * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
7209         * value-prof.c: Add comment on reading the profile.
7210         * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
7211         * doc/invoke.texi (-fprofile-values): Document behavior with
7212         -fbranch-probabilities.
7213
7214 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
7215
7216         * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
7217
7218 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
7219
7220         * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
7221         symbolically.
7222
7223 2003-07-30  Jan Hubicka  <jh@suse.cz>
7224
7225         * gcse.c (insert_store): Ignore fake edges.
7226
7227         * c-common.c (flag_vtable_gc): Kill.
7228         * c-common.g (flag_vtable_gc): Kill.
7229         * c-opts (c_common_handle_option): Kill.
7230         * c.opt (fvtable-gc): Kill.
7231         * final.c (final_scan_insn): Do not call assemble_vtable_entry.
7232         * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
7233         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
7234
7235         * invoke.texi (-ftable-gc): Kill documentation.
7236
7237         * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
7238         just because function body is missing.
7239
7240         * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
7241
7242 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
7243
7244         * unwind-sjlj.c: Fix typo in file description.
7245
7246 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
7247
7248         * calls.c (load_register_parameters): When shifting reg sized values
7249         to the msb, move the value to a reg first.
7250
7251 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
7252
7253         * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
7254         * line-map.h (linemap_add): Update comments.
7255         * line-map.c (linemap_add): Update comments, interpret zero-length
7256         filename as "<stdin>".
7257
7258 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
7259
7260         * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
7261
7262 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
7263
7264         * c-decl.c (last_function_parm_vars, current_function_parm_vars):
7265         New static variables.
7266         (struct c_scope): Add parms and warned_forward_parm_decls
7267         fields; remove parm_order.
7268         (storedecls, storetags): Delete.
7269         (poplevel): Also clear bindings on the parms chain.
7270         (pushdecl): Handle forward declarations of parameters, and
7271         chain PARM_DECLs on the parms list, not the names list.
7272         (lookup_name_current_level): Check for PARM_DECLs on the parms
7273         list too.
7274         (push_parm_decl): Don't update parm_order.
7275         (clear_parm_order): Rename mark_forward_parm_decls.  Issue the
7276         warning, only once per parameter list, and set TREE_ASM_WRITTEN
7277         on the decls here.  Then move the forward decls to the names list.
7278         (grokparms): Set last_function_parm_vars.
7279         (get_parm_info): Don't use gettags or getdecls.  No need to
7280         extract non-parms from the parms list, or reorganize the parms
7281         list.  Feed nonparms back in the TREE_TYPE of the list node
7282         returned.  Issue only one error per parameter list for "void"
7283         appearing more than once in said parameter list.  Collapse
7284         parmlist_tags_warning into this function to avoid double scan
7285         of tags list.
7286         (start_function): Set current_function_parm_vars.
7287         (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
7288         directly.  Get non-parms from current_function_parm_vars; no
7289         need to extract them from the parms chain.  Properly bind tags
7290         in the new scope.
7291         (store_parm_decls_oldstyle): No need to extract non-parameters
7292         from the parms chain, nor to store them back afterward.  Move
7293         declaration to top of function, restructure code reordering
7294         DECL_ARGUMENTS.
7295         (store_parm_decls): No need to save and restore warn_shadow.
7296         * c-parse.in: Don't call parmlist_tags_warning nor
7297         clear_parm_order.  Call mark_forward_parm_decls when forward
7298         parm decls are encountered.
7299         * c-tree.h: Prototype mark_forward_parm_decls; not
7300         clear_parm_order or parmlist_tags_warning.
7301
7302 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
7303
7304         * c-common.c (allow_pch): Remove.
7305         * c-common.h (allow_pch): Remove.
7306         (c_common_no_more_pch): Declare.
7307         * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
7308         * c-pch.c: Include hosthooks.h.
7309         (c_common_valid_pch): Don't check allow_pch.
7310         (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
7311         (c_common_no_more_pch): New.
7312         * ggc-common.c: Include hosthooks.h.
7313         (gt_pch_save): Call gt_pch_get_address.
7314         (gt_pch_restore): Call gt_pch_use_address.
7315         * hooks.c (hook_voidp_size_t_null): New.
7316         (hook_bool_voidp_size_t_false): New.
7317         * hooks.h (hook_voidp_size_t_null): New.
7318         (hook_bool_voidp_size_t_false): New.
7319         * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
7320         (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
7321         (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
7322         HOST_HOOKS_GT_PCH_USE_ADDRESS.
7323         * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
7324         gt_pch_use_address.
7325         * doc/hostconfig.texi (Host Common): Document
7326         HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
7327         * Makefile.in (c-pch.o): Depend on hosthooks.h.
7328         (ggc-common.o): Likewise.
7329
7330         * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
7331         (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
7332         (pch_address_space): New.
7333         (darwin_rs6000_gt_pch_get_address): New.
7334         (darwin_rs6000_gt_pch_use_address): New.
7335
7336 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
7337
7338         PR preprocessor/11569
7339         PR preprocessor/11649
7340         * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
7341         * cppfiles.c: Completely rewritten.
7342         * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
7343         struct cpp_path is now struct cpp_dir.
7344         (remove_duplicates): Don't simplify path names.
7345         * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
7346         cpp_stack_file.
7347         * cpphash.h: Include hashtab.h.
7348         (_cpp_file): Declare.
7349         (struct cpp_buffer): struct include_file is now struct _cpp_file,
7350         and struct cpp_path is now struct cpp_dir.  Rename members.
7351         (struct cpp_reader): Similarly.  New members once_only_files,
7352         file_hash, file_hash_entries, quote_ignores_source_dir,
7353         no_search_path, saw_pragma_once.  Remove all_include_files and
7354         max_include_len.  Make some members bool.
7355         (_cpp_mark_only_only): Renamed from _cpp_never_reread.
7356         (_cpp_stack_file): Renamed from _cpp_read_file.
7357         (_cpp_stack_include): Renamed from _cpp_execute_include.
7358         (_cpp_init_files): Renamed from _cpp_init_includes.
7359         (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
7360         * cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
7361         (cpp_read_next_file): Rename and move to cppfiles.c.
7362         (cpp_read_main_file): Update.
7363         * cpplib.c (run_directive): Update for renamed members.
7364         (do_include_common, _cpp_pop_buffer): Update.
7365         (do_import): Undeprecate #import.
7366         (do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
7367         * cpplib.h: Remove file_name_map_list.
7368         (cpp_options): Remove map_list.
7369         (cpp_dir): Rename from cpp_path.  New datatype for name_map.
7370         (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
7371
7372 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
7373
7374         * Makefile.in:  Make stamp-objdir safe for parallel builds.
7375
7376 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
7377
7378         * Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
7379         (info):  Depend on stmp-docobjdir.
7380
7381 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7382
7383         * configure: Regenerate.
7384
7385 2003-07-29  Jan Hubicka  <jh@suse.cz>
7386
7387         PR C++/11131
7388         * tree-inline.c (expand_call_inline): Always call inlinable_function_p
7389         in !unit-at-a-time mode.
7390
7391 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
7392
7393         * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
7394         main function.
7395
7396 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
7397
7398         PR c++/11667
7399         * c-common.c (shorten_compare): Take into account differences
7400         between C and C++ representation for enumeration types.
7401         * tree.h (set_min_and_max_values_for_integral_type): Declare.
7402         * stor-layout.c (set_min_and_max_values_for_integral_type): New
7403         function, broken out from ...
7404         (fixup_signed_type): ... here and ...
7405         (fixup_unsigned_type): ... here.
7406
7407 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
7408
7409         * c-decl.c: Update commentary, adjust blank lines throughout.
7410         (struct c_scope): Fix indentation.  Reorder members so
7411         outer-context pointers come first, booleans last.
7412         (duplicate_decls, define_label): Use a 'locus' variable for
7413         diagnostic locations in a few more places.
7414         (warn_if_shadowing): Un-split a conditional that fits on one line.
7415         (c_init_decl_processing): No need to clear current_scope and
7416         current_function_scope.
7417         (start_decl): Merge if/else if statements with same action.
7418         (push_parm_decl): Rename old_immediate_size_expand to use
7419         save_foo convention; save/restore around entire function.
7420         (grokdeclarator): Remove unnecessary braces.
7421
7422 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
7423             Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
7424
7425         * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
7426         when warn_declaration_after_statement.  Call pedwarn_c90, not
7427         pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
7428         * c-common.c (warn_declaration_after_statement): Define.
7429         * c-common.h (warn_declaration_after_statement): Declare.
7430         * c.opt (Wdeclaration-after-statement): New.
7431         * c-errors.c (pedwarn_c90): New function.
7432         * c-opts.c (c_common_handle_option) <case
7433         OPT_Wdeclaration_after_statement>: New.
7434         * c-tree.h (pedwarn_c90): Declare.
7435         * doc/invoke.texi (Option Summary): Document
7436         -Wdeclaration-after-statement.
7437         (Warning Options): Ditto.
7438
7439 2003-07-28  Jan Hubicka  <jh@suse.cz>
7440
7441         * i386.md (memory attribute) Avoid accessing uninitialized memory
7442         for ishift1 type instructions.
7443
7444 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
7445
7446         * configure.in (--enable-checking): Add fold category.
7447         (ENABLE_FOLD_CHECKING): Define if requested.
7448         * configure: Rebuilt.
7449         * config.in: Rebuilt.
7450         * doc/install.texi: Document it.
7451         * fold-const.c: Include md5.h.
7452         [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
7453         [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
7454         print_fold_checksum): New functions.
7455
7456         * fold-const.c (fold): Never modify argument passed to fold, instead
7457         change a copy and return it.
7458         * convert.c (convert_to_integer): Likewise.
7459
7460 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
7461
7462         * fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
7463         cleanup of junk after #else and #endif directives.  Collapse repeated
7464         clauses into for statment.
7465
7466         * fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
7467
7468 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
7469
7470         * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
7471         (keep_next_if_subblocks): Rename next_is_function_body.
7472         (pushlevel): Adjust commentary.  Always set ->keep on the
7473         outermost level of a function.  Don't set ->keep_if_subblocks.
7474         (poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
7475         (store_parm_decls): Adjust to match.
7476         (finish_function): Adjust to match.
7477         Call poplevel with all three arguments zero.
7478
7479         * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
7480         New functions split out of store_parm_decls.
7481         Avoid unnecessary work. Use local variables consistently.
7482         (store_parm_decls): Likewise.
7483
7484         (finish_function): No need to set functionbody flag on call to
7485         poplevel.
7486         (struct language_function): Remove scope field.
7487         (c_push_function_context, c_pop_function_context): No need to
7488         save and restore current_scope.
7489
7490 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
7491
7492         * doc/extend.texi (Deprecated Features): Implicit typename is
7493         gone. Default args on types is going.
7494
7495 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
7496
7497         * Makefile.in (ifcvt.o): Depend on target.h
7498         * ifcvt.c (target.h): Include.
7499         (if_convert): Don't call mark_loop_exit_edges if we can't
7500         modify jumps.
7501
7502 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7503
7504         * doc/install.texi (Testing): Adjust required versions of DejaGnu.
7505
7506 2003-07-26  Richard Henderson  <rth@redhat.com>
7507
7508         PR inline-asm/11676
7509         * cse.c (count_reg_usage): Handle asm_operands properly.
7510
7511 2003-07-26  Roger Sayle  <roger@eyesopen.com>
7512
7513         * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
7514         (DEF_EXT_FALLBACK_BUILTIN): Delete.
7515         (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
7516         the regular DEF_EXT_LIB_BUILTIN macro.
7517         (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
7518         the regular DEF_LIB_BUILTIN macro.
7519         (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
7520         BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
7521         BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
7522         DEF_EXT_LIB_BUILTIN macro.
7523
7524         * c-decl.c (duplicate_decls): Remove code to handle builtin
7525         functions prototyped without an argument list.
7526
7527 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
7528
7529         * config/i386/winnt.c: Revert 2003-07-08 change.
7530         (i386_pe_section_type_flags): Remove error_with_decl here too.
7531
7532 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7533
7534         * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
7535         * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
7536         * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
7537         (v850_handle_data_area_attribute): Likewise.
7538
7539 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
7540
7541         * varasm.c (output_constant_def_contents): Use
7542         ASM_DECLARE_CONSTANT_NAME if defined.
7543         * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
7544         * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
7545         objects get at least one byte to prevent assembler problems.
7546         (ASM_DECLARE_CONSTANT_NAME): New.
7547
7548         * Makefile.in (libbackend.o): Remove options_.h.
7549         (mostlyclean): Likewise.
7550
7551         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
7552         insert a label at the end of an function under Mach-O.
7553
7554         * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
7555
7556 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
7557
7558         * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
7559         equality.
7560         (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
7561
7562         * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
7563
7564 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7565
7566         * doc/passes.texi (Passes): Mention pretty-printing and
7567         diagnostic files.
7568
7569 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
7570
7571         * doc/extend.texi (Function Attributes): GNU C++ does now allow
7572         unused parameter decls.
7573         (Attribute Syntax): GNU C++ does not allow label attributes to be
7574         after the ':'.
7575
7576 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7577
7578         * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
7579         (objc_declare_class): Likewise.
7580         (error_with_ivar): Likewise.
7581         (start_class): Likewise.
7582         (warn_with_method): Likewise.
7583
7584 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
7585
7586         Remove pedwarn_with_decl, warning_with_decl and error_with_decl
7587         from GCC.
7588         * calls.c (try_to_integrate): Don't use xxx_with_decl.
7589         (expand_call): Likewise.
7590         * dwarfout.c (output_reg_number): Likewise.
7591         * expr.c (expand_expr): Likewise.
7592         * function.c (assign_temp): Likewise.
7593         (uninitialized_vars_warning): Likewise.
7594         (setjmp_args_warning): Likewise.
7595         (expand_function_end): Likewise.
7596         * stmt.c (fixup_gotos): Likewise.
7597         (warn_about_unused_variables): Likewise.
7598         (expand_end_bindings): Likewise.
7599         * stor-layout.c (layout_decl): Likewise.
7600         (place_field): Likewise.
7601         * toplev.c (check_global_declarations): Likewise.
7602         (rest_of_handle_inlining): Likewise.
7603         (default_tree_printer): New function.
7604         (general_init): Initialize diagnostic machinery before routing
7605         signals to the ICE machinery.  Set default tree printer.
7606         * toplev.h (pedwarn_with_decl): Remove declaration.
7607         (warning_with_decl): Likewise.
7608         (error_with_decl): Likewise.
7609         (pedwarn): Remove attribute for the time being.
7610         * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
7611         * varasm.c (named_section): Likewise.
7612         (make_decl_rtl): Likewise.
7613         (assemble_variable): Likewise.
7614         (merge_weak): Likewise.
7615         (declare_weak): Likewise.
7616
7617         * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
7618         * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
7619         (format_with_decl): Remove.
7620         (diagnostic_for_decl): Likewise.
7621         (pedwarn_with_decl): Likewise.
7622         (warning_with_decl): Likewise.
7623         (error_with_decl): Likewise.
7624         (diagnostic_initialize): Adjust.
7625         (diagnostic_count_diagnostic): Likewise.
7626         (announce_function): Likewise.
7627         (lhd_print_error_function): Likewise.
7628         (diagnostic_report_current_module): Likewise.
7629         (default_diagnostic_starter): Likewise.
7630         (diagnostic_report_diagnostic): Likewise.
7631         (default_diagnostic_finalizer): Likewise.
7632         (verbatim): Likewise.
7633         (error): Likewise.
7634         (warning): Likewise.
7635         * opts.c (common_handle_option): Likewise.
7636         * pretty-print.c: New file.
7637         * c-pretty-print.h (pp_base): Override.
7638         * c-pretty-print.c: Adjust use of macros throughout.
7639         (pp_buffer): New macro.
7640         (pp_newline): Likewise.
7641         * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
7642         * Makefile.in (DIAGNOSTIC_H): New variable.
7643         (c-errors.o): Use it.
7644         (c-objc-common.o): Likewise.
7645         (c-common.o): Likewise.
7646         (c-opts.o): Likewise.
7647         (c-format.o): Likewise.
7648         (diagnostic.o): Likewise.
7649         (opts.o): Likewise.
7650         (toplev.o): Likewise.
7651         (rtl-error.o): Likewise.
7652         (dwarf2out.o): Likewise.
7653         (jump.o): Likewise.
7654         (pretty-print.o): New rule.
7655
7656 2003-07-24  Roger Sayle  <roger@eyesopen.com>
7657
7658         * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
7659         front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
7660         (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
7661         from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
7662         (DEF_FRONT_END_LIB_BUILTIN): Delete.
7663         (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
7664         (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
7665
7666         * builtins.c (build_string_literal): New function to construct
7667         a char* pointer to a string literal.
7668         (expand_builtin_fputs): Change 2nd argument from "int ignore" to
7669         "rtx target" to be consistent with other expand_builtin_* functions.
7670         Change 3rd argument from "int unlocked" to "bool unlocked".
7671         (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
7672         c-common.c to avoid front-end dependencies.  Optimize printf("")
7673         as a no-op when the result isn't required.  Handle embedded NULs
7674         in format string.
7675         (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
7676         from c-common.c to avoid front-end dependencies.  Likewise, optimize
7677         fprintf(fp,"") as a no-op when the result isn't required, evaluating
7678         fp for side-effects.  Handle embedded NULs in format string.
7679         (expand_builtin_sprintf): Fix typo.
7680         (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
7681         optimizing.  Adjust calls of expand_builtin_fputs to match the API
7682         change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
7683         expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
7684         and BUILT_IN_FPRINTF using expand_builtin_fprintf.
7685
7686         * c-common.c (is_valid_printf_arglist): Delete.
7687         (c_expand_builtin): Delete.
7688         (c_expand_builtin_printf): Moved to builtins.c. Delete.
7689         (c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
7690         (c_expand_expr): No longer treat CALL_EXPRs specially.
7691         (CALLED_AS_BUILT_IN): Delete.
7692
7693 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7694
7695         PR optimization/11631
7696         * gcse.c (store_motion): Connect infinite loops to exit.
7697
7698 2003-07-24  Jason Merrill  <jason@redhat.com>
7699
7700         * tree.h (boolean_type_node): Move from C/C++/Java frontends.
7701         (boolean_true_node, boolean_false_node): Likewise.
7702         (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
7703         * tree.c (build_common_tree_nodes): Init boolean_type_node.
7704         (build_common_tree_nodes_2): Init boolean_{true,false}_node.
7705         * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
7706         * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
7707         (truthvalue_true_node): Renamed from boolean_true_node.
7708         (truthvalue_false_node): Renamed from boolean_false_node.
7709         * c-decl.c: Just set truthvalue_* to integer_*.
7710         * c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
7711
7712 2003-07-24  Roger Sayle  <roger@eyesopen.com>
7713
7714         * c-decl.c (match_builtin_function_types): New subroutine of
7715         duplicate_decls to test whether a redeclaration of a builtin
7716         function is suitably close, i.e. the return type and all of
7717         the argument types have the same modes as the builtin expects.
7718         (duplicate_decls): Fuzzy type matching for builtin functions
7719         moved to match_builtin_function_types.
7720
7721 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7722
7723         * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
7724         flag correctly.
7725
7726 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
7727
7728         * c-decl.c: Search-and-replace change 'binding level' to
7729         'scope' in commentary.
7730         (struct binding_level): Now struct c_scope.
7731         (current_binding_level): Now current_scope.
7732         (free_binding_level): Now scope_freelist.
7733         (current_function_level): Now current_function_scope.
7734         (global_binding_level): Now global_scope.
7735         (make_binding_level): Now make_scope.
7736         (pop_binding_level): Now pop_scope.
7737
7738 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7739
7740         * configure.in (libgcc_visibility): Add missing whitespace.
7741
7742 2003-07-24  Richard Henderson  <rth@redhat.com>
7743
7744         * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
7745         __gcc_personality_v0.
7746
7747 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
7748
7749         * Makefile.in: Replace pwd by ${PWD_COMMAND}.
7750
7751 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
7752
7753         * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
7754         documentation missed from my 2003-07-09 patch.
7755
7756 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
7757
7758         * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
7759         it's not provided.
7760         * configure: Rebuild.
7761
7762 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
7763
7764         PR c/10602
7765         * c-typeck.c (type_lists_compatible_p): Do not compare
7766         arguments if one of them is an error_mark_node
7767
7768 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
7769
7770         * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
7771         if current_function_calls_eh_return.
7772
7773 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
7774
7775         * doc/c-tree.texi (OFFSET_TYPE): Update description.
7776
7777 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
7778
7779         * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
7780         * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
7781         __umodsi3, __modsi3): Increase frame size to 32.
7782
7783 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
7784
7785         * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
7786         prototype.
7787
7788 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
7789
7790         * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
7791
7792         PR optimization/10679
7793         * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
7794
7795 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
7796
7797         PR target/11607 and PR target/11516
7798         * pa.md (extzv, extv, insv): Revert latter half of last patch.
7799
7800 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
7801
7802         * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
7803         * varasam.c (output_constant): Likewise.
7804
7805 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
7806
7807         * alias.c: Fix comment formatting.
7808         * c-common.c: Likewise.
7809         * c-decl.c: Likewise.
7810         * c-opts.c: Likewise.
7811         * combine.c: Likewise.
7812         * cpplib.c: Likewise.
7813         * diagnostic.c: Likewise.
7814         * dojump.c: Likewise.
7815         * final.c: Likewise.
7816         * fold-const.c: Likewise.
7817         * gcc.c: Likewise.
7818         * gcse.c: Likewise.
7819         * ggc-page.c: Likewise.
7820         * jump.c: Likewise.
7821         * loop.c: Likewise.
7822         * mips-tfile.c: Likewise.
7823         * recog.c: Likewise.
7824         * regclass.c: Likewise.
7825         * regmove.c: Likewise.
7826         * tree.c: Likewise.
7827         * tree.h: Likewise.
7828
7829 2003-07-22  Per Bothner  <pbothner@apple.com>
7830
7831         * line-map.c (add_line_map):  Handle invalid LEAVE request.
7832         Fixes PR preprocessor/11361.
7833
7834 2003-07-22  Per Bothner  <pbothner@apple.com>
7835
7836         * diagnostic.c.(diagnostic_report_current_module):  Update to match
7837         2003-06-05 changes to push_srcloc and pop_srcloc.
7838
7839 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
7840
7841         * doc/trouble.texi: Better document two-stage name lookup.
7842
7843 2003-07-22  Eric Christopher <echristo@redhat.com>
7844
7845         * config/s390.c (s390_valid_pointer_mode): New.
7846         (TARGET_VALID_POINTER_MODE): Use.
7847         (s390_emit_prologue): Add tpf profiling hooks.
7848         (s390_emit_epilogue): Ditto.
7849         * config/s390.h (MASK_TPF): New.
7850         (TARGET_TPF): Use.
7851         (POINTERS_EXTEND_UNSIGNED): Define.
7852         * config/s390.md (ptr_extend): New pattern.
7853
7854 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
7855
7856         * hashtable.c (approx_sqrt): Make static.
7857         * hashtable.h: Don't prototype approx_sqrt.
7858         * line-map.c (init_line_maps): Rename linemap_init.
7859         (free_line_maps): Rename linemap_free.
7860         (add_line_map): Rename linemap_add.
7861         (lookup_line): Rename linemap_lookup.
7862         (print_containing_files): Rename linemap_print_containing_files.
7863         * linemap.h: Update to match.
7864
7865         * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
7866         linemap routines to use new names.
7867
7868 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
7869
7870         * c-common.c (handle_packed_attribute): Don't pack a struct via a
7871         typedef. Propagate packedness from a main variant.
7872
7873 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
7874
7875         * Makefile.in (install-common): Add dependency on installdirs.
7876
7877 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
7878
7879         * c-common.c (c_common_type_for_mode): Return integer types for
7880         pointer modes.
7881
7882 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
7883
7884         * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
7885         (finish_decl): Call maybe_apply_pragma_weak here.
7886         (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
7887         TREE_PUBLIC and TREE_STATIC are decided.
7888         (start_function): Move call to maybe_apply_pragma_weak.  Check that
7889         DECL_ASSEMBLER_NAME isn't set too early.
7890
7891         * cpplex.c (_cpp_process_line_notes): Mention option name in
7892         trigraphs warning.
7893
7894 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
7895
7896         * combine.c (if_then_else_cond): Simplify the comparison of
7897         rtx against -1, 0, and 1.
7898         * loop.c (check_dbra_loop): Likewise.
7899         * optabs.c (emit_conditional_move): Likewise.
7900         (emit_conditional_add): Likewise.
7901         * config/i386/i386.md (*movsi_or): Likewise.
7902         (*movdi_or_rex6): Likewise.
7903
7904 2003-07-22  Jan Hubicka  <jh@suse.cz>
7905
7906         * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
7907
7908 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
7909
7910         * cppfiles.c (open_file_pch): Don't put unused entries in the
7911         splay tree.  Remove dead code.
7912
7913 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
7914
7915         * c-common.h (num_in_fnames): Declare.
7916         (c_static_assembler_name): Move from here...
7917         * c-tree.h (c_static_assembler_name): ... to here.
7918         * c-opts.c: Don't include langhooks-def.h.
7919         (c_static_assembler_name): Move to c-decl.c.
7920         (num_in_fnames): Make externally visible.
7921         * c-decl.c: Include langhooks-def.h.
7922         (c_static_assembler_name): Move from c-opts.c.
7923         * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
7924         (c-opts.o): Remove $(LANGHOOKS_DEF_H).
7925
7926         * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
7927         when it's not needed.
7928
7929 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
7930
7931         * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
7932         * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
7933         (rs6000_emit_prologue): Save FPRs inline if set.
7934
7935 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
7936
7937         * config/ia64/ia64.md (prefetch): Support predicate.
7938
7939 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
7940
7941         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
7942         * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
7943         table.
7944
7945 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
7946
7947         PR optimization/11536
7948         * unroll.c (loop_iterations): Do not replace a register holding
7949         the final value by its equivalent before the loop if it is not
7950         invariant.
7951
7952 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
7953
7954         * doc/extend.texi: Fixes to spelling, grammar, and diction.
7955
7956 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
7957
7958         * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
7959         (V850 Options): Spelling fixes.
7960
7961 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
7962
7963         * doc/invoke.texi: Fixes to style, grammar and diction.
7964
7965 2003-07-20  Roger Sayle  <roger@eyesopen.com>
7966
7967         * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
7968         * system.h (SMALL_STACK): Poison obsolete target macro.
7969         * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
7970
7971 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
7972
7973         * configure.in:  Cache the results of testing for cmp's capabilities.
7974         * configure:  Regenerate.
7975
7976 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
7977
7978         PR debug/11279
7979         * dwarf2out.c (gen_enumeration_type_die): Remember that
7980         enumerators can be unsigned.
7981
7982 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
7983
7984         * c-decl.c (named_labels, shadowed_labels, label_level_chain)
7985         (push_label_level, pop_label_level): Kill.
7986         (struct binding_level): Rename level_chain to outer.
7987         Add outer_function field.  Change parm_flag, function_body,
7988         keep, keep_if_subblocks to 1-bit bitfields of type bool.
7989         (current_function_level): New variable.
7990         (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
7991         (keep_next_level, declare_parm_level, warn_if_shadowing):
7992         Update to match.
7993         (struct language_function): Kill named_labels, shadowed_labels fields.
7994         (c_init_decl_processing, start_function, c_push__function_context)
7995         (c_pop_function_context): No need to muck with named_labels nor
7996         shadowed_labels.
7997
7998         (make_binding_level): No need to clear the structure here.
7999         (pop_binding_level): Always operate on current_binding_level.
8000         Update current_function_level if necessary.
8001         (pushlevel): Don't clear named_labels.  Update current_function_level
8002         if necessary.  Use "true" and "false" where appropriate.
8003         (poplevel): Diagnose labels defined but not used, or vice
8004         versa, and clear out label-meanings leaving scope, while
8005         walking down the decls list, for all binding levels.
8006         Handle LABEL_DECLs appearing in the shadowed list.
8007         pop_binding_level takes no arguments.
8008         (pushdecl_function_level): Use current_function_level.
8009
8010         (make_label, bind_label): New static functions.
8011         (declare_label): New exported function.
8012         (lookup_label, define_label): Rewritten for new data structure.
8013         (shadow_label): Kill.
8014
8015         * c-tree.h: Prototype declare_label; don't prototype
8016         push_label_level, pop_label_level, nor shadow_label.
8017         * c-parse.in: Remove all calls to push_label_level and
8018         pop_label_level.  Use declare_label for __label__ decls.
8019
8020         * doc/extend.texi: Clarify that __label__ can be used to
8021         declare labels with local scope in any nested block, not
8022         just statement expressions.  Cross-reference nested functions
8023         section from local labels section.
8024
8025 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8026
8027         * sched-rgn.c (find_rgns): Initialize current_edge correctly.
8028
8029 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
8030
8031         * doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
8032
8033 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8034
8035         * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
8036         fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
8037
8038 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
8039
8040         * config/s390/s390.c (legitimize_pic_address): Access local symbols
8041         relative to the GOT instead of relative to the literal pool base.
8042         (s390_output_symbolic_const): Handle new GOT-relative accesses.
8043         * config/s390/s390.md ("call"): Access local functions and PLT stubs
8044         relative to the GOT instead of relative to the literal pool base.
8045         ("call_value"): Likewise.
8046         ("call_value_tls"): Likewise.
8047
8048         * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
8049         reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
8050         (s390_chunkify_finish): Likewise.
8051         (s390_chunkify_cancel): Likewise.
8052         (s390_reorg): Adapt caller.
8053         (find_base_register_in_addr,
8054         find_base_register_ref, replace_base_register_ref): Delete.
8055         (find_ltrel_base, replace_ltrel_base): New functions.
8056         (find_constant_pool_ref): Handle LTREL_BASE unspecs.
8057         (s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
8058         base vs. index register usage.
8059         (struct constant_pool): Remove 'anchor'.
8060         (s390_add_anchor): Delete.
8061         (s390_dump_pool): Remove anchor handling.
8062         * config/s390/s390.md ("reload_anchor"): Remove.
8063
8064         * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
8065         (s390_load_got): New function.  Use LTREL_BASE/OFFSET.
8066         (s390_emit_prologue): Use it.
8067         * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
8068         "builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
8069         hard-code register 14.
8070         * config/s390/s390-protos.h (s390_load_got): Declare.
8071
8072         * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
8073         Support TImode constants.
8074         * config/s390/s390.md ("consttable_ti"): New.
8075         ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
8076
8077         * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
8078         UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
8079         UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
8080         UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
8081         UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
8082         New symbolic constants.
8083         ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
8084         "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
8085         "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
8086         "pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
8087         symbolic UNSPEC values.
8088         * config/s390/s390.c (larl_operand, s390_short_displacement,
8089         bras_sym_operand, s390_cannot_force_const_mem,
8090         s390_delegitimize_address, s390_decompose_address,
8091         legitimize_pic_address, s390_output_symbolic_const,
8092         s390_function_profiler): Use symbolic UNSPEC values.
8093
8094 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8095
8096         * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
8097         c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
8098         c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
8099         collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
8100         cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
8101         cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
8102         dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
8103         fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
8104         gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
8105         genemit.c genextract.c genoutput.c genrecog.c gensupport.c
8106         ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
8107         integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
8108         loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
8109         postreload.c prefix.c print-tree.c protoize.c ra-build.c
8110         ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
8111         regmove.c regrename.c reload.c reload1.c reorg.c resource.c
8112         sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
8113         simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
8114         tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
8115         varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
8116         casts.
8117
8118 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8119
8120         * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
8121         * toplev.h (warning): Remove attribute.
8122
8123 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8124
8125         * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
8126         (pop_label_level): Likewise.
8127         (duplicate_decls): Likewise.
8128         (implicitly_declare): Likewise.
8129         (shadow_label): Likewise.
8130         (start_decl): Likewise.
8131         (finish_decl): Likewise.
8132         (grokdeclarator): Likewise.
8133         (get_parm_info): Likewise.
8134         (detect_field_duplicates): Likewise.
8135         (finish_struct): Likewise.
8136         (start_function): Likewise.
8137         (store_parm_decls): Likewise.
8138         (finish_function): Likewise.
8139         (c_expand_body_1): Likewise.
8140         (check_for_loop_decls): Likewise.
8141         (merge_translation_unit_decls): Likewise.
8142
8143 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
8144
8145         * common.opt:  Document --param.
8146         * opts.c (columns, undocumented_msg): New.
8147         (print_help): Get number of columns from environment.  Print
8148         --param help.  Tweak newline handling.
8149         (print_param_help): New.
8150         (print_filtered_help): Better handling of duplicates.  Complain
8151         about undocumented switches.
8152         (print_switch): New.
8153         (wrap_help): Improve wrapping, use COLUMNS.
8154         * opts.sh: Ignore comments in records.
8155         * params.def: Fix typos and remove trailing periods.
8156         * toplev.c (display_help): Don't dump --param help.
8157         * doc/sourcebuild.texi: Update.
8158
8159 2003-07-18  Richard Henderson  <rth@redhat.com>
8160
8161         PR target/11556
8162         * optabs.c (prepare_operand): Fail gracefully instead of abort
8163         if the predicate doesn't satisfy.
8164         (gen_cond_trap): Allow prepare_operand to fail.
8165
8166 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8167
8168         * c-common.c: Don't undefine GCC_DIAG_STYLE.
8169         (fname_decl): Don't use xxx_with_decl.
8170         (c_add_case_label): Likewise.
8171         (handle_section_attribute): Likewise.
8172         (handle_alias_attribute): Likewise.
8173         (handle_no_instrument_function_attribute): Likewise.
8174         (handle_no_limit_stack_attribute): Likewise.
8175         * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
8176         * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
8177
8178 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8179
8180         * Makefile.in (ifcvt.o): Add cfgloop.h.
8181         * basic-block.h (EDGE_LOOP_EXIT): New flag.
8182         * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
8183         * ifcvt.c: Include cfgloop.h.
8184         (mark_loop_exit_edges): New static function.
8185         (if_convert): Call it.
8186         (find_if_header): Ignore branches out of loops.
8187
8188 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
8189
8190         * combine.c (simplify_comparison): Don't share rtx when converting
8191         (ne (and (not X) 1) 0) to (eq (and X 1) 0).
8192
8193 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
8194
8195         * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
8196         (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
8197         (MUST_PASS_IN_STACK): Define.
8198         (BLOCK_REG_PADDING): Define.
8199
8200 2003-07-18  Richard Henderson  <rth@redhat.com>
8201
8202         * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
8203         to skip the addr_vec.
8204
8205 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
8206
8207         * combine.c (combinable_i3pat): Don't forbid occurrences of
8208         i2dest or i1dest in inner_dest if inner_dest is a mem.
8209
8210 2003-07-18  Jan Hubicka  <jh@suse.cz>
8211
8212         * cgraph.c (cgraph_remove_node): Clear the hash table slot.
8213
8214 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
8215
8216         PR target/11087
8217         * loop.c (basic_induction_var): Check if convert_modes emitted any
8218         instructions. Remove them and return 0 if so.
8219
8220 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
8221
8222         PR optimization/11083
8223         * toplev.c (rest_of_handle_addresof): Rename into
8224         rest_of_handle_addressof.  Delete unreachable blocks
8225         if dead edges were purged after the addressof pass.
8226
8227 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
8228
8229         * Makefile.in, configure, configure.in: Remove handling of
8230         lang-options.h and options_.h.
8231         * toplev.c (struct lang_opt, documented_lang_options): Remove.
8232         (display_help): Don't use documented_lang_options.
8233
8234 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
8235
8236         * c-decl.c (pushdecl_function_level): Make static, return nothing.
8237         (kept_level_p): Fold into poplevel.
8238         (undeclared_variable): Moved here from c-typeck.c.  Export.
8239         * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
8240         (undeclared_variable): Prototype here.  Don't prototype
8241         kept_level_p nor pushdecl_function_level.
8242         * c-parse.in: Change first argument to poplevel from
8243         "kept_level_p()" to "KEEP_MAYBE".
8244         * c-typeck.c (undeclared_variable): Moved to c-decl.c.
8245
8246 2003-07-17  Roger Sayle  <roger@eyesopen.com>
8247
8248         * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
8249         commutative operands instead of modifying the RTL in-place.
8250
8251 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
8252
8253         PR optimization/11557
8254         * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
8255         unless we know which function is being called.
8256
8257 2003-07-17  Roger Sayle  <roger@eyesopen.com>
8258
8259         * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
8260         whether to reorder the operands of a commutative binary operator.
8261
8262 2003-07-17  Roger Sayle  <roger@eyesopen.com>
8263
8264         * fold-const.c (const_binop): Avoid performing the FP operation at
8265         compile-time, if either operand is NaN and we honor signaling NaNs,
8266         or if we're dividing by zero and either flag_trapping_math is set
8267         or the desired mode doesn't support infinities.
8268         (fold_initializer): New function to fold an expression ignoring any
8269         potential run-time exceptions or traps.
8270         * tree.h (fold_initializer): Prototype here.
8271         * c-typeck.c (build_binary_op): Move to the end of the file so
8272         that intializer_stack is in scope.  If constructing an initializer,
8273         i.e. when initializer_stack is not NULL, use fold_initializer to
8274         fold expressions.
8275         * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
8276         performing FP operations at compile-time, if they would raise an
8277         exception at run-time.
8278
8279 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
8280
8281         PR 11498
8282         * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
8283         (langhooks.o): Add $(GGC_H), gt-langhooks.h.
8284         (GTFILES): Add langhooks.c.
8285         (gt-langhooks.h): New.
8286         * c-common.h (c_static_assembler_name): Prototype.
8287         * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
8288         * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
8289         * c-opts.c: Include langhooks-def.h.
8290         (c_static_assembler_name): New.
8291         * langhooks.c: Include ggc.h.  Include gt-langhooks.h.
8292         (var_labelno): New.
8293         (lhd_set_decl_assembler_name): Give static objects with context
8294         unique names.
8295         * varasm.c (var_labelno): Delete.
8296         (make_decl_rtl): Don't change the assembler name once it's set.
8297
8298         * c-opts.c (this_input_filename): New.
8299         (finish_options): Take new parameter, name of file being compiled.
8300         Update callers.  Set this_input_filename.
8301         (push_command_line_include): Use this_input_filename not
8302         main_input_filename.
8303
8304 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
8305
8306         * Makefile.in: Depend .pot generation on options.c.
8307         * po/exgettext: Add an extra_files variable containing additional
8308         files to scan.
8309
8310 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
8311
8312         * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
8313         c_write_global_declarations.
8314
8315         * c-decl.c: Fix typos in several comments.  Remove all
8316         #if 0 blocks; reindent as needed.  Remove unused argument
8317         to declare_parm_level; all callers changed.
8318         * c-parse.in: Update calls to declare_parm_level.  Avoid
8319         issuing a double warning in some circumstances.
8320         * c-typeck.c: Update calls to declare_parm_level.
8321         * c-tree.h: Update prototype of declare_parm_level.
8322
8323         * c-pragma.c (apply_pragma_weak): Don't complain about a
8324         redundant #pragma weak.
8325
8326         * objc/objc-act.c (forward_declare_categories,
8327         build_selector_reference_decl, build_class_reference_decl,
8328         build_objc_string_decl, synth_forward_declarations,
8329         build_protocol_reference): Set TREE_PUBLIC on synthetic
8330         forward decl to 0, consistent with eventual definition.
8331         Correct comments to match.
8332
8333         * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
8334         in regexp that don't form a range expression.
8335         * fixinc/fixincl.def: Regenerate.
8336
8337 2003-07-17  Richard Henderson  <rth@redhat.com>
8338
8339         PR target/10907
8340         * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
8341         even with !TARGET_CONST_GP.
8342         (ia64_function_ok_for_sibcall): Reject non-local functions.
8343
8344 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
8345
8346         * c-common.c (c_estimate_num_insns_1): Don't handle
8347         METHOD_CALL_EXPR.
8348         * expr.c (safe_from_p): Likewise.
8349         * gengtype.c (adjust_field_tree_exp): Likewise.
8350         * stmt.c (warn_if_unused_value): Likewise
8351         * tree.c (first_rtl_op): Likewise.
8352         * tree.def: Don't define METHOD_CALL_EXPR.
8353         * java/lang.c (java_estimate_num_insns_1): Don't handle
8354         METHOD_CALL_EXPR.
8355
8356 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
8357
8358         PR other/11466
8359         * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
8360         and its restrictions for the SPARC64 port.
8361         Move the entry of "-mimpure-text" before that of "-mv8".
8362
8363 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
8364             Phil Edwards <phil@jaj.com>
8365
8366         * doc/install.texi (*-*-solaris2*): Document the step-by-step
8367         procedure to bootstrap and install.
8368         Document the preference for the legacy Sun tools in /usr/bin
8369         over the POSIX tools in /usr/xpg4/bin for the build process.
8370
8371 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
8372
8373         * c.opt: Document Uncodumented; use it.  Document ObjC options.
8374         * opts.c (print_filtered_help): Skip undocumented switches.
8375         * opts.h (CL_UNDOCUMENTED): New.
8376         * opts.sh: Handle Undocumented.
8377         * toplev.c (documented_lang_options): Prevent its becoming empty.
8378 objc:
8379         * lang-options.h: Remove.
8380
8381 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
8382
8383         * loop.c (check_ext_dependent_givs): Pass const struct loop *
8384         instead of struct loop_info * as argument.  Accept BIVs with
8385         increment +/- 1 provided there is a friendly exit test against
8386         a loop-invariant value.
8387         (strength_reduce): Adapt call to check_ext_dependent_givs.
8388
8389 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
8390             Con Bradley <con.bradley@superh.com>
8391
8392         * sh-protos.h (sh_get_pr_initial_val): Declare.
8393         * sh.c (regno_reg_class): Make its elements type enum reg_class.
8394         (output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
8395         and live_regs_mask arguments.  Changed all callers.
8396         (save_schedule_s): New structure.
8397         (save_schedule): New typedef.
8398         (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
8399         (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
8400         In interrupts handlers, also save registers that are usually
8401         partially saved, and make sure there is at least one general purpose
8402         register saved if a target register needs saving.
8403         Add casts in comparisons to avoid warnings.
8404         (sh_media_register_for_return): return -1 for interrupt handlers.
8405         (MAX_SAVED_REGS, MAX_TEMPS): New defines.
8406         (sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
8407         registers used are available.
8408         Set RTX_FRAME_RELATED_P where appropriate.
8409         Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
8410         (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
8411         (initial_elimination_offset): Likewise.
8412         * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
8413         (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
8414         (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
8415         (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
8416         (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
8417         and for target registers.
8418         (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
8419         (regno_reg_class): Make its elements type enum reg_class.
8420         (CONSTRAINT_LEN): Don't use isdigit.
8421         (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
8422         (FUNCTION_ARG): Add parentheses to avoid warnings.
8423         (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
8424         (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
8425         (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
8426         (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
8427         * sh.md (xordi3+1): Remove unused variable regno.
8428         (return_media): Check that tr0 is available before using it.
8429
8430 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
8431
8432         * c.opt: Document more options.
8433
8434 2003-07-16  Roger Sayle  <roger@eyesopen.com>
8435
8436         * combine.c (subst): Also handle (subreg (const_double ...)) case
8437         if created by a substitution, by using the original inner mode.
8438
8439 2003-07-16  Roger Sayle  <roger@eyesopen.com>
8440
8441         * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
8442         to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
8443         (simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
8444
8445 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
8446
8447         * doc/install.texi (--without-headers): New.
8448
8449         Partial Fix PR/10129
8450         * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
8451         (machopic_output_function_base_name): New; print the true pic label.
8452         (machopic_classify_ident): Pic Base is always a defined data.
8453         * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
8454         * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
8455
8456         * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
8457         if they are not floating point registers.
8458
8459         PR c/10962
8460         * ggc.h: Add header guards.
8461         * c-decl.c (finish_struct): Sort fields if
8462         number greater than 15 and there are no
8463         anonymous structs/unions.
8464         * c-common.h: Include ggc.h.
8465         (sorted_fields_type): New struct.
8466         (field_decl_cmp): New prototype.
8467         (resort_sorted_fields): New prototype.
8468         (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
8469         * c-tree.h: (lang_type): Use pointer to sorted_fields_type
8470         as s, removing other fields.
8471         * c-typeck.c (lookup_field): Use s in lang_type.
8472         These were mostly moved from cp/class.c:
8473         * c-common.c (field_decl_cmp): New static function.
8474         (field_decl_cmp): New function.
8475         (resort_sorted_fields): New function.
8476
8477 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
8478
8479         * config/darwin.c (machopic_select_section): Use decl_readonly_section
8480         to do most of the work.
8481
8482 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
8483
8484         * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
8485         * config/mmix/mmix.c: Convert functions to ISO C90.
8486         (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
8487         formatting.
8488         (mmix_get_hard_reg_initial_val): Tweak section head comment.
8489
8490 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
8491
8492         * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
8493
8494 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
8495
8496         * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
8497         (uw_update_context_1): Use it.
8498         * config/rs6000/rs6000.c (insn_after_throw): Remove.
8499         (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
8500         in parent frame if _Unwind_* called directly instead of through
8501         .plt.
8502         (rs6000_emit_eh_toc_restore): Remove.
8503         (rs6000_emit_prologue): Update stack pointer before doing any saving
8504         if current_function_calls_eh_return.  Generate unwind info for $r2.
8505         (rs6000_emit_epilogue): Restore stack pointer after doing all
8506         restoring if current_function_calls_eh_return.  Restore $r2.
8507         * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
8508         * config/rs6000/rs6000.md (eh_return): Remove call to
8509         rs6000_emit_eh_toc_restore.
8510         * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
8511         * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
8512
8513 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
8514
8515         * expr.c (emit_block_move): Don't move anything if size is const 0.
8516         (clear_storage): Test against const0_rtx instead of comparing INTVAL
8517         against 0.
8518
8519 2003-07-15  David S. Miller  <davem@redhat.com>
8520
8521         * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
8522         emit nop if the last real insn is CALL_INSN.
8523
8524 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
8525
8526         * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
8527         as "nul".
8528         * config/i386/xm-mingw32.h: Change GNU CC to GCC.
8529
8530 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
8531
8532         * config/i386/winnt.c (associated_type): Artificial methods are not
8533         affected by the import/export status of their class unless they are
8534         COMDAT.
8535         (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
8536
8537         * config/i386/winnt.c: Fix GCC copyright comment.
8538
8539 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
8540
8541         PR c++/11531
8542         * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
8543         not recursing on hard error.
8544         (diagnostic_for_decl): Likewise.
8545         * diagnostic.def: Rearrange.
8546
8547 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
8548
8549         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
8550         If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
8551
8552 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
8553             Richard Henderson  <rth@redhat.com>
8554
8555         * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
8556         to decide if to access a _Unwind_Ptr or a _Unwind_Word.
8557         (_Unwind_SetGR): Likewise.
8558         (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
8559         (Unwind_SpTmp): New typedef.
8560         (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
8561         (uw_update_context): Use _Unwind_GetPtr.
8562         (init_dwarf_reg_size_table): Move above uw_init_context_1.
8563         (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
8564         Use _Unwind_SetSpColumn.
8565         (uw_install_context_1): Don't initialize dwarf_reg_size_table.
8566         Use _Unwind_GetPtr.
8567
8568 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
8569
8570         * c.opt: Document more options.
8571         * toplev.c (documented_lang_options): Remove all local help strings.
8572
8573 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
8574
8575         PR debug/11473
8576         * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
8577         base classes.
8578
8579 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
8580
8581         PR target/10795
8582         * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
8583         swap comparison operands if doing so would generate an
8584         unrecognizable insn.
8585
8586 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
8587
8588         PR optimization/11320
8589         * sched-int.h (struct deps) [reg_conditional_sets]: New field.
8590         (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
8591         * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
8592         current_sched_info->compute_jump_reg_dependencies. Record which
8593         registers are used and which registers are set by the jump.
8594         Clear deps->reg_conditional_sets after a barrier.
8595         Set deps->reg_conditional_sets if the insn is a COND_EXEC.
8596         Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
8597         (init_deps): Initialize reg_conditional_sets.
8598         (free_deps): Clear reg_conditional_sets.
8599         * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
8600         Mark registers live on entry of the fallthrough block and conditionally
8601         set as set by the jump. Mark registers live on entry of non-fallthrough
8602         blocks as used by the jump.
8603         * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
8604         Mark new parameters as unused.
8605
8606 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
8607
8608         * doc/invoke.texi: Resync MIPS -march documentation.
8609
8610 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
8611
8612         * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
8613         (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
8614         (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
8615         * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
8616         (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
8617         (mips_issue_rate): Handle PROCESSOR_R9000.
8618         (mips_use_dfa_pipeline_interface): Likewise.
8619         * config/mips/9000.md: New file.
8620         * config/mips/mips.md: Include it.
8621         (define_attr cpu): Add r9000.
8622         (mulsi3_mult3): Use "mul" for rm9000 code.
8623
8624 2003-07-15  Stan Cox  <scox@redhat.com>
8625
8626         * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
8627         (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
8628         (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
8629         * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
8630         (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
8631         (mips_issue_rate): Handle PROCESSOR_R7000.
8632         (mips_use_dfa_pipeline_interface): Likewise.
8633         * config/mips/7000.md: New file.
8634         * config/mips/mips.md: Include it.
8635         (define_attr cpu): Add r7000.
8636         (mulsi3_mult3): Use "mul" for rm7000 code.
8637
8638 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
8639
8640         * config/mips/mips.md (define_attr type): Add condmove.  Use it for
8641         the conditional move patterns.
8642         * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
8643         Check for condmove type.
8644         (ir_vr54_arith): Add move type.
8645         * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
8646         * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
8647
8648 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
8649
8650         * c-opts.c (print_help): Remove.
8651         (c_common_handle_option): Don't handle --help.
8652         * c.opt: Document some options.
8653         (--help): Remove.
8654         * opts.c (print_filtered_help): New.
8655         (print_help): Use it.
8656
8657 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
8658
8659         * c-common.c (c_common_type_for_mode): Handle V4DFmode.
8660         * tree.c: (build_common_tree_nodes_2): Likewise.
8661         * tree.h (enum tree_index): Add TI_V4DF_TYPE.
8662         (V4DF_type_node): New.
8663
8664         * c-opts.c (push_command_line_include): Don't free deferred_opts,
8665         we'll need it.
8666         (finish_options): Reset init_cursor.
8667
8668 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
8669
8670         * expr.c (expand_assignment): Remove an unused argument
8671         SUGGEST_REG.
8672         * expr.h: Update the prototype.
8673         * function.c: Update the callers.
8674         * stmt.c: Likewise.
8675
8676 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
8677
8678         PR debug/11098
8679         * integrate.c (copy_decl_for_inlining): Do not mark copied decls
8680         as DECL_ABSTRACT.
8681
8682 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
8683
8684         * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
8685         with __cplusplus, not "we must use the C++ compiler's type"
8686         * fixinc/inclhack.def (void_null): Note that Interix needs this.
8687         * fixinc/fixincl.x: Regenerate.
8688
8689 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
8690
8691         * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
8692         and unseen_objects from the global data before calling
8693         __deregister_frame_info_bases.
8694         (examine_objects): Insert objects into the seen_objects list,
8695         not unseen_objects.
8696         (_Unwind_Find_FDE): Always unlock the global object lists, even if
8697         we couldn't allocate a data structure to put in it.
8698
8699         * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
8700         (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
8701         (SET_TYPE_PROTOCOL_LIST): New.
8702         * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
8703         (get_object_reference): Likewise.
8704
8705 2003-07-14  Jan Hubicka  <jh@suse.cz>
8706
8707         * cfglayout.c (locator_file): Break out from ....
8708         (insn_file): ... here.
8709         (locator_line): Break out from ....
8710         (insn_line): ... here.
8711         * rtl.h (locator_file, locator_line): Declare.
8712         (final_start_function): Set proper line/file info.
8713
8714 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8715
8716         * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
8717         handled by pp_c_cast_expression.
8718
8719 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
8720
8721         * config/mips/mips.c (mips_expand_prologue): Use a single insn to
8722         allocate 32768 bytes of stack.  Use addition rather than subtraction
8723         when a single insn is enough.
8724         * config/mips/mips.md: Remove insns and splitters for subtracting
8725         constants.
8726         (subsi3): Only accept register operands.
8727         (subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
8728         (subdi3_internal_3, subsi3_internal_2): Likewise.
8729         (casesi): Use expand_binop to subtract the lower bound.
8730
8731 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
8732
8733         * config/mips/mips.c (mips_in_small_data_p): Don't handle
8734         TARGET_MIPS16 specially.
8735
8736 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
8737
8738         * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
8739         mips_output_aligned_bss.
8740         * config/mips/linux.h: Likewise.
8741         * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
8742         * config/mips/mips.c (mips_output_aligned_bss): New function.
8743
8744         * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
8745         * config/mips/elf64.h: Likewise.
8746
8747         * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
8748         mips_declare_object_name.
8749         (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
8750         * config/mips/elf64.h: As for elf.h.
8751         * config/mips/iris6.h: Likewise.
8752         * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
8753         * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
8754         do...while (0) block.
8755         * config/mips/mips-protos.h (mips_declare_object_name): Declare.
8756         (mips_finish_declare_object): Declare.
8757         * config/mips/mips.c (mips_declare_object_name): New function.
8758         (mips_finish_declare_object): New function.
8759
8760         * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
8761         * config/mips/linux.h: Likewise.
8762
8763         * config/mips/mips.c (inside_function): Delete.
8764         (file_in_function_warning, ignore_line_number): Delete.
8765         (mips_output_filename): Don't warn about changing filenames within
8766         a function.
8767         (mips_output_lineno): Update accordingly.
8768         (mips_output_function_prologue): Don't reset the deleted variables.
8769         * config/mips/mips.h (inside_function): Delete.
8770         (file_in_function_warning, ignore_line_number): Delete.
8771
8772         * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
8773         * config/mips/elf64.h: Likewise.
8774         * config/mips/openbsd.h: Likewise.
8775         * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
8776         * config/mips/linux.h: Likewise.
8777         * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
8778         (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
8779
8780         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
8781         to the list of include files when using gas.
8782         (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
8783         * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
8784         * config/mips/elf64.h: Likewise.
8785         * config/mips/iris5.h: Likewise.
8786         * config/mips/linux.h: Likewise.
8787         * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
8788         * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
8789         (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
8790         * config/mips/sdb.h: ...this new file.
8791
8792 2003-07-14  Douglas Rupp  <rupp@gnat.com>
8793
8794         * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
8795         argument to getcwd; use fixed buffer instead.
8796
8797 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
8798
8799         * fixinc/mkfixinc.sh: Treat OpenBSD normally.
8800         * fixinc/fixinc.wrap: Delete.
8801
8802 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
8803
8804         * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
8805         don't have 2.
8806
8807 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
8808
8809         * ggc-page.c (struct globals): Add new fields to keep track of the
8810         total allocated memory and overhead.
8811         (ggc_print_statistics): Print them.
8812         (ggc_alloc): Keep track of the total allocated memory and the
8813         overhead.
8814
8815         * tree.c (dump_tree_statistics): Increase spacing.
8816         (enum tree_node_kind): Move to ...
8817         * tree.h (enum tree_node_kind): ... here.
8818         (tree_node_counts, tree_node_sizes): Declare.
8819
8820 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
8821
8822         * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
8823
8824 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8825
8826         PR optimization/11440
8827         * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
8828         SIGN_EXTRACT SETs.
8829
8830 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
8831
8832         * doc/tm.texi (BLOCK_REG_PADDING): Describe.
8833         * expr.h (struct locate_and_pad_arg_data): Add where_pad.
8834         (emit_group_load, emit_group_store): Adjust declarations.
8835         Remove most occurrences of #ifdef TREE_CODE.
8836         * expr.c (emit_group_load): Add "type" param, and use
8837         BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
8838         aligned accesses if !SLOW_UNALIGNED_ACCESS.
8839         (emit_group_store): Likewise.
8840         (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
8841         emit_group_load and emit_group_store calls.
8842         * calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
8843         BLOCK_REG_PADDING to determine whether we need endian_correction.
8844         (load_register_parameters): Localize vars.  Handle shifting of
8845         small values to the correct end of regs.  Adjust emit_group_load
8846         call.
8847         (expand_call, emit_library_call_value_1): Adjust emit_group_load
8848         and emit_group_store calls.
8849         * function.c (assign_parms): Set mem alignment for stack slots.
8850         Adjust emit_group_store call.  Store values at the "wrong" end
8851         of regs to the stack.  Use BLOCK_REG_PADDING.
8852         (locate_and_pad_parm): Save where_pad.
8853         (expand_function_end): Adjust emit_group_load call.
8854         * stmt.c (expand_value_return): Adjust emit_group_load call.
8855         * Makefile.in (calls.o): Depend on $(OPTABS_H).
8856         * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
8857         (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
8858         (MUST_PASS_IN_STACK): Define.
8859         (BLOCK_REG_PADDING): Define.
8860         * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
8861         (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
8862         * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
8863         (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
8864         Act on AGGREGATES_PAD_UPWARD_ALWAYS.
8865
8866 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
8867
8868         * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
8869
8870 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8871
8872         * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
8873         both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
8874
8875 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
8876
8877         PR other/11123
8878         * toplev.c: Don't cut off option names.
8879
8880 2003-07-13  Andreas Jaeger  <aj@suse.de>
8881
8882         * c-decl.c (link_hash_hash): Avoid warning about casting pointer
8883         to integer of different size.
8884
8885 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
8886
8887         * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
8888         to (eq (and X 1) 0).
8889
8890 2003-07-13  Andreas Jaeger  <aj@suse.de>
8891
8892         * config.gcc: Add pmmintrin.h for x86_64-*-*.
8893
8894 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
8895
8896         * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
8897         (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
8898         list.  Move these all together down by cpplib.
8899
8900         * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
8901         definition of CPPCHAR_SIGNED_T.
8902
8903         * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
8904         * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
8905         * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
8906
8907         * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
8908         * cppinit.c (cpp_create_reader): Likewise.
8909
8910         * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
8911         * cpptrad.c: Likewise.  All callers changed.
8912         * cpplib.c: All callers changed.
8913         * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
8914         * hashtable.h: Define GTY(x) to nothing here too.
8915
8916 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8917
8918         * stor-layout.c (compute_record_mode): Remove very obsolete test
8919         that forces BLKmode for records with fields crossing word boundary.
8920
8921 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
8922
8923         * Makefile.in: Remove orphan reference to acconfig.h.
8924
8925 2003-07-13  Andreas Jaeger  <aj@suse.de>
8926
8927         * cgraphunit.c: Convert prototypes to ISO C90.
8928
8929 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
8930
8931         * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
8932         (for OpenBSD).
8933         * fixinc/fixincl.x: Rebuild.
8934
8935 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
8936
8937         * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
8938         i?86-*-*.  Use correct name of cache variable.
8939         * configure: Regenerate.
8940
8941 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
8942
8943         * config/alpha/alpha.c: Fix comment typos.
8944         * config/alpha/alpha.md: Likewise.
8945         * config/arm/arm.c: Likewise.
8946         * config/arm/arm.md: Likewise.
8947         * config/arm/lib1funcs.asm: Likewise.
8948         * config/avr/avr.md: Likewise.
8949         * config/arm/README-interworking: Fix typos.
8950
8951 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
8952
8953         * c-format.c: Fix comment formatting.
8954         * c-typeck.c: Likewise.
8955         * coverage.c: Likewise.
8956         * cppcharset.c: Likewise.
8957         * cpplib.c: Likewise.
8958         * dbxout.c: Likewise.
8959         * gcov-io.h: Likewise.
8960         * toplev.c: Likewise.
8961
8962 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
8963
8964         * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
8965         fix.
8966
8967 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
8968
8969         * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
8970         uses three-argument AC_DEFINE so no acconfig.h entries are
8971         needed.
8972         (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
8973         which contains the GAS version number as a scaled integer.
8974         (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
8975         ability to check for ELF assembler.
8976         (gcc_GAS_CHECK_FEATURE): New macro.
8977         * configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
8978         assembler feature checks using gcc_GAS_CHECK_FEATURE.
8979         Use three-argument AC_DEFINE everywhere.
8980         * acconfig.h: Deleted.
8981         * config.in, configure: Regenerate.
8982
8983 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
8984
8985         * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
8986         (on OpenBSD).
8987         * fixinc/fixincl.x: Regenerate.
8988
8989         * fixinc/inclhack.def (gnu_types): Improve comment.
8990
8991 2003-07-12  Andreas Jaeger  <aj@suse.de>
8992
8993         * fp-test.c (main): Use ISO C90 prototype.
8994
8995         * version.c: Remove unneded include of ansidecl.h.
8996
8997         * cgraph.h: Convert prototypes to ISO C90.
8998         * cgraph.c: Likewise.
8999         * fix-header.c: Likewise.
9000         * ra.h: Likewise.
9001         * protoize.c: Likewise.
9002
9003 2003-07-12  Jan Hubicka  <jh@suse.cz>
9004
9005         * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
9006         warning.
9007
9008 2003-07-12  Jan Hubicka  <jh@suse.cz>
9009                                Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9010
9011         * cgraph.c (cgraph_max_uid): New global variable.
9012         (cgraph_node): Set uid field.
9013         (create_edge): Keep inline flags consistent.
9014         (dump_cgraph): Dump more info.
9015         * cgraph.h (struct cgraph_local_info): Remove inline_many and
9016         can_inline_once; add inlinable, disgread_inline_limits, and self_insn
9017         (struct cgraph_global_info): Add insns, calls, cloned_times,
9018         will_be_output.
9019         (struct cgraph_node): Add uid.
9020         (struct cgraph_edge): Add inline_call.
9021         (cgraph_max_uid, cgraph_inline_p): Declare.
9022         * cgraph.c: Include params.h and fibheap.h
9023         (cgraph_mark_functions_to_inline_once): Kill.
9024         (INSNS_PER_CALL): New constant.
9025         (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
9026         static variables.
9027         (cgraph_finalize_function): Do not analyze inlining.
9028         (cgraph_finalize_compilation_unit): Set inlining attributes.
9029         (cgraph_mark_functions_to_output): More consistency checks.
9030         (cgraph_optimize_function): Set current_function_decl to NULL.
9031         (cgraph_expand_function): Use new inline flags.
9032         (cgraph_postorder): Expand from cgraph_expand_functions.
9033         (INLINED_TIMES, SET_INLINED_TIMES): New macros.
9034         (cgraph_inlined_into, cgraph_inlined_callees,
9035         cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
9036         cgraph_mark_inline, cgraph_check_inline_limits,
9037         cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
9038         cgraph_decide_inlining, cgraph_inline_p): New functions.
9039         * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
9040         PARAM_INLINE_UNIT_GROWTH): New parameters.
9041         * tree-inline.c (struct inline_data): New field current_decl.
9042         (expand_call_inline): Avoid forward declarations; use
9043         inlinable_function_p.
9044         (optimize_inline_calls): Set id.current_decl.
9045
9046 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
9047
9048         * configure.in: Remove wrongly added definition of
9049         local_prefix.
9050         * configure: Regenerate.
9051
9052 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
9053
9054         * rtl.def (NOTE): Do not use padding.
9055
9056 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
9057
9058         * doc/install.tex: Update required binutils for i?86-*-linux*
9059
9060 2003-07-11  Richard Henderson  <rth@redhat.com>
9061
9062         * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
9063
9064 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
9065
9066         * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
9067         TRANSLATION_UNIT_DECL as top_level.
9068
9069 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
9070
9071         * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
9072         then fall back to cmpstrM.
9073         * builtins.c (expand_builtin_memcmp): Likewise.
9074         * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
9075         (s390_expand_cmpmem): ... this.
9076         * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
9077         cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
9078         from cmpstr* patterns.  Rename call to s390_expand_cmpstr
9079         to s390_expand_cmpmem.
9080         * config/s390/s390.c (s390_expand_cmpstr): Rename to...
9081         (s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
9082         to cmpmem*.
9083         * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
9084         cmpstr* patterns.
9085         * doc/md.texi (cmpstrM): Describe as String compare insn, not
9086         Block compare insn.
9087         (cmpmemM): Add.
9088
9089 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
9090
9091         * config/i386/freebsd.h (SET_ASM_OP): Remove.
9092         (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
9093         (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
9094          MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
9095
9096 2003-07-11  Richard Henderson  <rth@redhat.com>
9097
9098         * function.c (assign_parms): Don't recombine complex args if
9099         fnargs is unchanged from orig_fnargs.
9100         (split_complex_args): Return args without complex before copying.
9101         Re-layout the modified parameters.
9102
9103 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
9104
9105         * regclass.c (choose_hard_reg_mode): Add third argument.
9106         Changed all callers.
9107         * rtl.h (choose_hard_reg_mode): Update declaration.
9108         * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
9109         Take HARD_REGNO_CALL_PART_CLOBBERED into account.
9110
9111 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
9112
9113         * c-decl.c (finish_decl): Handle 'used' here...
9114         * cgraphunit.c (cgraph_finalize_function): ... and here ...
9115         * c-common.c: (handle_used_attribute): ... not here.
9116
9117         * configure.in (onstep): Support --enable-intermodule.
9118         * Makefile.in (OBJS-common): New.
9119         (OBJS-md): New.
9120         (OBJS-archive): New.
9121         (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
9122         (OBJS-onestep): New.
9123         (libbackend.a): Support @onestep@.
9124         (libbackend.o): New.
9125         * configure: Regenerate.
9126
9127         * c-common.h (c_reset_state): New prototype.
9128         (c_parse_file): New prototype.
9129         (finish_file): Move prototype from c-tree.h.
9130         * c-decl.c: Include <hashtab.h>.
9131         (builtin_decls): New.
9132         (current_file_decl): New.
9133         (duplicate_decls): Add extra parameter. Change all callers.  Don't
9134         output duplicate common symbols.
9135         (link_hash_hash): New.
9136         (link_hash_eq): New.
9137         (poplevel): Handle popping of the top level.
9138         (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
9139         (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
9140         (pushdecl_top_level): Likewise.
9141         (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
9142         (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
9143         (finish_decl): Handle TRANSLATION_UNIT_DECL.
9144         (merge_translation_unit_decls): New.
9145         (c_write_global_declarations): New.
9146         (c_reset_state): New.
9147         (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
9148         * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
9149         * c-objc-common.c (c_cannot_inline_tree_fn): Handle
9150         TRANSLATION_UNIT_DECL.
9151         (c_objc_common_finish_file): Call merge_translation_unit_decls.
9152         * c-opts.c (in_fnames): Rename from in_fname.
9153         (c_common_decode_option): Handle multiple input filenames.
9154         (c_common_post_options): Likewise.
9155         (c_common_parse_file): Likewise; also, call c_parse_file rather than
9156         yyparse.
9157         * c-parse.in: Move cleanup code to c_parse_file.
9158         (free_parser_stacks): Move contents to c_parse_file.
9159         (c_parse_file): New.
9160         * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
9161         for integer types.
9162         (C_DECL_FILE_SCOPE): New.
9163         (finish_file): Move prototype to c-common.h.
9164         (merge_translation_unit_decls): New prototype.
9165         (comptypes): Add extra parameter to prototype.
9166         (c_write_global_declarations): New prototype.
9167         * c-typeck.c (tagged_types_tu_compatible_p): New.
9168         (function_types_compatible_p): Add extra parameter, change all callers.
9169         (type_lists_compatible_p): Likewise.
9170         (comptypes): Likewise.
9171         (struct tagged_tu_seen): New.
9172         (tagged_tu_seen_base): New.
9173         (build_unary_op): Handle TRANSLATION_UNIT_DECL.
9174         (c_mark_addressable): Remove #if 0 code.
9175         * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
9176         comment explaining why it shouldn't have to.
9177         * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
9178         options.
9179         * cppinit.c (cpp_read_next_file): New.
9180         (cpp_read_main_file): Use it.
9181         * cpplib.c (undefine_macros): New.
9182         (cpp_undef_all): New.
9183         * cpplib.h (cpp_read_next_file): Prototype.
9184         (cpp_undef_all): Prototype.
9185         * langhooks-def.h (write_global_declarations): Remove prototype.
9186         * toplev.h (write_global_declarations): Add prototype.
9187         * tree.c (decl_type_context): Use switch statement, handle
9188         TRANSLATION_UNIT_DECL.
9189         * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
9190         (TRANSLATION_UNIT_DECL): New kind of tree.
9191         * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
9192         * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
9193         * doc/invoke.texi: Make attempt to document new functionality.
9194
9195         2003-05-19  Per Bothner <bothner@apple.com>
9196
9197         * gcc.c (combine_inputs): New.
9198         (process_command): Set combine_inputs.
9199         (do_spec_1): Handle combine_inputs.
9200         (main): Likewise.
9201
9202 2003-07-10  James E Wilson  <wilson@tuliptree.org>
9203
9204         PR optimization/9745
9205         * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
9206         loop_insn_emit_before.
9207         (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
9208
9209 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
9210
9211         * cppcharset.c: Fix comment.
9212         (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
9213         (EILSEQ): #define to EINVAL if not already defined.
9214         (convert_using_iconv): #if out when !HAVE_ICONV.
9215         (init_iconv_desc): Handle !HAVE_ICONV here...
9216         (cpp_init_iconv): ...not here.
9217
9218 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
9219
9220         * common.opt: More --help messages.
9221         * opts.c (print_help): Use puts().
9222         * toplev.c (f_options): Remove help text.
9223         (display_help): Don't dump f_options.
9224
9225 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
9226
9227         * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
9228         Move i?86-*-interix* to the don't-fix list.
9229         * fixinc/fixinc.interix: Delete with extreme prejudice.
9230
9231 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
9232
9233         PR bootstrap/10758
9234         * doc/install.texi: Document requirements for ia64-*-hpux* target.
9235
9236 2003-07-10  Roger Sayle  <roger@eyesopen.com>
9237
9238         * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
9239
9240 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
9241
9242         * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
9243         one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
9244         one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
9245         convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
9246         convert_no_conversion, convert_using_iconv): New functions.
9247         (APPLY_CONVERSION): New macro.
9248         (struct conversion, conversion_tab): New data structure.
9249         (init_iconv_desc): Check conversion_tab for a custom conversion
9250         primitive before trying to use iconv.
9251         (convert_cset): Deleted.
9252         (cpp_init_iconv): Use UTF- terminology, not UCS-.
9253         (_cpp_destroy_iconv): Update to match.
9254         (_cpp_valid_ucn): We don't need iconv to implement UCNs.
9255         (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
9256         (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
9257         (_cpp_interpret_string_notranslate): New function, moved here
9258         from cpplib.c.
9259
9260         * cpphash.h (convert_f, struct cset_converter): New types.
9261         (struct cpp_reader): narrow_cset_desc and wide_cset_desc
9262         are now struct cset_converter, not bare iconv_t.
9263         Update prototypes.
9264         * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
9265         all callers changed.
9266
9267 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
9268
9269         * Makefile.in (options.h): Depend on Makefile.  Add move-if-change
9270         to opts.sh command line.
9271         * opts.sh: Write to temporary files with a move-if-change at the end.
9272
9273 2003-07-10  Denis Chertykov  <denisc@overta.ru>
9274             Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9275
9276         * combine.c (gen_binary): Handle the CLOBBER rtx and
9277         don't build a binary operation with it.
9278
9279 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9280
9281         * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
9282         store_killed_after, store_killed_before): Keep track of the correct
9283         dependency function to use.
9284
9285 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
9286         * toplev.c (do_compile): Don't try to open dump files before
9287         lang_dependent_init initializes dump_base_name.
9288
9289 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9290
9291         * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
9292         Use ARRAY_SIZE.
9293         * config/frv/frv.c (frv_expand_builtin): Likewise.
9294         * config/sh/sh.c (sh_media_init_builtins): Likewise.
9295
9296 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
9297
9298         PR c++/10032
9299         * doc/invoke.texi (C++ Dialect Options): Change documentation of
9300         -fpermissive.
9301
9302 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
9303
9304         * tm.texi (RETURN_ADDR_OFFSET): Document.
9305
9306 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
9307
9308         * gcov-io.h: Update documentation.
9309         (GCOV_UNSIGNED2STRING): New.
9310         (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
9311         GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
9312         GCOV_TAG_SUMMARY_LENGTH): Adjust.
9313         (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
9314         GCOV_TAG_COUNTER_NUM): New.
9315         (GCOV_BLOCK_SIZE): Number of words.
9316         (gcov_var): Adjust buffer type.
9317         * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
9318         (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
9319         count, not byte count.
9320         (gcov_open): Adjust overread init.
9321         (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
9322         gcov_write_string, gcov_write_tag, gcov_write_length,
9323         gcov_write_tag_length): Adjust.
9324         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
9325         (gcov_sync, gcov_seek): Adjust.
9326         * gcov-dump.c (print_usage): Show gcc version only.
9327         (dump_file): Use GCOV_UNSIGNED2STRING.
9328         (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
9329         * gcov.c (print_version): Show gcc version only.
9330         (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
9331         GCOV_TAG_*_NUM macros.
9332         (read_count_file): Use GCOV_UNSIGNED2STRING. Use
9333         GCOV_TAG_COUNTER_LENGTH.
9334         * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
9335         Use GCOV_TAG_COUNTER_NUM.
9336         * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
9337         (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
9338
9339 2003-07-10  Andreas Schwab  <schwab@suse.de>
9340
9341         * gcov-dump.c (dump_file): Fix missing address operator.
9342
9343 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
9344
9345         PR c/11449
9346         * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
9347         of HOST_WIDE_INT.
9348         (fold_single_bit_test): If sign_bit_p() fails, assume that the
9349         bit being tested is not a sign bit.
9350
9351 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
9352
9353         * config/h8300/h8300.md (a peephole2): New.
9354
9355 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
9356
9357         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
9358         * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
9359         from ld-linux.so.2 to ld.so.1.
9360         2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
9361         * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
9362         * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
9363         nor -Wl,-rpath-link.
9364         (LIB_SPEC): Add -rpath-link if !static.
9365         2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
9366         * config/mn10300/mn10300.c (mn10300_protect_label): New
9367         variable.
9368         * config/mn10300/linux.h (PRINT_OPERAND,
9369         PRINT_OPERAND_ADDRESS): Set it during their execution.
9370         (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
9371         mn10300_protect_label is set.
9372         * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
9373         -Wl,-rpath-link.
9374         (LIB_SPEC, STARTFILE_SPEC): Define.
9375         2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
9376         * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
9377         FLOAT_BIT_ORDER_MISMATCH.
9378         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
9379         * config.gcc (am33_2.0-*-linux*): Added.
9380         * config/mn10300/linux.h: New.
9381         * config/mn10300/t-linux: New.
9382
9383 2003-07-10  Andreas Jaeger  <aj@suse.de>
9384
9385         * fold-const.c: Properly wrap prototypes.
9386
9387 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
9388
9389         2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
9390         * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
9391         Moved from...
9392         * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
9393         * config/mn10300/mn10300.h: GTY-declare it.
9394         2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
9395         * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
9396         prototype.  Use incoming RTL argument.
9397         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
9398         * config/mn10300/mn10300.md (int_label): Move C statements...
9399         (GOTaddr2picreg): ... here.
9400         2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
9401         * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
9402         * config/mn10300/mn10300.c (mn10300_encode_section_info):
9403         ... here.  New function.
9404         (TARGET_ENCODE_SECTION_INFO): Define to it.
9405         2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
9406         * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
9407         pattern name.
9408         (mn10300_loadPC): Define as insn splittable after reload.
9409         2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
9410         * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
9411         be defined in .rodata even in PIC, now that the assembler
9412         supports that.
9413         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
9414         * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
9415         symbol take an underscore prefix.
9416         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
9417         * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
9418         legitimize_pic_address): Declare.
9419         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
9420         the PIC register as fixed.
9421         (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
9422         (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
9423         PIC.
9424         (LEGITIMATE_PIC_OPERAND_P): Define.
9425         (PIC_OFFSET_TABLE_REGNUM): Define.
9426         (GOT_SYMBOL_NAME): Define.
9427         (SYMBOLIC_CONST_P): Define.
9428         (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
9429         symbols.
9430         (MN10300_GLOBAL_P): Test it.
9431         (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
9432         (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
9433         * config/mn10300/mn10300.c (print_operand): Handle unspec.
9434         (expand_prologue): Set PIC register.
9435         (call_address_operand): Don't match SYMBOL_REFs in PIC.
9436         (legitimize_address): Call legitimize_pic_address.
9437         (legitimize_pic_address): New fn.
9438         (legitimate_pic_operand_p): New fn.
9439         * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
9440         (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
9441         UNSPEC_PLT): New constants.
9442         (pop_pic_reg): New insn.
9443         (movsi): Adjust non-PIC addresses.
9444         (builtin_setjmp_receiver): Restore the PIC register.
9445         (casesi): New insn.
9446         (call): Adjust non-PIC addresses.
9447         (int_label, GOTaddr2picreg): New expands.
9448         (am33_loadPC): New insn.
9449         (mn10300_loadPC): New expand.
9450         (call_next_insn): New insn.
9451         (add_GOT_to_pic_reg): New expand.
9452         (symGOT2reg, symGOT2reg_i): New expands.
9453         (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
9454         (sym2PIC, sym2PLT): New expands.
9455
9456 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
9457
9458         * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
9459         2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
9460         * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
9461         to flag_unsafe_math_optimizations.
9462         2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
9463         * config/mn10300/mn10300.c (expand_prologue): Mark
9464         FP-register-saving insns as frame-related.
9465         2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
9466         * config/mn10300/mn10300.c
9467         (mn10300_get_live_callee_saved_regs): Don't search past
9468         LAST_EXTENDED_REGNUM.
9469         (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
9470         * config/mn10300/mn10300.md: Remove excessive line breaks from
9471         `@' output patterns that were accounted as additional
9472         alternatives.
9473         * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
9474         Re-introduce changes accidentally removed in Richard Sandiford's
9475         2000-12-05's patch.
9476         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
9477         Re-instate am33-2 lost in merge from net GCC.
9478         2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
9479         * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
9480         floating-point registers.
9481         2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
9482         * config/mn10300/mn10300.md (movdf): Revert some am33-specific
9483         pessimizations that had gone in on 2000-05-08.
9484         2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
9485         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
9486         2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
9487         * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
9488         operand 0.
9489         * (movhi): Likewise.
9490         * (movsi): Likewise.
9491         * (movsf): Likewise.
9492         * (movdi): Likewise.
9493         * (movdf): Likewise.
9494         2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
9495         * config/mn10300/mn10300.c (fp_regs_to_save): New function.
9496         (can_use_return_insn, initial_offset): Add fp_regs_to_save.
9497         (expand_prologue, expand_epilogue): Save and restore FP regs.
9498         2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
9499         * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
9500         2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
9501         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
9502         subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
9503         Do not clobber cc0.
9504         2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
9505         * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
9506         Discourage the two-argument, longer opcodes.
9507         (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
9508         ones.
9509         * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
9510         (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
9511         * config/mn10300/mn10300.md (cmpsf): New pattern.
9512         (branch): Test mdep.fpCC and output fbCC.
9513         * config/mn10300/mn10300.c (print_operand): Output conditions.
9514         (notice_cc_update): Recognize fcmp and set mdep.fpCC.
9515         2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
9516         * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
9517         mulsf3, divsf3): Use the `F' constraint for FP values.
9518         * config/mn10300/mn10300.c (const_1f_operand): New function.
9519         * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
9520         * config/mn10300/mn10300.md (sqrtsf2): New expand.
9521         (rsqrtsf2): New insn.
9522         2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
9523         * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
9524         previous check-in.
9525         2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
9526         * config/mn10300/mn10300.md (abssf2, negdf2): On
9527         TARGET_AM33_2, expand to...
9528         (abssf2_am33_2, negdf2_am33_2): New insns.
9529         (addsf3, subsf3, mulsf3, divsf3): Likewise.
9530         (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
9531         * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
9532         movdi, movdf): Added FP regs.
9533         * invoke.texi (-mam33-2, -mno-am33-2): Document.
9534         2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
9535         * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
9536         New macros.
9537         (REGNO_AM33_2_FP_P): Renamed to...
9538         (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
9539         (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
9540         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
9541         * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
9542         regs from GENERAL_REGS.
9543         2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
9544         * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
9545         * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
9546         * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
9547         2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
9548         * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
9549         as FP_REGS.
9550         2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
9551         * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
9552         (EXTRA_CONSTRAINT): Added OK_FOR_Q.
9553         * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
9554         * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
9555         * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
9556         (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
9557         AM33/2.0 floating-point registers.
9558         (CONDITIONAL_REGISTER_USAGE): Adjust.
9559         (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
9560         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
9561         (REG_CLASS_FROM_LETTER): Added `f' and `A'.
9562         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
9563         * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
9564         (MULTILIB_DIRNAMES): Likewise.
9565         * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
9566         `__AM33_2__' when `-mam33-2' is given.
9567         (TARGET_AM33_2): Define.
9568         (TARGET_SWITCHES): Adjust.
9569         * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
9570         when appropriate.
9571
9572 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
9573
9574         * doc/install.texi: Add missing @.
9575
9576 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
9577
9578         * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
9579
9580 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
9581
9582         PR/11144
9583         * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
9584
9585 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
9586
9587         PR bootstrap/11043
9588         * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
9589         "x-crtfini.o" with "crtinit.o", "crtfini.o".
9590
9591         * fixinc/inclhack.def (limits_ifndefs): Add select test.
9592         * fixinc/fixincl.x: Rebuild.
9593
9594         * fixinc/inclhack.def (math_exception):  Improve bypass and comment.
9595         * fixinc/fixincl.x: Rebuild.
9596
9597 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
9598
9599         * doc/install.texi (Configuration): Document the valgrind option
9600         to --enable-checking.
9601
9602 2003-07-09  Jan Hubicka  <jh@suse.cz>
9603
9604         * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
9605
9606 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9607
9608         * c-lex.c (cb_ident): Cast cstr.text to const char *.
9609
9610 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
9611
9612         * gcov-io.h: Update documentation.
9613         (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
9614         GCOV_NOTE_MAGIC.
9615         (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
9616         (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
9617         (struct gcov_var): Change buffer's type. Add endian flag.
9618         (gcov_open): Remove mode in libgcov.
9619         (gcov_magic): Prototype.
9620         * gcov-io.c (from_file): New.
9621         (gcov_open): Clear endian flag.
9622         (gcov_magic): New.
9623         (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
9624         pointers.
9625         (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
9626         gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
9627         (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
9628         * gcov-iov.c (main): Correct cast.
9629         * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
9630         conversion.
9631         (gcov_begin_output): Use GCOV_NOTE_MAGIC.
9632         (coverage_init): Use GCOV_NOTE_SUFFIX.
9633         * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
9634         Rename to gcov_version, and return flag.
9635         (gcov_exit): Use gcov_version.
9636         (__gcov_init): Use gcov_version.
9637         * Makefile.in (coverageexts): Update.
9638         * gcov.c (print_version): Remove endianness conversion.
9639         (create_file_names): Use GCOV_NOTE_SUFFIX.
9640         (read_graph_file): Use gcov_magic.
9641         (read_count_file): Likewise.
9642         * gcov-dump.c (dump_file): Remove endianness conversion, use
9643         gcov_magic.
9644
9645 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
9646
9647         * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
9648         coverage is on.
9649         * configure: Regenerated.
9650         * Makefile.in (ALL_CFLAGS): Correct its comment.
9651
9652 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
9653
9654         * fold-const.c (make_range): Do not access operand 1 for a
9655         zero-operand operator.
9656
9657 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
9658
9659         * toplev.c (warn_dummy, W_options): Die.
9660         (display_help): Don't print W_options.
9661         * common.opt: Add W_options help from toplev.c.
9662
9663 2003-07-09  Andreas Jaeger  <aj@suse.de>
9664
9665         * opts.c (wrap_help): Only pass int arguments as arguments to
9666         printf's '*' modifier.  Change argument of function.
9667
9668 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
9669
9670         * doc/invoke.texi: Fix misspelling of "@item".
9671
9672 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
9673
9674         * config/i386/i386.md: Remove an old comment about
9675         NOTICE_UPDATE_CC.
9676
9677 2003-07-09  Jan Hubicka  <jh@suse.cz>
9678
9679         * cgraph.c (cgraph_node_name): New function.
9680         (dump_cgraph): Use it.
9681         * cgraph.h (cgraph_dump_file): Declare.
9682         (cgraph_node_name): Declare.
9683         * cgraphunit.c: Include timevar.h
9684         (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
9685         (cgraph_optimize_function): Use TV_INTEGRATION.
9686         (cgraph_mark_local_functions): reorganize dumps.
9687         (cgraph_mark_functions_to_inline_once): Likewise.
9688         (cgraph_optimize): Likewise; use timevar.
9689         * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
9690         * toplev.c (dump_file_index): Add DFI_cgraph.
9691         (dump_file_info): Likewise.
9692         (cgraph_dump_file): New global variable.
9693         (do_compile): Open and close cgraph dump.
9694         * invoke.texi (-d): Document new flag; renumber.
9695
9696 2003-07-08  Roger Sayle  <roger@eyesopen.com>
9697
9698         PR c/11370
9699         * calls.c (emit_call_1): Don't bother popping the arguments off of
9700         the stack after a noreturn function call;  The adjustment is dead.
9701         (expand_call): Likewise.
9702
9703 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
9704
9705         * expr.c (MOVE_MAX_PIECES): Move from here...
9706         * defaults.h (MOVE_MAX_PIECES): ... to here.
9707
9708 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
9709
9710         * Makefile.in (stage1-start): Handle an empty SUBDIRS.
9711
9712 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9713
9714         * genattr.c (internal_dfa_insn_code): Don't prototype.
9715         * genattrtab.c (attr_desc): Add `static_p' field.
9716         (expand_units): Make blockage range and ready cost functions
9717         static.
9718         (write_attr_get): Don't add extern prototypes in C file.  Mark
9719         static functions as appropriate.
9720         (find_attr, make_internal_attr): Initialize static_p.
9721         * genattrtab.h (ATTR_STATIC): New macro.
9722         * genautomata.c (output_internal_reset_func): Mark output function
9723         as inline.
9724         (make_internal_dfa_insn_code_attr): Mark output function as static.
9725
9726 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9727
9728         * genattrtab.h: Add new macros for attr `special' flags.
9729         * genattrtab.c (attr_desc): Reorder/resize fields better.
9730         Use attr `special' macros in all calls to make_internal_attr.
9731         * genautomata.c: Likewise.
9732
9733 2003-07-09  Jan Hubicka  <jh@suse.cz>
9734
9735         * c-common.c (c_estimate_num_insns_1): New static function.
9736         (c_estimate_num_insns): New global function.
9737         * c-common.h (DECL_NUM_STMTS): Rename to...
9738         (DECL_ESTIMATED_INSNS): ... this.
9739         (c_estimate_num_insns): Declare.
9740         * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
9741         * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
9742         * c-semantics.c (add_stmt): Do not account statements.
9743         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
9744         New.
9745         * langhooks.h (lang_hooks_for_tree_inlining): Add
9746         estimate_num_insns
9747         * params.def (max-inline-insns-auto, max-inline-insns-auto): set
9748         to 100.
9749         (max-inline-insns): set to 300.
9750         (min-inline-insns): set to 10.
9751         * tree-inline.c (struct inline_data): Rename inlined_stmts to
9752         inlined-insns.
9753         (INSNS_PER_STMT): Kill.
9754         (inlinable_function_p): Compute and store body size.
9755         (expand_call_inline): Likewise.
9756         (optimize_inline_calls): Likewise.
9757
9758 2003-07-08  James E Wilson  <wilson@tuliptree.org>
9759
9760         PR target/10021
9761         * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
9762         loop over new variable t2 instead of t.
9763
9764 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
9765
9766         PR bootstrap/11455
9767         * config/i386/winnt.c: Replace use of error(), warning() with
9768         error_with_decl(), warning_with_decl(),  throughout.
9769
9770 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
9771
9772         * opts.c (wrap_help): Use unsigned int, not size_t.
9773
9774 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
9775
9776         * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
9777         as .file/.loc directives are incompatible with linker relaxation.
9778
9779 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
9780
9781         * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
9782         * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
9783         * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
9784         * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
9785         * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
9786         * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
9787         Escape { and } characters which are not part of range expressions.
9788         * fixinc/fixincl.x: Regenerate.
9789         * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
9790
9791 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
9792
9793         PR c/1687
9794         * tree-inline.c (find_alloca_call): Use
9795         walk_tree_without_duplicates, instead of walk_tree.
9796         (find_builtin_longjmp_call): Likewise.
9797         * c-objc-common.c (c_cannot_inline_fn): Likewise.
9798         * c-semantics.c (find_reachable_label): Likewise.
9799
9800 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
9801
9802         PR c/11420
9803         * config/i386/i386.c (ix86_check_movabs): New function.
9804         * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
9805         * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
9806         (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
9807
9808 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
9809
9810         * Makefile.in (install-po): Cope with empty CATALOGS.
9811
9812 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
9813
9814         * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
9815         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
9816         (SECTION_FUNCTION_TEMPLATE): Delete.
9817         * config/mips/elf.h: As for elf64.h.
9818         (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
9819         * config/mips/linux.h: As for elf.h
9820         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
9821         * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
9822         (EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
9823         of in_sdata from current_section_name and current_section_flags.
9824         * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
9825         * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
9826         (MASK_GP_OPT, TARGET_GP_OPT): Delete.
9827         (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
9828         (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
9829         (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
9830         * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
9831         (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
9832         (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
9833         (override_options): Remove setting of MASK_GPOPT.
9834         (mips_output_external): Use mips_in_small_data_p to check whether a
9835         symbol needs an .extern directive.  Don't emit such directives for
9836         TARGET_EXPLICIT_RELOCS.
9837         (mips_declare_object): Update accordingly.
9838         (mips_select_rtx_section): Call named_section rather than
9839         SMALL_DATA_SECTION.
9840         (mips_select_section): Use default_elf_section_section for everything
9841         except .text string constants.
9842         (mips_in_small_data_p): New function.
9843         (mips_encode_section_info): Remove small data handling.
9844         (mips_unique_section): Delete.
9845         (iris6_section_type_flags): New function.
9846         * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
9847
9848 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
9849
9850         PR Target/11453
9851         * pa.md: Disparage all mtsar constraints.
9852         (extzv, extv, insv): Don't fail on length of {32|64}.
9853
9854 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
9855
9856         * system.h: Poison MAP_CHARACTER.
9857         * config/i370/i370-protos.h (mvs_map_char): Delete.
9858         * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
9859         * config/i370/i370.h (MAP_CHARACTER): Delete definition.
9860         (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
9861
9862 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
9863
9864         * toplev.c (randomize): Correct call to time().
9865
9866 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
9867
9868         * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
9869         REG_EQUIV notes as well.
9870
9871 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
9872
9873         * doc/md.texi: Fix the description of addmodecc.
9874
9875 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
9876
9877         * Makefile.in (top_builddir): Set to "..", not ".".
9878         (INTLLIBS, INTLDEPS): Delete.
9879         (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
9880         (LIBDEPS): Add $(LIBICONV_DEP).
9881         (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
9882         (INCLUDES): Replace -I../intl with @INCINTL@.
9883         ($(top_builddir)/intl/libintl.a): Delete rule.
9884         (stage2-start, stage3-start, stage4-start, stageprofile-start,
9885         stagefeedback-start): Use $$ for variable to be evaluated by
9886         shell, not make.
9887         * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
9888         HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
9889         * aclocal.m4: sinclude ../config/progtest.m4.  Add
9890         contents of lcmessage.m4 from gettext distro.
9891         * configure.in: Check for wchar.h and setlocale.  Set
9892         LIBICONV_DEP to the empty string and substitute it.
9893         Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
9894         this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
9895         not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
9896         in $LIBINTL, to avoid linking it twice.
9897         * configure, config.in: Regenerate.
9898
9899 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
9900
9901         * fixinc/mkfixinc.sh: Remove winnt support.
9902         * fixinc/fixinc.winnt: Delete with extreme prejudice.
9903
9904 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
9905
9906         * Makefile.in: Update.
9907         * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
9908         * c.opt: Update documentation.
9909         * common.opt: Add some help text.
9910         * opts.c: Include intl.h.
9911         (wrap_help, print_help): New.
9912         (find_opt, handle_option, common_handle_option): opt_text now
9913         contains the '-'.  Use print_help to output help.
9914         * opts.h (struct cl_option): New member "help".
9915         * opts.sh: Update to handle help text output and to prepend
9916         options with '-'.
9917         * toplev.c (display_help): Remove some help text.
9918
9919 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
9920             Fariborz Jahanian  <fjahanian@apple.com>
9921
9922         * configure.in: Test for PowerPC mfcr field support in assembler.
9923         * config.in, configure: Regenderated.
9924
9925         * config/rs6000/power4.md: Add mfcrf reservation.
9926         * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
9927         * config/rs6000/rs6000.c (mfcr_operation): Define.
9928         (print_operand): Add 'Q' case for mfcrf.
9929         * config/rs6000/rs6000.h (TARGET_MFCRF): New.
9930         * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
9931         (movcc_internal1): Emit optional field operand for mfcr and set
9932         "type" attribute appropriately.
9933         (mfcr SCC): Likewise.
9934         (movesi_from_cr_one): New.
9935
9936 2003-07-07  Roger Sayle  <roger@eyesopen.com>
9937
9938         * config/i386/i386.md: Correct check-in of incorrect version.
9939
9940 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9941
9942         * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
9943         adjacent stdio calls.
9944         * c-decl.c (c_print_identifier): Likewise.
9945         * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
9946         * print-rtl.c (print_rtx): Likewise.
9947         * print-tree.c (print_node_brief, print_node): Likewise.
9948         * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
9949
9950         * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
9951         * config.in, configure: Regenerated.
9952
9953 2003-07-07  Roger Sayle  <roger@eyesopen.com>
9954
9955         PR target/10979
9956         * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
9957         Changed to define_expand patterns that copy operand[1] to prevent
9958         it from being clobbered before emitting an atan2?f3_1 insn.
9959         (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
9960         patterns that actually specify the behaviour of x87's FPATAN.
9961
9962 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
9963
9964         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
9965         clearing of SYMBOL_FLAG_LOCAL bit.
9966         If vcall_offset fits into signed 16-bit immediate, use
9967         one instruction for both addition and load.
9968
9969 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
9970
9971         * opts.c (common_handle_option): Correct handling of the
9972         -falign- switches that do and don't take an argument.
9973
9974 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
9975
9976         * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
9977         today.
9978         (pushhi1_h8300hs): Likewise.
9979
9980 2003-07-07  Andreas Jaeger  <aj@suse.de>
9981
9982         * genextract.c: Convert remaining prototypes to ISO C90.
9983
9984         * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
9985         * fold-const.c (fold_single_bit_test): Likewise.
9986         * diagnostic.c (default_diagnostic_finalizer): Likewise.
9987         * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
9988
9989         * gengtype.c (write_array): Generate ISO C90 prototypes.
9990
9991         * genflags.c (gen_proto): Generate ISO C90 prototypes.
9992
9993 2003-07-07  Roger Sayle  <roger@eyesopen.com>
9994
9995         PR optimization/11059
9996         * expr.c (can_store_by_pieces): Return true if length is zero.
9997         (store_by_pieces): If length is zero and endp is two, abort,
9998         othwerise, if length is zero and endp is not two, return "to".
9999         (clear_by_pieces): Do nothing if length is zero.
10000         (clear_storage): Do nothing if length is zero.
10001         (store_constructor): Simplify code when size is zero, or the
10002         target has already been cleared.  This avoids emitting a
10003         blockage instruction when initializing empty structures.
10004
10005 2003-07-07  Andreas Jaeger  <aj@suse.de>
10006
10007         * mips-tfile.c: Convert prototypes to ISO C90.
10008         * mips-tdump.c: Convert prototypes to ISO C90.
10009
10010 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
10011
10012         * rtl.h (emit_line_note): Take a location_t.
10013         (emit_line_note_force): Remove.
10014         (set_file_and_line_for_statement): Take a location_t.
10015         * tree.g (emit_line_note): Take a location_t.
10016         * emit-rtl.c (emit_line_note): Take a location_t.
10017         (emit_line_note_force): Remove.
10018         * function.c (init_function_start): Adjust emit_line_note call.
10019         (expand_function_end): Use force_next_line_note, not
10020         emit_line_note_force.
10021         * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
10022         * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
10023         genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
10024         genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
10025         genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
10026         genrtl_continue_stmt, genrtl_switch_stmt,
10027         genrtl_asm_stmt): Likewise.
10028         * expr.c (expand_expr): Likewise.
10029         * integrate.c (expand_inline_function): Likewise.
10030         * stmt.c (set_file_and_line_for_stmt): Take a location_t.
10031         (expand_decl_init): Adjust emit_line_note call.
10032
10033 2003-07-07  Dale Johannesen  <dalej@apple.com>
10034
10035         * config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
10036
10037 2003-07-07  Andreas Jaeger  <aj@suse.de>
10038
10039         * config/i386/i386-protos.h: Convert prototypes to ISO C90.
10040         * config/i386/i386.c: Likewise.
10041
10042 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
10043
10044         * config/h8300/h8300.md: Use gen_int_mode instead of
10045         GEN_INT (trunc_int_for_mode (...)).
10046
10047 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
10048
10049         * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
10050         2 bytes and then subtract 2 from the stack pointer.
10051         (pushhi1_h8300hs): Likewise.
10052
10053 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
10054
10055         * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
10056         -frandom-seed.
10057         * configure: Regenerated.
10058         * Makefile.in: Remove extraneous comment.
10059         * toplev.c (randomize): Protect against potential multiple calls.
10060         * doc/invoke.texi (-frandom-seed): Document use for in coverage
10061         files.
10062
10063 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10064             Eric Botcazou  <ebotcazou@libertysurf.fr>
10065
10066         PR optimization/11198
10067         * alias.c (objects_must_conflict_p): Return 1 if the types have
10068         the same alias set, not if the alias sets only conflict.
10069
10070 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
10071
10072         * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
10073         (convert_cset): Change inbuf to type ICONV_CONST char.
10074         * Makefile.in (LIBS): Add LIBICONV.
10075
10076         * doc/invoke.texi (-falign-functions): Document that
10077         when n is zero then a machine-dependent default is used.
10078         (-falign-labels): Document that when n is zero then a
10079         machine-dependent default is used and that -falign-labels =1
10080         is equivalent to -fno-align-labels.
10081         (-falign-loops): Likewise.
10082         (-falign-jumps): Likewise.
10083
10084 2003-07-06  Art Haas  <ahaas@airmail.net>
10085
10086         * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
10087         initializer syntax.
10088
10089 2003-07-06  James E Wilson  <wilson@tuliptree.org>
10090
10091         PR optimization/9812
10092         * rtl.h (mem_for_const_double): Delete prototype.
10093         * varasm.c (mem_for_const_double): Delete function.
10094         * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
10095         config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
10096         (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
10097         * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
10098         (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
10099         * config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
10100         comment about confused support for XFmode constants.
10101
10102 2003-07-07  Jan Hubicka  <jh@suse.cz>
10103
10104         * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
10105
10106 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
10107
10108         * config/h8300/h8300.c: Fix comment typos.
10109         * config/h8300/h8300.md: Likewise.
10110         * config/i386/athlon.md: Likewise.
10111         * config/i386/i386.c: Likewise.
10112         * config/i386/pentium.md: Likewise.
10113         * config/ia64/ia64.c: Likewise.
10114         * config/ia64/itanium1.md: Likewise.
10115         * config/ia64/itanium2.md: Likewise.
10116         * config/m32r/m32r.md: Likewise.
10117         * config/m68hc11/m68hc11.c: Likewise.
10118         * config/mcore/mcore.c: Likewise.
10119         * config/mips/sr71k.md: Likewise.
10120         * config/mips/t-iris5-as: Likewise.
10121         * config/mmix/mmix.h: Likewise.
10122         * config/ns32k/ns32k.h: Likewise.
10123         * config/ns32k/NOTES: Fix a typo.
10124
10125 2003-07-06  Andreas Jaeger  <aj@suse.de>
10126
10127         * stmt.c: Convert remaining prototypes to ISO C90.
10128         * cfglayout.c: Likewise.
10129         * dbxout.c: Likewise.
10130         * gcc.c: Likewise.
10131         * genemit.c: Likewise.
10132
10133         * basic-block.h: Convert prototypes to ISO C90.
10134         * c-parse.in: Likewise.
10135         * c-pragma.h: Likewise.
10136         * c-typeck.c: Likewise.
10137         * cfghooks.h: Likewise.
10138         * cfgloopanal.c: Likewise.
10139         * dbxout.h: Likewise.
10140         * debug.h: Likewise.
10141         * dwarf2asm.h: Likewise.
10142         * gcov.c: Likewise.
10143         * gengtype-lex.l: Likewise.
10144         * sched-int.h: Likewise.
10145         * timevar.c: Likewise.
10146
10147 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
10148
10149         * c-common.h (c_comon_handle_filename,
10150         c_common_missing_arguement): New.
10151         * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
10152         LANG_HOOKS_MISSING_ARGUMENT): New.
10153         * c-opts.c (missing_arg): Rename c_common_missing_argument,
10154         update to be an appropriate langhook.
10155         (c_common_handle_option): Don't handle filenames.
10156         (c_common_handle_filename): New.
10157         * hooks.c (hook_void_constcharptr,
10158         hook_bool_constcharptr_size_t_false): New.
10159         * hooks.h (hook_void_constcharptr,
10160         hook_bool_constcharptr_size_t_false): New.
10161         * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
10162         LANG_HOOKS_MISSING_ARGUMENT): New.
10163         (LANG_HOOKS_INITIALIZER): Update.
10164         * langhooks.h (struct lang_hooks): Add handle_filename and
10165         missing_argument.
10166         * opts.c (handle_option): Don't handle filenames here, but ...
10167         (handle_options): ... here.
10168         (common_handle_option): Don't handle missing arguments here.
10169         * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
10170         LANG_HOOKS_MISSING_ARGUMENT): New.
10171
10172 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
10173
10174         * Makfile.in: Remove traces of mbchar.
10175         * c-parse.in (MULTIBYTE_CHARS): Remove.
10176         * config.in (MULTIBYTE_CHARS): Remove.
10177         * configure: Remove --enable-mbchar.
10178         * configure.in: Remove --enable-mbchar.
10179         * mbchar.c, mbchar.h: Remove.
10180         * system.h: Poison MULTIBYTE_CHARS.
10181         * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
10182         * config/linux.h (MULTIBYTE_CHARS): Remove.
10183         * config/svr4.h (MULTIBYTE_CHARS): Remove.
10184         * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
10185
10186 2003-07-06  Andreas Jaeger  <aj@suse.de>
10187
10188         * varray.c (varray_check_failed): Fix typo.
10189
10190         * unroll.c: Convert prototypes to ISO C90.
10191         * varasm.c: Likewise.
10192         * varray.c: Likewise.
10193         * varray.h: Likewise.
10194         * vmsdbgout.c: Likewise.
10195         * xcoffout.c: Likewise.
10196         * xcoffout.h: Likewise.
10197
10198 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
10199
10200         * gcov-io.h: Add a local time stamp.
10201         (struct gcov_info): Add stamp field.
10202         (gcov_truncate): New.
10203         * coverage.c (read_counts_file): Skip the stamp.
10204         (coverage_begin_output): Write the stamp.
10205         (build_gcov_info): Declare and init the stamp.
10206         (coverage_finish): Only unlink data file, if stamp is zero.
10207         * gcov-dump.c (dump_file): Dump the stamp.
10208         * gcov.c (bbg_stamp): New.
10209         (release_structures): Clear bbg_stamp.
10210         (read_graph_file): Read stamp.
10211         (read_count_file): Check stamp.
10212         * libgcov.c (gcov_exit): Check stamp and truncate if needed.
10213
10214 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
10215
10216         * tree.h (default_flag_random_seed): Remove.
10217         * toplev.h (local_tick): Declare.
10218         * tree.c (flag_random_seed, default_flag_random_seed): Move to
10219         toplev.c.
10220         (append_random_chars): Don't call default_flag_random_seed.
10221         * toplev.c (flag_random_seed): Define here. Set local_tick.
10222         (local_tick): Define.
10223         (randomize): New, moved from tree.c.
10224         (print_switch_values): Adjust.
10225         (toplev_main): Call randomize.
10226
10227 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
10228
10229         * tree.h (crc32_string): Declare.
10230         * tree.c (append_random_chars): Remove.
10231         (crc32_string): New.
10232         (get_file_function_name_long): Use crc32_string here.
10233
10234 2003-07-06  Andreas Jaeger  <aj@suse.de>
10235
10236         * gcc.c: Convert prototypes to ISO C90.
10237         * gcc.h: Likewise.
10238         * gcov-dump.c: Likewise.
10239         * gcov-iov.c: Likewise.
10240         * gcse.c: Likewise.
10241         * genattrtab.h: Likewise.
10242         * ggc.h: Likewise.
10243         * global.c: Likewise.
10244         * graph.c: Likewise.
10245         * graph.h: Likewise.
10246         * hosthooks.h: Likewise.
10247         * hooks.h: Likewise.
10248         * hooks.c: Likewise.
10249         * hashtable.h: Likewise.
10250         * hashtable.c: Likewise.
10251         * haifa-sched.c: Likewise.
10252         * integrate.h: Likewise.
10253         * integrate.c: Likewise.
10254         * input.h: Likewise.
10255         * ifcvt.c: Likewise.
10256         * jump.c: Likewise.
10257         * langhooks-def.h: Likewise.  Add extern to prototypes.
10258         * langhooks.c: Likewise.
10259         * langhooks.h: Likewise.
10260         * lcm.c: Likewise.
10261         * local-alloc.c: Likewise.
10262         * loop-init.c: Likewise.
10263         * loop-unroll.c: Likewise.
10264         * loop-unswitch.c: Likewise.
10265         * loop.c: Likewise.
10266         * loop.h: Likewise. Add extern to prototypes.
10267         * machmode.h: Likewise.
10268         * main.c: Likewise.
10269         * mbchar.c: Likewise.
10270         * mbchar.h: Likewise.
10271         * mkdeps.c: Likewise.
10272         * mkdeps.h: Likewise.
10273         * optabs.c: Likewise.
10274         * optabs.h: Likewise.
10275         * output.h: Likewise.
10276         * gccspec.c: Likwise.
10277         * postreload.c: Likewise.
10278         * prefix.c: Likewise.
10279         * prefix.h: Likewise.
10280         * print-rtl.c: Likewise.
10281         * print-tree.c: Likewise.
10282         * profile.c: Likewise.
10283         * read-rtl.c: Likewise.
10284         * real.c: Likewise.
10285         * real.h: Likewise.
10286         * recog.c: Likewise.
10287         * recog.h: Likewise.
10288         * reg-stack.c: Likewise.
10289         * regclass.c: Likewise.
10290         * regmove.c: Likewise.
10291         * regrename.c: Likewise.
10292         * regs.h: Likewise.
10293         * reload.c: Likewise.
10294         * reload.h: Likewise.
10295         * reload1.c: Likewise.
10296         * reorg.c: Likewise.
10297         * resource.c: Likewise.
10298         * resource.h: Likewise.
10299         * rtl-error.c: Likewise.
10300         * rtl.c: Likewise.
10301         * rtl.h: Likewise.
10302         * rtlanal.c: Likewise.
10303         * sbitmap.c: Likewise.
10304         * sbitmap.h: Likewise.
10305         * scan-decls.c: Likewise.
10306         * scan.c: Likewise.
10307         * sched-deps.c: Likewise.
10308         * sched-ebb.c: Likewise.
10309         * sched-int.h: Likewise.
10310         * sched-rgn.c: Likewise.
10311         * sched-vis.c: Likewise.
10312         * sibcall.c: Likewise.
10313         * simplify-rtx.c: Likewise.
10314         * sreal.c: Likewise.
10315         * sreal.h: Likewise.
10316         * ssa-ccp.c: Likewise.
10317         * ssa-dce.c: Likewise.
10318         * ssa.c: Likewise.
10319         * ssa.h: Likewise.
10320         * stack.h: Likewise.
10321         * stmt.c: Likewise.
10322         * stor-layout.c: Likewise.
10323         * stringpool.c: Likewise.
10324         * target.h: Likewise.
10325         * timevar.c: Likewise.
10326         * timevar.h: Likewise.
10327         * tlink.c: Likewise.
10328         * tracer.c: Likewise.
10329         * tree-inline.c: Likewise.
10330         * tree-inline.h: Likewise.
10331         * tree.c: Likewise.
10332         * tree.h: Likewise.
10333
10334 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
10335
10336         * combine.c (nonzero_bits1): Fix a warning.
10337
10338 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
10339
10340         * config/h8300/h8300.c (compute_mov_length): Correct the
10341         length of loading CONST0_RTX (SFmode).
10342
10343 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
10344
10345         * toplev.c (output_clean_symbol_name): Remove.
10346         * toplev.h (output_clean_symbol_name): Remove.
10347         * config/alpha/alpha.c (unicosmk_output_module_name): Use
10348         lbasename & clean_symbol_name.
10349
10350 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
10351
10352         * ggc.h: Follow spelling conventions.
10353         * config/i386/i386.c: Likewise.
10354         * config/i386/winnt.c: Likewise.
10355         * config/rs6000/rs6000.c: Likewise.
10356
10357 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
10358
10359         * bt-load.c: Fix comment typos.
10360         * c-incpath.c: Likewise.
10361         * cfg.c: Likewise.
10362         * cfgcleanup.c: Likewise.
10363         * cfgloop.h: Likewise.
10364         * cfgloopmanip.c: Likewise.
10365         * cfgrtl.c: Likewise.
10366         * diagnostic.h: Likewise.
10367         * dwarfout.c: Likewise.
10368         * emit-rtl.c: Likewise.
10369         * et-forest.c: Likewise.
10370         * et-forest.h: Likewise.
10371         * expr.c: Likewise.
10372         * gcse.c: Likewise.
10373         * genattr.c: Likewise.
10374         * jump.c: Likewise.
10375         * langhooks.h: Likewise.
10376         * local-alloc.c: Likewise.
10377         * loop-unroll.c: Likewise.
10378         * loop-unswitch.c: Likewise.
10379         * ra-build.c: Likewise.
10380         * regclass.c: Likewise.
10381         * regmove.c: Likewise.
10382         * rtl.def: Likewise.
10383         * rtlanal.c: Likewise.
10384         * sched-ebb.c: Likewise.
10385         * sched-rgn.c: Likewise.
10386         * simplify-rtx.c: Likewise.
10387         * ssa.c: Likewise.
10388         * tracer.c: Likewise.
10389         * tree.c: Likewise.
10390
10391 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
10392
10393         * cppcharset.c: Use the correct return type for the fallback iconv
10394         macro.
10395
10396 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10397
10398         Blame to Jan Hubicka  <jh@suse.cz>
10399         * cfglayout.c (record_effective_endpoints): Split insns before
10400         first basic block correctly.
10401
10402 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10403
10404         * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
10405         bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
10406         if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
10407
10408 2003-07-05  Andreas Jaeger  <aj@suse.de>
10409
10410         * genattrtab.c (write_attr_get): Revert part of last patch to
10411         always write out a prototype.
10412
10413         * genemit.c (gen_split): Readd lost unused attributes in last
10414         patch.
10415
10416 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10417
10418         * cfgloopmanip.c (force_single_succ_latches): Force latch to be
10419         different from header.
10420
10421 2003-07-05  Andreas Schwab  <schwab@suse.de>
10422
10423         * config/m68k/m68k.c: Remove code protected by CRDS.
10424         * config/m68k/m68k.md: Likewise.
10425
10426 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
10427
10428         PR driver/11417
10429         * c-opts.c (permit_fortran_options): New.
10430         (c_common_init_options): Accept fortran front end options if
10431         it looks like we might be preprocessing Fortran.
10432         (c_common_handle_option): Don't reject switch if permit_fotran_options.
10433
10434 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10435
10436         * genattr.c (internal_dfa_insn_code): Output prototype.
10437         * genattrtab.c: Don't output unnecessary decls, output in ISO C.
10438         * genautomata.c: Likewise.
10439         * genconditions.c: Likewise.
10440         * genemit.c: Likewise.
10441         * genextract.c: Likewise.
10442         * gengenrtl.c: Likewise.
10443         * gengtype.c: Likewise.
10444         * genopinit.c: Likewise.
10445         * genoutput.c: Likewise.
10446         * genpeep.c: Likewise.
10447         * genrecog.c: Likewise.
10448
10449 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
10450
10451         * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
10452         (struct cpp_options): Add narrow_charset, wide_charset,
10453         bytes_big_endian fields.  Remove EBCDIC field.
10454         (cpp_init_iconv, cpp_interpret_string): New external interfaces.
10455
10456         * cpphash.h: Include <iconv.h> if we have it, otherwise
10457         provide a dummy definition of iconv_t.
10458         (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
10459         (_cpp_valid_ucn): Update prototype.
10460         (_cpp_destroy_iconv): New prototype.
10461
10462         * doc/cpp.texi: Document character set handling.
10463         * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
10464         * doc/extend.texi: Delete entire section on multiline strings.
10465         Rewrite section on __FUNCTION__ etc now that these are
10466         variables in C.
10467
10468         * cppucnid.tab, cppucnid.pl: New files.
10469         * cppucnid.h: New generated file.
10470         * cppcharset.c: Include cppucnid.h.  Lots of commentary added.
10471         (iconv_open, iconv, iconv_close): Provide dummy definitions
10472         if !HAVE_ICONV.
10473         (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
10474         _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
10475         emit_numeric_escape, convert_hex, convert_oct, convert_escape,
10476         cpp_interpret_string, narrow_str_to_charconst,
10477         wide_str_to_charconst): New.
10478         (ucn_valid_in_identifier): Use a binary search through the
10479         ucnranges table defined in cppucnid.h, not a long chain of if
10480         statements.
10481         (_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
10482         character names are only valid in C++ and C99" to a warning.
10483         Issue the "meaning of \[uU] is different in traditional C"
10484         warning here.  Take care not to let iconv see an invalid UCS
10485         value if we get a malformed UCN.  Issue an error if we don't
10486         have iconv.
10487         (cpp_interpret_charconst): Moved here from cpplex.c.  Use
10488         cpp_interpret_string to do the heavy lifting.
10489
10490         * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
10491         narrow_charset, wide_charset fields of options structure.
10492         (cpp_destroy): Call _cpp_destroy_iconv.
10493         * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
10494         (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
10495         (cpp_interpret_charconst): Moved to cppcharset.c.
10496         * cpplib.c (dequote_string): Delete.
10497         (interpret_string_notranslate): New.
10498         (do_line, do_linemarker): Use interpret_string_notranslate.
10499
10500         * Makefile.in (cppcharset.o): Depend on cppucnid.h.
10501
10502         * c-common.c (fname_string, combine_strings): Delete.
10503         * c-common.h (fname_string, combine_strings): Delete prototypes.
10504         * c-lex.c (ignore_escape_flag): Delete.
10505         (cb_ident): Use cpp_interpret_string, not lex_string.
10506         (get_nonpadding_token): New function.
10507         (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
10508         Adjust calls to lex_string.  Don't write *value twice.
10509         (lex_string): Now handles string constant concatenation.
10510         Most of the work handed off to cpp_interpret_string.
10511         Call fix_string_type here.
10512         * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
10513         FUNC_NAME, throughout.
10514         (OBJC_STRING): New token type.
10515         (primary:STRING): No need to call fix_string_type here.
10516         (primary:objc_string): Make that OBJC_STRING.
10517         (objc_string nonterminal): Delete.
10518         (yylexname): Delete code to handle fake string constants.
10519         (yylexstring): Delete entirely.
10520         (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
10521         to handle CPP_ATSIGN.
10522
10523         * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
10524         * c-opts.c (missing_arg, c_common_handle_option): Handle
10525         OPT_fexec_charset_ and OPT_fwide_exec_charset_.
10526         (c_common_init): Set cpp_opts->bytes_big_endian, not
10527         cpp_opts->EBCDIC.  Call cpp_init_iconv.
10528         (print_help): Document -fexec-charset= and -fexec-wide-charset=.
10529         (TARGET_EBCDIC): Delete default definition.
10530
10531         * objc/objc-act.c (build_objc_string_object): No need to
10532         handle string constant concatenation.
10533
10534 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
10535
10536         * doc/install.texi: Fix typos.
10537         * doc/invoke.texi: Likewise.
10538         * doc/tm.texi: Likewise.
10539
10540 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
10541
10542         * config/pa/fptr.c: Fix comment typos.
10543         * config/pa/pa-64.h: Likewise.
10544         * config/pa/pa.c: Likewise.
10545         * config/pa/pa.h: Likewise.
10546         * config/rs6000/603.md: Likewise.
10547         * config/rs6000/7xx.md: Likewise.
10548         * config/rs6000/darwin.h: Likewise.
10549         * config/rs6000/freebsd.h: Likewise.
10550         * config/rs6000/rs6000.c: Likewise.
10551         * config/rs6000/rs6000.md: Likewise.
10552         * config/rs6000/spe.h: Likewise.
10553
10554 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
10555
10556         * config/s390/2064.md: Change GNU CC to GCC.
10557         * config/s390/2084.md: Likewise.
10558         * config/s390/fixdfdi.h: Likewise.
10559         * config/s390/linux.h: Likewise.
10560         * config/s390/s390-modes.def: Likewise.
10561         * config/s390/s390-protos.h: Likewise.
10562         * config/s390/s390.c: Likewise.
10563         * config/s390/s390.h: Likewise.
10564         * config/s390/s390.md: Likewise.
10565         * config/s390/s390x.h: Likewise.
10566
10567 2003-07-04  Jeff Law  <law@redhat.com>
10568
10569         PR c/11428
10570         * expr.c (do_store_flag): Pass in the correct result type
10571         when calling fold_single_bit_test.
10572         * fold-const.c (fold_single_bit_test): Use result_type for the
10573         result when folding a sign bit test.
10574
10575 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
10576
10577         * opts.c (common_handle_options): Negate sense of -falign- switches.
10578
10579 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
10580
10581         * Makefile.in: Replace PWD with PWD_COMMAND.
10582
10583 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10584
10585         * cfgloopanal.c (count_strange_loop_iterations): New static function.
10586         (constant_iterations, count_loop_iterations, simple_loop_exit_p):
10587         Handle strange loops.
10588
10589 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
10590
10591         * install.texi: Even the g77 manpage is derived from
10592         the full g77 manual.
10593
10594 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
10595
10596         * ABOUT-NLS: Delete.
10597         * intl: Delete entire directory.
10598         * aclocal.m4: Include ../config/gettext.m4.  Delete
10599         AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
10600         AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
10601         * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
10602         Remove intl/Makefile from all_outputs.
10603         * configure, config.in: Regenerate.
10604         * Makefile.in: Expunge all references to intl subdirectory.
10605         Add -I../intl to INCLUDES.
10606         * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
10607
10608 2003-07-04  Roger Sayle  <roger@eyesopen.com>
10609
10610         * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
10611         * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
10612
10613 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
10614
10615         PR c++/5287, PR c++/7910, PR c++/11021
10616         * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
10617         dllimport attribute if function is defined at declaration, but
10618         report error instead. Likewise for dllimport'd variable
10619         definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
10620         declared within functions, Report error if dllimport or dllexport
10621         symbol is not global.
10622         (i386_pe_dllimport_p): Ignore dllimport attribute of functions
10623         if defined after declaration or if inlined. Don't allow definition
10624         of static data members of C++ classes. Don't dllimport virtual
10625         methods.
10626         (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
10627         (i386_pe_mark_dllimport): Remove unnecessary checks.
10628         (i386_pe_encode_section_info): Warn if the dllimport attribute
10629         and symbol prefix have been instantiated and then overridden.
10630
10631         * doc/extend.texi: Document dllimport and dllexport attributes.
10632
10633         * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
10634
10635 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
10636
10637         * config/kaos.h (CPP_PREDEFINES): Delete.
10638         (TARGET_OS_CPP_BUILTINS): New.
10639
10640 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10641
10642         * c-aux-info.c: Include toplev.h after c-tree.h.
10643         * c-common.c: Likewise.
10644         (GCC_DIAG_STYLE): Undef.
10645         * c-semantics.c (GCC_DIAG_STYLE): Define.
10646         * c-tree.h (GCC_DIAG_STYLE): Likewise.
10647         * diagnostic.h (inform): Move prototype to toplev.h.
10648         * jump.c: Include diagnostic.h before toplev.h.
10649         * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
10650         (warning, error, fatal_error, pedwarn, sorry, inform,
10651         error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
10652
10653 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10654
10655         * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
10656         at all if edge is not specified.
10657         (can_copy_bbs_p, copy_bbs): New.
10658         * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
10659         * cfgloop.c (get_loop_body): Comment more precisely.
10660         * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
10661         (scale_bbs_frequencies): Fix comment typo.
10662         (can_duplicate_loop_p): Use can_copy_bbs_p.
10663         (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
10664
10665 2003-07-03  Devang Patel <dpatel@apple.com>
10666
10667         * c-opts.c (c_common_parse_file): Remove extra
10668         debug_hooks->start_source_file call.
10669
10670 2003-07-03  Roger Sayle  <roger@eyesopen.com>
10671
10672         * real.c (real_trunc, real_floor, real_ceil): New functions
10673         to implement trunc, floor and ceil respectively.
10674         * real.h (real_trunc, real_floor, real_ceil): Prototype here.
10675         * builtins.c (integer_valued_real_p): New function to test if
10676         a floating point expression has an integer valued result.
10677         (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
10678         foo(x) where foo is an integer rounding function.  Similarly,
10679         optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
10680         (double)(int)x when both foo and bar are integer rounding
10681         functions and we don't need to honor errno.
10682         (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
10683         New functions to fold trunc, floor and ceil.
10684         (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
10685         fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
10686         to fold BUILT_IN_CEIL*.
10687         * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
10688         the remaining integer rounding functions.
10689
10690 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
10691
10692         * config/sparc/sparc.c (function_arg_partial_nregs): Use
10693         SPARC_INT_ARG_MAX to determine where to split unnamed
10694         complex FP arguments.
10695
10696 2003-07-03  Jan Hubicka  <jh@suse.cz>
10697
10698         * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
10699         * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
10700         (merge_blocks_move_predecessor_nojumps,
10701          merge_blocks_move_successor_nojumps): Use merge_blocks.
10702         (try_optimize_cfg): Use merge_blocks_move.
10703         * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
10704         (merge_blocks_nomove): Rename to rtl_merge_blocks.
10705         (cfg_layout_create_basic_block): New.
10706         (rtl_can_merge_blocks): New.
10707         (cfg_layout_split_block): Do not alloc aux by hand.
10708         * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
10709         merge_blocks.
10710         (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
10711         * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
10712         * cfgloopmanip.c (loop_split_edge_with): Likewise.
10713         * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
10714
10715         * basic-block.h (basic_block_def): Add field 'rbi'.
10716         * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
10717         find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
10718         * cfg.c (entry_exit_blocks): Add new field.
10719         * cfglayout.c: Include alloc-pool.h;
10720         (cfg_layout_pool): New.
10721         (record_effective_endpoints, fixup_reorder_chain,
10722         fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
10723         of rbi.
10724         (cfg_layout_initialize_rbi): New function.
10725         (cfg_layout_initialize): Use it.
10726         (cfg_layout_finalize): Clear rbi fields.
10727         * cfglayout.h (RBI): Kill.
10728         (cfg_layout_initialize_rbi): Declare.
10729         * cfgloopmanip.c (copy_bbs): Use rbi.
10730         (record_exit_edges): Likewise.
10731         (duplicate_loop_to_header_edge): Likewise.
10732         * cfgrtl.c (cfg_layout_create_basic_block): Use
10733         cfg_layout_initialize_rbi.
10734         (cfg_layout_split_block): Use rbi.
10735         (cfg_layout_delete_block): Likewise.
10736         * loop-init.c (loop_optimizer_finalize): Likewise.
10737         * loop-unswitch.c (unswitch_loop): Likewise.
10738         * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
10739
10740         * cfgrtl.c: Update comments.
10741         (try_redirect_by_replacing_jump): New argument.
10742         (redirect_branch_edge): Break out from ...
10743         (rtl_redirect_edge_and_branch): ... this one.
10744         (update_cfg_after_block_merging): Break out from ...
10745         (rtl_merge_blocks): ... this one.
10746         (cfg_layout_split_edge): New.
10747         (cfg_layout_merge_blocks): New.
10748         (cfg_layout_can_merge_blocks_p): New.
10749         (cfg_layout_redirect_edge_and_branch): Reorganize.
10750         (cfg_layout_rtl_cfg_hooks): Fill in.
10751         (cfg_layout_delete_block): Kill barriers.
10752         * cfganal.c (can_fallthru): Deal with exit blocks
10753         * cfglayout.c (cfg_layout_function_header): New function
10754         (record_effective_endpoints): Record function header.
10755         (fixup_reorder_chain): Fixup dead jumptables; place header
10756
10757         * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
10758         * bb-reorder.c (cfg_layout_initialize): Update call.
10759         * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
10760         edges in cfglayout mode.
10761         * cfglayout.c (cleanup_unconditional_jumps): Kill.
10762         (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
10763         * cfglayout.h (cfg_layout_initialize): Update prototype.
10764         * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
10765         * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
10766         * flow.c (propagate_block): Do not crash when basic block ends
10767         by first insn in the chain.
10768         * loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
10769         do loop discovery.
10770         * tracer.c (tracer): Update call of cfg_layout_initialize.
10771
10772 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10773
10774         * Makefile.in: Use dependency variables in lieu of explicit
10775         files throughout.
10776
10777 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
10778
10779         * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
10780         * tree.h: ...to here.
10781
10782 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
10783
10784         * config/s390/2064.md: Fix comment typos.
10785         * config/s390/2084.md: Likewise.
10786         * config/s390/s390.c: Likewise.
10787         * config/s390/s390.md: Likewise.
10788         * config/sh/sh.c: Likewise.
10789         * config/sh/sh.h: Likewise.
10790         * config/sh/sh.md: Likewise.
10791         * config/sparc/sparc.c: Likewise.
10792         * config/sparc/sparc.h: Likewise.
10793         * config/sparc/sparc.md: Likewise.
10794         * config/stormy16/stormy16.c: Likewise.
10795         * config/stormy16/stormy16.h: Likewise.
10796         * config/stormy16/stormy-abi: Fix a typo.
10797
10798 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
10799
10800         * Makefile.in (ifcvt.o): Depend on OPTABS_H.
10801
10802 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10803
10804         * config/mips/mips.h (save_argv): Delete.
10805
10806 2003-07-03  Roger Sayle  <roger@eyesopen.com>
10807
10808         PR target/10700
10809         * fold-const.c (extract_muldiv_1): There's nothing that can be done
10810         if the expression is a SAVE_EXPR.
10811
10812 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
10813
10814         * config/m32r/m32r.c: Fix comment typos.
10815         * config/m68hc11/m68hc11.c: Likewise.
10816         * config/m68hc11/m68hc11.h: Likewise.
10817         * config/m68k/m68k.c: Likewise.
10818         * config/mcore/mcore.c: Likewise.
10819         * config/mcore/mcore.h: Likewise.
10820         * config/mcore/mcore.md: Likewise.
10821         * config/mips/mips.c: Likewise.
10822         * config/mips/mips.h: Likewise.
10823         * config/mips/mips.md: Likewise.
10824         * config/mips/netbsd.h: Likewise.
10825         * config/mn10300/mn10300.c: Likewise.
10826
10827 2003-07-03  Andreas Schwab  <schwab@suse.de>
10828
10829         * dbxout.c (pending_bincls): Move decl down inside
10830         DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
10831
10832 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
10833
10834         * rtl.h (NOTE_DATA): Refer to whole union.
10835         * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
10836
10837 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
10838
10839         PR optimization/11381
10840         * simplify-rtx.c (simplify_relational_operation): Check that
10841         two equal operands have no side-effects before simplifying
10842         the comparison.
10843
10844 2003-07-02  Jeff Law  <law@redhat.com>
10845
10846         * expr.c (do_store_flag): Remove special case folding for
10847         single bit tests.  Instead call back into the commonized folder
10848         routine.
10849         * fold-const.c (fold_single_bit_test): New function, mostly
10850         extracted from do_store_flag, with an additional case extracted
10851         from fold.
10852         (fold): Call fold_single_bit_test appropriately.
10853         * tree.h (fold_single_bit_test): Prototype.
10854
10855 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
10856
10857         * system.h: Include filenames.h.
10858         (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
10859         (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
10860         define based on HAVE_DOS_BASED_FILE_SYSTEM.
10861         * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
10862         * config/i386/xm-mingw32.h: Don't define
10863         HAVE_DOS_BASED_FILE_SYSTEM,
10864         DIR_SEPARATOR, or DIR_SEPARATOR_2.
10865         * doc/hostconfig.texi: Update to match.
10866
10867         * cppfiles.c, gcc.c, gensupport.c, protoize.c,
10868         config/i386/cygwin.h:
10869         Use IS_ABSOLUTE_PATH throughout.
10870         * gcc.c (DIR_UP): Delete, unused.
10871         * protoize.c (IS_SAME_PATH): Define in terms of
10872         FILENAME_CMP.
10873         (is_abspath): Delete.
10874
10875 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
10876
10877         * config/i386/emmintrin.h: Fix comment typos.
10878         * config/i386/i386.c: Likewise.
10879         * config/i386/i386.h: Likewise.
10880         * config/i386/sco5.h: Likewise.
10881         * config/ia64/ia64.c: Likewise.
10882         * config/ia64/itanium2.md: Likewise.
10883
10884 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
10885
10886         * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
10887         DBX_USE_BINCL.
10888         (emit_bincl_stab): Same.
10889         (emit_pending_bincls): Same.
10890
10891 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
10892
10893         * config/h8300/h8300.c (compute_mov_length): Fix the length of
10894         loading CONST0_RTX (SFmode).
10895         * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
10896         'G' to CONST0_RTX (SFmode).
10897         * config/h8300/h8300.md (movsf_h8300): Change the first
10898         constraint to 'G'.
10899         (movsf_h8300h): Likewise.
10900
10901 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
10902
10903         * c-common.h (c_common_init_options): New prototype.
10904         * c-opts.c (deferred_size): Remove.
10905         (defer_opt): Array is now pre-allocated.
10906         (c_common_init_options): Pre-allocate deferred_opts.  Make
10907         lang_flags unsigned.
10908         (push_command_line_options): Free deferred_opts.
10909         * hooks.c (hook_uint_uint_constcharptrptr_0): New.
10910         * hooks.h (hook_uint_uint_constcharptrptr_0): New.
10911         * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
10912         * langhooks.h (struct lang_hooks): New prototype for init_options.
10913         * main.c (main): Cast argv.
10914         * opts.c (handle_option, handle_options): Update prototypes.
10915         (decode_options): save_argc, save_argv are not global.  Constify.
10916         * opts.h (decode_options): New prototype.
10917         * toplev.c (general_init): New protoype.
10918         (save_argv): Make static.
10919         (save_argc): Remove.
10920         (print_switch_values, general_init): Constify.
10921         (toplev_main): Save argv.
10922         * toplev.h (toplev_main): Update prototype.
10923         (save_argc, save_argv): Remove.
10924
10925 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
10926
10927         * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
10928         (emit_bincl_stab): Same.
10929         (emit_pending_bincls): Same.
10930
10931 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
10932
10933         PR c++/11072
10934         * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
10935
10936 2003-07-02  Andreas Schwab  <schwab@suse.de>
10937
10938         * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
10939
10940 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
10941
10942         PR optimization/11210
10943         * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
10944         about the behaviour with regard to bitfields.
10945         * fold-const (decode_field_reference): Record outermost type in
10946         case the expression is a NOP. Strip all NOPs. Set the signedness
10947         to that of the outermost type (if any) when the bitsize is equal
10948         to the size of the type.
10949
10950 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
10951
10952         * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
10953         (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
10954         (adddi3_internal_3, addsi3_internal_2): Likewise.
10955
10956 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
10957
10958         * config/mips/mips.c (machine_function): Add new fields:
10959         ignore_hazard_length_p and all_noreorder_p.
10960         (mips_flag_delayed_branch): New variable.
10961         (override_options): Treat '/' as an operand punctuation character.
10962         Set up mips_flag_delayed_branch.
10963         (print_operand): Handle '/'.
10964         (mips_output_function_prologue): Put the whole function in
10965         .set noreorder and .set nomacro if all_noreorder_p is true.
10966         (mips_output_function_epilogue): End the noreorder/nomacro sequence.
10967         (mips16_optimize_gp): Remove "first insn" parameter.
10968         (mips16_lay_out_constants): New function, split out from mips_reorg.
10969         (mips_avoid_hazard, mips_avoid_hazards): New functions.
10970         (mips_reorg): For mips16 code, call mips16_lay_out_constant
10971         and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
10972         do delayed-branch scheduling followed by hazard detection.
10973         (mips_adjust_insn_length): Only account for hazards if
10974         !ignore_hazard_length_p.
10975         (mips_output_load_label): Add a nop to the o32 sequence if
10976         the target suffers from load delays.
10977         (mips_output_conditional_branch): Add %/ to the end of branches.
10978         (mips_output_division): Fill the branch delay slot with %#.
10979         * config/mips/mips.md: Remove redundant '%*' from mips16 branch
10980         instructions.  End all other %* branches with %/.
10981         (ffssi2, ffsdi2): Fix lengths.
10982         (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
10983         (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
10984         (fix_truncsfsi2_macro): Likewise.
10985         (mov_lwl): Set hazard to "none".
10986         (ashldi3_internal): Fill the branch delay slot with %#.
10987         (ashrdi3_internal, lshrdi3_internal): Likewise.
10988         (exception_receiver): Explicitly set $28.
10989         (hazard_nop): New pattern.
10990
10991 2003-07-02  Jan Hubicka  <jh@suse.cz>
10992
10993         * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
10994         before calling tree_inlinable_function_p.
10995
10996 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
10997
10998         * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
10999         <internal/stdio_core.h> too.
11000         (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
11001         <internal/wchar_core.h> too.
11002         Substitute va_list uses in inline definition.
11003         * fixinc/fixincl.x: Regenerate.
11004
11005 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11006
11007         * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
11008         Undef before redefinition.
11009         (LABEL_AFTER_LOC): Likewise.
11010         (DEFAULT_SIGNED_CHAR): Likewise.
11011         (ASM_OUTPUT_ASCII): Moved here from iris4.h.
11012         Fix IRIX spelling.
11013
11014         * config/mips/iris3.h: Remove, unused.
11015         * config/mips/iris4.h: Likewise.
11016
11017         * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
11018
11019         * config/mips/iris5.h (TARGET_DEFAULT): Move ...
11020         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
11021         target_cpu_default.
11022
11023         * config/mips/iris5.h: Move explicit includes ...
11024         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
11025
11026         * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
11027         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
11028         tm_defines.
11029
11030         * config/mips/iris6.h (TARGET_DEFAULT): Move ...
11031         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
11032         target_cpu_default.
11033
11034         * config/mips/iris6.h: Fix IRIX spelling.
11035         (MULTILIB_DEFAULTS): Undef before redefinition.
11036
11037         * config/mips/iris6.h: Move explicit includes ...
11038         * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
11039
11040 2003-07-02  Jan Hubicka  <jh@suse.cz>
11041
11042         * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
11043         cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
11044         Use next_needed field instead of aux to maintain the queue.
11045         * cgraph.h (cgraph_node): Add next_needed.
11046         (cgraph_varpool_node): Add next_needed; remove aux.
11047         * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
11048
11049 2003-07-02  Jan Hubicka  <jh@suse.cz>
11050
11051         * cgraphunit.c (cgraph_finalize_function): Set finalized.
11052         (cgraph_finalize_function): Do not examine inlinablility.
11053         (cgraph_finalize_compilation_unit): Do it here.
11054         * cgraph.h (cgraph_local_info): Add finalized field.
11055
11056 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
11057
11058         * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
11059         (gt_pch_restore): Likewise.
11060
11061 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
11062
11063         * config/alpha/alpha.c: Fix comment typos.
11064         * config/alpha/elf.h: Likewise.
11065         * config/arm/arm.c: Likewise.
11066         * config/arm/arm.h: Likewise.
11067         * config/arm/arm.md: Likewise.
11068         * config/arm/t-arm-coff: Likewise.
11069         * config/arm/t-strongarm-pe: Likewise.
11070         * config/arm/xscale-elf.h: Likewise.
11071         * config/avr/avr.h: Likewise.
11072
11073 2003-07-01  Jeff Law  <law@redhat.com>
11074
11075         * stmt.c (any_pending_cleanups): Remove another redundant test.
11076
11077 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
11078             J"orn Rennecke <joern.rennecke@superh.com>
11079
11080         * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
11081         for MEM case.
11082
11083 2003-07-01  Devang Patel  <dpatel@apple.com>
11084
11085         * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
11086         (binclstatus): New.
11087         (struct dbx_file): New members - bincl_status, pending_bincl_name and
11088         prev.
11089         (pending_bincls): New.
11090         (dbxout_init): Initialize new dbx_file members.
11091         (dbxout_start_source_file): Same.
11092         (emit_bincl_stab): New function.
11093         (emit_pending_bincls): Same.
11094         (emit_pending_bincls_if_required): Same.
11095         (dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
11096         processed.
11097         (dbxout_begin_block): Emit pending BINCL stabs.
11098         (dbxout_end_block): Same.
11099         (dbxout_function_decl): Same.
11100         (dbxout_continue): Same.
11101         (dbxout_type): Same.
11102         (dbxout_class_name_qualifiers): Same.
11103         (dbxout_symbol): Same.
11104         (dbxout_symbol_location): Same.
11105         (dbxout_parms): Same.
11106
11107 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11108
11109         * c-semantics.c (genrtl_case_label): Fix format specifier bug.
11110         * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
11111
11112 2003-07-01  Andreas Jaeger  <aj@suse.de>
11113
11114         * fold-const.c: Convert prototypes to ISO C90.
11115         * function.c: Likewise.
11116         * function.h: Likewise.
11117
11118 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
11119
11120         * doc/contrib.texi: Fix typos.
11121         * doc/invoke.texi: Likewise.
11122         * doc/passes.texi: Likewise.
11123         * doc/sourcebuild.texi: Likewise.
11124         * doc/tm.texi: Likewise.
11125
11126 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
11127
11128         * basic-block.h: Fix comment typos.
11129         * bb-reorder.c: Likewise.
11130         * c-format.c: Likewise.
11131         * cfgcleanup.c: Likewise.
11132         * cfghooks.h: Likewise.
11133         * cfgloop.c: Likewise.
11134         * cfgloopmanip.c: Likewise.
11135         * cfgrtl.c: Likewise.
11136         * cgraph.h: Likewise.
11137         * cgraphunit.c: Likewise.
11138         * combine.c: Likewise.
11139         * convert.c: Likewise.
11140         * dbxout.c: Likewise.
11141         * df.c: Likewise.
11142         * df.h: Likewise.
11143         * diagnostic.c: Likewise.
11144         * dwarf2out.c: Likewise.
11145         * et-forest.h: Likewise.
11146         * flow.c: Likewise.
11147         * fold-const.c: Likewise.
11148         * function.h: Likewise.
11149         * gcov-io.h: Likewise.
11150         * gcov.c: Likewise.
11151         * gcse.c: Likewise.
11152         * genautomata.c: Likewise.
11153         * ggc-common.c: Likewise.
11154         * ggc-page.c: Likewise.
11155         * loop-unroll.c: Likewise.
11156         * loop-unswitch.c: Likewise.
11157         * loop.c: Likewise.
11158         * mips-tfile.c: Likewise.
11159         * optabs.c: Likewise.
11160         * ra-build.c: Likewise.
11161         * ra-colorize.c: Likewise.
11162         * ra-rewrite.c: Likewise.
11163         * ra.h: Likewise.
11164         * regmove.c: Likewise.
11165         * reload.c: Likewise.
11166         * rtlanal.c: Likewise.
11167         * sched-ebb.c: Likewise.
11168         * sched-int.h: Likewise.
11169         * sched-vis.c: Likewise.
11170         * sreal.c: Likewise.
11171         * ssa-ccp.c: Likewise.
11172         * ssa.c: Likewise.
11173         * toplev.c: Likewise.
11174         * tree-inline.c: Likewise.
11175         * value-prof.c: Likewise.
11176         * value-prof.h: Likewise.
11177
11178 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
11179
11180         * rtl.h (emit_line_note_after): Remove.
11181         (emit_note_copy_after, emit_note_copy): New.
11182         * emit-rtl.c (reorder_insns_with_line_notes): Replace
11183         emit_line_note_after with emit_note_copy_after.
11184         (emit_insn_after_with_line_notes): Likewise.
11185         (emit_line_note_after): Kill.
11186         (emit_note_copy_after): New.
11187         (emit_note_copy): New.
11188         * function.c (emit_return_into_block): Use emit_note_copy_after.
11189         (thread_prologue_and_epilogue_insns): Likewise.
11190         * integrate.c (expand_inline_function): Use emit_note_copy.
11191         (copy_insn_list): Likewise.
11192         * unroll.c (copy_loop_body): Likewise.
11193         * cfglayout.c (duplicate_insn_chain): Likewise.
11194
11195 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
11196
11197         * c-tree.h (define_label): Replace filename and lineno arguments
11198         with a location_t.
11199         * c-decl.c (poplevel): Adjust define_label call.
11200         (pop_label_level): Likewise.
11201         (define_label): Replace filename and lineno arguments with a
11202         location_t.
11203         (store_parm_decls): Use DECL_SOURCE_LOCATION.
11204         * c-parse.in (label): Adjust define_label call.
11205
11206 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
11207
11208         * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
11209         config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
11210         config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
11211         config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
11212         config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
11213
11214 2003-07-01  Andreas Jaeger  <aj@suse.de>
11215
11216         * final.c: Convert prototypes to ISO C90.
11217         * flow.c: Likewise.
11218         * flags.h: Likewise.
11219         * gcov-io.c: Likewise.
11220         * gcov-io.h: Likewise.
11221
11222 See ChangeLog.9 for earlier changes.