OSDN Git Service

Fix comment problem reported by Doug Evans.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-12-09  James E Wilson  <wilson@specifixinc.com>
2
3         * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
4
5 2003-12-09  Matt Austern  <austern@apple.com>
6
7         PR c/13134
8         * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
9         
10 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
11
12         * config/m32r/m32r.h: Add support for m32r2 processor.  Including
13         a new command line option -m32r2 to select it.
14         * config/m32r/m32r.c: Add support for the new processor variant.
15         * config/m32r/m32r.md: Likewise.
16         * config/m32r/t-m32r: Add m32r2 multilibs.
17         * doc/invoke.texi: Document the new command line switch.
18
19 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
20
21         * defaults.h (LOCAL_REGNO): Give the default definition.
22         * flow.c (LOCAL_REGNO): Remove.
23         * reload1.c (LOCAL_REGNO): Likewise.
24
25 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
26
27         PR target/11848
28         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
29         in floating-point registers between TFmode and DImode.
30         * rs6000.c (rs6000_emit_move): Split moves early.
31         (secondary_reload_class): Random Whitespace Change.
32         (rs6000_split_multireg_move): Support moves involving FP registers.
33         Emit instructions directly.
34         * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
35         * altivec.md: Update for changes to rs6000_split_multireg_move.
36         * rs6000.md: Update for changes to rs6000_split_multireg_move.
37         (movtf_internal): Support moves to/from GPRs.
38
39 2003-12-08  Stuart Hastings  <stuart@apple.com>
40
41         * config/i386/i386.md: Typo in split of fp-valued if_then_else.
42         
43 2003-12-08  James E Wilson  <wilson@specifixinc.com>
44
45         PR target/13132
46         * expmed.c (extract_bit_field): Only call mode_for_size for scalar
47         integer modes.
48
49 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
50
51         * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
52         directory.
53
54 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
55
56         * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
57         by using match_scratch.
58         (negdi2): New.
59
60 2003-12-08  Jason Merrill <jason@redhat.com>
61             Daniel Berlin  <dberlin@dberlin.org>
62
63         PR debug/11114
64         Support namespaces in DWARF 2 output.
65         * dwarf2out.c (gen_namespace_die): New function.
66         (force_namespace_die, setup_namespace_context): New fns.
67         (declare_in_namespace): New fn.
68         (gen_decl_die): Call declare_in_namespace.  Handle namespaces.
69         (dwarf2out_decl): Handle namespaces.
70         (scope_die_for): Pass through a namespace scope.
71         (class_scope_p): Rename to class_or_namespace_scope_p.
72         (gen_subprogram_die, gen_variable_die): Adjust.
73         (gen_struct_or_union_die): Always emit a declaration
74         if context_die is a namespace.
75
76 2003-12-08  Jan Hubicka  <jh@suse.cz>
77
78         * unwind-pe.h (read_uleb128): Fix handling of large values
79         (read_sleb128): Fix handling of large values
80
81 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
82
83         PR middle-end/10060
84         * emit-rtl.c (copy_rtx_if_shared): Split out into ...
85         (copy_rtx_if_shared_1): here and optimize the last one
86         in the sequence into tail-recursion.
87         (reset_used_flags): Optimize the last one
88         in the sequence into tail-recursion.
89
90 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
91
92         * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
93         for constant X.
94
95 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
96
97         * calls.c (expand_call): Don't try using tail or recursive calls
98         after the function body has been expanded.
99
100 2003-12-08  Jan Hubicka  <jh@suse.cz>
101
102         * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
103
104 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
105
106         PR ada/13324, PR ada/12614
107         * doc/install.texi: Update requirements for building Ada.
108
109 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
110             Graham Reed <greed@pobox.com>
111
112         * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
113         (GCC_UNDEF_SYMBOL): Same.
114
115 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
116
117         * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
118         * system.h (FINAL_PRESCAN_LABEL): Poison.
119         * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
120
121 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
122
123         * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
124
125 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
126
127         * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
128         * configure: Regenerate with autoconf 2.13.
129
130         * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
131         with modern equivalents.
132         * configure: Regenerate.
133
134         * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
135         * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
136         * configure: Regenerate.
137
138         * configure: Regenerate with (preferred) autoconf 2.57.
139         * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
140
141 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
142
143         PR optimization/12965
144         * caller-save.c (save_call_clobbered_regs): Do not save/restore
145         registers around no-return calls.
146
147 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
148
149         * configure.in: Make minimum necessary changes for autoconf 2.5x.
150         * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
151         * configure: Regenerate with autoconf 2.58.
152
153 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
154
155         PR optimization/13318
156         * loop.c (express_from): Protect integer division from overflow.
157
158 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
159
160         PR optimization/13060
161         * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
162         replacement already exists.  Fix again the whole insn if that fails.
163
164 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
165
166         * config/rs6000/rs6000.c (macho_branch_islands): Use 
167         HOST_WIDE_INT_PRINT_UNSIGNED.
168
169 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
170
171         * varasm.c (incorporeal_function_p): New.
172         (assemble_external): Use it as a filter.
173         * config/mips/mips.c (mips_output_external): Don't check for builtin
174         functions here.
175
176 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
177
178         * arm.md (IOR (COMPARISON) (AND)): New define_splits.
179
180 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
181
182         * Makefile.in (program_transform_cross_name): Delete.
183         (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
184         (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
185         (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
186         (install_cpp, install_driver, install-man, uninstall): Likewise.
187
188 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
189
190         PR 13169
191         * basic-block.h (PROP_ASM_SCAN): Define.
192         * final.c (regs_asm_clobbered): New array.
193         * regs.h (regs_asm_clobbered): Declare.
194         * flow.c (life_analysis): Init it.
195         (mark_set_regs): Set PROP_ASM_SCAN for asms.
196         (mark_set_1): Set regs_asm_clobbered.
197         * global.c (global_alloc): Don't set eliminable_regset when
198         regs_asm_clobbered.
199
200 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
201
202         * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
203
204         PR c++/13314
205         * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
206
207 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
208
209         PR driver/13211
210         * gcc.c (execute) Increment execution_count when returning
211         early because verbose_only_flag is true.
212
213 2003-12-05  Per Bothner  <pbothner@apple.com>
214
215         * cppfiles.c (file_hash_hash):  New static function.
216         (hash_string_eq):  Renamed static function to file_hash_eq.
217         (_cpp_init_files):  Create file_hash table with above callbacks.
218         (cpp_included):  Must use htab_find_with_hash insead of htab_find.
219         (_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
220
221 2003-12-05  Per Bothner  <pbothner@apple.com>
222
223         * line-map.h (source_location):  New typedef.
224         (fileline):  Redefined as source_location.
225         (struct line_map, linemap_add, linemap_lookup):  Replace filefile
226         by source_location.
227         * line-map.c (linemap_add, linemap_lookup):  Use source_location.
228
229 2003-12-05  Richard Henderson  <rth@redhat.com>
230
231         * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
232         field to suppress -Wpadded warnings.
233
234 2003-12-05  Stuart Hastings  <stuart@apple.com>
235
236         * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
237
238 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
239             J"orn Rennecke <joern.rennecke@superh.com>
240
241         PR target/13302
242         * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
243
244 2003-12-05  Roger Sayle  <roger@eyesopen.com>
245
246         * dojump.c (do_jump): If the expression being compared against
247         zero, is the subreg of a promoted variable, perform the comparison
248         in the promoted mode.
249         * simplify-rtx.c (simplify_unary_operation): Optimize sign and
250         zero-extensions of subregs of promoted variables where the
251         extension is identical to that used to promote the variable.
252
253 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
254
255         PR target/13256
256         * resource.h (enum mark_resource_type): Remove member MARK_DEST.
257         The only user changed as follows:
258         * resource.c (mark_set_resources) <case SET>: Always recurse for
259         SET_SRC (x).
260         <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
261         operands.
262         <case STRICT_LOW_PART>: Delete, deferring to default code.
263
264 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
265
266         * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
267         and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
268
269 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
270
271         * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
272         for n32 & n64 abicalls.
273
274 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
275
276         PR bootstrap/13145
277         * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
278         * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
279         (mips_load_got): Always create a constant MEM.
280         (mips_expand_call): Use load_callsi and load_calldi.
281         * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
282         (load_callsi, load_calldi): New patterns.
283
284 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
285
286         * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
287
288 2003-12-05  Steven Bosscher  <stevenb@suse.de>
289
290         * config/d30v/d30v-protos.h , config/d30v/d30v.c,
291         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
292         config/fr30/fr30-protos.h, config/fr30/fr30.c,
293         config/i370/i370-protos.h, config/i370/i370.c,
294         config/i960/i960-protos.h, config/i960/i960.c,
295         config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
296         config/m32r/m32r-protos.h, config/m32r/m32r.c,
297         config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
298         config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
299         Convert to ISO C90 function declarations and definitions.
300
301 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
302
303         * doc/extend.texi (Constructing Calls): Add warning about
304         the limitations of the functions.
305
306 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
307
308         PR middle-end/11151
309         * function.h (struct function): New field 'x_naked_return_label'.
310         * function.c (free_after_compilation): Set it to NULL.
311         (expand_function_end): Emit 'naked_return_label' if it exists.
312         * rtl.h (expand_naked_return): Declare.
313         * stmt.c (expand_naked_return): New function to generate a
314         jump to 'naked_return_label'.
315         * builtins.c (expand_builtin_return): Call expand_naked_return
316         instead of expand_null_return.
317         * config/sparc/sparc.md (untyped_return): Likewise.
318
319 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
320
321         PR target/11322
322         * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
323
324         PR target/12467
325         * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
326
327 2003-12-04  Stuart Hastings  <stuart@apple.com>
328
329         * rs6000.c (output_call, macho_branch_islands,
330         add_compiler_branch_island, no_previous_def, get_previous_label)
331         Revisions of xx_stub functions for branch islands,
332         add -fPIC support for Darwin.
333         * rs6000-protos.h (output_call) Prototype.
334         * rs6000.md Use output_call.
335         * invoke.texi Explain Darwin semantics of -longcall.
336         * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
337
338 2003-12-04  Richard Henderson  <rth@redhat.com>
339
340         * config/i386/i386.md (addqi3_carry): Use q not r constraints.
341         (subqi3_carry): Likewise.
342
343 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
344
345         PR optimization/13260
346         * sh-protos.h (sh_expand_t_scc): Declare.
347         * sh.h (PREDICATE_CODES): Add cmpsi_operand.
348         * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
349         * sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
350         something that is not a CONST_INT, copy it into a pseudo register.
351         (subc): Fix description of new T value.
352         (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
353         (sltu, sleu, sgeu): Likewise.
354         (seq, sne): Likewise. Use sh_expand_t_scc.
355
356 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
357
358         * configure.in: Generalize the CONFIG_HEADERS pattern under which
359         we stamp cstamp-h.
360         * configure: Regenerate.
361
362         * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
363         to avoid trouble when updating to autoconf 2.5x.
364         * configure: Regenerate (with autoconf 2.13 still).
365
366 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
367
368         * sh.md (truncdiqi2): Use andi opcode for immediate.
369         (reload_outdf+1,reload_outdf+2): Remove constraints.
370         (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
371         (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
372         (fipr, ftrv): Add .s suffix to opcode.
373
374 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
375
376         PR target/13186
377
378         Revert all of the following patch, except the addition of
379         hook_bool_machine_mode_true:
380
381         2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
382
383         * Makefile.in (targhooks.o, reload.o): Update dependencies.
384         (GTFILES): Add targhooks.c.
385         (gt-targhooks.h): New rule; depend on s-gtype.
386         * target.h (direct_pool_load_p): New hook.
387         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
388         (TARGET_INITIALIZER): Include it.
389         * targhooks.h (default_direct_pool_load_p): Declare.
390         (hook_bool_machine_mode_true): Declare.
391         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
392         gt-targhooks.h.
393         (pool_symbol): New variable.
394         (default_direct_pool_load_p): New function.
395         (hook_bool_machine_mode_true): New function.
396         * reload.c: Include target.h.
397         (find_reloads): If an alternative will force a constant into memory,
398         count an extra reload if constant pool symbols are not valid
399         addresses.  If an alternative uses memory to move values between
400         registers, count the move as two reloads rather than one.
401         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
402         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
403
404 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
405
406         * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
407         * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
408         HAVE_AS_TLS is true.
409         * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
410
411 2003-12-03  James E Wilson  <wilson@specifixinc.com>
412
413         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
414
415         * gcc-page.c (extra_order_size_tab): Correct comment.
416
417 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
418
419         * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
420         instead of gen_push_h8300hs.
421         (pop): Call gen_pop_h8300hs_advanced instead of
422         gen_pop_h8300hs.
423         * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
424         * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
425         Tighten the predicate.
426         (*tablejump_h8300hs_normal): Tighten the predicate.
427         (push_h8300hs): Change to
428         push_h8300hs_advanced.
429         (pop_h8300hs): Change to pop_h8300hs_advanced.
430
431 2003-12-03  Eric Christopher  <echristo@redhat.com>
432
433         * rtl.c: Fix typo.
434         * config/mips/mips.h: Ditto. Fix formatting.
435
436 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
437
438         * future.options: Remove. Move to gnu.org web pages.
439
440 2003-12-03  Eric Christopher  <echristo@redhat.com>
441
442         * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
443         from here...
444         * c-tree.h: to here.
445
446 2003-12-03  Jan Hubicka  <jh@suse.cz>
447
448         PR optimization/12324
449         * toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
450         in unit-at-a-time mode.
451
452 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
453
454         * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
455         read-only field if cleared is 0.
456
457 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
458
459         * config.gcc: Mark obsolete targets for GCC 3.4.
460
461 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
462
463         * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
464         * config.in, configure.in: Regenerate.
465         * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
466         including iconv.h.
467
468 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
469
470         PR target/11229
471         * cse.c (cse_insn): Set classp using src_const_elt if
472         src_eqv_elt is NULL.
473
474 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
475
476         * gcse.c (reg_clear_last_set): New function.
477         (reg_set_info): If data is non-null, treat it as an sbitmap of
478         registers, set the bit for the register being set.
479         (compute_store_table): Allocate last_set_in with xcalloc.  Do not
480         memset this array on each iteration.  Pass reg_set_in_block[bb->index]
481         to note_stores while computing last_set_in instead of scanning
482         last_set_in after the first pass through the insns.
483         Clear last_set_in using reg_clear_last_set instead of explicitly
484         rescanning after each insn.  If checking is enabled, assert that
485         last_set_in is completely zeroed after each bb has been processed.
486
487 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
488
489         * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
490         never read-write.
491         <REG>: Delete incorrect comment.
492         <SET>: Remove 'use_flags' variable.
493
494 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
495
496         * function.c (assign_parms): Make sure parm PARALLEL combined
497         in reg is composed of more than one object and the mode really
498         produces a reg.
499
500 2003-12-03  Jan Hubicka  <jh@suse.cz>
501
502         * i386.c (classify_argument): Make it 64bit clean.
503
504 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
505
506         * config/mips/mips.c (mips_output_external): Replace checks for
507         specific builtin-in functions with a check for DECL_BUILTIN_IN.
508
509 2003-12-02  Richard Henderson  <rth@redhat.com>
510
511         * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
512         * tree.h (TREE_SET_CODE): Likewise.
513         * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
514
515 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
516
517         * dbxstclass.h: Rename from this ..
518         * xcoff.h: .. to this.
519         * xcoffout.c: Include xcoff.h.
520
521 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
522
523         * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
524
525 2003-12-01  James Lemke <jim@wasabisystems.com>
526
527         * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
528
529 2003-12-01  Roger Sayle  <roger@eyesopen.com>
530
531         PR optimization/11634
532         * recog.c (split_insn): Factor test of INSN_P and handling of
533         set_noop_p out of here into the two callers.
534         (split_all_insns): Add INSN_P test and set_noop_p handling here.
535         If deleting a no-op set after reload that has a REG_UNUSED note,
536         mark the basic block as changed and recalculate life information.
537         (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
538         here.
539
540 2003-12-01  Roger Sayle  <roger@eyesopen.com>
541
542         PR optimization/12322
543         * gcse.c (struct ls_expr): Change type of hash_index from int to
544         unsigned int.
545         (hash_expr): Document hash_table_size parameter and wrap long line.
546         (ldst_entry): Calculate expression's hash_index and record in ptr.
547         (trim_ld_motion_mems): Use hash_index to search a single bucket
548         instead of scanning the entire hash_table.  Remove the "del" local
549         variable and use the equivalent "expr == 0" instead.  Change last
550         to be a pointer to the pointer to the current element, to simplify
551         and speed-up deleting from a linked list.
552
553 2003-12-01  James E Wilson  <wilson@specifixinc.com>
554
555         * doc/contrib.texi: Update David Mosberger.
556
557         * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
558         of missing fields.
559
560         PR target/8407
561         * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
562         gen_rtx_REG to create new reg with argument mode.
563
564 2003-12-01  Steven Bosscher  <stevenb@suse.de>
565
566         * ggc.h (struct alloc_zone): Move forward declaration up.
567         (new_ggc_zone): New function prototype.
568         (destroy_ggc_zone): Ditto.
569         * ggc-simple.c (new_ggc_zone): New function, does nothing.
570         (destroy_ggc_zone): Ditto.
571         * ggc-page.c (new_ggc_zone): New function, does nothing.
572         (destroy_ggc_zone): Ditto.
573         * ggc-zone.c (struct page_entry): Fix comment.
574         (ggc_alloc_typed): Use a switch statement instead of ifs.
575         (new_ggc_zone): New function to set up a new GC zone.
576         (destroy_ggc_zone): New function to remove a GC zone.
577         init_ggc): Use new_ggc_zone to set up the default zones.
578         (ggc_collect): Walk a list of zones, instead of just the
579         default zones.  Report statistics using the zone name.
580
581 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
582
583         * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
584
585 2003-12-01  Roger Sayle  <roger@eyesopen.com>
586
587         PR optimization/12628
588         * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
589         * regclass.c (reg_scan): Include allocate_reg_info time in
590         TV_REG_SCAN.  Minor clean-ups.
591         (reg_scan_update): Minor clean-ups.
592
593 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
594
595         * config.gcc (s390x-ibm-tpf*): Add extra_parts.
596
597 2003-12-01  James E Wilson  <wilson@specifixinc.com>
598
599         * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
600         GR_ARG_FIRST.
601
602 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
603
604         * common.opt: Remove -fgnu-linker.
605         * flags.h: Remove flag_gnu_linker.
606         * opts.c: Don't handle OPT_fgnu_linker.
607         * toplev.c: Don't initialize flag_gnu_linker.
608         Remove gnu-linker entry from f_options.
609         * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
610         Don't reset flag_gnu_linker.
611         * config/mips/mips.c (override_options): Likewise.
612         * doc/invoke.texi: Remove all mention of -fgnu-linker.
613
614 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
615
616         * ggc-zone.c (ggc_pch_write_object): Calculate object size using
617         ggc_get_size (which accounts for large objects properly).
618
619 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
620
621         PR optimization/13024
622         * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
623         parameter.
624         (rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
625         declaration.  Rebuild jump labels following local_alloc if necessary.
626         (rest_of_compilation): Remove rebuild_label_notes_after_reload
627         declaration.  Don't pass rebuild_notes parameter to
628         rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
629         Don't rebuild jump labels.
630
631 2003-12-01  Jeff Law  <law@redhat.com>
632
633         * flow.c (count_or_remove_death_notes_bb): New.  Extracted from
634         count_or_remove_death_notes.
635         (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
636
637 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
638
639         * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
640
641 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
642
643         * reload.c (find_reloads_address): Split addresses of type
644         (plus (plus (reg) (reg)) (const_int)) only if one register
645         is either a valid base register or else one of the stack
646         frame related registers (sp/fp/ap).
647
648 2003-12-01  Steven Bosscher  <stevenb@suse.de>
649
650         * function.c (update_epilogue_consts): Don't use PARAMS.
651         * rtl.h (web_main): Ditto.
652         * target.h (is_costly_dependence): Ditto
653
654 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
655
656         PR middle-end/7847
657         * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
658         do not recheck that 'op0' is a MEM.  Move comment.  When testing for
659         unaligned objects, take also into account the alignment of 'op0' and
660         'mode1' if 'op0' is a MEM.
661
662 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
663
664         * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
665
666 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
667
668         * doc/install.texi: Note that fastjar is built with automake 1.7.x
669         and autoconf 2.57.
670
671 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
672
673         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
674         target_flags directly rather than using TARGET_* defines.
675
676 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
677
678         * doschk.c: Remove.
679
680 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
681
682         PR target/12727
683         * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
684         on 32-bit big-endian targets.
685
686 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
687
688         * genemit.c (register_constraints): Remove.
689
690 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
691
692         * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
693         "iordi3"): Insns now use multiple letter constraints.
694         ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
695         covered by "*movdi_64".
696         ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
697         covered by "*movsi_zarch" and "*movsi_esa".
698         ("*movsi_zarch", "*movsi_!zarch"): New insns.
699         ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
700         by "*andsi3_zarch" and "anddi3".
701         ("*anddi3_ni"): Insn merged with "anddi3".
702         ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
703         ("*andsi3_zarch", "*andsi3_esa"): New insns.
704         ("*iordi3_oi"): Insn merged with "iordi3".
705         ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
706         ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
707
708         * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
709         merged to s390_single_part.
710         (s390_single_part): New function.
711         NOTE: Semantics have changed a bit. Now the value of the part must
712         be different from the others to get a non-negative return value.
713         (s390_extract_qi, s390_extract_hi): Functions merged to
714         s390_extract_part.
715         (s390_extract_part, s390_extra_constraint_str,
716         s390_const_ok_for_constraint_p): New functions. The L constraint got a
717         new meaning and the N constraint was added as a multiple letter
718         constraint.
719         (s390_extra_constraint): Function deleted.
720         (print_operand): New output modifier 'i' and 'j' added.
721         All uses of CONST_OK_FOR_LETTER_P were replaced by
722         CONST_OK_FOR_CONSTRAINT_P.
723
724         * config/s390/s390-protos.h: Function prototypes adapted.
725         * doc/md.texi: Documentation for new constraint letters added.
726
727 2003-11-30  Andreas Schwab  <schwab@suse.de>
728
729         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
730
731 2003-11-29  James E Wilson  <wilson@specifixinc.com>
732
733         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
734         instead of in shared_name.
735
736         * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
737         * reload1.c (reload): Re-add it here.
738
739 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
740
741         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
742         set SECTION_WRITE on TARGET_RELOCATABLE.
743
744 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
745
746         * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
747
748 2003-11-28  Gunther Nikl  <gni@gecko.de>
749
750         * config/m68k/m68k.c (MOTOROLA): Move from here...
751         * config/m68k/m68k.h (MOTOROLA): ... to here.
752         (OUTPUT_JUMP): Use do {...} while (0).
753         * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
754
755 2003-11-28  Gunther Nikl  <gni@gecko.de>
756
757         * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
758         m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
759         MOTOROLA and USE_GAS.
760         * config/m68k/rtemself.h (MOTOROLA): Delete.
761         * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
762         * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
763
764 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
765
766         * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
767
768 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
769
770         * Makefile.in (install-info): Install gccinstall.info too.
771
772 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
773
774         * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
775
776 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
777
778         * config/s390/s390.md ("movhi"): Do not emit extender pattern
779         when loading from a (MEM (ADDRESSOF ...)).
780         ("movqi"): Likewise.
781
782 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
783
784         PR c/10333
785         * c-parse.in (typespec_reserved_nonattr): Reject typeof on
786         bit-fields.
787
788 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
789
790         * stmt.c (expand_asm_operands): Check whether force_const_mem
791         succeeded.
792
793 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
794
795         * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
796         * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
797
798         * config/alpha/gnu.h, config/alpha/linux.h,
799         config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
800         config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
801         config/i386/linux-aout.h, config/i386/linux.h,
802         config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
803         config/m68k/uclinux.h, config/mips/linux.h,
804         config/mn10300/linux.h, config/pa/pa-linux.h,
805         config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
806         config/sparc/linux.h, config/sparc/linux64.h,
807         config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
808         HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
809         all necessary assertions are included.
810
811 2003-11-28  Jan Hubicka  <jh@suse.cz>
812
813         * emit-rtl.c (set_used_flags): New.
814         (verify_rtx_sharing, verify_rtl_sharing): New.
815         (unshare_all_rtl_1): Rename to....
816         (unshare_all_rtl_in_chain): ... this one; make static.
817         (copy_rtx_if_shared): LABEL_REF chan be shared.
818         * ifcvt.c (unshare_ifcvt_sequence): New.
819         (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
820         noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
821         noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
822         noce_try_abs, noce_process_if_block, find_cond_trap
823         * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
824         Declare.
825
826 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
827
828         * config/h8300/h8300.md: Fix a comment typo.
829
830 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
831
832         * config/h8300/h8300.md (*movsf_h8300h): Change to
833         *movsf_h8300hs.
834         (addsi_h8300): Change to *addsi_h8300.
835         (addsi_h8300h): Change to *addsi_h8300hs.
836         (subsi3_h8300): Change to *subsi3_h8300.
837         (subsi3_h8300h): Change to *subsi3_h8300hs.
838         (neghi2_h8300h): Change to *neghi2_h8300hs.
839         (negsi2_h8300h): Change to *negsi2_h8300hs.
840
841 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
842
843         * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
844         constraint.
845         (*subhi3_h8300hs): Likewise.
846
847 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
848
849         * config/rs6000/rs6000.h (MASK_MFCRF): New.
850         (TARGET_MFCRF): Test target_flags, not processor type.
851         (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
852         Change Don't to Do not.
853         * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
854         to power4, 970, G5.
855
856 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
857
858         * cse.c (cse_set_around_loop): When changing a constant load
859         to a register -register copy, add a REG_EQUAL note.
860
861 2003-11-27  Randolph Chung  <tausq@debian.org>
862             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
863
864         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
865         insns.  Use the regular call expander for the call to the profiler.
866         * pa.md (call_profiler): Delete.
867         (load_offset_label_address): New insn to load the address of the
868         current function for the profiler.
869         (lcla1, lcla2): New insns to output a code label and load its address.
870
871 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
872
873         * final.c (final_scan_insn): Remove commented-out code.
874
875 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
876
877         * doc/install.texi: Remove ADAC reference and make accurate.
878
879 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
880
881         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
882         (FUNCTION_VALUE_REGNO_P): Likewise.
883         * config/h8300/h8300.md: Define R0_REG.
884
885 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
886
887         * config/h8300/h8300.c: Fix formatting.
888         * config/h8300/h8300.md: Likewise.
889
890 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
891
892         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
893
894 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
895
896         * config/h8300/h8300.md: Give names to anonymous insns.
897
898 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
899
900         * config/h8300/h8300.md (extendqisi2): Remove constraints.
901
902 2003-11-27  Gunther Nikl  <gni@gecko.de>
903
904         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
905
906 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
907
908         PR optimization/13041
909         * final.c (frame_pointer_needed): Fix comment.
910         * reload1.c (reload): Decrease alignment of the frame
911         pointer if it was used for register allocation.
912
913 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
914
915         PR target/12900
916         * reg-stack (move_for_stack_reg): New prototype.  Return
917         whether a control flow insn was deleted.
918         (subst_stack_regs_pat): Likewise, using the information provided
919         by move_for_stack_reg.
920         (subst_stack_regs): Likewise, using the information provided
921         by subst_stack_regs_pat.
922         (convert_regs_1): Record whether a control flow insn was deleted,
923         using the information provided by subst_stack_regs.  Purge dead
924         edges only if a control flow insn was deleted.
925
926 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
927
928         PR middle-end/8028
929         PR middle-end/9890
930         PR middle-end/11151
931         PR middle-end/12210
932         PR middle-end/12503
933         PR middle-end/12692
934         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
935         as the base address to copy the memory arguments to.
936
937 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
938
939         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
940         function aliases as functions.
941
942 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
943
944         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
945         of ADAC.
946         * configure: Regenerate.
947
948         * Makefile.in: Remove references to ADAC.
949
950         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
951         * configure: Regenerate.
952
953 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
954             Olivier Hainque  <hainque@act-europe.fr>
955
956         PR target/6466
957         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
958         (sparc_flat_compute_frame_size): Likewise.
959         (sparc_flat_save_restore): Move prototype...
960         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
961         (save_regs): New prototype.
962         (build_big_number): Likewise.
963         (apparent_fsize): Change type to HOST_WIDE_INT.
964         (actual_fsize): Likewise.
965         (frame_base_offset): Likewise.
966         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
967         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
968         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
969         to load a 64-bit constant.
970         (sparc_nonflat_function_prologue): Change string descriptor to
971         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
972         (output_restore_regs): Change offset type to HOST_WIDE_INT.
973         (sparc_nonflat_function_epilogue): Change string descriptor to
974         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
975         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
976         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
977         (sparc_frame_info): Change types for several components.
978         (sparc_flat_compute_frame_size): Update types according to previous
979         change.
980         (sparc_flat_function_prologue): Change string descriptor to
981         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
982         build_big_number.
983         (sparc_flat_function_epilogue): Change offset type to int.
984         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
985         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
986         limit to 4096 instead of 4095.
987
988         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
989         HOST_WIDE_INT.
990
991 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
992
993         * function.c: Make outer_function-chain external.
994         * function.h: Likewise.
995
996 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
997
998         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
999         using GNU ld.
1000         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1001         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1002         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1003         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1004         (SUBTARGET_EXTRA_SPECS): Define.
1005         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1006         to __gcc_init and -fini function to __gcc_fini.
1007         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1008         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1009         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1010         * config/mips/t-iris6gld,
1011         * config/mips/irix6-crti.asm,
1012         * config/mips/irix6-crtn.asm: New files.
1013
1014 2003-11-24  Eric Christopher  <echristo@redhat.com>
1015
1016         PR C/13014
1017         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1018         (start_function): Use.
1019         (c_push_function_context): Ditto.
1020         (c-pop_function_context): Ditto.
1021         (language_function): Move...
1022         * c-tree.h: ... here. Add x_in_iteration_stmt, and
1023         x_in_case_stmt.
1024         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1025         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1026         check for valid break or continue statment here...
1027         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1028         here. Change original errors to abort.
1029
1030 2003-11-24  Jan Hubicka  <jh@suse.cz>
1031
1032         * fold-const.c (fold):  Do not return early when optimizing
1033         COMPONENT_REF and constant.
1034
1035 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1036
1037         * config/h8300/h8300.md (tablejump_h8300): Change to
1038         *tablejump_h8300.
1039         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1040         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1041         (indirect_jump_h8300): Change to *indirect_jump_h8300.
1042         (indirect_jump_h8300h): Change to
1043         *indirect_jump_h8300hs_advanced.
1044         (indirect_jump_normal_mode): Change to
1045         *indirect_jump_h8300hs_normal.
1046
1047 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1048
1049         * config/h8300/h8300.md: Remove constraints from expanders.
1050
1051 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
1052
1053         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1054         stm_h8300s_2_advanced.
1055         (stm_h8300s_2_normal): New.
1056         (stm_h8300s_2): Likewise.
1057         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1058         (stm_h8300s_3_normal): New.
1059         (stm_h8300s_3): Likewise.
1060         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1061         (stm_h8300s_4_normal): New.
1062         (stm_h8300s_4): Likewise.
1063         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1064         (ldm_h8300s_2_normal): New.
1065         (ldm_h8300s_2): Likewise.
1066         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1067         (ldm_h8300s_3_normal): New.
1068         (ldm_h8300s_3): Likewise.
1069         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1070         (ldm_h8300s_4_normal): New.
1071         (ldm_h8300s_4): Likewise.
1072         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1073         (two peephole2's): New.
1074
1075 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1076
1077         * genattrtab.c (simplify_cond): Update indices correctly.
1078         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1079         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1080         (check_attr_test, encode_units_mask, compute_alternative_mask,
1081         make_alternative_compare, simplify_and_tree,
1082         attr_rtx_cost, simplify_test_exp, gen_attr,
1083         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1084         * rtl.def (EQ_ATTR_ALT): New.
1085
1086 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1087
1088         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1089         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1090         New variables.
1091         (main): Initialize them.
1092         (find_attr): Canonicalize the attribute name string.
1093         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1094         string arguments.
1095         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1096         (check_attr_test, check_attr_value, make_length_attrs,
1097         write_length_unit_log, simplify_by_exploding, gen_attr,
1098         write_test_expr, write_attr_value, write_eligible_delay,
1099         write_complex_function, make_internal_attr,
1100         write_const_num_delay_slots): Changed due to change of type of
1101         find_attr.
1102         (fill_attr, evaluate_eq_attr, simplify_and_tree,
1103         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1104         strcmp_check.
1105
1106 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
1107
1108         PR target/13122
1109         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1110         normal mode.
1111         (pop): Call pop_h8300hs_normal in normal mode.
1112         * config/h8300/h8300.md: Likewise.
1113         (pushqi1_h8300hs_normal): New.
1114         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1115         (pushhi1_h8300hs_normal): New.
1116         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1117         (push_h8300hs_normal): New.
1118         (pop_h8300hs_normal): Likewise.
1119
1120 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1121
1122         * genattrtab.c (count_sub_rtxs): Removed.
1123
1124 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
1125
1126         * recog.c (preprocess_constraints): Only zero those elements of
1127         recog_op_alt that are needed for this insn.
1128         * arm.c (note_invalid_constants): A function can't contain invalid
1129         constants if it has no constraints.
1130
1131 2003-11-22  Jan Hubicka  <jh@suse.cz>
1132
1133         * i386.c (classify_argument): Pass __float128 in memory.
1134         (ix86_return_in_memory): Likewise.
1135         (ix86_libcall_value): Likewsie.
1136
1137 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
1138
1139         * config/h8300/h8300.c (dosize): Convert to ISO-C.
1140
1141 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
1142
1143         * flow.c (update_life_info): Amend comment about when a register
1144         can become dead.
1145
1146 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
1147
1148         * doc/.cvsignore: Delete.
1149
1150 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
1151             David Edelsohn  <edelsohn@gnu.org>
1152
1153         * dwarf2out.c (add_location_or_const_value_attribute): Add support
1154         for PARALLEL.
1155
1156 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1157
1158         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1159         (TARGET_LIBGCC2_CFLAGS): Define.
1160
1161         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1162         (__do_global_ctors): Likewise.
1163
1164 2003-11-21  Mark Wielaard  <mark@klomp.org>
1165
1166         * doc/invoke.texi (-O2): Doesn't enable -fweb.
1167
1168 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1169
1170         * doc/invoke.texi: Mention dV and dZ.
1171
1172 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
1173
1174         * doc/invoke.texi: Update dump file names.
1175         Remove de, dW, and dX.
1176
1177 2003-11-20  James E Wilson  <wilson@specifixinc.com>
1178
1179         PR c/13133
1180         * reload1.c (reload): Delete special handling for setjmp.
1181
1182 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
1183
1184         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1185         step too.
1186         * config/t-slibgcc-darwin: Adjust install path.
1187         * config/rs6000/t-darwin: Revert multilib matches since
1188         it is not used on darwin.
1189
1190 2003-11-20  Richard Henderson  <rth@redhat.com>
1191
1192         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1193         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1194         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1195         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1196         * flow.c: Don't include ssa.h.
1197         (set_phi_alternative_reg): Remove.
1198         (calculate_global_regs_live): Don't call it.
1199         (mark_used_regs): Don't handle PHI.
1200         * gengtype.c (open_base_files): Don't reference ssa.h.
1201         * rtl.def (PHI): Remove.
1202         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1203         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1204         * opts.c (common_handle_option): Likewise.
1205         * toplev.c (f_options): Likewise.
1206         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1207         (dump_file): Update to match.
1208         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1209         (rest_of_handle_ssa): Remove.
1210         (rest_of_compilation): Don't call it.
1211         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
1212         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
1213         * doc/passes.texi (SSA optimizations): Remove.
1214
1215 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
1216
1217         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
1218         * configure: Regenerate.
1219
1220 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
1221
1222         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
1223
1224 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
1225
1226         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
1227         (SHLIB_LC): Define.
1228         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
1229         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
1230
1231 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
1232             David Edelsohn  <edelsohn@gnu.org>
1233
1234         * calls.c (expand_call): Allocate new temp in pass1.
1235         (store_one_arg): If PARALLEL, calculate excess using mode size of
1236         rtvec elt.
1237         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
1238         mode size of rtvec elt.
1239         * function.c (assign_parms): Use parm in register, if available.
1240
1241 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
1242
1243         * config/h8300/lib1funcs.asm (MOVP): Remove.
1244         (ADDP): Likewise.
1245         (CMPP): Likewise.
1246
1247 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
1248
1249         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
1250         with a single instruction if the stack has been decremented by 4
1251         and we have a frame pointer.  Update all callers.
1252         (output_return_instruction): Likewise.
1253         (arm_output_epilogue): Change argument to SIBLING.  Calculate
1254         really_return from the new argument.  Update all callers.
1255         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
1256         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
1257         pass the sibling call.
1258         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
1259         prototypes.
1260
1261 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1262
1263         * Makefile.in (extraclean): Delete.
1264         * configure.in (target_list): Remove extraclean.
1265         * configure: Regenerate.
1266         * doc/makefile.texi, doc/sourcebuild.texi: Update.
1267         * objc/Make-lang.in (objc.extraclean): Delete.
1268
1269 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
1270
1271         * Makefile.in (lang_checks): Add.
1272         (check-c++, check-f77, check-java, check-g++, check-g77,
1273         check-objc): Remove hardcoded targets.
1274         * doc/sourcebuild.texi: Document testsuite hooks.
1275         * objc/Make-lang.in (check-objc, lang_checks): Add.
1276
1277 2003-11-19  Scott Snyder  <snyder@fnal.gov>
1278
1279         PR target/13131
1280         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
1281         flag, not a constant.
1282
1283 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
1284
1285         * config/arc/arc-protos.h: Update to C90 prototypes.
1286         * config/arc/arc.c: Likewise.
1287         * config/arc/initfini.c: Likewise.
1288
1289 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1290
1291         * stmt.c (expand_goto): Memory clobbers added.
1292
1293 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
1294
1295         * reload.c (find_reloads): Added missing type casts.
1296
1297 2003-11-19  James E Wilson  <wilson@specifixinc.com>
1298
1299         * combine.c (sets_function_arg_p): Delete unused function.
1300
1301 2003-11-19  Eric Christopher  <echristo@redhat.com>
1302
1303         * reload1.c (reload): Revert 2 previous checkins.
1304
1305 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
1306
1307         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
1308         whether directive begins at the beginning of a line.
1309
1310 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
1311
1312         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
1313
1314 2003-11-19  Gerald Pfeifer  <gp@suse.de>
1315
1316         * doc/install.texi (Specific): Remove information on old versions
1317         of glibc versus old versions of GCC.
1318
1319 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
1320
1321         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
1322         the register lowpart is a TRULY_NOOP_TRUNCATION.
1323
1324 2003-11-19  Richard Henderson  <rth@redhat.com>
1325
1326         * config/i386/i386.c (print_reg): Handle QI and HI modes for
1327         non Q regs.
1328
1329 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
1330
1331         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
1332         specification file.
1333         * config/t-slibgcc-darwin: New file, libgcc build specification.
1334         * config/t-darwin: Add libgcc2 flag -fPIC.
1335         * config/rs6000/t-darwin: Multilib matches float.
1336         * libgcc-darwin.ver: New file, contains libgcc symbols.
1337
1338 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
1339
1340         * config/ns32k/ns32k.h: Remove obsolete comment.
1341
1342 2003-11-18  Roger Sayle  <roger@eyesopen.com>
1343
1344         PR middle-end/11821
1345         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
1346         size for calls to libgcc's div & mod subroutines when using -Os.
1347
1348 2003-11-18  Jan Hubicka  <jh@suse.cz>
1349
1350         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
1351
1352 2003-11-18  Marc Espie  <espie@openbsd.org>
1353
1354         * config/rs6000/sysv4.h: OpenBSD hooks.
1355
1356 2003-11-18  Richard Henderson  <rth@redhat.com>
1357
1358         * expr.c (expand_expr): Don't look through constant arrays if
1359         they don't bind locally.
1360
1361 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1362
1363         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
1364         when seeing if truncation or extension.
1365
1366 2003-11-17  Eric Christopher  <echristo@redhat.com>
1367
1368         * reload1.c (reload): Fix previous change.
1369
1370 2003-11-17  Scott Snyder  <snyder@fnal.gov>
1371
1372         PR debug/11325
1373         * dwarf2out.c (struct die_struct): Add die_definition field.
1374         (add_AT_specification): New.
1375         (gen_subprogram_die, gen_variable_die,
1376         gen_struct_or_union_type_die): Use it.
1377         (prune_unused_types_mark): If we're marking a forward declaration,
1378         also mark the full definition, if it exists.
1379
1380 2003-11-16  Nick Clifton  <nickc@redhat.com>
1381
1382         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
1383         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
1384         Remove prototype.
1385         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
1386         to xstormy16_build_builtin_va_list and make static.
1387         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
1388
1389 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1390
1391         * config/h8300/h8300-protos.h: Add the prototype for
1392         same_cmp_following_p.
1393         * config/h8300/h8300.c (same_cmp_following_p): New.
1394         * config/h8300/h8300.md (peephole2): Use it.
1395
1396 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1397
1398         * config/h8300/h8300.md: Don't use REGNO when its operand is
1399         not guaranteed to be a REG.
1400
1401 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
1402
1403         * Makefile.in (expr.o): Depend on $(TARGET_H).
1404         * target.h (return_in_msb): New target hook.
1405         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
1406         (TARGET_CALLS): Include it.
1407         * calls.c (shift_returned_value): New function.
1408         (expand_call): Use it.
1409         * expr.c: Include target.h.
1410         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
1411         deciding what padding is needed.  Change the name of the local
1412         padding variable from big_endian_correction to padding_correction.
1413         * stmt.c (shift_return_value): New function.
1414         (expand_return): Use it.  Adjust memory->register copy in the same
1415         way as copy_blkmode_from_reg.  Only change the return register's
1416         mode if it was originally BLKmode.
1417         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
1418         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
1419         (mips_fpr_return_fields): New, split out from mips_function_value.
1420         (mips_return_in_msb, mips_return_fpr_pair): New functions.
1421         (mips_function_value): Rework to use the functions above.
1422         * config/mips/irix6-libc-compat.c: Delete.
1423         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
1424
1425 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1426
1427         * doc/install.texi (--enable-checking): Update valgrind's URL.
1428
1429 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
1430
1431         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
1432         with -2147483647 - 1.
1433
1434 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
1435
1436         Fix links in online manuals.
1437         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
1438         (Precompiled Headers): @pxref to cpp, not cpp.info.
1439
1440 2003-11-16  Jason Merrill  <jason@redhat.com>
1441
1442         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
1443         files in each directory and TAGS files that include them for each
1444         front end.
1445
1446 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
1447
1448         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
1449         3 of S2L.
1450         (modnorm): Likewise.
1451         (exitdiv): Look at bit 3 of S2L only.
1452
1453 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
1454
1455         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
1456         (DO_GLOBAL_DTORS_BODY): Likewise.
1457
1458 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
1459
1460         * doc/install.texi (Prerequisites): Refine documentation of
1461         autoconf, automake and perl requirements.  Document required
1462         gettext version.
1463
1464 <2003-11-14  Jason Merrill  <jason@redhat.com>
1465
1466         * function.c (assign_parms): Use TREE_TYPE to determine the real
1467         type of the argument object.
1468
1469 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1470
1471         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
1472         iteration.
1473
1474 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
1475
1476         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
1477           New routine to save vararg registers on stack. Support for
1478           -mpowerpc64 in mixed mode.
1479
1480 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
1481
1482         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
1483         for MOTOROLA versus MIT syntax.  Improves readability and provides
1484         better compile-time error checking for both code paths.
1485
1486 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
1487
1488         * config/frv/frv-protos.h: Update for C90.
1489         * config/frv/frv.h: Likewise.
1490         * config/frv/frvbegin.c: Likewise.
1491         * config/frv/frv.c: Likewise.
1492         (frv_adjust_field_align): Delete unused variable.
1493
1494 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
1495
1496         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
1497         to each place where TARGET_LONG_DOUBLE_128 is used with
1498         DEFAULT_ABI == ABI_AIX.
1499
1500         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
1501         message comply with GNU standards.
1502
1503 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1504
1505         PR/6552
1506         * function.c (struct epi_info): New field const_equiv.
1507         (update_epilogue_consts): New function.
1508         (keep_stack_depressed): Clear new field and verify scratch register
1509         doesn't have it set.
1510         Call new function via note_stores.
1511         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
1512         Allow PLUS where second operand is register known set to constant.
1513         (emit_equiv_load): Write load using proper mode if source different.
1514         * config/mips/mips.md (return_internal): Put (return) first.
1515
1516 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1517
1518         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
1519
1520 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
1521
1522         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
1523         registers.
1524         (divsi3): Likewise.
1525         (reti): Don't restore unused registers.
1526
1527 2003-11-14  Nick Clifton  <nickc@redhat.com>
1528
1529         * config/fr30/fr30.c: Include toplev.h
1530
1531 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1532
1533         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1534
1535 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1536
1537         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
1538         function definition syntax.
1539
1540 2003-11-14  Eric Christopher  <echristo@redhat.com>
1541
1542         * reload1.c (reload): Revert previous patch. Make
1543         check for assignment into reg_equiv_address stricter.
1544
1545 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
1546
1547         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1548
1549 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
1550
1551         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1552         section names.
1553
1554 2003-11-14  Jason Merrill  <jason@redhat.com>
1555
1556         PR middle-end/12526
1557         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1558         * calls.c (call_expr_flags): New fn.
1559         * tree.h: Declare it.
1560
1561 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1562
1563         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1564         (divmodsi3): Change the name to ___udivsi3.
1565         Update all callers.
1566
1567 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1568
1569         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1570         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1571         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1572         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1573         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1574         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1575         Const-ify and/or initialize automatic variables at declaration.
1576
1577 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1578
1579         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1580         of er4 with er3.  Adjust all callers.
1581
1582 2003-11-13  Andrew Pinski <apinski@apple.com>
1583
1584         * config/darwin.c (machopic_output_possible_stub_label):
1585         Allow stub symbol be not defined when outputting possible
1586         stub label.
1587
1588 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1589
1590         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1591         instead of exitdiv.
1592         (___umodsi3): Likewise.
1593         (exitdiv): Do not restore any register.
1594         (reti): Restore registers.
1595
1596 2003-11-13  Steven Bosscher  <stevenb@suse.de>
1597
1598         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1599
1600 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1601
1602         * config/h8300/lib1funcs.asm: Fix comment typos.
1603
1604 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1605
1606         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1607         unused registers.  Don't jump to exitdiv.
1608         (umodsi3): Likewise.
1609
1610 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
1611             Kean Johnston <jkj@sco.com>
1612
1613         PR c/13029
1614         * toplev.c (check_global_declarations): Do not warn about unused
1615         static consts.
1616
1617 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
1618             Kazu Hirata  <kazu@cs.umass.edu>
1619
1620         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
1621         the approximate quotient method.
1622
1623 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
1624
1625         * combine.c (distribute_notes): When re-distributing the notes from
1626         an insn we are about to delete, ensure we can't end up with a cyclic
1627         list of notes.
1628
1629 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1630
1631         PR optimization/12926
1632         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
1633         the UNCHANGING_RTX_P flag on memory references to read-only
1634         components that are not addressable.
1635
1636 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
1637
1638         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
1639         DenHighNonZero.
1640
1641 2003-11-13  Jan Hubicka  <jh@suse.cz>
1642
1643         PR opt/12275
1644         * c-decl.c (finish_decl): Use change_decl_assembler_name.
1645         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
1646         * varasm.c (make_decl_rtl): Likewise.
1647         * cgraph.c (change_decl_assembler_name): New function.
1648         * tree.h (set_decl_assembler_name): Kill dead declaration.
1649         (change_decl_assembler_name): Declare.
1650
1651         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1652         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1653
1654 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
1655
1656         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
1657         an unused register.
1658
1659 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
1660
1661         PR bootstrap/12752
1662         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
1663         (MULTILIB_OSDIRNAMES): Reorder accordingly.
1664
1665 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
1666
1667         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
1668         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
1669         (rs6000_emit_eh_reg_restore): Add
1670         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
1671         of vars_size and total_size to HOST_WIDE_INT.
1672         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
1673         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
1674         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
1675         values.
1676         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
1677         (rs6000_initial_elimination_offset): New, with code formerly in
1678         INITIAL_ELIMINATION_OFFSET.
1679         * rs6000.h (rs6000_stack_t): Remove.
1680         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
1681         rs6000_initial_elimination_offset.
1682         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
1683         rs6000_emit_eh_reg_restore.
1684
1685 2003-11-12  Mike Stump  <mrs@apple.com>
1686
1687         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
1688         is the argumnt we are processing so that warnings and errors
1689         will have that information.
1690         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
1691         * lang-hooks-def.h
1692         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
1693         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
1694         * langhooks.h (convert_parm_for_inlining): Likewise.
1695         * tree-inline.c (initialize_inlined_parameters): Compute and
1696         pass argnum down.
1697
1698 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
1699             Roger Sayle  <roger@eyesopen.com>
1700
1701         PR optimization/12953
1702         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
1703         before switch by FUNCTION_CODE.
1704
1705 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
1706
1707         * arm.md (storehi): Avoid use of explicit subreg.
1708         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
1709
1710 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
1711
1712         * config/sh/sh.md (prefetch): New pattern.
1713
1714 2003-11-11  Eric Christopher  <echristo@redhat.com>
1715
1716         * reload1.c (reload): Verify that addresses for
1717         reg_equiv_* are valid for the architecture.
1718
1719 2003-11-11  Eric Christopher  <echristo@redhat.com>
1720
1721         * function.c (purge_addressof_1): Add libcall check.
1722         Remove test for cached replacements on fallback case.
1723         Simplify mode comparisons. Add libcall test for
1724         paradoxical subregs.
1725
1726 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1727
1728         * config/h8300/t-h8300: Fix an obsolete comment.
1729
1730 2003-11-11  James E Wilson  <wilson@specifixinc.com>
1731
1732         * expmed.c (store_bit_field, extract_bit_field): Revert last two
1733         changes.
1734
1735 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1736
1737         * config/h8300/lib1funcs.asm: Replace DenHighZero with
1738         DenHighNonZero.
1739
1740 2003-11-11  Jan Hubicka  <jh@suse.cz>
1741
1742         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
1743         really_no_inline.
1744
1745 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1746
1747         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
1748         generating 64-bit code.
1749
1750 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
1751
1752         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
1753         accidental commit in previous change.
1754
1755 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
1756
1757         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
1758         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
1759         address recognition.
1760         (macho_lo_sum_memory_operand): Routine to recognize macho-style
1761         address recognition.
1762
1763 2003-11-10  Richard Henderson  <rth@redhat.com>
1764
1765         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
1766
1767 2003-11-10  Matt Austern  <austern@apple.com>
1768
1769         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
1770         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
1771         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
1772         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
1773         darwin_assemble_visibility instead of default.
1774
1775 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
1776
1777         PR target/12865
1778         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
1779         __enable_execute_stack only after writing onto the stack.
1780         (sparc64_initialize_trampoline): Likewise.
1781
1782 2003-11-09  Roger Sayle  <roger@eyesopen.com>
1783
1784         * loop.c (check_dbra_loop): Try swapping the comparison operands
1785         of the loop condition to identify a suitable induction variable.
1786         * unroll.c (loop_iterations): Likewise.
1787
1788 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1789
1790         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
1791         sparc64 #cpu and #machine assertions.
1792
1793 2003-11-09  Richard Henderson  <rth@redhat.com>
1794
1795         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
1796
1797 2003-11-09  Jan Hubicka  <jh@suse.cz>
1798
1799         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
1800
1801         * cgraphunit.c (cgraph_expand_function): Use
1802         cgraph_possibly_inlined_p.
1803         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
1804
1805         * opts.c (common_handle_option): Do not set max-inline-insns.
1806         * params.def: Update comments.
1807         (PARAM_MAX_INLINE_INSNS): Kill.
1808         * invoke.texi (max-inline-insns): Kill.
1809
1810 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1811
1812         PR c/3190
1813         PR c/8714
1814         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
1815         * invoke.texi: Update.
1816
1817 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1818
1819         PR optimization/12630
1820         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
1821         Handle length computation 64-bit moves.
1822         (compute_clrstr_length, output_block_clear): Implement block clear.
1823         (output_block_move): Handle 64-bit moves.
1824         (pa_adjust_insn_length): Use compute_movstr_length and
1825         compute_clrstr_length.
1826         * pa.md (movstrsi): Revise operand order and comments.  Don't use
1827         match_scratch.
1828         (movstrsi_internal): Delete.
1829         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
1830         and peephole2 patterns to transform prereload to postreload form.
1831         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
1832         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
1833         clrstrdi_postreload): New patterns for 64-bit block move, and block
1834         clear.
1835         * pa-protos.h (output_block_clear): New prototype.
1836
1837 2003-11-08  Andreas Schwab  <schwab@suse.de>
1838
1839         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
1840         XCOFF_DEBUGGING_INFO.
1841
1842 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1843
1844         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
1845
1846 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
1847
1848         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
1849         redundant parens.
1850
1851         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
1852         (find_file_in_dir): Likewise.
1853         (_cpp_find_file): Print message if no header file is found
1854         but an invalid PCH file was.
1855
1856 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1857
1858         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1859         expressions as lvalues.
1860         (internal_build_compound_expr): Remove special handling for
1861         non-pedantic case.
1862         * doc/extend.texi: Document that all extended lvalues are now
1863         deprecated.
1864
1865 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
1866
1867         PR 11654
1868         * dbxout.c (struct dbx_file): Do not save for PCH.
1869         (current_file): Likewise.
1870         (dbxout_init): Don't allocate struct dbx_file using GC.
1871         (dbxout_start_source_file): Likewise.
1872
1873 2003-11-07  Falk Hueffner  <falk@debian.org>
1874
1875         * config/alpha/elf.h, config/alpha/unicosmk.h,
1876         config/alpha/vms.h: Convert to ISO C90.
1877
1878 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1879
1880         * config/arm/pe.h: Convert to ISO C90.
1881
1882 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
1883
1884         * sh-protos.h (sh_pch_valid_p): Declare.
1885         * sh.c ("intl.h"): Include.
1886         (TARGET_PCH_VALID_P): Override.
1887         (sh_target_switches): New variable.
1888         (target_switches): Define.
1889         (sh_pch_valid_p): New function.
1890
1891         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1892
1893 2003-11-07  Jan Hubicka  <jh@suse.cz>
1894
1895         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
1896         (x86_64_zero_extended_value):  likewise.
1897
1898 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
1899
1900         * config/mips/mips.md (loadgp): Take $25 as a second operand.
1901         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1902
1903 2003-11-06  Matt Austern <austern@apple.com>
1904
1905         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1906         field instead of hanging an attribute object off the decl.
1907         * tree.h (DECL_VISIBLITY): New accessor macro for
1908         symbol_visibility field in struct tree_decl.
1909         (enum symbol_visibility): Move definition to before tree_decl.
1910         (struct tree_decl): Define new two-bit field, symbol_visibility.
1911         (decl_visibility): Remove declaration.
1912         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1913         instead of decl_visibility.
1914         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
1915         decl_visibility.
1916         (decl_visibility): Remove.
1917
1918 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1919
1920         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1921         where register 14 will be saved.
1922
1923 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
1924
1925         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1926         (USE_ALTIVEC_FOR_ARG_P): Likewise.
1927         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1928         Take a pointer as the CUM parameter.  Update callers.
1929         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
1930         32-bit ABIs.
1931         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
1932         of vector parameters as named arguments of stdarg function.
1933         (function_arg): Likewise.
1934
1935         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1936         -maltivec is specified, not the non-existent -faltivec.
1937
1938 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1939
1940         * config/s390/s390-protos.h (s390_function_value): Declare.
1941         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1942         (s390_return_in_memory): New function.
1943         (s390_function_value): New function.
1944         (s390_function_arg_float): Return false for all arguments larger
1945         than 8 bytes.
1946         (s390_function_arg_pass_by_reference): Likewise.  Return true for
1947         all vector arguments.
1948         (s390_function_arg_integer): New function.
1949         (s390_function_arg_advance): Call it.  Add sanity checks.
1950         (s390_function_arg): Likewise.
1951         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1952         (LIBCALL_VALUE): Likewise.
1953         (RET_REG): Remove.
1954         (RETURN_IN_MEMORY): Remove.
1955
1956 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1957
1958         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1959         return type to HOST_WIDE_INT.
1960         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1961         Make initialized a bool.  Make register masks unsigned ints.
1962         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
1963         where appropriate.
1964         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1965         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1966
1967 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1968
1969         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1970         negation.
1971
1972 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1973
1974         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1975
1976 2003-11-06  Momchil Velikov  <velco@fadata.bg>
1977
1978         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1979         for VR4111 too.
1980
1981 2003-11-06  Jan Hubicka  <jh@suse.cz>
1982
1983         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1984         missing casts.
1985
1986 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
1987
1988         * genmodes.c: Change the word "bitsize" to "precision" throughout.
1989         * machmode.def: Likewise.
1990         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1991         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1992         (GET_MODE_PRECISION): New macro.
1993         (mode_bitsize): Renamed mode_precision.
1994         * stor-layout.c (mode_for_size, smallest_mode_for_size):
1995         Use GET_MODE_PRECISION; clarify comments.
1996
1997 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
1998
1999         * doc/install-old.texi: Remove old documentation of building
2000         cross-compilers.
2001         * doc/install.texi: Move some of it to here.
2002
2003 2003-11-05  Per Bothner  <pbothner@apple.com>
2004
2005         PR preprocessor/12891
2006         * c-opts.c (finish_options):  Set include_cursor to disable premature
2007         calls to push_command_line_include from cpp_scan_nooutput.
2008         Fixes bug reported by DJ Delorie.
2009
2010 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2011
2012         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2013         code supporting old-style varargs.
2014
2015         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2016         an intermediate register for better optimisation.
2017
2018 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2019
2020         PR optimization/10080
2021         * cfgloopanal.c (variable_initial_value, variable_initial_values,
2022         simple_loop_exit_p): Record the fact that initial value is extended
2023         from inner mode.
2024         (count_strange_loop_iterations, count_loop_iterations): Handle
2025         ivs that iterate in a narrower mode. Fix handling of overflows.
2026         Improve handling of NE conditions.
2027         (inverse, fits_in_mode_p): New static functions.
2028         (simple_increment): Detect variables that iterate in a narrower mode.
2029         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2030
2031 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
2032
2033         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2034         error.
2035
2036         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2037         needs VRSAVE.
2038
2039 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
2040
2041         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2042         conditional expressions as lvalues.
2043
2044 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
2045
2046         * tsystem.h: Add the prototype of strlen.
2047         * unwind-pe.h (read_encoded_value_with_base): Add an
2048         appropriate cast to handle a case where the pointer size is
2049         smaller than sizeof (int).
2050
2051 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2052
2053         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2054         (mips_delegitimize_address): Delete.
2055         (mips_gotoff_global, mips_load_got_page): Declare.
2056         (mips_load_got_global, mips_rewrite_small_data): Declare.
2057
2058         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2059         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2060         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2061         small_data_pattern.  Remove CONST from const_arith_operand's entry.
2062
2063         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2064         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2065         (mips_constant_type): Delete.
2066         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2067         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2068         (NUM_SYMBOL_TYPES): New macro.
2069         (mips_address_type): Remove ADDRESS_INVALID.
2070         (machine_function): Add has_gp_insn_p.
2071         (mips_constant_info): Delete.
2072         (mips_address_info): Add the address type as an extra field.  Replace
2073         the c field with symbol_type.
2074         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2075         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2076         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2077         (mips_split_const, mips_symbolic_constant_p): New functions.
2078         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2079         (mips_classify_address): Return true if the address is valid, storing
2080         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
2081         to test whether a LO_SUM address is allowed.
2082         (mips_symbol_insns): Return 0 for general mips16 symbols.
2083         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2084         Handle the new SYMBOL_GOTOFF_*s.
2085         (mips_address_insns): Update call to mips_classify_address.
2086         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
2087         of mips_classify_constant.  Be more accurate about CONSTs.
2088         (mips_global_pic_constant_p): Delete.
2089         (const_arith_operand): Only accept CONST_INTs.
2090         (call_insn_operand): Remove call to mips_classify_constant.
2091         Let mips_symbolic_constant_p check for invalid offsets.
2092         (move_operand): Check for general_operands first.  Only accept symbolic
2093         constants if they satisfy mips_symbolic_constant_p and cannot be split.
2094         (symbolic_constant): Use mips_symbolic_constant_p.
2095         (global_got_operand, local_got_operand): New predicates.
2096         (stack_operand): Update call to mips_classify_address.
2097         (mips_legitimate_address_p): Likewise.
2098         (mips_reloc, mips_lui_reloc): Delete.
2099         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2100         Use emit_move_insn.
2101         (mips_split_symbol, mips_unspec_address): New functions.
2102         (mips_unspec_offset_high): New function.
2103         (mips_load_got): Replace reloc argument with a symbol_type.
2104         Use mips_unspec_address to create the address and put it in a
2105         LO_SUM with the base register.
2106         (mips_load_got16, mips_load_got32): Delete.
2107         (mips_emit_high, mips_legitimize_symbol): Delete.
2108         (mips_gotoff_global): New function.
2109         (mips_load_got_page, mips_load_got_global): New functions.
2110         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2111         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
2112         Inline code to handle constants plus invalid offsets.  Use
2113         mips_split_symbol to legitimize constant pool addresses.
2114         (mips_delegitimize_address): Delete.
2115         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2116         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
2117         (mips_subword): Pass memrefs through mips_rewrite_small_data.
2118         (mips_output_move): Remove use of mips_classify_constant.
2119         (mips_expand_call): Use mips_unspec_offset_high to calculate the
2120         high part of the GOT address for calls to global functions.
2121         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2122         and mips_hi_relocs[].
2123         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2124         Remove use of mips_classify_constant.
2125         (mips_reloc_string): Delete.
2126         (print_operand_reloc): New function.
2127         (print_operand_address): Update call to mips_classify_address.
2128         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2129         (small_data_pattern): New predicate.
2130         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2131         (mips_function_has_gp_insn): New function.
2132         (mips_global_pointer): Use it.
2133         (mips_gp_insn): Delete.
2134         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2135         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
2136         from the start of the current function.
2137         (mips16_gp_pseudo_reg): Revert last patch.
2138
2139         * config/mips/mips.md (RELOC_*): Delete.
2140         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2141         (got): New insn attribute.
2142         (type): Set to "load" if got == load.
2143         (length): Set to 4 if got == load, 8 if got == xgot_high.
2144         (lui[sd]i): Delete.
2145         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2146         (*got_disp[sd]i, *got_page[sd]i): Likewise.
2147         (*low[sd]i): Change constraints to "d".  Add a new define_split to
2148         rewrite small data constants into LO_SUMs.
2149         (loadgp): New insns.
2150
2151 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2152
2153         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2154
2155 2003-11-04  DJ Delorie  <dj@redhat.com>
2156
2157         * config/v850/v850.md (mulhisi3): Expand the const_int case
2158         separately to avoid trying to sign extend the const.
2159
2160 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
2161
2162         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2163         addresses to be shared.
2164         (force_const_mem): Return a copy of the pool entry.
2165
2166 2003-11-03  Andreas Jaeger  <aj@suse.de>
2167
2168         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2169
2170 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
2171
2172         * Makefile.in (cpp.dvi): New target split from cpp.info.
2173         (gcc.dvi):  New target split from gcc.info.
2174         (gccint.dvi): New target split from gccint.info.
2175         (cppinternals.dvi): New target split from cppinternals.info
2176         (gccinstall.info): New specific rule.
2177         (gccinstall.dvi): Likewise.
2178         (dvi): Move targets to $(docobjdir).
2179         ($(docobjdir)/%.dvi): New implicit rule.
2180
2181 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2182
2183         * doc/gty.texi (tag, desc): Say more about role of desc values in
2184         selecting between tags.
2185
2186 2003-11-03  Alexander Kabaev  <ak03@gte.com>
2187
2188         * real.c (encode_ieee_single): Ensure proper promotion.
2189
2190 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2191
2192         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2193         and Andrew Pinski.
2194
2195 2003-11-03  Syd Polk  <spolk@apple.com>
2196
2197         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2198         marketing names to the list of supported processors.
2199         * config/rs6000/rs6000.h: Ditto.
2200         * doc/invoke.texi: Ditto.
2201         * config.gcc: Ditto.
2202
2203 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2204
2205         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2206         Merge two substitutions.
2207         * fixinc/fixincl.x: Regenerate.
2208         Fixes PR bootstrap/12666.
2209
2210 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
2211
2212         * doc/install-old.texi: Remove VMS documentation.
2213
2214 2003-11-03  Jan Hubicka  <jh@suse.cz>
2215
2216         * i386.c (override_options):  Remove hack enabling 128bit long double
2217         commited by accident.
2218
2219 2003-11-02  Per Bothner  <per@bothner.com>
2220
2221         * c-opts.c (needValue):  Do cpp_find_main_file before processing
2222         any imacros flags, so pfile->main_file is set for the latter.
2223
2224 2003-11-03  Andreas Jaeger  <aj@suse.de>
2225             Zack Weinberg  <zack@codesourcery.com>
2226
2227         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
2228         (SYSCALLS.c.X-warn): Suppress warnings.
2229
2230 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2231
2232         PR optimization/12845
2233         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
2234
2235 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
2236
2237         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
2238         * config/i386/i386.c (print_reg): Abort on a virtual register
2239         if code != -1; not if file == asm_out_file.
2240         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
2241         (DEBUG_PRINT_REG): Delete, unused.
2242
2243 2003-11-02  Andreas Schwab  <schwab@suse.de>
2244
2245         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
2246         empty to avoid conflict with the definition from configure.
2247
2248 2003-11-02  Roger Sayle  <roger@eyesopen.com>
2249
2250         PR optimization/10817
2251         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
2252         (noce_try_move): New function to optimize an if-the-else into an
2253         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
2254         (noce_process_if_block): Attempt simplification with noce_try_move.
2255
2256         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
2257         and improvements to the optimizations of IF_THEN_ELSE expressions.
2258         (simplify_subreg): Silence signed/unsigned comparison warning.
2259
2260 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
2261
2262         * Makefile.in (targhooks.o, reload.o): Update dependencies.
2263         (GTFILES): Add targhooks.c.
2264         (gt-targhooks.h): New rule; depend on s-gtype.
2265         * target.h (direct_pool_load_p): New hook.
2266         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
2267         (TARGET_INITIALIZER): Include it.
2268         * targhooks.h (default_direct_pool_load_p): Declare.
2269         (hook_bool_machine_mode_true): Declare.
2270         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
2271         gt-targhooks.h.
2272         (pool_symbol): New variable.
2273         (default_direct_pool_load_p): New function.
2274         (hook_bool_machine_mode_true): New function.
2275         * reload.c: Include target.h.
2276         (find_reloads): If an alternative will force a constant into memory,
2277         count an extra reload if constant pool symbols are not valid
2278         addresses.  If an alternative uses memory to move values between
2279         registers, count the move as two reloads rather than one.
2280         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
2281         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
2282
2283 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2284
2285         PR optimization/12799
2286         * postreload.c (reload_cse_move2add): Generate the add2
2287         patterns manually.
2288
2289 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
2290
2291         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2292         Return 0 for all complex modes whose size is lesser or equal to
2293         a word.  Add a ??? comment for the condition used with 16-byte
2294         aligned modes.
2295
2296 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
2297
2298         * .cvsignore: Remove c-parse* and tradcif.c.
2299         * objc/.cvsignore: Delete.
2300
2301 2003-11-01  Roger Sayle  <roger@eyesopen.com>
2302
2303         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
2304         of NULL.
2305
2306 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2307
2308         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
2309
2310         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
2311
2312         * collect2.c (scan_libraries): Fix typos.
2313
2314         PR preprocessor/12847
2315         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
2316         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
2317         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
2318         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
2319         "CPP_".
2320
2321 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
2322
2323         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
2324         no_units calculation.
2325
2326 2003-11-01  Andreas Jaeger  <aj@suse.de>
2327
2328         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
2329         enumeration list.
2330
2331 2003-11-01  Andreas Schwab  <schwab@suse.de>
2332
2333         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
2334         prototypes.
2335         (SBSS_SECTION_FUNCTION): Likewise.
2336
2337 2003-11-01  Andreas Jaeger  <aj@suse.de>
2338
2339         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
2340
2341 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
2342
2343         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
2344         prototypes.
2345
2346 2003-11-01  Andreas Jaeger  <aj@suse.de>
2347
2348         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
2349         (uw_frame_state_for): Constify variables.
2350         (extract_cie_info): Constify first argument.
2351
2352         * unwind-dw2-fde-darwin.c: Adjust prototype of
2353         _Unwind_Find_registered_FDE for recent changes.
2354         (examine_objects): Constify return value and local variable result.
2355         (_Unwind_Find_FDE): Constify return value and local variable ret.
2356
2357 2003-10-31  Per Bothner  <pbothner@apple.com>
2358
2359         * c-opts.c (finish_options):  Change to returns boolean - false iff
2360         the call to cpp_find_main_file fails.
2361         (c_common_init):  Skip preprocess_file if finish_options failed.
2362         (c_common_parse_file):  Break if finish_options failed.
2363         Fixes PR preprocessor/12545.
2364
2365 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2366
2367         * aclocal.m4: Blacklist ultrix* for mmap file.
2368         * configure: Rebuilt.
2369
2370         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
2371         reg_parm_stack_space.
2372         * toplev.c (default_get_pch_validity): Fix warning.
2373
2374         * vax.c: Include toplev.h.
2375         (vax_init_libfuncs): Fix typo (umod).
2376         * vax.h (ASM_COMMENT_START): Define.
2377         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
2378
2379 2003-10-31  Roger Sayle  <roger@eyesopen.com>
2380
2381         PR middle-end/11968
2382         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
2383         confusing comment; distributivity isn't handled in expand_expr.
2384         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
2385         in distributivity, if wrap-around semantics are specified with
2386         -fwrapv.
2387
2388 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
2389
2390         PR 12315
2391         * final.c (profile_function): Allow for NULL svrtx.
2392
2393 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2394
2395         * pa.c (pa_select_section): Use new style declaration.
2396         * som.h (readonly_data): Likewise.
2397
2398 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
2399
2400         * config/rs6000/rs6000.c: Update to C90 prototypes.
2401
2402 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2403
2404         PR target/7513
2405         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
2406         code.
2407
2408 2003-10-31  Andreas Jaeger  <aj@suse.de>,
2409             Zack Weinberg  <zack@codesourcery.com>
2410
2411
2412         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
2413         (__deregister_frame_info, __deregister_frame_info_bases):
2414         Constify void * argument.
2415         * unwind-dw2-fde.h (struct fde_vector):
2416         Constify 'orig_data' and 'array' fields.
2417         (__register_frame_info, __register_frame_info_bases)
2418         (__deregister_frame_info, __deregister_frame_info_bases):
2419         Constify void * argument.
2420         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
2421         return values, and casts of type fde *, struct dwarf_fde *,
2422         and struct dwarf_cie *.
2423         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
2424         (__deregister_frame_info, __deregister_frame_info_bases):
2425         Constify void * argument.
2426         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
2427         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
2428         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
2429         fde_split, SWAP, frame_downheap, frame_heapsort)
2430         (classify_object_over_fdes, add_fdes, linear_search_fdes,
2431         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
2432         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
2433         Constify arguments, local variables, return values, and casts
2434         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
2435         Use const pointer types in sizeof expressions, for clarity.
2436         * unwind-dw2-fde-glibc.c
2437         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
2438         (struct unw_eh_callback_data): Constify 'ret' field.
2439
2440 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
2441             David Edelsohn  <edelsohn@gnu.org>
2442
2443         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
2444         (function_arg): Call it.
2445         (rs6000_function_value): Widen integral return value to mode based
2446         on TARGET_32BIT, not word_mode.
2447         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
2448         (UNITS_PER_ARG): New.
2449         (RS6000_ARG_SIZE): Use it.
2450
2451 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
2452
2453         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
2454         and gengtype-yacc.h.
2455
2456 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2457
2458         PR optimization/8896
2459         * postreload.c (reload_combine): Check that REGY doesn't die in an
2460         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
2461
2462 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
2463
2464         PR/10239
2465         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
2466
2467 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
2468
2469         PR/11640
2470         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
2471         immediatelly before BARRIER.
2472
2473 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
2474
2475         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
2476
2477 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2478
2479         PR target/11271
2480         * reload.c (find_reloads_address): Handle any register in
2481         (PLUS (PLUS (REG) (REG)) (CONST_INT).
2482
2483 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
2484
2485         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
2486         ENABLE_GC_CHECKING not in GGC_POISON.
2487
2488 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
2489
2490         PR bootstrap/9863
2491         * configure.in: Bail out if awk is missing.
2492         * configure: Regenerate.
2493
2494         PR ada/12761
2495         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
2496         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
2497
2498 2003-10-30  Richard Henderson  <rth@redhat.com>
2499
2500         * c-objc-common.c (c_tree_printer): Handle types correctly.
2501         Factor code a bit.
2502
2503 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
2504
2505         * value-prof.c, web.c: Update to C90.
2506
2507 2003-10-30  Eric Christopher  <echristo@redhat.com>
2508
2509         * function.c (purge_addressof_1): Add case for REG_RETVAL
2510         notes when modes are unequal.
2511
2512 2003-10-31  Jan Hubicka  <jh@suse.cz>
2513
2514         * i386-modes.def: Add XFmode format adjustment.
2515
2516 2003-10-30  Jan Hubicka  <jh@suse.cz>
2517
2518         * real.c (encode_ieee_extended): Back out previous patch.
2519
2520 2003-10-30  Jan Hubicka  <jh@suse.cz>
2521
2522         * real.c (encode_ieee_extended): Initialize whole array.
2523         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
2524         * i386-modes.def: Change definitions of TFmode and XFmode.
2525         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2526         code.
2527         (construct_container): Allow constructing of TFmode integer containers.
2528         (ix86_return_in_memory):  XFmode is not returned in memory.
2529         (init_ext_80387_constants): Always use XFmode.
2530         (print_operand): Likewise.
2531         (ix86_prepare_fp_compare_regs): Likewise.
2532         (split_to_parts): Deal with TFmode.
2533         (split_long_move): Simplify.
2534         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2535         (ix86_memory_move_cost): Do not confuse TFmode.
2536         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2537         (IS_STACK_MODE): TFmode is not stack mode.
2538         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2539         (VALID_SSE_REG_MODE): Allow TFmode.
2540         (VALID_FP_MODE_P): Disallow TFmode.
2541         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2542         * i386.md (TFmode patterns): Kill.
2543         (movtf, motf_rex64): New patterns.
2544
2545 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2546
2547         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2548
2549 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2550
2551         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2552         (mov_lwr, mov_swl, mov_swr): Likewise.
2553         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2554
2555 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2556
2557         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2558
2559 2003-10-30  Richard Henderson  <rth@redhat.com>
2560
2561         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2562         test for irix6 rather than preprocessor test.
2563
2564 2003-10-30  Richard Henderson  <rth@redhat.com>
2565
2566         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2567
2568 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
2569
2570         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2571         as a general flag that the return address register needs to be saved,
2572         not necessarily because of __builtin_return_addr (0).
2573         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2574         remove special handling of zSeries machines.
2575         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
2576         register as a regular register on zSeries machines.
2577         (s390_reorg): Adjust calls to s390_split_branches and
2578         s390_optimize_prolog.
2579         (s390_frame_info): On zSeries machines, do not assume the return
2580         register is always used.  Update regs_ever_live with current data
2581         for the special registers.
2582         (s390_emit_epilogue): Use save_return_addr_p to determine whether
2583         the return register was saved.
2584         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2585         RETURN_REGNUM fixed on zSeries machines.
2586         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2587         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2588         via ahi-jgne pair on zSeries machines.
2589         ("*doloop_di"): Likewise.
2590         ("*doloop_di_long"): Remove.
2591
2592 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
2593
2594         * arm.c (arm_override_options): Revert change of arm_constant_limit
2595         when optimizing for size.
2596
2597 2003-10-29  Richard Henderson  <rth@redhat.com>
2598
2599         * fold-const.c (fold_single_bit_test): Convert the input to the
2600         operational intermediate type.
2601
2602 2003-10-29  Richard Henderson  <rth@redhat.com>
2603
2604         * builtins.c (std_build_builtin_va_list): New.
2605         * expr.h (std_build_builtin_va_list): Declare.
2606         * defaults.h (BUILD_VA_LIST_TYPE): New.
2607         * system.h (BUILD_VA_LIST_TYPE): Poison.
2608         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2609         * target.h (struct gcc_target): Add build_builtin_va_list.
2610         * tree.c (build_common_tree_nodes_2): Use it.
2611
2612         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2613         config/alpha/alpha.h, config/alpha/unicosmk.h,
2614         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2615         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2616         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2617         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2618         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
2619         config/mips/mips.h, config/rs6000/rs6000-protos.h,
2620         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2621         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
2622         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2623         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
2624         config/xtensa/xtensa.h: Rename foo_build_va_list to
2625         foo_build_builtin_va_list; make it static.  Define
2626         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
2627         Update protos.
2628
2629         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
2630         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
2631
2632 2003-10-29  James E Wilson  <wilson@specifixinc.com>
2633
2634         * recog.c (asm_operand_ok): Add missing break after case 'X'.
2635         Change if statements to else if statements in default case.
2636         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
2637         in comment.
2638         (constrain_operands_cached): Likewise.
2639         (constrain_operands): Change if statements to else if statements in
2640         default case.
2641         * reload.c (find_reloads): Likewise.
2642
2643 2003-10-29  Richard Henderson  <rth@redhat.com>
2644
2645         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
2646         shifts and rotates.
2647
2648 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
2649
2650         * config/rs6000/rs6000.md: Remove duplicate pattern.
2651
2652 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
2653
2654         * real.c (do_divide): Initialize result with a 0.
2655
2656         * configure.in <enable-checking for valgrind>: Look for
2657         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
2658         if it exists.
2659         * configure, config.in: Regenerate.
2660         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
2661         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
2662         #elif for other alternatives.
2663         * ggc-page.c: Ditto.
2664         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
2665         include structure from ggc-common.c.
2666
2667 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2668
2669         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
2670         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
2671         * pa.c (pa_adjust_insn_length): Check for btable branches using
2672         attribute TYPE_BTABLE_BRANCH.
2673         (pa_reorg): Simplify.
2674         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
2675         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
2676         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
2677         * pa.md (btable_branch): New instruction type.
2678         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
2679         btable branches.
2680         (define_delay): Add btable branches to insn types that may have an
2681         insn in the delay position.
2682         (Z2, Z3): Add btable branch to list.
2683         Simplify unamed pattern set copy pic_label_operand to register.  Add
2684         PA 2.0 variant.
2685         (short_jump): New jump for use in branch tables.
2686         (casesi, casesi0): Revise for new branch table formats.
2687         (casesi32, casesi32p, casesi64p): New casesi patterns.
2688         (indirect_jump): Move.
2689
2690 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
2691
2692         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
2693         !TARGET_POWERPC64.
2694         (UNITS_PER_GPR_WORD): Delete.
2695         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
2696         (HARD_REGNO_MODE_OK): Same.
2697         (CLASS_MAX_NREGS): Same.
2698
2699 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2700
2701         * pa.h (ASM_COMMENT_START): Define.
2702
2703 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
2704
2705         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
2706         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
2707         component, not zero.
2708
2709 2003-10-29  Andreas Schwab  <schwab@suse.de>
2710
2711         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
2712
2713 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
2714
2715         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2716         Never return 1 for complex integral modes whose size is lesser or
2717         equal to a word.
2718         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
2719         in the comment.
2720         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
2721         modes.
2722         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
2723         greater than 16 bytes by reference.
2724
2725 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2726
2727         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
2728         not TARGET_ILP32.
2729         (ia64_initialize_trampoline): Use globalize_label target call.
2730
2731 2003-10-29  Andreas Schwab  <schwab@suse.de>
2732
2733         * doc/install.texi (Building): Add a sentence about building Ada
2734         for a canadian cross.
2735
2736 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
2737
2738         * config/ia64/ia64.c (cmptf_libfunc): New static.
2739         (ia64_expand_compare): Add logic to open-code calls to
2740         _U_Qfcmp for TFmode comparisons.
2741         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
2742         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
2743         never be generated anymore.
2744         * config/ia64/ia64.md (cmptf): New expander.
2745
2746 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
2747
2748         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
2749         (*sqrt_approx): New instruction pattern for approximate square roots.
2750         (*setf_exp_xf): New instruction pattern for exponentiation.
2751         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
2752         (sqrtsf2_internal_thr): New define_and_split implementing
2753         throughput-optimized inline calculation of SFmode square root.
2754         (sqrtdf2_internal_thr): Likewise for DFmode.
2755         (sqrtxf2_internal_thr): Likewise for XFmode.
2756         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
2757         latency- and throughput-optimized square root algorithms.
2758         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
2759         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
2760         New macros.
2761         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
2762         -minline-sqrt-max-throughput.
2763         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
2764         and -minline-sqrt-max-throughput are given, notify the user
2765         that both options cannot be used simultaneously.
2766         If -minline-sqrt-min-latency is given, notify the user that
2767         this mode is not yet implemented.
2768         (rtx_needs_barrier): Reformat initial comment to obey
2769         72-character width limit.  Support UNSPEC_SETF_EXP and
2770         UNSPEC_FR_SQRT_RECIP_APPROX.
2771
2772 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
2773
2774         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
2775         moves.
2776
2777 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2778
2779         PR target/11598
2780         PR libgcj/10610
2781         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2782
2783 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
2784
2785         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
2786         an extra stack adjustment insn if the stack pointer is already
2787         pointing at the right place.
2788         (use_return_insn): Allow a return insn to be used when we have a
2789         frame pointer if the stack pointer is in the right place.
2790         (output_return_instruction): Handle it.
2791
2792 2003-10-28  Andreas Jaeger  <aj@suse.de>
2793
2794         * ggc-zone.c (check_cookies): Add missing variable.
2795         Add void to prototypes.
2796
2797 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2798
2799         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
2800         * crtstuff.c (__do_global_ctors_1): Move prototype.
2801         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2802         appropriate.
2803         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
2804         Mark parameter with __attribute__((unused)).
2805
2806 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
2807
2808         * c-decl.c (pushdecl): Clarify comment.
2809
2810 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
2811
2812         * doc/install.texi: Update instructions for Ada cross builds
2813
2814         PR ada/5909:
2815         * doc/sourcebuild.texi: Document Ada test suite.
2816
2817 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
2818
2819         * config/m68hc11/m68hc11.c: Convert to ISO C90.
2820         * config/m68hc11/m68hc11-protos.h: Likewise.
2821
2822 2003-10-27  Jan Hubicka  <jh@suse.cz>
2823             Eric Botcazou  <ebotcazou@libertysurf.fr>
2824
2825         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
2826         webizer pass dump.
2827
2828 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
2829             Jan Hubicka  <jh@suse.cz>
2830
2831         * reload1.c (struct elim_table): Change offset, initial_offset and
2832         previous_offset fields to HOST_WIDE_INT.
2833         (offsets_at): Change from int to HOST_WIDE_INT.
2834         (reload): Adjust offsets_at initialization.
2835         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
2836         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
2837         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
2838         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
2839         if TARGET_64BIT.
2840         (pro_epilogue_adjust_stack): New function.
2841         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
2842         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
2843         (pro_epilogue_adjust_stack_1): Remove * in front of name.
2844         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
2845         (pro_epilogue_adjust_stack_rex64_2): New insn.
2846
2847         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
2848
2849         * config/i386/i386.c (ix86_expand_call): Replace 40 with
2850         FIRST_REX_INT_REG + 3 /* R11 */.
2851
2852 2003-10-26  Richard Henderson  <rth@redhat.com>
2853
2854         * config/alpha/alpha.md (attr cannot_copy): New.
2855         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2856         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2857         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2858
2859 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
2860
2861         * ggc-zone.c:  New file, zone allocating collector.
2862         * configure: Accept zone option for --with-gc
2863         * configure.in: Ditto.
2864         * ggc.h (ggc_pch_count_object): Pass bool indicating
2865         stringiness. Update all callers.
2866         (ggc_pch_alloc_object): Ditto.
2867         (ggc_pch_write_object): Ditto.
2868         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2869         type.
2870         (ggc_alloc_rtvec): Ditto.
2871         (ggc_alloc_tree): Use zone allocation, since some things using this macro
2872         aren't a single typecode.
2873         * ggc-none.c (ggc_alloc_typed): New function.
2874         (ggc_alloc_zone): Ditto.
2875         * ggc-page.c: Ditto on both functions.
2876
2877 2003-10-26  Gunther Nikl  <gni@gecko.de>
2878
2879         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2880         frame information is always valid.
2881         (m68k_output_function_prologue): Remove superfluous TARGET_68881
2882         test; fix formatting.
2883
2884 2003-10-26  Gunther Nikl  <gni@gecko.de>
2885
2886         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2887         reg_rev_mask computation.
2888         (m68k_output_function_prologue): Fix usage of current_frame (one typo
2889         and one missing); use reg_rev_mask not reg_mask.
2890         (m68k_output_function_epilogue): Fix usage of current_frame;
2891         use fpu_rev_mask not fpu_mask.
2892
2893 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2894
2895         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2896         num_saved_regs, use current_frame.reg_no instead.
2897
2898 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2899             Paul Dale  <pauli@snapgear.com>
2900
2901         * doc/extend.texi (interrupt_handler): Add m68k to the
2902         list of processors implementing it.
2903         * doc/invoke.texi (-msep-data): Document new m68k option.
2904         (-mno-sep-data): Likewise.
2905         (-mid-shared-library): Likewise.
2906         (-mno-id-shared-library): Likewise.
2907         (-mshared-library-id): Likewise.
2908
2909 2003-10-26  Andreas Jaeger  <aj@suse.de>
2910
2911         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2912         comparison.
2913         (_Unwind_SetGR): Likewise.
2914
2915 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
2916
2917         PR target/12690
2918         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2919
2920 2003-10-26  Gunther Nikl  <gni@gecko.de>
2921
2922         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2923         comment from here to...
2924         (m68k_save_reg): ...here. Fix comment formatting.
2925         (m68k_output_function_prologue): Fix comment formatting.
2926         (m68k_output_function_epilogue): Likewise.
2927         (const_method): Likewise.
2928
2929 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
2930
2931         * toplev.c (default_get_pch_validity): Guard the use of
2932         target_options with #ifdef TARGET_OPTIONS.
2933         (default_pch_valid_p): Likewise.
2934
2935 2003-10-26  Andreas Jaeger  <aj@suse.de>
2936             Zack Weinberg  <zack@codesourcery.com>
2937             Andreas Tobler <toa@pop.agri.ch>
2938
2939         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2940         (output_die): Likewise.
2941         (print_die): Likewise.
2942
2943 2003-10-26  Andreas Jaeger  <aj@suse.de>
2944
2945         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2946         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2947         dwarf2out.c change.
2948
2949         * toplev.c (default_pch_valid_p): Fix warning.
2950
2951 2003-10-25  Roger Sayle  <roger@eyesopen.com>
2952
2953         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2954         RTL nodes.  If an operator's operands are unchanged, return the
2955         original argument unchanged.
2956
2957 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
2958
2959         Fix bootstrap failure.
2960         * expmed.c (store_bit_field): Don't compare bitsize against
2961         modes with zero bit-size.
2962
2963         (extract_bit_field): Likewise
2964
2965 2003-10-25  Jan Hubicka  <jh@suse.cz>
2966
2967         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2968         (cfa_loc): Likewise.
2969         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2970         HOST_WIDE_INT.
2971         (args_size, old_args_size): change type to HOST_WIDE_INT.
2972         (dwarf2out_def_cfa, dwarf2out_args_size,
2973         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2974         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2975         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2976         AT_offset): Use HOST_WIDE_INT.
2977         (based_loc_descr): offset is HOST_WIDE_INT.
2978         (add_data_member): Likewise.
2979         (add_const_value_attribute): Simplify.
2980
2981 2003-10-25  Richard Henderson  <rth@redhat.com>
2982
2983         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2984         (ix86_expand_prologue): Save and restore eax around stack probe
2985         if it's live.
2986
2987 2003-10-25  Jan Hubicka  <jh@suse.cz>
2988
2989         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2990
2991 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2992
2993         PR target/12712
2994         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2995         if the block has no predecessors.
2996         (convert_regs_2): Document the problem with successors whose
2997         only predecessor is the block to be processed.
2998         (convert_regs): Don't create the arbitrary input stack here.
2999
3000 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
3001
3002         * genmodes.c (struct mode_data): Add contained and next_cont
3003         fields.
3004         (complete_mode): Maintain linked list of modes that have a
3005         given component.
3006         (emit_mode_unit_size): Delete.
3007         (emit_mode_nunits): New.
3008         (emit_insn_modes_c): Update to match.
3009         (emit_mode_adjustments): Propagate size and alignment
3010         adjustments from component modes to their containers.
3011         * machmode.h (mode_unit_size): Delete.
3012         (mode_nunits): New.
3013         (GET_MODE_NUNITS): Just return the value in the table.
3014         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3015         GET_MODE_SIZE.
3016         * expmed.c (store_bit_field, extract_bit_field): Can use a
3017         plain move instruction if bitsize >= GET_MODE_BITSIZE of
3018         destination/source mode, respectively.
3019         * varasm.c (assemble_real): Write out the full size of the
3020         constant, not just its bitsize.
3021         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3022
3023         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3024         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3025         alignment of XF and TF modes in compliance with ia64 ABIs.
3026         Can now hardwire the format of both modes.
3027         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3028         (general_tfmode_operand, destination_tfmode_operand)
3029         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3030         general_xfmode_operand, destination_xfmode_operand,
3031         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3032         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3033         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
3034         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3035         __float128.
3036         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3037         Change TFmode to XFmode wherever appropriate.  Remove all
3038         references to INTEL_EXTENDED_IEEE_FORMAT.
3039         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3040         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3041         (PREDICATE_CODES): Update to match function renames.
3042         * config/ia64/ia64.md: Change TF to XF throughout; rename all
3043         patterns to match.  Remove all references to
3044         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
3045         function renames.
3046         * config/ia64/ia64-protos.c: Update all prototypes to match
3047         renamed functions.
3048         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3049         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3050         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3051         __divtf3; keep old name for backward compatibility.
3052         (L__compat): New section providing forwarding stubs for
3053         __fixtfti, __fixunstfti, __floattitf.
3054         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3055
3056 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
3057
3058         PR 10757
3059         * c-pch.c: Include target.h.  Improve comments.
3060         (struct c_pch_validity): Add target_data_length.
3061         (pch_init): Add target's validity data.
3062         (c_common_valid_pch): Check target's validity data.
3063         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3064         (TARGET_PCH_VALID_P): New.
3065         (TARGET_INITIALIZER): Add new fields.
3066         * target.h: Include tm.h.
3067         (struct gcc_target): Add get_pch_validity, pch_valid_p.
3068         * toplev.h (default_get_pch_validity): New prototype.
3069         (default_pch_valid_p): New prototype.
3070         * toplev.c (default_get_pch_validity): New routine.
3071         (default_pch_valid_p): New routine.
3072         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
3073         target.h with $(TARGET_H).
3074         (c-pch.o): Add TARGET_H.
3075         * doc/tm.texi (PCH Target): New node.
3076         (TARGET_GET_PCH_VALIDITY): Document.
3077         (TARGET_PCH_VALID_P): Document.
3078
3079 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
3080
3081         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
3082         and $(docdir)/include from any *.texi dependencies.
3083         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3084         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3085         ($(docobjdir)/%.7): Likewise.
3086         (%.pod): New implicit rule.
3087         (cpp.pod): New dependency only rule.
3088         (gcc.pod): New intermediate rule with dependencies and commands.
3089         (gfdl.pod): Likewise.
3090         (fsf-funding.pod): Likewise.
3091
3092 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
3093
3094         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3095         related code.
3096         * fixinc/fixinc.ptx: Remove.
3097         * fixinc/fixinc.svr4: Remove.
3098
3099 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
3100
3101         * config/s390/s390.c (load_multiple_operation): Allow both SImode
3102         and DImode if word_mode is DImode.
3103         (store_multiple_operation): Likewise.
3104         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3105         ("*load_multiple_di"): Allow only if word_mode == DImode.
3106         ("movqi"): Use LLGC whenever TARGET_ZARCH.
3107         ("fix_truncdfsi2"): Fix incorrect temporary size.
3108         ("fix_truncsfsi2"): Likewise.
3109         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3110         string for function return value operand.
3111         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3112
3113 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
3114
3115         * c-parse.in (array_declarator): Use expr_no_commas.
3116         Fixes PR c/11943.
3117
3118 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
3119
3120         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3121         associated includes in #ifndef inhibit_libc.
3122
3123 2003-10-24  Roger Sayle  <roger@eyesopen.com>
3124
3125         * doc/libgcc.texi: Document some more of the libgcc API.
3126
3127 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3128
3129         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3130         comparing a constant with small negative numbers and add costing
3131         for constants in conjunction with AND.
3132         (note_invalid_constants): Tidy previous change.
3133         (thumb_cmp_operand): Tidy.
3134         (thumb_cmpneg_operand): New function.
3135         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3136         for size.
3137         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3138         (PREDICATE_CODES): Add thumb_cmpneg_operand.
3139         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
3140         with a negative constant.
3141         (cbranchsi4_insn): Matcher for cbranchsi4.
3142         (cbranchsi4_scratch): Similar, but a scratch is available for
3143         handling negative constants.
3144         (movsi_cbranchsi4): New pattern.
3145         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3146         and use the TST instruction.
3147         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3148         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3149         cannot see high regs or memory alternatives.
3150         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3151
3152 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
3153
3154         * arm.c (note_invalid_constants): Try to extract the constant
3155         pool value using avoid_constant_pool_reference; only use
3156         get_pool_constant if that returns the original reference.
3157
3158 2003-10-24  Jan Hubicka  <jh@suse.cz>
3159
3160         PR c++/12624
3161         * varasm.c (notice_global_symbol): Disqualify global registers.
3162
3163 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3164
3165         PR middle-end/11414
3166         * loop.c (load_mems): Use redirect_jump to forward jumps from
3167         the original loop end label to the new "loop sink" block's label.
3168
3169 2003-10-23  Roger Sayle  <roger@eyesopen.com>
3170
3171         PR middle-end/12705
3172         * optabs.c (expand_binop): When expanding complex operations
3173         inline, always calculate result into a new temporary register.
3174         Minor code clean-ups.
3175
3176 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3177
3178         * objc/lang-specs.h: Handle -print-objc-runtime-info.
3179         * doc/invoke.texi (Objective-C Dialect Options): Document it.
3180
3181 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
3182
3183         * config/i386/cygwin.asm: Add copyright notice. Add comment
3184         on why this code is needed.
3185
3186 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
3187
3188         * config/h8300/clzhi2.c: Fix warnings.
3189         * config/h8300/ctzhi2.c: Likewise.
3190         * config/h8300/fixunssfsi.c: Likewise.
3191         * config/h8300/parityhi2.c: Likewise.
3192         * config/h8300/popcounthi2.c: Likewise.
3193
3194 2003-10-23  James E Wilson  <wilson@specifixinc.com>
3195
3196         * gcc.c (option_map): Delete --target and --use-version.
3197
3198 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
3199             David Edelsohn  <edelsohn@gnu.org>
3200
3201         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3202         TARGET_POWREPC64.
3203         (UNITS_PER_GPR_WORD): Define.
3204         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3205         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3206         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3207         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3208         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3209         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
3210         (rs6000_emit_prologue): Select reg_mode and reg_size using
3211         TARGET_32BIT, not TARGET_POWERPC64.
3212         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
3213         ABI / 64-bit computation mode
3214
3215 2003-10-22  Andrew Haley  <aph@redhat.com>
3216
3217         * toplev.c (output_file_directive): Allow for null input_name.
3218
3219 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
3220
3221         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
3222
3223 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
3224
3225         * configure.in: In --enable-generated-files-in-srcdir option
3226         handling, fix default case handling.
3227         * configure: Regenerate.
3228
3229 2003-10-22  Phil Edwards  <phil@codesourcery.com>
3230
3231         * config.gcc:  Update *-*-vxworks* generic hook and comments.
3232         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
3233         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
3234         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
3235         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
3236         * config/windiss.h:  New file.
3237         * config/arm/t-vxworks:  New file.
3238         * config/arm/vxworks.h:  New file.
3239         * config/i386/t-vxworks:  New file.
3240         * config/i386/vxworks.h:  New file.
3241         * config/mips/t-vxworks:  New file.
3242         * config/mips/vxworks.h:  New file.
3243         * config/mips/windiss.h:  New file.
3244         * config/sh/t-vxworks:  New file.
3245         * config/sh/vxworks.h:  New file.
3246
3247 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3248
3249         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
3250         (h8300_saveall_function_p): New.
3251         (h8300_insert_attributes): Insert the saveall attribute if
3252         #pragma saveall is specified.
3253         (h8300_attribute_table): Add saveall.
3254         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3255         * doc/extend.texi: Mention the saveall attribute.
3256
3257 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
3258
3259         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
3260         deprecation of casts as lvalues.
3261         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
3262         * fixinc/fixincl.x: Regenerate.
3263         * fixinc/tests/base/obstack.h: New test.
3264
3265 2003-10-22  Andreas Schwab  <schwab@suse.de>
3266
3267         PR target/12676
3268         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
3269         LP64 platforms.
3270
3271 2003-10-22  Jan Hubicka  <jh@suse.cz>
3272
3273         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
3274         presence of DW_AT_inline.
3275         (gen_subprogram_die): Likewise; do not abort instead of emitting
3276         DW_AT_not_inline.
3277
3278 2003-10-22  Jan Hubicka  <jh@suse.cz>
3279
3280         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
3281         global info is not ready.
3282
3283 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
3284
3285         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
3286
3287 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
3288
3289         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
3290         ("*movstr_short"): ... into this insn pattern.
3291         ("movstr_short"): New expander.
3292         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
3293         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
3294         ("movstr_long"): New expander.
3295         ("clrstr_short_64", "clrstr_short_31"): Merge ...
3296         ("*clrstr_short"): ... into this insn pattern.
3297         ("clrstr_short"): New expander.
3298         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
3299         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
3300         ("clrstr_long"): New expander.
3301         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
3302         ("*cmpmem_short"): ... into this insn pattern.
3303         ("cmpmem_short"): New expander.
3304         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
3305         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
3306         ("cmpmem_long"): New expander.
3307         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
3308         (s390_expand_clrstr): Likewise.
3309         (s390_expand_cmpmem): Likewise.
3310
3311 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
3312
3313         * c-pch.c (struct c_pch_validity): Add pch_init field.
3314         (pch_init): Set it.
3315         (c_common_valid_pch): Check it.
3316
3317 2003-10-22  David Taylor <dtaylor@emc.com>
3318
3319         PR debug/12500
3320         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
3321
3322 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3323
3324         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
3325         alpha_return_in_memory if no VALTYPE specified.
3326
3327 2003-10-22  Jan Hubicka  <jh@suse.cz>
3328
3329         PR debug/12389
3330         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
3331         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
3332         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
3333         (cgraph_global_info): Add flag inlined
3334         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
3335         cgraph_function_possibly_inded_p
3336         * cgraphunit.c (mark_inline): Set inlined flag.
3337         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
3338         only for possibly inlined functions.
3339         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
3340         body of function.
3341
3342 2003-10-22  Andrew Haley  <aph@redhat.com>
3343
3344         * varasm.c (output_constructor): Make constructor annotation
3345         conditional on ASM_COMMENT_START.
3346
3347 2003-10-21  Jason Merrill  <jason@redhat.com>
3348
3349         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
3350         (get_narrower): Likewise.
3351
3352         * stor-layout.c (layout_decl): Do packed field alignment for
3353         bit-fields, too.
3354
3355 2003-10-21  Eric Christopher  <echristo@redhat.com>
3356
3357         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
3358
3359 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
3360
3361         * c-pch.c: Add comments in various places.
3362         (struct c_pch_validity): Add the lengths of various strings.
3363         (host_machine): New static.
3364         (target_machine): New static.
3365         (get_ident): Bump version number.
3366         (pch_init): Write out version, host, target validity data.
3367         (c_common_valid_pch): Check version, host, target.
3368         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
3369         TARGET_MACHINE.
3370
3371 2003-10-21  Jason Merrill  <jason@redhat.com>
3372
3373         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
3374         (EXPR_P): New macro.
3375
3376 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
3377
3378         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
3379         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
3380         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
3381         DImode.   Use convert_move to load ar.ccv.
3382         (ia64_expand_compare_and_swap): Likewise.
3383         If expand_expr doesn't put 'old' and 'new' in the proper
3384         modes, run them through convert_to_mode.
3385
3386 2003-10-21  Eric Christopher  <echristo@redhat.com>
3387
3388         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
3389         for too large bitfields.
3390
3391 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
3392
3393         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
3394
3395 2003-10-21  Andrew Haley  <aph@redhat.com>
3396
3397         * varasm.c (output_constructor): Annotate constructor.
3398
3399 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
3400
3401         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
3402         on existence of destination file.
3403
3404 2003-10-21  Jan Hubicka  <jh@suse.cz>
3405
3406         * haifa-sched.c (choose_ready): Initialize index.
3407
3408 2003-10-21  Jason Merrill  <jason@redhat.com>
3409
3410         * tree.c (build1): Fix off-by-one error.
3411
3412 2003-10-21  Robert Millan  <robertmh@gnu.org>
3413
3414         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
3415         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
3416         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
3417         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
3418
3419 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
3420
3421         * web.c: Fix various comments.
3422
3423 2003-10-20  Nicolas Pitre <nico@cam.org>
3424
3425         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
3426         to 2 instead of 1 when optimize_size is true.  Gather code based on
3427         optimize_size together.  Add comment about XScale load latency.
3428
3429 2003-10-21  Gunther Nikl  <gni@gecko.de>
3430
3431         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
3432         obsolete comments.
3433
3434 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
3435
3436         * Makefile.in: Get parsedir and docobjdir from configure.
3437         * configure.in: Recogonize --enable-generated-files-in-srcdir.
3438         Pass along parsedir and docobjdir.
3439         * configure: Regenerate.
3440         * doc/install.texi: Document --enable-generated-files-in-srcdir.
3441
3442 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
3443
3444         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
3445         included.
3446
3447 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
3448
3449         * c-common.c (expand_tree_builtin): Ensure creal and cimag
3450         functions do not return lvalues.
3451
3452 2003-10-20  Jason Merrill  <jason@redhat.com>
3453
3454         PR c/12553
3455         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
3456         appropriately.
3457
3458         PR c/11446
3459         * stor-layout.c (layout_decl): Fix alignment handling.
3460
3461 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
3462
3463         * doc/extend.texi: Deprecate casts as lvalues.
3464
3465 2003-10-20  Jan Hubicka  <jh@suse.cz>
3466
3467         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
3468
3469         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
3470         with functions implicitly made inline.
3471
3472         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
3473         (cgraph_finalize_function): Use it.
3474         (cgraph_mark_inline): Allow incrmental decisions
3475         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
3476         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
3477         * tree-inline.c (limits_allow_inlining): Kill.
3478         (expand_call_inline): Always use unit-at-a-time path.
3479
3480 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
3481
3482         * fixinc/inclhack.def (hpux11_snprintf): New edit.
3483         * fixinc/fixincl.x: Regenerate.
3484         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
3485
3486 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
3487
3488         * Makefile.in (install-info): Simplify.
3489         ($(DESTDIR)$(infodir)/%.info): New rule.
3490         * configure.in (target_list): Remove install-info.
3491         * doc/.cvsignore (gcc.info*): Remove.
3492         (gccint.info*): Likewise.
3493         (gccinstall.info*): Likewise.
3494         (cpp.info*): Likewise.
3495         (cppinternals.info*): Likewise.
3496         (*.info*): Add it.
3497         * doc/sourcebuild.texi: Update description of insta