746a76c84e8b484d0662723e845b0fef3c24b875
[gcc.git] / gcc / ChangeLog
1 2003-12-11 Richard Sandiford <rsandifo@redhat.com>
2
3 * config/mips/mips.c (mips_global_pointer): Force functions with
4 a nonlocal goto to set up $gp.
5
6 2003-12-11 James E Wilson <wilson@specifixinc.com>
7
8 PR target/13132
9 * function.c (gen_mem_addressof): When no decl, explicitly clear flag
10 bits.
11
12 2003-12-12 Nick Clifton <nickc@redhat.com>
13
14 * config/m32r/m32r.c: Convert to ISO-C
15
16 2003-12-12 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
17
18 * doc/invoke.texi: Replace Mitsubishi with Renesas.
19 * config/m32r/m32r.h: Ditto.
20 * config/m32r/m32r.c: Ditto.
21 * config/m32r/m32r.md: Ditto.
22
23 2003-12-11 Steven Bosscher <steven@gcc.gnu.org>
24
25 * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
26 (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
27 (basic_block_def): Rename `head' to `head_' and `end' to `end_'.
28 (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
29 fields of a basic block.
30 * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
31 cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
32 cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
33 final.c, flow.c, function.c, gcse.c, global.c, graph.c,
34 haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
35 loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
36 ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
37 regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
38 sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
39 config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
40 accessing the `head' and `end' fields of a basic block directly.
41
42 * gengtype.c: Teach about "void**" pointers and "void *" function
43 types. Fixes earlier commit.
44
45 2003-12-10 Geoffrey Keating <geoffk@apple.com>
46
47 * doc/extend.texi (Vector Extensions): Document that bitwise
48 operations also work on vectors.
49
50 2003-12-10 Richard Earnshaw <rearnsha@arm.com>
51
52 * arm.md: New split patterns for optimizing bitfield accesses.
53
54 2003-12-10 Steven Bosscher <stevenb@suse.de>
55
56 * README.Portability: Remove K+R section.
57
58 * gengtype-lex.l: Teach about "void**" pointers and
59 "void*" function types.
60
61 2003-12-10 Eric Botcazou <ebotcazou@libertysurf.fr>
62
63 PR target/13354
64 * config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
65 manually if one can do that with only one instruction.
66
67 2003-12-10 Nick Clifton <nickc@redhat.com>
68
69 * config.gcc (arm-linux): Include linux.h in tm_file so that
70 LINUX_TARGET_OS_CPP_BUILTINS is defined.
71 * config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
72
73 2003-12-09 James E Wilson <wilson@specifixinc.com>
74
75 * rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
76
77 2003-12-09 Matt Austern <austern@apple.com>
78
79 PR c/13134
80 * c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
81
82 2003-12-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
83
84 * config/m32r/m32r.h: Add support for m32r2 processor. Including
85 a new command line option -m32r2 to select it.
86 * config/m32r/m32r.c: Add support for the new processor variant.
87 * config/m32r/m32r.md: Likewise.
88 * config/m32r/t-m32r: Add m32r2 multilibs.
89 * doc/invoke.texi: Document the new command line switch.
90
91 2003-12-08 Kazu Hirata <kazu@cs.umass.edu>
92
93 * defaults.h (LOCAL_REGNO): Give the default definition.
94 * flow.c (LOCAL_REGNO): Remove.
95 * reload1.c (LOCAL_REGNO): Likewise.
96
97 2003-12-08 Geoffrey Keating <geoffk@apple.com>
98
99 PR target/11848
100 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
101 in floating-point registers between TFmode and DImode.
102 * rs6000.c (rs6000_emit_move): Split moves early.
103 (secondary_reload_class): Random Whitespace Change.
104 (rs6000_split_multireg_move): Support moves involving FP registers.
105 Emit instructions directly.
106 * rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
107 * altivec.md: Update for changes to rs6000_split_multireg_move.
108 * rs6000.md: Update for changes to rs6000_split_multireg_move.
109 (movtf_internal): Support moves to/from GPRs.
110
111 2003-12-08 Stuart Hastings <stuart@apple.com>
112
113 * config/i386/i386.md: Typo in split of fp-valued if_then_else.
114
115 2003-12-08 James E Wilson <wilson@specifixinc.com>
116
117 PR target/13132
118 * expmed.c (extract_bit_field): Only call mode_for_size for scalar
119 integer modes.
120
121 2003-12-08 Nathanael Nerode <neroden@gcc.gnu.org>
122
123 * doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
124 directory.
125
126 2003-12-08 Alexandre Oliva <aoliva@redhat.com>
127
128 * config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
129 by using match_scratch.
130 (negdi2): New.
131
132 2003-12-08 Jason Merrill <jason@redhat.com>
133 Daniel Berlin <dberlin@dberlin.org>
134
135 PR debug/11114
136 Support namespaces in DWARF 2 output.
137 * dwarf2out.c (gen_namespace_die): New function.
138 (force_namespace_die, setup_namespace_context): New fns.
139 (declare_in_namespace): New fn.
140 (gen_decl_die): Call declare_in_namespace. Handle namespaces.
141 (dwarf2out_decl): Handle namespaces.
142 (scope_die_for): Pass through a namespace scope.
143 (class_scope_p): Rename to class_or_namespace_scope_p.
144 (gen_subprogram_die, gen_variable_die): Adjust.
145 (gen_struct_or_union_die): Always emit a declaration
146 if context_die is a namespace.
147
148 2003-12-08 Jan Hubicka <jh@suse.cz>
149
150 * unwind-pe.h (read_uleb128): Fix handling of large values
151 (read_sleb128): Fix handling of large values
152
153 2003-12-08 Andrew Pinski <pinskia@physics.uc.edu>
154
155 PR middle-end/10060
156 * emit-rtl.c (copy_rtx_if_shared): Split out into ...
157 (copy_rtx_if_shared_1): here and optimize the last one
158 in the sequence into tail-recursion.
159 (reset_used_flags): Optimize the last one
160 in the sequence into tail-recursion.
161
162 2003-12-08 Richard Earnshaw <rearnsha@arm.com>
163
164 * arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
165 for constant X.
166
167 2003-12-08 Richard Sandiford <rsandifo@redhat.com>
168
169 * calls.c (expand_call): Don't try using tail or recursive calls
170 after the function body has been expanded.
171
172 2003-12-08 Jan Hubicka <jh@suse.cz>
173
174 * i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
175
176 2003-12-08 Arnaud Charlet <charlet@act-europe.fr>
177
178 PR ada/13324, PR ada/12614
179 * doc/install.texi: Update requirements for building Ada.
180
181 2003-12-07 David Edelsohn <edelsohn@gnu.org>
182 Graham Reed <greed@pobox.com>
183
184 * collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
185 (GCC_UNDEF_SYMBOL): Same.
186
187 2003-12-07 Kazu Hirata <kazu@cs.umass.edu>
188
189 * final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
190 * system.h (FINAL_PRESCAN_LABEL): Poison.
191 * doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
192
193 2003-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
194
195 * Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
196
197 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
198
199 * configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
200 * configure: Regenerate with autoconf 2.13.
201
202 * configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
203 with modern equivalents.
204 * configure: Regenerate.
205
206 * configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
207 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
208 * configure: Regenerate.
209
210 * configure: Regenerate with (preferred) autoconf 2.57.
211 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
212
213 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
214
215 PR optimization/12965
216 * caller-save.c (save_call_clobbered_regs): Do not save/restore
217 registers around no-return calls.
218
219 2003-12-07 Nathanael Nerode <neroden@gcc.gnu.org>
220
221 * configure.in: Make minimum necessary changes for autoconf 2.5x.
222 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
223 * configure: Regenerate with autoconf 2.58.
224
225 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
226
227 PR optimization/13318
228 * loop.c (express_from): Protect integer division from overflow.
229
230 2003-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
231
232 PR optimization/13060
233 * function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
234 replacement already exists. Fix again the whole insn if that fails.
235
236 2003-12-06 Andrew Pinski <pinskia@physics.uc.edu>
237
238 * config/rs6000/rs6000.c (macho_branch_islands): Use
239 HOST_WIDE_INT_PRINT_UNSIGNED.
240
241 2003-12-06 Richard Sandiford <rsandifo@redhat.com>
242
243 * varasm.c (incorporeal_function_p): New.
244 (assemble_external): Use it as a filter.
245 * config/mips/mips.c (mips_output_external): Don't check for builtin
246 functions here.
247
248 2003-12-06 Richard Earnshaw <reanrsha@arm.com>
249
250 * arm.md (IOR (COMPARISON) (AND)): New define_splits.
251
252 2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
253
254 * Makefile.in (program_transform_cross_name): Delete.
255 (GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
256 (PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
257 (AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
258 (install_cpp, install_driver, install-man, uninstall): Likewise.
259
260 2003-12-06 Alan Modra <amodra@bigpond.net.au>
261
262 PR 13169
263 * basic-block.h (PROP_ASM_SCAN): Define.
264 * final.c (regs_asm_clobbered): New array.
265 * regs.h (regs_asm_clobbered): Declare.
266 * flow.c (life_analysis): Init it.
267 (mark_set_regs): Set PROP_ASM_SCAN for asms.
268 (mark_set_1): Set regs_asm_clobbered.
269 * global.c (global_alloc): Don't set eliminable_regset when
270 regs_asm_clobbered.
271
272 2003-12-05 Mark Mitchell <mark@codesourcery.com>
273
274 * config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
275
276 PR c++/13314
277 * emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
278
279 2003-12-05 Andrew Pinski <pinskia@physics.uc.edu>
280
281 PR driver/13211
282 * gcc.c (execute) Increment execution_count when returning
283 early because verbose_only_flag is true.
284
285 2003-12-05 Per Bothner <pbothner@apple.com>
286
287 * cppfiles.c (file_hash_hash): New static function.
288 (hash_string_eq): Renamed static function to file_hash_eq.
289 (_cpp_init_files): Create file_hash table with above callbacks.
290 (cpp_included): Must use htab_find_with_hash insead of htab_find.
291 (_cpp_find_find, make_cpp_dir): Must use htab_find_slot_with_hash.
292
293 2003-12-05 Per Bothner <pbothner@apple.com>
294
295 * line-map.h (source_location): New typedef.
296 (fileline): Redefined as source_location.
297 (struct line_map, linemap_add, linemap_lookup): Replace filefile
298 by source_location.
299 * line-map.c (linemap_add, linemap_lookup): Use source_location.
300
301 2003-12-05 Richard Henderson <rth@redhat.com>
302
303 * config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
304 field to suppress -Wpadded warnings.
305
306 2003-12-05 Stuart Hastings <stuart@apple.com>
307
308 * config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
309
310 2003-12-05 Stuart Menefy <stuart.menefy@st.com>
311 J"orn Rennecke <joern.rennecke@superh.com>
312
313 PR target/13302
314 * sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
315
316 2003-12-05 Roger Sayle <roger@eyesopen.com>
317
318 * dojump.c (do_jump): If the expression being compared against
319 zero, is the subreg of a promoted variable, perform the comparison
320 in the promoted mode.
321 * simplify-rtx.c (simplify_unary_operation): Optimize sign and
322 zero-extensions of subregs of promoted variables where the
323 extension is identical to that used to promote the variable.
324
325 2003-12-05 Hans-Peter Nilsson <hp@axis.com>
326
327 PR target/13256
328 * resource.h (enum mark_resource_type): Remove member MARK_DEST.
329 The only user changed as follows:
330 * resource.c (mark_set_resources) <case SET>: Always recurse for
331 SET_SRC (x).
332 <case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
333 operands.
334 <case STRICT_LOW_PART>: Delete, deferring to default code.
335
336 2003-12-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
337
338 * stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
339 and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
340
341 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
342
343 * config/mips/mips.c (mips_expand_call): Don't allow laziy binding
344 for n32 & n64 abicalls.
345
346 2003-12-05 Richard Sandiford <rsandifo@redhat.com>
347
348 PR bootstrap/13145
349 * config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
350 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
351 (mips_load_got): Always create a constant MEM.
352 (mips_expand_call): Use load_callsi and load_calldi.
353 * config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
354 (load_callsi, load_calldi): New patterns.
355
356 2003-12-05 Peter Gerwinski <peter@gerwinski.de>
357
358 * tree.def (PLACEHOLDER_EXPR): Clarify commentary.
359
360 2003-12-05 Steven Bosscher <stevenb@suse.de>
361
362 * config/d30v/d30v-protos.h , config/d30v/d30v.c,
363 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
364 config/fr30/fr30-protos.h, config/fr30/fr30.c,
365 config/i370/i370-protos.h, config/i370/i370.c,
366 config/i960/i960-protos.h, config/i960/i960.c,
367 config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
368 config/m32r/m32r-protos.h, config/m32r/m32r.c,
369 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
370 config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
371 Convert to ISO C90 function declarations and definitions.
372
373 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
374
375 * doc/extend.texi (Constructing Calls): Add warning about
376 the limitations of the functions.
377
378 2003-12-05 Eric Botcazou <ebotcazou@libertysurf.fr>
379
380 PR middle-end/11151
381 * function.h (struct function): New field 'x_naked_return_label'.
382 * function.c (free_after_compilation): Set it to NULL.
383 (expand_function_end): Emit 'naked_return_label' if it exists.
384 * rtl.h (expand_naked_return): Declare.
385 * stmt.c (expand_naked_return): New function to generate a
386 jump to 'naked_return_label'.
387 * builtins.c (expand_builtin_return): Call expand_naked_return
388 instead of expand_null_return.
389 * config/sparc/sparc.md (untyped_return): Likewise.
390
391 2003-12-04 Andrew Pinski <pinskia@physics.uc.edu>
392
393 PR target/11322
394 * config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
395
396 PR target/12467
397 * config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
398
399 2003-12-04 Stuart Hastings <stuart@apple.com>
400
401 * rs6000.c (output_call, macho_branch_islands,
402 add_compiler_branch_island, no_previous_def, get_previous_label)
403 Revisions of xx_stub functions for branch islands,
404 add -fPIC support for Darwin.
405 * rs6000-protos.h (output_call) Prototype.
406 * rs6000.md Use output_call.
407 * invoke.texi Explain Darwin semantics of -longcall.
408 * testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
409
410 2003-12-04 Richard Henderson <rth@redhat.com>
411
412 * config/i386/i386.md (addqi3_carry): Use q not r constraints.
413 (subqi3_carry): Likewise.
414
415 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
416
417 PR optimization/13260
418 * sh-protos.h (sh_expand_t_scc): Declare.
419 * sh.h (PREDICATE_CODES): Add cmpsi_operand.
420 * sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
421 * sh.md (cmpsi): Use cmpsi_operand. If T_REG is compared to
422 something that is not a CONST_INT, copy it into a pseudo register.
423 (subc): Fix description of new T value.
424 (slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
425 (sltu, sleu, sgeu): Likewise.
426 (seq, sne): Likewise. Use sh_expand_t_scc.
427
428 2003-12-04 Nathanael Nerode <neroden@gcc.gnu.org>
429
430 * configure.in: Generalize the CONFIG_HEADERS pattern under which
431 we stamp cstamp-h.
432 * configure: Regenerate.
433
434 * configure.in: Pull AC_CHECK_HEADER call out of shell if statement
435 to avoid trouble when updating to autoconf 2.5x.
436 * configure: Regenerate (with autoconf 2.13 still).
437
438 2003-12-04 J"orn Rennecke <joern.rennecke@superh.com>
439
440 * sh.md (truncdiqi2): Use andi opcode for immediate.
441 (reload_outdf+1,reload_outdf+2): Remove constraints.
442 (movv16sf_i): Fxi multiplier for SUBREG_BYTE.
443 (movv8qi_i+2): Zero-extend low byte before adding it to high byte.
444 (fipr, ftrv): Add .s suffix to opcode.
445
446 2003-12-04 Richard Sandiford <rsandifo@redhat.com>
447
448 PR target/13186
449
450 Revert all of the following patch, except the addition of
451 hook_bool_machine_mode_true:
452
453 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
454
455 * Makefile.in (targhooks.o, reload.o): Update dependencies.
456 (GTFILES): Add targhooks.c.
457 (gt-targhooks.h): New rule; depend on s-gtype.
458 * target.h (direct_pool_load_p): New hook.
459 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
460 (TARGET_INITIALIZER): Include it.
461 * targhooks.h (default_direct_pool_load_p): Declare.
462 (hook_bool_machine_mode_true): Declare.
463 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
464 gt-targhooks.h.
465 (pool_symbol): New variable.
466 (default_direct_pool_load_p): New function.
467 (hook_bool_machine_mode_true): New function.
468 * reload.c: Include target.h.
469 (find_reloads): If an alternative will force a constant into memory,
470 count an extra reload if constant pool symbols are not valid
471 addresses. If an alternative uses memory to move values between
472 registers, count the move as two reloads rather than one.
473 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
474 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
475
476 2003-12-03 Mark Mitchell <mark@codesourcery.com>
477
478 * config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
479 * config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
480 HAVE_AS_TLS is true.
481 * config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
482
483 2003-12-03 James E Wilson <wilson@specifixinc.com>
484
485 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
486
487 * gcc-page.c (extra_order_size_tab): Correct comment.
488
489 2003-12-03 Kazu Hirata <kazu@cs.umass.edu>
490
491 * config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
492 instead of gen_push_h8300hs.
493 (pop): Call gen_pop_h8300hs_advanced instead of
494 gen_pop_h8300hs.
495 * config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
496 * config/h8300/h8300.md (*tablejump_h8300hs_advanced):
497 Tighten the predicate.
498 (*tablejump_h8300hs_normal): Tighten the predicate.
499 (push_h8300hs): Change to
500 push_h8300hs_advanced.
501 (pop_h8300hs): Change to pop_h8300hs_advanced.
502
503 2003-12-03 Eric Christopher <echristo@redhat.com>
504
505 * rtl.c: Fix typo.
506 * config/mips/mips.h: Ditto. Fix formatting.
507
508 2003-12-04 Ben Elliston <bje@wasabisystems.com>
509
510 * future.options: Remove. Move to gnu.org web pages.
511
512 2003-12-03 Eric Christopher <echristo@redhat.com>
513
514 * c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
515 from here...
516 * c-tree.h: to here.
517
518 2003-12-03 Jan Hubicka <jh@suse.cz>
519
520 PR optimization/12324
521 * toplev.c (rest_of_decl_compilation): Do not deffer when compiling
522 in unit-at-a-time mode.
523
524 2003-12-03 Jakub Jelinek <jakub@redhat.com>
525
526 * expr.c (store_constructor): Only set RTX_UNCHANGING_P for
527 read-only field if cleared is 0.
528
529 2003-12-03 Nathanael Nerode <neroden@gcc.gnu.org>
530
531 * config.gcc: Mark obsolete targets for GCC 3.4.
532
533 2003-12-03 Zack Weinberg <zack@codesourcery.com>
534
535 * aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
536 * config.in, configure.in: Regenerate.
537 * cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
538 including iconv.h.
539
540 2003-12-03 Alan Modra <amodra@bigpond.net.au>
541
542 PR target/11229
543 * cse.c (cse_insn): Set classp using src_const_elt if
544 src_eqv_elt is NULL.
545
546 2003-12-03 Richard Earnshaw <rearnsha@arm.com>
547
548 * gcse.c (reg_clear_last_set): New function.
549 (reg_set_info): If data is non-null, treat it as an sbitmap of
550 registers, set the bit for the register being set.
551 (compute_store_table): Allocate last_set_in with xcalloc. Do not
552 memset this array on each iteration. Pass reg_set_in_block[bb->index]
553 to note_stores while computing last_set_in instead of scanning
554 last_set_in after the first pass through the insns.
555 Clear last_set_in using reg_clear_last_set instead of explicitly
556 rescanning after each insn. If checking is enabled, assert that
557 last_set_in is completely zeroed after each bb has been processed.
558
559 2003-12-02 Geoffrey Keating <geoffk@geoffk.org>
560
561 * df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
562 never read-write.
563 <REG>: Delete incorrect comment.
564 <SET>: Remove 'use_flags' variable.
565
566 2003-12-03 David Edelsohn <edelsohn@gnu.org>
567
568 * function.c (assign_parms): Make sure parm PARALLEL combined
569 in reg is composed of more than one object and the mode really
570 produces a reg.
571
572 2003-12-03 Jan Hubicka <jh@suse.cz>
573
574 * i386.c (classify_argument): Make it 64bit clean.
575
576 2003-12-02 Richard Sandiford <rsandifo@redhat.com>
577
578 * config/mips/mips.c (mips_output_external): Replace checks for
579 specific builtin-in functions with a check for DECL_BUILTIN_IN.
580
581 2003-12-02 Richard Henderson <rth@redhat.com>
582
583 * rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
584 * tree.h (TREE_SET_CODE): Likewise.
585 * recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
586
587 2003-12-02 Ben Elliston <bje@wasabisystems.com>
588
589 * dbxstclass.h: Rename from this ..
590 * xcoff.h: .. to this.
591 * xcoffout.c: Include xcoff.h.
592
593 2003-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
594
595 * Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
596
597 2003-12-01 James Lemke <jim@wasabisystems.com>
598
599 * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
600
601 2003-12-01 Roger Sayle <roger@eyesopen.com>
602
603 PR optimization/11634
604 * recog.c (split_insn): Factor test of INSN_P and handling of
605 set_noop_p out of here into the two callers.
606 (split_all_insns): Add INSN_P test and set_noop_p handling here.
607 If deleting a no-op set after reload that has a REG_UNUSED note,
608 mark the basic block as changed and recalculate life information.
609 (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
610 here.
611
612 2003-12-01 Roger Sayle <roger@eyesopen.com>
613
614 PR optimization/12322
615 * gcse.c (struct ls_expr): Change type of hash_index from int to
616 unsigned int.
617 (hash_expr): Document hash_table_size parameter and wrap long line.
618 (ldst_entry): Calculate expression's hash_index and record in ptr.
619 (trim_ld_motion_mems): Use hash_index to search a single bucket
620 instead of scanning the entire hash_table. Remove the "del" local
621 variable and use the equivalent "expr == 0" instead. Change last
622 to be a pointer to the pointer to the current element, to simplify
623 and speed-up deleting from a linked list.
624
625 2003-12-01 James E Wilson <wilson@specifixinc.com>
626
627 * doc/contrib.texi: Update David Mosberger.
628
629 * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
630 of missing fields.
631
632 PR target/8407
633 * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
634 gen_rtx_REG to create new reg with argument mode.
635
636 2003-12-01 Steven Bosscher <stevenb@suse.de>
637
638 * ggc.h (struct alloc_zone): Move forward declaration up.
639 (new_ggc_zone): New function prototype.
640 (destroy_ggc_zone): Ditto.
641 * ggc-simple.c (new_ggc_zone): New function, does nothing.
642 (destroy_ggc_zone): Ditto.
643 * ggc-page.c (new_ggc_zone): New function, does nothing.
644 (destroy_ggc_zone): Ditto.
645 * ggc-zone.c (struct page_entry): Fix comment.
646 (ggc_alloc_typed): Use a switch statement instead of ifs.
647 (new_ggc_zone): New function to set up a new GC zone.
648 (destroy_ggc_zone): New function to remove a GC zone.
649 init_ggc): Use new_ggc_zone to set up the default zones.
650 (ggc_collect): Walk a list of zones, instead of just the
651 default zones. Report statistics using the zone name.
652
653 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
654
655 * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
656
657 2003-12-01 Roger Sayle <roger@eyesopen.com>
658
659 PR optimization/12628
660 * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
661 * regclass.c (reg_scan): Include allocate_reg_info time in
662 TV_REG_SCAN. Minor clean-ups.
663 (reg_scan_update): Minor clean-ups.
664
665 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
666
667 * config.gcc (s390x-ibm-tpf*): Add extra_parts.
668
669 2003-12-01 James E Wilson <wilson@specifixinc.com>
670
671 * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
672 GR_ARG_FIRST.
673
674 2003-12-01 Zack Weinberg <zack@codesourcery.com>
675
676 * common.opt: Remove -fgnu-linker.
677 * flags.h: Remove flag_gnu_linker.
678 * opts.c: Don't handle OPT_fgnu_linker.
679 * toplev.c: Don't initialize flag_gnu_linker.
680 Remove gnu-linker entry from f_options.
681 * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
682 Don't reset flag_gnu_linker.
683 * config/mips/mips.c (override_options): Likewise.
684 * doc/invoke.texi: Remove all mention of -fgnu-linker.
685
686 2003-12-01 Daniel Berlin <dberlin@dberlin.org>
687
688 * ggc-zone.c (ggc_pch_write_object): Calculate object size using
689 ggc_get_size (which accounts for large objects properly).
690
691 2003-12-01 Jeff Sturm <jsturm@one-point.com>
692
693 PR optimization/13024
694 * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
695 parameter.
696 (rest_of_handle_old_regalloc): Likewise. Add rebuild_notes
697 declaration. Rebuild jump labels following local_alloc if necessary.
698 (rest_of_compilation): Remove rebuild_label_notes_after_reload
699 declaration. Don't pass rebuild_notes parameter to
700 rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
701 Don't rebuild jump labels.
702
703 2003-12-01 Jeff Law <law@redhat.com>
704
705 * flow.c (count_or_remove_death_notes_bb): New. Extracted from
706 count_or_remove_death_notes.
707 (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
708
709 2003-12-01 Andreas Krebbel <krebbel1@de.ibm.com>
710
711 * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
712
713 2003-12-01 Ulrich Weigand <uweigand@de.ibm.com>
714
715 * reload.c (find_reloads_address): Split addresses of type
716 (plus (plus (reg) (reg)) (const_int)) only if one register
717 is either a valid base register or else one of the stack
718 frame related registers (sp/fp/ap).
719
720 2003-12-01 Steven Bosscher <stevenb@suse.de>
721
722 * function.c (update_epilogue_consts): Don't use PARAMS.
723 * rtl.h (web_main): Ditto.
724 * target.h (is_costly_dependence): Ditto
725
726 2003-12-01 Eric Botcazou <ebotcazou@libertysurf.fr>
727
728 PR middle-end/7847
729 * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
730 do not recheck that 'op0' is a MEM. Move comment. When testing for
731 unaligned objects, take also into account the alignment of 'op0' and
732 'mode1' if 'op0' is a MEM.
733
734 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
735
736 * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
737
738 2003-12-01 Kelley Cook <kcook@gcc.gnu.org>
739
740 * doc/install.texi: Note that fastjar is built with automake 1.7.x
741 and autoconf 2.57.
742
743 2003-12-01 Alan Modra <amodra@bigpond.net.au>
744
745 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
746 target_flags directly rather than using TARGET_* defines.
747
748 2003-11-30 Ben Elliston <bje@wasabisystems.com>
749
750 * doschk.c: Remove.
751
752 2003-11-30 Richard Sandiford <rsandifo@redhat.com>
753
754 PR target/12727
755 * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
756 on 32-bit big-endian targets.
757
758 2003-11-30 Kazu Hirata <kazu@cs.umass.edu>
759
760 * genemit.c (register_constraints): Remove.
761
762 2003-11-30 Andreas Krebbel <krebbel1@de.ibm.com>
763
764 * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
765 "iordi3"): Insns now use multiple letter constraints.
766 ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
767 covered by "*movdi_64".
768 ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
769 covered by "*movsi_zarch" and "*movsi_esa".
770 ("*movsi_zarch", "*movsi_!zarch"): New insns.
771 ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
772 by "*andsi3_zarch" and "anddi3".
773 ("*anddi3_ni"): Insn merged with "anddi3".
774 ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
775 ("*andsi3_zarch", "*andsi3_esa"): New insns.
776 ("*iordi3_oi"): Insn merged with "iordi3".
777 ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
778 ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
779
780 * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
781 merged to s390_single_part.
782 (s390_single_part): New function.
783 NOTE: Semantics have changed a bit. Now the value of the part must
784 be different from the others to get a non-negative return value.
785 (s390_extract_qi, s390_extract_hi): Functions merged to
786 s390_extract_part.
787 (s390_extract_part, s390_extra_constraint_str,
788 s390_const_ok_for_constraint_p): New functions. The L constraint got a
789 new meaning and the N constraint was added as a multiple letter
790 constraint.
791 (s390_extra_constraint): Function deleted.
792 (print_operand): New output modifier 'i' and 'j' added.
793 All uses of CONST_OK_FOR_LETTER_P were replaced by
794 CONST_OK_FOR_CONSTRAINT_P.
795
796 * config/s390/s390-protos.h: Function prototypes adapted.
797 * doc/md.texi: Documentation for new constraint letters added.
798
799 2003-11-30 Andreas Schwab <schwab@suse.de>
800
801 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
802
803 2003-11-29 James E Wilson <wilson@specifixinc.com>
804
805 * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
806 instead of in shared_name.
807
808 * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
809 * reload1.c (reload): Re-add it here.
810
811 2003-11-30 Alan Modra <amodra@bigpond.net.au>
812
813 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
814 set SECTION_WRITE on TARGET_RELOCATABLE.
815
816 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
817
818 * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
819
820 2003-11-28 Gunther Nikl <gni@gecko.de>
821
822 * config/m68k/m68k.c (MOTOROLA): Move from here...
823 * config/m68k/m68k.h (MOTOROLA): ... to here.
824 (OUTPUT_JUMP): Use do {...} while (0).
825 * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
826
827 2003-11-28 Gunther Nikl <gni@gecko.de>
828
829 * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
830 m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
831 MOTOROLA and USE_GAS.
832 * config/m68k/rtemself.h (MOTOROLA): Delete.
833 * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
834 * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
835
836 2003-11-29 Kazu Hirata <kazu@cs.umass.edu>
837
838 * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
839
840 2003-11-29 Kelley Cook <kcook@gcc.gnu.org>
841
842 * Makefile.in (install-info): Install gccinstall.info too.
843
844 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
845
846 * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
847
848 2003-11-29 Ulrich Weigand <uweigand@de.ibm.com>
849
850 * config/s390/s390.md ("movhi"): Do not emit extender pattern
851 when loading from a (MEM (ADDRESSOF ...)).
852 ("movqi"): Likewise.
853
854 2003-11-29 Joseph S. Myers <jsm@polyomino.org.uk>
855
856 PR c/10333
857 * c-parse.in (typespec_reserved_nonattr): Reject typeof on
858 bit-fields.
859
860 2003-11-29 Richard Sandiford <rsandifo@redhat.com>
861
862 * stmt.c (expand_asm_operands): Check whether force_const_mem
863 succeeded.
864
865 2003-11-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
866
867 * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
868 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
869
870 * config/alpha/gnu.h, config/alpha/linux.h,
871 config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
872 config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
873 config/i386/linux-aout.h, config/i386/linux.h,
874 config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
875 config/m68k/uclinux.h, config/mips/linux.h,
876 config/mn10300/linux.h, config/pa/pa-linux.h,
877 config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
878 config/sparc/linux.h, config/sparc/linux64.h,
879 config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
880 HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
881 all necessary assertions are included.
882
883 2003-11-28 Jan Hubicka <jh@suse.cz>
884
885 * emit-rtl.c (set_used_flags): New.
886 (verify_rtx_sharing, verify_rtl_sharing): New.
887 (unshare_all_rtl_1): Rename to....
888 (unshare_all_rtl_in_chain): ... this one; make static.
889 (copy_rtx_if_shared): LABEL_REF chan be shared.
890 * ifcvt.c (unshare_ifcvt_sequence): New.
891 (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
892 noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
893 noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
894 noce_try_abs, noce_process_if_block, find_cond_trap
895 * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
896 Declare.
897
898 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
899
900 * config/h8300/h8300.md: Fix a comment typo.
901
902 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
903
904 * config/h8300/h8300.md (*movsf_h8300h): Change to
905 *movsf_h8300hs.
906 (addsi_h8300): Change to *addsi_h8300.
907 (addsi_h8300h): Change to *addsi_h8300hs.
908 (subsi3_h8300): Change to *subsi3_h8300.
909 (subsi3_h8300h): Change to *subsi3_h8300hs.
910 (neghi2_h8300h): Change to *neghi2_h8300hs.
911 (negsi2_h8300h): Change to *negsi2_h8300hs.
912
913 2003-11-28 Kazu Hirata <kazu@cs.umass.edu>
914
915 * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
916 constraint.
917 (*subhi3_h8300hs): Likewise.
918
919 2003-11-28 David Edelsohn <edelsohn@gnu.org>
920
921 * config/rs6000/rs6000.h (MASK_MFCRF): New.
922 (TARGET_MFCRF): Test target_flags, not processor type.
923 (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
924 Change Don't to Do not.
925 * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
926 to power4, 970, G5.
927
928 2003-11-27 J"orn Rennecke <joern.rennecke@superh.com>
929
930 * cse.c (cse_set_around_loop): When changing a constant load
931 to a register -register copy, add a REG_EQUAL note.
932
933 2003-11-27 Randolph Chung <tausq@debian.org>
934 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
935
936 * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
937 insns. Use the regular call expander for the call to the profiler.
938 * pa.md (call_profiler): Delete.
939 (load_offset_label_address): New insn to load the address of the
940 current function for the profiler.
941 (lcla1, lcla2): New insns to output a code label and load its address.
942
943 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
944
945 * final.c (final_scan_insn): Remove commented-out code.
946
947 2003-11-27 Nathanael Nerode <neroden@gcc.gnu.org>
948
949 * doc/install.texi: Remove ADAC reference and make accurate.
950
951 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
952
953 * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
954 (FUNCTION_VALUE_REGNO_P): Likewise.
955 * config/h8300/h8300.md: Define R0_REG.
956
957 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
958
959 * config/h8300/h8300.c: Fix formatting.
960 * config/h8300/h8300.md: Likewise.
961
962 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
963
964 * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
965
966 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
967
968 * config/h8300/h8300.md: Give names to anonymous insns.
969
970 2003-11-27 Kazu Hirata <kazu@cs.umass.edu>
971
972 * config/h8300/h8300.md (extendqisi2): Remove constraints.
973
974 2003-11-27 Gunther Nikl <gni@gecko.de>
975
976 * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
977
978 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
979
980 PR optimization/13041
981 * final.c (frame_pointer_needed): Fix comment.
982 * reload1.c (reload): Decrease alignment of the frame
983 pointer if it was used for register allocation.
984
985 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
986
987 PR target/12900
988 * reg-stack (move_for_stack_reg): New prototype. Return
989 whether a control flow insn was deleted.
990 (subst_stack_regs_pat): Likewise, using the information provided
991 by move_for_stack_reg.
992 (subst_stack_regs): Likewise, using the information provided
993 by subst_stack_regs_pat.
994 (convert_regs_1): Record whether a control flow insn was deleted,
995 using the information provided by subst_stack_regs. Purge dead
996 edges only if a control flow insn was deleted.
997
998 2003-11-27 Eric Botcazou <ebotcazou@libertysurf.fr>
999
1000 PR middle-end/8028
1001 PR middle-end/9890
1002 PR middle-end/11151
1003 PR middle-end/12210
1004 PR middle-end/12503
1005 PR middle-end/12692
1006 * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
1007 as the base address to copy the memory arguments to.
1008
1009 2003-11-26 Danny Smith <dannysmith@users.sourceforge.net>
1010
1011 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
1012 function aliases as functions.
1013
1014 2003-11-26 Nathanael Nerode <neroden@gcc.gnu.org>
1015
1016 * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
1017 of ADAC.
1018 * configure: Regenerate.
1019
1020 * Makefile.in: Remove references to ADAC.
1021
1022 * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
1023 * configure: Regenerate.
1024
1025 2003-11-26 Eric Botcazou <ebotcazou@libertysurf.fr>
1026 Olivier Hainque <hainque@act-europe.fr>
1027
1028 PR target/6466
1029 * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
1030 (sparc_flat_compute_frame_size): Likewise.
1031 (sparc_flat_save_restore): Move prototype...
1032 * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
1033 (save_regs): New prototype.
1034 (build_big_number): Likewise.
1035 (apparent_fsize): Change type to HOST_WIDE_INT.
1036 (actual_fsize): Likewise.
1037 (frame_base_offset): Likewise.
1038 (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
1039 Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1040 [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
1041 to load a 64-bit constant.
1042 (sparc_nonflat_function_prologue): Change string descriptor to
1043 HOST_WIDE_INT_PRINT_DEC. Change offset type to HOST_WIDE_INT.
1044 (output_restore_regs): Change offset type to HOST_WIDE_INT.
1045 (sparc_nonflat_function_epilogue): Change string descriptor to
1046 HOST_WIDE_INT_PRINT_DEC. Use build_big_number.
1047 (output_sibcall): Change size type to HOST_WIDE_INT. Use
1048 build_big_number. Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
1049 (sparc_frame_info): Change types for several components.
1050 (sparc_flat_compute_frame_size): Update types according to previous
1051 change.
1052 (sparc_flat_function_prologue): Change string descriptor to
1053 HOST_WIDE_INT_PRINT_DEC. Change offset type to int. Use
1054 build_big_number.
1055 (sparc_flat_function_epilogue): Change offset type to int.
1056 Rename 'size1' into 'reg_offset1'. Change string descriptor to
1057 HOST_WIDE_INT_PRINT_DEC. Use build_big_number. Change big number
1058 limit to 4096 instead of 4095.
1059
1060 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
1061 HOST_WIDE_INT.
1062
1063 2003-11-24 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1064
1065 * function.c: Make outer_function-chain external.
1066 * function.h: Likewise.
1067
1068 2003-11-24 Richard Sandiford <rsandifo@redhat.com>
1069
1070 * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
1071 using GNU ld.
1072 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
1073 whole of the previous STARTFILE_SPEC except crtbegin.o%s.
1074 (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
1075 (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
1076 (SUBTARGET_EXTRA_SPECS): Define.
1077 * config/mips/iris6gld.h (LINK_SPEC): Change -init function
1078 to __gcc_init and -fini function to __gcc_fini.
1079 (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
1080 (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
1081 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
1082 * config/mips/t-iris6gld,
1083 * config/mips/irix6-crti.asm,
1084 * config/mips/irix6-crtn.asm: New files.
1085
1086 2003-11-24 Eric Christopher <echristo@redhat.com>
1087
1088 PR C/13014
1089 * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
1090 (start_function): Use.
1091 (c_push_function_context): Ditto.
1092 (c-pop_function_context): Ditto.
1093 (language_function): Move...
1094 * c-tree.h: ... here. Add x_in_iteration_stmt, and
1095 x_in_case_stmt.
1096 * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
1097 c_in_iteration_stmt, c_in_case_stmt for parser state. Move
1098 check for valid break or continue statment here...
1099 * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
1100 here. Change original errors to abort.
1101
1102 2003-11-24 Jan Hubicka <jh@suse.cz>
1103
1104 * fold-const.c (fold): Do not return early when optimizing
1105 COMPONENT_REF and constant.
1106
1107 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1108
1109 * config/h8300/h8300.md (tablejump_h8300): Change to
1110 *tablejump_h8300.
1111 (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
1112 (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
1113 (indirect_jump_h8300): Change to *indirect_jump_h8300.
1114 (indirect_jump_h8300h): Change to
1115 *indirect_jump_h8300hs_advanced.
1116 (indirect_jump_normal_mode): Change to
1117 *indirect_jump_h8300hs_normal.
1118
1119 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1120
1121 * config/h8300/h8300.md: Remove constraints from expanders.
1122
1123 2003-11-24 Kazu Hirata <kazu@cs.umass.edu>
1124
1125 * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
1126 stm_h8300s_2_advanced.
1127 (stm_h8300s_2_normal): New.
1128 (stm_h8300s_2): Likewise.
1129 (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
1130 (stm_h8300s_3_normal): New.
1131 (stm_h8300s_3): Likewise.
1132 (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
1133 (stm_h8300s_4_normal): New.
1134 (stm_h8300s_4): Likewise.
1135 (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
1136 (ldm_h8300s_2_normal): New.
1137 (ldm_h8300s_2): Likewise.
1138 (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
1139 (ldm_h8300s_3_normal): New.
1140 (ldm_h8300s_3): Likewise.
1141 (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
1142 (ldm_h8300s_4_normal): New.
1143 (ldm_h8300s_4): Likewise.
1144 (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
1145 (two peephole2's): New.
1146
1147 2003-11-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1148
1149 * genattrtab.c (simplify_cond): Update indices correctly.
1150 (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
1151 attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
1152 (check_attr_test, encode_units_mask, compute_alternative_mask,
1153 make_alternative_compare, simplify_and_tree,
1154 attr_rtx_cost, simplify_test_exp, gen_attr,
1155 write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
1156 * rtl.def (EQ_ATTR_ALT): New.
1157
1158 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1159
1160 * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
1161 (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
1162 New variables.
1163 (main): Initialize them.
1164 (find_attr): Canonicalize the attribute name string.
1165 (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
1166 string arguments.
1167 (attr_printf, attr_eq): Use DEF_ATTR_STRING.
1168 (check_attr_test, check_attr_value, make_length_attrs,
1169 write_length_unit_log, simplify_by_exploding, gen_attr,
1170 write_test_expr, write_attr_value, write_eligible_delay,
1171 write_complex_function, make_internal_attr,
1172 write_const_num_delay_slots): Changed due to change of type of
1173 find_attr.
1174 (fill_attr, evaluate_eq_attr, simplify_and_tree,
1175 attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
1176 strcmp_check.
1177
1178 2003-11-23 Kazu Hirata <kazu@cs.umass.edu>
1179
1180 PR target/13122
1181 * config/h8300/h8300.c (push): Call push_h8300hs_normal in
1182 normal mode.
1183 (pop): Call pop_h8300hs_normal in normal mode.
1184 * config/h8300/h8300.md: Likewise.
1185 (pushqi1_h8300hs_normal): New.
1186 (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
1187 (pushhi1_h8300hs_normal): New.
1188 (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
1189 (push_h8300hs_normal): New.
1190 (pop_h8300hs_normal): Likewise.
1191
1192 2003-11-23 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1193
1194 * genattrtab.c (count_sub_rtxs): Removed.
1195
1196 2003-11-23 Richard Earnshaw <rearnsha@arm.com>
1197
1198 * recog.c (preprocess_constraints): Only zero those elements of
1199 recog_op_alt that are needed for this insn.
1200 * arm.c (note_invalid_constants): A function can't contain invalid
1201 constants if it has no constraints.
1202
1203 2003-11-22 Jan Hubicka <jh@suse.cz>
1204
1205 * i386.c (classify_argument): Pass __float128 in memory.
1206 (ix86_return_in_memory): Likewise.
1207 (ix86_libcall_value): Likewsie.
1208
1209 2003-11-22 Kazu Hirata <kazu@cs.umass.edu>
1210
1211 * config/h8300/h8300.c (dosize): Convert to ISO-C.
1212
1213 2003-11-22 J"orn Rennecke <joern.rennecke@superh.com>
1214
1215 * flow.c (update_life_info): Amend comment about when a register
1216 can become dead.
1217
1218 2003-11-21 Kelley Cook <kcook@gcc.gnu.org>
1219
1220 * doc/.cvsignore: Delete.
1221
1222 2003-11-21 Daniel Berlin <dberlin@dberlin.org>
1223 David Edelsohn <edelsohn@gnu.org>
1224
1225 * dwarf2out.c (add_location_or_const_value_attribute): Add support
1226 for PARALLEL.
1227
1228 2003-11-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1229
1230 * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
1231 (TARGET_LIBGCC2_CFLAGS): Define.
1232
1233 * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
1234 (__do_global_ctors): Likewise.
1235
1236 2003-11-21 Mark Wielaard <mark@klomp.org>
1237
1238 * doc/invoke.texi (-O2): Doesn't enable -fweb.
1239
1240 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1241
1242 * doc/invoke.texi: Mention dV and dZ.
1243
1244 2003-11-21 Kazu Hirata <kazu@cs.umass.edu>
1245
1246 * doc/invoke.texi: Update dump file names.
1247 Remove de, dW, and dX.
1248
1249 2003-11-20 James E Wilson <wilson@specifixinc.com>
1250
1251 PR c/13133
1252 * reload1.c (reload): Delete special handling for setjmp.
1253
1254 2003-11-21 Andreas Tobler <a.tobler@schweiz.ch>
1255
1256 * mklibgcc.in: Evaluate shlib_slibdir_qual during link
1257 step too.
1258 * config/t-slibgcc-darwin: Adjust install path.
1259 * config/rs6000/t-darwin: Revert multilib matches since
1260 it is not used on darwin.
1261
1262 2003-11-20 Richard Henderson <rth@redhat.com>
1263
1264 * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
1265 * Makefile.in (OBJS-common, GTFILES): Don't reference them.
1266 (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
1267 (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
1268 * flow.c: Don't include ssa.h.
1269 (set_phi_alternative_reg): Remove.
1270 (calculate_global_regs_live): Don't call it.
1271 (mark_used_regs): Don't handle PHI.
1272 * gengtype.c (open_base_files): Don't reference ssa.h.
1273 * rtl.def (PHI): Remove.
1274 * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
1275 * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
1276 * opts.c (common_handle_option): Likewise.
1277 * toplev.c (f_options): Likewise.
1278 (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
1279 (dump_file): Update to match.
1280 (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
1281 (rest_of_handle_ssa): Remove.
1282 (rest_of_compilation): Don't call it.
1283 * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
1284 * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
1285 * doc/passes.texi (SSA optimizations): Remove.
1286
1287 2003-11-20 Bob Wilson <bob.wilson@acm.org>
1288
1289 * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
1290 * configure: Regenerate.
1291
1292 2003-11-20 Kelley Cook <kcook@gcc.gnu.org>
1293
1294 * Makefile.in (Makefile): Pass along CONFIG_SHELL.
1295
1296 2003-11-20 David Mosberger <davidm@hpl.hp.com>
1297
1298 * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
1299 (SHLIB_LC): Define.
1300 * unwind-libunwind.c (_Unwind_GetCFA): Implement.
1301 (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
1302
1303 2003-11-20 Fariborz Jahanian <fjahanian@apple.com>
1304 David Edelsohn <edelsohn@gnu.org>
1305
1306 * calls.c (expand_call): Allocate new temp in pass1.
1307 (store_one_arg): If PARALLEL, calculate excess using mode size of
1308 rtvec elt.
1309 * expr.c (emit_push_insn): If PARALLEL, calculate offset using
1310 mode size of rtvec elt.
1311 * function.c (assign_parms): Use parm in register, if available.
1312
1313 2003-11-20 Kazu Hirata <kazu@cs.umass.edu>
1314
1315 * config/h8300/lib1funcs.asm (MOVP): Remove.
1316 (ADDP): Likewise.
1317 (CMPP): Likewise.
1318
1319 2003-11-20 Richard Earnshaw <rearnsha@arm.com>
1320
1321 * arm.c (use_return_insn): New argument, SIBLING. Support returning
1322 with a single instruction if the stack has been decremented by 4
1323 and we have a frame pointer. Update all callers.
1324 (output_return_instruction): Likewise.
1325 (arm_output_epilogue): Change argument to SIBLING. Calculate
1326 really_return from the new argument. Update all callers.
1327 * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
1328 * arm.md (sibcall_epilogue): Call use_return_insn directly, and
1329 pass the sibling call.
1330 * arm-protos.h (use_return_insn, arm_output_epilogue): Update
1331 prototypes.
1332
1333 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
1334
1335 * Makefile.in (extraclean): Delete.
1336 * configure.in (target_list): Remove extraclean.
1337 * configure: Regenerate.
1338 * doc/makefile.texi, doc/sourcebuild.texi: Update.
1339 * objc/Make-lang.in (objc.extraclean): Delete.
1340
1341 2003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
1342
1343 * Makefile.in (lang_checks): Add.
1344 (check-c++, check-f77, check-java, check-g++, check-g77,
1345 check-objc): Remove hardcoded targets.
1346 * doc/sourcebuild.texi: Document testsuite hooks.
1347 * objc/Make-lang.in (check-objc, lang_checks): Add.
1348
1349 2003-11-19 Scott Snyder <snyder@fnal.gov>
1350
1351 PR target/13131
1352 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
1353 flag, not a constant.
1354
1355 2003-11-19 Kelley Cook <kcook@gcc.gnu.org>
1356
1357 * config/arc/arc-protos.h: Update to C90 prototypes.
1358 * config/arc/arc.c: Likewise.
1359 * config/arc/initfini.c: Likewise.
1360
1361 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
1362
1363 * stmt.c (expand_goto): Memory clobbers added.
1364
1365 2003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
1366
1367 * reload.c (find_reloads): Added missing type casts.
1368
1369 2003-11-19 James E Wilson <wilson@specifixinc.com>
1370
1371 * combine.c (sets_function_arg_p): Delete unused function.
1372
1373 2003-11-19 Eric Christopher <echristo@redhat.com>
1374
1375 * reload1.c (reload): Revert 2 previous checkins.
1376
1377 2003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
1378
1379 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
1380 whether directive begins at the beginning of a line.
1381
1382 2003-11-19 Richard Sandiford <rsandifo@redhat.com>
1383
1384 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
1385
1386 2003-11-19 Gerald Pfeifer <gp@suse.de>
1387
1388 * doc/install.texi (Specific): Remove information on old versions
1389 of glibc versus old versions of GCC.
1390
1391 2003-11-19 Richard SAndiford <rsandifo@redhat.com>
1392
1393 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
1394 the register lowpart is a TRULY_NOOP_TRUNCATION.
1395
1396 2003-11-19 Richard Henderson <rth@redhat.com>
1397
1398 * config/i386/i386.c (print_reg): Handle QI and HI modes for
1399 non Q regs.
1400
1401 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
1402
1403 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
1404 specification file.
1405 * config/t-slibgcc-darwin: New file, libgcc build specification.
1406 * config/t-darwin: Add libgcc2 flag -fPIC.
1407 * config/rs6000/t-darwin: Multilib matches float.
1408 * libgcc-darwin.ver: New file, contains libgcc symbols.
1409
1410 2003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
1411
1412 * config/ns32k/ns32k.h: Remove obsolete comment.
1413
1414 2003-11-18 Roger Sayle <roger@eyesopen.com>
1415
1416 PR middle-end/11821
1417 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
1418 size for calls to libgcc's div & mod subroutines when using -Os.
1419
1420 2003-11-18 Jan Hubicka <jh@suse.cz>
1421
1422 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
1423
1424 2003-11-18 Marc Espie <espie@openbsd.org>
1425
1426 * config/rs6000/sysv4.h: OpenBSD hooks.
1427
1428 2003-11-18 Richard Henderson <rth@redhat.com>
1429
1430 * expr.c (expand_expr): Don't look through constant arrays if
1431 they don't bind locally.
1432
1433 2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1434
1435 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
1436 when seeing if truncation or extension.
1437
1438 2003-11-17 Eric Christopher <echristo@redhat.com>
1439
1440 * reload1.c (reload): Fix previous change.
1441
1442 2003-11-17 Scott Snyder <snyder@fnal.gov>
1443
1444 PR debug/11325
1445 * dwarf2out.c (struct die_struct): Add die_definition field.
1446 (add_AT_specification): New.
1447 (gen_subprogram_die, gen_variable_die,
1448 gen_struct_or_union_type_die): Use it.
1449 (prune_unused_types_mark): If we're marking a forward declaration,
1450 also mark the full definition, if it exists.
1451
1452 2003-11-16 Nick Clifton <nickc@redhat.com>
1453
1454 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
1455 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
1456 Remove prototype.
1457 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
1458 to xstormy16_build_builtin_va_list and make static.
1459 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
1460
1461 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1462
1463 * config/h8300/h8300-protos.h: Add the prototype for
1464 same_cmp_following_p.
1465 * config/h8300/h8300.c (same_cmp_following_p): New.
1466 * config/h8300/h8300.md (peephole2): Use it.
1467
1468 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1469
1470 * config/h8300/h8300.md: Don't use REGNO when its operand is
1471 not guaranteed to be a REG.
1472
1473 2003-11-16 Richard Sandiford <rsandifo@redhat.com>
1474
1475 * Makefile.in (expr.o): Depend on $(TARGET_H).
1476 * target.h (return_in_msb): New target hook.
1477 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
1478 (TARGET_CALLS): Include it.
1479 * calls.c (shift_returned_value): New function.
1480 (expand_call): Use it.
1481 * expr.c: Include target.h.
1482 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
1483 deciding what padding is needed. Change the name of the local
1484 padding variable from big_endian_correction to padding_correction.
1485 * stmt.c (shift_return_value): New function.
1486 (expand_return): Use it. Adjust memory->register copy in the same
1487 way as copy_blkmode_from_reg. Only change the return register's
1488 mode if it was originally BLKmode.
1489 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
1490 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
1491 (mips_fpr_return_fields): New, split out from mips_function_value.
1492 (mips_return_in_msb, mips_return_fpr_pair): New functions.
1493 (mips_function_value): Rework to use the functions above.
1494 * config/mips/irix6-libc-compat.c: Delete.
1495 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
1496
1497 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1498
1499 * doc/install.texi (--enable-checking): Update valgrind's URL.
1500
1501 2003-11-16 Kazu Hirata <kazu@cs.umass.edu>
1502
1503 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
1504 with -2147483647 - 1.
1505
1506 2003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
1507
1508 Fix links in online manuals.
1509 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
1510 (Precompiled Headers): @pxref to cpp, not cpp.info.
1511
1512 2003-11-16 Jason Merrill <jason@redhat.com>
1513
1514 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
1515 files in each directory and TAGS files that include them for each
1516 front end.
1517
1518 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
1519
1520 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
1521 3 of S2L.
1522 (modnorm): Likewise.
1523 (exitdiv): Look at bit 3 of S2L only.
1524
1525 2003-11-15 Kazu Hirata <kazu@cs.umass.edu>
1526
1527 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
1528 (DO_GLOBAL_DTORS_BODY): Likewise.
1529
1530 2003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
1531
1532 * doc/install.texi (Prerequisites): Refine documentation of
1533 autoconf, automake and perl requirements. Document required
1534 gettext version.
1535
1536 <2003-11-14 Jason Merrill <jason@redhat.com>
1537
1538 * function.c (assign_parms): Use TREE_TYPE to determine the real
1539 type of the argument object.
1540
1541 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1542
1543 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
1544 iteration.
1545
1546 2003-11-14 Fariborz Jahanian <fjahanian@apple.com>
1547
1548 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
1549 New routine to save vararg registers on stack. Support for
1550 -mpowerpc64 in mixed mode.
1551
1552 2003-11-14 Bernardo Innocenti <bernie@develer.com>
1553
1554 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
1555 for MOTOROLA versus MIT syntax. Improves readability and provides
1556 better compile-time error checking for both code paths.
1557
1558 2003-11-14 Kelley Cook <kcook@gcc.gnu.org>
1559
1560 * config/frv/frv-protos.h: Update for C90.
1561 * config/frv/frv.h: Likewise.
1562 * config/frv/frvbegin.c: Likewise.
1563 * config/frv/frv.c: Likewise.
1564 (frv_adjust_field_align): Delete unused variable.
1565
1566 2003-11-14 Geoffrey Keating <geoffk@apple.com>
1567
1568 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
1569 to each place where TARGET_LONG_DOUBLE_128 is used with
1570 DEFAULT_ABI == ABI_AIX.
1571
1572 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
1573 message comply with GNU standards.
1574
1575 2003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1576
1577 PR/6552
1578 * function.c (struct epi_info): New field const_equiv.
1579 (update_epilogue_consts): New function.
1580 (keep_stack_depressed): Clear new field and verify scratch register
1581 doesn't have it set.
1582 Call new function via note_stores.
1583 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
1584 Allow PLUS where second operand is register known set to constant.
1585 (emit_equiv_load): Write load using proper mode if source different.
1586 * config/mips/mips.md (return_internal): Put (return) first.
1587
1588 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1589
1590 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
1591
1592 2003-11-14 Kazu Hirata <kazu@cs.umass.edu>
1593
1594 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
1595 registers.
1596 (divsi3): Likewise.
1597 (reti): Don't restore unused registers.
1598
1599 2003-11-14 Nick Clifton <nickc@redhat.com>
1600
1601 * config/fr30/fr30.c: Include toplev.h
1602
1603 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
1604
1605 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1606
1607 2003-11-14 Richard Earnshaw <rearnsha@arm.com>
1608
1609 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
1610 function definition syntax.
1611
1612 2003-11-14 Eric Christopher <echristo@redhat.com>
1613
1614 * reload1.c (reload): Revert previous patch. Make
1615 check for assignment into reg_equiv_address stricter.
1616
1617 2003-11-14 Arnaud Charlet <charlet@act-europe.fr>
1618
1619 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1620
1621 2003-11-14 Richard Sandiford <rsandifo@redhat.com>
1622
1623 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1624 section names.
1625
1626 2003-11-14 Jason Merrill <jason@redhat.com>
1627
1628 PR middle-end/12526
1629 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1630 * calls.c (call_expr_flags): New fn.
1631 * tree.h: Declare it.
1632
1633 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1634
1635 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1636 (divmodsi3): Change the name to ___udivsi3.
1637 Update all callers.
1638
1639 2003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1640
1641 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1642 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1643 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1644 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1645 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1646 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1647 Const-ify and/or initialize automatic variables at declaration.
1648
1649 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1650
1651 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1652 of er4 with er3. Adjust all callers.
1653
1654 2003-11-13 Andrew Pinski <apinski@apple.com>
1655
1656 * config/darwin.c (machopic_output_possible_stub_label):
1657 Allow stub symbol be not defined when outputting possible
1658 stub label.
1659
1660 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1661
1662 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1663 instead of exitdiv.
1664 (___umodsi3): Likewise.
1665 (exitdiv): Do not restore any register.
1666 (reti): Restore registers.
1667
1668 2003-11-13 Steven Bosscher <stevenb@suse.de>
1669
1670 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1671
1672 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1673
1674 * config/h8300/lib1funcs.asm: Fix comment typos.
1675
1676 2003-11-13 Kazu Hirata <kazu@cs.umass.edu>
1677
1678 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1679 unused registers. Don't jump to exitdiv.
1680 (umodsi3): Likewise.
1681
1682 2003-11-13 Mark Mitchell <mark@codesourcery.com>
1683 Kean Johnston <jkj@sco.com>
1684
1685 PR c/13029
1686 * toplev.c (check_global_declarations): Do not warn about unused
1687 static consts.
1688
1689 2003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
1690 Kazu Hirata <kazu@cs.umass.edu>
1691
1692 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
1693 the approximate quotient method.
1694
1695 2003-11-13 Richard Earnshaw <rearnsha@arm.com>
1696
1697 * combine.c (distribute_notes): When re-distributing the notes from
1698 an insn we are about to delete, ensure we can't end up with a cyclic
1699 list of notes.
1700
1701 2003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1702
1703 PR optimization/12926
1704 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
1705 the UNCHANGING_RTX_P flag on memory references to read-only
1706 components that are not addressable.
1707
1708 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1709
1710 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
1711 DenHighNonZero.
1712
1713 2003-11-13 Jan Hubicka <jh@suse.cz>
1714
1715 PR opt/12275
1716 * c-decl.c (finish_decl): Use change_decl_assembler_name.
1717 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
1718 * varasm.c (make_decl_rtl): Likewise.
1719 * cgraph.c (change_decl_assembler_name): New function.
1720 * tree.h (set_decl_assembler_name): Kill dead declaration.
1721 (change_decl_assembler_name): Declare.
1722
1723 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1724 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1725
1726 2003-11-12 Kazu Hirata <kazu@cs.umass.edu>
1727
1728 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
1729 an unused register.
1730
1731 2003-11-12 Richard Sandiford <rsandifo@redhat.com>
1732
1733 PR bootstrap/12752
1734 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
1735 (MULTILIB_OSDIRNAMES): Reorder accordingly.
1736
1737 2003-11-12 Janis Johnson <janis187@us.ibm.com>
1738
1739 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
1740 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
1741 (rs6000_emit_eh_reg_restore): Add
1742 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
1743 of vars_size and total_size to HOST_WIDE_INT.
1744 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
1745 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
1746 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
1747 values.
1748 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
1749 (rs6000_initial_elimination_offset): New, with code formerly in
1750 INITIAL_ELIMINATION_OFFSET.
1751 * rs6000.h (rs6000_stack_t): Remove.
1752 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
1753 rs6000_initial_elimination_offset.
1754 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
1755 rs6000_emit_eh_reg_restore.
1756
1757 2003-11-12 Mike Stump <mrs@apple.com>
1758
1759 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
1760 is the argumnt we are processing so that warnings and errors
1761 will have that information.
1762 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
1763 * lang-hooks-def.h
1764 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
1765 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
1766 * langhooks.h (convert_parm_for_inlining): Likewise.
1767 * tree-inline.c (initialize_inlined_parameters): Compute and
1768 pass argnum down.
1769
1770 2003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
1771 Roger Sayle <roger@eyesopen.com>
1772
1773 PR optimization/12953
1774 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
1775 before switch by FUNCTION_CODE.
1776
1777 2003-11-12 Richard Earnshaw <rearnsha@arm.com>
1778
1779 * arm.md (storehi): Avoid use of explicit subreg.
1780 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
1781
1782 2003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
1783
1784 * config/sh/sh.md (prefetch): New pattern.
1785
1786 2003-11-11 Eric Christopher <echristo@redhat.com>
1787
1788 * reload1.c (reload): Verify that addresses for
1789 reg_equiv_* are valid for the architecture.
1790
1791 2003-11-11 Eric Christopher <echristo@redhat.com>
1792
1793 * function.c (purge_addressof_1): Add libcall check.
1794 Remove test for cached replacements on fallback case.
1795 Simplify mode comparisons. Add libcall test for
1796 paradoxical subregs.
1797
1798 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1799
1800 * config/h8300/t-h8300: Fix an obsolete comment.
1801
1802 2003-11-11 James E Wilson <wilson@specifixinc.com>
1803
1804 * expmed.c (store_bit_field, extract_bit_field): Revert last two
1805 changes.
1806
1807 2003-11-11 Kazu Hirata <kazu@cs.umass.edu>
1808
1809 * config/h8300/lib1funcs.asm: Replace DenHighZero with
1810 DenHighNonZero.
1811
1812 2003-11-11 Jan Hubicka <jh@suse.cz>
1813
1814 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
1815 really_no_inline.
1816
1817 2003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1818
1819 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
1820 generating 64-bit code.
1821
1822 2003-11-10 David Edelsohn <edelsohn@gnu.org>
1823
1824 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
1825 accidental commit in previous change.
1826
1827 2003-11-10 Fariborz Jahanian <fjahanian@apple.com>
1828
1829 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
1830 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
1831 address recognition.
1832 (macho_lo_sum_memory_operand): Routine to recognize macho-style
1833 address recognition.
1834
1835 2003-11-10 Richard Henderson <rth@redhat.com>
1836
1837 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
1838
1839 2003-11-10 Matt Austern <austern@apple.com>
1840
1841 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
1842 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
1843 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
1844 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
1845 darwin_assemble_visibility instead of default.
1846
1847 2003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1848
1849 PR target/12865
1850 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
1851 __enable_execute_stack only after writing onto the stack.
1852 (sparc64_initialize_trampoline): Likewise.
1853
1854 2003-11-09 Roger Sayle <roger@eyesopen.com>
1855
1856 * loop.c (check_dbra_loop): Try swapping the comparison operands
1857 of the loop condition to identify a suitable induction variable.
1858 * unroll.c (loop_iterations): Likewise.
1859
1860 2003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1861
1862 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
1863 sparc64 #cpu and #machine assertions.
1864
1865 2003-11-09 Richard Henderson <rth@redhat.com>
1866
1867 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
1868
1869 2003-11-09 Jan Hubicka <jh@suse.cz>
1870
1871 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
1872
1873 * cgraphunit.c (cgraph_expand_function): Use
1874 cgraph_possibly_inlined_p.
1875 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
1876
1877 * opts.c (common_handle_option): Do not set max-inline-insns.
1878 * params.def: Update comments.
1879 (PARAM_MAX_INLINE_INSNS): Kill.
1880 * invoke.texi (max-inline-insns): Kill.
1881
1882 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1883
1884 PR c/3190
1885 PR c/8714
1886 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
1887 * invoke.texi: Update.
1888
1889 2003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1890
1891 PR optimization/12630
1892 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
1893 Handle length computation 64-bit moves.
1894 (compute_clrstr_length, output_block_clear): Implement block clear.
1895 (output_block_move): Handle 64-bit moves.
1896 (pa_adjust_insn_length): Use compute_movstr_length and
1897 compute_clrstr_length.
1898 * pa.md (movstrsi): Revise operand order and comments. Don't use
1899 match_scratch.
1900 (movstrsi_internal): Delete.
1901 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
1902 and peephole2 patterns to transform prereload to postreload form.
1903 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
1904 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
1905 clrstrdi_postreload): New patterns for 64-bit block move, and block
1906 clear.
1907 * pa-protos.h (output_block_clear): New prototype.
1908
1909 2003-11-08 Andreas Schwab <schwab@suse.de>
1910
1911 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
1912 XCOFF_DEBUGGING_INFO.
1913
1914 2003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1915
1916 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
1917
1918 2003-11-07 Geoffrey Keating <geoffk@apple.com>
1919
1920 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
1921 redundant parens.
1922
1923 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
1924 (find_file_in_dir): Likewise.
1925 (_cpp_find_file): Print message if no header file is found
1926 but an invalid PCH file was.
1927
1928 2003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
1929
1930 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1931 expressions as lvalues.
1932 (internal_build_compound_expr): Remove special handling for
1933 non-pedantic case.
1934 * doc/extend.texi: Document that all extended lvalues are now
1935 deprecated.
1936
1937 2003-11-07 Geoffrey Keating <geoffk@apple.com>
1938
1939 PR 11654
1940 * dbxout.c (struct dbx_file): Do not save for PCH.
1941 (current_file): Likewise.
1942 (dbxout_init): Don't allocate struct dbx_file using GC.
1943 (dbxout_start_source_file): Likewise.
1944
1945 2003-11-07 Falk Hueffner <falk@debian.org>
1946
1947 * config/alpha/elf.h, config/alpha/unicosmk.h,
1948 config/alpha/vms.h: Convert to ISO C90.
1949
1950 2003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
1951
1952 * config/arm/pe.h: Convert to ISO C90.
1953
1954 2003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
1955
1956 * sh-protos.h (sh_pch_valid_p): Declare.
1957 * sh.c ("intl.h"): Include.
1958 (TARGET_PCH_VALID_P): Override.
1959 (sh_target_switches): New variable.
1960 (target_switches): Define.
1961 (sh_pch_valid_p): New function.
1962
1963 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1964
1965 2003-11-07 Jan Hubicka <jh@suse.cz>
1966
1967 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
1968 (x86_64_zero_extended_value): likewise.
1969
1970 2003-11-07 Richard Sandiford <rsandifo@redhat.com>
1971
1972 * config/mips/mips.md (loadgp): Take $25 as a second operand.
1973 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1974
1975 2003-11-06 Matt Austern <austern@apple.com>
1976
1977 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1978 field instead of hanging an attribute object off the decl.
1979 * tree.h (DECL_VISIBLITY): New accessor macro for
1980 symbol_visibility field in struct tree_decl.
1981 (enum symbol_visibility): Move definition to before tree_decl.
1982 (struct tree_decl): Define new two-bit field, symbol_visibility.
1983 (decl_visibility): Remove declaration.
1984 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1985 instead of decl_visibility.
1986 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
1987 decl_visibility.
1988 (decl_visibility): Remove.
1989
1990 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
1991
1992 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1993 where register 14 will be saved.
1994
1995 2003-11-06 Geoffrey Keating <geoffk@apple.com>
1996
1997 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1998 (USE_ALTIVEC_FOR_ARG_P): Likewise.
1999 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
2000 Take a pointer as the CUM parameter. Update callers.
2001 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
2002 32-bit ABIs.
2003 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
2004 of vector parameters as named arguments of stdarg function.
2005 (function_arg): Likewise.
2006
2007 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
2008 -maltivec is specified, not the non-existent -faltivec.
2009
2010 2003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
2011
2012 * config/s390/s390-protos.h (s390_function_value): Declare.
2013 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
2014 (s390_return_in_memory): New function.
2015 (s390_function_value): New function.
2016 (s390_function_arg_float): Return false for all arguments larger
2017 than 8 bytes.
2018 (s390_function_arg_pass_by_reference): Likewise. Return true for
2019 all vector arguments.
2020 (s390_function_arg_integer): New function.
2021 (s390_function_arg_advance): Call it. Add sanity checks.
2022 (s390_function_arg): Likewise.
2023 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
2024 (LIBCALL_VALUE): Likewise.
2025 (RET_REG): Remove.
2026 (RETURN_IN_MEMORY): Remove.
2027
2028 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2029
2030 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
2031 return type to HOST_WIDE_INT.
2032 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
2033 Make initialized a bool. Make register masks unsigned ints.
2034 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
2035 where appropriate.
2036 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
2037 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
2038
2039 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2040
2041 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
2042 negation.
2043
2044 2003-11-06 Richard Sandiford <rsandifo@redhat.com>
2045
2046 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
2047
2048 2003-11-06 Momchil Velikov <velco@fadata.bg>
2049
2050 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
2051 for VR4111 too.
2052
2053 2003-11-06 Jan Hubicka <jh@suse.cz>
2054
2055 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
2056 missing casts.
2057
2058 2003-11-06 Zack Weinberg <zack@codesourcery.com>
2059
2060 * genmodes.c: Change the word "bitsize" to "precision" throughout.
2061 * machmode.def: Likewise.
2062 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
2063 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
2064 (GET_MODE_PRECISION): New macro.
2065 (mode_bitsize): Renamed mode_precision.
2066 * stor-layout.c (mode_for_size, smallest_mode_for_size):
2067 Use GET_MODE_PRECISION; clarify comments.
2068
2069 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2070
2071 * doc/install-old.texi: Remove old documentation of building
2072 cross-compilers.
2073 * doc/install.texi: Move some of it to here.
2074
2075 2003-11-05 Per Bothner <pbothner@apple.com>
2076
2077 PR preprocessor/12891
2078 * c-opts.c (finish_options): Set include_cursor to disable premature
2079 calls to push_command_line_include from cpp_scan_nooutput.
2080 Fixes bug reported by DJ Delorie.
2081
2082 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2083
2084 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
2085 code supporting old-style varargs.
2086
2087 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
2088 an intermediate register for better optimisation.
2089
2090 2003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2091
2092 PR optimization/10080
2093 * cfgloopanal.c (variable_initial_value, variable_initial_values,
2094 simple_loop_exit_p): Record the fact that initial value is extended
2095 from inner mode.
2096 (count_strange_loop_iterations, count_loop_iterations): Handle
2097 ivs that iterate in a narrower mode. Fix handling of overflows.
2098 Improve handling of NE conditions.
2099 (inverse, fits_in_mode_p): New static functions.
2100 (simple_increment): Detect variables that iterate in a narrower mode.
2101 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
2102
2103 2003-11-05 Geoffrey Keating <geoffk@apple.com>
2104
2105 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
2106 error.
2107
2108 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
2109 needs VRSAVE.
2110
2111 2003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
2112
2113 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
2114 conditional expressions as lvalues.
2115
2116 2003-11-05 Kazu Hirata <kazu@cs.umass.edu>
2117
2118 * tsystem.h: Add the prototype of strlen.
2119 * unwind-pe.h (read_encoded_value_with_base): Add an
2120 appropriate cast to handle a case where the pointer size is
2121 smaller than sizeof (int).
2122
2123 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2124
2125 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
2126 (mips_delegitimize_address): Delete.
2127 (mips_gotoff_global, mips_load_got_page): Declare.
2128 (mips_load_got_global, mips_rewrite_small_data): Declare.
2129
2130 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
2131 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
2132 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
2133 small_data_pattern. Remove CONST from const_arith_operand's entry.
2134
2135 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
2136 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
2137 (mips_constant_type): Delete.
2138 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
2139 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
2140 (NUM_SYMBOL_TYPES): New macro.
2141 (mips_address_type): Remove ADDRESS_INVALID.
2142 (machine_function): Add has_gp_insn_p.
2143 (mips_constant_info): Delete.
2144 (mips_address_info): Add the address type as an extra field. Replace
2145 the c field with symbol_type.
2146 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
2147 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
2148 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
2149 (mips_split_const, mips_symbolic_constant_p): New functions.
2150 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
2151 (mips_classify_address): Return true if the address is valid, storing
2152 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
2153 to test whether a LO_SUM address is allowed.
2154 (mips_symbol_insns): Return 0 for general mips16 symbols.
2155 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
2156 Handle the new SYMBOL_GOTOFF_*s.
2157 (mips_address_insns): Update call to mips_classify_address.
2158 (mips_const_insns): Be more fussy about HIGH constants. Remove use
2159 of mips_classify_constant. Be more accurate about CONSTs.
2160 (mips_global_pic_constant_p): Delete.
2161 (const_arith_operand): Only accept CONST_INTs.
2162 (call_insn_operand): Remove call to mips_classify_constant.
2163 Let mips_symbolic_constant_p check for invalid offsets.
2164 (move_operand): Check for general_operands first. Only accept symbolic
2165 constants if they satisfy mips_symbolic_constant_p and cannot be split.
2166 (symbolic_constant): Use mips_symbolic_constant_p.
2167 (global_got_operand, local_got_operand): New predicates.
2168 (stack_operand): Update call to mips_classify_address.
2169 (mips_legitimate_address_p): Likewise.
2170 (mips_reloc, mips_lui_reloc): Delete.
2171 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
2172 Use emit_move_insn.
2173 (mips_split_symbol, mips_unspec_address): New functions.
2174 (mips_unspec_offset_high): New function.
2175 (mips_load_got): Replace reloc argument with a symbol_type.
2176 Use mips_unspec_address to create the address and put it in a
2177 LO_SUM with the base register.
2178 (mips_load_got16, mips_load_got32): Delete.
2179 (mips_emit_high, mips_legitimize_symbol): Delete.
2180 (mips_gotoff_global): New function.
2181 (mips_load_got_page, mips_load_got_global): New functions.
2182 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
2183 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
2184 Inline code to handle constants plus invalid offsets. Use
2185 mips_split_symbol to legitimize constant pool addresses.
2186 (mips_delegitimize_address): Delete.
2187 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
2188 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
2189 (mips_subword): Pass memrefs through mips_rewrite_small_data.
2190 (mips_output_move): Remove use of mips_classify_constant.
2191 (mips_expand_call): Use mips_unspec_offset_high to calculate the
2192 high part of the GOT address for calls to global functions.
2193 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
2194 and mips_hi_relocs[].
2195 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
2196 Remove use of mips_classify_constant.
2197 (mips_reloc_string): Delete.
2198 (print_operand_reloc): New function.
2199 (print_operand_address): Update call to mips_classify_address.
2200 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
2201 (small_data_pattern): New predicate.
2202 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
2203 (mips_function_has_gp_insn): New function.
2204 (mips_global_pointer): Use it.
2205 (mips_gp_insn): Delete.
2206 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
2207 single loadgp pattern to initialize $gp. Pass it the offset of _gp
2208 from the start of the current function.
2209 (mips16_gp_pseudo_reg): Revert last patch.
2210
2211 * config/mips/mips.md (RELOC_*): Delete.
2212 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
2213 (got): New insn attribute.
2214 (type): Set to "load" if got == load.
2215 (length): Set to 4 if got == load, 8 if got == xgot_high.
2216 (lui[sd]i): Delete.
2217 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
2218 (*got_disp[sd]i, *got_page[sd]i): Likewise.
2219 (*low[sd]i): Change constraints to "d". Add a new define_split to
2220 rewrite small data constants into LO_SUMs.
2221 (loadgp): New insns.
2222
2223 2003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2224
2225 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
2226
2227 2003-11-04 DJ Delorie <dj@redhat.com>
2228
2229 * config/v850/v850.md (mulhisi3): Expand the const_int case
2230 separately to avoid trying to sign extend the const.
2231
2232 2003-11-04 Richard Sandiford <rsandifo@redhat.com>
2233
2234 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
2235 addresses to be shared.
2236 (force_const_mem): Return a copy of the pool entry.
2237
2238 2003-11-03 Andreas Jaeger <aj@suse.de>
2239
2240 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
2241
2242 2003-11-03 Kelley Cook <kcook@gcc.gnu.org>
2243
2244 * Makefile.in (cpp.dvi): New target split from cpp.info.
2245 (gcc.dvi): New target split from gcc.info.
2246 (gccint.dvi): New target split from gccint.info.
2247 (cppinternals.dvi): New target split from cppinternals.info
2248 (gccinstall.info): New specific rule.
2249 (gccinstall.dvi): Likewise.
2250 (dvi): Move targets to $(docobjdir).
2251 ($(docobjdir)/%.dvi): New implicit rule.
2252
2253 2003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2254
2255 * doc/gty.texi (tag, desc): Say more about role of desc values in
2256 selecting between tags.
2257
2258 2003-11-03 Alexander Kabaev <ak03@gte.com>
2259
2260 * real.c (encode_ieee_single): Ensure proper promotion.
2261
2262 2003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2263
2264 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
2265 and Andrew Pinski.
2266
2267 2003-11-03 Syd Polk <spolk@apple.com>
2268
2269 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
2270 marketing names to the list of supported processors.
2271 * config/rs6000/rs6000.h: Ditto.
2272 * doc/invoke.texi: Ditto.
2273 * config.gcc: Ditto.
2274
2275 2003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2276
2277 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
2278 Merge two substitutions.
2279 * fixinc/fixincl.x: Regenerate.
2280 Fixes PR bootstrap/12666.
2281
2282 2003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
2283
2284 * doc/install-old.texi: Remove VMS documentation.
2285
2286 2003-11-03 Jan Hubicka <jh@suse.cz>
2287
2288 * i386.c (override_options): Remove hack enabling 128bit long double
2289 commited by accident.
2290
2291 2003-11-02 Per Bothner <per@bothner.com>
2292
2293 * c-opts.c (needValue): Do cpp_find_main_file before processing
2294 any imacros flags, so pfile->main_file is set for the latter.
2295
2296 2003-11-03 Andreas Jaeger <aj@suse.de>
2297 Zack Weinberg <zack@codesourcery.com>
2298
2299 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
2300 (SYSCALLS.c.X-warn): Suppress warnings.
2301
2302 2003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2303
2304 PR optimization/12845
2305 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
2306
2307 2003-11-02 Zack Weinberg <zack@codesourcery.com>
2308
2309 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
2310 * config/i386/i386.c (print_reg): Abort on a virtual register
2311 if code != -1; not if file == asm_out_file.
2312 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
2313 (DEBUG_PRINT_REG): Delete, unused.
2314
2315 2003-11-02 Andreas Schwab <schwab@suse.de>
2316
2317 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
2318 empty to avoid conflict with the definition from configure.
2319
2320 2003-11-02 Roger Sayle <roger@eyesopen.com>
2321
2322 PR optimization/10817
2323 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
2324 (noce_try_move): New function to optimize an if-the-else into an
2325 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
2326 (noce_process_if_block): Attempt simplification with noce_try_move.
2327
2328 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
2329 and improvements to the optimizations of IF_THEN_ELSE expressions.
2330 (simplify_subreg): Silence signed/unsigned comparison warning.
2331
2332 2003-11-02 Richard Sandiford <rsandifo@redhat.com>
2333
2334 * Makefile.in (targhooks.o, reload.o): Update dependencies.
2335 (GTFILES): Add targhooks.c.
2336 (gt-targhooks.h): New rule; depend on s-gtype.
2337 * target.h (direct_pool_load_p): New hook.
2338 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
2339 (TARGET_INITIALIZER): Include it.
2340 * targhooks.h (default_direct_pool_load_p): Declare.
2341 (hook_bool_machine_mode_true): Declare.
2342 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
2343 gt-targhooks.h.
2344 (pool_symbol): New variable.
2345 (default_direct_pool_load_p): New function.
2346 (hook_bool_machine_mode_true): New function.
2347 * reload.c: Include target.h.
2348 (find_reloads): If an alternative will force a constant into memory,
2349 count an extra reload if constant pool symbols are not valid
2350 addresses. If an alternative uses memory to move values between
2351 registers, count the move as two reloads rather than one.
2352 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
2353 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
2354
2355 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2356
2357 PR optimization/12799
2358 * postreload.c (reload_cse_move2add): Generate the add2
2359 patterns manually.
2360
2361 2003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
2362
2363 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2364 Return 0 for all complex modes whose size is lesser or equal to
2365 a word. Add a ??? comment for the condition used with 16-byte
2366 aligned modes.
2367
2368 2003-11-01 Kelley Cook <kcook@gcc.gnu.org>
2369
2370 * .cvsignore: Remove c-parse* and tradcif.c.
2371 * objc/.cvsignore: Delete.
2372
2373 2003-11-01 Roger Sayle <roger@eyesopen.com>
2374
2375 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
2376 of NULL.
2377
2378 2003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2379
2380 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
2381
2382 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
2383
2384 * collect2.c (scan_libraries): Fix typos.
2385
2386 PR preprocessor/12847
2387 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
2388 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
2389 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
2390 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
2391 "CPP_".
2392
2393 2003-11-01 Fariborz Jahanian <fjahanian@apple.com>
2394
2395 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
2396 no_units calculation.
2397
2398 2003-11-01 Andreas Jaeger <aj@suse.de>
2399
2400 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
2401 enumeration list.
2402
2403 2003-11-01 Andreas Schwab <schwab@suse.de>
2404
2405 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
2406 prototypes.
2407 (SBSS_SECTION_FUNCTION): Likewise.
2408
2409 2003-11-01 Andreas Jaeger <aj@suse.de>
2410
2411 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
2412
2413 2003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
2414
2415 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
2416 prototypes.
2417
2418 2003-11-01 Andreas Jaeger <aj@suse.de>
2419
2420 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
2421 (uw_frame_state_for): Constify variables.
2422 (extract_cie_info): Constify first argument.
2423
2424 * unwind-dw2-fde-darwin.c: Adjust prototype of
2425 _Unwind_Find_registered_FDE for recent changes.
2426 (examine_objects): Constify return value and local variable result.
2427 (_Unwind_Find_FDE): Constify return value and local variable ret.
2428
2429 2003-10-31 Per Bothner <pbothner@apple.com>
2430
2431 * c-opts.c (finish_options): Change to returns boolean - false iff
2432 the call to cpp_find_main_file fails.
2433 (c_common_init): Skip preprocess_file if finish_options failed.
2434 (c_common_parse_file): Break if finish_options failed.
2435 Fixes PR preprocessor/12545.
2436
2437 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2438
2439 * aclocal.m4: Blacklist ultrix* for mmap file.
2440 * configure: Rebuilt.
2441
2442 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
2443 reg_parm_stack_space.
2444 * toplev.c (default_get_pch_validity): Fix warning.
2445
2446 * vax.c: Include toplev.h.
2447 (vax_init_libfuncs): Fix typo (umod).
2448 * vax.h (ASM_COMMENT_START): Define.
2449 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
2450
2451 2003-10-31 Roger Sayle <roger@eyesopen.com>
2452
2453 PR middle-end/11968
2454 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
2455 confusing comment; distributivity isn't handled in expand_expr.
2456 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
2457 in distributivity, if wrap-around semantics are specified with
2458 -fwrapv.
2459
2460 2003-11-01 Alan Modra <amodra@bigpond.net.au>
2461
2462 PR 12315
2463 * final.c (profile_function): Allow for NULL svrtx.
2464
2465 2003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2466
2467 * pa.c (pa_select_section): Use new style declaration.
2468 * som.h (readonly_data): Likewise.
2469
2470 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
2471
2472 * config/rs6000/rs6000.c: Update to C90 prototypes.
2473
2474 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2475
2476 PR target/7513
2477 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
2478 code.
2479
2480 2003-10-31 Andreas Jaeger <aj@suse.de>,
2481 Zack Weinberg <zack@codesourcery.com>
2482
2483
2484 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
2485 (__deregister_frame_info, __deregister_frame_info_bases):
2486 Constify void * argument.
2487 * unwind-dw2-fde.h (struct fde_vector):
2488 Constify 'orig_data' and 'array' fields.
2489 (__register_frame_info, __register_frame_info_bases)
2490 (__deregister_frame_info, __deregister_frame_info_bases):
2491 Constify void * argument.
2492 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
2493 return values, and casts of type fde *, struct dwarf_fde *,
2494 and struct dwarf_cie *.
2495 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
2496 (__deregister_frame_info, __deregister_frame_info_bases):
2497 Constify void * argument.
2498 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
2499 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
2500 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
2501 fde_split, SWAP, frame_downheap, frame_heapsort)
2502 (classify_object_over_fdes, add_fdes, linear_search_fdes,
2503 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
2504 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
2505 Constify arguments, local variables, return values, and casts
2506 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
2507 Use const pointer types in sizeof expressions, for clarity.
2508 * unwind-dw2-fde-glibc.c
2509 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
2510 (struct unw_eh_callback_data): Constify 'ret' field.
2511
2512 2003-10-31 Fariborz Jahanian <fjahanian@apple.com>
2513 David Edelsohn <edelsohn@gnu.org>
2514
2515 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
2516 (function_arg): Call it.
2517 (rs6000_function_value): Widen integral return value to mode based
2518 on TARGET_32BIT, not word_mode.
2519 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
2520 (UNITS_PER_ARG): New.
2521 (RS6000_ARG_SIZE): Use it.
2522
2523 2003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
2524
2525 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
2526 and gengtype-yacc.h.
2527
2528 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2529
2530 PR optimization/8896
2531 * postreload.c (reload_combine): Check that REGY doesn't die in an
2532 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
2533
2534 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
2535
2536 PR/10239
2537 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
2538
2539 2003-10-31 Josef Zlomek <zlomekj@suse.cz>
2540
2541 PR/11640
2542 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
2543 immediatelly before BARRIER.
2544
2545 2003-10-31 Kelley Cook <kcook@gcc.gnu.org>
2546
2547 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
2548
2549 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2550
2551 PR target/11271
2552 * reload.c (find_reloads_address): Handle any register in
2553 (PLUS (PLUS (REG) (REG)) (CONST_INT).
2554
2555 2003-10-31 Richard Earnshaw <rearnsha@arm.com>
2556
2557 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
2558 ENABLE_GC_CHECKING not in GGC_POISON.
2559
2560 2003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
2561
2562 PR bootstrap/9863
2563 * configure.in: Bail out if awk is missing.
2564 * configure: Regenerate.
2565
2566 PR ada/12761
2567 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
2568 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
2569
2570 2003-10-30 Richard Henderson <rth@redhat.com>
2571
2572 * c-objc-common.c (c_tree_printer): Handle types correctly.
2573 Factor code a bit.
2574
2575 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
2576
2577 * value-prof.c, web.c: Update to C90.
2578
2579 2003-10-30 Eric Christopher <echristo@redhat.com>
2580
2581 * function.c (purge_addressof_1): Add case for REG_RETVAL
2582 notes when modes are unequal.
2583
2584 2003-10-31 Jan Hubicka <jh@suse.cz>
2585
2586 * i386-modes.def: Add XFmode format adjustment.
2587
2588 2003-10-30 Jan Hubicka <jh@suse.cz>
2589
2590 * real.c (encode_ieee_extended): Back out previous patch.
2591
2592 2003-10-30 Jan Hubicka <jh@suse.cz>
2593
2594 * real.c (encode_ieee_extended): Initialize whole array.
2595 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
2596 * i386-modes.def: Change definitions of TFmode and XFmode.
2597 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2598 code.
2599 (construct_container): Allow constructing of TFmode integer containers.
2600 (ix86_return_in_memory): XFmode is not returned in memory.
2601 (init_ext_80387_constants): Always use XFmode.
2602 (print_operand): Likewise.
2603 (ix86_prepare_fp_compare_regs): Likewise.
2604 (split_to_parts): Deal with TFmode.
2605 (split_long_move): Simplify.
2606 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2607 (ix86_memory_move_cost): Do not confuse TFmode.
2608 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2609 (IS_STACK_MODE): TFmode is not stack mode.
2610 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2611 (VALID_SSE_REG_MODE): Allow TFmode.
2612 (VALID_FP_MODE_P): Disallow TFmode.
2613 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2614 * i386.md (TFmode patterns): Kill.
2615 (movtf, motf_rex64): New patterns.
2616
2617 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2618
2619 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2620
2621 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2622
2623 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2624 (mov_lwr, mov_swl, mov_swr): Likewise.
2625 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2626
2627 2003-10-30 Richard Sandiford <rsandifo@redhat.com>
2628
2629 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2630
2631 2003-10-30 Richard Henderson <rth@redhat.com>
2632
2633 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2634 test for irix6 rather than preprocessor test.
2635
2636 2003-10-30 Richard Henderson <rth@redhat.com>
2637
2638 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2639
2640 2003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
2641
2642 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2643 as a general flag that the return address register needs to be saved,
2644 not necessarily because of __builtin_return_addr (0).
2645 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2646 remove special handling of zSeries machines.
2647 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
2648 register as a regular register on zSeries machines.
2649 (s390_reorg): Adjust calls to s390_split_branches and
2650 s390_optimize_prolog.
2651 (s390_frame_info): On zSeries machines, do not assume the return
2652 register is always used. Update regs_ever_live with current data
2653 for the special registers.
2654 (s390_emit_epilogue): Use save_return_addr_p to determine whether
2655 the return register was saved.
2656 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2657 RETURN_REGNUM fixed on zSeries machines.
2658 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2659 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2660 via ahi-jgne pair on zSeries machines.
2661 ("*doloop_di"): Likewise.
2662 ("*doloop_di_long"): Remove.
2663
2664 2003-10-30 Richard Earnshaw <rearnsha@arm.com>
2665
2666 * arm.c (arm_override_options): Revert change of arm_constant_limit
2667 when optimizing for size.
2668
2669 2003-10-29 Richard Henderson <rth@redhat.com>
2670
2671 * fold-const.c (fold_single_bit_test): Convert the input to the
2672 operational intermediate type.
2673
2674 2003-10-29 Richard Henderson <rth@redhat.com>
2675
2676 * builtins.c (std_build_builtin_va_list): New.
2677 * expr.h (std_build_builtin_va_list): Declare.
2678 * defaults.h (BUILD_VA_LIST_TYPE): New.
2679 * system.h (BUILD_VA_LIST_TYPE): Poison.
2680 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2681 * target.h (struct gcc_target): Add build_builtin_va_list.
2682 * tree.c (build_common_tree_nodes_2): Use it.
2683
2684 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2685 config/alpha/alpha.h, config/alpha/unicosmk.h,
2686 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2687 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2688 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2689 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2690 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
2691 config/mips/mips.h, config/rs6000/rs6000-protos.h,
2692 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2693 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
2694 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2695 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
2696 config/xtensa/xtensa.h: Rename foo_build_va_list to
2697 foo_build_builtin_va_list; make it static. Define
2698 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
2699 Update protos.
2700
2701 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
2702 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
2703
2704 2003-10-29 James E Wilson <wilson@specifixinc.com>
2705
2706 * recog.c (asm_operand_ok): Add missing break after case 'X'.
2707 Change if statements to else if statements in default case.
2708 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
2709 in comment.
2710 (constrain_operands_cached): Likewise.
2711 (constrain_operands): Change if statements to else if statements in
2712 default case.
2713 * reload.c (find_reloads): Likewise.
2714
2715 2003-10-29 Richard Henderson <rth@redhat.com>
2716
2717 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
2718 shifts and rotates.
2719
2720 2003-10-30 Alan Modra <amodra@bigpond.net.au>
2721
2722 * config/rs6000/rs6000.md: Remove duplicate pattern.
2723
2724 2003-10-29 Hans-Peter Nilsson <hp@axis.com>
2725
2726 * real.c (do_divide): Initialize result with a 0.
2727
2728 * configure.in <enable-checking for valgrind>: Look for
2729 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
2730 if it exists.
2731 * configure, config.in: Regenerate.
2732 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
2733 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
2734 #elif for other alternatives.
2735 * ggc-page.c: Ditto.
2736 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
2737 include structure from ggc-common.c.
2738
2739 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2740
2741 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
2742 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
2743 * pa.c (pa_adjust_insn_length): Check for btable branches using
2744 attribute TYPE_BTABLE_BRANCH.
2745 (pa_reorg): Simplify.
2746 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
2747 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
2748 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
2749 * pa.md (btable_branch): New instruction type.
2750 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
2751 btable branches.
2752 (define_delay): Add btable branches to insn types that may have an
2753 insn in the delay position.
2754 (Z2, Z3): Add btable branch to list.
2755 Simplify unamed pattern set copy pic_label_operand to register. Add
2756 PA 2.0 variant.
2757 (short_jump): New jump for use in branch tables.
2758 (casesi, casesi0): Revise for new branch table formats.
2759 (casesi32, casesi32p, casesi64p): New casesi patterns.
2760 (indirect_jump): Move.
2761
2762 2003-10-29 David Edelsohn <edelsohn@gnu.org>
2763
2764 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
2765 !TARGET_POWERPC64.
2766 (UNITS_PER_GPR_WORD): Delete.
2767 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
2768 (HARD_REGNO_MODE_OK): Same.
2769 (CLASS_MAX_NREGS): Same.
2770
2771 2003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2772
2773 * pa.h (ASM_COMMENT_START): Define.
2774
2775 2003-10-29 Zack Weinberg <zack@codesourcery.com>
2776
2777 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
2778 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
2779 component, not zero.
2780
2781 2003-10-29 Andreas Schwab <schwab@suse.de>
2782
2783 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
2784
2785 2003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
2786
2787 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2788 Never return 1 for complex integral modes whose size is lesser or
2789 equal to a word.
2790 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
2791 in the comment.
2792 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
2793 modes.
2794 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
2795 greater than 16 bytes by reference.
2796
2797 2003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2798
2799 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
2800 not TARGET_ILP32.
2801 (ia64_initialize_trampoline): Use globalize_label target call.
2802
2803 2003-10-29 Andreas Schwab <schwab@suse.de>
2804
2805 * doc/install.texi (Building): Add a sentence about building Ada
2806 for a canadian cross.
2807
2808 2003-10-28 Zack Weinberg <zack@codesourcery.com>
2809
2810 * config/ia64/ia64.c (cmptf_libfunc): New static.
2811 (ia64_expand_compare): Add logic to open-code calls to
2812 _U_Qfcmp for TFmode comparisons.
2813 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
2814 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
2815 never be generated anymore.
2816 * config/ia64/ia64.md (cmptf): New expander.
2817
2818 2003-10-28 Zack Weinberg <zack@codesourcery.com>
2819
2820 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
2821 (*sqrt_approx): New instruction pattern for approximate square roots.
2822 (*setf_exp_xf): New instruction pattern for exponentiation.
2823 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
2824 (sqrtsf2_internal_thr): New define_and_split implementing
2825 throughput-optimized inline calculation of SFmode square root.
2826 (sqrtdf2_internal_thr): Likewise for DFmode.
2827 (sqrtxf2_internal_thr): Likewise for XFmode.
2828 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
2829 latency- and throughput-optimized square root algorithms.
2830 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
2831 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
2832 New macros.
2833 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
2834 -minline-sqrt-max-throughput.
2835 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
2836 and -minline-sqrt-max-throughput are given, notify the user
2837 that both options cannot be used simultaneously.
2838 If -minline-sqrt-min-latency is given, notify the user that
2839 this mode is not yet implemented.
2840 (rtx_needs_barrier): Reformat initial comment to obey
2841 72-character width limit. Support UNSPEC_SETF_EXP and
2842 UNSPEC_FR_SQRT_RECIP_APPROX.
2843
2844 2003-10-29 Alan Modra <amodra@bigpond.net.au>
2845
2846 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
2847 moves.
2848
2849 2003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2850
2851 PR target/11598
2852 PR libgcj/10610
2853 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2854
2855 2003-10-28 Richard Earnshaw <rearnsha@arm.com>
2856
2857 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
2858 an extra stack adjustment insn if the stack pointer is already
2859 pointing at the right place.
2860 (use_return_insn): Allow a return insn to be used when we have a
2861 frame pointer if the stack pointer is in the right place.
2862 (output_return_instruction): Handle it.
2863
2864 2003-10-28 Andreas Jaeger <aj@suse.de>
2865
2866 * ggc-zone.c (check_cookies): Add missing variable.
2867 Add void to prototypes.
2868
2869 2003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2870
2871 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
2872 * crtstuff.c (__do_global_ctors_1): Move prototype.
2873 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2874 appropriate.
2875 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
2876 Mark parameter with __attribute__((unused)).
2877
2878 2003-10-27 Zack Weinberg <zack@codesourcery.com>
2879
2880 * c-decl.c (pushdecl): Clarify comment.
2881
2882 2003-10-27 Arnaud Charlet <charlet@act-europe.fr>
2883
2884 * doc/install.texi: Update instructions for Ada cross builds
2885
2886 PR ada/5909:
2887 * doc/sourcebuild.texi: Document Ada test suite.
2888
2889 2003-10-27 Stephane Carrez <stcarrez@nerim.fr>
2890
2891 * config/m68hc11/m68hc11.c: Convert to ISO C90.
2892 * config/m68hc11/m68hc11-protos.h: Likewise.
2893
2894 2003-10-27 Jan Hubicka <jh@suse.cz>
2895 Eric Botcazou <ebotcazou@libertysurf.fr>
2896
2897 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
2898 webizer pass dump.
2899
2900 2003-10-27 Jakub Jelinek <jakub@redhat.com>
2901 Jan Hubicka <jh@suse.cz>
2902
2903 * reload1.c (struct elim_table): Change offset, initial_offset and
2904 previous_offset fields to HOST_WIDE_INT.
2905 (offsets_at): Change from int to HOST_WIDE_INT.
2906 (reload): Adjust offsets_at initialization.
2907 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
2908 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
2909 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
2910 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
2911 if TARGET_64BIT.
2912 (pro_epilogue_adjust_stack): New function.
2913 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
2914 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
2915 (pro_epilogue_adjust_stack_1): Remove * in front of name.
2916 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
2917 (pro_epilogue_adjust_stack_rex64_2): New insn.
2918
2919 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
2920
2921 * config/i386/i386.c (ix86_expand_call): Replace 40 with
2922 FIRST_REX_INT_REG + 3 /* R11 */.
2923
2924 2003-10-26 Richard Henderson <rth@redhat.com>
2925
2926 * config/alpha/alpha.md (attr cannot_copy): New.
2927 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2928 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2929 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2930
2931 2003-10-26 Daniel Berlin <dberlin@dberlin.org>
2932
2933 * ggc-zone.c: New file, zone allocating collector.
2934 * configure: Accept zone option for --with-gc
2935 * configure.in: Ditto.
2936 * ggc.h (ggc_pch_count_object): Pass bool indicating
2937 stringiness. Update all callers.
2938 (ggc_pch_alloc_object): Ditto.
2939 (ggc_pch_write_object): Ditto.
2940 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2941 type.
2942 (ggc_alloc_rtvec): Ditto.
2943 (ggc_alloc_tree): Use zone allocation, since some things using this macro
2944 aren't a single typecode.
2945 * ggc-none.c (ggc_alloc_typed): New function.
2946 (ggc_alloc_zone): Ditto.
2947 * ggc-page.c: Ditto on both functions.
2948
2949 2003-10-26 Gunther Nikl <gni@gecko.de>
2950
2951 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2952 frame information is always valid.
2953 (m68k_output_function_prologue): Remove superfluous TARGET_68881
2954 test; fix formatting.
2955
2956 2003-10-26 Gunther Nikl <gni@gecko.de>
2957
2958 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2959 reg_rev_mask computation.
2960 (m68k_output_function_prologue): Fix usage of current_frame (one typo
2961 and one missing); use reg_rev_mask not reg_mask.
2962 (m68k_output_function_epilogue): Fix usage of current_frame;
2963 use fpu_rev_mask not fpu_mask.
2964
2965 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2966
2967 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2968 num_saved_regs, use current_frame.reg_no instead.
2969
2970 2003-10-26 Bernardo Innocenti <bernie@develer.com>
2971 Paul Dale <pauli@snapgear.com>
2972
2973 * doc/extend.texi (interrupt_handler): Add m68k to the
2974 list of processors implementing it.
2975 * doc/invoke.texi (-msep-data): Document new m68k option.
2976 (-mno-sep-data): Likewise.
2977 (-mid-shared-library): Likewise.
2978 (-mno-id-shared-library): Likewise.
2979 (-mshared-library-id): Likewise.
2980
2981 2003-10-26 Andreas Jaeger <aj@suse.de>
2982
2983 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2984 comparison.
2985 (_Unwind_SetGR): Likewise.
2986
2987 2003-10-26 Ottavio Campana <ottavio@campana.vi.it>
2988
2989 PR target/12690
2990 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2991
2992 2003-10-26 Gunther Nikl <gni@gecko.de>
2993
2994 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2995 comment from here to...
2996 (m68k_save_reg): ...here. Fix comment formatting.
2997 (m68k_output_function_prologue): Fix comment formatting.
2998 (m68k_output_function_epilogue): Likewise.
2999 (const_method): Likewise.
3000
3001 2003-10-26 Kazu Hirata <kazu@cs.umass.edu>
3002
3003 * toplev.c (default_get_pch_validity): Guard the use of
3004 target_options with #ifdef TARGET_OPTIONS.
3005 (default_pch_valid_p): Likewise.
3006
3007 2003-10-26 Andreas Jaeger <aj@suse.de>
3008 Zack Weinberg <zack@codesourcery.com>
3009 Andreas Tobler <toa@pop.agri.ch>
3010
3011 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
3012 (output_die): Likewise.
3013 (print_die): Likewise.
3014
3015 2003-10-26 Andreas Jaeger <aj@suse.de>
3016
3017 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
3018 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
3019 dwarf2out.c change.
3020
3021 * toplev.c (default_pch_valid_p): Fix warning.
3022
3023 2003-10-25 Roger Sayle <roger@eyesopen.com>
3024
3025 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
3026 RTL nodes. If an operator's operands are unchanged, return the
3027 original argument unchanged.
3028
3029 2003-10-26 Graham Stott <graham.stott@btinternet.com>
3030
3031 Fix bootstrap failure.
3032 * expmed.c (store_bit_field): Don't compare bitsize against
3033 modes with zero bit-size.
3034
3035 (extract_bit_field): Likewise
3036
3037 2003-10-25 Jan Hubicka <jh@suse.cz>
3038
3039 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
3040 (cfa_loc): Likewise.
3041 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
3042 HOST_WIDE_INT.
3043 (args_size, old_args_size): change type to HOST_WIDE_INT.
3044 (dwarf2out_def_cfa, dwarf2out_args_size,
3045 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
3046 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
3047 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
3048 AT_offset): Use HOST_WIDE_INT.
3049 (based_loc_descr): offset is HOST_WIDE_INT.
3050 (add_data_member): Likewise.
3051 (add_const_value_attribute): Simplify.
3052
3053 2003-10-25 Richard Henderson <rth@redhat.com>
3054
3055 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
3056 (ix86_expand_prologue): Save and restore eax around stack probe
3057 if it's live.
3058
3059 2003-10-25 Jan Hubicka <jh@suse.cz>
3060
3061 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
3062
3063 2003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3064
3065 PR target/12712
3066 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
3067 if the block has no predecessors.
3068 (convert_regs_2): Document the problem with successors whose
3069 only predecessor is the block to be processed.
3070 (convert_regs): Don't create the arbitrary input stack here.
3071
3072 2003-10-24 Zack Weinberg <zack@codesourcery.com>
3073
3074 * genmodes.c (struct mode_data): Add contained and next_cont
3075 fields.
3076 (complete_mode): Maintain linked list of modes that have a
3077 given component.
3078 (emit_mode_unit_size): Delete.
3079 (emit_mode_nunits): New.
3080 (emit_insn_modes_c): Update to match.
3081 (emit_mode_adjustments): Propagate size and alignment
3082 adjustments from component modes to their containers.
3083 * machmode.h (mode_unit_size): Delete.
3084 (mode_nunits): New.
3085 (GET_MODE_NUNITS): Just return the value in the table.
3086 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
3087 GET_MODE_SIZE.
3088 * expmed.c (store_bit_field, extract_bit_field): Can use a
3089 plain move instruction if bitsize >= GET_MODE_BITSIZE of
3090 destination/source mode, respectively.
3091 * varasm.c (assemble_real): Write out the full size of the
3092 constant, not just its bitsize.
3093 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
3094
3095 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
3096 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
3097 alignment of XF and TF modes in compliance with ia64 ABIs.
3098 Can now hardwire the format of both modes.
3099 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
3100 (general_tfmode_operand, destination_tfmode_operand)
3101 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
3102 general_xfmode_operand, destination_xfmode_operand,
3103 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
3104 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
3105 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
3106 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
3107 __float128.
3108 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
3109 Change TFmode to XFmode wherever appropriate. Remove all
3110 references to INTEL_EXTENDED_IEEE_FORMAT.
3111 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
3112 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
3113 (PREDICATE_CODES): Update to match function renames.
3114 * config/ia64/ia64.md: Change TF to XF throughout; rename all
3115 patterns to match. Remove all references to
3116 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
3117 function renames.
3118 * config/ia64/ia64-protos.c: Update all prototypes to match
3119 renamed functions.
3120 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
3121 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
3122 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
3123 __divtf3; keep old name for backward compatibility.
3124 (L__compat): New section providing forwarding stubs for
3125 __fixtfti, __fixunstfti, __floattitf.
3126 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
3127
3128 2003-10-24 Geoffrey Keating <geoffk@apple.com>
3129
3130 PR 10757
3131 * c-pch.c: Include target.h. Improve comments.
3132 (struct c_pch_validity): Add target_data_length.
3133 (pch_init): Add target's validity data.
3134 (c_common_valid_pch): Check target's validity data.
3135 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
3136 (TARGET_PCH_VALID_P): New.
3137 (TARGET_INITIALIZER): Add new fields.
3138 * target.h: Include tm.h.
3139 (struct gcc_target): Add get_pch_validity, pch_valid_p.
3140 * toplev.h (default_get_pch_validity): New prototype.
3141 (default_pch_valid_p): New prototype.
3142 * toplev.c (default_get_pch_validity): New routine.
3143 (default_pch_valid_p): New routine.
3144 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
3145 target.h with $(TARGET_H).
3146 (c-pch.o): Add TARGET_H.
3147 * doc/tm.texi (PCH Target): New node.
3148 (TARGET_GET_PCH_VALIDITY): Document.
3149 (TARGET_PCH_VALID_P): Document.
3150
3151 2003-10-24 Kelley Cook <kcook@gcc.gnu.org>
3152
3153 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
3154 and $(docdir)/include from any *.texi dependencies.
3155 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
3156 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
3157 ($(docobjdir)/%.7): Likewise.
3158 (%.pod): New implicit rule.
3159 (cpp.pod): New dependency only rule.
3160 (gcc.pod): New intermediate rule with dependencies and commands.
3161 (gfdl.pod): Likewise.
3162 (fsf-funding.pod): Likewise.
3163
3164 2003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
3165
3166 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
3167 related code.
3168 * fixinc/fixinc.ptx: Remove.
3169 * fixinc/fixinc.svr4: Remove.
3170
3171 2003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
3172
3173 * config/s390/s390.c (load_multiple_operation): Allow both SImode
3174 and DImode if word_mode is DImode.
3175 (store_multiple_operation): Likewise.
3176 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
3177 ("*load_multiple_di"): Allow only if word_mode == DImode.
3178 ("movqi"): Use LLGC whenever TARGET_ZARCH.
3179 ("fix_truncdfsi2"): Fix incorrect temporary size.
3180 ("fix_truncsfsi2"): Likewise.
3181 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
3182 string for function return value operand.
3183 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
3184
3185 2003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
3186
3187 * c-parse.in (array_declarator): Use expr_no_commas.
3188 Fixes PR c/11943.
3189
3190 2003-10-24 Richard Sandiford <rsandifo@redhat.com>
3191
3192 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
3193 associated includes in #ifndef inhibit_libc.
3194
3195 2003-10-24 Roger Sayle <roger@eyesopen.com>
3196
3197 * doc/libgcc.texi: Document some more of the libgcc API.
3198
3199 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3200
3201 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
3202 comparing a constant with small negative numbers and add costing
3203 for constants in conjunction with AND.
3204 (note_invalid_constants): Tidy previous change.
3205 (thumb_cmp_operand): Tidy.
3206 (thumb_cmpneg_operand): New function.
3207 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
3208 for size.
3209 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
3210 (PREDICATE_CODES): Add thumb_cmpneg_operand.
3211 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
3212 with a negative constant.
3213 (cbranchsi4_insn): Matcher for cbranchsi4.
3214 (cbranchsi4_scratch): Similar, but a scratch is available for
3215 handling negative constants.
3216 (movsi_cbranchsi4): New pattern.
3217 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
3218 and use the TST instruction.
3219 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
3220 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
3221 cannot see high regs or memory alternatives.
3222 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
3223
3224 2003-10-24 Richard Earnshaw <rearnsha@arm.com>
3225
3226 * arm.c (note_invalid_constants): Try to extract the constant
3227 pool value using avoid_constant_pool_reference; only use
3228 get_pool_constant if that returns the original reference.
3229
3230 2003-10-24 Jan Hubicka <jh@suse.cz>
3231
3232 PR c++/12624
3233 * varasm.c (notice_global_symbol): Disqualify global registers.
3234
3235 2003-10-23 Roger Sayle <roger@eyesopen.com>
3236
3237 PR middle-end/11414
3238 * loop.c (load_mems): Use redirect_jump to forward jumps from
3239 the original loop end label to the new "loop sink" block's label.
3240
3241 2003-10-23 Roger Sayle <roger@eyesopen.com>
3242
3243 PR middle-end/12705
3244 * optabs.c (expand_binop): When expanding complex operations
3245 inline, always calculate result into a new temporary register.
3246 Minor code clean-ups.
3247
3248 2003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3249
3250 * objc/lang-specs.h: Handle -print-objc-runtime-info.
3251 * doc/invoke.texi (Objective-C Dialect Options): Document it.
3252
3253 2003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
3254
3255 * config/i386/cygwin.asm: Add copyright notice. Add comment
3256 on why this code is needed.
3257
3258 2003-10-23 Kazu Hirata <kazu@cs.umass.edu>
3259
3260 * config/h8300/clzhi2.c: Fix warnings.
3261 * config/h8300/ctzhi2.c: Likewise.
3262 * config/h8300/fixunssfsi.c: Likewise.
3263 * config/h8300/parityhi2.c: Likewise.
3264 * config/h8300/popcounthi2.c: Likewise.
3265
3266 2003-10-23 James E Wilson <wilson@specifixinc.com>
3267
3268 * gcc.c (option_map): Delete --target and --use-version.
3269
3270 2003-10-23 Fariborz Jahanian <fjahanian@apple.com>
3271 David Edelsohn <edelsohn@gnu.org>
3272
3273 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
3274 TARGET_POWREPC64.
3275 (UNITS_PER_GPR_WORD): Define.
3276 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
3277 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
3278 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
3279 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
3280 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
3281 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
3282 (rs6000_emit_prologue): Select reg_mode and reg_size using
3283 TARGET_32BIT, not TARGET_POWERPC64.
3284 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
3285 ABI / 64-bit computation mode
3286
3287 2003-10-22 Andrew Haley <aph@redhat.com>
3288
3289 * toplev.c (output_file_directive): Allow for null input_name.
3290
3291 2003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
3292
3293 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
3294
3295 2003-10-22 Chris Demetriou <cgd@broadcom.com>
3296
3297 * configure.in: In --enable-generated-files-in-srcdir option
3298 handling, fix default case handling.
3299 * configure: Regenerate.
3300
3301 2003-10-22 Phil Edwards <phil@codesourcery.com>
3302
3303 * config.gcc: Update *-*-vxworks* generic hook and comments.
3304 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
3305 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
3306 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
3307 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
3308 * config/windiss.h: New file.
3309 * config/arm/t-vxworks: New file.
3310 * config/arm/vxworks.h: New file.
3311 * config/i386/t-vxworks: New file.
3312 * config/i386/vxworks.h: New file.
3313 * config/mips/t-vxworks: New file.
3314 * config/mips/vxworks.h: New file.
3315 * config/mips/windiss.h: New file.
3316 * config/sh/t-vxworks: New file.
3317 * config/sh/vxworks.h: New file.
3318
3319 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
3320
3321 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
3322 (h8300_saveall_function_p): New.
3323 (h8300_insert_attributes): Insert the saveall attribute if
3324 #pragma saveall is specified.
3325 (h8300_attribute_table): Add saveall.
3326 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
3327 * doc/extend.texi: Mention the saveall attribute.
3328
3329 2003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
3330
3331 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
3332 deprecation of casts as lvalues.
3333 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
3334 * fixinc/fixincl.x: Regenerate.
3335 * fixinc/tests/base/obstack.h: New test.
3336
3337 2003-10-22 Andreas Schwab <schwab@suse.de>
3338
3339 PR target/12676
3340 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
3341 LP64 platforms.
3342
3343 2003-10-22 Jan Hubicka <jh@suse.cz>
3344
3345 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
3346 presence of DW_AT_inline.
3347 (gen_subprogram_die): Likewise; do not abort instead of emitting
3348 DW_AT_not_inline.
3349
3350 2003-10-22 Jan Hubicka <jh@suse.cz>
3351
3352 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
3353 global info is not ready.
3354
3355 2003-10-22 Kazu Hirata <kazu@cs.umass.edu>
3356
3357 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
3358
3359 2003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
3360
3361 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
3362 ("*movstr_short"): ... into this insn pattern.
3363 ("movstr_short"): New expander.
3364 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
3365 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
3366 ("movstr_long"): New expander.
3367 ("clrstr_short_64", "clrstr_short_31"): Merge ...
3368 ("*clrstr_short"): ... into this insn pattern.
3369 ("clrstr_short"): New expander.
3370 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
3371 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
3372 ("clrstr_long"): New expander.
3373 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
3374 ("*cmpmem_short"): ... into this insn pattern.
3375 ("cmpmem_short"): New expander.
3376 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
3377 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
3378 ("cmpmem_long"): New expander.
3379 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
3380 (s390_expand_clrstr): Likewise.
3381 (s390_expand_cmpmem): Likewise.
3382
3383 2003-10-22 Mark Mitchell <mark@codesourcery.com>
3384
3385 * c-pch.c (struct c_pch_validity): Add pch_init field.
3386 (pch_init): Set it.
3387 (c_common_valid_pch): Check it.
3388
3389 2003-10-22 David Taylor <dtaylor@emc.com>
3390
3391 PR debug/12500
3392 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
3393
3394 2003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3395
3396 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
3397 alpha_return_in_memory if no VALTYPE specified.
3398
3399 2003-10-22 Jan Hubicka <jh@suse.cz>
3400
3401 PR debug/12389
3402 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
3403 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
3404 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
3405 (cgraph_global_info): Add flag inlined
3406 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
3407 cgraph_function_possibly_inded_p
3408 * cgraphunit.c (mark_inline): Set inlined flag.
3409 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
3410 only for possibly inlined functions.
3411 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
3412 body of function.
3413
3414 2003-10-22 Andrew Haley <aph@redhat.com>
3415
3416 * varasm.c (output_constructor): Make constructor annotation
3417 conditional on ASM_COMMENT_START.
3418
3419 2003-10-21 Jason Merrill <jason@redhat.com>
3420
3421 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
3422 (get_narrower): Likewise.
3423
3424 * stor-layout.c (layout_decl): Do packed field alignment for
3425 bit-fields, too.
3426
3427 2003-10-21 Eric Christopher <echristo@redhat.com>
3428
3429 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
3430
3431 2003-10-21 Geoffrey Keating <geoffk@apple.com>
3432
3433 * c-pch.c: Add comments in various places.
3434 (struct c_pch_validity): Add the lengths of various strings.
3435 (host_machine): New static.
3436 (target_machine): New static.
3437 (get_ident): Bump version number.
3438 (pch_init): Write out version, host, target validity data.
3439 (c_common_valid_pch): Check version, host, target.
3440 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
3441 TARGET_MACHINE.
3442
3443 2003-10-21 Jason Merrill <jason@redhat.com>
3444
3445 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
3446 (EXPR_P): New macro.
3447
3448 2003-10-21 Zack Weinberg <zack@codesourcery.com>
3449
3450 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
3451 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
3452 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
3453 DImode. Use convert_move to load ar.ccv.
3454 (ia64_expand_compare_and_swap): Likewise.
3455 If expand_expr doesn't put 'old' and 'new' in the proper
3456 modes, run them through convert_to_mode.
3457
3458 2003-10-21 Eric Christopher <echristo@redhat.com>
3459
3460 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
3461 for too large bitfields.
3462
3463 2003-10-21 Mark Mitchell <mark@codesourcery.com>
3464
3465 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
3466
3467 2003-10-21 Andrew Haley <aph@redhat.com>
3468
3469 * varasm.c (output_constructor): Annotate constructor.
3470
3471 2003-10-21 Mark Mitchell <mark@codesourcery.com>
3472
3473 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
3474 on existence of destination file.
3475
3476 2003-10-21 Jan Hubicka <jh@suse.cz>
3477
3478 * haifa-sched.c (choose_ready): Initialize index.
3479
3480 2003-10-21 Jason Merrill <jason@redhat.com>
3481
3482 * tree.c (build1): Fix off-by-one error.
3483
3484 2003-10-21 Robert Millan <robertmh@gnu.org>
3485
3486 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
3487 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
3488 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
3489 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
3490
3491 2003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
3492
3493 * web.c: Fix various comments.
3494
3495 2003-10-20 Nicolas Pitre <nico@cam.org>
3496
3497 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
3498 to 2 instead of 1 when optimize_size is true. Gather code based on
3499 optimize_size together. Add comment about XScale load latency.
3500
3501 2003-10-21 Gunther Nikl <gni@gecko.de>
3502
3503 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
3504 obsolete comments.
3505
3506 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
3507
3508 * Makefile.in: Get parsedir and docobjdir from configure.
3509 * configure.in: Recogonize --enable-generated-files-in-srcdir.
3510 Pass along parsedir and docobjdir.
3511 * configure: Regenerate.
3512 * doc/install.texi: Document --enable-generated-files-in-srcdir.
3513
3514 2003-10-20 Kelley Cook <kcook@gcc.gnu.org>
3515
3516 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
3517 included.
3518
3519 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
3520
3521 * c-common.c (expand_tree_builtin): Ensure creal and cimag
3522 functions do not return lvalues.
3523
3524 2003-10-20 Jason Merrill <jason@redhat.com>
3525
3526 PR c/12553
3527 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
3528 appropriately.
3529
3530 PR c/11446
3531 * stor-layout.c (layout_decl): Fix alignment handling.
3532
3533 2003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
3534
3535 * doc/extend.texi: Deprecate casts as lvalues.
3536
3537 2003-10-20 Jan Hubicka <jh@suse.cz>
3538
3539 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
3540
3541 * cgraphunit.c (decide_is_function_needed): Fix test dealing
3542 with functions implicitly made inline.
3543
3544 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
3545 (cgraph_finalize_function): Use it.
3546 (cgraph_mark_inline): Allow incrmental decisions
3547 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
3548 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
3549 * tree-inline.c (limits_allow_inlining): Kill.
3550 (expand_call_inline): Always use unit-at-a-time path.
3551
3552 2003-10-20 Zack Weinberg <zack@codesourcery.com>
3553
3554 * fixinc/inclhack.def (hpux11_snprintf): New edit.
3555 * fixinc/fixincl.x: Regenerate.
3556 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
3557
3558 2003-10-20 Mark Mitchell <mark@codesourcery.com>
3559
3560 * Makefile.in (install-info): Simplify.
3561 ($(DESTDIR)$(infodir)/%.info): New rule.
3562 * configure.in (target_list): Remove install-info.
3563 * doc/.cvsignore (gcc.info*): Remove.
3564 (gccint.info*): Likewise.
3565 (gccinstall.info*): Likewise.
3566 (cpp.info*): Likewise.
3567 (cppinternals.info*): Likewise.
3568 (*.info*): Add it.
3569 * doc/sourcebuild.texi: Update description of install-info.
3570 * objc/Make-lang.in (objc.install-info): Remove.
3571
3572 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3573
3574 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
3575 Use it in _MIPS_SIM definition.
3576 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
3577
3578 2003-10-20 Zack Weinberg <zack@codesourcery.com>
3579
3580 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
3581 virtual register, but only if file == asm_out_file.
3582 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
3583 for ARG_POINTER_REGNUM.
3584
3585 2003-10-20 Zack Weinberg <zack@codesourcery.com>
3586
3587 * c-common.c (registered_builtin_types): New static.
3588 (c_common_type_for_mode): Consult registered_builtin_types.
3589 (c_register_builtin_type): Add type to registered_builtin_types.
3590 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
3591 all MODE_FLOAT modes, not just the ones corresponding to
3592 float_type_node, double_type_node, and long_double_type_node.
3593
3594 2003-10-20 Richard Henderson <rth@redhat.com>
3595
3596 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
3597 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
3598
3599 2003-10-20 Dorit Naishlos <dorit@il.ibm.com>
3600
3601 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
3602 support new flag -minsert-sched-nops.
3603 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
3604 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
3605 support new flag -minsert-sched-nops.
3606 (is_cracked_insn, is_microcoded_insn): New functions.
3607 (rs6000_sched_finish): New function.
3608 (rs6000_issue_rate): Return 5 for power4.
3609 (get_next_active_insn, insn_terminates_group_p): New
3610 functions.
3611 (is_costly_group, force_new_group): New functions.
3612 (redefine_groups, pad_groups): New functions.
3613 (rs6000_variable_issue): Use new functions.
3614 * doc/invoke.texi (-minsert-sched-nops): Document new
3615 option.
3616
3617 2003-10-20 David S. Miller <davem@redhat.com>
3618
3619 * config/sparc/sparc.md (type attribute): Add new insn types
3620 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
3621 (patterns emitting VIS insns): Use them.
3622 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
3623 * config/sparc/ultra3.md: Likewise.
3624
3625 2003-10-20 Falk Hueffner <falk@debian.org>
3626
3627 PR target/12654
3628 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
3629 comparison against constant by adjusting the argument except for
3630 EQ and NE.
3631
3632 2003-10-19 Mark Mitchell <mark@codesourcery.com>
3633
3634 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
3635 arm1136jfs, and armv6j.
3636 * config/arm/arm.c (FL_ARCH6J): New macro.
3637 (FL_VFPV2): Likewise.
3638 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
3639 and arm1136jfs.
3640 (all_architectures): Add entry for armv6j.
3641 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
3642 arm1136js, and arm1136jfs.
3643 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
3644 (TARGET_CPU_arm1026ej_s): Likewise.
3645 (TARGET_CPU_arm1136j_s): Likewise.
3646 (TARGET_CPU_arm1136jf_s): Likewise.
3647 * doc/invoke.texi: Document new ARM cores and architecture
3648 variants.
3649
3650 2003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3651
3652 * Makefile.in (toplev.o): Add value-prof.h dependency.
3653 (value-prof.o): Add REGS_H dependency.
3654 * common.opt (fprofile-values, fvpt): New.
3655 * flags.h (flag_value_profile_transformations): Declare.
3656 * opts.c (common_handle_option): Handle -fprofile_values and
3657 -fvpt.
3658 * profile.c (branch_prob): Don't remove death notes here.
3659 * timevar.def (TV_VPT): New.
3660 * value-prof.c: Include regs.h.
3661 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
3662 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
3663 mod_subtract_transform, value_profile_transformations): New.
3664 (insn_values_to_profile): Call insn_divmod_values_to_profile.
3665 (find_values_to_profile): Add dumps.
3666 * value-prof.h (value_profile_transformations): Declare.
3667 * toplev.c: Include value-prof.h.
3668 (rest_of_handle_value_profile_transformations): New.
3669 (enum dump_file_index): Add DFI_vpt.
3670 (dump_file): Add vpt dump.
3671 (flag_value_profile_transformations): New.
3672 (lang_independent_options): Add flag_profile_values and
3673 flag_value_profile_transformations.
3674 (rest_of_compilation): Call
3675 rest_of_handle_value_profile_transformations.
3676 (process_options): Let -fvpt imply -fprofile-values.
3677 * doc/invoke.texi (-fvpt): Document.
3678
3679 2003-10-19 Jan Hubicka <jh@suse.cz>
3680
3681 * i386.c (print_reg): Do not abort on certain registers.
3682
3683 PR optimization/12612
3684 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
3685 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
3686 match_scratch; avoid bogus paralles.
3687
3688 PR target/12674
3689 * i386.c (ix86_function_regparm): Disable implicit register passing
3690 conventions when profiling.
3691
3692 2003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
3693 Richard Henderson <rth@redhat.com>
3694
3695 PR optimization/8178
3696 * config/i386/i386.md (*movsi_zero): Delete.
3697 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
3698
3699 2003-10-19 Richard Henderson <rth@redhat.com>
3700
3701 * config/alpha/alpha.c (fix_operator): New.
3702 (divmod_operator): Tidy.
3703 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
3704 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
3705 (PREDICATE_CODES): Update.
3706 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
3707 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
3708 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
3709 (fix_truncsfdi_ieee): Likewise.
3710 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
3711 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
3712 * config/alpha/alpha-protos.h: Update.
3713
3714 2003-10-19 Richard Sandiford <rsandifo@redhat.com>
3715
3716 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
3717 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
3718 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
3719 constant operands.
3720
3721 2003-10-18 Kazu Hirata <kazu@cs.umass.edu>
3722
3723 * doc/extend.texi: Fix typos.
3724 * doc/invoke.texi: Likewise.
3725
3726 2003-10-18 Nicolas Pitre <nico@cam.org>
3727
3728 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
3729 XScale optimizations not arm_arch_xscale.
3730 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
3731
3732 2003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
3733
3734 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
3735 * config/s390/s390.c (shift_count_operand): New function.
3736 (s390_extra_constraint): Use it to implement 'Y' constraint.
3737 (print_shift_count_operand): New function.
3738 (print_operand): Use it to implement '%Y'.
3739 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
3740 (PREDICATE_CODES): Add shift_count_operand.
3741 * config/s390/s390.md ("rotldi3"): Merge alternatives,
3742 using "shift_count_operand" predicate and "Y" constraint,
3743 and "%Y" to output the combined shift count.
3744 ("rotlsi3"): Likewise.
3745 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
3746 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
3747 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
3748 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
3749 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
3750 ("lshrsi3"): Likewise.
3751
3752 2003-10-18 Gunther Nikl <gni@gecko.de>
3753
3754 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
3755 argument to asm_fprintf statement.
3756
3757 2003-10-18 Fariborz Jahanian <fjahanian@apple.com>
3758
3759 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
3760 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
3761 a "long long" argument.
3762
3763 2003-10-18 Alexandre Oliva <aoliva@redhat.com>
3764
3765 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
3766 as well.
3767
3768 2003-10-18 Richard Sandiford <rsandifo@redhat.com>
3769
3770 * rtl.h (rtl_size): Declare.
3771 (rtunion): Remove rtwint.
3772 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
3773 (RTX_HDR_SIZE, RTX_SIZE): New macros.
3774 (RTL_CHECK1): Adjust for new rtx_def layout.
3775 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
3776 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
3777 (X0WINT): Remove.
3778 (X0ANY): New macro.
3779 * rtl.def: Adjust comments for new rtx_def layout.
3780 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
3781 number of slots.
3782 * rtl.c (rtx_size): New array.
3783 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
3784 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3785 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
3786 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
3787 * emit-rtl.c (copy_most_rtx): Likewise.
3788 (copy_rtx_if_shared): Use RTX_SIZE.
3789 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
3790 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
3791 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
3792 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
3793 an array. Adjust output for new rtx_def layout.
3794 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
3795 * reload1.c (eliminate_regs): Use RTX_SIZE.
3796 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
3797 * gdbinit.in (pi): Likewise.
3798
3799 2003-10-18 Jan Hubicka <jh@suse.cz>
3800
3801 * integrate.c (copy_decl_for_inlining): Revert previous patch.
3802
3803 2003-10-18 Jan Hubicka <jh@suse.cz>
3804
3805 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
3806
3807 2003-10-18 Roger Sayle <roger@eyesopen.com>
3808
3809 * libgcc.texi: Group multi-word types, such as "long double" and
3810 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
3811 Document __unord?f2 as returning a non-zero value, not just one.
3812
3813 2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
3814
3815 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
3816 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
3817
3818 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3819
3820 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
3821 match_operand.
3822
3823 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3824
3825 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
3826 parameter packed_p. Search for a DECL_PACKED field only if
3827 packed_p is false. Pass packed_p recursively.
3828 (function_arg_record_value_2): Likewise.
3829 (function_arg_record_value): Update calls to
3830 function_arg_record_value_1 and function_arg_record_value_2.
3831
3832 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3833
3834 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
3835 was successfully forced to memory before using the result.
3836
3837 2003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
3838
3839 PR optimization/8178
3840 * config/i386/i386.md (*movsi_zero): New insn to set
3841 a register to zero on TARGET_USE_MOV0 targets.
3842
3843 2003-10-18 Kelley Cook <kcook@gcc.gnu.org>
3844
3845 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
3846 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
3847
3848 2003-10-17 David Edelsohn <edelsohn@gnu.org>
3849
3850 * doc/invoke.texi (gcse-las): Fix typo.
3851
3852 2003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
3853
3854 * doc/install.texi: Remove first part of the sentence for
3855 zsh not working. Change gcc to GCC.
3856
3857 PR bootstrap/12546
3858 * doc/install.texi: Document that zsh does not work when
3859 configuring gcc.
3860
3861 2003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
3862
3863 * config/ptx4.h: Switch to DWARF 2; update comments.
3864
3865 2003-10-17 Segher Boessenkool <boessen@de.ibm.com>
3866 Hartmut Penner <hpenner@de.ibm.com>
3867
3868 PR 10404, partial 11591, partial 11601
3869 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
3870 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
3871 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
3872 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
3873 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
3874 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
3875 (altivec_expand_stv_builtin): Adjust for the memory_operand.
3876 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
3877 (altivec_init_builtins): Use `long int' for memory offsets.
3878
3879 2003-10-17 Jan Hubicka <jh@suse.cz>
3880
3881 * opts.c (common_handle_option): Handle OPT_fweb
3882 * invoke.texi (-fweb): Add missing parts of documentation.
3883
3884 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3885
3886 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
3887 before redefinition.
3888
3889 2003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
3890
3891 * common.opt: Add description of the new -fgcse-las flag.
3892 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
3893 * gcse.c (hash_scan_set): Handle the case of store expression and
3894 insert the memory expression to the hash table, this way we make it
3895 possible to discover redundant loads after stores and remove them.
3896 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
3897 to pre_insert_copies, it is not the correct place to call it after
3898 adding stores to be in the available expression hash table.
3899 (pre_insert_copies): Added the call to update_ld_motion_stores when
3900 one or more copies were inserted.
3901 * opts.c (common_handle_option): Handle the -fgcse-las flag.
3902 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
3903
3904 * doc/invoke.tex: Document new -fgcse-las flag.
3905
3906 2003-10-18 Alan Modra <amodra@bigpond.net.au>
3907
3908 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
3909 for posterity, then remove it.
3910
3911 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
3912 Nathan Sidwell <nathan@codesourcery.com>
3913
3914 * config/arm/arm.c (use_return_insn): Not a single instruction, if
3915 there's a frame pointer.
3916 (arm_output_epilogue): Protect stack pointer from being corrupted
3917 on interrupt.
3918
3919 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3920
3921 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
3922
3923 2003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
3924
3925 * combine.c (simplify_set): Do not clear out undobuf.other_insn
3926 already set elsewhere.
3927
3928 2003-10-17 Kelley Cook <kcook@gcc.gnu.org>
3929
3930 * config/i386/i386.c (ix86_expand_prologue): Use
3931 gen_allocate_stack_worker.
3932
3933 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3934
3935 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3936 without gas.
3937 (mips-sgi-irix6*): Likewise.
3938
3939 * config/mips/iris6gas.h: New file.
3940 * gcc/config.gcc (mips-sgi-irix6*): Use it.
3941
3942 * config/mips/mips.h (TARGET_IRIX): Provide default.
3943 (TARGET_IRIX5): Likewise.
3944 (TARGET_SGI_O32_AS): Likewise.
3945 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3946 (TARGET_IRIX5): Likewise.
3947 * config/mips/iris6.h (TARGET_IRIX6): Remove.
3948 (TARGET_IRIX5): Redefine as 0.
3949
3950 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3951 linker workaround with TARGET_IRIX and mips_abi instead of
3952 ASM_OUTPUT_UNDEF_FUNCTION.
3953 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3954 testing TARGET_IRIX and mips_abi explicitly.
3955 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3956 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3957
3958 * config/mips/mips.c (irix_output_external_libcall): Renamed from
3959 mips_output_external_libcall.
3960 Use new TARGET_IRIX in guard.
3961 * config/mips/mips-protos.h (irix_output_external_libcall): Match
3962 this.
3963 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3964
3965 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3966 Define as 0.
3967
3968 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
3969 depending on mips_abi.
3970 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3971 * config/mips/mips.c (mips_output_function_prologue): Test
3972 FUNCTION_NAME_ALREADY_DECLARED at runtime.
3973 (mips_output_function_epilogue): Likewise.
3974 (build_mips16_function_stub): Likewise.
3975 (build_mips16_call_stub): Likewise.
3976 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3977 default.
3978
3979 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3980 IRIX 6 O32 assembler.
3981 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3982 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3983 _MIPS_SIM for O32 ABI.
3984 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3985 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3986 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3987 Integrate O32 version.
3988 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3989 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3990 O32 ABI.
3991 (BSS_SECTION_ASM_OP_32): Define.
3992 (BSS_SECTION_ASM_OP_64): Likewise.
3993 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3994 using them.
3995 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3996 Move up to allow override for O32 ABI without GNU as.
3997 (EH_FRAME_SECTION_NAME): Define explicitly.
3998 (MUST_USE_SJLJ_EXCEPTIONS): Define.
3999 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
4000 DTORS_SECTION_ASM_OP): Dummy definitions.
4001 (TARGET_ASM_NAMED_SECTION): Undef statically.
4002 (EH_FRAME_SECTION_NAME): Likewise.
4003 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
4004 (LINK_SPEC): Only use default options -call_shared -no_unresolved
4005 without -r.
4006 Don't pass -init, -fini with -mabi=32.
4007 (COLLECT_PARSE_FLAG): Define.
4008
4009 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
4010 TARGET_IRIX.
4011 Renamed to use irix_ prefix.
4012 (iris6_asm_named_section): Likewise.
4013 (iris_section_align_entry_eq): Likewise.
4014 (iris_section_align_entry_hash): Likewise.
4015 (iris6_file_start): Likewise.
4016 (iris6_section_align_1): Likewise.
4017 (iris6_file_end): Likewise.
4018 (iris6_section_type_flags): Likewise.
4019 (iris_section_align_htab): Likewise.
4020 (iris_orig_asm_out_file): Likewise.
4021 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
4022 (TARGET_ASM_FILE_END): Likewise.
4023 (TARGET_SECTION_TYPE_FLAGS): Likewise.
4024
4025 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
4026 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
4027 override_options instead.
4028 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
4029 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
4030 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
4031 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
4032 assemblers.
4033 Likewise for constructor/destructor handling.
4034 (override_options): Handle IRIX O32 assembler quirks.
4035 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
4036 without gas.
4037 (mips_file_start): Use new TARGET_IRIX.
4038 (mips_declare_object_name): No special processing for IRIX O32
4039 assembler.
4040 (mips_finish_declare_object): Likewise.
4041 (irix_asm_output_align): Renamed from iris6_asm_output_align.
4042 Don't record alignment for O32 ABI.
4043 (irix_file_start): Renamed from iris6_file_start.
4044 Return early for O32 ABI.
4045 (irix_file_end): Renamed from iris6_file_end.
4046 Don't emit .section directives for O32 ABI.
4047 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
4048 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
4049
4050 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
4051 (MULTILIB_OSDIRNAMES): Likewise.
4052
4053 2003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4054
4055 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
4056 (main): Use it.
4057 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
4058
4059 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4060
4061 * arm-modes.def (CC_Nmode): New condition code mode.
4062 * arm.c (thumb_condition_code): Delete.
4063 (arm_select_cc_mode): Handle single-bit test for Thumb.
4064 (arm_print_operand, cases 'd' and 'D'): Don't special case the
4065 condition code logic for Thumb.
4066 (get_arm_condition_code): Handle CC_Nmode.
4067 (thumb_cbrch_target_operand): New function.
4068 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
4069 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
4070 * arm.md: Add Thumb split patterns for zero_extract and
4071 sign_extract.
4072 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
4073 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
4074 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
4075 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
4076 (cbranchne_decr1): Re-work to use CC_Nmode.
4077
4078 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
4079 by the return instruction. Add a use of the link register if it
4080 wasn't stored.
4081
4082 2003-10-17 Richard Earnshaw <rearnsha@arm.com>
4083
4084 * flow.c (init_propagate_block_info): Don't abort if a conditional
4085 jump is not a comparison of a register. Instead, just don't record
4086 conditional life information.
4087
4088 2003-10-16 Jan Hubicka <jh@suse.cz>
4089
4090 PR optimization/12630
4091 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
4092 for operands 7 and 8.
4093
4094 2003-10-16 Kelley Cook <kcook@gcc.gnu.org>
4095
4096 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
4097
4098 2003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
4099
4100 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
4101
4102 * config/i386/winnt.c (gen_stdcall_suffix): Make static
4103 (gen_fastcall_suffix): Likewise.
4104 (i386_pe_dllexport_p): Likewise.
4105 (i386_pe_dllimport_p): Likewise.
4106 (i386_pe_mark_dllexport): Likewise.
4107 (i386_pe_mark_dllimport): Likewise.
4108 (i386_pe_asm_named_section): Fix formatting.
4109
4110 2003-10-16 Zack Weinberg <zack@codesourcery.com>
4111
4112 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
4113 * system.h: Declare snprintf if necessary.
4114 * configure, config.in: Regenerate.
4115
4116 2003-10-15 David Edelsohn <edelsohn@gnu.org>
4117
4118 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4119 arguments if TARGET_ALTIVEC_ABI.
4120
4121 2003-10-15 Roger Sayle <roger@eyesopen.com>
4122
4123 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
4124 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
4125 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
4126 New functions.
4127 (expand_builtin_memcpy): Use integer_zerop instead of testing
4128 host_integerp and tree_low_cst directly. Move misapplied hunk
4129 for optimization wher SRC and DEST point to the same location.
4130 (expand_builtin_mempcpy): From here.
4131 (expand_builtin_memmove): Use integer_zerop instead of testing
4132 host_integerp and tree_low_cst_directly.
4133 (expand_builtin_memset): Likewise.
4134 (expand_builtin_memcmp): Likewise (and for integer_onep).
4135 (expand_builtin_strncmp): Likewise.
4136 (fold_builtin): Call the appropriate fold_builtin_foo functions
4137 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
4138 strcmp and strncmp.
4139
4140 2003-10-15 Geoffrey Keating <geoffk@apple.com>
4141
4142 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
4143 prototype. Clean up some whitespace.
4144 * config/darwin.c: Use gen_rtx_FOO (...) rather than
4145 gen_rtx (FOO, ...).
4146 (machopic_non_lazy_ptr_name): Make static.
4147 (name_needs_quotes): Allow '.' and '$' unquoted.
4148 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
4149 case.
4150
4151 2003-10-15 Gábor Lóki <alga@rgai.hu>
4152
4153 * fold-const.c (tree_swap_operands_p): Disable some features
4154 when optimizing for size.
4155
4156 2003-10-15 David Daney <ddaney@avtrex.com>
4157
4158 * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
4159 * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
4160 from leaf functions.
4161 (DWARF_FRAME_RETURN_COLUMN): Ditto.
4162 (SIGNAL_UNWIND_RETURN_COLUMN): New, used
4163 by MD_FALLBACK_FRAME_STATE_FOR.
4164 * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
4165
4166 2003-10-15 Zack Weinberg <zack@codesourcery.com>
4167
4168 * genmodes.c: Include hashtab.h.
4169 (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
4170 (adj_bytesize, adj_alignment, adj_format, new_adjust)
4171 (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
4172 (print_maybe_const_decl, emit_mode_adjustments): New.
4173 (known_modes): Rename to modes.
4174 (find_mode): Kill class argument; look up in hash table.
4175 (new_mode): Insert into hash table also.
4176 (new_adjust): New.
4177 (reset_float_format, make_partial_integer_mode)
4178 (make_vector_mode): Tweak error reporting.
4179 (reset_float_format): Correct type of fourth argument.
4180 (emit_insn_modes_h): Add #defines to help make mode_size,
4181 mode_base_align, and real_format_for_mode conditionally const.
4182 (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
4183 (emit_real_format_for_mode): Likewise, but temporarily disabled.
4184 (emit_insn_modes_c): Call emit_mode_adjustments.
4185 (main): Initialize modes_by_name.
4186 * Makefile.in: Update dependencies.
4187 * machmode.def: Document EXPR arguments and new ADJUST_* statements.
4188 * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
4189 declarations of mode_size and mode_base_align. Declare
4190 init_adjust_machine_modes.
4191 * toplev.c (backend_init): Call init_adjust_machine_modes.
4192
4193 2003-10-15 Olivier Hainque <hainque@act-europe.fr>
4194
4195 * genmodes.c (calc_wider_mode): Allocate enough room for all the
4196 entries we'll possibly assign in the sort buffer.
4197
4198 2003-10-15 Ulrich Weigand <uweigand@de.ibm.com>
4199
4200 * config.gcc (s390x-ibm-tpf*): New target.
4201 * doc/install.texi: Document it.
4202 * config/s390/t-tpf: New file.
4203 * config/s390/tpf.h: New file.
4204
4205 2003-10-15 Hans-Peter Nilsson <hp@axis.com>
4206
4207 PR target/12598
4208 * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
4209 (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
4210 Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
4211 ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
4212 (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
4213 (define_split "*mov_sidesi_mem"+28, +29, +30): Use
4214 replace_equiv_address, not gen_rtx_MEM.
4215 * config/cris/cris.c (cris_mem_op): New match_operator function.
4216 (cris_notice_update_cc): Use replace_equiv_address, not
4217 gen_rtx_MEM.
4218 * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
4219
4220 2003-10-15 Bernardo Innocenti <bernie@develer.com>
4221
4222 * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
4223 MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
4224 definitions after the other flags.
4225
4226 2003-10-14 Ziemowit Laski <zlaski@apple.com>
4227
4228 * c-parse.in (methoddef, methodproto): Call objc_add_method()
4229 instead of add_method().
4230 * objc/objc-act.c (objc_check_decl): Do not check for
4231 constant_string_type.
4232 (add_method): Rename to objc_add_method().
4233 (really_start_method): Call objc_add_method() instead of
4234 add_method().
4235 * objc/objc-act.h (add_method): Rename to objc_add_method().
4236
4237 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
4238
4239 * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
4240 (s390_slb_comparison): Likewise.
4241 * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
4242 New functions.
4243 * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
4244 and s390_slb_comparison.
4245 * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
4246 zSeries machines.
4247 ("*adddi3_31z", "*subdi3_31z"): New insns.
4248 ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
4249 "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
4250 New insns.
4251
4252 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
4253
4254 * configure.in: Clean up some feedback echoes.
4255 * configure: Regenerate.
4256
4257 * aclocal.m4: Properly quote names of macros being defined.
4258
4259 * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
4260
4261 2003-10-14 Steve Ellcey <sje@cup.hp.com>
4262
4263 * config/ia64/ia64.c (ia64_expand_call): Force function address
4264 to DImode.
4265 * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
4266
4267 2003-10-14 Ulrich Weigand <uweigand@de.ibm.com>
4268
4269 * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
4270 "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
4271 ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
4272 "*divsf3_ibm"): Likewise.
4273
4274 2003-10-14 Nathanael Nerode <neroden@gcc.gnu.org>
4275
4276 * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
4277 target_alias with target_noncanonical.
4278
4279 2003-10-14 Geoffrey Keating <geoffk@apple.com>
4280
4281 * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
4282 and add case for machines where outgoing register parameters
4283 get stack space.
4284
4285 * config/darwin.c (machopic_indirect_data_reference): Use a scratch
4286 register when generating indirect address.
4287
4288 2003-10-14 Richard Earnshaw <rearnsha@arm.com>
4289
4290 * arm.c (arm_addimm_operand): MODE arguemnt is unused.
4291 * arm.md (cbranchne_decr1): Fix bootstrap warning.
4292
4293 2003-10-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4294
4295 * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
4296 * fixinc/fixincl.x: Regenerate.
4297 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
4298 testcase.
4299 Fixes PR bootstrap/9330.
4300
4301 2003-10-13 Eric Christopher <echristo@redhat.com>
4302
4303 * config/frv/frv.c (frv_adjust_field_align): Redo check for
4304 too wide bitfields.
4305 (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
4306 * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
4307 (SBSS_SECTION_ASM_OP): Remove.
4308 (EXTRA_SECTIONS): Remove in_sbss.
4309 (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
4310 (SBSS_SECTION_FUNCTION, sbss_section): Remove.
4311 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
4312 named_section.
4313
4314 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
4315
4316 * Makefile.in, configure.in, config.host, mkheaders.in: Replace
4317 uses of ${target_alias} for directory names (and other places which
4318 won't like the empty string) with ${target_noncanonical}. Introduce
4319 call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
4320 available.
4321 * configure: Regenerate.
4322
4323 2003-10-13 Ian Lance Taylor <ian@wasabisystems.com>
4324
4325 * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
4326 * config/arm/arm.md: For splits which rely on conditional moves,
4327 remove ! TARGET_IWMMXT condition.
4328
4329 2003-10-13 David S. Miller <davem@redhat.com>
4330
4331 * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
4332 (find_cond_trap): Always increment if we emit a conditional
4333 trap insn.
4334
4335 2003-10-13 Zack Weinberg <zack@codesourcery.com>
4336
4337 * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
4338 with min-insn-modes.o.
4339 (STAGESTUFF): Add min-insn-modes.c.
4340 (genobjs): Add genmodes.o.
4341 (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
4342 (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
4343 (min-insn-modes.c, min-insn-modes.o): New rules.
4344 (s-modes): Also generate min-insn-modes.c.
4345 ($(BUILD_PREFIX_1)insn-modes.o): Kill.
4346 * genmodes.c (struct mode_data): Add format field.
4347 (blank_mode, validate_mode, complete_mode): Update to match.
4348 (make_scalar_mode): Separate into make_int_mode and make_float_mode.
4349 (_SCALAR_MODE): Kill.
4350 (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
4351 (emit_insn_modes_c_header): Adjust.
4352 (emit_min_insn_modes_c_header, emit_real_format_for_mode)
4353 (emit_min_insn_modes_c): New functions.
4354 (emit_insn_modes_c): Call emit_real_format_for_mode.
4355 (main): Add -m option to generate min-insn-modes.c.
4356 * machmode.h: Update documentation. Add format argument to
4357 all uses of FLOAT_MODE.
4358 * real.c: Don't define real_format_for_mode here.
4359
4360 * dwarfout.c: Move default definition of PRINT_REG...
4361 * defaults.h: ...here.
4362 * print-rtl.c: Include tm_p.h.
4363 (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
4364 Kill.
4365 (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG. But surround
4366 this entire block with #ifndef GENERATOR_FILE.
4367 * regclass.c: Unconditionally define reg_names.
4368 * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
4369 Don't define DEBUG_REGISTER_NAMES.
4370 * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
4371 redefinition of REGISTER_NAMES.
4372 * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
4373
4374 * combine.c: Change all preprocessor conditionals on
4375 EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
4376 for clarity.
4377 * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
4378 * configure.in: Don't define EXTRA_CC_MODES.
4379 * configure, config.in: Regenerate.
4380 * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
4381
4382 * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
4383 May assume that GET_MODE_CLASS is accurate for extra CC modes
4384 at all times.
4385
4386 * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
4387 number of arguments to aggregate_value_p.
4388
4389 * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
4390 * machmode.def: Explain ARCH-modes.def. Document
4391 RESET_FLOAT_FORMAT. Improve commentary on various mode
4392 clusters. Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
4393 XF, or TF modes here. Remove backward-compatibility
4394 definition of CC.
4395
4396 * config/alpha/alpha-modes.def: New file; define TF mode.
4397 * config/arc/arm-modes.def: Define XF mode.
4398 * config/c4x/c4x-modes.def: Define QF and HF modes. Unset
4399 float format for SF and DF modes.
4400 * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
4401 * config/i386/i386-modes.def: Define XF and TF modes.
4402 * config/i960/i960-modes.def: Define TF mode.
4403 * config/ia64/ia64-modes.def: Define TF and OI modes.
4404 * config/m68k/m68k-modes.def: New file; define XF mode.
4405 * config/mips/mips-modes.def: New file; define TF mode, reset
4406 formats for SF and DF modes.
4407 * config/pa/pa-modes.def: Define TF mode.
4408 * config/rs6000/rs6000.c: Define TF and PSI modes.
4409 * config/s390/s390-modes.def: Define OI mode.
4410 * config/sh/sh-modes.def: New file; define PSI mode.
4411 * config/sparc/sparc-modes.def: Define TF mode.
4412 * config/vax/vax-modes.def: New file; reset formats for SF and
4413 DF modes.
4414
4415 * config/c4x/c4x.c (c4x_override_options): No need to mess
4416 with real_format_for_mode or set REAL_MODE_FORMATs.
4417 (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
4418 variable.
4419 * config/i386/i386.c (override_options): No need to set
4420 REAL_MODE_FORMATs here.
4421 * config/i960/i960.c (i960_initialize): Likewise.
4422 * config/m68k/m68k.c (m68k_override_options): Likewise.
4423 * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
4424 for TFmode only if not the default.
4425 * config/mips/mips.c (override_options): Likewise.
4426 * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
4427 DFmode only if not the default.
4428
4429 * config/i370/i370.h (RET_REG): Don't consider TFmode.
4430 * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
4431 * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
4432 of modes that don't appear anywhere in the machine description.
4433
4434 * config/arc/arc-modes.def, config/arm/arm-modes.def
4435 * config/c4x/c4x-modes.def, config/frv/frv-modes.def
4436 * config/i386/i386-modes.def, config/i960/i960-modes.def
4437 * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
4438 * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
4439 * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
4440 * config/sparc/sparc-modes.def: Convert to new style for
4441 declaring extra CC modes.
4442
4443 2003-10-13 Zack Weinberg <zack@codesourcery.com>
4444
4445 * cpplex.c (_cpp_clean_line): In the common case of a line
4446 with no trigraphs and no \-newline, avoid writing to memory.
4447 (_cpp_skip_block_comment): Use a local 'cur' pointer instead
4448 of the buffer member. Make c an uchar to avoid unnecessary
4449 sign extensions.
4450
4451 2003-10-13 Nathanael Nerode <neroden@gcc.gnu.org>
4452
4453 * configure.in: Remove unnecessary test.
4454 * configure: Regenerate.
4455
4456 * configure.in: Fix grammatical error. Move UWIN host error to...
4457 * config.host: Here.
4458 * configure: Regenerate.
4459
4460 2003-10-13 Andreas Krebbel <krebbel1@de.ibm.com>
4461
4462 * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
4463 "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
4464 of flag_unsafe_math_optimizations.
4465 * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
4466 "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
4467 fused-madd and no-fused-madd.
4468 * doc/invoke.texi: Documented the new options fused-madd and
4469 no-fused-madd for S/390.
4470
4471 2003-10-14 Alan Modra <amodra@bigpond.net.au>
4472
4473 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
4474 MASK_ALIGN_NATURAL if rs6000_alignment_string not given. Don't
4475 assign DEFAULT_ABI.
4476 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
4477 * config/rs6000/rs6000.c: Formatting.
4478 (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
4479 when rs6000_alignment_string given.
4480
4481 2003-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
4482
4483 PR target/12538
4484 * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
4485 (sparc_flat_must_save_register_p): New function to decide whether
4486 a register must be saved/restored in the function prologue/epilogue.
4487 (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
4488
4489 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
4490
4491 * config/avr/avr.c, config/avr/avr-protos.h: Convert to
4492 ISO C90 function declarations and definitions.
4493 * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
4494
4495 2003-10-12 Nathanael Nerode <neroden@gcc.gnu.org>
4496
4497 * config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
4498 config files which do the same thing.
4499 * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
4500 config/freebsd6.h: Remove now unnecessary files.
4501
4502 2003-10-12 Steven Bosscher <steven@gcc.gnu.org>
4503
4504 * c-common.c (c_common_truthvalue_conversion): Warn if the
4505 address of a non-weak function is used as a truth value.
4506
4507 2003-10-12 Kazu Hirata <kazu@cs.umass.edu>
4508
4509 * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
4510 a literal.
4511 * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
4512 instead of a literal.
4513
4514 2003-10-12 Hans-Peter Nilsson <hp@bitrange.com>
4515
4516 * doc/extend.texi (Function Attributes): Mention the exceptional
4517 path for noreturn-marked functions.
4518
4519 2003-10-12 Jan Hubicka <jh@suse.cz>
4520
4521 * cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
4522 warning.
4523
4524 2003-10-12 Danny Smith <dannysmith@users.sourceforge.net>
4525
4526 * config/i386/i386.c (x86_this_parameter): Fix typo.
4527
4528 203-10-11 Jan Hubicka <jh@suse.cz>
4529
4530 * Makefile.in (web.o): New.
4531 * web.c: New file.
4532 * rtl.h (web_main): Declare.
4533 * timervar.def (TV_WEB): New.
4534 * toplev.c (dump_file_index, dump_file_info): Add DFI_web.
4535 (rest_of_hanle_web): New.
4536 (flag_web): New static variable.
4537 (lang_independent_options): Add "web".
4538 (rest_of_compilation): Call rest_of_handle_web.
4539 * invoke.texi (-fweb): Document.
4540 * common.opt (fweb): New.
4541 * flags.h (flag_web): New.
4542 * opts.c (decode_options): Set flag_web at -O3.
4543
4544 * passes.texi (web construction): Document.
4545 * invoke.texi (-O3): Document that -fweb is enabled.
4546
4547 * regrename.c (regrename_optimize): Deal better with situation when
4548 replacement failed.
4549
4550 * sched-ebb.c: Include params.h and profile.h
4551 (schedule_ebbs): Use tracer parameters to discover superblocks
4552 * Makefile.in (sched-ebb.o): Add dependencies.
4553
4554 2003-10-11 Roger Sayle <roger@eyesopen.com>
4555
4556 * fold-const.c (negate_mathfn_p): New function to determine whether
4557 a built-in mathematical function is sign preserving, f(-x) == -f(x).
4558 Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
4559 (tree_swap_operands_p): Change API to take an additional argument
4560 indicating that the swapped operands evaluate in reverse order.
4561 Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
4562 operand side-effects or we don't care about flag_evaluation_order.
4563 (reorder_operands_p): New function to check whether its safe to
4564 evaluate the given operands in reverse order.
4565 (negate_expr_p): We can always negate integer constants unless
4566 we honor -ftrapv and the signed type would overflow. Only allow
4567 -(A-B) into B-A if reorder_operands_p says that its OK. Allow
4568 negation of COMPLEX_CST if both real and imaginary parts can be
4569 negated. Allow negation through floating point extensions and
4570 sign-preserving built-in functions.
4571 (negate_expr): Move the code to negate integers from "fold" to
4572 here. Always negate integer constants unless we honor -ftrapv
4573 and the signed type would overflow. Always negate real constants
4574 unless we honor -ftrapping-math. Only convert -(A-B) into B-A
4575 if allowed by reorder_operands_p. Add support for COMPLEX_CST.
4576 Optimize negation through floating point extensions and
4577 sign-preserving built-in functions (as defined by negate_mathfn_p).
4578 (fold): Adjust calls to tree_swap_operands_p.
4579 (fold <NEGATE_EXPR>): Move the remaining negation optimizations
4580 to negate_expr_p/negate_expr.
4581 (fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
4582 allowed to convert (-A) - B into (-B) - A.
4583
4584 2003-10-11 Roger Sayle <roger@eyesopen.com>
4585
4586 * builtins.c (expand_builtin_strcmp): Defend against the possibility
4587 that gen_cmpstrsi may fail: Stabilize the argument list against
4588 re-evaluation and expand the library call directly using this saved
4589 argument list if a cmpstrsi sequence can't be generated.
4590 (expand_builtin_strncmp): Likewise.
4591
4592 * config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
4593
4594 2003-10-11 Roger Sayle <roger@eyesopen.com>
4595
4596 PR optimization/12260
4597 * simplify-rtx.c (simplify_unary_operation): Simplify all unary
4598 operations through CONST nodes. Optimize (neg (plus X C)) as
4599 (minus -C X) for constant values C.
4600 (simplify_binary_operation): Optimize (minus (neg X) C) as
4601 (minus -C X) for constant values C.
4602 (simplify_plus_minus): Avoid creating (neg (const (plus X C)),
4603 instead create (minus -C X).
4604
4605 2003-10-11 Roger Sayle <roger@eyesopen.com>
4606
4607 * expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
4608 safe_from_p for us, once it chooses an evaluation order.
4609 (expand_expr <MULT_EXPR>): Likewise.
4610 (expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise. If expand_operands
4611 places the second operand in "target", swap the operands.
4612 (do_store_flag): Let expand_operands call safe_from_p for us.
4613
4614 2003-10-11 Eric Botcazou <ebotcazou@libertysurf.fr>
4615
4616 PR optimization/12544
4617 * function.c (put_var_into_stack): Don't generate ADDRESSOFs
4618 for DECL_NONLOCAL decls.
4619
4620 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
4621
4622 * expr.c: Follow spelling conventions.
4623 * final.c: Likewise.
4624 * optabs.c: Likewise.
4625 * sched-deps.c: Likewise.
4626 * sdbout.c: Likewise.
4627
4628 Sat Oct 11 12:24:23 CEST 2003 Jan Hubicka <jh@suse.cz>
4629
4630 * varasm.c (notice_global_symbol): Fix handling of variables; avoid
4631 re-computing of variable.
4632
4633 2003-10-11 Richard Henderson <rth@redhat.com>
4634
4635 * config/alpha/alpha.c (alpha_return_in_memory): Rename from
4636 return_in_memory, make static, change signature to match target hook.
4637 (alpha_setup_incoming_varargs): Make static, change signature to
4638 match target hook, add code for vms and unicos.
4639 (TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
4640 TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
4641 TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
4642 TARGET_STRICT_ARGUMENT_NAMING,
4643 TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
4644 * config/alpha/alpha-protos.h: Update.
4645 * config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
4646 PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
4647 SETUP_INCOMING_VARARGS): Remove.
4648 * config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
4649 * config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
4650
4651 2003-10-11 Ian Lance Taylor <ian@wasabisystems.com>
4652
4653 * config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
4654
4655 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
4656
4657 * config/m68k/lb1sf68.asm: Follow spelling conventions.
4658 * config/m68k/m68k.c: Likewise.
4659 * config/m68k/m68k.h: Likewise.
4660 * config/m68k/m68k.md: Likewise.
4661
4662 2003-10-11 Roger Sayle <roger@eyesopen.com>
4663
4664 * builtins.c (expand_builtin_memcpy): Optimize case when the two
4665 pointer arguments are the equal, non-volatile and side-effect free.
4666 (expand_builtin_mempcpy): Likewise.
4667 (expand_builtin_memmove): Likewise.
4668 (expand_builtin_strcpy): Likewise.
4669 (expand_builtin_memcmp): Likewise.
4670 (expand_builtin_strcmp): Likewise.
4671 (expand_builtin_strncmp): Likewise.
4672
4673 2003-10-11 Roger Sayle <roger@eyesopen.com>
4674
4675 * combine.c (apply_distributive_law): Enable "distributive" floating
4676 point optimizations with -funsafe-math-optimizations.
4677
4678 2003-10-11 Andrew Pinski <pinskia@physics.uc.edu>
4679
4680 * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
4681
4682 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
4683
4684 * config/m68k/m68k-protos.h: Remove the prototype for
4685 finalize_pic.
4686
4687 2003-10-11 Kazu Hirata <kazu@cs.umass.edu>
4688
4689 * config/m68k/m68k.c: Fix comment typos.
4690
4691 2003-10-11 Bernardo Innocenti <bernie@develer.com>
4692
4693 * config/m68k/m68k-protos.h (use_return_insn): Change return type from
4694 int to bool.
4695 * config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
4696 (current_frame): New global var.
4697 (m68k_compute_frame_layout): Cache computations in current_frame.
4698 (m68k_initial_elimination_offset): Use values from current_frame
4699 instead of recomputing them.
4700 (use_return_insn): Likewise.
4701 (m68k_output_function_prologue): Likewise.
4702 (m68k_output_function_epilogue): Likewise.
4703 * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
4704 inside the block for __pic__.
4705
4706 2003-10-11 Peter Barada <peter@baradas.org>
4707 Bernardo Innocenti <bernie@develer.com>
4708
4709 * config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
4710 (m68k_save_reg): Add boolean parameter `interrupt_handler'.
4711 (m68k_interrupt_function_p): New function.
4712 (m68k_handle_fndecl_attribute): Ditto.
4713 (m68k_compute_frame_layout): Ditto.
4714 (m68k_attribute_table): Define back-end specific attributes.
4715 (m68k_output_function_epilogue): Emit RTE instruction for interrupt
4716 functions.
4717
4718 2003-10-11 Bernardo Innocenti <bernie@develer.com>
4719
4720 * config/m68k/t-uclinux: New target Makefile fragment.
4721 * config/m68k/uclinux.h: New target macro file.
4722 * config.gcc (m68k-*-uclinux): New target definition.
4723
4724 2003-10-10 Roger Sayle <roger@eyesopen.com>
4725
4726 * builtins.c (builtin_mathfn_code): Generalize to check whether
4727 the call is to any built-in function by comparing the call's
4728 argument list against the builtin decl's function type.
4729
4730 2003-10-10 Roger Sayle <roger@eyesopen.com>
4731
4732 * cse.c (constant_pool_entries_regcost): New global variable to
4733 hold the register cost component of constant_pool_entries_cost.
4734 (fold_rtx): Calculate constant_pool_entries_regcost at the same
4735 time as constant_pool_entries_cost.
4736 (cse_insn): Set both src_folded_cost and src_folded_regcost from
4737 constant_pool_entries_cost and constant_pool_entries_regcost.
4738 (cse_main): Initialize constant_pool_entries_regcost to zero.
4739
4740 * optabs.c (expand_unop): Attach a REG_EQUAL note describing
4741 the semantics of the sequence of bit operations used to negate
4742 a floating-point value.
4743 (expand_abs_nojump): Likewise attach a REG_EQUAL note describing
4744 the semantics of the bit operations used to abs a floating point
4745 value.
4746
4747 2003-10-11 Bernardo Innocenti <bernie@develer.com>
4748 Paul Dale <pauli@snapgear.com>
4749
4750 * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
4751 support.
4752 * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
4753 -fpic, -fPIC, -msep-data and -mid-shared-library.
4754 * config/m68k/m68k.c (m68k_library_id_string): New global variable.
4755 (override_options): Add -msep-data and -mshared-library-id support.
4756 (m68k_output_function_prologue): Generate code to load A5 for
4757 TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
4758 (m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
4759 (m68k_output_pic_call): New function.
4760 * gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
4761 (TARGET_ID_SHARED_LIBRARY): Ditto.
4762 (TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
4763 * gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
4764 (call_value): Likewise.
4765
4766 2003-10-10 Zack Weinberg <zack@codesourcery.com>
4767
4768 * gengenrtl.c (find_formats, genheader): Make i an unsigned
4769 int, remove cast of NUM_RTX_CODE.
4770 * machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
4771 entire file. Remove the #ifs on GET_MODE_MASK etc and
4772 GET_MODE_WIDER_MODE etc.
4773
4774 2003-10-10 Eric Christopher <echristo@redhat.com>
4775
4776 * lcm.c (optimize_mode_switching): Change NORMAL_MODE
4777 to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
4778 that set mode.
4779 * config/sh/sh.h (MODE_ENTRY): New macro.
4780 (MODE_EXIT): Ditto.
4781 (MODE_AFTER): Ditto.
4782 * config/sh/sh.md: Change for MODE_AFTER. Add
4783 fp_set attribute.
4784 * doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
4785
4786 2003-10-10 Zack Weinberg <zack@codesourcery.com>
4787
4788 * genmodes.c, mode-classes.def: New files.
4789 * machmode.def: Rewritten to genmodes.c interface.
4790 * Makefile.in (extra_modes_file): New substitution variable.
4791 (MACHMODE_H): No longer includes machmode.def or
4792 @extra_modes_file@; instead, mode-classes.def and insn-modes.h.
4793 (BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
4794 (OBJS-common): Add insn-modes.o.
4795 (STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
4796 genmodes$(build_exeext).
4797 (insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
4798 genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
4799 (s-genrtl): Don't depend on $(RTL_BASE_H).
4800 (gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
4801 or $(RTL_BASE_H); just rtl.def.
4802 * gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
4803 real.h. Give fake definition of CONST_DOUBLE_FORMAT and
4804 substitute definition of NUM_RTX_CODE. Add casts to avoid
4805 warnings.
4806 * machmode.h: Include insn-modes.h, not machmode.def. Include
4807 mode-classes.def to define enum mode_class. Tweak definitions
4808 of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
4809 GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
4810 (inner_mode_array): Renamed mode_inner.
4811 (mode_base_align): New.
4812 * rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
4813 mode_unit_size, mode_wider_mode, mode_mask_array,
4814 inner_mode_array, class_narrowest_mode): Delete definitions.
4815 * stor-layout.c (get_mode_alignment): Use mode_base_align.
4816 * real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
4817 and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
4818
4819 * config/ip2k/ip2k.h, config/iq2000/iq2000.h:
4820 No need to define BITS_PER_UNIT.
4821
4822 2003-10-10 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4823
4824 * config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
4825 (ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
4826 (ia64_initialize_trampoline): If not using GAS, declare trampoline
4827 as global.
4828 * config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
4829 (ASM_OUTPUT_DEBUG_LABEL): Likewise.
4830
4831 * stor-layout.c (compute_record_mode): Don't force BLKmode if
4832 field is zero-length BLKmode.
4833 * expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
4834 zero-size references.
4835
4836 * combine.c (distribute_links): Properly test for REG being set.
4837
4838 * config/alpha/alpha.c (alpha_expand_block_mode): Don't use
4839 gen_lowpart and company except for REG.
4840
4841 2003-10-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4842
4843 * pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
4844
4845 2003-10-10 Nathanael Nerode <neroden@gcc.gnu.org>
4846
4847 * config.gcc (mips*-*-netbsd*): Remove content-free line.
4848
4849 2003-10-10 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
4850
4851 * gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
4852 gcov_position_t and gcov_type.
4853
4854 2003-10-09 Kaz Kojima <kkojima@gcc.gnu.org>
4855
4856 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
4857 * configure: Regenerate.
4858
4859 2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
4860
4861 * config/h8300/h8300.md (define_asm_attributes): Specify
4862 the length of an asm insn more precisely.
4863
4864 2003-10-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4865
4866 * config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
4867
4868 2003-10-09 Bob Wilson <bob.wilson@acm.org>
4869
4870 * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
4871 FP register number to 48 and MAC16 accumulator to 0x210.
4872
4873 2003-10-09 Nathanael Nerode <neroden@gcc.gnu.org>
4874
4875 * config.gcc: Remove redundant thread_file setting clauses for
4876 various *-*-linux* targets.
4877
4878 2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
4879
4880 * config/h8300/h8300.md (define_asm_attributes): New.
4881
4882 2003-10-09 Roger Sayle <roger@eyesopen.com>
4883
4884 * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
4885 to the comparison, as emit_libcall_block calls copy_rtx on equiv.
4886
4887 2003-10-09 Dorit Naishlos <dorit@il.ibm.com>
4888
4889 * haifa-sched.c (ok_for_early_schedule): New function.
4890 (early_queue_to_ready): New function.
4891 (schedule_block): Allow early removal of insns from Q.
4892 (schedule_insn): Update INSN_TICK in case of premature
4893 issue.
4894 * common.opt (sched_stalled_insns): New flag.
4895 (sched_stalled_insns_dep): New flag.
4896 * flags.h: Same above flags.
4897 * opts.c: Same as above.
4898 * toplev.c: Same as above.
4899 * target.h (targetm.sched.is_costly_dependence): New
4900 hook.
4901 * target-def.h: Same as above.
4902 * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
4903 Support new flag -msched-costly-dep.
4904 (DEFAULT_SCHED_COSTLY_DEP): Define.
4905 * config/rs6000/rs6000.c:
4906 (rs6000_is_costly_dependence): New function.
4907 (is_load_insn, is_store_insn): New functions.
4908 (is_load_insn1, is_store_insn1, is_mem_ref): New
4909 functions.
4910 * doc/invoke.texi (-fsched-stalled-insns-dep)
4911 (-fsched-stalled-insns, -msched-costly-dep): Document
4912 options.
4913 * doc/tm.texi (is_costly_dependence): Define new
4914 scheduler target hook.
4915
4916 2003-10-09 Jason Merrill <jason@redhat.com>
4917
4918 PR c++/6392
4919 * c-common.c (c_build_qualified_type): Look through arrays first.
4920 (c_apply_type_quals_to_decl): Look through arrays.
4921
4922 * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
4923 types with constructors.
4924
4925 * coverage.c (build_ctr_info_value): Use build_decl to make a
4926 VAR_DECL.
4927 (create_coverage): Likewise.
4928
4929 * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
4930 here.
4931 (expand_asm_operands): Not here.
4932 (parse_input_constraint): No longer static.
4933 * tree.h: Declare it.
4934
4935 2003-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
4936
4937 * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
4938 libgcc_s.so.
4939 (SHLIB_INSTALL): Likewise.
4940
4941 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
4942
4943 * doc/install.texi: Remove reference to removed 'pthreads' thread
4944 option.
4945
4946 2003-10-08 Aldy Hernandez <aldyh@redhat.com>
4947
4948 * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
4949 operand 2.
4950
4951 2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
4952
4953 * config.gcc: Don't accept --enable-threads=pthreads. Clean
4954 up related case statements.
4955 * configure.in: Don't accept --enable-threads=pthreads,
4956 decosf1, mach, or os2 (none of which work anyway). Alphabetize
4957 supported thread files in case clause.
4958 * configure: Regenerate.
4959
4960 2003-10-08 Geoffrey Keating <geoffk@apple.com>
4961
4962 * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
4963 definition to above SPARC_STACK_BOUNDARY_HACK.
4964
4965 2003-10-08 Jason Merrill <jason@redhat.com>
4966
4967 * c-pretty-print.c (pp_c_postfix_expression)
4968 <COMPOUND_LITERAL_EXPR>: Fix thinko.
4969
4970 2003-10-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4971
4972 * mklibgcc.in: Don't hide undefined or typeless symbols.
4973
4974 2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4975
4976 PR optimization/12142
4977 * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
4978 uses of the register in the SET_SRC. Remove unnecessary argument.
4979 * pa.c (legitimize_pic_address): Before reload, use a scratch register
4980 for the intermediate result in loading the address of a SYMBOL_REF.
4981 Set the MEM_NOTRAP_P flag for the MEM. Add a REG_EQUAL to the insn
4982 which loads the SYMBOL_REF address.
4983
4984 2003-10-08 Timo Kokkonen <tjko@iki.fi>
4985 Eric Botcazou <ebotcazou@libertysurf.fr>
4986
4987 PR bootstrap/12490
4988 * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
4989 to define the size of the extern_C_braces array. Set it to 200.
4990 (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
4991
4992 2003-10-08 Carlo Wood <carlo@alinoe.com>
4993
4994 * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
4995 a space after the -o option. flex 2.5.31 understands both, with
4996 and without the space. Removed that space.
4997
4998 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
4999
5000 * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
5001 (compute_frame_size): Initialize it. Remove the .cprestore slot
5002 from args_size.
5003 (mips_output_function_prologue): Simplify accordingly.
5004 (mips_debugger_offset): Change the mips16 frame pointer offset from
5005 current_function_outgoing_args to cfun->machine->frame.args_size.
5006 (mips_initial_elimination_offset): Likewise.
5007 (mips_expand_prologue): Likewise.
5008 (mips_expand_epilogue): Likewise.
5009
5010 2003-10-08 Richard Sandiford <rsandifo@redhat.com>
5011
5012 * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
5013 (EXTRA_MEMORY_CONSTRAINT): Define.
5014 (CAN_ELIMINATE): Remove lwu workaround.
5015 * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
5016 Use a 'W' constraint for the source operand.
5017
5018 2003-10-08 Kazu Hirata <kazu@cs.umass.edu>
5019
5020 * genopinit.c (main): Output code to declare undefined
5021 variables.
5022
5023 2003-10-07 Kelley Cook <kcook@gcc.gnu.org>
5024
5025 * gengtype-lex.l: Remove -Wtraditional cruft.
5026 * Makefile.in (gengtype-lex.c): Likewise.
5027
5028 2003-10-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5029
5030 * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
5031
5032 2003-10-07 Jason Merrill <jason@redhat.com>
5033
5034 PR c++/12519
5035 * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
5036 it isn't a decl.
5037
5038 2003-10-07 Alexandre Oliva <aoliva@redhat.com>
5039
5040 * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
5041 not overridden.
5042 Fixes PR bootstrap/12173.
5043
5044 2003-10-07 Zack Weinberg <zack@codesourcery.com>
5045
5046 * errors.c: Don't include coretypes.h or tm.h.
5047 (trim_filename): Use IS_DIR_SEPARATOR.
5048 * Makefile.in: Update dependencies of errors.o and
5049 $(BUILD_PREFIX_1)errors.o.
5050
5051 2003-10-07 Geoffrey Keating <geoffk@apple.com>
5052
5053 * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
5054 account when aligning arguments.
5055 * calls.c (STACK_POINTER_OFFSET): Move default from here ...
5056 * defaults.h (STACK_POINTER_OFFSET): ... to here.
5057 * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
5058 it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
5059 (SPARC_STACK_BOUNDARY_HACK): Define.
5060 * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
5061 arrange for vector parameters to varargs functions to be passed
5062 in both memory and GPRs when appropriate.
5063 (rs6000_va_arg): Vector arguments passed in memory are 16-byte
5064 aligned.
5065
5066 * hooks.c (hook_bool_tree_true): New.
5067 (hook_rtx_tree_int_null): New.
5068 (hook_rtx_rtx_null): Use NULL, not 0.
5069 * hooks.h: Add 'extern' to everything.
5070 (hook_bool_tree_true): New.
5071 (hook_rtx_tree_int_null): New.
5072 * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
5073 * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
5074 * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
5075 prototype.
5076 * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
5077 (setup_incoming_varargs): Prototype.
5078 (TARGET_PROMOTE_FUNCTION_ARGS): Define.
5079 (TARGET_PROMOTE_FUNCTION_RETURN): Define.
5080 (TARGET_STRUCT_VALUE_RTX): Define.
5081 (TARGET_RETURN_IN_MEMORY): Define.
5082 (TARGET_SETUP_INCOMING_VARARGS): Define.
5083 (TARGET_STRICT_ARGUMENT_NAMING): Define.
5084 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
5085 (init_cumulative_args): Use rs6000_return_in_memory.
5086 (setup_incoming_varargs): Make 'static'.
5087 * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
5088 (PROMOTE_FUNCTION_RETURN): Delete.
5089 (STRUCT_VALUE): Delete.
5090 (RETURN_IN_MEMORY): Delete.
5091 (SETUP_INCOMING_VARARGS): Delete.
5092
5093 2003-10-07 Gerald Pfeifer <gerald@pfeifer.com>
5094
5095 * doc/invoke.texi (Warning Options): Simplify and clarify the
5096 descriptions of -Wnonnull and -Winit-self.
5097
5098 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
5099
5100 * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
5101 indicees for floating-point conversersion libcalls.
5102
5103 2003-10-07 Nathanael Nerode <neroden@gcc.gnu.org>
5104
5105 * Makefile.in: Add more comments separating large conceptually
5106 separate sections.
5107
5108 * configure.in: Clean up thread file logic.
5109 * configure: Regenerate.
5110
5111 2003-10-07 Danny Smith <dannysmith@users.sourceforge.net>
5112
5113 * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
5114 (switch_to_section): Handle in_readonly_data.
5115 * config/i386/winnt.c (i386_pe_asm_named_section): Handle
5116 readonly data.
5117
5118 2003-10-07 Richard Earnshaw <rearnsha@arm.com>
5119
5120 * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
5121 it.
5122 (cbranchne_decr1): New Thumb pattern.
5123 * arm.c (arm_addimm_operand): New insn predicate.
5124 * arm-protos.h: Add a prototype for it.
5125 * arm.h (PREDICATE_CODES): Add it.
5126
5127 2003-10-07 Dorit Naishlos <dorit@il.ibm.com>
5128
5129 * sched-int.h (sched_info): New field
5130 sched_max_insns_priority.
5131 * sched-rgn.c (init_ready_list): Add invocations to
5132 targetm.sched.adjust_priority.
5133 (sched_max_insns_priority): Init new field.
5134 * sched-ebb.c (sched_max_insns_priority): Init new field.
5135 * haifa-sched.c (set_priorities): Set
5136 sched_info->sched_max_insns_priority.
5137 * config/rs6000/rs6000.h:
5138 (rs6000_sched_restricted_insns_priority_str): Support new
5139 flag -mprioritize-restricted-insns.
5140 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
5141 * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
5142 function.
5143 (rs6000_adjust_priority): Change priority of restricted
5144 insns, using above new function and new flag.
5145 * doc/invoke.texi (-mprioritize-restricted-insns): Document
5146 new option.
5147
5148 2003-10-07 Zack Weinberg <zack@codesourcery.com>
5149
5150 * expr.c (cmpstr_optab, cmpmem_optab): New.
5151 * genopinit.c: Initialize them.
5152 * optabs.h: Declare them.
5153 * optabs.c (init_optabs): Clear them.
5154 (prepare_cmp_insn): Use cmpstr_optab and cmpmem_optab to find
5155 block memory compare insns, not conditional chains. Restructure
5156 the fallback generation of a call to memcmp/bcmp for better
5157 readability.
5158
5159 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5160
5161 * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
5162 (mips_save_restore_fn): New typedef.
5163 (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
5164 (mips_set_frame_expr, mips_frame_set): Move above prologue code.
5165 (save_restore_insns): Remove, replacing with...
5166 (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
5167 (mips_save_reg, mips_restore_reg): New function.
5168 (mips_expand_prologue, mips_expand_epilogue): Rework.
5169 * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
5170 (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
5171 (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
5172
5173 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5174
5175 * config/mips/mips.c (mips_expand_prologue): Remove unused
5176 traversal of function arguments.
5177
5178 2003-10-07 Richard Sandiford <rsandifo@redhat.com>
5179
5180 * doc/invoke.texi: Remove documentation of -mentry.
5181 * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
5182 (override_options, mips_save_reg_p): Remove handling.
5183 (compute_frame_size, mips_output_function_prologue): Likewise.
5184 (mips_expand_prologue, mips_expand_epilogue): Likewise.
5185 * config/mips/mips.h (mips_entry_string): Remove declaration.
5186 (TARGET_OPTIONS): Remove -mentry.
5187 * config/mips/mips16.S: Remove mention of -mentry.
5188
5189 2003-10-06 Zack Weinberg <zack@codesourcery.com>
5190
5191 * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
5192 (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
5193 (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
5194 (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
5195 (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
5196 (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
5197 (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
5198 (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
5199 (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
5200 (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
5201 (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
5202 (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
5203 (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
5204 (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
5205 (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
5206 (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
5207 (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
5208 (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
5209 (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
5210 (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
5211 (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
5212 (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
5213 (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
5214 (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
5215 (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
5216 (fixunstfti_libfunc): Delete.
5217 * optabs.h (struct optab_handlers): Break out of struct optab.
5218 (struct convert_optab, convert_optab, enum convert_optab_index,
5219 convert_optab_table, sext_optab, zext_optab, trunc_optab,
5220 sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
5221 sfloat_optab, ufloat_optab): New.
5222 (set_conv_libfunc): Prototype.
5223 (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
5224 (trunc_optab): Renamed btrunc_optab.
5225 * builtins.c (expand_builtin_mathfn): Update to match.
5226 * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
5227 (convert_optab_table, new_convert_optab, init_convert_optab)
5228 (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
5229 (set_conv_libfunc): New.
5230 (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
5231 (expand_float, expand_fix): Use new conversion optabs,
5232 not old insn code tables or long chains of ifs.
5233 (init_optabs): No need to clear old insn code tables.
5234 Initialize the new optabs, not the old libfunc array entries.
5235 Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5236 * genopinit.c: Initialize conversion optabs, not the
5237 former insn code tables. Remove unnecessary casts.
5238 Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
5239 * expr.c (convert_move): Remove redundant check that
5240 to_real==from_real. Use the conversion optabs instead
5241 of long chains of tests of modes. Move partial-integer-mode
5242 interconversion above all integer conversion. Do not recurse
5243 on a value forced into a register in the original mode.
5244
5245 * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
5246 * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
5247 * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
5248 in new conversion optabs; do not reference the old libfunc
5249 array entries. No need to include libfuncs.h.
5250
5251 2003-10-06 Roger Sayle <roger@eyesopen.com>
5252
5253 * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
5254 point comparison sequence with a REG_EQUAL note that describes
5255 the comparison's semantics.
5256
5257 2003-10-06 Roger Sayle <roger@eyesopen.com>
5258
5259 * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
5260 of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
5261
5262 2003-10-06 Roger Sayle <roger@eyesopen.com>
5263 Zack Weinberg <zack@codesourcery.com>
5264
5265 * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
5266 instruction by using LCT_CONST and then calling emit_libcall_block
5267 ourselves.
5268
5269 2003-10-06 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
5270
5271 PR optimization/11974
5272 * optabs.c (expand_unop): Promote libcall outmode according to
5273 hard_libcall_value.
5274
5275 2003-10-06 Zack Weinberg <zack@codesourcery.com>
5276
5277 * real.h (REAL_MODE_FORMAT): New macro.
5278 * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
5279 * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
5280 * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
5281 * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
5282 * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
5283 directly to real_format_for_mode array, wherever possible.
5284
5285 2003-10-06 Devang Patel <dpatel@apple.com>
5286
5287 * dwarf2out.c (is_main_source): Remove variable.
5288 (dwarf2out_start_source_file): Do not check is_main_source.
5289 Do not reset is_main_source.
5290 (dwarf2out_init): Do not initialize is_main_source.
5291
5292 2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5293
5294 * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
5295 (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
5296 introduced some multi-line prototypes.
5297 * fixinc/fixincl.x: Regenerate.
5298
5299 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
5300
5301 * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
5302 * config/mips/mips.c (stack_operand): New predicate.
5303 * config/mips/mips.md: Use it for the destination of mips16 insns
5304 that store $31.
5305
5306 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
5307
5308 * config/mips/mips.md (*lowsi): Renamed from lowsi.
5309 (*lowdi): Likewise lowdi.
5310 (*lowsi_mips16, *lowdi_mips16): New patterns.
5311 * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
5312 mips16 CONSTANT_RELOC handling.
5313 (mips_delegitimize_address): Adjust for new sdata representation.
5314
5315 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
5316
5317 * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
5318 skip any remaining register arguments.
5319
5320 2003-10-06 Ulrich Weigand <uweigand@de.ibm.com>
5321
5322 * reload.c (find_reloads_subreg_address): Use correct offset for
5323 paradoxical MEM subregs on big-endian targets.
5324
5325 2003-10-06 Andrew Haley <aph@redhat.com>
5326
5327 * tree.c (get_callee_fndecl): Call
5328 lang_hooks.lang_get_callee_fndecl.
5329 * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
5330 (lhd_get_callee_fndecl): New.
5331
5332 2003-10-06 Andrew Pinski <apinski@apple.com>
5333
5334 * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
5335 error in calculating the length of the string.
5336 (machopic_stub_name): Likewise.
5337
5338 2003-10-06 Roger Sayle <roger@eyesopen.com>
5339
5340 * optabs.c (prepare_float_lib_cmp): Attach a REG_EQUAL note
5341 describing the return value of the comparison libcall to the
5342 REG_RETVAL instruction of the emitted sequence.
5343
5344 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
5345
5346 PR optimization/12215
5347 * cse.c (cse_set_around_loop): Emit the move at the beginning
5348 of the next basic block for trapping sets.
5349
5350 2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
5351
5352 PR optimization/11637
5353 * combine.c (adjust_for_new_dest): New function to adjust the
5354 notes and LOG_LINKS when the dest of an insn has changed.
5355 (try_combine): Use it when deleting the first insn of a two-insn
5356 parallel or splitting a two-load parallel.
5357
5358 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
5359
5360 * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
5361 if TARGET_EXPLICIT_RELOCS.
5362
5363 2003-10-06 Mark Mitchell <mark@codesourcery.com>
5364
5365 PR bootstrap/12512
5366 * Makefile.in (info): Use double-colon rules.
5367 (dvi): Likewise.
5368 (generated-manpages): Likewise.
5369 * configure.in: Do not create lang.info, lang.dvi, or
5370 lang.generated-manpages hooks.
5371 * configure: Regenerated.
5372 * objc/Make-lang.in (objc.info): Remove.
5373 (objc.dvi): Remove.
5374 (objc.generated-manpages): Remove.
5375 * doc/sourcebuild.texi: Update description of info, dvi, and
5376 generated-manpages hooks.
5377
5378 2003-10-06 Richard Sandiford <rsandifo@redhat.com>
5379
5380 * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
5381
5382 2003-10-05 Andrew Pinski <apinski@apple.com>
5383
5384 * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
5385 errors in memcpy destinations.
5386 (machopic_stub_name): Likewise.
5387
5388 2003-10-05 Andrew Pinski <apinski@apple.com>
5389
5390 * config/darwin.c (machopic_non_lazy_ptr_name):
5391 Change strcat to memcpy and add length together.
5392 (machopic_stub_name): Likewise.
5393
5394 2003-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
5395
5396 * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
5397 signal trampoline codes.
5398
5399 2003-10-05 Chris Demetriou <cgd@broadcom.com>
5400
5401 * config/mips/mips.md (*divsf3): Move description of
5402 SB-1 F2 erratum from here to...
5403 (divsf3): Here. Disable if TARGET_FIX_SB1 is set and
5404 flag_unsafe_math_optimizations is not.
5405
5406 2003-10-05 Aldy Hernandez <aldyh@redhat.com>
5407
5408 * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
5409 TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
5410
5411 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
5412
5413 * c-pretty-print.c: Fix comment typos.
5414 * c-pretty-print.h: Likewise.
5415 * calls.c: Likewise.
5416 * cfgloopmanip.c: Likewise.
5417 * cgraphunit.c: Likewise.
5418 * cppfiles.c: Likewise.
5419 * final.c: Likewise.
5420 * function.c: Likewise.
5421 * gcov-io.h: Likewise.
5422 * gcse.c: Likewise.
5423 * genoutput.c: Likewise.
5424 * loop.c: Likewise.
5425 * postreload.c: Likewise.
5426 * reg-stack.c: Likewise.
5427 * regmove.c: Likewise.
5428 * sched-int.h: Likewise.
5429 * sched-rgn.c: Likewise.
5430 * simplify-rtx.c: Likewise.
5431 * tree-inline.c: Likewise.
5432 * config/m68hc11/m68hc11.h: Likewise.
5433 * config/mmix/mmix.c: Likewise.
5434 * config/mn10300/mn10300.md: Likewise.
5435 * config/sh/sh.h: Likewise.
5436
5437 2003-10-05 Richard Henderson <rth@redhat.com>
5438
5439 * tree-inline.c (remap_type): New.
5440 (remap_decl): Use it. Remap DECL_SIZE*.
5441 (copy_body_r): Use it.
5442 (walk_tree): Walk TREE_TYPE too.
5443 (copy_tree_r): Don't walk subtrees of types.
5444 * tree.c (variably_modified_type_p): Restructure. Consider integer
5445 types with non-const bounds variably modified.
5446
5447 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
5448
5449 * doc/invoke.texi: Fix typos.
5450
5451 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
5452
5453 * fold-const.c: Follow spelling conventions.
5454 * function.c: Likewise.
5455 * config/c4x/c4x.h: Likewise.
5456 * config/c4x/c4x.md: Likewise.
5457 * config/frv/frv.md: Likewise.
5458 * config/rs6000/aix.h: Likewise.
5459 * config/rs6000/linux64.h: Likewise.
5460 * config/xtensa/xtensa.c: Likewise.
5461
5462 2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
5463
5464 * c-pretty-print.c: Fix comment formatting.
5465 * cfglayout.c: Likewise.
5466 * cfgloopanal.c: Likewise.
5467 * cppcharset.c: Likewise.
5468 * dbxout.c: Likewise.
5469 * ggc-page.c: Likewise.
5470 * ggc.h: Likewise.
5471 * target.h: Likewise.
5472
5473 2003-10-04 Kelley Cook <kelleycook@wideopenwest.com>
5474
5475 * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
5476
5477 2003-10-04 Nathanael Nerode <neroden@gcc.gnu.org>
5478
5479 * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
5480 Convert to ISO C90 function declarations and definitions.
5481
5482 2003-10-04 Zack Weinberg <zack@codesourcery.com>
5483
5484 * libfuncs.h
5485 (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
5486 (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
5487 (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
5488 (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
5489 (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
5490 (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
5491 (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
5492 (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
5493 (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
5494 (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
5495 (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
5496 (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
5497 (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
5498 (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
5499 (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
5500 (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
5501 Delete.
5502 * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
5503 (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
5504 (le_optab, unord_optab): New.
5505
5506 * optabs.c (prepare_float_lib_cmp): Rewrite. Get the libfuncs
5507 from the code_to_optab table, not a giant switch; use
5508 swap_condition; do widening only if a comparison function that
5509 we can call exists in a wider mode, not if a cmp_optab insn or
5510 libfunc exists in a wider mode; call protect_from_queue
5511 exactly once on each operand.
5512 (init_optabs): Initialize the new optabs, not the deleted libfuncs.
5513
5514 * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
5515 * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
5516 Set floating point comparison libfuncs using set_optab_libfunc
5517 on the appropriate optab.
5518
5519 * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
5520 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
5521 selector conditionals.
5522
5523 2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
5524
5525 * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
5526 identical to m68hc12 as far as libraries are concerned.
5527
5528 2003-10-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5529
5530 PR c/12446
5531 * c-typeck.c (convert_for_assignment): Issue an error for
5532 array to pointer assignment after default conversion.
5533 (digest_init): Likewise.
5534
5535 2003-10-04 Fariborz Jahanian <fjahanian@apple.com>
5536
5537 * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
5538
5539 2003-10-03 Gerald Pfeifer <gerald@pfeifer.com>
5540
5541 * doc/extend.texi (Function Attributes): Fix title of GNU C
5542 Preprocessor manual.
5543 (C++ Extensions): Fix reference to "Predefined Macros" in the
5544 GNU C Preprocessor manual.
5545
5546 2003-10-04 Richard Earnshaw <reanrsha@arm.com>
5547
5548 * doc/extend.texi: Document how GCC estimates and relies on the size
5549 of an asm.
5550
5551 2003-10-04 Richard Sandiford <rsandifo@redhat.com>
5552
5553 * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
5554 arguments downward for big-endian o64.
5555
5556 2003-10-03 Robert Bowdidge <bowdidge@apple.com>
5557
5558 * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
5559 PCH generation, avoiding too-frequent flushes when writing to NFS
5560 file system.
5561
5562 2003-10-03 Ziemowit Laski <zlaski@apple.com>
5563
5564 * objc/objc-act.c (lookup_category): Mark as 'inline'.
5565
5566 2003-10-03 Alexander Malmberg <alexander@malmberg.org>
5567 Ziemowit Laski <zlaski@apple.com>
5568
5569 * objc/objc-act.c (add_method_to_hash_list, lookup_category):
5570 New functions.
5571 (lookup_method_in_hash_lists): New parameter indicating whether
5572 we are messaging 'Class' or 'id'.
5573 (check_duplicates): Likewise; do not assume all methods will
5574 be either class or instance methods.
5575 (generate_category, finish_class): Use lookup_category().
5576 (add_method): Use add_method_to_hash_list(); insert instance
5577 methods of root classes into the global class method hash table.
5578 (add_category): Use lookup_category(); avoid constructing
5579 duplicate categories.
5580 (really_start_method): Add method to corresponding @interface,
5581 if not already there (and if the @interface exists).
5582 (finish_message_expr, finish_objc): Adjust calls to
5583 check_duplicates().
5584
5585 2003-10-03 Roger Sayle <roger@eyesopen.com>
5586
5587 PR optimization/9325, PR java/6391
5588 * fold-const.c (fold_convert): For floating point to integer
5589 conversions, return the maximum/minimum representable integer
5590 value if the real constant overflows the destination type.
5591 * tree.c (real_value_from_int_cst): Allow the type to be NULL,
5592 meaning don't truncate the result to a floating point mode.
5593 Simplify the logic by calling real_from_integer directly.
5594 * simplify-rtx.c (simplify_unary_operation): Implement the
5595 same semantics for folding floating point to integer conversions
5596 in RTL.
5597
5598 2003-10-03 Chris Demetriou <cgd@broadcom.com>
5599
5600 * config/mips/mips.c (mips_emit_prefetch): Restructure
5601 to avoid use of arrays, handle indexed prefetch.
5602 * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
5603 (ISA_HAS_PREFETCHX): New deffine.
5604 * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
5605 update comments.
5606 (prefetch_indexed_di, prefetch_indexed_si): New insns.
5607
5608 2003-10-03 Jeff Sturm <jsturm@one-point.com>
5609 Roger Sayle <roger@eyesopen.com>
5610
5611 PR optimization/12289
5612 * calls.c (emit_call_1): Pretend to have popped the arguments
5613 to noreturn and longjmp functions instead of ignoring them.
5614 (expand_call): Don't adjust stack_pointer_dela while
5615 inhibit_defer_pop is set.
5616
5617 2003-10-03 Andreas Schwab <schwab@suse.de>
5618
5619 PR bootstrap/12276
5620 * configure.in: Check for libunwind on the host only if building
5621 a native compiler.
5622 * configure: Regenerated.
5623
5624 2003-10-03 Paolo Carlini <pcarlini@unitus.it>
5625
5626 * unwind-pe.h (read_encoded_value_with_base): Constify u and
5627 its inizialization cast.
5628
5629 2003-10-03 Richard Sandiford <rsandifo@redhat.com>
5630
5631 PR target/12485
5632 * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
5633
5634 2003-10-02 Mark Mitchell <mark@codesourcery.com>
5635
5636 PR optimization/12180
5637 * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
5638 functions containing calls to __builtin_next_arg.
5639
5640 2003-10-02 Chris Demetriou <cgd@broadcom.com>
5641
5642 * config/mips/mips.c (mips_emit_prefetch): Use operand 3
5643 in instructions being output.
5644 * config/mips/mips.md (prefetch_si_address): Change third
5645 operand's constraint letter to 'I'.
5646 (prefetch_di_address): Likewise.
5647 (prefetch_si, prefetch_di): Set third operand to const0_rtx.
5648
5649 2003-10-02 Zack Weinberg <zack@codesourcery.com>
5650
5651 * system.h: Poison macros obsoleted by earlier patch.
5652 * config/cris/cris.c: C90-ify a function definition.
5653
5654 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
5655
5656 PR/12292
5657 * combine.c (make_field_assignment): Check whether rtx's code
5658 is CONST_INT before using INTVAL.
5659
5660 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
5661
5662 * cgraph.c (cgraph_node): Use INSERT instead of 1 in
5663 htab_find_slot_with_hash.
5664 (cgraph_node_for_identifier): Use NO_INSERT.
5665 (cgraph_remove_node): Use NO_INSERT.
5666 (cgraph_varpool_node): Use INSERT.
5667 (cgraph_varpool_node_for_identifier): Use NO_INSERT.
5668
5669 2003-10-02 Josef Zlomek <zlomekj@suse.cz>
5670
5671 Waldek Hebisch <hebisch@math.uni.wroc.pl>
5672 PR/12072
5673 * varasm.c (compare_constant): Fix thinko.
5674
5675 2003-10-02 Richard Sandiford <rsandifo@redhat.com>
5676
5677 * config/frv/frv.c (frv_issue_rate): New function.
5678 (frv_pack_insns): Use it.
5679 (TARGET_SCHED_ISSUE_RATE): Define.
5680
5681 2003-10-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
5682
5683 * config/mcore/mcore.c: Convert to ISO C90 function declarations
5684 and definitions.
5685 * config/mcore/mcore.h: Likewise.
5686 * config/mcore/mcore-protos.h: Likewise.
5687
5688 2003-10-02 Richard Sandiford <rsandifo@redhat.com>
5689
5690 * config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
5691 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
5692
5693 2003-10-01 Per Bothner <pbothner@apple.com>
5694
5695 * c-lex.c (src_line): Remove unneeded static variable.
5696 (cb_line_change): Set input_line directly, instead of src_line.
5697 (get_non_padding_token): We no longer need to compensate for the
5698 "horrible things" the C++ front-end does with the current line number,
5699
5700 * cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change
5701 callback even when popping the main file.
5702 * c-lex.c (fe_file_change): Handle a NULL new_map.
5703 * fix-header.c (cb_file_change): Likewise.
5704 * c-ppoutput.c (pp_file_change): Likewise.
5705
5706 * cppinit.c (cpp_read_main_file): Split into two functions:
5707 Distribute _cpp_stack_file call over the two functions.
5708 (cpp_find_main_file): New function.
5709 Don't call _cpp_do_file_change even if working_directory flag set.
5710 (cpp_push_main_file): New function.
5711 * cppfiles.c (_cpp_find_failed): New helper function.
5712 (find_file): Made non-static and renamed to _cpp_find_file.
5713 (_cpp_stack_file): No longer needed. But note the following.
5714 (stack_file): Made non-static and renamed to _cpp_stack_file.
5715 * fix-header.c (cpp_read_main_file): Replace cpp_read_main_file
5716 call with calls to cpp_find_main_file and cpp_push_main_file.
5717 (search_path_head): If there is no current buffer, use main_file.
5718 * cpphash.h: Update function declarations.
5719 * cpplib.h: Update function declarations.
5720
5721 * c-opts.c (c_common_post_options): Don't call cpp_find_main_file yet.
5722 (c_common_parse_file): No longer need to call cpp_read_main_file
5723 when file_index > 0 (as in multi-file or server compiation).
5724 (finish_options): Change to <built-in> is an LC_ENTER, not LC_RENAME
5725 as this now happens before cpp_push_main_file.
5726 (push_command_line_include): When done with options, pass LC_LEAVE
5727 instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
5728 (fe_file_change): Handle NULL new_map, and simplify.
5729 * cpplex.c (_cpp_get_fresh_line): Revert my no-longer-needed
5730 08-28 change, since we're never called with a NULL buffer.
5731 (_cpp_lex_direct): Likewise.
5732 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
5733 Return false if buffer is NULL at end.
5734
5735 * cpplex.c (_cpp_get_fresh_line): Return value now just depends on
5736 whether pfile->buffer is NULL after pop, ignoring return_at_eof.
5737 * cpphash.h (struct cpp_buffer): Remove unused return_at_eof field.
5738 * cpplib.c (cpp_push_buffer): Since we no longer set return_at_eof,
5739 remove the unused return_at_eof parameter.
5740 * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
5741 Update callers of cpp_push_buffer.
5742
5743 2003-10-01 Zack Weinberg <zack@codesourcery.com>
5744
5745 * target.h (init_libfuncs): New hook.
5746 * target-def.h: Default TARGET_INIT_BUILTINS and
5747 TARGET_INIT_LIBFUNCS to hook_void_void. Add
5748 TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
5749 * builtins.c (default_init_builtins): Delete.
5750 * expr.h (default_init_builtins): Delete prototype.
5751 * doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
5752 Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
5753 Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
5754 DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
5755 MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
5756 and UMODDI3_LIBCALL,
5757
5758 * Makefile.in (optabs.o): Depends on target.h.
5759 * defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
5760 * optabs.c: Include target.h.
5761 (prepare_float_lib_cmp): No need for #ifdef around use of
5762 FLOAT_LIB_COMPARE_RETURNS_BOOL.
5763 (set_optab_libfunc): New function.
5764 (init_optabs): Delete use of all *_LIBCALL defines.
5765 Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
5766 * optabs.h: Prototype set_optab_libfunc.
5767
5768 * config.gcc: Remove all references to pa/long_double.h,
5769 ia64/hpux_longdouble.h, and gofast.h.
5770 (mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
5771 to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
5772
5773 * config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
5774 * config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
5775 * config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
5776 * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
5777 * config/sparc/sparc.c, config/vax/vax.c:
5778 Provide a definition for TARGET_INIT_LIBFUNCS. Where
5779 necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
5780
5781 * config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
5782 * config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
5783 * config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
5784 * config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
5785 * config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
5786 * config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
5787 * config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
5788 * config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
5789 INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
5790
5791 * config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
5792 Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
5793 * config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
5794 HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
5795 * config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
5796
5797 * config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
5798 * config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
5799 SUN_INTEGER_MULTIPLY_64 to 0.
5800 * config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
5801 SUN_INTEGER_MULTIPLY_64 to 1.
5802 * config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
5803 SUN_INTEGER_MULTIPLY_64 to 0.
5804 * config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
5805 Define US_SOFTWARE_GOFAST.
5806 * config/vax/vax.h: Default TARGET_ELF to 0.
5807 * config/vax/elf.h: Redefine TARGET_ELF to 1.
5808
5809 * config/gofast.h: Don't define any macros here. Provide one
5810 static function, gofast_maybe_init_libfuncs, which does what
5811 INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
5812 is already defined. Do not clear negation libfuncs. Do
5813 not mess with HFmode, XFmode, or TFmode libfuncs.
5814
5815 * config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
5816
5817 2003-10-01 Kelley Cook <kelleycook@wideopenwest.com>
5818
5819 PR C/12466
5820 * c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
5821
5822 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5823
5824 * config/mips/xm-iris5.h: Remove, unnecessary.
5825 * config.build (mips-sgi-irix5*): Remove.
5826 (mips-sgi-irix6*o32): Likewise.
5827 * config.gcc (mips-sgi-irix6*o32): Remove xm_file.
5828 (mips-sgi-irix5cross64): Likewise.
5829 (mips-sgi-irix5*): Likewise.
5830 * config.host (mips-sgi-irix5*): Remove.
5831 (mips-sgi-irix6*o32): Likewise.
5832
5833 2003-10-01 Zack Weinberg <zack@codesourcery.com>
5834
5835 * dbxout.c (dbxout_fptype_value): Delete.
5836 (dbxout_type): Emit R3 for all COMPLEX_TYPEs.
5837
5838 2003-10-01 Alexandre Oliva <aoliva@redhat.com>
5839
5840 * output.h (compute_reloc_for_constant): Declare.
5841 * varasm.c (compute_reloc_for_constant): Extract from...
5842 (output_addressed_constants): ... here. Adjust all callers.
5843
5844 2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5845
5846 * aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
5847 * configure: Rebuilt.
5848
5849 2003-10-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5850
5851 * fold-const.c (make_range): When handling unsigned, don't reverse
5852 range if high bound is zero.
5853
5854 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
5855
5856 * config/frv/frv.h (PREDICATE_CODES): Added
5857 condexec_si_media_operator, condexec_sf_add_operator and
5858 condexec_sf_conv_operator. Removed condexec_sf_binary_operator
5859 and condexec_sf_unary_operator.
5860
5861 2003-10-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5862
5863 * aclocal.m4: Add ultrix* to /dev/zero blacklist.
5864 * configure: Rebuilt.
5865
5866 2003-10-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5867
5868 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
5869 Allow override.
5870 * doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
5871
5872 2003-09-23 David S. Miller <davem@redhat.com>
5873
5874 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
5875 before redefining.
5876 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
5877
5878 2003-10-01 Steven Bosscher <steven@gcc.gnu.org>
5879
5880 * config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
5881 C90 function declarations and definitions.
5882
5883 2003-10-01 Nathanael Nerode <neroden@gcc.gnu.org>
5884
5885 * config.gcc (cris-*-linux*): Revert mistaken commit.
5886
5887 2003-10-01 Eric Botcazou <ebotcazou@libertysurf.fr>
5888
5889 PR optimization/11753
5890 * config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
5891 the length in the non-V9 case.
5892
5893 2003-09-30 Richard Henderson <rth@redhat.com>
5894
5895 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
5896 DWARF_ALT_FRAME_RETURN_COLUMN.
5897 * unwind-dw2.c (dwarf_reg_size_table): Expand by one.
5898 (_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
5899 (uw_frame_state_for): Return end-of-stack for null return address.
5900 * doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
5901
5902 * config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
5903 (alpha_expand_prologue): Store a zero for it.
5904 (alpha_expand_epilogue): Don't reload it.
5905 * config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
5906 * config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
5907 for the sigframe return address.
5908
5909 2003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
5910
5911 * sdbout.c: Convert to ISO C90 prototypes.
5912 * objc/objc-act.c: Likewise.
5913
5914 2003-09-30 Kelley Cook <kelleycoook@wideopenwest.com>
5915
5916 * config/i386/cygwin1.c: Convert to ISO C90 prototypes.
5917 * config/i386/winnt.c: Likewise.
5918 * config/i386/cygming.h: Likewise.
5919
5920 2003-09-30 Kazu Hirata <kazu@cs.umass.edu>
5921
5922 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
5923 (A ^ B) - B for any B.
5924
5925 2003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
5926
5927 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
5928 powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
5929
5930 2003-09-30 Richard Earnshaw <rearnsha@arm.com>
5931
5932 * arm/ieee754-sf.S: Tidy formatting.
5933
5934 2003-09-30 Nicolas Pitre <nico@cam.org>
5935
5936 * arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
5937 and ARM_MOD_BODY.
5938 (ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
5939 (ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
5940 added better divisor alignment in the other case.
5941 (ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
5942 (__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
5943 macros above, add fast exits for divisor >= dividend, etc.
5944
5945 2003-09-30 Nicolas Pitre <nico@cam.org>
5946
5947 * arm/ieee754-df.S: Split compilation of fixunsdfsi from
5948 L_fixdfsi target.
5949 * arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
5950
5951 2003-09-30 Nathanael Nerode <neroden@gcc.gnu.org>
5952
5953 * config.gcc: Default use_fixproto to 'no'.
5954
5955 2003-09-30 Richard Sandiford <rsandifo@redhat.com>
5956
5957 PR optimization/12345
5958 * config/mips/mips-protos.h (mips_restore_gp): Remove.
5959 (mips_gp_save_slot): Declare.
5960 * config/mips/mips.c (mips_restore_gp): Remove in favor of...
5961 (mips_gp_save_slot): ...this new function.
5962 * config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
5963 and mips_output_move to generate the output template.
5964 (call_internal): Force splitting if TARGET_SPLIT_CALLS. Don't emit
5965 a gp load after a noreturn call. Load the gp using a move rather
5966 than an exception_receiver pattern.
5967 (call_value_internal, call_value_multiple_internal): Likewise.
5968 (call_split, call_value_split, call_value_multiple_split): Clobber $28.
5969
5970 2003-09-30 Carlo Wood <carlo@alinoe.com>
5971
5972 PR debug/12319
5973 * cfglayout.c (insn_scope): Use prologue_locator and
5974 epilogue_locator; return the outer function scope for
5975 pro- and epilogue insns.
5976
5977 2003-09-29 Zack Weinberg <zack@codesourcery.com>
5978
5979 * objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
5980 REAL_TYPEs based on the bitsize of the type's mode, not the
5981 mode directly.
5982
5983 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5984
5985 * dwarf2out.c (default_eh_frame_section): Split into ...
5986 (named_section_eh_frame_section, collect2_eh_frame_section): ... new
5987 functions.
5988 * output.h (named_section_eh_frame_section): Declare.
5989 (collect2_eh_frame_section): Likewise.
5990
5991 2003-09-29 Zack Weinberg <zack@codesourcery.com>
5992
5993 * real.c (real_sqrt): Use get_canonical_qnan directly.
5994
5995 * dwarf2out.c (add_const_value_attribute): Use real_to_target.
5996
5997 * varasm.c (assemble_real): Use real_to_target directly,
5998 calculate the number of significant elements of the result
5999 array and write them out in a loop, instead of using a giant
6000 switch statement to pick the correct REAL_VALUE_TO_TARGET_*
6001 macro.
6002
6003 2003-09-29 Jan Hubicka <jh@suse.cz>
6004
6005 PR c++/12175
6006 * varasm.c (notice_global_symbol): Discard external symbols.
6007
6008 PR optimization/12286
6009 * gcov-io.c (gcov_read_words): Fix memmove call.
6010 * profile.c (compute_branch_probabilities): Add extra sanity checks.
6011
6012 2003-09-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6013
6014 * config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
6015 Solaris 7-9.
6016
6017 * fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
6018 wildcards which explicitly match micro versions.
6019 * fixinc/fixincl.x: Regenerate.
6020
6021 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6022
6023 * fold-const.c (fold): Fold (A & ~B) - (A & B) into
6024 (A ^ B) - B, where B is any power of 2 minus 1.
6025
6026 2003-09-29 Jan Hubicka <jh@suse.cz>
6027
6028 * libgcov.c (gcov_exit): Fix two pastos.
6029
6030 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6031
6032 * config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
6033 define_split immediately below to form define_insn_and_split.
6034
6035 2003-09-29 Kazu Hirata <kazu@cs.umass.edu>
6036
6037 * config/h8300/h8300.md (*tstsi_variable_bit): New.
6038 (*tstsi_variable_bit_qi): Likewise.
6039
6040 2003-09-28 Phil Edwards <phil@codesourcery.com>
6041
6042 * doc/cppopts.texi: Use 'dashMP' instead of '-MP' as a cross-
6043 reference name.
6044
6045 2003-09-28 Richard Henderson <rth@redhat.com>
6046
6047 * c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
6048 file and line separately.
6049
6050 2003-09-28 Ulrich Weigand <uweigand@de.ibm.com>
6051
6052 * config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
6053 "*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
6054 "*subdi3_borrow_cconly"): New insns.
6055 ("*addsi3_sub", "*subsi3_sub"): Remove.
6056 ("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
6057 ("*subsi3_cc"): Fix op_type attribute.
6058
6059 2003-09-28 Richard Henderson <rth@redhat.com>
6060
6061 * stmt.c (expand_asm_operands): Take a location_t, instead of
6062 individual file and line.
6063 * c-typeck.c (c_expand_asm_operands): Likewise.
6064 * tree.h (expand_asm_operands): Update decl.
6065 * c-common.h (c_expand_asm_operands): Likewise.
6066 * c-semantics (genrtl_asm_stmt): Update call.
6067
6068 2003-09-28 Philip Blundell <philb@gnu.org>
6069
6070 * config/arm/arm.c (legitimize_pic_address): Check
6071 SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
6072 (arm_assemble_integer): Likewise.
6073
6074 2003-09-28 Steven Bosscher <steven@gcc.gnu.org>
6075
6076 * config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6077 config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
6078 config/c4x/c4x.h:
6079 Convert to ISO C90 function declarations and definitions.
6080
6081 2003-09-28 Steven Bosscher <steven@gcc.gnu.org>
6082
6083 * config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
6084 Convert to ISO C90 function declarations and definitions.
6085
6086 2003-09-28 Richard Sandiford <rsandifo@redhat.com>
6087
6088 * config/mips/mips.c (mips_constant_info): Add reloc field.
6089 (mips_classify_constant): Initialize it. Always set SYMBOL to the
6090 underlying symbol, not to an unspec.
6091 (mips_delegitimize_address, print_operand): Clean up accordingly.
6092
6093 2003-09-28 Richard Sandiford <rsandifo@redhat.com>
6094
6095 * config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
6096 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
6097 * config/mips/mips.c (mips_reloc_offset_ok_p): New function.
6098 (mips_classify_constant): Use it.
6099 (mips_splittable_symbol_p): Add an offset argument.
6100 (mips_classify_address): Adjust call accordingly.
6101 (mips_legitimize_symbol): Handle sdata references with LO_SUM rather
6102 than a relocation unspec. Update call to mips_splittable_symbol_p.
6103 Generalize the code that copes with symbols + invalid offsets.
6104 (print_operand): Allow '%R' to be applied to small data addresses.
6105 (mips_reloc_string): Remove RELOC_GPREL16.
6106 (mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg. Return $gp
6107 for TARGET_EXPLICIT_RELOCS. Return null if we can't use gp-relative
6108 relocation operators.
6109 * config/mips/mips.md (RELOC_GPREL16): Remove. Shuffle other reloc
6110 constants accordingly.
6111
6112 2003-09-27 Roger Sayle <roger@eyesopen.com>
6113
6114 * toplev.c (flag_evaluation_order): New global variable.
6115 * flags.h (flag_evaluation_order): Prototype here.
6116 * expr.c (expand_operands): If we need to preserve observable
6117 evaluation order, protect exp1 from clobbering exp0's result.
6118
6119 2003-09-28 Andreas Jaeger <aj@suse.de>
6120
6121 * c-decl.c (finish_function): Convert definition to ISO C90.
6122 * ifcvt.c (mark_loop_exit_edges): Likewise.
6123 * ra-rewrite.c (emit_colors): Likewise.
6124
6125 2003-09-27 Nathanael Nerode <neroden@gcc.gnu.org>
6126
6127 * config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
6128 * config.gcc (arm*-*-uclinux*): Disable fixproto.
6129 * config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
6130 powerpc-*-eabialtivec*): Disable fixproto.
6131
6132 2003-09-27 Eric Botcazou <ebotcazou@libertysurf.fr>
6133
6134 PR optimization/12340
6135 * loop.h (struct induction): Document the new semantics
6136 of the 'same' field for bivs.
6137 * unroll.c (biv_total_increment): Don't count the same
6138 biv increment several times.
6139 (loop_iterations) [GENERAL_INDUCT]: Likewise.
6140
6141 2003-09-27 Graham Stott <graham.stott@btinternet.com>
6142
6143 * unroll.c (loop_interations)[GT]: Add missing break.
6144
6145 2003-09-27 Kelley Cook <kcook@gcc.gnu.org>
6146
6147 * config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
6148 config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
6149 config/dbxelf.h, config/elfos.h, config/fp-bit.h,
6150 config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
6151 config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
6152 config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
6153 config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
6154 config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
6155 config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
6156 config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
6157 config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
6158 config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
6159 config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
6160 config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
6161 config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
6162 config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
6163 config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
6164 config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
6165 config/alpha/xm-vms.h, config/arc/arc-modes.def,
6166 config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
6167 config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
6168 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
6169 config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
6170 config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
6171 config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
6172 config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
6173 config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
6174 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
6175 config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
6176 config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
6177 config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
6178 config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
6179 config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
6180 config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
6181 config/i960/i960-c.c, config/i960/i960-coff.h,
6182 config/i960/i960-modes.def, config/i960/i960-protos.h,
6183 config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
6184 config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
6185 config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
6186 config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
6187 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
6188 config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
6189 config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
6190 config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
6191 config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
6192 config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
6193 config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
6194 config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
6195 config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
6196 config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
6197 config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
6198 config/mcore/mcore-protos.h, config/mcore/mcore.c,
6199 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
6200 config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
6201 config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
6202 config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
6203 config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
6204 config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
6205 config/mips/vr.h, config/mn10300/linux.h,
6206 config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
6207 config/mn10300/mn10300.h, config/mn10300/mn10300.md,
6208 config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
6209 config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
6210 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
6211 config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
6212 config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
6213 config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
6214 config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
6215 config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
6216 config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
6217 config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
6218 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
6219 config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
6220 config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
6221 config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
6222 fixinc/fixinc.svr4: GNU CC -> GCC.
6223
6224 2003-09-26 Loren James Rittle <ljrittle@acm.org>
6225
6226 * objc/objc-act.c (tm_p.h): Tweak order.
6227 * objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
6228
6229 2003-09-26 Nathanael Nerode <neroden@gcc.gnu.org>
6230
6231 * config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
6232 Include t-slibgcc-elf-ver and t-linux in tmake_file.
6233 * config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
6234 Disable fixproto.
6235 * config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
6236 Disable fixproto.
6237 * config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
6238 sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
6239
6240 * config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
6241
6242 2003-09-26 Loren James Rittle <ljrittle@acm.org>
6243
6244 * config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
6245 * objc/objc-act.c (tm_p.h): Include.
6246
6247 2003-09-26 Per Bothner <pbothner@apple.com>
6248
6249 * dbxout.c (dbxout_typedefs): Output typedefs in forward order.
6250 No longer any need to reverse by recursion.
6251
6252 2003-09-26 Roger Sayle <roger@eyesopen.com>
6253 Richard Henderson <rth@redhat.com>
6254
6255 PR optimization/11741
6256 * gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
6257 appropriate set to match that in hash_scan_insn. Fall back to
6258 the original copy method, if we can't validate changing insn.
6259 (pre_delete): Only delete instructions that have a single_set,
6260 instead of aborting when we encounter an PARALLEL insn with more
6261 then one SET.
6262
6263 2003-09-26 Andreas Krebbel <krebbel1@de.ibm.com>
6264
6265 * config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
6266 ("builtin_longjmp"): Insn deleted.
6267 ("save_stack_nonlocal"): Save literal pool base pointer behind
6268 backchain and stack pointer.
6269 ("restore_stack_nonlocal"): Restore literal pool base pointer.
6270 * config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
6271 the stack save area for the nonlocal goto case.
6272
6273 2003-09-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6274
6275 PR bootstrap/12358
6276 * pa.c (output_bvb): Fix typo.
6277
6278 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
6279
6280 * expmed.c (store_bit_field): Don't search for an integer mode
6281 unless we need the result.
6282
6283 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
6284
6285 * expr.c (emit_move_insn_1): If there is no move pattern for the
6286 original mode, try using a pattern for the corresponding integer mode.
6287
6288 2003-09-26 Richard Sandiford <rsandifo@redhat.com>
6289
6290 PR middle-end/9200
6291 * combine.c (if_then_else_cond): Tighten mode check.
6292
6293 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
6294
6295 * cppcharset.c, cpphash.h: Rename 'struct strbuf' to
6296 'struct _cpp_strbuf'.
6297
6298 * config/i386/netbsd-elf.h, config/i386/netbsd64.h,
6299 config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
6300 config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
6301 config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
6302 config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
6303 config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
6304 config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
6305 config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
6306 config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
6307 "GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
6308 * config/i386/i386-aout.h, config/i386/i386-coff.h,
6309 config/i386/i386-interix.h, config/i386/i386-interix3.h,
6310 config/i386/i386-modes.def, config/i386/i386-protos.h,
6311 config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
6312 config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
6313 config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
6314 config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
6315 config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
6316 "GNU compiler" -> GCC.
6317 * config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
6318 config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
6319 config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
6320 config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
6321 config/i386/freebsd-aout.h, config/i386/freebsd.h,
6322 config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
6323
6324 2003-09-25 Kelley Cook <kelleycook@wideopenwest.com>
6325
6326 * cgraph.c (dump_cgraph): Don't output newline before dump. Add in
6327 "local" to the callgraph dump. Output "after inlining" earlier.
6328 * cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
6329 callgraph dumps. Correct misspellings.
6330 (cgraph_decide_inlining): Output number of insns before inlining.
6331 Output the calling function into which a function is inlined.
6332 (cgraph_decide_small_functions): Format dump file like always_inline.
6333
6334 2003-09-25 Loren James Rittle <ljrittle@acm.org>
6335
6336 * config/i386/i386.h (ix86_return_in_memory): Add prototype.
6337
6338 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
6339
6340 * config/s390/s390.c (s390_emit_prologue): Simplify accesses to
6341 FPR slots in the save area.
6342 (s390_emit_epilogue): Likewise.
6343
6344 2003-09-25 Richard Sandiford <rsandifo@redhat.com>
6345
6346 * cgraph.h (cgraph_remove_edge): Declare.
6347 * cgraph.c (cgraph_remove_edge): Make extern.
6348 * cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
6349 instead of cgraph_remove_call.
6350
6351 2003-09-25 Ulrich Weigand <uweigand@de.ibm.com>
6352
6353 * objc/objc-act.c (gen_declaration_1): Fix printf format.
6354
6355 2003-09-25 Richard Earnshaw <rearnsha@arm.com>
6356
6357 * arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
6358 arm7tdmi core.
6359
6360 2003-09-25 Ziemowit Laski <zlaski@apple.com>
6361
6362 * config/darwin-protos.h (objc_image_info_section):
6363 New prototype.
6364
6365 2003-09-25 Ziemowit Laski <zlaski@apple.com>
6366
6367 * Makefile.in (stub-objc.o): Depend on $(GGC_H).
6368
6369 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
6370
6371 * config.gcc: Get rid of more gratuitious 'x'es. Actually allow
6372 tsc701 as a --with-cpu, --with-tune setting for sparc.
6373
6374 2003-09-25 Ziemowit Laski <zlaski@apple.com>
6375
6376 * c-parse.in (objc_try_stmt): Do not specify a %type.
6377
6378 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
6379
6380 * config.gcc: New 'widely ported system' clause for rtems.
6381 Set thread file there, not in individual clauses.
6382
6383 2003-09-25 Richard Sandiford <rsandifo@redhat.com>
6384
6385 PR target/6222
6386 * config/mips/mips.c (mips_va_arg): Handle arguments that must be
6387 passed on the stack.
6388
6389 2003-09-25 Nathanael Nerode <neroden@gcc.gnu.org>
6390
6391 * config.gcc (widely ported systems section): Mostly alphabetize
6392 by system. Comment the case where we can't.
6393 * config.gcc (widely ported systems section): Reindent and clean up.
6394
6395 * config.gcc: Remove some unnecessary uses of 'x' in case statements.
6396 Actually allow ep9312 as an arm --with-arch setting.
6397
6398 * config.gcc (*-hpux11): Disable fixproto.
6399
6400 2003-09-24 Phil Edwards <phil@codesourcery.com>
6401
6402 PR pch/12112
6403 * gcc/cppfiles.c (pch_open_file): Return based on combined
6404 result of all files.
6405 (validate_pch): Return validate flag for current file.
6406
6407 2003-09-24 Roger Sayle <roger@eyesopen.com>
6408
6409 PR bootstrap/12358
6410 * fold-const.c (tree_swap_operands_p): Only reorder operands when
6411 one of the operands is constant.
6412
6413 2003-09-24 Ziemowit Laski <zlaski@apple.com>
6414
6415 MERGE OF objc-improvements-branch into MAINLINE:
6416 * Makefile.in (C_OBJS): Add in stub-objc.o.
6417 (c-parse.y): Change sed demarcations to begin with '@@'.
6418 (stub-objc.o): New rule.
6419 * c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
6420 flag_replace_objc_classes): New flags.
6421 * c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
6422 RID_AT_SYNCHRONIZED): New keywords.
6423 (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
6424 flag_replace_objc_classes): New flags.
6425 (lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
6426 objc_comptypes, objc_message_selector, lookup_objc_ivar,
6427 get_current_scope, objc_mark_locals_volatile): New prototypes,
6428 some moved from c-tree.h.
6429 * c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
6430 (finish_decl): Adjust where objc_check_decl() gets called.
6431 * c-lang.c (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
6432 objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
6433 * c-opts.c (c_common_handle_option): Add handling for flag_nil_receivers,
6434 flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
6435 * c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
6436 '@@end_ifc', respectively.
6437 (AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
6438 (objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
6439 objc_finally_block): New rules.
6440 (component_decl_list2): Clean up semantic action for @defs construct.
6441 (component_decl, c99_block_start): Remove call to add_objc_decls().
6442 (poplevel): Add call to objc_clear_super_receiver().
6443 (stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
6444 constructs.
6445 (classdef, methodprotolist): Clean up/simplify.
6446 (methodprotolist2): Eliminate.
6447 (methodproto): Call add_method() instead of add_class_method() and
6448 add_instance_method().
6449 (receiver): Add TYPENAME production.
6450 (reswords): Add "throw", "try", "catch", "finally" and "synchronized".
6451 (rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
6452 AT_SYNCHRONIZED.
6453 * c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
6454 objc_comptypes, objc_message_selector)
6455 * c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
6456 struct and pointer types.
6457 (build_c_cast): Do not discard ObjC protocol qualifiers.
6458 (convert_for_assignment): Cache result of comp_target_types() instead
6459 of calling it more than once.
6460 * c.opt (fnext-runtime): Update description string.
6461 (fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
6462 New ObjC/ObjC++-specific flags.
6463 * function.h (GCC_FUNCTION_H): Header guard.
6464 * gengtype-lex.l: Teach lexer about new @@... sed demarcations.
6465 * stub-objc.c: New file, to be used to satisfy references to ObjC
6466 functions by the C and C++ front-ends.
6467 * config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
6468 * config/darwin.h (FUNCTION): Add in_objc_image_info.
6469 (SECTION_FUNCTION): Add objc_image_info_section.
6470 * doc/invoke.texi: Link to GCC web site for Objective-C information.
6471 (-fconstant-string-class): Update documentation.
6472 (-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
6473 -fzero-link): New documentation.
6474 * objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
6475 with '@@'.
6476 * objc/lang-specs.h (@objective-c-header): Fix -E spec.
6477 * objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
6478 throughout; provide casts for return values from memory allocation
6479 functions (xmalloc, alloca, ggc_alloc, etc.).
6480 (OBJC_VOID_AT_END): New macro.
6481 (rtl.h): Do not #include any more.
6482 (STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
6483 (TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
6484 TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
6485 TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
6486 TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
6487 (struct val_stack, catch_count_stack, exc_binding_stack, val_stack_push,
6488 val_stack_pop): New.
6489 (objc_check_decl): Fix precondition for error message, along with
6490 the message itself.
6491 (lookup_and_install_protocols): Remove nonexistent protocols from
6492 protocol list instead of returning error_mark_node.
6493 (create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
6494 (setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
6495 (synth_module_prologue): General clean-up; construct NeXT-specific
6496 runtime API prototypes if needed.
6497 (build_string_class_template): Remove.
6498 (check_string_class_template, string_layout_checked): New.
6499 (build_objc_string_object): Generalize to work with
6500 -fconstant-string-class.
6501 (build_objc_symtab_template): Fix layout for the NeXT runtime.
6502 (build_metadata_decl): New.
6503 (forward_declare_categories): Call build_metadata_decl() instead of
6504 create_builtin_decl() et al.
6505 (build_module_descriptor): Use OBJC_VOID_AT_END instead of
6506 void_list_node_1.
6507 (build_selector_reference_decl, build_class_reference_decl,
6508 build_objc_string_decl): Do not set TREE_READONLY.
6509 (get_proto_encoding): Do not call hack_method_prototype().
6510 (get_class_reference): Add failure mode for invalid class names;
6511 support -fzero-link; defer if in an ObjC++ template declaration.
6512 (objc_declare_alias, objc_declare_class): Fix up duplicate name
6513 lookup; check for global scope if in ObjC++.
6514 (is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
6515 RECORD_TYPE, IDENTIFIER_NODE, etc.)
6516 (objc_is_id): Removed.
6517 (objc_is_object_ptr): New function.
6518 (get_class_ivars_from_name): New function, used for @defs construct.
6519 (get_class_ivars): Add option to return raw ivars; create a
6520 ClASS_OWN_IVARS list for each class as needed.
6521 (objc_enter_block, objc_exit_block, objc_declare_variable,
6522 objc_build_throw_stmt, val_stack_push, val_stack_pop,
6523 objc_build_try_enter_fragment, objc_build_extract_expr,
6524 objc_build_try_exit_fragment, objc_build_extract_fragment,
6525 objc_build_try_prologue, objc_build_try_epilogue,
6526 objc_build_catch_stmt, objc_build_catch_epilogue,
6527 objc_build_finally_prologue, objc_build_finally_epilogue,
6528 objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
6529 objc_build_synchronized_epilogue, build_objc_exception_stuff):
6530 New functions.
6531 (_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
6532 the future).
6533 (build_private_template): Fix up calls to get_class_ivars().
6534 (offset_is_register, forwarding_offset): Remove.
6535 (objc_method_parm_type, objc_encoded_type_size): New functions.
6536 (encode_method_prototype): Simplify to no longer depend on
6537 back-end information.
6538 (build_tmp_function_decl_xxx, build_tmp_function_decl,
6539 hack_method_prototype): Removed.
6540 (generate_protocol_references): Remove calls to
6541 build_tmp_function_decl().
6542 (generate_protocols): Adjust calls to encode_method_prototype().
6543 (build_class_template): Generate sel_id' and 'gc_object_type' fields
6544 for the NeXT runtime.
6545 (synth_forward_declarations): Call build_metadata_decl().
6546 (check_ivars): Check that the number of ivars matches also.
6547 (build_super_template): Modify super_type directly; disable debugging
6548 output while generating decl.
6549 (build_ivar_list_initializer): Skip list elements that are not
6550 FIELD_DECLs.
6551 (ivar_list_length): New function.
6552 (generate_ivar_lists): Call ivar_list_length() instead of list_length()
6553 and encode_method_prototype() instead of encode_method_def().
6554 (build_shared_structure_initializer): Generate 'sel_id' field for
6555 the NeXT runtime.
6556 (generate_category): Do not set TREE_USED.
6557 (build_keyword_selector): Ditto; transform into a function argument
6558 chain.
6559 (get_arg_type_list): If there are no user-specified arguments, use
6560 '...'; use OBJC_VOID_AT_END.
6561 (check_duplicates): Add a parameter indicating whether methods or
6562 selectors are being checked.
6563 (receiver_is_class_object): Add parameters indicating whether
6564 receiver is 'self' or 'super'; robustify.
6565 (build_message_expr): Defer call to finish_message_expr() if
6566 inside an ObjC++ template.
6567 (lookup_method_in_hash_lists): New function.
6568 (finish_message_expr): Complete rewrite/fix.
6569 (build_objc_method_call): Ditto; factor out commonalities between
6570 the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
6571 messenger variants on the NeXT.
6572 (lookup_instance_method_static, lookup_class_method_static):
6573 Fold into a single lookup_method_static() function with an
6574 additional parameter.
6575 (add_class_method, add_instance_method): Fold into a single
6576 add_method() function with an additional parameter.
6577 (add_category): Make duplicate categories a hard error in ObjC++.
6578 (add_instance_variable): Properly handle unnamed ivars, arrays of
6579 zero or no size and bitfields. In ObjC++, check for nontrivial
6580 C++ class instances.
6581 (is_public): Allow C functions to access non-@public ivars, with
6582 a warning.
6583 (start_class): Move common initializations to
6584 synth_module_prologue(); check for global scope if in ObjC++.
6585 (continue_class): Fix calls to finish_struct().
6586 (objc_declare_protocols, start_protocol): Check for global scope
6587 if in ObjC++.
6588 (encode_pointer): Encode 'BOOL *' specially on the NeXT.
6589 (encode_aggregate_within): Rewrite to properly distinguish
6590 struct tags from typedefs in both ObjC and ObjC++.
6591 (encode_bitfield, encode_complete_bitfield): Remove.
6592 (encode_next_bitfield, encode_gnu_bitfield): New functions.
6593 (encode_field_decl): Call encode_next_bitfield() or
6594 encode_gnu_bitfield() as needed.
6595 (synth_self_and_ucmd_args): New function.
6596 (start_method_def): Use it.
6597 (objc_types_are_equivalent): New function.
6598 (comp_proto_with_proto): Use it instead of comptypes(), since
6599 we need symmetry.
6600 (really_start_method): Use lookup_method_static() instead of
6601 lookup_class_method_static() and lookup_instance_method_static();
6602 Emit 'extern "C"' if in ObjC++ mode.
6603 (add_objc_decls): Removed.
6604 (UOBJC_SUPER_scope): New variable.
6605 (get_super_receiver): Move construction of 'super' from
6606 add_objc_decls(); remove dependency on struct objc_class.
6607 (encode_method_def): Removed; encode_method_prototype() is
6608 used instead.
6609 (objc_clear_super_receiver): New function.
6610 (objc_expand_function_end): Do not do anything for ordinary
6611 C functions.
6612 (finish_method_def): Mark ObjC methods as un-inlinable.
6613 (gen_declaration_1): Emit widths of bitfields.
6614 (finish_objc): Call generate_objc_image_info() if needed;
6615 use check_duplicates() when checking for selector duplicates.
6616 (generate_objc_image_info): New function.
6617 * objc/objc-act.h (add_instance_method, add_class_method,
6618 get_class_ivars): Remove prototypes.
6619 (objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
6620 objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
6621 objc_build_catch_stmt, objc_build_catch_epilogue,
6622 objc_build_finally_prologue, objc_build_finally_epilogue,
6623 add_method, get_class_ivars_from_name): New prototypes.
6624 (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
6625 (TYPE_PROTOCOL_LIST): Robustify to distinguish from
6626 TRANSLATION_UNIT_DECLs.
6627 (OBJC_TYPE_NAME): New.
6628 (objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
6629 got included.
6630 (IS_SUPER): Robustify.
6631 (umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
6632 umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
6633 objc_exception_try_enter_decl, objc_exception_try_exit_decl,
6634 objc_exception_match_decl, objc_exception_throw_decl,
6635 objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
6636 objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
6637 objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
6638 objc_catch_type): New ObjC/ObjC++ roots.
6639 * objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
6640 ObjC/ObjC++ tree node codes.
6641
6642 2003-09-24 Alexandre Oliva <aoliva@redhat.com>
6643
6644 * cpplib.c (do_pragma): Reintroduce cb_line_change call in the
6645 code path that calls a handler.
6646
6647 2003-09-24 Nathanael Nerode <neroden@gcc.gnu.org>
6648
6649 * config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
6650 Disable fixproto.
6651
6652 * config.gcc: Clean up and reindent $with_cpu=yes|no clause and
6653 the section giving $with_cpu defaults by target.
6654
6655 * config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
6656 arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
6657 rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
6658 rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
6659 rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
6660 i[34567]86-pc-msdosdjgpp*): Disable fixproto.
6661
6662 2003-09-24 David Edelsohn <edelsohn@gnu.org>
6663
6664 * config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
6665 together. Protect load string instruction with TARGET_STRING.
6666 (movti_string): Collapse case 1 and 2 together.
6667
6668 2003-09-24 Nathan Sidwell <nathan@codesourcery.com>
6669
6670 * c-common.c (c_common_type_for_mode): Check for VOIDmode.
6671
6672 2003-09-24 Richard Earnshaw <rearnsha@arm.com>
6673
6674 * arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
6675 do...while(0)
6676
6677 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
6678
6679 * config.gcc: Move use_fixproto=no from generic vxworks clause to
6680 specific one.
6681
6682 * config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
6683 (accidentally missed in last pass).
6684
6685 2003-09-23 Andrew Pinski <apinski@apple.com>
6686
6687 PR bootstrap/12383
6688 * configure: Regenerate.
6689
6690 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
6691
6692 * config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
6693 missed in last pass).
6694
6695 2003-09-23 Alexandre Oliva <aoliva@redhat.com>
6696
6697 * config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
6698 constant.
6699
6700 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
6701
6702 * config.gcc: Move vax-*-vms* unsupported notice up with the rest.
6703
6704 * config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
6705 powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
6706 powerpcle-*-eabi*): Disable fixproto.
6707
6708 * config.gcc: Move use_fixproto=no from generic FreeBSD clause to
6709 specific FreeBSD clauses.
6710 * config.gcc: Move use_fixproto=no from generic NetBSD clause to
6711 specific NetBSD clauses.
6712 * config.gcc: Move use_fixproto=no from generic OpenBSD clause
6713 to specific OpenBSD clauses.
6714
6715 2003-09-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6716
6717 * pa.c (hppa_expand_prologue): Do pic register save in frame marker
6718 without adding a frame note.
6719 * pa.md (allocate_stack): Save pic register in new frame marker when
6720 generating pic code.
6721
6722 2003-09-23 Kelley Cook <kelleycook@wideopenwest.com>
6723
6724 * cgraphunit.c (cgraph_expand_all_functions): Renamed from
6725 cgraph_expand_functions.
6726
6727 2003-09-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6728
6729 * Makefile.in (gnucompare*): Merge into ...
6730 (slowcompare*): ... here.
6731 (fastcompare*): New targets.
6732 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
6733 other "fast" cmp programs.
6734 * configure: Regenerate.
6735
6736 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6737
6738 * targhooks.c: Include output.h.
6739 * Makefile.in (targhooks.o): Add output.h to dependency list.
6740
6741 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6742
6743 * config.host: Removed superfluous newline.
6744
6745 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
6746
6747 * config.gcc: Use ${target}, not $machine.
6748 * configure.in: Don't set $machine.
6749 * configure: Regenerate.
6750
6751 2003-09-23 Geoffrey Keating <geoffk@apple.com>
6752
6753 * config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
6754
6755 * config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
6756 pass zero-size arrays by reference.
6757 (rs6000_va_arg): Likewise.
6758
6759 2003-09-23 Nathanael Nerode <neroden@gcc.gnu.org>
6760
6761 * config.gcc: Set use_fixproto=no in each specific *-gnu*
6762 configuration, rather than the generic one.
6763
6764 2003-09-23 Richard Henderson <rth@redhat.com>
6765
6766 * tree-inline.c (remap_save_expr): Map new save_expr to identity
6767 rather than to error_mark_node.
6768
6769 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6770
6771 * configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
6772 Update description.
6773 * configure: Regenerate.
6774 * config.in: Likewise.
6775 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
6776 HAVE_GAS_SHF_MERGE value.
6777 * varasm.c (mergeable_string_section): Likewise.
6778 (mergeable_constant_section): Likewise.
6779
6780 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6781
6782 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
6783 value.
6784
6785 2003-09-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6786
6787 * target.h (struct gcc_target): New member external_libcall.
6788 * target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
6789 (TARGET_ASM_OUT): Use it.
6790 * doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
6791 * targhooks.c: Convert to ISO C 90.
6792 (default_external_libcall): New function.
6793 * targhooks.h (default_external_libcall): Declare.
6794 * varasm.c (assemble_external_libcall): Use
6795 targetm.asm_out.external_libcall instead of
6796 ASM_OUTPUT_EXTERNAL_LIBCALL.
6797 * config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
6798 (mips_output_external_libcall): Declare.
6799 * config/mips/mips.c (mips_output_external_libcall): Change
6800 definition guard.
6801 Change to match TARGET_ASM_EXTERNAL_LIBCALL.
6802 Only operate for O32 ABI.
6803 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
6804 instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
6805 * config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
6806 superceded by TARGET_ASM_EXTERNAL_LIBCALL.
6807
6808 2003-09-22 Nathnael Nerode <neroden@gcc.gnu.org>
6809
6810 * config.gcc: Do per-target disabling of fixproto here in clauses,
6811 not in t- fragments.
6812 * configure.in: Adjust to set STMP_FIXPROTO correctly.
6813 * configure: Regenerate.
6814 * config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
6815 config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
6816 t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
6817 xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
6818 * config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
6819 t-interix, t-linux-aout: Delete files consisting only of
6820 setting of STMP_FIXPROTO.
6821
6822 * config.host: Allow unknown hosts (not targets). Allow
6823 ns32k-*-netbsdelf* as a host (not a target). Remove redundant
6824 empty clauses. Remove useless obsolete-configuration clause.
6825 Prune unsupported configuration list. Collapse identical
6826 clauses for closely related systems. Rewrite comment for
6827 unsupported hosts list. Reorganize a little.
6828
6829 2003-09-22 Richard Henderson <rth@redhat.com>
6830
6831 * c-common.c (c_common_signed_or_unsigned_type): Examine mode,
6832 not precision.
6833
6834 2003-09-22 David Edelsohn <edelsohn@gnu.org>
6835 Hartmut Penner <hpenner@de.ibm.com>
6836 Segher Boessenkool <boessen@de.ibm.com>
6837
6838 * config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
6839 (gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
6840 (rs6000_split_altivec_in_gprs): Rename to ...
6841 (rs6000_split_multireg_move): Add support for update addressing.
6842 * config/rs6000/rs6000-protos.h: Same.
6843 * config/rs6000/altivec.md: Same.
6844 * config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
6845 multiple GPRs.
6846 (movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
6847 (movti_power): Use new splitter for multiple GPRs.
6848 (movti_string): Same.
6849 (movti_ppc64): Same.
6850
6851 2003-09-22 Bob Wilson <bob.wilson@acm.org>
6852
6853 * config/xtensa/xtensa-protos.h: Convert to ISO C90.
6854 * config/xtensa/xtensa.c: Convert to ISO C90. Minor formatting fixes.
6855
6856 2003-09-22 Alexandre Oliva <aoliva@redhat.com>
6857
6858 * config/mn10300/mn10300.md: Revert 2003-09-17's patch.
6859 (andsi3): Set attr cc to set_zn when using shifts or adds.
6860
6861 2003-09-22 Bernardo Innocenti <bernie@develer.com>
6862
6863 * doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
6864
6865 2003-09-22 Bernardo Innocenti <bernie@develer.com>
6866
6867 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
6868 Resurrect -mrtd option.
6869
6870 2003-09-21 Andrew Pinski <pinskia@physics.uc.edu>
6871
6872 PR target/12281
6873 * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
6874 mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
6875
6876 2003-09-22 Olivier Hainque <hainque@act-europe.fr>
6877
6878 PR target/9786
6879 * reg-stack.c (convert_regs_1): Purge possible dead eh edges
6880 after potential deletion of trapping insn. Avoids later ICE
6881 from call to fixup_abnormal_edges.
6882 (convert_regs_2): Stack the current block successors before
6883 processing this block, that is, before the potential deletion of
6884 dead edges by convert_regs_1, because these edges have been used
6885 to initialize the predecessors count.
6886
6887 2003-09-22 Eric Botcazou <ebotcazou@libertysurf.fr>
6888
6889 * real.c: Fix several nits in the head comment.
6890
6891 2003-09-21 Richard Henderson <rth@redhat.com>
6892
6893 * tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
6894 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
6895 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
6896 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
6897 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
6898
6899 2003-09-21 Richard Henderson <rth@redhat.com>
6900
6901 * tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
6902 (TREE_FILENAME, TREE_LINENO): Likewise.
6903 (set_tree_locus, copy_tree_locus, set_tree_file_line): New.
6904 (TREE_LOCUS_SET_P): New.
6905 * c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
6906 diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
6907 print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
6908 tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
6909 config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
6910
6911 2003-09-21 Nathanael Nerode <neroden@gcc.gnu.org>
6912
6913 * config/vax/vax-protos.h: Convert to ISO C90.
6914 * config/vax/vax.c: Convert to ISO C90.
6915
6916 2003-09-21 Graham Stott <grahams@btinternet.com>
6917
6918 PR target/12353
6919 * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
6920
6921 2003-09-21 Eric Botcazou <ebotcazou@libertysurf.fr>
6922
6923 PR target/12301
6924 * reorg.c (stop_search_p): Return 1 for insns that can
6925 throw internally.
6926
6927 2003-09-20 Richard Henderson <rth@redhat.com>
6928
6929 * c-format.c (gcc_diag_char_table): Add %J.
6930 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
6931 (check_format_types): Fix wanted_type name lookup.
6932 (init_dynamic_diag_info): Setup %J.
6933 * diagnostic.c (text_specifies_location): Implement %J.
6934 * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
6935 dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
6936 tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
6937 config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
6938 config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
6939
6940 * tree-inline.c: Include intl.h
6941 (inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
6942 * Makefile.in (tree-inline.o): Update.
6943
6944 2003-09-20 Roger Sayle <roger@eyesopen.com>
6945
6946 * config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
6947 transformation of a>=0 into (unsigned)a<0x80000000.
6948
6949 2003-09-20 Andrew Pinski <apinski@apple.com>
6950
6951 * config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
6952
6953 2003-09-20 Nathanael Nerode <neroden@gcc.gnu.org>
6954
6955 * Makefile.in: Don't set (unused) DLLTOOL.
6956
6957 * config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
6958 Remove obsolete references to ENQUIRE.
6959
6960 2003-09-19 Nathanael Nerode <neroden@gcc.gnu.org>
6961
6962 * configure.in: Remove --with-elf, which doesn't work.
6963 * configure: Regenerate.
6964 * config.gcc: Remove references to $elf, which does nothing.
6965
6966 * config/i386/xm-vsta.h: Remove xm-file believed useless.
6967 * config.build (i386-vsta): Remove reference to it.
6968 * config.host (i386-vsta): Remove reference to it.
6969
6970 2003-09-19 Phil Edwards <phil@codesourcery.com>
6971
6972 * doc/install.texi: Document the multiple testsuite options.
6973
6974 2003-09-19 Gerald Pfeifer <gerald@pfeifer.com>
6975
6976 * doc/install.texi (Specific): Add the specific versions of GCC
6977 where support for FreeBSD 1, HP-UX version 9 and older, and AIX
6978 version 3 and older was discontinued.
6979
6980 2003-09-19 Joel Sherrill <joel@oarcorp.com>
6981
6982 * config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
6983 68881.
6984
6985 2003-09-19 Bernardo Innocenti <bernie@develer.com>
6986
6987 * config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
6988 for -m68030, -m68020-60 and -m68020-40.
6989 * config/m68k/m68k.h (TARGET_68030): New target flag.
6990 * config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
6991 TARGET_REGPARM): Remove.
6992 * config/m68k/m68k.h: Regroup and renumber target flags.
6993 * config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
6994 * config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
6995 * config/m68k/m68k.h (FUNCTION_ARG): Likewise.
6996 * config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
6997 * config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
6998
6999 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7000
7001 * config/m68k/t-rtems (m68k-*-rtems*): New.
7002 * config.gcc: Use config/m68k/t-rtems.
7003
7004 2003-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
7005
7006 * config/mips/t-rtems: New.
7007 * config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
7008
7009 2003-09-19 Kelley Cook <kelleycook@wideopenwest.com>
7010
7011 * cgraph.c: Fix typo in debugging output.
7012
7013 2003-09-19 T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
7014 Eric Botcazou <ebotcazou@libertysurf.fr>
7015
7016 PR target/12166
7017 * config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
7018
7019 2003-09-18 Mike Stump <mrs@apple.com>
7020
7021 * c-ppoutput.c (print): Use fileline typedef for field 'line'.
7022 (print_line, maybe_print_line, cb_define, cb_undef, cb_include,
7023 cb_ident, cb_def_pragma): Use fileline typedef.
7024 * cpphash.h (struct cpp_reader): Likewise for field out.first_line.
7025
7026 2003-09-18 Danny Smith <dannysmith@users.sourceforge.net>
7027
7028 * config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
7029 total parm size if a parm has incomplete type.
7030 (gen_fastcall_suffix): Likewise.
7031
7032 2003-09-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7033
7034 * except.c (output_function_exception_table): Adjust last change
7035 to handle TYPE of INTEGER_CST.
7036
7037 2003-09-18 Mark Mitchell <mark@codesourcery.com>
7038
7039 PR target/11184
7040 * builtins.c (expand_builtin_apply): Use convert_memory_address
7041 before returning the value.
7042
7043 * alias.c (find_base_value): Simplify use of
7044 convert_memory_address.
7045 (find_base_term): Likewise.
7046 * builtins.c (expand_builtin_stejmp_setup): Likewise.
7047 (expand_builtin_longjmp): Likewise.
7048 (expand_builtin_prefetch): Likewise.
7049 (get_memory_rtx): Likewise.
7050 (expand_builtin_return): Likewise.
7051 (expand_builtin_memcpy): Likewise.
7052 (expand_builtin_strncpy): Likewise.
7053 (expand_builtin_memset): Likewise.
7054 (expand_builtin_va_arg): Likewise.
7055 (expand_builtin_va_copy): Likewise.
7056 (expand_builtin_alloca): Likewise.
7057 * calls.c (expand_call): Likewise.
7058 * except.c (expand_builtin_extract_return_addr): Likewise.
7059 (expand_builtin_eh_return): Likewise.
7060 * explow.c (convert_memory_address): Define even when
7061 POINTER_EXTEND_UNSIGNED is not defined. Do nothing if the address
7062 is already in the right mode.
7063 * explow.c (memory_address): Simplify use of convert_memory_address.
7064 (probe_stack_range): Likewise.
7065 * expmed.c (make_tree): Likewise.
7066 * expr.c (emit_block_move_in_libcall): Likewise.
7067 (expand_assignment): Likewise.
7068 (expand_expr): Likewise.
7069 * function.c (assign_parms): Likewise.
7070 (expand_function_end): Likewise.
7071 * integrate.c (copy_rtx_and_substitute): Likewise.
7072 * stmt.c (expand_computed_goto): Likewise.
7073
7074 2003-09-18 Roger Sayle <roger@eyesopen.com>
7075
7076 * simplify-rtx.c (simplify_unary_operation): Only transform
7077 (not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
7078 is -1. RTL "not" is a bit-wise not, "~", not a logical not "!".
7079
7080 2003-09-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7081
7082 PR target/11674
7083 * config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
7084
7085 2003-09-18 Roger Sayle <roger@eyesopen.com>
7086
7087 * tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
7088 PARITY_EXPR): Delete unused tree codes.
7089 * c-common.c (c_common_truthvalue_conversion): Delete references
7090 to FFS_EXPR and POPCOUNT_EXPR.
7091 * c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
7092 (pp_c_expression): Likewise.
7093 * expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
7094 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
7095 * fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
7096 CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR. Add support for calls to
7097 BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
7098 and long long variants.
7099
7100 2003-09-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
7101
7102 * c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
7103 * c-pretty-print.c: Fix formatting.
7104 (pp_c_integer_constant): Append type annotation to literals. Tidy.
7105 (pp_c_type_specifier): Tidy.
7106 (pp_c_compound_literal): New function.
7107 (pp_c_initializer): Simplify..
7108 (pp_c_initializer_list): Likewise.
7109 (pp_c_brace_enclosed_initializer_list): New function.
7110 (pp_c_postfix_expression): Simplify.
7111
7112 2003-09-17 Alexandre Oliva <aoliva@redhat.com>
7113
7114 * config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
7115 one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
7116
7117 2003-09-17 Richard Henderson <rth@redhat.com>
7118
7119 * tree-optimize.c (tree_rest_of_compilation): Save and restore
7120 input_location.
7121
7122 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7123
7124 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
7125
7126 2003-09-17 Richard Henderson <rth@redhat.com>
7127
7128 * cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
7129
7130 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7131
7132 * configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
7133 * configure: Regenerate.
7134
7135 2003-09-17 Mark Mitchell <mark@codesourcery.com>
7136
7137 PR debug/12066
7138 * dbxout.c (dbxout_init): Use a langhook to find builtin types.
7139 * langhooks-def.h (lhd_return_null_tree_v): New function.
7140 (LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
7141 (LANG_HOOKS_DECLS): Add it to the intializer.
7142 * langhooks.c (lhd_return_null_tree_v): New function.
7143 * langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
7144
7145 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7146
7147 * configure.in: Quote gcc_config_arguments for configargs.h.
7148 * configure: Regenerated.
7149 * gccbug.in: Don't shell-expand gcc_config_arguments.
7150
7151 2003-09-17 Gabriel Dos Reis <gdr@integrable-solutions.net>
7152
7153 PR c++/11357
7154 * c-pretty-print.c (pp_c_floating_constant): Append
7155 type-annotation to floating constants.
7156
7157 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7158
7159 * config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
7160 Define _ABIO32.
7161 Use it for _MIPS_SIM.
7162 * config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
7163
7164 * config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
7165 Moved ...
7166 * config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
7167 updating comment.
7168 Fixes PR target/10190.
7169
7170 2003-09-17 Daniel Jacobowitz <drow@mvista.com>
7171
7172 * config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
7173 to shared libraries.
7174
7175 2003-09-17 Eric Botcazou <ebotcazou@libertysurf.fr>
7176
7177 PR optimization/11646
7178 * cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
7179 EDGE_ABNORMAL flag for EH edges.
7180 * toplev.c (rest_of_handle_cse): Delete unreachable blocks
7181 if dead edges were purged.
7182
7183 2003-09-16 Bernardo Innocenti <bernie@develer.com>
7184
7185 * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
7186 * config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
7187 * config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
7188 * config/m68k/m68k-none.h (CPP_SPEC): Likewise.
7189
7190 2003-09-16 Ian Lance Taylor <ian@wasabisystems.com>
7191
7192 * cfgcleanup.c (label_is_jump_target_p): Correct use of table
7193 returned by tablejump_p.
7194
7195 2003-09-16 Joel Brobecker <brobecker@gnat.com>
7196
7197 * dwarf2asm.c (dw2_asm_output_nstring): Add comment.
7198
7199 2003-09-16 Roger Sayle <roger@eyesopen.com>
7200
7201 PR bootstrap/12269
7202 * simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
7203 argument to be VOIDmode, taking the mode of the comparison from
7204 the operands. Only call simplify_relational_operation if we
7205 know the mode of the comparison. Honor FLOAT_STORE_FLAG_VALUE
7206 if comparison has a floating point result. Ensure that the
7207 result is always of the specified mode.
7208 (simplify_replace_rtx): Simplify call to simplify_gen_relational.
7209 (simplify_unary_operation): Ensure the correct mode and cmp_mode
7210 are always passed to simplify_gen_relational. Simplify NOT of
7211 comparison operator in any mode, not just BImode.
7212 (simplify_ternary_operation): Correct tests on the return value
7213 of simplify_relational_operation to use const_true_rtx, not
7214 const1_rtx. Abort if it ever returns a non-constant result.
7215
7216 * cfgloopanal.c (count_strange_loop_iterations): Use the function
7217 simplify_relational_operation, not simplify_gen_relational, if
7218 we're only interested in constant comparisons and will ignore
7219 non-constant results.
7220
7221 2003-09-16 Roger Sayle <roger@eyesopen.com>
7222
7223 * fold-const.c (tree_swap_operands_p): New function to determine
7224 the prefered ordering of operands.
7225 (fold): Numerous clean-ups. Use tree_swap_operands_p when swapping
7226 operands to commutative, comparison or ternary operators. Replace
7227 uses of TREE_SET_CODE with recursive call to fold. Remove duplicate
7228 transformation of A ? B : C into !A ? C : B.
7229
7230 2003-09-16 Jakub Jelinek <jakub@redhat.com>
7231
7232 * config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7233 * config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7234 * config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7235 * config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7236 * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7237 * config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7238 * config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7239 * config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7240
7241 2003-09-16 Jason Merrill <jason@redhat.com>
7242 Jakub Jelinek <jakub@redhat.com>
7243
7244 * c-common.c (handle_warn_unused_result_attribute): New function.
7245 (c_common_attribute_table): Add warn_unused_result.
7246 (c_expand_expr): Issue warning when result of inlined function
7247 with warn_unused_result attribute is ignored.
7248 * calls.c (expand_call): Issue warning when result of function
7249 with warn_unused_result attribute is ignored.
7250 * c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
7251 * expr.c (expr_wfl_stack): Define.
7252 (expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
7253 pass const0_rtx as target. Chain locations into expr_wfl_stack.
7254 * tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
7255 bit if inlined function has warn_unused_result attribute.
7256 * input.h (expr_wfl_stack): Declare.
7257 * doc/extend.texi: Document warn_unused_result attribute.
7258
7259 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
7260
7261 * cpplib.c (do_pragma): Remove unnecessary cb_line_change.
7262
7263 2003-09-15 Bob Wilson <bob.wilson@acm.org>
7264
7265 * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
7266 ATTRIBUTE_UNUSED.
7267 (call_insn_operand): For PIC, don't allow a direct call to a
7268 function in a different section than the current one.
7269
7270 2003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
7271
7272 * doc/invoke.texi (Warning Options): Add missing hyphen before
7273 "Wimport". Change "-Wno-endif-labels" to "-Wendif-labels".
7274 Move "-Wold-style-definition" to the C-only section.
7275 Fix the ordering of the warning options.
7276
7277 2003-09-15 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7278 Jeff Law <law@redhat.com>
7279
7280 * gcse.c (remove_reachable_equiv_notes): New.
7281 replace_store_insn): Call it. Update antic list.
7282 (store_killed_in_insn): Take REG_EQUAL notes into account.
7283 (build_store_vectors, delete_store): Add parameter to
7284 replace_store_insn call.
7285
7286 2003-09-15 Bob Wilson <bob.wilson@acm.org>
7287
7288 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
7289 SYMBOL_REF_LOCAL_P.
7290
7291 2003-09-15 Kazu Hirata <kazu@cs.umass.edu>
7292
7293 * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
7294 (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
7295 * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
7296 Likewise.
7297 * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
7298 Likewise.
7299 * config/rs6000/rs6000.c (function_arg_padding): Likewise.
7300 * config/sparc/sparc.c (function_arg_padding): Likewise.
7301
7302 2003-09-15 Vladimir Makarov <vmakarov@redhat.com>
7303
7304 * haifa-sched.c (schedule_block): Use ready_remove_first instead
7305 of choose_ready for non-dfa insn scheduling.
7306
7307 2003-09-15 Andreas Jaeger <aj@suse.de>
7308 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7309
7310 * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
7311 * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
7312 * c-parse.in: Warn about old-style parameter definition.
7313 * c-common.c: Define warn_old_style_defintion.
7314 * c-common.h: Declare it.
7315 * c.opt: Add Wold-style-defintion.
7316
7317 2003-09-15 Andreas Jaeger <aj@suse.de>
7318
7319 * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
7320 * config/rs6000/rs6000.c: Likewise.
7321
7322 2003-09-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7323
7324 PR optimization/10914
7325 * expr.h (get_condition, canonicalize_condition): Declaration changed.
7326 * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
7327 and canonicalize_condition calls.
7328 * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
7329 delete_null_pointer_checks): Ditto.
7330 * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
7331 * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
7332 * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
7333 (canonicalize_condition, get_condition): Allow to return comparisons
7334 of cc mode registers.
7335 * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
7336 cc mode registers comparison in condition.
7337
7338 2003-09-12 Mark Mitchell <mark@codesourcery.com>
7339
7340 * coverage.c (create_coverage): Do not call pushlevel/poplevel.
7341 * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
7342 function.
7343 * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
7344
7345 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
7346
7347 * combine.c (simplify_comparison): Convert
7348 (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
7349 (eq (and (lshiftrt X Y) 1) 0).
7350
7351 2003-09-14 Kazu Hirata <kazu@cs.umass.edu>
7352
7353 * alias.c: Follow spelling conventions.
7354 * cpphash.h: Likewise.
7355 * fold-const.c: Likewise.
7356
7357 2003-09-14 Alexandre Oliva <aoliva@redhat.com>
7358
7359 * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
7360 * c-lex.c (cb_line_change): Skip line changing whenever
7361 c-ppoutput.c would.
7362
7363 2003-09-14 Steven Bosscher <steven@gcc.gnu.org>
7364
7365 * ra.c: Convert to ISO C90 prototypes.
7366 * ra-build.c: Likewise.
7367 * ra-colorize.c: Likewise.
7368 * ra-debug.c: Likewise.
7369 * ra-rewrite.c: Likewise.
7370
7371 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
7372
7373 * Makefile.in (%.dvi): Remove excess $(docdir).
7374
7375 2003-09-14 Richard Sandiford <rsandifo@redhat.com>
7376
7377 * function.c (STACK_BYTES): Move definition to head of file.
7378 (assign_parms): Don't pass current_function_pretend_args_size
7379 directly to SETUP_INCOMING_VARARGS. For partial register arguments,
7380 round current_function_pretend_args_size up to STACK_BYTES. Skip any
7381 excess before laying out the argument.
7382
7383 2003-09-14 Andreas Jaeger <aj@suse.de>
7384
7385 * objc/objc-act.c: Convert to ISO C90 prototypes.
7386 * objc/objc-act.h: Likewise.
7387
7388 2003-09-14 Olaf Hering <olh@suse.de>
7389
7390 * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
7391
7392 2003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
7393
7394 PR target/12021
7395 * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
7396 as they already are done in config/m68k/m68k.h.
7397 * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
7398
7399 * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
7400 (machopic_output_stub): Only generate pic base symbols when using pic
7401 and generate them in the form L00000000$spb.
7402
7403 2003-09-13 Richard Henderson <rth@redhat.com>
7404
7405 * cgraphunit.c (cgraph_assemble_pending_functions): Export.
7406 (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
7407 * cgraph.h: Update.
7408
7409 2003-09-12 Dale Johannesen <dalej@apple.com>
7410
7411 * config/rs6000/rs6000.c: Fix typos in previous.
7412
7413 2003-09-12 Ziemowit Laski <zlaski@apple.com>
7414
7415 * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
7416 when allocating pp->buffer.
7417
7418 2003-09-12 Geoffrey Keating <geoffk@apple.com>
7419
7420 * config/darwin.c (machopic_select_rtx_section): Use
7421 const_data_section for things that might require relocation.
7422
7423 2003-09-12 H.J. Lu <hongjiu.lu@intel.com>
7424
7425 PR bootstrap/12264
7426 * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
7427
7428 2003-09-12 Bob Wilson <bob.wilson@acm.org>
7429
7430 * config/xtensa/elf.h (ASM_SPEC): Remove no-density option. Reformat.
7431 * config/xtensa/linux.h (ASM_SPEC): Likewise.
7432 * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
7433 -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
7434 -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
7435 -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
7436 -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
7437 -m[no-]hard-float-rsqrt options. Delete corresponding MASK_* macros
7438 and redefine corresponding TARGET_* macros with constants from the
7439 xtensa-config.h header.
7440 * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
7441 for the options listed above.
7442
7443 2003-09-12 Dale Johannesen <dalej@apple.com>
7444
7445 * config/rs6000/rs6000-protos.h: Use C90 prototypes.
7446 * config/rs6000/rs6000-c.c: Ditto.
7447 * config/rs6000/rs6000.c: Ditto.
7448 * config/rs6000/ sysv4.h: Ditto.
7449
7450 2003-09-12 Chris Lattner <sabre@nondot.org>
7451
7452 * loop.c: Move comments describing BIV's and GIV's to top of file
7453
7454 2003-09-12 Roger Sayle <roger@eyesopen.com>
7455
7456 PR optimization/8967
7457 * alias.c (write_dependence_p): Modify to take an additional constp
7458 argument that controls whether the UNCHANGING_RTX_P flags are used.
7459 (anti_dependence, output_dependence): Adjust write_dependence_p
7460 callers to pass this additional argument, to return the same result.
7461 (unchanging_anti_dependence): New variant of anti_dependence that
7462 ignores the UNCHANGING_RTX_P property on memory references.
7463 * rtl.h (unchaning_anti_dependence): Prototype here.
7464 * flow.c (init_propagate_block): Place fake constant mem writes on
7465 the mem_set_list so that dead writes to const variables are deleted.
7466 (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
7467 (mark_used_regs): Likewise.
7468
7469 2003-09-12 Richard Sandiford <rsandifo@redhat.com>
7470
7471 * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
7472 (mcore_secondary_reload_class): Declare.
7473 (mcore_output_inline_const_forced): Remove.
7474 * config/mcore/mcore.md (movsi): Remove the code that forced
7475 non-inlineable constants into a register if the target was r15
7476 or the stack pointer. Remove constant restrictions from the main
7477 define_insn. Remove r <- I, r <- M and r <- N alternatives in favor
7478 of an r <- P alternative. Remove fallback define_insn for reload.
7479 (movhi, movqi): Use gen_lowpart rather than gen_SUBREG. Remove reload
7480 define_insn. Use mcore_output_move in the remaining define_insn.
7481 Adjust condition and constraints in the way as for movsi.
7482 (movdi): Always split unacceptable constants into two. Use
7483 simplify_gen_subreg instead of operand_subword{,_force}.
7484 * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
7485 (mcore_output_move): Support HImode and QImode moves as well.
7486 (mcore_m15_operand_p): New function.
7487 (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
7488 (mcore_secondary_reload_class): New function.
7489 * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
7490 terms of mcore_secondary_reload_class.
7491
7492 2003-09-11 Mike Stump <mrs@apple.com>
7493
7494 * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
7495
7496 2003-09-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7497
7498 * builtins.c (fold_builtin_logarithm): if N can't be truncated to
7499 MODE exactly, then only convert logN(N) -> 1.0 if
7500 flag_unsafe_math_optimizations is set.
7501
7502 * builtins.c (builtin_dconsts_init, dconstpi, dconste,
7503 init_builtin_dconsts): Delete.
7504 * emit-rtl.c (dconstpi, dconste): Define.
7505 (init_emit_once): Initialize dconstpi & dconste.
7506 * real.h (dconstpi, dconste): Declare.
7507
7508 2003-09-11 Alexandre Oliva <aoliva@redhat.com>
7509
7510 PR fortran/11522
7511 * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
7512 for ultimate origin even if block is abstract.
7513
7514 2003-09-11 Roger Sayle <roger@eyesopen.com>
7515
7516 * combine.c (combine_simplify_rtx): Move several NOT and NEG
7517 optimizations from here...
7518 * simplify-rtx.c (simplify_unary_operation): to here. Recursively
7519 simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
7520
7521 2003-09-11 Richard Henderson <rth@redhat.com>
7522
7523 * cgraphunit.c (cgraph_finalize_function): Add nested arg.
7524 Tweek tests for function already generated.
7525 (cgraph_expand_function): Don't double announce in !unit-at-a-time.
7526 * cgraph.h (cgraph_finalize_function): Update for extra arg.
7527 * c-decl.c (finish_function): Likewise.
7528
7529 2003-09-10 Joe Buck <jbuck@welsh-buck.org>
7530
7531 * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
7532
7533 2003-09-10 Jerry Quinn <jlquinn@optonline.net>
7534
7535 * real.c: Update URL to VAX floating point docs.
7536 (decode_vax_d): Extract 8 exponent bits instead of 7.
7537
7538 2003-09-10 Ian Lance Taylor <ian@wasabisystems.com>
7539
7540 * combine.c (force_to_mode): Set fuller_mask based only on mask,
7541 not op_mode.
7542
7543 2003-09-11 Jan Hubicka <jh@suse.cz>
7544
7545 * c-objc-common.c (c_cannot_inline_tree_fn): Warn
7546 on why function is not inlinable; do not check
7547 the body.
7548 (inline_forbidden_p): Move to...
7549 * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
7550 deal with alloca, longjmp.
7551 (inline_forbidden_p): New static function.
7552 (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
7553 find_builtin_longjmp_call): Kill.
7554
7555 2003-09-10 Richard Henderson <rth@redhat.com>
7556
7557 * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
7558 * cgraphunit.c: Update to match.
7559 (record_call_1): Rearrange. Call lang hook for language nodes.
7560 (cgraph_analyze_function): Don't call lower_function.
7561 * langhooks.h (struct lang_hooks_for_callgraph): Replace
7562 lower_function with analyze_expr.
7563 * langhooks-def.h: Update to match.
7564 * langhooks.c (lhd_callgraph_analyze_expr): New.
7565
7566 2003-09-10 Martin Husemann <martin@duskware.de>
7567
7568 PR target/11965
7569 * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
7570 constants greater than 63.
7571 * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
7572 against constants greater than 31.
7573 (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
7574 constants greater than 63.
7575
7576 2003-09-09 Richard Henderson <rth@redhat.com>
7577
7578 * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
7579 * cgraph.h (cgraph_finalize_function): Update.
7580 * c-decl.c (finish_function): Update.
7581
7582 2003-09-09 Devang Patel <dpatel@apple.com>
7583
7584 * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
7585 * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
7586
7587 2003-09-09 Eric Christopher <echristo@redhat.com>
7588
7589 * configure.in: Change usage of 'head' to 'sed 1q'.
7590 * configure: Regenerate.
7591
7592 2003-09-09 Richard Henderson <rth@redhat.com>
7593
7594 * except.c: Include cgraph.h.
7595 (output_function_exception_table): Invoke
7596 cgraph_varpool_mark_needed_node.
7597 * Makefile.in (except.o): Update.
7598
7599 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
7600
7601 * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
7602 and use it throughout.
7603
7604 2003-09-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7605
7606 * builtins.c (real_dconstp, fold_builtin_logarithm,
7607 fold_builtin_exponent): New, split out from fold_builtin. Also
7608 generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
7609 * emit-rtl.c (dconst3, dconst10, dconstthird): New.
7610 (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
7611 of hardcoded array size.
7612 * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
7613 (tree_expr_nonnegative_p): Likewise.
7614 * real.h (dconst3, dconst10, dconstthird): New.
7615
7616 2003-09-09 Jan Hubicka <jh@suse.cz>
7617
7618 * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
7619 inline functions.
7620 (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
7621 DECL_SAVED_TREE.
7622
7623 2003-09-09 Roger Sayle <roger@eyesopen.com>
7624
7625 * builtins.c (fold_builtin_cabs): Protect the complex argument
7626 against multiple evaluation when optimizing cabs* into sqrt*.
7627
7628 2003-09-09 Jan Hubicka <jh@suse.cz>
7629
7630 * varasm.c (notice_global_symbol): Properly deal with weak symbols.
7631
7632 2003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
7633
7634 * Makefile.in: Revert yesterday's change.
7635
7636 2003-09-08 Bernardo Innocenti <bernie@develer.com>
7637 Peter Barada <peter@baradas.org>
7638
7639 * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
7640 * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
7641 * config/m68k/linux.h (REGISTER_NAMES): Likewise.
7642 * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
7643 * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
7644 * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
7645 * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
7646 (m68k_compute_frame_layout): New function.
7647 (m68k_initial_elimination_offset): New function.
7648 (m68k_output_function_prologue): ColdFire-specific movem handling.
7649 (m68k_output_function_epilogue): Likewise.
7650 * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
7651 (ARG_POINTER_REGNUM): Add new definition.
7652 (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
7653 (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
7654 (CAN_ELIMINATE): Likewise.
7655 (INITIAL_ELIMINATION_OFFSET): Likewise.
7656
7657 2003-09-08 Bernardo Innocenti <bernie@develer.com>
7658
7659 * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
7660 by removing redundant variable cfa_store_offset.
7661
7662 2003-09-08 Mark Mitchell <mark@codesourcery.com>
7663
7664 * langhooks-def.h (lhd_register_builtin_type): New function.
7665 (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
7666 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
7667 * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
7668 * langhooks.c (lhd_register_builtin_type): New function.
7669 * c-common.h (c_register_builtin_type): Declare.
7670 * c-common.c (c_register_builtin_type): New function.
7671 * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
7672 c_register_builtin_type.
7673 * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
7674 __float80, and __float128 macros.
7675 * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
7676 __float80, and __float128 types.
7677
7678 2003-09-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7679
7680 * builtin-types.def
7681 (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
7682 BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
7683 BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
7684 * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
7685 BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
7686 BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
7687 BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
7688 BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
7689 BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
7690 BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
7691 BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
7692 BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
7693 BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
7694 BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
7695 BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
7696 BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
7697 BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
7698 New.
7699 * doc/extend.texi: Document new builtins.
7700
7701 2003-09-09 Jan Hubicka <jh@suse.cz>
7702
7703 * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
7704 finalization.
7705 * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
7706 functions, check for COMDAT.
7707 (cgraph_assemble_pending_functions): Break out from...
7708 (cgraph_finalize_function): ... here; allow redefinig of extern inline
7709 functions.
7710 (record_call_1): Record function references only in non-unit-at-a-time
7711 mode.
7712 (cgraph_analyze_function): Reset current_function_decl.
7713 (cgraph_finalize_compilation_unit): Assemble pending functions.
7714
7715 2003-09-08 Mark Mitchell <mark@codesourcery.com>
7716
7717 * mklibgcc.in (libcc.a): Depend on stmp-dirs.
7718 (libgov.a): Likewise.
7719 (libgcc_eh.a): Likewise.
7720
7721 2003-09-08 Roger Sayle <roger@eyesopen.com>
7722
7723 * fold-const.c (operand_equal_p): Clarify documentation.
7724
7725 2003-09-08 Richard Henderson <rth@redhat.com>
7726
7727 * c-decl.c (c_expand_body_1): Push and pop function context here.
7728 * tree-optimize.c (tree_rest_of_compilation): ... not here. Take
7729 nested argument instead of computing nesting ourselves.
7730
7731 2003-09-08 Jakub Jelinek <jakub@redhat.com>
7732
7733 * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
7734 regstack if optimizing but not scheduling after reload.
7735
7736 2003-09-08 Jakub Jelinek <jakub@redhat.com>
7737
7738 * config/sparc/sparc.c (struct machine_function): New type.
7739 (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
7740 (sparc_override_options): Initialize init_machine_status.
7741 (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
7742 tie_symbolic_operand, tle_symbolic_operand): New functions.
7743 (symbolic_operand): Disallow tls_symbolic_operand.
7744 (symbolic_memory_operand): Likewise.
7745 (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
7746 constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
7747 New functions.
7748 (sparc_tls_symbol): New variable.
7749 (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
7750 legitimize_address): New functions.
7751 (print_operand): Handle %&.
7752 (sparc_init_machine_status, get_some_local_dynamic_name,
7753 get_some_local_dynamic_name_1): New functions.
7754 (sparc_output_dwarf_dtprel): New function.
7755 * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
7756 constant_address_p.
7757 (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
7758 (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
7759 (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
7760 (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
7761 (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
7762 (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
7763 (ASM_OUTPUT_DWARF_DTPREL): Define.
7764 (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
7765 tie_symbolic_operand, tle_symbolic_operand.
7766 * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
7767 UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
7768 (tls_call_delay): New attribute.
7769 (in_call_delay): Use it.
7770 (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
7771 (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
7772 tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
7773 tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
7774 tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
7775 tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
7776 (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
7777 tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
7778 tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
7779 tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
7780 tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
7781 tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
7782 tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
7783 tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
7784 insns.
7785 * config/sparc/sparc-protos.h (legitimate_constant_p,
7786 constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
7787 legitimize_tls_address, legitimize_address, tls_symbolic_operand,
7788 tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
7789 * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
7790 * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
7791 * configure.in (sparc*-*-*): Add TLS check.
7792 * configure: Rebuilt.
7793
7794 2003-09-07 Eric Botcazou <ebotcazou@libertysurf.fr>
7795
7796 PR target/11689
7797 * config/i386/i386.c (memory_address_length): Fix computation when
7798 the base is esp or ebp.
7799
7800 2003-09-07 Mark Mitchell <mark@codesourcery.com>
7801
7802 PR c++/11852
7803 * varasm.c (initializer_constant_valid_p): Correct logic for
7804 CONSTRUCTORs.
7805
7806 2003-09-07 Roger Sayle <roger@eyesopen.com>
7807
7808 * expr.c (expand_operands): New function to expand an operand pair.
7809 (expand_expr): Call expand_operands whenever we need to expand both
7810 operands of a binary operator.
7811 (do_store_flag): Likewise for operands of comparison operations.
7812
7813 2003-09-07 Roger Sayle <roger@eyesopen.com>
7814
7815 * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
7816 (-A)*B if we care about sign-dependent rounding.
7817
7818 2003-09-07 Gabriel Dos Reis <gcc@integrable-solutions.net>
7819
7820 * c-pretty-print.h (pp_c_left_brace): Declare.
7821 (pp_c_right_brace): Likewise.
7822 * c-pretty-print.c (pp_c_left_brace): Now a function
7823 (pp_c_right_brace): Likewise.
7824
7825 2003-09-07 Jan Hubicka <jh@suse.cz>
7826
7827 * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
7828
7829 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
7830
7831 * diagnostic.c (warn_deprecated_use): Move to toplev.c
7832
7833 2003-09-07 Gabriel Dos Reis <gdr@integrable-solutions.net>
7834
7835 * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
7836 * Makefile.in (langhooks.o): Depend on diagnostic.h
7837
7838 2003-09-06 James E Wilson <wilson@tuliptree.org>
7839
7840 * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
7841 simplify.
7842
7843 2003-09-07 Kelley Cook <kelleycook@wideopenwest.com>
7844
7845 * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
7846 and use it throughout.
7847
7848 2003-09-07 Jan Hubicka <jh@suse.cz>
7849
7850 * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
7851
7852 * toplev.c (rest_of_decl_compilation): Do not finalize external
7853 virables.
7854
7855 * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
7856 functions.
7857 (cgraph_varpool_finalize_decl): Notice global symbol when needed.
7858
7859 2003-09-06 Jan Hubicka <jh@suse.cz>
7860
7861 PR target/12070
7862 * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
7863
7864 PR opt/12082
7865 * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
7866
7867 2003-09-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
7868
7869 * diagnostic.c (announce_function): Move to toplev.c.
7870
7871 2003-09-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7872
7873 * gcse.c (expr_equiv_p): Don't consider anything to be equal to
7874 volatile mem.
7875
7876 2003-09-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7877
7878 * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
7879 when gc checking is enabled.
7880
7881 2003-09-06 Steven Bosscher <steven@gcc.gnu.org>
7882
7883 PR c/9862
7884 * c-decl.c (c_expand_body_1): Move return warning from here...
7885 (finish_function): ...to here.
7886
7887 2003-09-05 Geoffrey Keating <geoffk@apple.com>
7888
7889 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
7890 a subset of the input class.
7891
7892 2003-09-05 Kazu Hirata <kazu@cs.umass.edu>
7893
7894 * config/i860/i860.c: Follow spelling conventions.
7895 * config/i860/i860.h: Likewise.
7896 * config/sh/sh.h: Likewise.
7897
7898 2003-09-05 Nitin Yewale <NitinY@KPITCummins.com>
7899
7900 * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
7901 * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
7902 * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
7903
7904 2003-09-05 Roger Sayle <roger@eyesopen.com>
7905 Richard Henderson <rth@redhat.com>
7906
7907 PR optimization/1823
7908 * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
7909 multiplication to implement division by constant integer.
7910
7911 2003-09-05 Jan Hubicka <jh@suse.cz>
7912
7913 * opts.c (decode_options): Enable unit-at-a-time at -O2.
7914 * params.def (max-inline-insns-single): Set to 500
7915 (max-inline-insns-auto): Set to 150
7916 * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
7917
7918 2003-09-04 Richard Henderson <rth@redhat.com>
7919
7920 * cgraph.c (cgraph_mark_reachable_node): Split out from ...
7921 (cgraph_mark_needed_node): Remove needed argument.
7922 * cgraph.h: Update to match.
7923 * cgraphunit.c (decide_is_function_needed): Split out from ...
7924 (cgraph_finalize_function): Reorg. Avoid deferred_inline_function
7925 if we generated the function.
7926 (record_call_1): Update for cgraph_mark_reachable_node.
7927 * varasm.c (mark_referenced): Likewise.
7928 * objc/objc-act.c (mark_referenced_methods): Likewise.
7929
7930 2003-09-04 DJ Delorie <dj@redhat.com>
7931
7932 * targhooks.c: Add comment explaining the migration process.
7933
7934 2003-09-04 Eric Christopher <echristo@redhat.com>
7935
7936 * config/frv/t-frv: Fix path for frv-abi.h.
7937 * config/frv/frv-asm.h: Fix string concatenation.
7938
7939 2003-09-04 DJ Delorie <dj@redhat.com>
7940
7941 * builtins.c (apply_args_size): Guard against a NULL cfun.
7942 (expand_builtin_apply_args_1): Likewise.
7943 (expand_builtin_apply): Likewise.
7944 Fixes PR bootstrap/12172.
7945
7946 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7947
7948 * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
7949 assembler supports Sun syntax for cmov.
7950 * configure: Regenerate.
7951 * config.in: Likewise.
7952 * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
7953 HAVE_AS_IX86_CMOV_SUN_SYNTAX.
7954 * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
7955 Fixes PR target/12101.
7956
7957 2003-09-04 Matt Austern <austern@apple.com>
7958
7959 * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
7960 with verbosity 0, instead of DECL_NAME, for human-readable string.
7961
7962 2003-09-04 Eric Christopher <echristo@redhat.com>
7963
7964 * targhooks.c (default_return_in_memory): Allow
7965 unconverted ports.
7966
7967 2003-09-04 Eric Christopher <echristo@redhat.com>
7968
7969 * targhooks.c (default_return_in_memory): Fix typo
7970 in last checkin.
7971
7972 2003-09-04 Eric Christopher <echristo@redhat.com>
7973
7974 * targhooks.c (default_return_in_memory): Fix default
7975 definition.
7976
7977 2003-09-04 Bernardo Innocenti <bernie@develer.com>
7978
7979 * config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
7980 deleted function.
7981 * config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
7982 enable coff-only code in m68k.c.
7983
7984 2003-09-04 Nick Clifton <nickc@redhat.com>
7985
7986 * config.gcc: Add v850e1 target. Allow --with-cpu to accept
7987 v850e1.
7988 * config/v850/v850.h: Accept v850e1 as a default CPU.
7989 Accept -mv850e1 as a command line option.
7990 * doc/invoke.texi: Document new -mv850e1 command line switch.
7991 * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
7992 -mv850e.
7993
7994 2003-09-04 Nick Clifton <nickc@redhat.com>
7995
7996 * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
7997 * config/v850/t-v850: Only produce one extra multilib - for
7998 the v850e.
7999 * config/v850/t-v850e: New file: Only produce one extra
8000 multilib - for the v850.
8001
8002 2003-09-04 Jakub Jelinek <jakub@redhat.com>
8003
8004 * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
8005 * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
8006 * unwind.h (_Unwind_GetBSP): New prototype.
8007 * libgcc-std.ver: Add empty GCC_3.3.2 version.
8008 * mkmap-symver.awk: For symbol versions with no exported symbols,
8009 don't put anything into version script, just change all symbol
8010 versions which inherit from it to inherit from its ancestor.
8011
8012 2003-09-04 Eric Christopher <echristo@redhat.com>
8013
8014 * config/mips/mips.c (mips_expand_prologue): Convert to
8015 calls.struct_value_rtx hook.
8016 (reg_or_const_float_1_operand): New.
8017 * config/mips/mips.h: Update Comments.
8018 (mips_arg): Add reg_or_const_float_1_operand.
8019 * config/mips/mips.md (divdf3); Convert to expander.
8020 (divsf3): Ditto.
8021 (*divdf3): New pattern.
8022 (*divsf3): Ditto.
8023
8024 2003-09-04 Jan Hubicka <jh@suse.cz>
8025
8026 * toplev.c (wrapup_global_declarations): Fix final pass in
8027 unit-at-atime mode.
8028
8029 2003-09-04 Mark Mitchell <mark@codesourcery.com>
8030
8031 * doc/extend.texi: Document removal of cast-as-lvalue extension in
8032 C++.
8033
8034 2003-09-04 Nicolas Roche <roche@act-europe.fr>
8035
8036 * gcc.c (process_command): Fix typo.
8037
8038 2003-09-03 David O'Brien <obrien@FreeBSD.org>
8039
8040 optimization/11980
8041 * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
8042 (PTRDIFF_TYPE): Likewise.
8043 (WCHAR_TYPE_SIZE): Likewise.
8044
8045 2003-09-03 DJ Delorie <dj@redhat.com>
8046
8047 * targhooks.c: New file.
8048 * targhooks.h: New file.
8049 * Makefile.in: Add targhooks.o support.
8050 (function.o): Depend on$(TARGET_H).
8051 (stmt.o): Likewise.
8052 (combine.o): Depend on $(TREE_H) and $(TARGET_H).
8053 * builtins.c (apply_args_size, expand_builtin_apply_args_1,
8054 expand_builtin_apply): Convert to calls.struct_value_rtx hook.
8055 (expand_builtin_saveregs): Convert to
8056 calls.expand_builtin_saveregs hook.
8057 * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
8058 here, instead of ...
8059 (get_parm_info) ... here.
8060 (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
8061 hook.
8062 (finish_function): Handle calls.promote_prototypes hook here too.
8063 * c-typeck.c (convert_arguments): Convert to
8064 calls.promote_prototypes hook.
8065 (c_convert_parm_for_inlining): Likewise.
8066 * calls.c (initialize_argument_information): Convert to
8067 calls.promote_function_args hook.
8068 (expand_call): Convert to calls.struct_value_rtx,
8069 calls.strict_argument_naming,
8070 calls.pretend_outgoing_varargs_named, and
8071 calls.promote_function_return hooks. Pass fndecl to
8072 aggregate_value_p. Initialize CUMULATIVE_ARGS before calling
8073 hooks, so they can use that.
8074 (emit_library_call_value_1): Likewise.
8075 * combine.c (setup_incoming_promotions): Convert to
8076 calls.promote_function_args hook.
8077 * emit-rtl.c: Convert to calls.struct_value_rtx hook.
8078 * expr.c (expand_assignment): Pass call to aggregate_value_p.
8079 (expand_expr): Likewise.
8080 * expr.h: Remove support for SETUP_INCOMING_VARARGS,
8081 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8082 RETURN_IN_MEMORY macro defaults.
8083 * final.c (profile_function): Convert to calls.struct_value_rtx
8084 hook.
8085 * function.c (aggregate_value_p): Accept function type tree as
8086 second parameter; try to deduce fntype from it. Convert to
8087 calls.return_in_memory hook.
8088 (assign_parms): Convert to calls.setup_incoming_varargs,
8089 calls.strict_argument_naming, calls.promote_function_args,
8090 calls.pretend_outgoing_varargs_named hooks. Pass fndecl to
8091 aggregate_value_p.
8092 (expand_function_start): Likewise. Convert to
8093 calls.struct_value_rtx hook.
8094 (expand_function_end): Convert to calls.promote_function_return hook.
8095 (allocate_struct_function): Pass fndecl to aggregate_value_p.
8096 * hard-reg-set.h: Update comments to new hook names.
8097 * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
8098 * reg-stack.c (stack_result): Likewise.
8099 * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
8100 * stmt.c (expand_value_return): Convert to
8101 calls.promote_function_return hook.
8102 * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
8103 TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
8104 TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
8105 TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
8106 TARGET_STRICT_ARGUMENT_NAMING,
8107 TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
8108 * target.h: Likewise.
8109 * tree.h (aggregate_value_p): Also takes a tree to deduce function
8110 attributes from (for target hooks).
8111 * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
8112 PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
8113 STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
8114 EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
8115 STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
8116 to hooks.
8117
8118 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
8119 to aggregate_value_p.
8120 * config/arm/arm.c (arm_init_cumulative_args,
8121 arm_output_mi_thunk): Likewise.
8122 * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
8123 Likewise.
8124 * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
8125 mips_can_use_return_insn): Likewise.
8126 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
8127 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
8128 * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
8129 aggregate_value_p.
8130 * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
8131 function to aggregate_value_p.
8132 * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
8133 aggregate_value_p.
8134
8135 * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
8136 (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
8137 sh_function_arg_advance, sh_pass_in_reg_p): New. * config/sh/sh.c
8138 (sh_handle_renesas_attribute, sh_promote_prototypes,
8139 sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
8140 sh_setup_incoming_varargs, sh_strict_argument_naming,
8141 sh_pretend_outgoing_varargs_named): New decls.
8142 (targetm): Add new hooks.
8143 (calc_live_regs): Save MACL and MACH if the function has the
8144 renesas attribute.
8145 (sh_expand_prologue): Support renesas attribute.
8146 (sh_builtin_saveregs): Make static.
8147 (sh_build_va_list): Support renesas attribute.
8148 (sh_va_start): Likewise.
8149 (sh_va_arg): Likewise.
8150 (sh_promote_prototypes): New.
8151 (sh_function_arg): New, moved from sh.h. Support renesas
8152 attribute.
8153 (sh_function_arg_advance): Likewise.
8154 (sh_return_in_memory): Likewise.
8155 (sh_strict_argument_naming): Likewise.
8156 (sh_pretend_outgoing_varargs_named): Likewise.
8157 (sh_struct_value_rtx): New.
8158 (sh_attribute): Add renesas attribute.
8159 (sh_handle_renesas_attribute): New.
8160 (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
8161 (sh_ms_bitfield_layout_p): Support renesas attribute also.
8162 (sh_output_mi_thunk): Pass function to aggregate_value_p. *
8163 config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
8164 -mhitachi.
8165 (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
8166 target hooks.
8167 (sh_args): Add renesas_abi flag.
8168 (INIT_CUMULATIVE_ARGS): Set it. Pass fndecl to aggregate_value_p.
8169 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
8170 (PASS_IN_REG_P): Support renesas attribute. Pass DF and TF on the
8171 stack for the renesas abi.
8172 (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
8173 SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
8174 PROMOTE_PROTOTYPES): Moved to sh.c. * config/sh/sh.md (call): Set
8175 call cookie to indicate renesas calls.
8176
8177 2003-09-03 Mostafa Hagog <mustafa@il.ibm.com>
8178
8179 * gcse.c (replace_one_set): New function.
8180 (pre_insert_copy_insn): Change the order of copying
8181 to make copy propagation discover additional PRE opportunities.
8182
8183 2003-09-03 Roger Sayle <roger@eyesopen.com>
8184
8185 PR optimization/11700.
8186 * simplify-rtx.c (simplify_subreg): Check that the subreg offset
8187 of a hard register is representable before trying to simplify it
8188 using subreg_hard_regno.
8189
8190 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8191
8192 * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
8193 * configure: Regenerate.
8194
8195 2003-09-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8196
8197 * intl.h (N_): Remove parentheses.
8198
8199 2003-09-03 Bernardo Innocenti <bernie@develer.com>
8200
8201 * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
8202 * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
8203 definition and code blocks compiled when not defined.
8204 * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
8205 * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
8206 * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
8207 * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
8208
8209 2003-09-03 Jeff Sturm <jsturm@one-point.com>
8210
8211 * cgraphunit.c (visited_nodes): New static variable.
8212 (record_call_1): Use walk_tree with visited_nodes.
8213 (cgraph_create_edges): Use walk_tree with visited_nodes.
8214 Setup/teardown visited_nodes hashtable.
8215
8216 2003-09-03 Roger Sayle <roger@eyesopen.com>
8217
8218 * toplev.c (flag_rounding_math): New global variable.
8219 (f_options): Add to the list of language independent options.
8220 * flags.h (flag_rounding_math): Prototype here.
8221 (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
8222 * common.opt (frounding-math): New common command line option.
8223 * opts.c (common_handle_option): Handle OPT_frounding_math.
8224 (set_fast_math_flags): -ffast-math clears flag_rounding_math.
8225
8226 * doc/invoke.texi: Document this new command line option.
8227
8228 2003-09-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8229
8230 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
8231
8232 2003-09-03 Jan Hubicka <jh@suse.cz>
8233
8234 * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
8235 * c-decl.c (finish_function): Kill arguments, always use cgraph path.
8236 * c-objc-common.c: Kill include of gt-c-objc-common.h
8237 (expand_deferred_fns, deffer_fn): Kill function.
8238 (deferred_fns): Kill variable.
8239 (finish_cdtor): Update finish_function call.
8240 (c_objc_common_finish_file): Always call cgraph code.
8241 * c-parse.c: Regenerate.
8242 * c-parse.y: Regenerate.
8243 * c-tree.h (finish_function): Update prototype.
8244 * objc-acct.c (build_module_descriptor, finish_method_def):
8245 Update call of finish_function.
8246 * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
8247 forward prototype.
8248 (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
8249 function and assemble it if needed.
8250 (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
8251 mode.
8252 (cgraph_optimize): Likewise.
8253 (cgraph_expand_function): In non-unit-at-a-time mode keep function body
8254 even when it has no inline callees.
8255 * c-parse.in: Update calls to finish_function.
8256
8257 2003-09-03 Nick Clifton <nickc@redhat.com>
8258
8259 * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
8260 Use #error to generate the message if TARGET_DEFAULT is not
8261 recognised.
8262
8263 2003-09-03 Richard Sandiford <rsandifo@redhat.com>
8264
8265 * config/mips/mips.h (MASK_UNUSED1): Remove.
8266 (MASK_XGOT, TARGET_XGOT): Define.
8267 (TARGET_SWITCHES): Add an entry for -mxgot.
8268 (ASM_SPEC): Map -mxgot to -xgot.
8269 * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
8270 whether we're using a big-GOT sequences.
8271 (mips_legitimize_const_move, mips_expand_call): Likewise.
8272 (override_options): Revert 2003-01-09 change.
8273 * doc/invoke.texi: Document -mxgot.
8274
8275 2003-09-02 Jason Merrill <jason@redhat.com>
8276
8277 * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
8278 * config/sparc/sol2.h: Not here.
8279
8280 2003-09-02 Roger Sayle <roger@eyesopen.com>
8281
8282 * expr.c (expand_expr): The code following both_summands performs
8283 the same task as simplify_gen_binary. Replace all gotos to
8284 both_summands with a call to simplify_gen_binary and delete the
8285 now unused label.
8286
8287 2003-09-02 Jason Merrill <jason@redhat.com>
8288
8289 PR c++/7327
8290 * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
8291
8292 2003-09-02 Jeff Sturm <jsturm@one-point.com>
8293
8294 * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
8295 (cgraph_optimize_function): Set current_function_decl to the
8296 fndecl we're integrating from.
8297
8298 2003-09-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8299
8300 * builtins.def: Break out _Complex math functions into their
8301 own category.
8302
8303 2003-09-02 Andreas Jaeger <aj@suse.de>
8304
8305 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
8306
8307 2003-09-02 Josef Zlomek <zlomekj@suse.cz>
8308
8309 * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
8310 finding the note again.
8311
8312 2003-09-02 Nathanael Nerode <neroden@gcc.gnu.org>
8313
8314 * config.gcc: Remove host-specific rewrites of target_alias.
8315
8316 2003-09-01 Mark Mitchell <mark@codesourcery.com>
8317
8318 * Makefile.in (genprogs): Fix typo.
8319
8320 * Makefile.in (gencheck.o): Remove build commands.
8321 (dummy-conditions.o): Likewise.
8322 (read-rtl.o): Likewise.
8323 (gensupport.o): Likewise.
8324 (genconfig$(build_exeext)): Remove rule.
8325 (genconfig.o): Remove build commands.
8326 (genflags$(build_exeext)): Remove rule.
8327 (genflags.o): Remove build commands.
8328 (gencodes$(build_exeext)): Remove rule.
8329 (gencodes.o): Remove build commands.
8330 (genconstants.o): Remove build commands.
8331 (genemit$(build_exeext)): Remove rule.
8332 (genemit.o): Remove build commands.
8333 (genrecog$(build_exeext)): Remove rule.
8334 (genrecog.o): Remove build commands.
8335 (genextract$(build_exeext)): Remove rule.
8336 (genextract.o): Remove build commands.
8337 (genpeep$(build_exeext)): Remove rule.
8338 (genpeep.o): Remove build commands.
8339 (genattr$(build_exeext)): Remove rule.
8340 (genattr.o): Remove build commands.
8341 (genprognames): New variable.
8342 (genprogs): Likewise.
8343 (genobjs): Likewise.
8344 (genprogs): New rule.
8345 (genobjs): Likewise.
8346 (genattrtab.o): Remove build commands.
8347 (genautomata.o): Likewise.
8348 (genoutput$(build_exeext)): Remove rule.
8349 (genoutput.o): Remove build commands.
8350 (gengenrtl.o): Likewise.
8351 (genpreds.o): Likewise.
8352 (gengtype.o): Likewise.
8353 (genconditions.o): Likewise.
8354 (gen-protos.o): Likewise.
8355 (scan.o): Likewise.
8356 (fix-header.o): Likewise.
8357 (scan-decls.o): Likewise.
8358 (check-g++): Combine with other check targets.
8359 (check-gcc): Likewise.
8360 (check-g77): Likewise.
8361 (check-objc): Likewise.
8362
8363 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
8364
8365 * config.gcc: Remove host-specific stuff which is unused here
8366 since the introduction of config.host.
8367
8368 * doc/fragments.texi: Mention config.host.
8369 * doc/sourcebuild.texi: Mention config.host. Give brief descriptions
8370 of config.build, config.host, and config.gcc.
8371
8372 2003-09-01 Zack Weinberg <zack@codesourcery.com>
8373
8374 * c-decl.c (pushdecl): Don't put variables on
8375 C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
8376 incomplete.
8377
8378 2003-09-01 Nathanael Nerode <neroden@gcc.gnu.org>
8379
8380 * config.host: New file.
8381 * config.gcc: Remove some host-specific stuff and some
8382 logic needed only for repeated invocation.
8383 * configure.in: Use config.host.
8384 * configure: Regenerate.
8385
8386 2003-09-01 Josef Zlomek <zlomekj@suse.cz>
8387
8388 * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
8389 * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
8390 * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
8391 (fold): Kill BIT_ANDTC_EXPR and label bit_and.
8392 * tree.def (BIT_ANDTC_EXPR): Kill.
8393
8394 2003-08-31 Nathanael Nerode <neroden@gcc.gnu.org>
8395
8396 * configure.in: Remove uses of "for x in .. ${foo}" idiom.
8397 * configure: Regenerate.
8398
8399 * config.gcc: Remove references to install_headers_dir, now unused
8400 since introduction of config.build.
8401 * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
8402
8403 * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
8404 config.build.
8405
8406 * config.build: New file.
8407 * config.gcc: Remove some build-specific stuff.
8408 * configure.in: Use config.build.
8409 * configure: Regnerate.
8410
8411 2003-08-31 Steven Bosscher <steven@gcc.gnu.org>
8412 Roger Sayle <roger@eyesopen.com>
8413
8414 PR middle-end/11823
8415 * stmt.c (expand_end_case_type): Only use jump tables for dense
8416 switch statements when optimizing for size.
8417
8418 2003-08-31 Olivier Hainque <hainque@act-europe.fr>
8419
8420 * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
8421 the != 0 case, which ensures pending stack adjustments are flushed.
8422
8423 2003-08-30 Zack Weinberg <zack@codesourcery.com>
8424
8425 * configure.frag: Delete file.
8426 * configure.in: Rename the substitution variables
8427 dep_host_xmake_file and dep_tmake_file to xmake_file and
8428 tmake_file respectively. Do not expand $srcdir in the
8429 value of these; leave that for Make. Introduce a new
8430 substitution varaible, all_lang_makefrags, which lists
8431 subdirectory Make-lang.in files; exclude these from
8432 all_lang_makefiles, which is now only for subdirectory
8433 outputs. Do not invoke configure.frag. Do not set nor
8434 AC_SUBST_FILE target_overrides, host_overrides, or
8435 language_fragments. Create build subdirectories in
8436 config.status extra commands.
8437 * configure: Regenerate.
8438 * Makefile.in: Update substitutions to match changes to
8439 configure. Use include directives instead of @-insertions
8440 to read in host, target, and language fragments.
8441 (Makefile rule): Do not invoke configure.frag. Do not copy
8442 config.status to config.run before executing it. Set
8443 CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
8444 regenerated.
8445 (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
8446
8447 2003-08-30 Zack Weinberg <zack@codesourcery.com>
8448
8449 * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
8450 * c-typeck.c (same_translation_unit_p): New function.
8451 (comptypes): Use it instead of flags parameter to identify
8452 structure types from different translation units.
8453 * c-decl.c (duplicate_decls): Always call comptypes with
8454 COMPTYPE_STRICT flags argument.
8455 (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
8456 to file_scope_decl.
8457
8458 2003-08-30 Zack Weinberg <zack@codesourcery.com>
8459
8460 * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
8461 * c-decl.c (struct c_scope): Remove "incomplete" field.
8462 (pushdecl): Attach variables with incomplete types to
8463 the TYPE_MAIN_VARIANT of the incomplete type in question.
8464 (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
8465 to complete, not at current_scope->incomplete. All such
8466 variables do need completion.
8467
8468 2003-08-30 Richard Earnshaw <rearnsha@arm.com>
8469 Nicolas Pitre <nico@cam.org>
8470
8471 * arm/lib1funcs.asm (RETCOND): Delete.
8472 (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
8473 (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
8474 (__ARM_ARCH__): Move here from ieee754-?f.S.
8475 (RET, RETc): Clean up definitions.
8476 (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
8477 (FUNC_END): New macro that marks the end of any function.
8478 (ARM_FUNC_START): New macro that allows an assembler routine to be
8479 implemented in ARM code even if a Thumb-only build.
8480 Unconditionally include ieee754-?f.S.
8481 * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
8482 Mark ends of functions.
8483 Split into separate conditionally-compiled units.
8484 Use RETLDM to return from routines.
8485 * arm/ieee754-sf.S: Similarly.
8486 * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
8487 Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
8488 _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
8489 _fixsfsi and _fixunssfsi.
8490
8491 * arm/ieee754-df.S (__muldf3): Fix bug when result of a
8492 multiplication underflows to zero.
8493 (__adddf3): Fix bug when using VFP ordering on little-endian
8494 processors.
8495 (__fixdfsi): Use rrx to extract the carry into a register instead of
8496 MRS instruction. Optimize later use of result.
8497 * arm/ieee754-sf.S (__fixsfsi): Likewise.
8498 (__fixunssfsi): Use a better sequence for handling negative-or-zero.
8499
8500 2003-08-29 Richard Henderson <rth@redhat.com>
8501
8502 * tree-optimize.c: New file.
8503 * Makefile.in (OBJS-archive): Add tree-optimize.o.
8504 (tree-optimize.o): New.
8505 * c-decl.c (store_parm_decls): Use allocate_struct_function.
8506 (finish_function): Don't free_after_parsing or free_after_compilation.
8507 (set_save_expr_context): Move to tree-optimize.c.
8508 (c_expand_body_1): Use tree_rest_of_compilation.
8509 * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
8510 * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
8511 * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
8512 iterate until closure.
8513 * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
8514 LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
8515 (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
8516 * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
8517 * toplev.h (tree_rest_of_compilation): Declare it.
8518
8519 2003-08-29 Richard Henderson <rth@redhat.com>
8520
8521 * function.h (struct function): Add rtl_inline_init, saved_for_inline.
8522 * integrate.c (save_for_inline): Set saved_for_inline.
8523 * c-semantics.c (genrtl_scope_stmt): Check it.
8524 * toplev.c (wrapup_global_declarations): Check it.
8525 (rest_of_handle_inlining): Set and check rtl_inline_init.
8526 (rest_of_compilation): Remove out of date comment.
8527
8528 2003-08-29 Richard Henderson <rth@redhat.com>
8529
8530 * function.c (allocate_struct_function): New, split out of ...
8531 (prepare_function_start, init_function_start): ... here.
8532 * expr.c (init_expr): Use ggc_alloc_cleared.
8533 * stmt.c (init_stmt_for_function): Likewise.
8534 * tree.h (allocate_struct_function): Declare.
8535
8536 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
8537
8538 * config.gcc: Don't use negated character class in shell case
8539 clause.
8540
8541 2003-08-29 Richard Henderson <rth@redhat.com>
8542
8543 * function.h (struct function): Move function_frequency and
8544 max_jumptable_ents before start of bit field members.
8545
8546 2003-08-29 Richard Henderson <rth@redhat.com>
8547
8548 * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
8549 (fold_builtin_constant_p) ... not here.
8550
8551 2003-08-29 Richard Henderson <rth@redhat.com>
8552
8553 * c-tree.h (C_DECL_FILE_SCOPE): Move ...
8554 * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
8555 * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
8556
8557 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8558
8559 * builtins.def: Fix typos.
8560 (ATTR_MATHFN_FPROUNDING_STORE): New macro.
8561 (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
8562 BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
8563 BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
8564 BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
8565
8566 * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
8567 Use ATTR_MATHFN_FPROUNDING_ERRNO.
8568
8569 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
8570
8571 * config.gcc (i386-*-vsta): Fix obvious bogosity.
8572
8573 * fixinc/inclhack.def: Remove special cases for unsupported
8574 PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
8575 * fixinc/fixincl.x: Regenerate.
8576
8577 2003-08-29 Mark Mitchell <mark@codesourcery.com>
8578
8579 * Makefile.in (cpp.info): Just state dependencies.
8580 (gcc.info): Likewise.
8581 (gccint.info): Likewise.
8582 (gccinstall.info): Likewise.
8583 (cppinternals.info): Likewise.
8584 (cpp.dvi): Likewise.
8585 (gcc.dvi): Likewise.
8586 (gccint.dvi): Likewise.
8587 (gccinstall.dvi): Likewise.
8588 (cppinternals.dvi): Likewise.
8589 (gcov.1): Likewise.
8590 (cpp.1): Likewise.
8591 (gcc.1): Likewise.
8592 (gfdl.7): Likewise.
8593 (gpl.7): Likewise.
8594 (fsf-funding.7): Likewise.
8595 ($(objdir)/%.info): New pattern rule.
8596 (%.dvi): Likewise.
8597
8598 2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
8599
8600 * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
8601 (restage2): Likewise.
8602 (restage3): Likewise.
8603 (restage4): Likewise.
8604 (restageprofile): Likewise.
8605 (restagefeedback): Likewise.
8606 (bubblestrap): Likewise.
8607
8608 2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
8609
8610 * config.gcc: Narrow unsupported target match to avoid clobbering
8611 i?86-sequent-sysv4*.
8612
8613 2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8614
8615 * builtins.c (mathfn_built_in): Handle new math builtins.
8616
8617 2003-08-28 Per Bothner <per@bothner.com>
8618
8619 Fix (hopefully temporary) for breakage caused by my 08-21 patch.
8620 * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
8621 (_cpp_lex_buffer): Likewise.
8622 * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
8623
8624 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
8625
8626 * config/s390/s390.md ("*mulsi3_sign"): New insn.
8627 ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
8628 ("mulsidi3"): ... this new insn.
8629 ("umulsidi3"): New insn.
8630 ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
8631 mixed-mode matching constraints.
8632 ("udivmodsi4", "udivmoddisi3"): New insns.
8633 ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
8634
8635 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8636
8637 * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
8638 BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
8639 BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
8640 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
8641 BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
8642 BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
8643 BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
8644 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
8645 BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
8646 BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
8647 BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
8648 * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
8649 BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
8650 BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
8651 BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
8652 * tree.c: Assign new type_nodes.
8653 * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
8654 TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
8655 (float_ptr_type_node, double_ptr_type_node,
8656 long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
8657
8658 * doc/extend.texi: Document new builtins.
8659
8660 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8661
8662 * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
8663 BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
8664
8665 * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
8666 BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
8667 BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
8668 BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
8669 BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
8670 BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
8671 BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
8672 BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
8673 BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
8674 BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
8675
8676 * doc/extend.texi: Document new builtins.
8677
8678 2003-08-28 Nathanael Nerode <neroden@gcc.gnu.org>
8679
8680 * fixinc/mkfixinc.sh: Remove special case code for unsupported
8681 variants of i?86, powerpcle, and thumb.
8682 * fixinc/mkfixinc.sh: Remove special case code for unsupported
8683 arm and hppa variants.
8684
8685 2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8686
8687 * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
8688 BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
8689 BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
8690 BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
8691 BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
8692 BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
8693 BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
8694 BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
8695 BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
8696 BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
8697
8698 * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
8699 BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
8700 BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
8701 BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
8702 BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
8703 BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
8704 BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
8705 BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
8706 BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
8707 BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
8708 BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
8709 BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
8710 BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
8711 BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
8712 BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
8713 BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
8714 BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
8715 BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
8716 BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
8717 BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
8718 BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
8719 BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
8720 BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
8721 BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
8722 BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
8723 BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
8724 BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
8725 BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
8726 BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
8727 BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
8728 BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
8729
8730 * doc/extend.texi: Document new builtins.
8731
8732 2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
8733
8734 * config/s390/s390.c (legitmate_constant_p): Use LARL on
8735 zSeries machines even in 31-bit addressing mode.
8736 (legitimate_reload_constant_p): Likewise.
8737 (legitimize_pic_address): Likewise.
8738 (legitimize_tls_address): Likewise.
8739 (s390_split_branches): Likewise.
8740 (s390_dump_pool): Likewise.
8741 (s390_mainpool_finish): Likewise.
8742 (s390_chunkify_start): Likewise.
8743 (s390_select_rtx_section): Likewise.
8744 * config/s390/s390.md ("doloop_si"): Likewise.
8745 ("pool_start_31", "pool_end_31"): Likewise.
8746 ("pool_start_64", "pool_end_64"): Likewise.
8747 ("main_base_31_small", "main_base_31_large"): Likewise.
8748 ("main_base_64"): Likewise.
8749 ("reload_base_31", "reload_base_64"): Likewise.
8750 ("*movsi_larl"): New insn.
8751 ("cjump", "icjump"): Use long branches on zSeries machines.
8752 ("jump"): Likewise.
8753 ("call"): Use BRASL on zSeries machines.
8754 ("call_value", "call_value_tls"): Likewise.
8755 ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
8756 and replace by ...
8757 ("*bras", "*brasl", "*basr") ... these new insns.
8758 ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
8759 "bas_31_r"): Remove and replace by ...
8760 ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
8761 ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
8762 "bas_64_tls", "bas_31_tls"): Remove and replace by ...
8763 ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
8764 ("*return_si", "*return_di"): Remove and replace by ...
8765 ("*return"): ... this new insn.
8766 ("rotlsi3"): Allow on zSeries machines.
8767
8768 * config/s390/s390.c (legitimize_reload_constant_p): Use
8769 LL/LH type instructions in z/Architecture mode.
8770 * config/s390/s390.md ("*movsi_lli"): Likewise.
8771 ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
8772 ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
8773 ("*extendqisi2"): Use LB in z/Architecture mode.
8774 ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
8775 z/Architecture mode.
8776 ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
8777 Likewise.
8778
8779 * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
8780 and 31-bit mode.
8781 ("ptr_extend"): Allow only in 64-bit mode.
8782
8783 2003-08-27 Daniel Jacobowitz <drow@mvista.com>
8784
8785 * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
8786 (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
8787 definitions.
8788 (main): Only use standard_startfile_prefix if native.
8789 * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
8790
8791 2003-08-27 Per Bothner <pbothner@apple.com>
8792
8793 * cpperror.c (print_location): Don't check for !pfile->buffer. That
8794 test fails following my 08-21 change, and it seems unnecessary anyway.
8795 (cpp_error): Likewise.
8796
8797 2003-08-27 Jason Merrill <jason@redhat.com>
8798
8799 * real.c (do_multiply): Initialize with memset.
8800
8801 2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8802
8803 * gcov.c (typedef struct arc_info): New field cs_count.
8804 (accumulate_line_counts): Find cycles correctly.
8805
8806 2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
8807
8808 * config/s390/s390.c (struct machine_function): Remove member
8809 literal_pool_label.
8810 (s390_optimize_prolog): Replace TEMP_REG argument with
8811 TEMP_USED and BASE_USED. Do not check get_pool_size ().
8812 (general_s_operand): Accept all immediates before reload if
8813 ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool
8814 references.
8815 (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
8816 (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
8817 (s390_alloc_pool): New function.
8818 (s390_new_pool): Call it.
8819 (s390_dump_pool): Add REMOTE_LABEL argument.
8820 (s390_chunkify_start): Add BASE_REG argument. Do not check
8821 get_pool_size ().
8822 (s390_chunkify_finish): Add BASE_REG argument. Adapt
8823 s390_dump_pool call.
8824 (s390_pool_count, s390_nr_constants): Remove.
8825 (s390_output_constant_pool): Remove.
8826 (s390_mainpool_start): New function.
8827 (s390_mainpool_finish): New function.
8828 (s390_mainpool_cancel): New function.
8829 (s390_reorg): Implement main literal pool handling.
8830 (s390_emit_prologue): Emit main_pool placeholder instead of
8831 literal_pool_31 / literal_pool_64 insns.
8832 * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
8833 (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
8834 * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
8835 ("main_base_31_small", "main_base_31_large"): New insns.
8836 ("main_base_64", "main_pool"): New insns.
8837 ("literal_pool_31", "literal_pool_64"): Remove.
8838
8839 2003-08-27 Nathanael Nerode <neroden@gcc.gnu.org>
8840
8841 * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
8842 fixinc.ptx.
8843 * fixinc/inclhack.def (undefine_null): Don't generate \r characters.
8844 Prettify a little.
8845 * fixinc/fixincl.x: Regenerate.
8846
8847 2003-08-27 Richard Earnshaw <rearnsha@arm.com>
8848
8849 * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S.
8850 (L_ieee754_dp): New. Include ieee754-df.S.
8851 * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
8852 and compilation in apcs-26 mode.
8853 * arm/ieee754-df.S: Likewise.
8854 * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
8855 (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
8856
8857 2003-08-27 Nicolas Pitre <nico@cam.org>
8858
8859 * arm/ieee754-sf.S: New.
8860 * arm/ieee754-df.S: New.
8861
8862 2003-08-27 Jakub Jelinek <jakub@redhat.com>
8863
8864 * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
8865 and restore it if returning NULL.
8866
8867 2003-08-27 Richard Sandiford <rsandifo@redhat.com>
8868
8869 * calls.c (initialize_argument_information): If an argument has no
8870 stack space associated with it, and BLOCK_REG_PADDING is defined,
8871 use it to decide at which end the argument should be padded.
8872 * function.c (assign_parms): Allocate BLKmode stack slots.
8873 * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
8874 (mips_pad_reg_upward): Declare.
8875 * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
8876 (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
8877 (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
8878 (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
8879 * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
8880 (mips_expand_call): Remove code for generating structure shifts.
8881 (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float
8882 types unless using the EABI.
8883 (function_arg_advance): Don't generate shift instructions.
8884 (function_arg): Don't return them. Don't short-circuit the
8885 check for double structure chunks for DFmode arguments.
8886 (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
8887 (mips_expand_prologue): Remove code to emit structure shifts.
8888 * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
8889 structure passing (inet_ntoa, inet_lnaof, inet_netof). Update
8890 comments to say that only structure returns are a problem.
8891
8892 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
8893
8894 * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
8895 Fix to match produced versions.
8896 * fixinc/inclhack.def (longlong_t): New disabled test, ported
8897 from fixinc.svr4.
8898 * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
8899 from fixinc.ptx.
8900 * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
8901 ported from fixinc.ptx.
8902
8903 2003-08-26 Per Bothner <pbothner@apple.com>
8904
8905 * cpplib.h (struct cpp_token): Change type of field line to fileline.
8906 (cpp_error_with_line): Use fileline for appropriate parameter.
8907 * cpphash.h (struct cpp_macro): Change type of field line to fileline.
8908 (struct cpp_reader): Likewise for fields line and directive_line.
8909 (_cpp_begin_message): Use fileline for appropriate parameter.
8910 * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
8911 cpp_error): Use fileline for appropriate parameters and variables.
8912 (print_location): New local lin, since it is not a fileline.
8913
8914 2003-08-26 Roger Sayle <roger@eyesopen.com>
8915
8916 PR middle-end/12002
8917 * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
8918 (FLOAT_TYPE_P): Define in terms of these two new macros.
8919 * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
8920 for complex floating point types.
8921
8922 2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
8923
8924 * config/s390/s390.c (emit_prologue): Don't check literal pool size.
8925 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
8926 s390_output_pool_entry.
8927
8928 2003-08-26 Nathanael Nerode <neroden@gcc.gnu.org>
8929
8930 * fixinc/inclhack.def (svr4_preproc_lint_on,
8931 svr4_preproc_lint_off, svr4_preproc_machine): New disabled
8932 fixes, ported from fixinc.svr4.
8933
8934 2003-08-26 Mark Mitchell <mark@codesourcery.com>
8935
8936 * doc/install.texi (Prerequisites): Mention GNU make requirement.
8937
8938 * Makefile.in (AR_FOR_TARGET): Export it.
8939 (AR_CREATE_FOR_TARGET): Likewise.
8940 (AR_FLAGS_FOR_TARGET): Likewise.
8941 (AR_EXTRACT_FOR_TARGET): Likewise.
8942 (AWK): Likewise.
8943 (BUILD_PREFIX): Likewise.
8944 (BUILD_PREFIX_1): Likewise.
8945 (DESTDIR): Likewise.
8946 (GCC_FOR_TARGET): Likewise.
8947 (INCLUDES): Likewise.
8948 (INSTALL_DATA): Likewise.
8949 (LIB1ASMSRC): Likewise.
8950 (LIBGCC2_CFLAGS): Likewise.
8951 (MACHMODE_H): Likewise.
8952 (NM_FOR_TARGET): Likewise.
8953 (RANLIB_FOR_TARGET): Likewise.
8954 (libsubdir): Likewise.
8955 (slibdir): Likewise.
8956 (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
8957 exporting.
8958 (libgcc.a): Don't pass them here.
8959 (stmp-multilib): Or here.
8960 (install-libgcc): Or here.
8961 (install-multilib): Or here.
8962 (POSTSTAGE1_FLAGS_TO_PASS): Or here.
8963 (stage1_build): Or here.
8964
8965 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
8966
8967 * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
8968 "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
8969
8970 2003-08-26 Andreas Krebbel <krebbel1@de.ibm.com>
8971
8972 * config/s390/s390.md ("*fmadddf", "*fmsubdf",
8973 "*fmaddsf", "*fmsubsf"): New insns.
8974
8975 2003-08-26 Roger Sayle <roger@eyesopen.com>
8976
8977 * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
8978 (C1*C2)/X when unsafe math optimizations are allowed.
8979 (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
8980 math optimizations. Minor code clean-ups. Recursively call
8981 fold when constructing sub-expressions.
8982
8983 2003-08-26 Roger Sayle <roger@eyesopen.com>
8984
8985 * builtins.c (fold_builtin_bitop): New function to perform constant
8986 folding of ffs, clz, ctz, popcount and parity builtin functions
8987 and their long and long long variants (such as ffsl and ffsll).
8988 (fold_builtin): fold_builtin_bitop when appropriate.
8989 * simplify-rtx.c (simplify_unary_operation): Honor both
8990 CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
8991 evaluating clz and ctz at compile-time, for operands wider
8992 than HOST_WIDE_INT.
8993
8994 2003-08-26 Nathan Sidwell <nathan@codesourcery.com>
8995
8996 * builtins.c (build_function_call_expr): Don't set
8997 TREE_SIDE_EFFECTS here.
8998 * expr.c (emit_block_move_via_libcall): Likewise.
8999 (clear_storage_via_libcall): Likewise.
9000 * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
9001 CALL_EXPRs.
9002
9003 * gcse.c (is_too_expensive): New function.
9004 (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
9005
9006 2003-08-25 Zack Weinberg <zack@codesourcery.com>
9007
9008 * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
9009 commented-out logic to use DCE threads (if present), add
9010 support for POSIX threads.
9011 * config/ia64/hpux.h: Define CPP_SPEC to set appropriate
9012 #defines for -pthread. Add -lpthread to LIB_SPEC when
9013 -pthread. In both cases take -mt as a synonym for -pthread
9014 for acc compatibility.
9015 Define GTHREAD_USE_WEAK to 0.
9016 * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
9017 Remove old logic for DCE threads from LIB_SPEC.
9018 * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
9019
9020 2003-08-25 Roger Sayle <roger@eyesopen.com>
9021
9022 * builtins.c (expand_builtin_mathfn): Rearrange so that we only
9023 return 0 for invalid argument types. Instead drop through to a
9024 call of expand_call at the bottom of function. If op is SQRT,
9025 try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
9026
9027 2003-08-25 Richard Henderson <rth@redhat.com>
9028
9029 * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
9030 result when op0 is SImode.
9031
9032 2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
9033
9034 * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
9035 from fixinc.svr4.
9036 * fixinc/fixincl.x: Regenerate.
9037 * fixinc/tests/base/sys/signal.h: Regenerate.
9038
9039 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9040
9041 * combine.c (simplify_comparison): Re-enable widening of comparisons
9042 with non-paradoxical subregs of non-REG expressions.
9043
9044 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9045
9046 * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
9047
9048 2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
9049
9050 * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
9051
9052 2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
9053
9054 * pretty-print.h (pp_maybe_newline_and_indent): New macro.
9055 * c-pretty-print.h (c_pretty_printer): Now typedef to the
9056 structure. Be consistent with pretty-print.h abd cxx-pretty-print.h
9057 (struct c_pretty_print_info): Document. Add new fields.
9058 (pp_type_specifier_seq): Rename from pp_c_type_specifier.
9059 (pp_direct_abstract_declarator): New macro.
9060 (pp_ptr_operator): Likewise.
9061 (pp_simple_type_specifier): Likewise.
9062 (pp_expression): Likewise.
9063 (pp_parameter_list): Rename from pp_parameter_declaration.
9064 * c-pretty-print.c (pp_c_whitespace): Now a function.
9065 (pp_c_left_paren): Likewise.
9066 (pp_c_right_paren): Likewise.
9067 (pp_c_dot): Likewise.
9068 (pp_c_ampersand): Likewise.
9069 (pp_c_arrow): Likewise.
9070 (pp_c_semicolon): Likewise.
9071 (pp_c_type_cast): New function.
9072 (pp_c_space_for_pointer_operator): Likewise.
9073 (pp_c_call_argument_list): Likewise.
9074 (pp_c_cv_qualifier): Adjust prototype.
9075 (pp_c_type_qualifier_list): Likewise.
9076 (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here.
9077 (pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
9078 Adjust to follow standard grammar.
9079 (pp_c_specifier_qualifier_list): Adjusr prototype. Handle
9080 REFERENCE_TYPE. Tidy.
9081 (pp_c_parameter_type_list): Adjust prototype. Tidy.
9082 (pp_c_parameter_declaration): Remove.
9083 (pp_c_abstract_declarator): Adjust prototype.
9084 (pp_c_direct_abstract_declarator): Likewise.
9085 (pp_c_type_id): Likewise.
9086 (pp_c_storage_class_specifier): Likewise.
9087 (pp_c_function_specifier): Likewise.
9088 (pp_c_declaration_specifiers): Likewise.
9089 (pp_c_direct_declarator): Likewise.
9090 (pp_c_declarator): Likewise.
9091 (pp_c_declarator): Likewise.
9092 (pp_c_declaration): Likewise.
9093 (pp_c_attributes): Likewise. Tidy.
9094 (pp_c_function_definition): Adjust prototype.
9095 (pp_c_char): Likewise.
9096 (pp_c_string_literal): Likewise.
9097 (pp_c_integer_constant): Likewise.
9098 (pp_c_character_constant): Likewise.
9099 (pp_c_bool_constant): Likewise.
9100 (pp_c_enumeration_constant): Likewise.
9101 (pp_c_floating_constant): Likewise.
9102 (pp_c_constant): Likewise.
9103 (pp_c_identifier): Likewise.
9104 (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy.
9105 (pp_c_initializer): Adjust prototype.
9106 (pp_c_init_declarator): Likewise.
9107 (pp_c_initializer_list): Likewise.
9108 (pp_c_id_expression): Likewise.
9109 (pp_c_postfix_expression): Likewise.
9110 (pp_c_expression_list): Likewise.
9111 (pp_c_unary_expression): Likewise.
9112 (pp_c_cast_expression): Likewise.
9113 (pp_c_multiplicative_expression): Likewise.
9114 (pp_c_additive_expression): Likewise.
9115 (pp_c_shift_expression): Likewise.
9116 (pp_c_relational_expression): Likewise.
9117 (pp_c_equality_expression): Likewise.
9118 (pp_c_and_expression): Likewise.
9119 (pp_c_exclusive_or_expression): Likewise.
9120 (pp_c_inclusive_or_expression): Likewise.
9121 (pp_c_logical_and_expression): Likewise.
9122 (pp_c_logical_or_expression): Likewise.
9123 (pp_c_conditional_expression): Likewise.
9124 (pp_c_assignment_expression): Likewise.
9125 (pp_c_expression): Likewise. Tidy.
9126 (pp_c_statement): Likewise. Document.
9127 (pp_c_pretty_printer_init): Adjust prototype. Tidy.
9128
9129 * c-lang.c (c_initialize_diagnostics): Update.
9130 * c-common.h (strip_pointer_operator): Declare.
9131 * c-common.c (strip_pointer_operator): Define.
9132
9133 2003-08-25 Mark Mitchell <mark@codesourcery.com>
9134
9135 PR c++/8795
9136 * tree.h (build_method_type_directly): Declare.
9137 * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
9138 (vector_size_helper): Likewise.
9139 * tree.c (build_method_type_directly): New function.
9140 (build_method_type): Use it.
9141
9142 2003-08-24 Richard Henderson <rth@redhat.com>
9143
9144 * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true
9145 for 16-byte vector modes if sse not enabled; warn for abi change.
9146 (ix86_value_regno): Only return xmm0 for 16-byte vector types.
9147
9148 2003-08-24 Kazu Hirata <kazu@cs.umass.edu>
9149
9150 * rtlanal.c (may_trap_p): Simplify an integer comparison.
9151
9152 2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
9153
9154 * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
9155 comment. Enable for DYNIX/ptx systems (when they switch to
9156 regular fixincludes).
9157 * fixinc/fixincl.x: Regenerate.
9158
9159 2003-08-23 Jason Eckhardt <jle@rice.edu>
9160
9161 * config/i860/t-i860: New.
9162 * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
9163
9164 2003-08-23 Jakub Jelinek <jakub@redhat.com>
9165
9166 * c-decl.c (pushdecl): Only put decls which finish_struct will do
9167 something about onto incomplete chain.
9168 (finish_struct): If not removing type from incomplete
9169 list, update prev.
9170
9171 2003-08-20 Jan Hubicka <jh@suse.cz>
9172
9173 PR target/11369
9174 * i386.c (ix86_expand_carry_flag_compare): Validate operand.
9175
9176 PR target/11031
9177 * i386.c (const_0_to_3_operand, const_0_to_7_operand,
9178 const_0_to_15_operand, const_0_to_255_operand): New predicates.
9179 * i386.h (PREDICATE_CODES): Add these.
9180 * i386.c (pinsrw and pextrw patterns): Use them.
9181
9182 PR target/10984
9183 * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
9184
9185 PR target/8869
9186 * expr.c (convert_modes): Deal properly with integer to vector
9187 constant conversion.
9188
9189 PR target/8871
9190 * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
9191
9192 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
9193
9194 * config/s390/s390.h (LOAD_EXTEND_OP): Remove.
9195 * config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
9196 ("*movhi"): ... this.
9197 ("movqi", "*movqi"): Likewise.
9198 ("movqi_64"): Remove.
9199 ("*zero_extendhisi2_31"): Change predicate to s_operand.
9200
9201 2003-08-23 Dale Johannesen <dalej@apple.com>
9202 * calls.c (emit_library_call_value_1): Fix obvious errors in
9203 arguments to emit_group_store.
9204
9205 2003-08-23 Jason Eckhardt <jle@rice.edu>
9206
9207 * calls.c (emit_library_call_value_1): Remove code related
9208 to LIBGCC_NEEDS_DOUBLE.
9209 * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
9210 * doc/tm.texi: Likewise.
9211 * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
9212
9213 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
9214
9215 * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
9216
9217 2003-08-23 Richard Sandiford <rsandifo@redhat.com>
9218
9219 * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
9220 as well. Put memory references in the varargs alias set.
9221 (mips_expand_prologue): Remove varargs handling from here.
9222
9223 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
9224
9225 * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
9226 s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
9227 s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
9228 for function pointer calls.
9229 * config/s390/s390.md ("*negdi2_31"): Likewise.
9230
9231 2003-08-23 Roger Sayle <roger@eyesopen.com>
9232
9233 * combine.c (apply_distributive_law): Correct comment.
9234
9235 2003-08-23 Jason Eckhardt <jle@rice.edu>
9236
9237 * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
9238
9239 2003-08-22 Jason Eckhardt <jle@rice.edu>
9240
9241 * config/i860/i860.c (i860_build_va_list): Create the va_decl
9242 declaration. Document the va_list structure.
9243 (i860_va_start): Initialize the va_list structure.
9244 (i860_va_arg): Rewrite completely.
9245 * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
9246 * config/i860/varargs.asm: Do not allocate or initialize
9247 a va_list. Return the address of the register save area.
9248
9249 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9250
9251 * config/iq2000/iq2000.c: Fix comment typos.
9252 * config/iq2000/iq2000.md: Likewise.
9253
9254 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9255
9256 * config/iq2000/iq2000.c: Follow spelling conventions.
9257 * config/iq2000/iq2000.h: Likewise.
9258 * config/mn10300/mn10300.c: Likewise.
9259
9260 2003-08-22 Jason Eckhardt <jle@rice.edu>
9261
9262 * config/i860/i860.c (output_move_double): Don't set latehalf
9263 to zero for CONST_INT (since it could be, e.g., -1).
9264
9265 * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
9266 (MODSI3_LIBCALL): ...with this one.
9267 (UREMSI3_LIBCALL): Replace this macro...
9268 (UMODSI3_LIBCALL): ...with this one.
9269
9270 2003-08-22 Jason Eckhardt <jle@rice.edu>
9271
9272 * config/i860/i860-protos.h (output_delay_insn): Remove prototype.
9273 (output_delayed_branch): Remove prototype.
9274 (single_insn_src_p): Remove prototype.
9275 * config/i860/i860.c (single_insn_src_p): Remove function.
9276 (output_delayed_branch): Remove function.
9277 (output_delay_insn): Remove function.
9278 (va_start): Remove unconditional test and dead code, re-format.
9279 Fix coding style and spelling problems in various comments.
9280 * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
9281 (blockage pattern): ...and use it here.
9282 (all define_peephole patterns related to delayed branches): Remove.
9283 Fix coding style and spelling problems in various comments.
9284
9285 2003-08-22 Jason Eckhardt <jle@rice.edu>
9286
9287 * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
9288 Remove all uses of the PARAMS macro. Remove superflous prototypes.
9289 Convert all function definitions from traditional to ISO C90 syntax.
9290 * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
9291 with 'GCC'. Remove all uses of the PARAMS macro.
9292 * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
9293 * config/i860/i860.md: Likewise.
9294 * config/i860/sysv4.h: Likewise.
9295 * config/i860/varargs.asm: Likewise.
9296
9297 2003-08-22 Jason Eckhardt <jle@rice.edu>
9298
9299 * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
9300 argument.
9301 (tdesc_section): Add prototype.
9302 Update copyright dates.
9303 * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
9304 (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
9305 (TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
9306 (targetm): Likewise.
9307 (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
9308 for '%d' where necessary.
9309 (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks
9310 on 'stdarg_p' unconditional. Divide current_function_args_info.ints
9311 by UNITS_PER_WORD when referencing (likewise for .floats).
9312 (I860_SVR4_VARARGS): Rename...
9313 (I860_SVR4_VA_LIST): ...to this.
9314 Call build() with 't' rather than 'field'.
9315 (i860_rtx_costs): New function.
9316 (TARGET_RTX_COSTS): Define.
9317 (i860_internal_label): New function.
9318 (TARGET_ASM_INTERNAL_LABEL): Define.
9319 (i860_file_start): New function.
9320 Update copyright dates.
9321 * config/i860/i860.h (CPP_PREDEFINES): Remove.
9322 (TARGET_CPU_CPP_BUILTINS): Define.
9323 (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
9324 (CONST_COSTS): Remove (and move code to i860_rtx_costs).
9325 (ASM_FILE_START): Remove.
9326 (ASM_FILE_START_1): Remove.
9327 (ASM_GLOBALIZE_LABEL): Remove.
9328 (ASM_OUTPUT_INTERNAL_LABEL): Remove.
9329 (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
9330 with targetm.asm_out.internal_label.
9331 Update copyright dates.
9332 * config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
9333 (CPP_PREDEFINES): Remove.
9334 (TARGET_OS_CPP_BUILTINS): Define.
9335 (GLOBAL_ASM_OP): Define.
9336 (ASM_FILE_START): Remove.
9337 (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
9338 (TARGET_ASM_FILE_START): Define.
9339 Update copyright dates.
9340
9341 2003-08-22 Jason Eckhardt <jle@rice.edu>
9342
9343 * gcc/config.gcc (i860-*-sysv4*): Add target.
9344 * config/i860/i860-protos.h: New.
9345 * config/i860/i860.c: New.
9346 * config/i860/i860.h: New.
9347 * config/i860/i860.md: New.
9348 * config/i860/sysv4.h: New.
9349 * config/i860/varargs.asm: New.
9350 * config/i860/x-sysv4: New.
9351
9352 2003-08-22 Jason Eckhardt <jle@rice.edu>
9353
9354 * config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
9355 Remove all uses of PARAMS macro.
9356 Convert all function definitions to ISO C90 syntax.
9357 * config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
9358 * config/pa/fptr.c: Likewise.
9359 * config/pa/lib2funcs.asm: Likewise.
9360 * config/pa/long_double.h: Likewise.
9361 * config/pa/milli64.S: Likewise.
9362 * config/pa/pa-64.h: Likewise.
9363 * config/pa/pa-hpux.h: Likewise.
9364 * config/pa/pa-hpux10.h: Likewise.
9365 * config/pa/pa-hpux11.h: Likewise.
9366 * config/pa/pa-linux.h: Likewise.
9367 * config/pa/pa-modes.def: Likewise.
9368 * config/pa/pa-osf.h: Likewise.
9369 * config/pa/pa-pro-end.h: Likewise.
9370 * config/pa/pa.md: Likewise.
9371 * config/pa/pa32-linux.h: Likewise.
9372 * config/pa/pa64-linux.h: Likewise.
9373 * config/pa/pa64-hpux.h: Likewise.
9374 * config/pa/pa64-regs.h: Likewise.
9375 * config/pa/quadlib.c: Likewise.
9376 * config/pa/rtems.h: Likewise.
9377 * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
9378 all uses of the PARAMS macro.
9379 * config/pa/pa.h: Likewise.
9380 * config/pa/som.h: Likewise.
9381
9382 * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
9383 Remove all uses of PARAMS macro.
9384 Convert all function definitions to ISO C90 syntax.
9385 * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
9386 Remove all uses of PARAMS macro.
9387 * config/iq2000.h: Remove all uses of PARAMS macro.
9388 * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
9389
9390 2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
9391
9392 * config/s390/s390-protos.h (s390_output_pool_entry): Declare.
9393 * config/s390/s390.c (gen_consttable): Remove.
9394 (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
9395 (s390_output_pool_entry): New function.
9396 * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
9397 UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
9398 UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
9399 (UNSPECV_POOL_ENTRY): ... this new constant.
9400 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
9401 "consttable_ti", "consttable_sf", "consttable_df"): Remove ...
9402 ("*pool_entry"): ... and replace by this new insn.
9403 ("literal_pool_31"): Do not emit anchor label if pool empty.
9404
9405 * config/s390/s390.c (struct machine_function): Add save_return_addr_p.
9406 (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
9407 (s390_fixup_clobbered_return_reg): Remove.
9408 (s390_reorg): Don't call s390_fixup_clobbered_return_reg.
9409 (s390_return_addr_rtx): Always retrieve return address from save area
9410 slot. Use save_return_addr_p to force slot to be filled.
9411 (s390_emit_prologue): Remove has_hard_reg_initial_val test.
9412
9413 2003-08-22 Chris Demetriou <cgd@broadcom.com>
9414
9415 * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
9416 (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
9417 * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
9418 around SB-1 errata if TARGET_FIX_SB1 is set.
9419 (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
9420 * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
9421
9422 2003-08-22 Roger Sayle <roger@eyesopen.com>
9423
9424 * hashtable.c (ht_expand): Avoid calculating rehash for the common
9425 case that the first probe hits an empty hash table slot.
9426
9427 2003-08-22 Mark Mitchell <mark@codesourcery.com>
9428
9429 * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
9430
9431 2003-08-22 Mark Mitchell <mark@codesourcery.com>
9432
9433 * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
9434 (ptr_extend_plus_imm): ... this.
9435 * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
9436 optimization in C++.
9437 (ia64_output_mi_thunk): Support ILP32 mode.
9438
9439 2003-08-22 Bernardo Innocenti <bernie@develer.com>
9440
9441 * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
9442 function.
9443 * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
9444
9445 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9446
9447 * config/i386/i386.c (const_int_1_operand): Simplify an
9448 integer comparison.
9449
9450 2003-08-22 Alan Modra <amodra@bigpond.net.au>
9451
9452 * config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
9453 * config/rs6000/ppc64-fp.c: Likewise.
9454
9455 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9456
9457 * cfgcleanup.c: Fix comment typos.
9458 * emit-rtl.c: Likewise.
9459 * optabs.c: Likewise.
9460 * ra-build.c: Likewise.
9461 * rtlanal.c: Likewise.
9462 * tree.h: Likewise.
9463
9464 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9465
9466 * c-decl.c: Fix comment formatting.
9467 * cfgrtl.c: Likewise.
9468 * combine.c: Likewise.
9469 * convert.c: Likewise.
9470 * dominance.c: Likewise.
9471 * dwarf2out.c: Likewise.
9472 * dwarfout.c: Likewise.
9473 * expmed.c: Likewise.
9474 * fold-const.c: Likewise.
9475 * gcov.c: Likewise.
9476 * genattrtab.c: Likewise.
9477 * ggc-common.c: Likewise.
9478 * mips-tfile.c: Likewise.
9479 * regmove.c: Likewise.
9480
9481 2003-08-22 Kazu Hirata <kazu@cs.umass.edu>
9482
9483 * builtin-attrs.def: Fix comment formatting.
9484 * c-pretty-print.c: Likewise.
9485 * diagnostic.h: Likewise.
9486 * langhooks.h: Likewise.
9487 * recog.c: Likewise.
9488 * simplify-rtx.c: Likewise.
9489 * tree.def: Likewise.
9490
9491 2003-08-22 Bernardo Innocenti <bernie@develer.com>
9492
9493 * config/m68k/m68k-protos.h: Convert to ISO C90.
9494 * config/m68k/m68k.c: Likewise.
9495
9496 2003-08-21 Bernardo Innocenti <bernie@develer.com>
9497 Paul Dale <pauli@snapgear.com>
9498 Peter Barada <peter@baradas.org>
9499
9500 * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
9501 ColdFire cores.
9502
9503 2003-08-21 Zack Weinberg <zack@codesourcery.com>
9504
9505 * Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
9506 * config.gcc (*-*-openbsd): Don't set tm_file.
9507 (alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
9508 arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
9509 h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
9510 i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
9511 i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
9512 m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
9513 m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
9514 m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
9515 mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
9516 sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
9517 xscale-*-coff): Use explicit and complete lists of target headers
9518 to include. Move definitions to tm_defines where appropriate.
9519 (hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
9520 not-yet-contributed configuration.
9521
9522 * config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
9523 * config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
9524 * config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
9525 * config/i386/nto.h, config/iq2000/iq2000.h,
9526 * config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
9527 * config/m68k/linux.h, config/m68k/m68k-aout.h
9528 * config/m68k/m68k-none.h, config/m68k/m68kv4.h
9529 * config/m68k/netbsd.h, config/m68k/openbsd.h
9530 * config/m68k/sgs.h, config/mcore/mcore-pe.h,
9531 * config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
9532 * config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
9533 Remove includes of other target config headers, and
9534 definitions of macros moved to tm_defines lists. Add #undefs
9535 where now necessary to prevent redefinition warnings.
9536
9537 * config/h8300/coff.h: New file split out of...
9538 * config/h8300/elf.h: ...here.
9539 * config/m68k/hp320base.h: New file split out of...
9540 * config/m68k/hp320.h: ...here.
9541 * config/rs6000/lynxbase.h: New file split out of...
9542 * config/rs6000/lynx.h: ...here.
9543
9544 * config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
9545 * config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
9546
9547 * config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
9548 * config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
9549 * config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
9550 Remove unnecessary #ifndef.
9551 * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
9552 [under IN_LIBGCC2] with config/.
9553
9554 2003-08-21 Per Bothner <pbothner@apple.com>
9555
9556 * cppfiles.c (stack_file): Correctly pass return_at_eof parameter
9557 to cpp_push_buffer.
9558 * cpplex.c (_cpp_get_fresh_line): Don't buffer->prev - handled
9559 by return_at_eof check. Always call _cpp_pop_buffer at end.
9560
9561 2003-08-21 Kazu Hirata <kazu@cs.umass.edu>
9562
9563 PR target/11805
9564 * config/h8300/h8300.md (two anonymous patterns): Remove.
9565
9566 2003-08-21 Richard Sandiford <rsandifo@redhat.com>
9567
9568 * config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
9569 * config/mips/mips.c (function_arg_pass_by_reference): Never return
9570 true for n32 & n64.
9571
9572 2003-08-21 Josef Zlomek <zlomekj@suse.cz>
9573
9574 * fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
9575 and similarly in (A | C) == D where C & ~D != 0.
9576
9577 2003-08-20 Geoffrey Keating <geoffk@apple.com>
9578
9579 PR 8180
9580 * configure.in: When testing with_libs and with_headers, treat
9581 'no' as unset. Based on a patch by Dan Kegel <dank@kegel.com>.
9582 * configure: Regenerate.
9583
9584 2003-08-20 Peter Barada <peter@baradas.org>
9585
9586 * longlong.h (umul_ppmm): Add ColdFire support.
9587
9588 2003-08-20 Peter Barada <peter@baradas.org>
9589 Bernardo Innocenti <bernie@develer.com>
9590
9591 * config/m68k/m68k-none.h: Introduce new ColdFire archs.
9592 * config/m68k/m68k.h: Likewise.
9593 * config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
9594 * config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
9595 * config/m68k/linux.h: Likewise.
9596 * config/m68k/m68k.c: Likewise.
9597 * config/m68k/m68k.md: Likewise.
9598 * config/m68k/m68kelf.h: Likewise.
9599 * config/m68k/netbsd-elf.h: Likewise.
9600 * config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
9601
9602 2003-08-20 Bernardo Innocenti <bernie@develer.com>
9603
9604 * config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
9605 * config/m68k/m68k.md: Likewise.
9606
9607 2003-08-20 Mark Mitchell <mark@codesourcery.com>
9608
9609 PR java/11996
9610 Revert this change:
9611 2003-08-19 Mark Mitchell <mark@codesourcery.com>
9612 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
9613 types with precisions other than those given by native machine
9614 modes.
9615
9616 2003-08-20 Gunther Nikl <gni@gecko.de>
9617
9618 * config/m68k/m68k.md (anonymous define_insn): remove obsolete code
9619 selected by FSGLMUL_USE_S and FSGLDIV_USE_S
9620 * config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
9621 * config/m68k/m68k.md (anonymous define_insn): Likewise
9622 * config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
9623 * config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
9624 code selected by NO_ASM_FMOVECR
9625
9626 2003-08-20 Gunther Nikl <gni@gecko.de>
9627
9628 * config/m68k/m68k.c (output_move_const_into_data_reg,
9629 output_move_himode): unify MOTOROLA/MIT handling of moveq
9630 * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
9631 Likewise
9632
9633 2003-08-20 Gunther Nikl <gni@gecko.de>
9634
9635 * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
9636 label name
9637 * config/m68k/m68k.c (m68k_output_function_epilogue): replace
9638 HOST_WIDE_INT_PRINT_DEC with %wd
9639
9640 2003-08-20 Loren James Rittle <ljrittle@acm.org>
9641
9642 * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
9643 redefine warning.
9644
9645 2003-08-20 Roger Sayle <roger@eyesopen.com>
9646
9647 PR middle-end/11984
9648 * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
9649 operands before calling tree_int_cst_lt when performing associative
9650 transformations.
9651
9652 2003-08-20 Jason Merrill <jason@redhat.com>
9653
9654 * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
9655 (EXPR_CHECK): Don't check for 'r' or 's' if we're
9656 checking IS_EXPR_CODE_CLASS.
9657 * calls.c (calls_function_1): Likewise.
9658 * fold-const.c (fold): Likewise.
9659 * tree.c (iterative_hash_expr): Likewise.
9660 * tree-inline.c (walk_tree, copy_tree_r): Likewise.
9661
9662 2003-08-20 Gunther Nikl <gni@gecko.de>
9663
9664 * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
9665 depending on MOTOROLA_BSR
9666 * config/m68k/m68k.md (anonymous define_insn): Likewise
9667
9668 2003-08-20 Jason Merrill <jason@redhat.com>
9669
9670 * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
9671 (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
9672 fold_trunc_transparent_mathfn, fold_builtin): Likewise.
9673 * dojump.c (do_jump): Likewise.
9674 * fold-const.c (operand_equal_p, fold): Likewise.
9675 (tree_expr_nonnegative_p): Likewise.
9676
9677 * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
9678 TYPE_USER_ALIGN for FIELD_DECLs.
9679
9680 * attribs.c (decl_attributes): Rebuild the function pointer type after
9681 changing the target type.
9682 * tree.c (get_qualified_type): Also check that the attributes match.
9683
9684 2003-08-19 Matt Kraai <kraai@alumni.cmu.edu>
9685
9686 * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
9687 * objc/config-lang.in (stagestuff): ... to here.
9688
9689 2003-08-19 Mark Mitchell <mark@codesourcery.com>
9690
9691 PR c++/11946
9692 * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
9693 NOP_EXPR) when necessary.
9694 * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
9695 types with precisions other than those given by native machine
9696 modes.
9697
9698 2003-08-19 Geoffrey Keating <geoffk@apple.com>
9699
9700 * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
9701 because some macro is defined.
9702
9703 * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
9704 options.
9705 * config/i386/darwin.h (ASM_SPEC): New.
9706 (SUBTARGET_EXTRA_SPECS): New.
9707 * config/rs6000/darwin.h (ASM_SPEC): New.
9708 (SUBTARGET_EXTRA_SPECS): New.
9709 * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
9710 a cross-compiler between two different processors on Darwin.
9711 * configure: Regenerate.
9712
9713 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
9714
9715 * builtins.c: Fix comment typos.
9716 * c-common.c: Likewise.
9717 * c-decl.c: Likewise.
9718 * c-pretty-print.c: Likewise.
9719 * cfgbuild.c: Likewise.
9720 * cfglayout.c: Likewise.
9721 * cfgloopanal.c: Likewise.
9722 * cgraphunit.c: Likewise.
9723 * cppfiles.c: Likewise.
9724 * dwarfout.c: Likewise.
9725 * expr.c: Likewise.
9726 * fold-const.c: Likewise.
9727 * gcse.c: Likewise.
9728 * ggc-page.c: Likewise.
9729 * haifa-sched.c: Likewise.
9730 * pretty-print.c: Likewise.
9731 * tree.c: Likewise.
9732 * tree.h: Likewise.
9733 * value-prof.c: Likewise.
9734
9735 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
9736
9737 * c-decl.c: Follow spelling conventions.
9738 * cppfiles.c: Likewise.
9739
9740 2003-08-19 Kazu Hirata <kazu@cs.umass.edu>
9741
9742 * c-common.c: Fix comment formatting.
9743 * c-common.h: Likewise.
9744 * c-decl.c: Likewise.
9745 * cppinit.c: Likewise.
9746 * cpplib.h: Likewise.
9747 * emit-rtl.c: Likewise.
9748 * input.h: Likewise.
9749 * line-map.h: Likewise.
9750 * opts.c: Likewise.
9751 * opts.h: Likewise.
9752 * simplify-rtx.c: Likewise.
9753
9754 2003-08-19 Daniel Jacobowitz <drow@mvista.com>
9755
9756 * unwind-c.c: Add libgcc-style exception.
9757 * unwind-dw2.c: Likewise.
9758 * unwind-pe.h: Likewise.
9759 * unwind-sjlj.c: Likewise.
9760 * unwind.inc: Likewise.
9761
9762 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
9763
9764 PR c/5582 PR c++/10538
9765 * langhooks-def.h (lhd_decl_uninit): Declare.
9766 (LANG_HOOKS_DECL_UNINIT): New macro.
9767 (LANG_HOOKS_INITIALIZER): Adjust.
9768 * langhooks.h (struct lang_hooks): Add new field
9769 decl_uninit.
9770 * langhooks.c (lhd_decl_uninit): Define.
9771 * c-common.c (c_decl_uninit_1): New function.
9772 (c_decl_uninit): New function.
9773 (warn_init_self): Define.
9774 * c-common.h (c_decl_uninit): Declare.
9775 (warn_init_self): Declare.
9776 * c.opt: Introduce -Winit-self.
9777 * c-opts.c (c_common_handle_options): Set warn_init_self.
9778 * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
9779 * objc/objc-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
9780 * function.c (uninitialized_vars_warning): Call the language hook.
9781 * doc/invoke.texi: Document -Winit-self.
9782
9783 2003-08-19 Chris Demetriou <cgd@broadcom.com>
9784
9785 * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
9786 to use better predicates and constraints. Define new
9787 instruction to handle "trap_if" with DI-mode arguments.
9788 (conditional_trap): FAIL if trap code is not 0.
9789
9790 2003-08-19 Andrew Pinski <pinskia@physics.uc.edu>
9791
9792 * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
9793 strstr with $pb to a strcompare with "<pic base>"
9794 (ix86_output_addr_diff_elt): Output the real pic base.
9795
9796 2003-08-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
9797
9798 * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
9799 (LANG_HOOKS_INITIALIZER): Correct.
9800 * c-lang.c: Likewise.
9801
9802 2003-08-19 Jan Hubicka <jh@suse.cz>
9803
9804 * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
9805 (cgraph_varpool_mark_needed_node): Likewise.
9806 * cgraph.h (notice_global_symbol): Declare
9807 * varasm.c (notice_global_symbol): Break out from ...
9808 (assemble_start_function): ... here; update for variables.
9809 (assemble_variable): Use notice_global_symbol.
9810
9811 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
9812
9813 * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
9814 expect SFmode and DFmode arguments to be passed in FPRs,
9815 regardless of the underlying type.
9816
9817 2003-08-19 Richard Sandiford <rsandifo@redhat.com>
9818
9819 PR target/11924
9820 * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
9821 (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
9822
9823 2003-08-18 Matt Kraai <kraai@alumni.cmu.edu>
9824
9825 PR c/11207
9826 * c-typeck.c (set_init_index): Check for negative index.
9827
9828 2003-08-18 Bob Wilson <bob.wilson@acm.org>
9829
9830 * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
9831 call0 ABI.
9832 * config/xtensa/crtn.asm (_init, _fini): Likewise.
9833 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
9834 __umodsi3, __modsi3): Likewise.
9835 * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
9836 $(INCLUDES).
9837
9838 2003-08-18 Aldy Hernandez <aldyh@redhat.com>
9839
9840 * config/rs6000/spe.md ("*nabssf2_gpr"): New.
9841
9842 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
9843
9844 * config/mips/mips.md: Quote C code in braces. Remove use of
9845 fake const0_rtx operands. Remove double backslashes. Use \;.
9846 Remove workarounds for bogus warnings.
9847
9848 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
9849
9850 * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
9851 (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
9852 rather than TARGET_MIPS4300.
9853 (mulsf3_internal, mulsf3_r4300): Likewise.
9854
9855 2003-08-18 Richard Sandiford <rsandifo@redhat.com>
9856
9857 * config/mips/mips.md: Renumber unspecs. Clean up comments.
9858
9859 2003-08-17 Roger Sayle <roger@eyesopen.com>
9860
9861 * simplify-rtx.c (associative_constant_p): New function to test
9862 whether an RTX expression is an immediate constant.
9863 (simplify_associative_operation): New function to perform some
9864 reassociation optimizations of associative binary expressions.
9865 (simplify_binary_operation): Use simplify_associative_operation
9866 to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
9867 Floating point expressions are only reassociated when unsafe
9868 math optimizations are permitted.
9869
9870 2003-08-17 Andreas Jaeger <aj@suse.de>
9871
9872 * config/alpha/alpha.md: Remove usage of PARAMS.
9873
9874 * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
9875 * config/i386/i386-interix.h: Likewise.
9876 * config/i386/winnt.c: Likewise.
9877 * config/i386/cygming.h: Likewise.
9878 * config/i386/cygwin2.c: Likewise.
9879 * config/darwin.c: Likewise.
9880 * config/darwin-c.c: Likewise.
9881 * config/darwin-protos.h: Likewise.
9882 * config/darwin.h: Likewise.
9883 * config/s390/s390-protos.h: Likewise.
9884 * config/s390/s390.c: Likewise.
9885 * config/ia64/ia64.c: Likewse
9886 * config/ia64/ia64-protos.h: Likewise.
9887 * config/ia64/ia64-c.c: Likewise.
9888
9889 2003-08-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9890
9891 * config/sparc/sparc.c: Convert to ISO C.
9892
9893 * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
9894 * config/sparc/sparc.c: Likewise.
9895
9896 2003-08-16 Nathan Sidwell <nathan@codesourcery.com>
9897
9898 PR c++/11512
9899 * stmt.c (expand_expr_stmt_value): Don't warn about any void
9900 typed expression.
9901
9902 2003-08-16 Jan Hubicka <jh@suse.cz>
9903
9904 * i386.c (ix86_fntype_regparm): Rename from ...
9905 (ix86_function_regparm): ... this one; add fastcall and local
9906 functions.
9907 (ix86_function_ok_for_sibcall): Update.
9908 (ix86_return_pops_args): Likewise.
9909 (init_cumulative_args): Likewise.
9910 (x86_can_output_mi_thunk): Likewise.
9911 (function_arg): Fix formating.
9912 (x86_this_parameter): Fix fastcall.
9913 (x86_output_mi_thunk): Likewise.
9914
9915 * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
9916 body as reachable; mark nested functions as needed too.
9917 (dump_cgraph): Do not output global.calls.
9918 * cgraph.h (cgraph_global_info): Kill.
9919 * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
9920 (record_call_1): Speedup.
9921 (cgraph_analyze_function): Break out from ...; compute inlining
9922 parameters.
9923 (cgraph_finalize_compilation_unit): ... here.
9924 (cgraph_mark_inline): Kill computation of calls.
9925 (cgraph_decide_inlining): Do not compute most of initial values.
9926
9927 2003-08-14 Roger Sayle <roger@eyesopen.com>
9928
9929 * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
9930 to negate if either operand is easy to negate, if we don't care
9931 about sign-dependent rounding.
9932 (negate_expr): Make the logic to negate a REAL_CST explicit.
9933 Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
9934 that's easy to negate, if we don't honor sign-dependent rounding.
9935 (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
9936 negate, and the symmetric A * -B as -A * B if A is easy to negate.
9937 (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
9938 -C/D if B and C are cheap to negate. Add an explicit rule to
9939 optimize X/-1.0 as -X when we don't care about signaling NaNs.
9940
9941 2003-08-14 Zack Weinberg <zack@codesourcery.com>
9942
9943 * Makefile.in (tm_file): Rename tm_include_list.
9944 (tm_p_file): Rename tm_p_include_list.
9945 (build_xm_file): Rename build_xm_include_list.
9946 (host_xm_file): Rename host_xm_include_list.
9947 (xm_file): Rename xm_include_list.
9948 (xm_file_list): Add to be substituted.
9949 (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
9950 Update to match.
9951 (bt-load.o): Add missing dependency on $(TM_H).
9952 * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
9953 For each of tm_file, tm_p_file, xm_file, host_xm_file, and
9954 build_xm_file, generate both *_file_list and *_include_list
9955 values from it. (xm_file_list was formerly not being generated.)
9956 In *_include_list, prefix the names of all headers found in
9957 $(srcdir)/config with config/. In each loop, consider only
9958 the special case files that can actually appear in that list.
9959 AC_SUBST all *_file_list and all *_include_list variables; do
9960 not AC_SUBST the plain *_file variables.
9961 * configure: Regenerate.
9962
9963 2003-08-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9964
9965 * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
9966
9967 2003-08-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9968
9969 * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
9970 direct calls.
9971 (attr_length_call): Include it here. Improve length estimate for
9972 local calls.
9973 (output_call): Use targetm.binds_local_p.
9974
9975 2003-08-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9976
9977 * builtins.c (CASE_MATHFN): New helper macro.
9978 (mathfn_built_in): Simplify and sort.
9979
9980 * protoize.c (substr): Delete, callers changed to `strstr'.
9981
9982 2003-08-13 Zack Weinberg <zack@codesourcery.com>
9983
9984 * config.gcc (iq2000*-*-elf*): Don't set xm_file.
9985 * config/iq2000/xm-iq2000.h: Delete file.
9986
9987 2003-08-13 Geoffrey Keating <geoffk@apple.com>
9988
9989 * gengtype.c (walk_type): Process a subobject before processing
9990 the pointer that points to the subobject.
9991
9992 2003-08-13 Per Bothner <pbothner@apple.com>
9993
9994 * regclass.c (init_reg_modes): Make non-static.
9995 Rename to init_reg_modes_once per new naming convention.
9996 (init_regs): Don't call init_reg_modes here.
9997 * emit-rtl.c (init_emit_once): Call init_reg_modes_once here instead.
9998 * rtl.h (init_reg_modes_once): New declaration.
9999 * toplev.c (backend_init): Call init_regs after init_emit_once.
10000
10001 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
10002
10003 * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
10004 special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
10005
10006 2003-08-13 J"orn Rennecke <joern.rennecke@superh.com>
10007
10008 * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
10009 * sh.md (load_ra): Change insn predicate to TARGET_SH1.
10010
10011 2003-08-13 Dale Johannesen <dalej@apple.com>
10012
10013 * config/rs6000/rs6000.md (ctrsi, ctrdi): Reenable
10014 handling of decrement-and-branch farther than 32 bits.
10015
10016 2003-08-12 Kelley Cook <kelleycook@wideopenwest.com>
10017
10018 * configure.in (make_compare_target): Move test to ...
10019 * aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
10020 * configure: Regenerate.
10021
10022 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
10023
10024 * config/mips/iris6.h: Convert to C90 prototypes.
10025 * config/mips/irix6-libc-compat.c: Likewise.
10026 * config/mips/mips-protos.h: Likewise.
10027 * config/mips/mips.c: Likewise.
10028
10029 2003-08-12 Nathanael Nerode <neroden@gcc.gnu.org>
10030
10031 fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel. Enable
10032 for selected machines. Comment heavily.
10033 fixinc/fixincl.x: Rebuild.
10034 fixinc/tests/base/fs/rfs/rf_cache.h: New file.
10035
10036 2003-08-12 Richard Sandiford <rsandifo@redhat.com>
10037
10038 * config/mips/mips.h: Tweak various comments.
10039 * config/mips/mips.c: Likewise.
10040
10041 2003-08-11 James E Wilson <wilson@tuliptree.org>
10042
10043 PR optimization/11319
10044 PR target/10021
10045 * alias.c (find_base_value, case REG): Return 0 not src if no base
10046 found.
10047
10048 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10049
10050 * gcse.c (gmalloc): Fix last change.
10051
10052 2003-08-11 Roger Sayle <roger@eyesopen.com>
10053
10054 * simplify-rtx.c (simplify_binary_operation): Replace calls to
10055 gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
10056 and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
10057 gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
10058
10059 2003-08-11 Roger Sayle <roger@eyesopen.com>
10060
10061 * expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
10062 * c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
10063 typecode for an ABS_EXPR.
10064
10065 * doc/c-tree.texi: Document ABS_EXPR.
10066
10067 2003-08-11 Roger Sayle <roger@eyesopen.com>
10068
10069 * fold-const.c (fold): Optimize any associative floating point
10070 operator with -funsafe-math-optimizations, not just MULT_EXPR.
10071
10072 2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
10073
10074 * config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
10075 information in SHmedia case too.
10076 (__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
10077 Likewise.
10078 (__set_fpscr): Use an access via GOT for PIC case.
10079
10080 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
10081
10082 * configure.in (intermodule): Make switch test more portable.
10083 * configure: Regenerate.
10084
10085 2003-08-11 Kelley Cook <kelleycook@wideopenwest.com>
10086
10087 * Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
10088 (restrap): Likewise.
10089
10090 2003-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10091
10092 * gcse.c (gmalloc): Argument is a size_t. Add ATTRIBUTE_MALLOC.
10093 (grealloc): Size argument is a size_t.
10094 (gcalloc): New function. Use throughout in lieu of
10095 gmalloc/memset.
10096
10097 * config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
10098 xmalloc/memset.
10099 * config/ia64/ia64.c (ia64_reorg): Likewise.
10100 * conflict.c (conflict_graph_new): Likewise.
10101 * fixinc/fixincl.c (run_compiles): Likewise.
10102 * genattrtab.c (optimize_attrs): Likewise.
10103 * genrecog.c (new_decision): Likewise.
10104 * haifa-sched.c (schedule_block): Likewise.
10105 * hashtable.c (ht_create): Likewise.
10106
10107 2003-08-11 Bob Wilson <bob.wilson@acm.org>
10108
10109 * config/xtensa/lib2funcs.S: Fix whitespace.
10110 * config/xtensa/xtensa.md (all insns and expanders): Use brace block
10111 syntax where appropriate. Remove unnecessary backslash escapes.
10112 Reformat comments and fix some code formatting.
10113 (extendqisi2): Rearrange conditional.
10114 (*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
10115 *maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
10116 of fatal_insn.
10117
10118 2003-08-11 Richard Sandiford <rsandifo@redhat.com>
10119
10120 * config/mips/mips.c: Various formatting fixes.
10121 (override_options): Resync -mtune handling with gas.
10122 (mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
10123 * config/mips/mips.h: More formatting fixes.
10124 (mips_abi): Move declaration.
10125 * config/mips/mips.md (exception_receiver): Add mode to
10126 unspec_volatile.
10127
10128 2003-08-11 Aldy Hernandez <aldyh@redhat.com>
10129
10130 * config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
10131 evsplatfi here.
10132 (bdesc_1arg): Remove evsplati and evsplatfi.
10133
10134 2003-08-11 J"orn Rennecke <joern.rennecke@superh.com>
10135
10136 * dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
10137 into account.
10138
10139 2003-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10140
10141 * builtins.c (expand_builtin_strcat): Optimize constant strings.
10142
10143 2003-08-10 Gabriel Dos Reis <gdr@integrable-solutions.net>
10144
10145 * pretty-print.c (pp_base_indent): Rename from pp_indent.
10146 * c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
10147 (struct c_pretty_print_info): Add more fields.
10148 (pp_c_left_paren): Move to c-pretty-print.c.
10149 (pp_c_right_paren): Likewise.
10150 (pp_c_left_brace): Likewise.
10151 (pp_c_right_brace): Likewise.
10152 (pp_c_left_bracket): Likewise.
10153 (pp_c_right_bracket): Likewise.
10154 (pp_c_declarator): Declare.
10155 (pp_c_direct_declarator): Likewise.
10156 (pp_c_specifier_qualifier_list): Likewise.
10157 (pp_c_type_id): Likewise.
10158 * c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
10159 (pp_c_type_qualifier_list): New.
10160 (pp_c_pointer): Likewise.
10161 (pp_c_parameter_type_list): Likewise.
10162 (pp_c_function_definition): Likewise.
10163 (pp_c_id_expression): Likewise.
10164 (pp_c_simple_type_specifier): Tidy.
10165 (pp_c_unary_expression): Likewise.
10166 (pp_c_expression): Likewise.
10167 (pp_c_pretty_printer_init): Likewise.
10168 (pp_c_specifier_qualifier_list): Rework..
10169 (pp_c_abstract_declarator): Likewise.
10170 (pp_c_postfix_expression): Likewise.
10171 (pp_c_primary_expression): Likewise.
10172 (pp_c_cast_expression): Likewise.
10173 (pp_c_direct_abstract_declarator): Likewise.
10174 (pp_c_storage_class_specifier): Likewise.
10175 (pp_c_function_specifier): Likewise.
10176 (pp_c_declaration_specifiers): Likewise.
10177 (pp_c_direct_declarator): Likewise.
10178 (pp_c_declarator): Likewise.
10179 (pp_c_declaration): Likewise.
10180 (pp_c_statement): Likewise.
10181 (pp_c_integer_constant): Rename from pp_c_integer_literal.
10182 (pp_c_character_constant): Rename from pp_c_character_literal.
10183 (pp_c_bool_constant): Rename from pp_c_bool_literal.
10184 (pp_c_enumeration_constant): Rename from pp_c_enumerator.
10185 (pp_c_floating_constant): Rename from pp_c_real_literal.
10186 (pp_c_constant): Rename from pp_c_literal.
10187 * c-lang.c: Include diagnostic.h and c-pretty-print.h
10188 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
10189 (c_initialize_diagnostics): New.
10190 * Makefile.in (c-lang.o): Update dependency.
10191
10192 2003-08-10 Nathan Sidwell <nathan@codesourcery.com>
10193
10194 * c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
10195
10196 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
10197
10198 * config/mips/mips.c (mips_no_mips16_string): Remove.
10199 (override_options): Don't handle -mips16 as part of -mipsN.
10200 * config/mips/mips.h (mips_no_mips16_string): Remove declaration.
10201 (TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
10202 (TARGET_OPTIONS): Remove -mno-mips16.
10203
10204 2003-08-10 Richard Sandiford <rsandifo@redhat.com>
10205
10206 * config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
10207 (coprocessor2_operand): Likewise.
10208 * config/mips/mips.c (STAB_CODE_TYPE): Remove.
10209 (lookup_name): Remove declaration.
10210 (abort_with_insn): Remove. Replace all uses with fatal_insn.
10211 (mips16, mips_abicalls): Remove.
10212 (mips_char_to_class): Remove initialiser: all entries are NO_REGS.
10213 (arith32_operand, large_int, true_reg_or_0_operand): Remove.
10214 (coprocessor_operand, coprocessor2_operand): Remove.
10215 (override_options): Don't set mips16 or mips_abicalls.
10216 (print_operand): Don't expect SIGN_EXTEND operands.
10217 (mips_secondary_reload_class): Likewise.
10218 (mips_output_conditional_branch): Remove disabled long-branch code.
10219 * config/mips/mips.h (call_used_regs): Remove declaration.
10220 (may_call_alloca): Likewise.
10221 (mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
10222 (mips_abicalls, mips16): Remove declarations.
10223 (ASM_FINAL_SPEC, LIB_SPEC): Remove.
10224 (CC1_SPEC): Remove outdated comment.
10225 (MIPS_VERSION, MACHINE_TYPE): Remove.
10226 (TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
10227 (PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
10228 (STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
10229 (PUSH_ROUNDING): Likewise.
10230 (ASSEMBLER_SCRATCH_REGNUM): Remove.
10231 * config/mips/mips.md: Replace mips_cpu_attr with mips_tune
10232 and mips16 with TARGET_MIPS16.
10233
10234 2003-08-09 Per Bothner <pbothner@apple.com>
10235
10236 * cppinit.c (cpp_read_main_file): Split out source-independent
10237 initialization to separate function ...
10238 (cpp_post_options): New function.
10239 * cppfiles.c (cpp_stack_file): Rename public name to ...
10240 (_cpp_stack_file): New internal function name.
10241 * cpplib.h: Update accordingly.
10242 * cppinit.c: (cpp_create_reader): Initialize cpp_readers line here.
10243 (cpp_read_main_file): Don't initialize line here.
10244 * c-opts.c (c_common_post_options): Call cpp_post_options.
10245 (c_common_parse_file): Call cpp_read_main_file, not cpp_stack_file.
10246 * fix-header.c (read_scan_file): Call cpp_post_options.
10247
10248 2003-08-09 Per Bothner <per@bothner.com>
10249
10250 * c-decl.c (SCOPE_LIST_APPEND): Remove bogus line continuation.
10251
10252 2003-08-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10253
10254 * pa.c (pa_asm_output_mi_thunk): Fix typo.
10255
10256 2003-08-09 Neil Booth <neil@daikokuya.co.uk>
10257
10258 PR preprocessor/11839
10259 * cppfiles.c (open_file): Handle ENOTDIR.
10260
10261 2003-08-09 Richard Sandiford <rsandifo@redhat.com>
10262
10263 PR target/11699
10264 * config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
10265
10266 2003-08-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10267
10268 * pa.md (extzv, extv, insv): Fix operand limit checks. Fail if
10269 source/destination is not a register operand.
10270
10271 2003-08-08 Richard Henderson <rth@redhat.com>
10272
10273 PR target/11535
10274 * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
10275 RETURN_ADDRESS_POINTER_REGNUM.
10276 (ia64_expand_prologue): Don't frob it.
10277 (ia64_output_function_epilogue): Likewise.
10278 (ia64_return_addr_rtx): New.
10279 (ia64_split_return_addr_rtx): New.
10280 * config/ia64/ia64-protos.h: Update.
10281 * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
10282 (RETURN_ADDRESS_POINTER_REGNUM): Remove.
10283 (GENERAL_REGNO_P): Don't check it.
10284 (AR_*_REGNUM): Renumber.
10285 (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
10286 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
10287 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
10288 (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
10289 (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
10290 * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
10291 (movdi_ret_addr): New.
10292
10293 2003-08-08 Geoffrey Keating <geoffk@apple.com>
10294
10295 * config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
10296
10297 2003-08-08 Roger Sayle <roger@eyesopen.com>
10298
10299 * tree.h (get_identifier) Define a macro form of get_identifier
10300 that calls get_identifier_with_length when the string is constant.
10301 (get_identifier_with_length): Change type of second argument to
10302 size_t in prototype.
10303 * stringpool.c (get_identifier): Undefine the macro before giving
10304 the function definition.
10305 (get_identifier_with_length): Change type of second argument to
10306 size_t in function definition.
10307 * hashtable.c (calc_hash): Change type of second argument to size_t.
10308 (ht_lookup): Change type of third argument to size_t. Reorganize
10309 to speed-up the cases where the hash table slot is empty, or the
10310 first probe matches (i.e. there isn't a collision).
10311 * hashtable.h (ht_lookup): Adjust function prototype.
10312
10313 2003-08-08 Bernardo Innocenti <bernie@develer.com>
10314
10315 PR target/9697
10316 PR target/11777
10317 * longlong.h (count_leading_zeros): Exclude on __mcpu32__.
10318
10319 2003-08-08 Neil Booth <neil@daikokuya.co.uk>
10320
10321 * common.opt: Add debug switches.
10322 * flags.h (use_gnu_debug_info_extensions): Boolify.
10323 * opts.c (write_symbols, debug_info_level,
10324 use_gnu_debug_info_extensions): Move from toplev.c.
10325 (set_debug_level): New.
10326 (common_handle_options): Handle debug switches.
10327 (print_help): Display target options directly.
10328 * toplev.c (debug_hooks): Don't initialize.
10329 (write_symbols, debug_info_level,
10330 use_gnu_debug_info_extensions): Move to opts.c.
10331 (debug_args, display_help, decode_g_option): Remove.
10332 (process_options): Set no debug if level zero here,
10333 and no-debug-hooks. Error here if impossible debug format selected.
10334 * toplev.h (display_help, decode_g_option): Remove.
10335
10336 2003-08-08 Richard Sandiford <rsandifo@redhat.com>
10337
10338 * tree.c (get_file_function_name_long): Fix size of alloca() area.
10339
10340 2003-08-08 Kelley Cook <kelleycook@wideopenwest.com>
10341
10342 * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
10343 and gcc_cv_prog_cmp_skip.
10344 * configure: Regenerate.
10345
10346 2003-08-08 Stan Cox <scox@redhat.com>
10347
10348 * config/iq2000: New port.
10349 * config.gcc (iq2000-*-elf): Added.
10350 * doc/install.texi (Specific): Add iq2000 description.
10351
10352 2003-08-08 Andreas Schwab <schwab@suse.de>
10353
10354 * configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
10355 and insert missing empty argument.
10356 * configure: Regenerate.
10357
10358 2003-08-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10359
10360 * pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
10361 (attr_length_millicode_call): Likewise.
10362 (attr_length_call): Likewise. Revise some maximum insn lengths.
10363 (attr_length_indirect_call): Likewise.
10364 (output_call): Fix thinko that added extra nop.
10365 * pa.h (IN_NAMED_SECTION_P): Define.
10366
10367 PR c++/11712
10368 * pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
10369 __STDC_EXT__ when using C++ dialect.
10370
10371 2003-08-07 J"orn Rennecke <joern.rennecke@superh.com>
10372
10373 * sh.c (calc_live_regs): If the return address pointer is live,
10374 force pr live.
10375 (sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
10376 for saves / restores.
10377 (sh_expand_epilogue): If sh_media_register_for_return returns a
10378 register number, flag the instructions that restores PR_MEDIA_REG
10379 as possibly dead.
10380 Remove dead update of offset.
10381 (sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
10382 we can use the result of get_hard_reg_initial_val.
10383 * sh.md (UNSPEC_RA): New constant.
10384 (movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
10385 (load_ra). Handle UNSPEC_RA.
10386 (sibcall_media): Use PR_MEDIA_REG.
10387
10388 * sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
10389 * sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
10390 needs saving on SHmedia.
10391
10392 2003-08-07 Ulrich Weigand <uweigand@de.ibm.com>
10393
10394 * config/s390/s390.md: Replace all occurrences of \\t with \t.
10395
10396 2003-08-07 Richard Sandiford <rsandifo@redhat.com>
10397
10398 * local-alloc.c (combine_regs): Fix comment typo.
10399
10400 2003-08-06 Zack Weinberg <zack@codesourcery.com>
10401
10402 * c-decl.c (builtin_decls): Replace with first_builtin_decl
10403 and last_builtin_decl.
10404 (c_init_decl_processing): Initialize both.
10405 (c_reset_state): Iterate from first_builtin_decl to
10406 last_builtin_decl inclusive to reintroduce builtins.
10407
10408 2003-08-06 David Mosberger <davidm@hpl.hp.com>
10409
10410 * doc/extend.texi (Function Attributes): Document the IA-64 version
10411 of the "model" attribute.
10412
10413 * config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
10414 (SYMBOL_REF_SMALL_ADDR_P): Ditto.
10415 (PREDICATE_CODES): Mention "small_addr_symbolic_operand".
10416
10417 * config/ia64/ia64.c (ia64_handle_model_attribute): New function.
10418 (ia64_encode_section_info): Likewise.
10419 (ia64_attribute_table): Add "model" attribute.
10420 (TARGET_ENCODE_SECTION_INFO): Define.
10421 (small_addr_symbolic_operand): New function.
10422 (got_symbolic_operand): Return 0 for a symbolref to an object
10423 in the small address area.
10424 (enum ia64_addr_area): New type.
10425 (small_ident1): New variable.
10426 (small_ident2): Likewise.
10427 (init_idents): New function.
10428 (ia64_get_addr_area): Likewise.
10429 (ia64_encode_addr_area): Likewise.
10430 (ia64_encode_section_info): Likewise.
10431 (ia64_expand_load_address): For symbolic references to objects in
10432 the small-address-area, load the address via gen_rtx_SET() (which,
10433 eventually, will expand into "addl").
10434
10435 2003-08-06 Per Bothner <pbothner@apple.com>
10436
10437 * line-map.h (fileline): New typedef.
10438 (struct line_map, linemap_add, linemap_lookup): Use it.
10439 * input.h (struct location_s): Comment notes that long-term we want
10440 to replace it by fileline.
10441
10442 2003-08-06 J"orn Rennecke <joern.rennecke@superh.com>
10443
10444 Fix SHcompact exception handling:
10445 * sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
10446 by the prologue, return a MEM with return_address_pointer_rtx
10447 as address.
10448 * sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
10449 (RETURN_ADDR_OFFSET): Don't define.
10450 (SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
10451 registers that are visible in compact mode. Show that SHmedia
10452 registers still exist in compact mode, even if there are not
10453 readily accessible.
10454 (ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
10455 if GLOBAL. Use DW_EH_PE_textrel (nominally) for CODE,
10456 and DW_EH_PE_pcrel for pic data.
10457 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
10458 set SYMBOL_FLAG_FUNCTION in symbol, and actually use
10459 DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
10460 (ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
10461 * sh.md (movsi_media-1): New splitter.
10462
10463 2003-08-06 Graeme Peterson <gp@qnx.com>
10464
10465 * config/i386/nto.h: New.
10466 * config/i386/t-nto: New.
10467 * config.gcc (i[34567]86-*-nto-qnx*): New.
10468
10469 2003-08-06 Phil Edwards <pme@gcc.gnu.org>
10470
10471 * doc/install.texi (*-*-solaris2*): Refine configure instructions.
10472
10473 2003-08-06 Alan Modra <amodra@bigpond.net.au>
10474
10475 * calls.c (load_register_parameters): Arrange for call_fusage to
10476 report the whole register as used when shifting to the msb.
10477
10478 2003-08-05 Roger Sayle <roger@eyesopen.com>
10479
10480 * builtins.c (expand_builtin): When not optimizing, call the library
10481 function for all builtins that have library functions (except alloca).
10482
10483 2003-08-05 Alexandre Oliva <aoliva@redhat.com>
10484
10485 * c.opt: Introduce -fworking-directory.
10486 * doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
10487 * c-common.h (flag_working_directory): Declare.
10488 * c-common.c (flag_working_directory): Define.
10489 * c-opts.c (c_common_handle_options): Set it.
10490 (sanitize_cpp_opts): Set...
10491 * cpplib.h (struct cpp_options): ... working_directory option.
10492 (struct cpp_callbacks): Add dir_change.
10493 * cppinit.c (read_original_filename): Call...
10494 (read_original_directory): New. Look for # 1 "directory//"
10495 and process it.
10496 (cpp_read_main_file): Call dir_change callback if working_directory
10497 option is set.
10498 * gcc.c (cpp_unique_options): Pass -g*.
10499 * c-lex.c (cb_dir_change): New.
10500 (init_c_lex): Set dir_change callback.
10501 * toplev.c (src_pwd): New static variable.
10502 (set_src_pwd, get_src_pwd): New functions.
10503 * toplev.h (get_src_pwd, set_src_pwd): Declare.
10504 * dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
10505 * dwarf2out.c (gen_compile_unit_die): Likewise.
10506 * dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
10507
10508 2003-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
10509
10510 * pretty-print.h (pp_set_line_maximum_length): Make macro.
10511 (pp_set_prefix): Likewise.
10512 (pp_destroy_prefix): Likewise.
10513 (pp_remaining_character_count_for_line): Likewise.
10514 (pp_clear_output_area): Likewise.
10515 (pp_formatted_text): Likewise.
10516 (pp_last_position_in_text): Likewise.
10517 (pp_emit_prefix): Likewise.
10518 (pp_append_text): Likewise.
10519 (pp_flush): Likewise.
10520 (pp_format_text): Likewise.
10521 (pp_format_verbatim): Likewise.
10522 (pp_tree_identifier): Tidy.
10523 * pretty-print.c (pp_base_format_text): Rename from pp_format_text.
10524 (pp_base_format_verbatim): Rename from pp_format_verbatim.
10525 (pp_base_flush): Rename from pp_flush.
10526 (pp_base_set_line_maximum_length): Rename from
10527 pp_set_line_maximum_length.
10528 (pp_base_clear_output_area): Rename from pp_clear_output_area.
10529 (pp_base_set_prefix): Rename from pp_set_prefix.
10530 (pp_base_destroy_prefix): Rename from pp_destroy_prefix.
10531 (pp_base_emit_prefix): Rename from pp_emit_prefix.
10532 (pp_base_append_text): Rename from pp_append_text.
10533 (pp_base_formatted_text): Rename from pp_formatted_text.
10534 (pp_base_last_position_in_text): Rename from pp_last_position_in_text.
10535 (pp_base_remaining_character_count_for_line): Rename from
10536 pp_remaining_character_count_for_line.
10537 * diagnostic.h (diagnostic_format_decoder): Tidy.
10538 (diagnostic_flush_buffer): Likewise.
10539 * c-pretty-print.h: (pp_c_string_literal): Declare.
10540 (pp_c_real_literal): Likewise.
10541 (pp_c_integer_literal): Likewise.
10542 * c-pretty-print.c (pp_c_char): Use pp_string in lieu of
10543 pp_identifier.
10544 (pp_c_character_literal): Tidy.
10545 (pp_c_string_literal): Make public.
10546 (pp_c_bool_literal): Likewise.
10547 (pp_c_integer_literal): Likewise.
10548 (pp_c_real_literal): Likewise.
10549
10550 * Makefile.in (C_PRETTY_PRINT_H): New variable.
10551 (c-pretty-print.o): Update dependence.
10552
10553 2003-08-05 Chris Demetriou <cgd@broadcom.com>
10554
10555 * config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
10556 ".set nomacro" state.
10557 (fix_truncsfsi2_macro): Likewise.
10558
10559 2003-08-05 Steven Bosscher <steven@gcc.gnu.org>
10560
10561 * tree.h (DID_INLINE_FUNC): Remove macro.
10562 (DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
10563 add tree check for FUNCTION_DECL.
10564 (DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
10565 (struct tree_decl): Rename inlined_function_flag to
10566 declared_inline_flag.
10567 * c-common.h (c_lang_decl): Remove.
10568 (DECL_ESTIMATED_INSNS): Remove.
10569 * c-tree.h (struct lang_decl): Don't include c_lang_decl.
10570 (DECL_DECLARED_INLINE_P): Remove.
10571 * c-decl.c (grokdeclarator): Update comment. With -finline-functions,
10572 do not reset DECL_DECLARED_INLINE_P. Don't use DID_INLINE_FUNC.
10573 (finish_function): Make uninlinable a bool. Fixup call to
10574 tree_inlinable_function_p() and fix some code style issues.
10575 * cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
10576 * cgraph.c (dump_cgraph): Likewise.
10577 * cgraphunit.c (cgraph_decide_inlining): Likewise
10578 (cgraph_finalize_compilation_unit): Likewise.
10579 Also update call to tree_inlinable_function_p().
10580 (cgraph_default_inline_p): Don't use DID_INLINE_FUNC. Instead
10581 look at DECL_DECLARED_INLINE and reverse logic.
10582 * print-tree.c (print_node): Likewise.
10583 * toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
10584 * tree-inline.h (tree_inlinable_function_p): Make a bool. Update
10585 prototype.
10586 * tree-inline.c (inlinable_function_p): Split up in this function to
10587 check for basic inlining inhibiting conditions, and new
10588 limits_allow_inlining() function. Warn if inlining is impossible
10589 because the inline candidate calls alloca or uses sjlj exceptions.
10590 (limits_allow_inlining): this new function to check if the inlining
10591 limits are satisfied. Throttle from currfn_max_inline_insns, not from
10592 MAX_INLINE_INSNS_SINGLE. The latter only makes sense if
10593 MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
10594 Update prototypes.
10595 (tree_inlinable_function_p): Make a bool. Update call to
10596 inlinable_function_p
10597 (expand_call_inline): Use limits_allow_inlining() when not in
10598 unit-at-a-time mode to decide on inlining. Don't use DID_INLINE_FUNC,
10599 instead see if the function was declared `inline'.
10600
10601 2003-08-05 Josef Zlomek <zlomekj@suse.cz>
10602
10603 * gcse.c (try_replace_reg): Fix updating of note.
10604
10605 2003-08-04 Roger Sayle <roger@eyesopen.com>
10606
10607 PR middle-end/11771
10608 * fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
10609 logic in negate_expr, i.e. we don't invert (A-B) for floating
10610 point types unless flag_unsafe_math_optimizations.
10611
10612 2003-08-04 Roger Sayle <roger@eyesopen.com>
10613
10614 * fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
10615 Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
10616 for floating point expressions with -ffast-math.
10617 (fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
10618 * expmed.c (expand_mult): Wrap long line. Expand x*2.0 as x+x.
10619
10620 2003-08-04 Roger Sayle <roger@eyesopen.com>
10621
10622 * c-common.c (flag_noniso_default_format_attributes): Delete.
10623 (built_in_attribute): Don't define/undefine DEF_FN_ATTR.
10624 (c_attrs_initialized): Delete.
10625 (c_common_nodes_and_builtins): Don't test c_attrs_initialized,
10626 always call c_init_attributes.
10627 (c_init_attributes): Don't define/undefine DEF_FN_ATTR. Don't
10628 set c_attrs_initialized when done.
10629 (c_common_insert_default_attributes): Delete.
10630 * c-common.h (flag_noniso_default_format_attributes): Delete.
10631 (c_coomon_insert_default_attributes): Delete prototype.
10632 * c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
10633 flag_noniso_default_format_attributes.
10634
10635 * c-decl.c (c_insert_default_attributes): Delete.
10636 * c-tree.h (c_insert_default_attributes): Delete prototype.
10637
10638 * attribs.c (decl_attributes): Don't call insert_default_attributes
10639 langhook. Update function description comment.
10640 * langhooks.h (lang_hooks): Remove insert_default_attributes field.
10641 * langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
10642 * c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
10643 * system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
10644
10645 * objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
10646 define.
10647
10648 2003-08-04 Richard Sandiford <rsandif@redhat.com>
10649
10650 * config/mips/mips.c (override_options): Disable -G on targets that
10651 have no .section support.
10652 (mips_select_section): Use default_select_section for such targets.
10653
10654 2003-08-04 Nathanael Nerode <neroden@gcc.gnu.org>
10655
10656 * fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
10657 * fixinc/inclhack.def (static_getrnge): Remove disabled hack.
10658 * fixinc/fixincl.x: Rebuild.
10659 * fixinc/tests/base/regexp.h: New test.
10660
10661 2003-08-04 Alexandre Oliva <aoliva@redhat.com>
10662
10663 * c-ppoutput.c (cb_line_change): Don't skip line changing while
10664 parsing macro arguments in the top-level context.
10665
10666 2003-08-04 Neil Booth <neil@daikokuya.co.uk>
10667
10668 * config.in: Remove HAVE_LSTAT.
10669 * configure, configure.in: Don't test for lstat.
10670
10671 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10672
10673 * opts.c (decode_options): Do language-specific initialization for
10674 the global diagnostic context.
10675 * langhooks-def.h (lhd_initialize_diagnostics): Declare.
10676 (LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
10677 (LANG_HOOKS_INITIALIZER): Adjust.
10678 * langhooks.h (struct lang_hooks): Add new field
10679 initialize_diagnostics.
10680 * langhooks.c (lhd_initialize_diagnostics): Define.
10681
10682 2003-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
10683
10684 * pretty-print.h: Adjust macro definitions.
10685 * pretty-print.c (pp_newline): Rename to pp_base_newline.
10686 (pp_character): Rename to pp_base_character.
10687 (pp_string): Rename to pp_base_string.
10688 * c-pretty-print.c (pp_buffer): Move to pretty-print.h
10689 (pp_newline): Likewise. Adjust.
10690 (pp_c_char): Adjust.
10691
10692 2003-08-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10693
10694 * builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
10695 BUILT_IN_LLABS): Move to miscellaneous section.
10696
10697 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
10698
10699 PR preprocessor/11534
10700 * cppexp.c (parse_defined): Warn only if -pedantic.
10701
10702 2003-08-03 Neil Booth <neil@daikokuya.co.uk>
10703
10704 * cppfiles.c (stack_file): Use file path.
10705
10706 2003-08-02 Roger Sayle <roger@eyesopen.com>
10707
10708 * builtin-types.def (BT_SSIZE): New primitive type.
10709 (BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
10710 BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
10711 BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
10712 BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
10713 * builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
10714 BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
10715 BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
10716 * builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
10717 few functions that define default attributes using it.
10718 * c-common.c (c_common_insert_default_attributes): Do nothing.
10719
10720 * doc/extend.texi: Document these "new" builtins.
10721
10722 2003-08-02 Kaz Kojima <kkojima@gcc.gnu.org>
10723
10724 * config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
10725 (LIB_SPEC): Set -lpthread always when -pthread set. Set -lieee
10726 when -mieee-fp set and -shared not set.
10727 (SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
10728
10729 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
10730
10731 * cppfiles.c (struct _cpp_file): Rename once_only_next to
10732 next_file. Remove import and pragma_once, add once_only.
10733 (find_file): Add new file structures to the all_files list.
10734 (should_stack_file): Mark #import-ed files once-only, and
10735 don't stack them if the file has already been stacked.
10736 (_cp_mark_file_once_only): Simplify.
10737 * cpphash.h (struct cpp_reader): Rename once_only_files
10738 to all_files. Rename saw_pragma_once to seen_once_only.
10739 (_cpp_mark_file_once_only): Update prototype.
10740 * cpplib.c (do_pragma_once): Update.
10741
10742 2003-08-02 Neil Booth <neil@daikokuya.co.uk>
10743
10744 * cppfiles.c (ENOTDIR): Remove.
10745 (open_file_in_dir): Rename find_file_in_dir. Handle errors
10746 other than ENOENT here.
10747 (once_only_file_p): Rename should_stack_file.
10748 (find_file, open_file_failed, read_file_guts): Report errors
10749 with full path name.
10750 (read_file): Move pch handling to should_stack_file.
10751 (should_stack_file): Handle PCH and once-only issues, and
10752 reading the file.
10753 (stack_file): Don't do file reads.
10754
10755 2003-08-02 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10756
10757 * libgcov.c (gcov_exit): Cleanup and fix.
10758 * profile.c (compute_value_histograms): Don't try to read profiles
10759 that are not present.
10760
10761 2003-08-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10762
10763 * builtins.def: Categorize.
10764
10765 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
10766 Mind fp rounding.
10767 (BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
10768
10769 2003-08-02 Andreas Tobler <a.tobler@schweiz.ch>
10770
10771 * config.gcc: Enable posix threads by default on darwin.
10772
10773 2003-08-01 Jakub Jelinek <jakub@redhat.com>
10774
10775 * cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
10776 even if nehedges1 is 0.
10777
10778 2003-08-01 Nathanael Nerode <neroden@gcc.gnu.org>
10779
10780 * fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
10781 fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
10782 fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
10783 and defintions.
10784
10785 * fixinc/inclhack.def (broken_cabs): Make matching more generous.
10786 * fixinc/fixincl.x: Regenerate.
10787 * fixinc/tests/base/math.h: Regenerate to match test_text change.
10788
10789 2003-08-01 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10790
10791 * ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
10792
10793 2003-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10794
10795 * except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
10796 for accesses to exc_ptr.
10797
10798 2003-08-01 Geoffrey Keating <geoffk@apple.com>
10799
10800 * doc/sourcebuild.texi (Front End Directory): Don't make references
10801 to libsubdir, it's not part of the interface to frontends.
10802 * doc/install.texi (Configuration): Help users read faster by saying
10803 that GCC's configure options are the standard autoconf ones.
10804 Mention --libdir. Update the default rules for finding the
10805 assembler. Don't use libsubdir since we haven't said what it means.
10806 (Specific): In the Solaris 7 notes, update the place to put the
10807 assembler.
10808 * doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
10809 * doc/cpp.texi (Search Path): Actually, the search path
10810 depends on libdir, which can relocate with cpp.
10811 * doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
10812 now a private interface between the Makefile and the driver.
10813
10814 2003-08-01 Richard Henderson <rth@redhat.com>
10815
10816 * system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
10817
10818 * varasm.c (lookup_constant_def): New function.
10819 * rtl.h (lookup_constant_def): Declare it.
10820 * dwarf2out.c (loc_descriptor_from_tree): Use it.
10821 Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
10822
10823 2003-08-01 Zack Weinberg <zack@codesourcery.com>
10824
10825 * c-decl.c (gettags, pushdecl_function_level): Delete.
10826 (last_function_parm_vars): Rename last_function_parm_others.
10827 (current_function_parm_vars): Rename current_function_parm_others.
10828 (struct c_scope): Rewrite comment explaining this data structure.
10829 Add names_last, blocks_last, parms_last fields. Rename
10830 incomplete_list to incomplete.
10831 (SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
10832 (poplevel): Ignore second argument. No need to nreverse
10833 anything. Restructure such that each list is processed
10834 exactly once. Use 'const location_t *locus' syntactic sugar
10835 variable where useful. Issue unused variable warnings
10836 ourselves, do not rely on function.c.
10837 (insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
10838 (pushdecl_top_level): Likewise. Don't call duplicate_decls.
10839 (implicitly_declare): decl cannot be error_mark_node.
10840 (undeclared_variable): Manipulate scope structure directly.
10841 (c_make_fname_decl): Likewise.
10842 (getdecls, c_init_decl_processing): Fix comment.
10843 (mark_forward_parm_decls): Use SCOPE_LIST_CONCAT. No need
10844 for 'last' variable.
10845 (grokparms): No need to nreverse parms list.
10846 (store_parm_decls_newstyle): Set up the parms_last and
10847 names_last fields of the new scope too.
10848 (store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
10849 on parms to begin with; check this under ENABLE_CHECKING. Set
10850 up parms_last.
10851 (check_for_loop_decls): Refer directly to current_scope->tags.
10852 Use consistent quote style in diagnostics.
10853 (c_write_global_declarations): The names list is not backward.
10854
10855 * c-common.h: Don't prototype gettags.
10856 * c-parse.in: Call poplevel with second argument 0 always.
10857
10858 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10859
10860 * builtins.def: Resort builtins.
10861
10862 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10863
10864 * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
10865 DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
10866 Prepend "__builtin_" onto NAME with string concatenation. Remove
10867 explicit "__builtin_" from each macro call.
10868
10869 Reformat entire file.
10870
10871 2003-08-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10872
10873 * builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
10874 ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
10875
10876 2003-08-01 Andreas Krebbel <krebbel1@de.ibm.com>
10877
10878 * config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
10879 CCL1, or CCL2 modes with floating point operations.
10880
10881 * config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
10882 "*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
10883 "*subdf3_cconly"): New insns.
10884 ("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
10885
10886 2003-08-01 Neil Booth <neil@daikokuya.co.uk>
10887
10888 * Makefile.in: Refine dependencies.
10889 * c-opts.c (c_common_handle_option): Do nothing for -Wimport.
10890 * c.opt: Update help for -Wimport.
10891 * cppfiles.c: Include hashtab.h. Update comments.
10892 (stack_file): Read the file before updating dependencies.
10893 (once_only_file_p): Be smarter about marking once-only files.
10894 (_cpp_mark_file_once_only): Correct the check for existence on
10895 the list.
10896 (open_file_failed): Use name not path, which is NULL.
10897 * cpphash.h: Don't include hashtab.h.
10898 (struct _cpp_file): Remove.
10899 (struct cpp_reader): Update.
10900 * cppinit.c (cpp_create_reader): Don't initialize warn_import.
10901 * cpplib.h (struct cpp_options): Remove warn_import.
10902 (cpp_simplify_path): Remove.
10903
10904 2003-08-01 Nathan Sidwell <nathan@codesourcery.com>
10905
10906 PR c++/11295
10907 * doc/extend.texi (Statement Expressions): Document C++ semantics.
10908
10909 2003-07-31 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
10910
10911 * config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
10912
10913 2003-07-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10914
10915 * builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
10916 throughout.
10917 * builtins.def: Likewise.
10918
10919 2003-07-31 Jason Merrill <jason@redhat.com>
10920
10921 * Makefile.in (bubblestrap): Don't require a previous full
10922 bootstrap.
10923
10924 * expr.c (mostly_zeros_p): No longer static.
10925 * tree.h: Declare it.
10926 * stmt.c (resolve_asm_operand_names): Don't copy the pattern
10927 unless we need to do substitutions.
10928
10929 2003-07-31 Roger Sayle <roger@eyesopen.com>
10930
10931 * fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
10932 pow(x,c)*x as pow(x,c+1) for constant values c. Optimize x*x
10933 as pow(x,2.0) when the latter will be expanded back into x*x.
10934 (fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
10935 * builtins.c (expand_builtin_pow): Ignore flag_errno_math as
10936 pow can never set errno when used with an integer exponent.
10937 Always use expand_powi when exponent is -1, 0, 1 or 2.
10938 (fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
10939 as 1.0/(x*x). This avoids unbounded recursion as we now prefer
10940 the pow forms of these expressions.
10941
10942 2003-07-31 Geoffrey Keating <geoffk@apple.com>
10943
10944 * Makefile.in (libexecdir): New.
10945 (libsubdir): Use gcc instead of gcc-lib.
10946 (libexecsubdir): New.
10947 (ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
10948 (DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
10949 gcc-lib.
10950 (installdirs): Make libexecsubdir.
10951 (install-common): Put executables in libexecsubdir.
10952 (itoolsdir): Use libexecsubdir.
10953 (itoolsdatadir): New.
10954 (install-mkheaders): Separate data files and executables.
10955 (install-collect2): Put executables in libexecsubdir.
10956 (uninstall): Remove libexecsubdir.
10957 * mkheaders.in: Update for new arrangement of files.
10958 (libexecdir): New.
10959 (libexecsubdir): New.
10960 (itoolsdir): Use libexecsubdir.
10961 (itoolsdatadir): New.
10962 * gcc.c (gcc_libexec_prefix): New.
10963 (STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
10964 (standard_exec_prefix_1): Use libexec.
10965 (standard_exec_prefix_2): New.
10966 (standard_libexec_prefix): New.
10967 (process_command): Update for new arrangement of files. Compute
10968 gcc_libexec_prefix. Update for change from gcc-lib to gcc.
10969
10970 2003-07-31 Nathanael Nerode <neroden@gcc.gnu.org>
10971
10972 * inclhack.def (stdio_va_list): Avoid bogus replacement which
10973 triggers on Interix.
10974 * fixincl.x: Regenerate.
10975
10976 2003-07-31 Jakub Jelinek <jakub@redhat.com>
10977
10978 * config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
10979 SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
10980
10981 2003-07-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10982
10983 * dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
10984
10985 2003-07-31 Per Bothner <pbothner@apple.com>
10986
10987 * opts.c (in_fnames, num_in_fnames): Moved here from c-opts.
10988 (add_input_filename): New function.
10989 (handle_options): Call add_input_filename directly instead of
10990 with a lang hook.
10991 * opts.h (in_fnames, num_in_fnames): Moved here.
10992 (add_input_filename): Declare.
10993 * c-decl.c: Need to #include opts.h.
10994 * Makefile.in (c-decl.o): Also depends on opts.h.
10995 * c-opts.c (in_fnames, num_in_fnames): Moved to opts.c.
10996 (c_common_handle_filename): Replaced by add_input_filename.
10997 * c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
10998 Remove.
10999 * langhooks.h (struct lang_hooks): Remove handle_filename hook.
11000 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
11001 (LANG_HOOKS_INITIALIZER): Remove use of LANG_HOOKS_HANDLE_FILENAME.
11002 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME): Remove macro.
11003
11004 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11005
11006 * combine.c (try_combine): Set JUMP_LABEL for newly created
11007 unconditional jump.
11008
11009 2003-07-31 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11010
11011 * fold-const.c (fold): Fold some comparisons of bit operations.
11012
11013 2003-07-31 Jan Hubicka <jh@suse.cz>
11014
11015 * cgraph.c (create_edge): Fix typo.
11016 * i386.c (pic_symbolic_operand): Reorder tests.
11017
11018 2003-07-31 Nathan Sidwell <nathan@codesourcery.com>
11019
11020 * doc/gcov.texi (Invoking Gcov): Describe output name mangling
11021 more fully.
11022 (Gcov Data Files): Update.
11023
11024 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11025
11026 * config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
11027 default.
11028
11029 * gthr-posix.c: New file.
11030 * gthr-posix.h: Define _REENTRANT if missing.
11031 Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
11032
11033 * config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
11034 by gthr-posix.o.
11035 * config/alpha/t-osf-pthread: New file.
11036
11037 * fixinc/inclhack.def (alpha_pthread): New fix.
11038 * fixinc/fixincl.x: Regenerate.
11039 * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
11040
11041 * doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
11042 warning.
11043 Fixes PR bootstrap/9330.
11044
11045 2003-07-31 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11046
11047 * configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
11048 without GNU ld.
11049 Update comment.
11050 * configure: Regenerate.
11051
11052 2003-07-31 Vladimir Makarov <vmakarov@redhat.com>
11053
11054 * sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
11055 setter.
11056
11057 2003-07-30 Roger Sayle <roger@eyesopen.com>
11058
11059 * builtins.def: Alphabetize.
11060
11061 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
11062
11063 * doc/c-tree.texi: Normalize spellings of "lowercase" and
11064 "uppercase".
11065 * doc/cpp.texi: Likewise.
11066 * doc/md.texi: Likewise.
11067 * doc/rtl.texi: Likewise.
11068 * doc/tm.texi: Likewise.
11069
11070 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
11071
11072 * objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
11073 (objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
11074 of cc1obj.
11075
11076 2003-07-30 Chris Demetriou <cgd@broadcom.com>
11077
11078 * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
11079 macros before defining them.
11080
11081 2003-07-31 Ulrich Weigand <uweigand@de.ibm.com>
11082
11083 * config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
11084 UNSPECV_BLOCKAGE): New constants.
11085 ("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
11086 "*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
11087 splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
11088 "fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
11089
11090 (all insns and expanders): Write output control string as brace block
11091 where appropriate. Remove \-escapes for doublequote characters.
11092
11093 2003-07-31 Jan Hubicka <jh@suse.cz>
11094
11095 * gcse.c (insert_store): Fix typo in previous patch.
11096
11097 2003-07-30 Neil Booth <neil@daikokuya.co.uk>
11098
11099 * cppfiles.c (stack_file, open_file_failed): Use path for deps.
11100
11101 2003-07-30 Andi Kleen <ak@muc.de>
11102
11103 * loop.c (check_dbra_loop): Allow LTU in the loop condition.
11104
11105 2003-07-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11106
11107 * combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
11108 * gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
11109 GCOV_N_VALUE_COUNTERS): New.
11110 * profile.c (compute_value_histograms): New static function.
11111 (branch_prob): Read back the value histograms.
11112 * rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
11113 * rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
11114 * value-prof.c: Add comment on reading the profile.
11115 * value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
11116 * doc/invoke.texi (-fprofile-values): Document behavior with
11117 -fbranch-probabilities.
11118
11119 2003-07-30 David Edelsohn <edelsohn@gnu.org>
11120
11121 * longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
11122
11123 2003-07-30 Ulrich Weigand <uweigand@de.ibm.com>
11124
11125 * config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
11126 symbolically.
11127
11128 2003-07-30 Jan Hubicka <jh@suse.cz>
11129
11130 * gcse.c (insert_store): Ignore fake edges.
11131
11132 * c-common.c (flag_vtable_gc): Kill.
11133 * c-common.g (flag_vtable_gc): Kill.
11134 * c-opts (c_common_handle_option): Kill.
11135 * c.opt (fvtable-gc): Kill.
11136 * final.c (final_scan_insn): Do not call assemble_vtable_entry.
11137 * output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11138 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
11139
11140 * invoke.texi (-ftable-gc): Kill documentation.
11141
11142 * tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
11143 just because function body is missing.
11144
11145 * i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
11146
11147 2003-07-30 Ranjit Mathew <rmathew@hotmail.com>
11148
11149 * unwind-sjlj.c: Fix typo in file description.
11150
11151 2003-07-30 Alan Modra <amodra@bigpond.net.au>
11152
11153 * calls.c (load_register_parameters): When shifting reg sized values
11154 to the msb, move the value to a reg first.
11155
11156 2003-07-29 Geoffrey Keating <geoffk@apple.com>
11157
11158 * cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
11159 * line-map.h (linemap_add): Update comments.
11160 * line-map.c (linemap_add): Update comments, interpret zero-length
11161 filename as "<stdin>".
11162
11163 2003-07-29 Nathanael Nerode <neroden@gcc.gnu.org>
11164
11165 * mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
11166
11167 2003-07-29 Zack Weinberg <zack@codesourcery.com>
11168
11169 * c-decl.c (last_function_parm_vars, current_function_parm_vars):
11170 New static variables.
11171 (struct c_scope): Add parms and warned_forward_parm_decls
11172 fields; remove parm_order.
11173 (storedecls, storetags): Delete.
11174 (poplevel): Also clear bindings on the parms chain.
11175 (pushdecl): Handle forward declarations of parameters, and
11176 chain PARM_DECLs on the parms list, not the names list.
11177 (lookup_name_current_level): Check for PARM_DECLs on the parms
11178 list too.
11179 (push_parm_decl): Don't update parm_order.
11180 (clear_parm_order): Rename mark_forward_parm_decls. Issue the
11181 warning, only once per parameter list, and set TREE_ASM_WRITTEN
11182 on the decls here. Then move the forward decls to the names list.
11183 (grokparms): Set last_function_parm_vars.
11184 (get_parm_info): Don't use gettags or getdecls. No need to
11185 extract non-parms from the parms list, or reorganize the parms
11186 list. Feed nonparms back in the TREE_TYPE of the list node
11187 returned. Issue only one error per parameter list for "void"
11188 appearing more than once in said parameter list. Collapse
11189 parmlist_tags_warning into this function to avoid double scan
11190 of tags list.
11191 (start_function): Set current_function_parm_vars.
11192 (store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
11193 directly. Get non-parms from current_function_parm_vars; no
11194 need to extract them from the parms chain. Properly bind tags
11195 in the new scope.
11196 (store_parm_decls_oldstyle): No need to extract non-parameters
11197 from the parms chain, nor to store them back afterward. Move
11198 declaration to top of function, restructure code reordering
11199 DECL_ARGUMENTS.
11200 (store_parm_decls): No need to save and restore warn_shadow.
11201 * c-parse.in: Don't call parmlist_tags_warning nor
11202 clear_parm_order. Call mark_forward_parm_decls when forward
11203 parm decls are encountered.
11204 * c-tree.h: Prototype mark_forward_parm_decls; not
11205 clear_parm_order or parmlist_tags_warning.
11206
11207 2003-07-29 Geoffrey Keating <geoffk@apple.com>
11208
11209 * c-common.c (allow_pch): Remove.
11210 * c-common.h (allow_pch): Remove.
11211 (c_common_no_more_pch): Declare.
11212 * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
11213 * c-pch.c: Include hosthooks.h.
11214 (c_common_valid_pch): Don't check allow_pch.
11215 (c_common_read_pch): Clear valid_pch to prevent reading PCH files.
11216 (c_common_no_more_pch): New.
11217 * ggc-common.c: Include hosthooks.h.
11218 (gt_pch_save): Call gt_pch_get_address.
11219 (gt_pch_restore): Call gt_pch_use_address.
11220 * hooks.c (hook_voidp_size_t_null): New.
11221 (hook_bool_voidp_size_t_false): New.
11222 * hooks.h (hook_voidp_size_t_null): New.
11223 (hook_bool_voidp_size_t_false): New.
11224 * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
11225 (HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
11226 (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
11227 HOST_HOOKS_GT_PCH_USE_ADDRESS.
11228 * hosthooks.h (struct host_hooks): Add gt_pch_get_address,
11229 gt_pch_use_address.
11230 * doc/hostconfig.texi (Host Common): Document
11231 HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
11232 * Makefile.in (c-pch.o): Depend on hosthooks.h.
11233 (ggc-common.o): Likewise.
11234
11235 * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
11236 (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
11237 (pch_address_space): New.
11238 (darwin_rs6000_gt_pch_get_address): New.
11239 (darwin_rs6000_gt_pch_use_address): New.
11240
11241 2003-07-29 Neil Booth <neil@daikokuya.co.uk>
11242
11243 PR preprocessor/11569
11244 PR preprocessor/11649
11245 * Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
11246 * cppfiles.c: Completely rewritten.
11247 * c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
11248 struct cpp_path is now struct cpp_dir.
11249 (remove_duplicates): Don't simplify path names.
11250 * c-opts.c (c_common_parse_file): cpp_read_next_file renamed
11251 cpp_stack_file.
11252 * cpphash.h: Include hashtab.h.
11253 (_cpp_file): Declare.
11254 (struct cpp_buffer): struct include_file is now struct _cpp_file,
11255 and struct cpp_path is now struct cpp_dir. Rename members.
11256 (struct cpp_reader): Similarly. New members once_only_files,
11257 file_hash, file_hash_entries, quote_ignores_source_dir,
11258 no_search_path, saw_pragma_once. Remove all_include_files and
11259 max_include_len. Make some members bool.
11260 (_cpp_mark_only_only): Renamed from _cpp_never_reread.
11261 (_cpp_stack_file): Renamed from _cpp_read_file.
11262 (_cpp_stack_include): Renamed from _cpp_execute_include.
11263 (_cpp_init_files): Renamed from _cpp_init_includes.
11264 (_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
11265 * cppinit.c (cpp_create_reader): Initialize no_search_path. Update.
11266 (cpp_read_next_file): Rename and move to cppfiles.c.
11267 (cpp_read_main_file): Update.
11268 * cpplib.c (run_directive): Update for renamed members.
11269 (do_include_common, _cpp_pop_buffer): Update.
11270 (do_import): Undeprecate #import.
11271 (do_pragma_once): Undeprecate. Use _cpp_mark_file_once_only.
11272 * cpplib.h: Remove file_name_map_list.
11273 (cpp_options): Remove map_list.
11274 (cpp_dir): Rename from cpp_path. New datatype for name_map.
11275 (cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
11276
11277 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
11278
11279 * Makefile.in: Make stamp-objdir safe for parallel builds.
11280
11281 2003-07-29 Phil Edwards <pme@gcc.gnu.org>
11282
11283 * Makefile.in (stmp-docobjdir): New target; ensure $docobjdir exists.
11284 (info): Depend on stmp-docobjdir.
11285
11286 2003-07-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11287
11288 * configure: Regenerate.
11289
11290 2003-07-29 Jan Hubicka <jh@suse.cz>
11291
11292 PR C++/11131
11293 * tree-inline.c (expand_call_inline): Always call inlinable_function_p
11294 in !unit-at-a-time mode.
11295
11296 2003-07-28 Geoffrey Keating <geoffk@apple.com>
11297
11298 * c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
11299 main function.
11300
11301 2003-07-28 Mark Mitchell <mark@codesourcery.com>
11302
11303 PR c++/11667
11304 * c-common.c (shorten_compare): Take into account differences
11305 between C and C++ representation for enumeration types.
11306 * tree.h (set_min_and_max_values_for_integral_type): Declare.
11307 * stor-layout.c (set_min_and_max_values_for_integral_type): New
11308 function, broken out from ...
11309 (fixup_signed_type): ... here and ...
11310 (fixup_unsigned_type): ... here.
11311
11312 2003-07-28 Zack Weinberg <zack@codesourcery.com>
11313
11314 * c-decl.c: Update commentary, adjust blank lines throughout.
11315 (struct c_scope): Fix indentation. Reorder members so
11316 outer-context pointers come first, booleans last.
11317 (duplicate_decls, define_label): Use a 'locus' variable for
11318 diagnostic locations in a few more places.
11319 (warn_if_shadowing): Un-split a conditional that fits on one line.
11320 (c_init_decl_processing): No need to clear current_scope and
11321 current_function_scope.
11322 (start_decl): Merge if/else if statements with same action.
11323 (push_parm_decl): Rename old_immediate_size_expand to use
11324 save_foo convention; save/restore around entire function.
11325 (grokdeclarator): Remove unnecessary braces.
11326
11327 2003-07-28 Hans-Peter Nilsson <hp@bitrange.com>
11328 Michael Culbertson <Michael.J.Culbertson@wheaton.edu>
11329
11330 * c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
11331 when warn_declaration_after_statement. Call pedwarn_c90, not
11332 pedwarn. Correct message: it's "ISO C90", not "ISO C89".
11333 * c-common.c (warn_declaration_after_statement): Define.
11334 * c-common.h (warn_declaration_after_statement): Declare.
11335 * c.opt (Wdeclaration-after-statement): New.
11336 * c-errors.c (pedwarn_c90): New function.
11337 * c-opts.c (c_common_handle_option) <case
11338 OPT_Wdeclaration_after_statement>: New.
11339 * c-tree.h (pedwarn_c90): Declare.
11340 * doc/invoke.texi (Option Summary): Document
11341 -Wdeclaration-after-statement.
11342 (Warning Options): Ditto.
11343
11344 2003-07-28 Jan Hubicka <jh@suse.cz>
11345
11346 * i386.md (memory attribute) Avoid accessing uninitialized memory
11347 for ishift1 type instructions.
11348
11349 2003-07-28 Jakub Jelinek <jakub@redhat.com>
11350
11351 * configure.in (--enable-checking): Add fold category.
11352 (ENABLE_FOLD_CHECKING): Define if requested.
11353 * configure: Rebuilt.
11354 * config.in: Rebuilt.
11355 * doc/install.texi: Document it.
11356 * fold-const.c: Include md5.h.
11357 [ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
11358 [ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
11359 print_fold_checksum): New functions.
11360
11361 * fold-const.c (fold): Never modify argument passed to fold, instead
11362 change a copy and return it.
11363 * convert.c (convert_to_integer): Likewise.
11364
11365 2003-07-27 Nathanael Nerode <neroden@gcc.gnu.org>
11366
11367 * fixinc/fixinc.svr4: Remove dead code. Remove now-unnecessary
11368 cleanup of junk after #else and #endif directives. Collapse repeated
11369 clauses into for statment.
11370
11371 * fixinc/fixincl.sh: GNU C -> GCC. Add usage comment.
11372
11373 2003-07-27 Zack Weinberg <zack@codesourcery.com>
11374
11375 * c-decl.c (struct c_scope): Remove keep_if_subblocks field.
11376 (keep_next_if_subblocks): Rename next_is_function_body.
11377 (pushlevel): Adjust commentary. Always set ->keep on the
11378 outermost level of a function. Don't set ->keep_if_subblocks.
11379 (poplevel): Adjust commentary. Don't look at ->keep_if_subblocks.
11380 (store_parm_decls): Adjust to match.
11381 (finish_function): Adjust to match.
11382 Call poplevel with all three arguments zero.
11383
11384 * c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
11385 New functions split out of store_parm_decls.
11386 Avoid unnecessary work. Use local variables consistently.
11387 (store_parm_decls): Likewise.
11388
11389 (finish_function): No need to set functionbody flag on call to
11390 poplevel.
11391 (struct language_function): Remove scope field.
11392 (c_push_function_context, c_pop_function_context): No need to
11393 save and restore current_scope.
11394
11395 2003-07-27 Nathan Sidwell <nathan@codesourcery.com>
11396
11397 * doc/extend.texi (Deprecated Features): Implicit typename is
11398 gone. Default args on types is going.
11399
11400 2003-07-26 J"orn Rennecke <joern.rennecke@superh.com>
11401
11402 * Makefile.in (ifcvt.o): Depend on target.h
11403 * ifcvt.c (target.h): Include.
11404 (if_convert): Don't call mark_loop_exit_edges if we can't
11405 modify jumps.
11406
11407 2003-07-26 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11408
11409 * doc/install.texi (Testing): Adjust required versions of DejaGnu.
11410
11411 2003-07-26 Richard Henderson <rth@redhat.com>
11412
11413 PR inline-asm/11676
11414 * cse.c (count_reg_usage): Handle asm_operands properly.
11415
11416 2003-07-26 Roger Sayle <roger@eyesopen.com>
11417
11418 * builtins.def (DEF_FALLBACK_BUILTIN): Delete.
11419 (DEF_EXT_FALLBACK_BUILTIN): Delete.
11420 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
11421 the regular DEF_EXT_LIB_BUILTIN macro.
11422 (BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
11423 the regular DEF_LIB_BUILTIN macro.
11424 (BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
11425 BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
11426 BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
11427 DEF_EXT_LIB_BUILTIN macro.
11428
11429 * c-decl.c (duplicate_decls): Remove code to handle builtin
11430 functions prototyped without an argument list.
11431
11432 2003-07-26 Danny Smith <dannysmith@users.sourceforge.net>
11433
11434 * config/i386/winnt.c: Revert 2003-07-08 change.
11435 (i386_pe_section_type_flags): Remove error_with_decl here too.
11436
11437 2003-07-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
11438
11439 * config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
11440 * config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
11441 * config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
11442 (v850_handle_data_area_attribute): Likewise.
11443
11444 2003-07-26 Geoffrey Keating <geoffk@apple.com>
11445
11446 * varasm.c (output_constant_def_contents): Use
11447 ASM_DECLARE_CONSTANT_NAME if defined.
11448 * doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
11449 * config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
11450 objects get at least one byte to prevent assembler problems.
11451 (ASM_DECLARE_CONSTANT_NAME): New.
11452
11453 * Makefile.in (libbackend.o): Remove options_.h.
11454 (mostlyclean): Likewise.
11455
11456 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
11457 insert a label at the end of an function under Mach-O.
11458
11459 * c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
11460
11461 2003-07-25 Aldy Hernandez <aldyh@redhat.com>
11462
11463 * config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
11464 equality.
11465 (spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
11466
11467 * config/rs6000/spe.h: Remove __ev64_opaque__ definition.
11468
11469 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11470
11471 * doc/passes.texi (Passes): Mention pretty-printing and
11472 diagnostic files.
11473
11474 2003-07-25 Nathan Sidwell <nathan@codesourcery.com>
11475
11476 * doc/extend.texi (Function Attributes): GNU C++ does now allow
11477 unused parameter decls.
11478 (Attribute Syntax): GNU C++ does not allow label attributes to be
11479 after the ':'.
11480
11481 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11482
11483 * objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
11484 (objc_declare_class): Likewise.
11485 (error_with_ivar): Likewise.
11486 (start_class): Likewise.
11487 (warn_with_method): Likewise.
11488
11489 2003-07-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
11490
11491 Remove pedwarn_with_decl, warning_with_decl and error_with_decl
11492 from GCC.
11493 * calls.c (try_to_integrate): Don't use xxx_with_decl.
11494 (expand_call): Likewise.
11495 * dwarfout.c (output_reg_number): Likewise.
11496 * expr.c (expand_expr): Likewise.
11497 * function.c (assign_temp): Likewise.
11498 (uninitialized_vars_warning): Likewise.
11499 (setjmp_args_warning): Likewise.
11500 (expand_function_end): Likewise.
11501 * stmt.c (fixup_gotos): Likewise.
11502 (warn_about_unused_variables): Likewise.
11503 (expand_end_bindings): Likewise.
11504 * stor-layout.c (layout_decl): Likewise.
11505 (place_field): Likewise.
11506 * toplev.c (check_global_declarations): Likewise.
11507 (rest_of_handle_inlining): Likewise.
11508 (default_tree_printer): New function.
11509 (general_init): Initialize diagnostic machinery before routing
11510 signals to the ICE machinery. Set default tree printer.
11511 * toplev.h (pedwarn_with_decl): Remove declaration.
11512 (warning_with_decl): Likewise.
11513 (error_with_decl): Likewise.
11514 (pedwarn): Remove attribute for the time being.
11515 * tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
11516 * varasm.c (named_section): Likewise.
11517 (make_decl_rtl): Likewise.
11518 (assemble_variable): Likewise.
11519 (merge_weak): Likewise.
11520 (declare_weak): Likewise.
11521
11522 * diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
11523 * diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
11524 (format_with_decl): Remove.
11525 (diagnostic_for_decl): Likewise.
11526 (pedwarn_with_decl): Likewise.
11527 (warning_with_decl): Likewise.
11528 (error_with_decl): Likewise.
11529 (diagnostic_initialize): Adjust.
11530 (diagnostic_count_diagnostic): Likewise.
11531 (announce_function): Likewise.
11532 (lhd_print_error_function): Likewise.
11533 (diagnostic_report_current_module): Likewise.
11534 (default_diagnostic_starter): Likewise.
11535 (diagnostic_report_diagnostic): Likewise.
11536 (default_diagnostic_finalizer): Likewise.
11537 (verbatim): Likewise.
11538 (error): Likewise.
11539 (warning): Likewise.
11540 * opts.c (common_handle_option): Likewise.
11541 * pretty-print.c: New file.
11542 * c-pretty-print.h (pp_base): Override.
11543 * c-pretty-print.c: Adjust use of macros throughout.
11544 (pp_buffer): New macro.
11545 (pp_newline): Likewise.
11546 * c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
11547 * Makefile.in (DIAGNOSTIC_H): New variable.
11548 (c-errors.o): Use it.
11549 (c-objc-common.o): Likewise.
11550 (c-common.o): Likewise.
11551 (c-opts.o): Likewise.
11552 (c-format.o): Likewise.
11553 (diagnostic.o): Likewise.
11554 (opts.o): Likewise.
11555 (toplev.o): Likewise.
11556 (rtl-error.o): Likewise.
11557 (dwarf2out.o): Likewise.
11558 (jump.o): Likewise.
11559 (pretty-print.o): New rule.
11560
11561 2003-07-24 Roger Sayle <roger@eyesopen.com>
11562
11563 * builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
11564 front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
11565 (BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
11566 from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
11567 (DEF_FRONT_END_LIB_BUILTIN): Delete.
11568 (DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
11569 (BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
11570
11571 * builtins.c (build_string_literal): New function to construct
11572 a char* pointer to a string literal.
11573 (expand_builtin_fputs): Change 2nd argument from "int ignore" to
11574 "rtx target" to be consistent with other expand_builtin_* functions.
11575 Change 3rd argument from "int unlocked" to "bool unlocked".
11576 (expand_builtin_printf): Rewrite of c_expand_builtin_printf from
11577 c-common.c to avoid front-end dependencies. Optimize printf("")
11578 as a no-op when the result isn't required. Handle embedded NULs
11579 in format string.
11580 (expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
11581 from c-common.c to avoid front-end dependencies. Likewise, optimize
11582 fprintf(fp,"") as a no-op when the result isn't required, evaluating
11583 fp for side-effects. Handle embedded NULs in format string.
11584 (expand_builtin_sprintf): Fix typo.
11585 (expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
11586 optimizing. Adjust calls of expand_builtin_fputs to match the API
11587 change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
11588 expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
11589 and BUILT_IN_FPRINTF using expand_builtin_fprintf.
11590
11591 * c-common.c (is_valid_printf_arglist): Delete.
11592 (c_expand_builtin): Delete.
11593 (c_expand_builtin_printf): Moved to builtins.c. Delete.
11594 (c_expand_builtin_fprintf): Moved to builtins.c. Delete.
11595 (c_expand_expr): No longer treat CALL_EXPRs specially.
11596 (CALLED_AS_BUILT_IN): Delete.
11597
11598 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11599
11600 PR optimization/11631
11601 * gcse.c (store_motion): Connect infinite loops to exit.
11602
11603 2003-07-24 Jason Merrill <jason@redhat.com>
11604
11605 * tree.h (boolean_type_node): Move from C/C++/Java frontends.
11606 (boolean_true_node, boolean_false_node): Likewise.
11607 (enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
11608 * tree.c (build_common_tree_nodes): Init boolean_type_node.
11609 (build_common_tree_nodes_2): Init boolean_{true,false}_node.
11610 * stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
11611 * c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
11612 (truthvalue_true_node): Renamed from boolean_true_node.
11613 (truthvalue_false_node): Renamed from boolean_false_node.
11614 * c-decl.c: Just set truthvalue_* to integer_*.
11615 * c-*.[ch]: s/boolean/truthvalue/. s/c_bool/boolean/.
11616
11617 2003-07-24 Roger Sayle <roger@eyesopen.com>
11618
11619 * c-decl.c (match_builtin_function_types): New subroutine of
11620 duplicate_decls to test whether a redeclaration of a builtin
11621 function is suitably close, i.e. the return type and all of
11622 the argument types have the same modes as the builtin expects.
11623 (duplicate_decls): Fuzzy type matching for builtin functions
11624 moved to match_builtin_function_types.
11625
11626 2003-07-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11627
11628 * cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
11629 flag correctly.
11630
11631 2003-07-24 Zack Weinberg <zack@codesourcery.com>
11632
11633 * c-decl.c: Search-and-replace change 'binding level' to
11634 'scope' in commentary.
11635 (struct binding_level): Now struct c_scope.
11636 (current_binding_level): Now current_scope.
11637 (free_binding_level): Now scope_freelist.
11638 (current_function_level): Now current_function_scope.
11639 (global_binding_level): Now global_scope.
11640 (make_binding_level): Now make_scope.
11641 (pop_binding_level): Now pop_scope.
11642
11643 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11644
11645 * configure.in (libgcc_visibility): Add missing whitespace.
11646
11647 2003-07-24 Richard Henderson <rth@redhat.com>
11648
11649 * libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
11650 __gcc_personality_v0.
11651
11652 2003-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11653
11654 * Makefile.in: Replace pwd by ${PWD_COMMAND}.
11655
11656 2003-07-24 Nathan Sidwell <nathan@codesourcery.com>
11657
11658 * doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
11659 documentation missed from my 2003-07-09 patch.
11660
11661 2003-07-24 Nathanael Nerode <neroden@gcc.gnu.org>
11662
11663 * aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
11664 it's not provided.
11665 * configure: Rebuild.
11666
11667 2003-07-24 Steven Bosscher <steven@gcc.gnu.org>
11668
11669 PR c/10602
11670 * c-typeck.c (type_lists_compatible_p): Do not compare
11671 arguments if one of them is an error_mark_node
11672
11673 2003-07-24 Alan Modra <amodra@bigpond.net.au>
11674
11675 * config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
11676 if current_function_calls_eh_return.
11677
11678 2003-07-23 Mark Mitchell <mark@codesourcery.com>
11679
11680 * doc/c-tree.texi (OFFSET_TYPE): Update description.
11681
11682 2003-07-23 Bob Wilson <bob.wilson@acm.org>
11683
11684 * config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
11685 * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
11686 __umodsi3, __modsi3): Increase frame size to 32.
11687
11688 2003-07-23 Geoffrey Keating <geoffk@apple.com>
11689
11690 * config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
11691 prototype.
11692
11693 2003-07-23 Mark Mitchell <mark@codesourcery.com>
11694
11695 * doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
11696
11697 PR optimization/10679
11698 * tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
11699
11700 2003-07-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11701
11702 PR target/11607 and PR target/11516
11703 * pa.md (extzv, extv, insv): Revert latter half of last patch.
11704
11705 2003-07-22 Mark Mitchell <mark@codesourcery.com>
11706
11707 * fold-const.c (force_fit_type): Handle OFFSET_TYPE.
11708 * varasam.c (output_constant): Likewise.
11709
11710 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
11711
11712 * alias.c: Fix comment formatting.
11713 * c-common.c: Likewise.
11714 * c-decl.c: Likewise.
11715 * c-opts.c: Likewise.
11716 * combine.c: Likewise.
11717 * cpplib.c: Likewise.
11718 * diagnostic.c: Likewise.
11719 * dojump.c: Likewise.
11720 * final.c: Likewise.
11721 * fold-const.c: Likewise.
11722 * gcc.c: Likewise.
11723 * gcse.c: Likewise.
11724 * ggc-page.c: Likewise.
11725 * jump.c: Likewise.
11726 * loop.c: Likewise.
11727 * mips-tfile.c: Likewise.
11728 * recog.c: Likewise.
11729 * regclass.c: Likewise.
11730 * regmove.c: Likewise.
11731 * tree.c: Likewise.
11732 * tree.h: Likewise.
11733
11734 2003-07-22 Per Bothner <pbothner@apple.com>
11735
11736 * line-map.c (add_line_map): Handle invalid LEAVE request.
11737 Fixes PR preprocessor/11361.
11738
11739 2003-07-22 Per Bothner <pbothner@apple.com>
11740
11741 * diagnostic.c.(diagnostic_report_current_module): Update to match
11742 2003-06-05 changes to push_srcloc and pop_srcloc.
11743
11744 2003-07-22 Wolfgang Bangerth <bangerth@dealii.org>
11745
11746 * doc/trouble.texi: Better document two-stage name lookup.
11747
11748 2003-07-22 Eric Christopher <echristo@redhat.com>
11749
11750 * config/s390.c (s390_valid_pointer_mode): New.
11751 (TARGET_VALID_POINTER_MODE): Use.
11752 (s390_emit_prologue): Add tpf profiling hooks.
11753 (s390_emit_epilogue): Ditto.
11754 * config/s390.h (MASK_TPF): New.
11755 (TARGET_TPF): Use.
11756 (POINTERS_EXTEND_UNSIGNED): Define.
11757 * config/s390.md (ptr_extend): New pattern.
11758
11759 2003-07-22 Zack Weinberg <zack@codesourcery.com>
11760
11761 * hashtable.c (approx_sqrt): Make static.
11762 * hashtable.h: Don't prototype approx_sqrt.
11763 * line-map.c (init_line_maps): Rename linemap_init.
11764 (free_line_maps): Rename linemap_free.
11765 (add_line_map): Rename linemap_add.
11766 (lookup_line): Rename linemap_lookup.
11767 (print_containing_files): Rename linemap_print_containing_files.
11768 * linemap.h: Update to match.
11769
11770 * cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
11771 linemap routines to use new names.
11772
11773 2003-07-16 Nathan Sidwell <nathan@codesourcery.com>
11774
11775 * c-common.c (handle_packed_attribute): Don't pack a struct via a
11776 typedef. Propagate packedness from a main variant.
11777
11778 2003-07-22 Nathanael Nerode <neroden@gcc.gnu.org>
11779
11780 * Makefile.in (install-common): Add dependency on installdirs.
11781
11782 2003-07-21 Alexandre Oliva <aoliva@redhat.com>
11783
11784 * c-common.c (c_common_type_for_mode): Return integer types for
11785 pointer modes.
11786
11787 2003-07-22 Geoffrey Keating <geoffk@apple.com>
11788
11789 * c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
11790 (finish_decl): Call maybe_apply_pragma_weak here.
11791 (grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
11792 TREE_PUBLIC and TREE_STATIC are decided.
11793 (start_function): Move call to maybe_apply_pragma_weak. Check that
11794 DECL_ASSEMBLER_NAME isn't set too early.
11795
11796 * cpplex.c (_cpp_process_line_notes): Mention option name in
11797 trigraphs warning.
11798
11799 2003-07-22 Kazu Hirata <kazu@cs.umass.edu>
11800
11801 * combine.c (if_then_else_cond): Simplify the comparison of
11802 rtx against -1, 0, and 1.
11803 * loop.c (check_dbra_loop): Likewise.
11804 * optabs.c (emit_conditional_move): Likewise.
11805 (emit_conditional_add): Likewise.
11806 * config/i386/i386.md (*movsi_or): Likewise.
11807 (*movdi_or_rex6): Likewise.
11808
11809 2003-07-22 Jan Hubicka <jh@suse.cz>
11810
11811 * cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
11812
11813 2003-07-21 Neil Booth <neil@daikokuya.co.uk>
11814
11815 * cppfiles.c (open_file_pch): Don't put unused entries in the
11816 splay tree. Remove dead code.
11817
11818 2003-07-21 Geoffrey Keating <geoffk@apple.com>
11819
11820 * c-common.h (num_in_fnames): Declare.
11821 (c_static_assembler_name): Move from here...
11822 * c-tree.h (c_static_assembler_name): ... to here.
11823 * c-opts.c: Don't include langhooks-def.h.
11824 (c_static_assembler_name): Move to c-decl.c.
11825 (num_in_fnames): Make externally visible.
11826 * c-decl.c: Include langhooks-def.h.
11827 (c_static_assembler_name): Move from c-opts.c.
11828 * Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
11829 (c-opts.o): Remove $(LANGHOOKS_DEF_H).
11830
11831 * c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
11832 when it's not needed.
11833
11834 2003-07-21 Jakub Jelinek <jakub@redhat.com>
11835
11836 * config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
11837 * config/rs6000/rs6000.c (rs6000_return_addr): Set it.
11838 (rs6000_emit_prologue): Save FPRs inline if set.
11839
11840 2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
11841
11842 * config/ia64/ia64.md (prefetch): Support predicate.
11843
11844 2003-07-21 Josef Zlomek <zlomekj@suse.cz>
11845
11846 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
11847 * rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
11848 table.
11849
11850 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
11851
11852 PR optimization/11536
11853 * unroll.c (loop_iterations): Do not replace a register holding
11854 the final value by its equivalent before the loop if it is not
11855 invariant.
11856
11857 2003-07-21 Dave Fluri <dave.fluri@onlink.net>
11858
11859 * doc/extend.texi: Fixes to spelling, grammar, and diction.
11860
11861 2003-07-21 Ben Elliston <bje@wasabisystems.com>
11862
11863 * doc/invoke.texi (Optimize Options): Replace "it's" with "its".
11864 (V850 Options): Spelling fixes.
11865
11866 2003-07-20 Lisa M. Goldstein <opus@gnu.org>
11867
11868 * doc/invoke.texi: Fixes to style, grammar and diction.
11869
11870 2003-07-20 Roger Sayle <roger@eyesopen.com>
11871
11872 * builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
11873 * system.h (SMALL_STACK): Poison obsolete target macro.
11874 * doc/tm.texi (SMALL_STACK): Remove target macro documentation.
11875
11876 2003-07-20 Phil Edwards <pme@gcc.gnu.org>
11877
11878 * configure.in: Cache the results of testing for cmp's capabilities.
11879 * configure: Regenerate.
11880
11881 2003-07-20 Mark Mitchell <mark@codesourcery.com>
11882
11883 PR debug/11279
11884 * dwarf2out.c (gen_enumeration_type_die): Remember that
11885 enumerators can be unsigned.
11886
11887 2003-07-19 Zack Weinberg <zack@codesourcery.com>
11888
11889 * c-decl.c (named_labels, shadowed_labels, label_level_chain)
11890 (push_label_level, pop_label_level): Kill.
11891 (struct binding_level): Rename level_chain to outer.
11892 Add outer_function field. Change parm_flag, function_body,
11893 keep, keep_if_subblocks to 1-bit bitfields of type bool.
11894 (current_function_level): New variable.
11895 (keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
11896 (keep_next_level, declare_parm_level, warn_if_shadowing):
11897 Update to match.
11898 (struct language_function): Kill named_labels, shadowed_labels fields.
11899 (c_init_decl_processing, start_function, c_push__function_context)
11900 (c_pop_function_context): No need to muck with named_labels nor
11901 shadowed_labels.
11902
11903 (make_binding_level): No need to clear the structure here.
11904 (pop_binding_level): Always operate on current_binding_level.
11905 Update current_function_level if necessary.
11906 (pushlevel): Don't clear named_labels. Update current_function_level
11907 if necessary. Use "true" and "false" where appropriate.
11908 (poplevel): Diagnose labels defined but not used, or vice
11909 versa, and clear out label-meanings leaving scope, while
11910 walking down the decls list, for all binding levels.
11911 Handle LABEL_DECLs appearing in the shadowed list.
11912 pop_binding_level takes no arguments.
11913 (pushdecl_function_level): Use current_function_level.
11914
11915 (make_label, bind_label): New static functions.
11916 (declare_label): New exported function.
11917 (lookup_label, define_label): Rewritten for new data structure.
11918 (shadow_label): Kill.
11919
11920 * c-tree.h: Prototype declare_label; don't prototype
11921 push_label_level, pop_label_level, nor shadow_label.
11922 * c-parse.in: Remove all calls to push_label_level and
11923 pop_label_level. Use declare_label for __label__ decls.
11924
11925 * doc/extend.texi: Clarify that __label__ can be used to
11926 declare labels with local scope in any nested block, not
11927 just statement expressions. Cross-reference nested functions
11928 section from local labels section.
11929
11930 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11931
11932 * sched-rgn.c (find_rgns): Initialize current_edge correctly.
11933
11934 2003-07-19 Phil Edwards <pme@gcc.gnu.org>
11935
11936 * doc/makefile.texi (restrap, profiledbootstrap): Document targets.
11937
11938 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11939
11940 * fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
11941 fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
11942
11943 2003-07-19 Ulrich Weigand <uweigand@de.ibm.com>
11944
11945 * config/s390/s390.c (legitimize_pic_address): Access local symbols
11946 relative to the GOT instead of relative to the literal pool base.
11947 (s390_output_symbolic_const): Handle new GOT-relative accesses.
11948 * config/s390/s390.md ("call"): Access local functions and PLT stubs
11949 relative to the GOT instead of relative to the literal pool base.
11950 ("call_value"): Likewise.
11951 ("call_value_tls"): Likewise.
11952
11953 * config/s390/s390.c (s390_chunkify_start): Remove pool anchor
11954 reloading. Support LTREL_BASE / LTREL_OFFSET construct.
11955 (s390_chunkify_finish): Likewise.
11956 (s390_chunkify_cancel): Likewise.
11957 (s390_reorg): Adapt caller.
11958 (find_base_register_in_addr,
11959 find_base_register_ref, replace_base_register_ref): Delete.
11960 (find_ltrel_base, replace_ltrel_base): New functions.
11961 (find_constant_pool_ref): Handle LTREL_BASE unspecs.
11962 (s390_decompose_address): Handle LTREL_BASE unspecs. Optimize
11963 base vs. index register usage.
11964 (struct constant_pool): Remove 'anchor'.
11965 (s390_add_anchor): Delete.
11966 (s390_dump_pool): Remove anchor handling.
11967 * config/s390/s390.md ("reload_anchor"): Remove.
11968
11969 * config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
11970 (s390_load_got): New function. Use LTREL_BASE/OFFSET.
11971 (s390_emit_prologue): Use it.
11972 * config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
11973 "builtin_setjmp_receiver"): Cleanup. Use s390_load_got. Do not
11974 hard-code register 14.
11975 * config/s390/s390-protos.h (s390_load_got): Declare.
11976
11977 * config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
11978 Support TImode constants.
11979 * config/s390/s390.md ("consttable_ti"): New.
11980 ("consttable_si", "consttable_di"): Handle TLS symbols correctly.
11981
11982 * config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
11983 UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
11984 UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
11985 UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
11986 UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
11987 New symbolic constants.
11988 ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
11989 "consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
11990 "pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
11991 "pool", "literal_pool_31", "literal_pool_64"): Cleanup. Use
11992 symbolic UNSPEC values.
11993 * config/s390/s390.c (larl_operand, s390_short_displacement,
11994 bras_sym_operand, s390_cannot_force_const_mem,
11995 s390_delegitimize_address, s390_decompose_address,
11996 legitimize_pic_address, s390_output_symbolic_const,
11997 s390_function_profiler): Use symbolic UNSPEC values.
11998
11999 2003-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12000
12001 * alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
12002 c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
12003 c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
12004 collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
12005 cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
12006 cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
12007 dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
12008 fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
12009 gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
12010 genemit.c genextract.c genoutput.c genrecog.c gensupport.c
12011 ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
12012 integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
12013 loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
12014 postreload.c prefix.c print-tree.c protoize.c ra-build.c
12015 ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
12016 regmove.c regrename.c reload.c reload1.c reorg.c resource.c
12017 sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
12018 simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
12019 tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
12020 varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
12021 casts.
12022
12023 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12024
12025 * c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
12026 * toplev.h (warning): Remove attribute.
12027
12028 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12029
12030 * c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
12031 (pop_label_level): Likewise.
12032 (duplicate_decls): Likewise.
12033 (implicitly_declare): Likewise.
12034 (shadow_label): Likewise.
12035 (start_decl): Likewise.
12036 (finish_decl): Likewise.
12037 (grokdeclarator): Likewise.
12038 (get_parm_info): Likewise.
12039 (detect_field_duplicates): Likewise.
12040 (finish_struct): Likewise.
12041 (start_function): Likewise.
12042 (store_parm_decls): Likewise.
12043 (finish_function): Likewise.
12044 (c_expand_body_1): Likewise.
12045 (check_for_loop_decls): Likewise.
12046 (merge_translation_unit_decls): Likewise.
12047
12048 2003-07-19 Neil Booth <neil@daikokuya.co.uk>
12049
12050 * common.opt: Document --param.
12051 * opts.c (columns, undocumented_msg): New.
12052 (print_help): Get number of columns from environment. Print
12053 --param help. Tweak newline handling.
12054 (print_param_help): New.
12055 (print_filtered_help): Better handling of duplicates. Complain
12056 about undocumented switches.
12057 (print_switch): New.
12058 (wrap_help): Improve wrapping, use COLUMNS.
12059 * opts.sh: Ignore comments in records.
12060 * params.def: Fix typos and remove trailing periods.
12061 * toplev.c (display_help): Don't dump --param help.
12062 * doc/sourcebuild.texi: Update.
12063
12064 2003-07-18 Richard Henderson <rth@redhat.com>
12065
12066 PR target/11556
12067 * optabs.c (prepare_operand): Fail gracefully instead of abort
12068 if the predicate doesn't satisfy.
12069 (gen_cond_trap): Allow prepare_operand to fail.
12070
12071 2003-07-19 Gabriel Dos Reis <gdr@integrable-solutions.net>
12072
12073 * c-common.c: Don't undefine GCC_DIAG_STYLE.
12074 (fname_decl): Don't use xxx_with_decl.
12075 (c_add_case_label): Likewise.
12076 (handle_section_attribute): Likewise.
12077 (handle_alias_attribute): Likewise.
12078 (handle_no_instrument_function_attribute): Likewise.
12079 (handle_no_limit_stack_attribute): Likewise.
12080 * c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
12081 * c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
12082
12083 2003-07-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12084
12085 * Makefile.in (ifcvt.o): Add cfgloop.h.
12086 * basic-block.h (EDGE_LOOP_EXIT): New flag.
12087 * cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
12088 * ifcvt.c: Include cfgloop.h.
12089 (mark_loop_exit_edges): New static function.
12090 (if_convert): Call it.
12091 (find_if_header): Ignore branches out of loops.
12092
12093 2003-07-18 Kazu Hirata <kazu@cs.umass.edu>
12094
12095 * combine.c (simplify_comparison): Don't share rtx when converting
12096 (ne (and (not X) 1) 0) to (eq (and X 1) 0).
12097
12098 2003-07-18 David Edelsohn <edelsohn@gnu.org>
12099
12100 * config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
12101 (AGGREGATES_PAD_UPWARD_ALWAYS): Define.
12102 (MUST_PASS_IN_STACK): Define.
12103 (BLOCK_REG_PADDING): Define.
12104
12105 2003-07-18 Richard Henderson <rth@redhat.com>
12106
12107 * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
12108 to skip the addr_vec.
12109
12110 2003-07-18 Alexandre Oliva <aoliva@redhat.com>
12111
12112 * combine.c (combinable_i3pat): Don't forbid occurrences of
12113 i2dest or i1dest in inner_dest if inner_dest is a mem.
12114
12115 2003-07-18 Jan Hubicka <jh@suse.cz>
12116
12117 * cgraph.c (cgraph_remove_node): Clear the hash table slot.
12118
12119 2003-07-17 Jakub Jelinek <jakub@redhat.com>
12120
12121 PR target/11087
12122 * loop.c (basic_induction_var): Check if convert_modes emitted any
12123 instructions. Remove them and return 0 if so.
12124
12125 2003-07-18 Eric Botcazou <ebotcazou@libertysurf.fr>
12126
12127 PR optimization/11083
12128 * toplev.c (rest_of_handle_addresof): Rename into
12129 rest_of_handle_addressof. Delete unreachable blocks
12130 if dead edges were purged after the addressof pass.
12131
12132 2003-07-18 Neil Booth <neil@daikokuya.co.uk>
12133
12134 * Makefile.in, configure, configure.in: Remove handling of
12135 lang-options.h and options_.h.
12136 * toplev.c (struct lang_opt, documented_lang_options): Remove.
12137 (display_help): Don't use documented_lang_options.
12138
12139 2003-07-17 Zack Weinberg <zack@codesourcery.com>
12140
12141 * c-decl.c (pushdecl_function_level): Make static, return nothing.
12142 (kept_level_p): Fold into poplevel.
12143 (undeclared_variable): Moved here from c-typeck.c. Export.
12144 * c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
12145 (undeclared_variable): Prototype here. Don't prototype
12146 kept_level_p nor pushdecl_function_level.
12147 * c-parse.in: Change first argument to poplevel from
12148 "kept_level_p()" to "KEEP_MAYBE".
12149 * c-typeck.c (undeclared_variable): Moved to c-decl.c.
12150
12151 2003-07-17 Roger Sayle <roger@eyesopen.com>
12152
12153 * simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
12154 commutative operands instead of modifying the RTL in-place.
12155
12156 2003-07-17 Mark Mitchell <mark@codesourcery.com>
12157
12158 PR optimization/11557
12159 * calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
12160 unless we know which function is being called.
12161
12162 2003-07-17 Roger Sayle <roger@eyesopen.com>
12163
12164 * cse.c (fold_rtx): Use swap_commutative_operands_p to determine
12165 whether to reorder the operands of a commutative binary operator.
12166
12167 2003-07-17 Roger Sayle <roger@eyesopen.com>
12168
12169 * fold-const.c (const_binop): Avoid performing the FP operation at
12170 compile-time, if either operand is NaN and we honor signaling NaNs,
12171 or if we're dividing by zero and either flag_trapping_math is set
12172 or the desired mode doesn't support infinities.
12173 (fold_initializer): New function to fold an expression ignoring any
12174 potential run-time exceptions or traps.
12175 * tree.h (fold_initializer): Prototype here.
12176 * c-typeck.c (build_binary_op): Move to the end of the file so
12177 that intializer_stack is in scope. If constructing an initializer,
12178 i.e. when initializer_stack is not NULL, use fold_initializer to
12179 fold expressions.
12180 * simplify-rtx.c (simplify_binary_operation): Likewise, avoid
12181 performing FP operations at compile-time, if they would raise an
12182 exception at run-time.
12183
12184 2003-07-17 Geoffrey Keating <geoffk@apple.com>
12185
12186 PR 11498
12187 * Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
12188 (langhooks.o): Add $(GGC_H), gt-langhooks.h.
12189 (GTFILES): Add langhooks.c.
12190 (gt-langhooks.h): New.
12191 * c-common.h (c_static_assembler_name): Prototype.
12192 * c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12193 * objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
12194 * c-opts.c: Include langhooks-def.h.
12195 (c_static_assembler_name): New.
12196 * langhooks.c: Include ggc.h. Include gt-langhooks.h.
12197 (var_labelno): New.
12198 (lhd_set_decl_assembler_name): Give static objects with context
12199 unique names.
12200 * varasm.c (var_labelno): Delete.
12201 (make_decl_rtl): Don't change the assembler name once it's set.
12202
12203 * c-opts.c (this_input_filename): New.
12204 (finish_options): Take new parameter, name of file being compiled.
12205 Update callers. Set this_input_filename.
12206 (push_command_line_include): Use this_input_filename not
12207 main_input_filename.
12208
12209 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
12210
12211 * Makefile.in: Depend .pot generation on options.c.
12212 * po/exgettext: Add an extra_files variable containing additional
12213 files to scan.
12214
12215 2003-07-17 Zack Weinberg <zack@codesourcery.com>
12216
12217 * objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
12218 c_write_global_declarations.
12219
12220 * c-decl.c: Fix typos in several comments. Remove all
12221 #if 0 blocks; reindent as needed. Remove unused argument
12222 to declare_parm_level; all callers changed.
12223 * c-parse.in: Update calls to declare_parm_level. Avoid
12224 issuing a double warning in some circumstances.
12225 * c-typeck.c: Update calls to declare_parm_level.
12226 * c-tree.h: Update prototype of declare_parm_level.
12227
12228 * c-pragma.c (apply_pragma_weak): Don't complain about a
12229 redundant #pragma weak.
12230
12231 * objc/objc-act.c (forward_declare_categories,
12232 build_selector_reference_decl, build_class_reference_decl,
12233 build_objc_string_decl, synth_forward_declarations,
12234 build_protocol_reference): Set TREE_PUBLIC on synthetic
12235 forward decl to 0, consistent with eventual definition.
12236 Correct comments to match.
12237
12238 * fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
12239 in regexp that don't form a range expression.
12240 * fixinc/fixincl.def: Regenerate.
12241
12242 2003-07-17 Richard Henderson <rth@redhat.com>
12243
12244 PR target/10907
12245 * config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
12246 even with !TARGET_CONST_GP.
12247 (ia64_function_ok_for_sibcall): Reject non-local functions.
12248
12249 2003-07-17 Steven Bosscher <steven@gcc.gnu.org>
12250
12251 * c-common.c (c_estimate_num_insns_1): Don't handle
12252 METHOD_CALL_EXPR.
12253 * expr.c (safe_from_p): Likewise.
12254 * gengtype.c (adjust_field_tree_exp): Likewise.
12255 * stmt.c (warn_if_unused_value): Likewise
12256 * tree.c (first_rtl_op): Likewise.
12257 * tree.def: Don't define METHOD_CALL_EXPR.
12258 * java/lang.c (java_estimate_num_insns_1): Don't handle
12259 METHOD_CALL_EXPR.
12260
12261 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
12262
12263 PR other/11466
12264 * doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
12265 and its restrictions for the SPARC64 port.
12266 Move the entry of "-mimpure-text" before that of "-mv8".
12267
12268 2003-07-17 Eric Botcazou <ebotcazou@libertysurf.fr>
12269 Phil Edwards <phil@jaj.com>
12270
12271 * doc/install.texi (*-*-solaris2*): Document the step-by-step
12272 procedure to bootstrap and install.
12273 Document the preference for the legacy Sun tools in /usr/bin
12274 over the POSIX tools in /usr/xpg4/bin for the build process.
12275
12276 2003-07-17 Neil Booth <neil@daikokuya.co.uk>
12277
12278 * c.opt: Document Uncodumented; use it. Document ObjC options.
12279 * opts.c (print_filtered_help): Skip undocumented switches.
12280 * opts.h (CL_UNDOCUMENTED): New.
12281 * opts.sh: Handle Undocumented.
12282 * toplev.c (documented_lang_options): Prevent its becoming empty.
12283 objc:
12284 * lang-options.h: Remove.
12285
12286 2003-07-16 Ulrich Weigand <uweigand@de.ibm.com>
12287
12288 * loop.c (check_ext_dependent_givs): Pass const struct loop *
12289 instead of struct loop_info * as argument. Accept BIVs with
12290 increment +/- 1 provided there is a friendly exit test against
12291 a loop-invariant value.
12292 (strength_reduce): Adapt call to check_ext_dependent_givs.
12293
12294 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
12295 Con Bradley <con.bradley@superh.com>
12296
12297 * sh-protos.h (sh_get_pr_initial_val): Declare.
12298 * sh.c (regno_reg_class): Make its elements type enum reg_class.
12299 (output_stack_adjust): Remove emit_fn argument. Add epilogue_p
12300 and live_regs_mask arguments. Changed all callers.
12301 (save_schedule_s): New structure.
12302 (save_schedule): New typedef.
12303 (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
12304 (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
12305 In interrupts handlers, also save registers that are usually
12306 partially saved, and make sure there is at least one general purpose
12307 register saved if a target register needs saving.
12308 Add casts in comparisons to avoid warnings.
12309 (sh_media_register_for_return): return -1 for interrupt handlers.
12310 (MAX_SAVED_REGS, MAX_TEMPS): New defines.
12311 (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp
12312 registers used are available.
12313 Set RTX_FRAME_RELATED_P where appropriate.
12314 Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
12315 (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
12316 (initial_elimination_offset): Likewise.
12317 * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
12318 (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
12319 (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
12320 (XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
12321 (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
12322 and for target registers.
12323 (RETURN_IN_MEMORY): Add parentheses to avoid warnings.
12324 (regno_reg_class): Make its elements type enum reg_class.
12325 (CONSTRAINT_LEN): Don't use isdigit.
12326 (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
12327 (FUNCTION_ARG): Add parentheses to avoid warnings.
12328 (RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
12329 (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
12330 (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
12331 (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
12332 * sh.md (xordi3+1): Remove unused variable regno.
12333 (return_media): Check that tr0 is available before using it.
12334
12335 2003-07-16 Neil Booth <neil@daikokuya.co.uk>
12336
12337 * c.opt: Document more options.
12338
12339 2003-07-16 Roger Sayle <roger@eyesopen.com>
12340
12341 * combine.c (subst): Also handle (subreg (const_double ...)) case
12342 if created by a substitution, by using the original inner mode.
12343
12344 2003-07-16 Roger Sayle <roger@eyesopen.com>
12345
12346 * simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
12347 to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
12348 (simplify_rtx): Likewise. Simplify (lo_sum (high X) X) as X.
12349
12350 2003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
12351
12352 * doc/install.texi (--without-headers): New.
12353
12354 Partial Fix PR/10129
12355 * config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
12356 (machopic_output_function_base_name): New; print the true pic label.
12357 (machopic_classify_ident): Pic Base is always a defined data.
12358 * config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
12359 * config/darwin-proto.h (machopic_output_function_base_name): Prototype.
12360
12361 * gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
12362 if they are not floating point registers.
12363
12364 PR c/10962
12365 * ggc.h: Add header guards.
12366 * c-decl.c (finish_struct): Sort fields if
12367 number greater than 15 and there are no
12368 anonymous structs/unions.
12369 * c-common.h: Include ggc.h.
12370 (sorted_fields_type): New struct.
12371 (field_decl_cmp): New prototype.
12372 (resort_sorted_fields): New prototype.
12373 (DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
12374 * c-tree.h: (lang_type): Use pointer to sorted_fields_type
12375 as s, removing other fields.
12376 * c-typeck.c (lookup_field): Use s in lang_type.
12377 These were mostly moved from cp/class.c:
12378 * c-common.c (field_decl_cmp): New static function.
12379 (field_decl_cmp): New function.
12380 (resort_sorted_fields): New function.
12381
12382 2003-07-16 Geoffrey Keating <geoffk@apple.com>
12383
12384 * config/darwin.c (machopic_select_section): Use decl_readonly_section
12385 to do most of the work.
12386
12387 2003-07-16 Hans-Peter Nilsson <hp@bitrange.com>
12388
12389 * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
12390 * config/mmix/mmix.c: Convert functions to ISO C90.
12391 (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
12392 formatting.
12393 (mmix_get_hard_reg_initial_val): Tweak section head comment.
12394
12395 2003-07-16 J"orn Rennecke <joern.rennecke@superh.com>
12396
12397 * c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
12398
12399 2003-07-16 Jakub Jelinek <jakub@redhat.com>
12400
12401 * unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
12402 (uw_update_context_1): Use it.
12403 * config/rs6000/rs6000.c (insn_after_throw): Remove.
12404 (rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
12405 in parent frame if _Unwind_* called directly instead of through
12406 .plt.
12407 (rs6000_emit_eh_toc_restore): Remove.
12408 (rs6000_emit_prologue): Update stack pointer before doing any saving
12409 if current_function_calls_eh_return. Generate unwind info for $r2.
12410 (rs6000_emit_epilogue): Restore stack pointer after doing all
12411 restoring if current_function_calls_eh_return. Restore $r2.
12412 * config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
12413 * config/rs6000/rs6000.md (eh_return): Remove call to
12414 rs6000_emit_eh_toc_restore.
12415 * config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
12416 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
12417
12418 2003-07-15 Jakub Jelinek <jakub@redhat.com>
12419
12420 * expr.c (emit_block_move): Don't move anything if size is const 0.
12421 (clear_storage): Test against const0_rtx instead of comparing INTVAL
12422 against 0.
12423
12424 2003-07-15 David S. Miller <davem@redhat.com>
12425
12426 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
12427 emit nop if the last real insn is CALL_INSN.
12428
12429 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
12430
12431 * config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
12432 as "nul".
12433 * config/i386/xm-mingw32.h: Change GNU CC to GCC.
12434
12435 2003-07-16 Danny Smith <dannysmith@users.sourceforge.net>
12436
12437 * config/i386/winnt.c (associated_type): Artificial methods are not
12438 affected by the import/export status of their class unless they are
12439 COMDAT.
12440 (i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
12441
12442 * config/i386/winnt.c: Fix GCC copyright comment.
12443
12444 2003-07-16 Gabriel Dos Reis <gcc@integrable-solutions.net>
12445
12446 PR c++/11531
12447 * diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
12448 not recursing on hard error.
12449 (diagnostic_for_decl): Likewise.
12450 * diagnostic.def: Rearrange.
12451
12452 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
12453
12454 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
12455 If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
12456
12457 2003-07-15 J"orn Rennecke <joern.rennecke@superh.com>
12458 Richard Henderson <rth@redhat.com>
12459
12460 * unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
12461 to decide if to access a _Unwind_Ptr or a _Unwind_Word.
12462 (_Unwind_SetGR): Likewise.
12463 (_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
12464 (Unwind_SpTmp): New typedef.
12465 (uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
12466 (uw_update_context): Use _Unwind_GetPtr.
12467 (init_dwarf_reg_size_table): Move above uw_init_context_1.
12468 (uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
12469 Use _Unwind_SetSpColumn.
12470 (uw_install_context_1): Don't initialize dwarf_reg_size_table.
12471 Use _Unwind_GetPtr.
12472
12473 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
12474
12475 * c.opt: Document more options.
12476 * toplev.c (documented_lang_options): Remove all local help strings.
12477
12478 2003-07-15 Mark Mitchell <mark@codesourcery.com>
12479
12480 PR debug/11473
12481 * dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
12482 base classes.
12483
12484 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
12485
12486 PR target/10795
12487 * config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
12488 swap comparison operands if doing so would generate an
12489 unrecognizable insn.
12490
12491 2003-07-15 Eric Botcazou <ebotcazou@libertysurf.fr>
12492
12493 PR optimization/11320
12494 * sched-int.h (struct deps) [reg_conditional_sets]: New field.
12495 (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
12496 * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
12497 current_sched_info->compute_jump_reg_dependencies. Record which
12498 registers are used and which registers are set by the jump.
12499 Clear deps->reg_conditional_sets after a barrier.
12500 Set deps->reg_conditional_sets if the insn is a COND_EXEC.
12501 Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
12502 (init_deps): Initialize reg_conditional_sets.
12503 (free_deps): Clear reg_conditional_sets.
12504 * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
12505 Mark registers live on entry of the fallthrough block and conditionally
12506 set as set by the jump. Mark registers live on entry of non-fallthrough
12507 blocks as used by the jump.
12508 * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
12509 Mark new parameters as unused.
12510
12511 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
12512
12513 * doc/invoke.texi: Resync MIPS -march documentation.
12514
12515 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
12516
12517 * config/mips/mips.h (PROCESSOR_R9000): New processor_type.
12518 (TARGET_MIPS9000, TUNE_MIPS9000): New macros.
12519 (GENERATE_MULT3_SI): True for TARGET_MIPS9000.
12520 * config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
12521 (mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
12522 (mips_issue_rate): Handle PROCESSOR_R9000.
12523 (mips_use_dfa_pipeline_interface): Likewise.
12524 * config/mips/9000.md: New file.
12525 * config/mips/mips.md: Include it.
12526 (define_attr cpu): Add r9000.
12527 (mulsi3_mult3): Use "mul" for rm9000 code.
12528
12529 2003-07-15 Stan Cox <scox@redhat.com>
12530
12531 * config/mips/mips.h (PROCESSOR_R7000): New processor_type.
12532 (TARGET_MIPS7000, TUNE_MIPS7000): New macros.
12533 (GENERATE_MULT3_SI): True for TARGET_MIPS7000.
12534 * config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
12535 (mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
12536 (mips_issue_rate): Handle PROCESSOR_R7000.
12537 (mips_use_dfa_pipeline_interface): Likewise.
12538 * config/mips/7000.md: New file.
12539 * config/mips/mips.md: Include it.
12540 (define_attr cpu): Add r7000.
12541 (mulsi3_mult3): Use "mul" for rm7000 code.
12542
12543 2003-07-15 Richard Sandiford <rsandifo@redhat.com>
12544
12545 * config/mips/mips.md (define_attr type): Add condmove. Use it for
12546 the conditional move patterns.
12547 * config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
12548 Check for condmove type.
12549 (ir_vr54_arith): Add move type.
12550 * config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
12551 * config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
12552
12553 2003-07-15 Neil Booth <neil@daikokuya.co.uk>
12554
12555 * c-opts.c (print_help): Remove.
12556 (c_common_handle_option): Don't handle --help.
12557 * c.opt: Document some options.
12558 (--help): Remove.
12559 * opts.c (print_filtered_help): New.
12560 (print_help): Use it.
12561
12562 2003-07-14 Geoffrey Keating <geoffk@apple.com>
12563
12564 * c-common.c (c_common_type_for_mode): Handle V4DFmode.
12565 * tree.c: (build_common_tree_nodes_2): Likewise.
12566 * tree.h (enum tree_index): Add TI_V4DF_TYPE.
12567 (V4DF_type_node): New.
12568
12569 * c-opts.c (push_command_line_include): Don't free deferred_opts,
12570 we'll need it.
12571 (finish_options): Reset init_cursor.
12572
12573 2003-07-15 Kazu Hirata <kazu@cs.umass.edu>
12574
12575 * expr.c (expand_assignment): Remove an unused argument
12576 SUGGEST_REG.
12577 * expr.h: Update the prototype.
12578 * function.c: Update the callers.
12579 * stmt.c: Likewise.
12580
12581 2003-07-14 Mark Mitchell <mark@codesourcery.com>
12582
12583 PR debug/11098
12584 * integrate.c (copy_decl_for_inlining): Do not mark copied decls
12585 as DECL_ABSTRACT.
12586
12587 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
12588
12589 * fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
12590 with __cplusplus, not "we must use the C++ compiler's type"
12591 * fixinc/inclhack.def (void_null): Note that Interix needs this.
12592 * fixinc/fixincl.x: Regenerate.
12593
12594 2003-07-14 Geoffrey Keating <geoffk@apple.com>
12595
12596 * unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
12597 and unseen_objects from the global data before calling
12598 __deregister_frame_info_bases.
12599 (examine_objects): Insert objects into the seen_objects list,
12600 not unseen_objects.
12601 (_Unwind_Find_FDE): Always unlock the global object lists, even if
12602 we couldn't allocate a data structure to put in it.
12603
12604 * objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
12605 (TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
12606 (SET_TYPE_PROTOCOL_LIST): New.
12607 * objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
12608 (get_object_reference): Likewise.
12609
12610 2003-07-14 Jan Hubicka <jh@suse.cz>
12611
12612 * cfglayout.c (locator_file): Break out from ....
12613 (insn_file): ... here.
12614 (locator_line): Break out from ....
12615 (insn_line): ... here.
12616 * rtl.h (locator_file, locator_line): Declare.
12617 (final_start_function): Set proper line/file info.
12618
12619 2003-07-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
12620
12621 * c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
12622 handled by pp_c_cast_expression.
12623
12624 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
12625
12626 * config/mips/mips.c (mips_expand_prologue): Use a single insn to
12627 allocate 32768 bytes of stack. Use addition rather than subtraction
12628 when a single insn is enough.
12629 * config/mips/mips.md: Remove insns and splitters for subtracting
12630 constants.
12631 (subsi3): Only accept register operands.
12632 (subsi3_internal): Likewise. Use for TARGET_MIPS16 as well.
12633 (subdi3_internal_3, subsi3_internal_2): Likewise.
12634 (casesi): Use expand_binop to subtract the lower bound.
12635
12636 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
12637
12638 * config/mips/mips.c (mips_in_small_data_p): Don't handle
12639 TARGET_MIPS16 specially.
12640
12641 2003-07-14 Richard Sandiford <rsandifo@redhat.com>
12642
12643 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
12644 mips_output_aligned_bss.
12645 * config/mips/linux.h: Likewise.
12646 * config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
12647 * config/mips/mips.c (mips_output_aligned_bss): New function.
12648
12649 * config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
12650 * config/mips/elf64.h: Likewise.
12651
12652 * config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
12653 mips_declare_object_name.
12654 (ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
12655 * config/mips/elf64.h: As for elf.h.
12656 * config/mips/iris6.h: Likewise.
12657 * config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
12658 * config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
12659 do...while (0) block.
12660 * config/mips/mips-protos.h (mips_declare_object_name): Declare.
12661 (mips_finish_declare_object): Declare.
12662 * config/mips/mips.c (mips_declare_object_name): New function.
12663 (mips_finish_declare_object): New function.
12664
12665 * config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
12666 * config/mips/linux.h: Likewise.
12667
12668 * config/mips/mips.c (inside_function): Delete.
12669 (file_in_function_warning, ignore_line_number): Delete.
12670 (mips_output_filename): Don't warn about changing filenames within
12671 a function.
12672 (mips_output_lineno): Update accordingly.
12673 (mips_output_function_prologue): Don't reset the deleted variables.
12674 * config/mips/mips.h (inside_function): Delete.
12675 (file_in_function_warning, ignore_line_number): Delete.
12676
12677 * config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
12678 * config/mips/elf64.h: Likewise.
12679 * config/mips/openbsd.h: Likewise.
12680 * config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
12681 * config/mips/linux.h: Likewise.
12682 * config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
12683 (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
12684
12685 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
12686 to the list of include files when using gas.
12687 (mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
12688 * config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
12689 * config/mips/elf64.h: Likewise.
12690 * config/mips/iris5.h: Likewise.
12691 * config/mips/linux.h: Likewise.
12692 * config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
12693 * config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
12694 (SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
12695 * config/mips/sdb.h: ...this new file.
12696
12697 2003-07-14 Douglas Rupp <rupp@gnat.com>
12698
12699 * fixinc/server.c (server_setup): Don't use non-POSIX NULL first
12700 argument to getcwd; use fixed buffer instead.
12701
12702 2003-07-14 Nathanael Nerode <neroden@gcc.gnu.org>
12703
12704 * fixinc/mkfixinc.sh: Treat OpenBSD normally.
12705 * fixinc/fixinc.wrap: Delete.
12706
12707 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
12708
12709 * ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
12710 don't have 2.
12711
12712 2003-07-14 Dan Nicolaescu <dann@ics.uci.edu>
12713
12714 * ggc-page.c (struct globals): Add new fields to keep track of the
12715 total allocated memory and overhead.
12716 (ggc_print_statistics): Print them.
12717 (ggc_alloc): Keep track of the total allocated memory and the
12718 overhead.
12719
12720 * tree.c (dump_tree_statistics): Increase spacing.
12721 (enum tree_node_kind): Move to ...
12722 * tree.h (enum tree_node_kind): ... here.
12723 (tree_node_counts, tree_node_sizes): Declare.
12724
12725 2003-07-14 James A. Morrison <ja2morri@student.math.uwaterloo.ca>
12726
12727 * doc/include/texinfo.tex: Upgrade to texinfo 4.6.
12728
12729 2003-07-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12730
12731 PR optimization/11440
12732 * gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
12733 SIGN_EXTRACT SETs.
12734
12735 2003-07-14 Alan Modra <amodra@bigpond.net.au>
12736
12737 * doc/tm.texi (BLOCK_REG_PADDING): Describe.
12738 * expr.h (struct locate_and_pad_arg_data): Add where_pad.
12739 (emit_group_load, emit_group_store): Adjust declarations.
12740 Remove most occurrences of #ifdef TREE_CODE.
12741 * expr.c (emit_group_load): Add "type" param, and use
12742 BLOCK_REG_PADDING to determine need for a shift. Optimize non-
12743 aligned accesses if !SLOW_UNALIGNED_ACCESS.
12744 (emit_group_store): Likewise.
12745 (emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
12746 emit_group_load and emit_group_store calls.
12747 * calls.c (store_unaligned_arguments_into_pseudos): Tidy. Use
12748 BLOCK_REG_PADDING to determine whether we need endian_correction.
12749 (load_register_parameters): Localize vars. Handle shifting of
12750 small values to the correct end of regs. Adjust emit_group_load
12751 call.
12752 (expand_call, emit_library_call_value_1): Adjust emit_group_load
12753 and emit_group_store calls.
12754 * function.c (assign_parms): Set mem alignment for stack slots.
12755 Adjust emit_group_store call. Store values at the "wrong" end
12756 of regs to the stack. Use BLOCK_REG_PADDING.
12757 (locate_and_pad_parm): Save where_pad.
12758 (expand_function_end): Adjust emit_group_load call.
12759 * stmt.c (expand_value_return): Adjust emit_group_load call.
12760 * Makefile.in (calls.o): Depend on $(OPTABS_H).
12761 * config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
12762 (AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
12763 (MUST_PASS_IN_STACK): Define.
12764 (BLOCK_REG_PADDING): Define.
12765 * config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
12766 (PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
12767 * config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
12768 (function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
12769 Act on AGGREGATES_PAD_UPWARD_ALWAYS.
12770
12771 2003-07-13 Aaron W. LaFramboise <awlaframboise@aol.com>
12772
12773 * config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
12774
12775 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12776
12777 * expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
12778 both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
12779
12780 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
12781
12782 PR other/11123
12783 * toplev.c: Don't cut off option names.
12784
12785 2003-07-13 Andreas Jaeger <aj@suse.de>
12786
12787 * c-decl.c (link_hash_hash): Avoid warning about casting pointer
12788 to integer of different size.
12789
12790 2003-07-13 Kazu Hirata <kazu@cs.umass.edu>
12791
12792 * combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
12793 to (eq (and X 1) 0).
12794
12795 2003-07-13 Andreas Jaeger <aj@suse.de>
12796
12797 * config.gcc: Add pmmintrin.h for x86_64-*-*.
12798
12799 2003-07-13 Zack Weinberg <zack@codesourcery.com>
12800
12801 * Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
12802 (hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
12803 list. Move these all together down by cpplib.
12804
12805 * cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
12806 definition of CPPCHAR_SIGNED_T.
12807
12808 * cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
12809 * cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
12810 * line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
12811
12812 * cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
12813 * cppinit.c (cpp_create_reader): Likewise.
12814
12815 * cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
12816 * cpptrad.c: Likewise. All callers changed.
12817 * cpplib.c: All callers changed.
12818 * c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
12819 * hashtable.h: Define GTY(x) to nothing here too.
12820
12821 2003-07-13 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12822
12823 * stor-layout.c (compute_record_mode): Remove very obsolete test
12824 that forces BLKmode for records with fields crossing word boundary.
12825
12826 2003-07-13 Zack Weinberg <zack@codesourcery.com>
12827
12828 * Makefile.in: Remove orphan reference to acconfig.h.
12829
12830 2003-07-13 Andreas Jaeger <aj@suse.de>
12831
12832 * cgraphunit.c: Convert prototypes to ISO C90.
12833
12834 2003-07-13 Nathanael Nerode <neroden@gcc.gnu.org>
12835
12836 * fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
12837 (for OpenBSD).
12838 * fixinc/fixincl.x: Rebuild.
12839
12840 2003-07-12 Zack Weinberg <zack@codesourcery.com>
12841
12842 * configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
12843 i?86-*-*. Use correct name of cache variable.
12844 * configure: Regenerate.
12845
12846 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
12847
12848 * config/alpha/alpha.c: Fix comment typos.
12849 * config/alpha/alpha.md: Likewise.
12850 * config/arm/arm.c: Likewise.
12851 * config/arm/arm.md: Likewise.
12852 * config/arm/lib1funcs.asm: Likewise.
12853 * config/avr/avr.md: Likewise.
12854 * config/arm/README-interworking: Fix typos.
12855
12856 2003-07-12 Kazu Hirata <kazu@cs.umass.edu>
12857
12858 * c-format.c: Fix comment formatting.
12859 * c-typeck.c: Likewise.
12860 * coverage.c: Likewise.
12861 * cppcharset.c: Likewise.
12862 * cpplib.c: Likewise.
12863 * dbxout.c: Likewise.
12864 * gcov-io.h: Likewise.
12865 * toplev.c: Likewise.
12866
12867 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
12868
12869 * fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
12870 fix.
12871
12872 2003-07-12 Zack Weinberg <zack@codesourcery.com>
12873
12874 * aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
12875 uses three-argument AC_DEFINE so no acconfig.h entries are
12876 needed.
12877 (_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
12878 which contains the GAS version number as a scaled integer.
12879 (gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers. Add
12880 ability to check for ELF assembler.
12881 (gcc_GAS_CHECK_FEATURE): New macro.
12882 * configure.in: Use gcc_AC_CHECK_TYPE. Rewrite all
12883 assembler feature checks using gcc_GAS_CHECK_FEATURE.
12884 Use three-argument AC_DEFINE everywhere.
12885 * acconfig.h: Deleted.
12886 * config.in, configure: Regenerate.
12887
12888 2003-07-12 Nathanael Nerode <neroden@gcc.gnu.org>
12889
12890 * fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
12891 (on OpenBSD).
12892 * fixinc/fixincl.x: Regenerate.
12893
12894 * fixinc/inclhack.def (gnu_types): Improve comment.
12895
12896 2003-07-12 Andreas Jaeger <aj@suse.de>
12897
12898 * fp-test.c (main): Use ISO C90 prototype.
12899
12900 * version.c: Remove unneded include of ansidecl.h.
12901
12902 * cgraph.h: Convert prototypes to ISO C90.
12903 * cgraph.c: Likewise.
12904 * fix-header.c: Likewise.
12905 * ra.h: Likewise.
12906 * protoize.c: Likewise.
12907
12908 2003-07-12 Jan Hubicka <jh@suse.cz>
12909
12910 * cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
12911 warning.
12912
12913 2003-07-12 Jan Hubicka <jh@suse.cz>
12914 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12915
12916 * cgraph.c (cgraph_max_uid): New global variable.
12917 (cgraph_node): Set uid field.
12918 (create_edge): Keep inline flags consistent.
12919 (dump_cgraph): Dump more info.
12920 * cgraph.h (struct cgraph_local_info): Remove inline_many and
12921 can_inline_once; add inlinable, disgread_inline_limits, and self_insn
12922 (struct cgraph_global_info): Add insns, calls, cloned_times,
12923 will_be_output.
12924 (struct cgraph_node): Add uid.
12925 (struct cgraph_edge): Add inline_call.
12926 (cgraph_max_uid, cgraph_inline_p): Declare.
12927 * cgraph.c: Include params.h and fibheap.h
12928 (cgraph_mark_functions_to_inline_once): Kill.
12929 (INSNS_PER_CALL): New constant.
12930 (ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
12931 static variables.
12932 (cgraph_finalize_function): Do not analyze inlining.
12933 (cgraph_finalize_compilation_unit): Set inlining attributes.
12934 (cgraph_mark_functions_to_output): More consistency checks.
12935 (cgraph_optimize_function): Set current_function_decl to NULL.
12936 (cgraph_expand_function): Use new inline flags.
12937 (cgraph_postorder): Expand from cgraph_expand_functions.
12938 (INLINED_TIMES, SET_INLINED_TIMES): New macros.
12939 (cgraph_inlined_into, cgraph_inlined_callees,
12940 cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
12941 cgraph_mark_inline, cgraph_check_inline_limits,
12942 cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
12943 cgraph_decide_inlining, cgraph_inline_p): New functions.
12944 * params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
12945 PARAM_INLINE_UNIT_GROWTH): New parameters.
12946 * tree-inline.c (struct inline_data): New field current_decl.
12947 (expand_call_inline): Avoid forward declarations; use
12948 inlinable_function_p.
12949 (optimize_inline_calls): Set id.current_decl.
12950
12951 2003-07-11 Andrew Pinski <pinskia@physics.uc.edu>
12952
12953 * configure.in: Remove wrongly added definition of
12954 local_prefix.
12955 * configure: Regenerate.
12956
12957 2003-07-11 Dan Nicolaescu <dann@ics.uci.edu>
12958
12959 * rtl.def (NOTE): Do not use padding.
12960
12961 2003-07-11 Dara Hazeghi <dhazeghi@yahoo.com>
12962
12963 * doc/install.tex: Update required binutils for i?86-*-linux*
12964
12965 2003-07-11 Richard Henderson <rth@redhat.com>
12966
12967 * Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
12968
12969 2003-07-11 Mark Mitchell <mark@codesourcery.com>
12970
12971 * varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
12972 TRANSLATION_UNIT_DECL as top_level.
12973
12974 2003-07-11 Jakub Jelinek <jakub@redhat.com>
12975
12976 * optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
12977 then fall back to cmpstrM.
12978 * builtins.c (expand_builtin_memcmp): Likewise.
12979 * config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
12980 (s390_expand_cmpmem): ... this.
12981 * config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
12982 cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
12983 from cmpstr* patterns. Rename call to s390_expand_cmpstr
12984 to s390_expand_cmpmem.
12985 * config/s390/s390.c (s390_expand_cmpstr): Rename to...
12986 (s390_expand_cmpstr): ... this. Rename cmpstr* instructions
12987 to cmpmem*.
12988 * config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
12989 cmpstr* patterns.
12990 * doc/md.texi (cmpstrM): Describe as String compare insn, not
12991 Block compare insn.
12992 (cmpmemM): Add.
12993
12994 2003-07-11 Loren James Rittle <ljrittle@acm.org>
12995
12996 * config/i386/freebsd.h (SET_ASM_OP): Remove.
12997 (SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
12998 (ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
12999 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
13000
13001 2003-07-11 Richard Henderson <rth@redhat.com>
13002
13003 * function.c (assign_parms): Don't recombine complex args if
13004 fnargs is unchanged from orig_fnargs.
13005 (split_complex_args): Return args without complex before copying.
13006 Re-layout the modified parameters.
13007
13008 2003-07-11 J"orn Rennecke <joern.rennecke@superh.com>
13009
13010 * regclass.c (choose_hard_reg_mode): Add third argument.
13011 Changed all callers.
13012 * rtl.h (choose_hard_reg_mode): Update declaration.
13013 * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
13014 Take HARD_REGNO_CALL_PART_CLOBBERED into account.
13015
13016 2003-07-11 Geoffrey Keating <geoffk@apple.com>
13017
13018 * c-decl.c (finish_decl): Handle 'used' here...
13019 * cgraphunit.c (cgraph_finalize_function): ... and here ...
13020 * c-common.c: (handle_used_attribute): ... not here.
13021
13022 * configure.in (onstep): Support --enable-intermodule.
13023 * Makefile.in (OBJS-common): New.
13024 (OBJS-md): New.
13025 (OBJS-archive): New.
13026 (OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
13027 (OBJS-onestep): New.
13028 (libbackend.a): Support @onestep@.
13029 (libbackend.o): New.
13030 * configure: Regenerate.
13031
13032 * c-common.h (c_reset_state): New prototype.
13033 (c_parse_file): New prototype.
13034 (finish_file): Move prototype from c-tree.h.
13035 * c-decl.c: Include <hashtab.h>.
13036 (builtin_decls): New.
13037 (current_file_decl): New.
13038 (duplicate_decls): Add extra parameter. Change all callers. Don't
13039 output duplicate common symbols.
13040 (link_hash_hash): New.
13041 (link_hash_eq): New.
13042 (poplevel): Handle popping of the top level.
13043 (warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
13044 (pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
13045 (pushdecl_top_level): Likewise.
13046 (redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
13047 (c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
13048 (finish_decl): Handle TRANSLATION_UNIT_DECL.
13049 (merge_translation_unit_decls): New.
13050 (c_write_global_declarations): New.
13051 (c_reset_state): New.
13052 (implicitly_declare): Handle TRANSLATION_UNIT_DECL.
13053 * c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
13054 * c-objc-common.c (c_cannot_inline_tree_fn): Handle
13055 TRANSLATION_UNIT_DECL.
13056 (c_objc_common_finish_file): Call merge_translation_unit_decls.
13057 * c-opts.c (in_fnames): Rename from in_fname.
13058 (c_common_decode_option): Handle multiple input filenames.
13059 (c_common_post_options): Likewise.
13060 (c_common_parse_file): Likewise; also, call c_parse_file rather than
13061 yyparse.
13062 * c-parse.in: Move cleanup code to c_parse_file.
13063 (free_parser_stacks): Move contents to c_parse_file.
13064 (c_parse_file): New.
13065 * c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
13066 for integer types.
13067 (C_DECL_FILE_SCOPE): New.
13068 (finish_file): Move prototype to c-common.h.
13069 (merge_translation_unit_decls): New prototype.
13070 (comptypes): Add extra parameter to prototype.
13071 (c_write_global_declarations): New prototype.
13072 * c-typeck.c (tagged_types_tu_compatible_p): New.
13073 (function_types_compatible_p): Add extra parameter, change all callers.
13074 (type_lists_compatible_p): Likewise.
13075 (comptypes): Likewise.
13076 (struct tagged_tu_seen): New.
13077 (tagged_tu_seen_base): New.
13078 (build_unary_op): Handle TRANSLATION_UNIT_DECL.
13079 (c_mark_addressable): Remove #if 0 code.
13080 * calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
13081 comment explaining why it shouldn't have to.
13082 * cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
13083 options.
13084 * cppinit.c (cpp_read_next_file): New.
13085 (cpp_read_main_file): Use it.
13086 * cpplib.c (undefine_macros): New.
13087 (cpp_undef_all): New.
13088 * cpplib.h (cpp_read_next_file): Prototype.
13089 (cpp_undef_all): Prototype.
13090 * langhooks-def.h (write_global_declarations): Remove prototype.
13091 * toplev.h (write_global_declarations): Add prototype.
13092 * tree.c (decl_type_context): Use switch statement, handle
13093 TRANSLATION_UNIT_DECL.
13094 * tree.def: Update documentation for TRANSLATION_UNIT_DECL.
13095 (TRANSLATION_UNIT_DECL): New kind of tree.
13096 * tree.h: Update documentation for TRANSLATION_UNIT_DECL.
13097 * Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
13098 * doc/invoke.texi: Make attempt to document new functionality.
13099
13100 2003-05-19 Per Bothner <bothner@apple.com>
13101
13102 * gcc.c (combine_inputs): New.
13103 (process_command): Set combine_inputs.
13104 (do_spec_1): Handle combine_inputs.
13105 (main): Likewise.
13106
13107 2003-07-10 James E Wilson <wilson@tuliptree.org>
13108
13109 PR optimization/9745
13110 * loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
13111 loop_insn_emit_before.
13112 (loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
13113
13114 2003-07-10 Zack Weinberg <zack@codesourcery.com>
13115
13116 * cppcharset.c: Fix comment.
13117 (iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
13118 (EILSEQ): #define to EINVAL if not already defined.
13119 (convert_using_iconv): #if out when !HAVE_ICONV.
13120 (init_iconv_desc): Handle !HAVE_ICONV here...
13121 (cpp_init_iconv): ...not here.
13122
13123 2003-07-11 Neil Booth <neil@daikokuya.co.uk>
13124
13125 * common.opt: More --help messages.
13126 * opts.c (print_help): Use puts().
13127 * toplev.c (f_options): Remove help text.
13128 (display_help): Don't dump f_options.
13129
13130 2003-07-11 Nathanael Nerode <neroden@gcc.gnu.org>
13131
13132 * fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
13133 Move i?86-*-interix* to the don't-fix list.
13134 * fixinc/fixinc.interix: Delete with extreme prejudice.
13135
13136 2003-07-10 Dara Hazeghi <dhazeghi@yahoo.com>
13137
13138 PR bootstrap/10758
13139 * doc/install.texi: Document requirements for ia64-*-hpux* target.
13140
13141 2003-07-10 Roger Sayle <roger@eyesopen.com>
13142
13143 * config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
13144
13145 2003-07-10 Zack Weinberg <zack@codesourcery.com>
13146
13147 * cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
13148 one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
13149 one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
13150 convert_utf8_utf32, convert_utf16_utf8, convert_utf32_utf8,
13151 convert_no_conversion, convert_using_iconv): New functions.
13152 (APPLY_CONVERSION): New macro.
13153 (struct conversion, conversion_tab): New data structure.
13154 (init_iconv_desc): Check conversion_tab for a custom conversion
13155 primitive before trying to use iconv.
13156 (convert_cset): Deleted.
13157 (cpp_init_iconv): Use UTF- terminology, not UCS-.
13158 (_cpp_destroy_iconv): Update to match.
13159 (_cpp_valid_ucn): We don't need iconv to implement UCNs.
13160 (convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
13161 (convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
13162 (_cpp_interpret_string_notranslate): New function, moved here
13163 from cpplib.c.
13164
13165 * cpphash.h (convert_f, struct cset_converter): New types.
13166 (struct cpp_reader): narrow_cset_desc and wide_cset_desc
13167 are now struct cset_converter, not bare iconv_t.
13168 Update prototypes.
13169 * cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
13170 all callers changed.
13171
13172 2003-07-10 Kelley Cook <kelleycook@wideopenwest.com>
13173
13174 * Makefile.in (options.h): Depend on Makefile. Add move-if-change
13175 to opts.sh command line.
13176 * opts.sh: Write to temporary files with a move-if-change at the end.
13177
13178 2003-07-10 Denis Chertykov <denisc@overta.ru>
13179 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13180
13181 * combine.c (gen_binary): Handle the CLOBBER rtx and
13182 don't build a binary operation with it.
13183
13184 2003-07-10 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13185
13186 * gcse.c (load_kills_store, find_loads, store_killed_in_insn,
13187 store_killed_after, store_killed_before): Keep track of the correct
13188 dependency function to use.
13189
13190 2003-07-10 Steven Bosscher <steven@gcc.gnu.org>
13191 * toplev.c (do_compile): Don't try to open dump files before
13192 lang_dependent_init initializes dump_base_name.
13193
13194 2003-07-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13195
13196 * config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
13197 Use ARRAY_SIZE.
13198 * config/frv/frv.c (frv_expand_builtin): Likewise.
13199 * config/sh/sh.c (sh_media_init_builtins): Likewise.
13200
13201 2003-07-09 Mark Mitchell <mark@codesourcery.com>
13202
13203 PR c++/10032
13204 * doc/invoke.texi (C++ Dialect Options): Change documentation of
13205 -fpermissive.
13206
13207 2003-07-10 J"orn Rennecke <joern.rennecke@superh.com>
13208
13209 * tm.texi (RETURN_ADDR_OFFSET): Document.
13210
13211 2003-07-10 Nathan Sidwell <nathan@codesourcery.com>
13212
13213 * gcov-io.h: Update documentation.
13214 (GCOV_UNSIGNED2STRING): New.
13215 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
13216 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
13217 GCOV_TAG_SUMMARY_LENGTH): Adjust.
13218 (GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
13219 GCOV_TAG_COUNTER_NUM): New.
13220 (GCOV_BLOCK_SIZE): Number of words.
13221 (gcov_var): Adjust buffer type.
13222 * gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
13223 (gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
13224 count, not byte count.
13225 (gcov_open): Adjust overread init.
13226 (gcov_allocate, gcov_write_unsigned, gcov_write_counter,
13227 gcov_write_string, gcov_write_tag, gcov_write_length,
13228 gcov_write_tag_length): Adjust.
13229 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
13230 (gcov_sync, gcov_seek): Adjust.
13231 * gcov-dump.c (print_usage): Show gcc version only.
13232 (dump_file): Use GCOV_UNSIGNED2STRING.
13233 (tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
13234 * gcov.c (print_version): Show gcc version only.
13235 (read_graph_file): Use GCOV_UNSIGNED2STRING. Use
13236 GCOV_TAG_*_NUM macros.
13237 (read_count_file): Use GCOV_UNSIGNED2STRING. Use
13238 GCOV_TAG_COUNTER_LENGTH.
13239 * coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
13240 Use GCOV_TAG_COUNTER_NUM.
13241 * libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
13242 (__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
13243
13244 2003-07-10 Andreas Schwab <schwab@suse.de>
13245
13246 * gcov-dump.c (dump_file): Fix missing address operator.
13247
13248 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
13249
13250 PR c/11449
13251 * fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
13252 of HOST_WIDE_INT.
13253 (fold_single_bit_test): If sign_bit_p() fails, assume that the
13254 bit being tested is not a sign bit.
13255
13256 2003-07-10 Kazu Hirata <kazu@cs.umass.edu>
13257
13258 * config/h8300/h8300.md (a peephole2): New.
13259
13260 2003-07-10 Alexandre Oliva <aoliva@redhat.com>
13261
13262 2001-12-13 Alexandre Oliva <aoliva@redhat.com>
13263 * config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
13264 from ld-linux.so.2 to ld.so.1.
13265 2001-11-18 Alexandre Oliva <aoliva@redhat.com>
13266 * config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
13267 * config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
13268 nor -Wl,-rpath-link.
13269 (LIB_SPEC): Add -rpath-link if !static.
13270 2001-08-22 Alexandre Oliva <aoliva@redhat.com>
13271 * config/mn10300/mn10300.c (mn10300_protect_label): New
13272 variable.
13273 * config/mn10300/linux.h (PRINT_OPERAND,
13274 PRINT_OPERAND_ADDRESS): Set it during their execution.
13275 (ASM_OUTPUT_LABELREF): Output `+' before symbol name if
13276 mn10300_protect_label is set.
13277 * config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
13278 -Wl,-rpath-link.
13279 (LIB_SPEC, STARTFILE_SPEC): Define.
13280 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
13281 * config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
13282 FLOAT_BIT_ORDER_MISMATCH.
13283 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
13284 * config.gcc (am33_2.0-*-linux*): Added.
13285 * config/mn10300/linux.h: New.
13286 * config/mn10300/t-linux: New.
13287
13288 2003-07-10 Andreas Jaeger <aj@suse.de>
13289
13290 * fold-const.c: Properly wrap prototypes.
13291
13292 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
13293
13294 2003-06-16 Alexandre Oliva <aoliva@redhat.com>
13295 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
13296 Moved from...
13297 * config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
13298 * config/mn10300/mn10300.h: GTY-declare it.
13299 2003-06-11 Alexandre Oliva <aoliva@redhat.com>
13300 * config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
13301 prototype. Use incoming RTL argument.
13302 2002-12-12 Alexandre Oliva <aoliva@redhat.com>
13303 * config/mn10300/mn10300.md (int_label): Move C statements...
13304 (GOTaddr2picreg): ... here.
13305 2002-08-15 Alexandre Oliva <aoliva@redhat.com>
13306 * config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
13307 * config/mn10300/mn10300.c (mn10300_encode_section_info):
13308 ... here. New function.
13309 (TARGET_ENCODE_SECTION_INFO): Define to it.
13310 2001-11-04 Alexandre Oliva <aoliva@redhat.com>
13311 * config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
13312 pattern name.
13313 (mn10300_loadPC): Define as insn splittable after reload.
13314 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
13315 * config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
13316 be defined in .rodata even in PIC, now that the assembler
13317 supports that.
13318 2001-05-09 Alexandre Oliva <aoliva@redhat.com>
13319 * config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
13320 symbol take an underscore prefix.
13321 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
13322 * config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
13323 legitimize_pic_address): Declare.
13324 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
13325 the PIC register as fixed.
13326 (EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
13327 (GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
13328 PIC.
13329 (LEGITIMATE_PIC_OPERAND_P): Define.
13330 (PIC_OFFSET_TABLE_REGNUM): Define.
13331 (GOT_SYMBOL_NAME): Define.
13332 (SYMBOLIC_CONST_P): Define.
13333 (ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
13334 symbols.
13335 (MN10300_GLOBAL_P): Test it.
13336 (OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
13337 (JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
13338 * config/mn10300/mn10300.c (print_operand): Handle unspec.
13339 (expand_prologue): Set PIC register.
13340 (call_address_operand): Don't match SYMBOL_REFs in PIC.
13341 (legitimize_address): Call legitimize_pic_address.
13342 (legitimize_pic_address): New fn.
13343 (legitimate_pic_operand_p): New fn.
13344 * config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
13345 (UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
13346 UNSPEC_PLT): New constants.
13347 (pop_pic_reg): New insn.
13348 (movsi): Adjust non-PIC addresses.
13349 (builtin_setjmp_receiver): Restore the PIC register.
13350 (casesi): New insn.
13351 (call): Adjust non-PIC addresses.
13352 (int_label, GOTaddr2picreg): New expands.
13353 (am33_loadPC): New insn.
13354 (mn10300_loadPC): New expand.
13355 (call_next_insn): New insn.
13356 (add_GOT_to_pic_reg): New expand.
13357 (symGOT2reg, symGOT2reg_i): New expands.
13358 (symGOTOFF2reg, symGOTOFF2reg_i): New expands.
13359 (sym2PIC, sym2PLT): New expands.
13360
13361 2003-07-09 Alexandre Oliva <aoliva@redhat.com>
13362
13363 * config/mn10300/mn10300.h (PREDICATE_CODES): Define.
13364 2001-05-01 Alexandre Oliva <aoliva@redhat.com>
13365 * config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
13366 to flag_unsafe_math_optimizations.
13367 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
13368 * config/mn10300/mn10300.c (expand_prologue): Mark
13369 FP-register-saving insns as frame-related.
13370 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
13371 * config/mn10300/mn10300.c
13372 (mn10300_get_live_callee_saved_regs): Don't search past
13373 LAST_EXTENDED_REGNUM.
13374 (mn10300_gen_multiple_store, store_multiple_operation): Likewise.
13375 * config/mn10300/mn10300.md: Remove excessive line breaks from
13376 `@' output patterns that were accounted as additional
13377 alternatives.
13378 * config/mn10300/mn10300.md, config/mn10300/mn10300.c:
13379 Re-introduce changes accidentally removed in Richard Sandiford's
13380 2000-12-05's patch.
13381 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
13382 Re-instate am33-2 lost in merge from net GCC.
13383 2000-08-26 Alexandre Oliva <aoliva@redhat.com>
13384 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
13385 floating-point registers.
13386 2000-08-07 Alexandre Oliva <aoliva@redhat.com>
13387 * config/mn10300/mn10300.md (movdf): Revert some am33-specific
13388 pessimizations that had gone in on 2000-05-08.
13389 2000-06-28 Graham Stott <grahams@cygnus.co.uk>
13390 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
13391 2000-06-22 Graham Stott <grahams@cygnus.co.uk>
13392 * config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
13393 operand 0.
13394 * (movhi): Likewise.
13395 * (movsi): Likewise.
13396 * (movsf): Likewise.
13397 * (movdi): Likewise.
13398 * (movdf): Likewise.
13399 2000-05-24 Alexandre Oliva <aoliva@cygnus.com>
13400 * config/mn10300/mn10300.c (fp_regs_to_save): New function.
13401 (can_use_return_insn, initial_offset): Add fp_regs_to_save.
13402 (expand_prologue, expand_epilogue): Save and restore FP regs.
13403 2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
13404 * config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
13405 2000-05-13 Alexandre Oliva <aoliva@cygnus.com>
13406 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
13407 subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
13408 Do not clobber cc0.
13409 2000-05-12 Alexandre Oliva <aoliva@cygnus.com>
13410 * config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
13411 Discourage the two-argument, longer opcodes.
13412 (addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
13413 ones.
13414 * config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
13415 (CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
13416 * config/mn10300/mn10300.md (cmpsf): New pattern.
13417 (branch): Test mdep.fpCC and output fbCC.
13418 * config/mn10300/mn10300.c (print_operand): Output conditions.
13419 (notice_cc_update): Recognize fcmp and set mdep.fpCC.
13420 2000-05-10 Alexandre Oliva <aoliva@cygnus.com>
13421 * config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
13422 mulsf3, divsf3): Use the `F' constraint for FP values.
13423 * config/mn10300/mn10300.c (const_1f_operand): New function.
13424 * config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
13425 * config/mn10300/mn10300.md (sqrtsf2): New expand.
13426 (rsqrtsf2): New insn.
13427 2000-05-09 Alexandre Oliva <aoliva@cygnus.com>
13428 * config/mn10300/mn10300.md (movdf): Oops, I missed it in my
13429 previous check-in.
13430 2000-05-08 Alexandre Oliva <aoliva@cygnus.com>
13431 * config/mn10300/mn10300.md (abssf2, negdf2): On
13432 TARGET_AM33_2, expand to...
13433 (abssf2_am33_2, negdf2_am33_2): New insns.
13434 (addsf3, subsf3, mulsf3, divsf3): Likewise.
13435 (fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
13436 * config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
13437 movdi, movdf): Added FP regs.
13438 * invoke.texi (-mam33-2, -mno-am33-2): Document.
13439 2000-04-29 Alexandre Oliva <aoliva@cygnus.com>
13440 * config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
13441 New macros.
13442 (REGNO_AM33_2_FP_P): Renamed to...
13443 (REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
13444 (CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
13445 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
13446 * config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
13447 regs from GENERAL_REGS.
13448 2000-04-27 Alexandre Oliva <aoliva@cygnus.com>
13449 * config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
13450 * config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
13451 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
13452 2000-04-23 Alexandre Oliva <aoliva@cygnus.com>
13453 * config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
13454 as FP_REGS.
13455 2000-04-21 Alexandre Oliva <aoliva@cygnus.com>
13456 * config/mn10300/mn10300.h (OK_FOR_Q): New macro.
13457 (EXTRA_CONSTRAINT): Added OK_FOR_Q.
13458 * config/mn10300/mn10300.c (secondary_reload_class): Adjust.
13459 * config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
13460 * config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
13461 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
13462 AM33/2.0 floating-point registers.
13463 (CONDITIONAL_REGISTER_USAGE): Adjust.
13464 (enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
13465 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
13466 (REG_CLASS_FROM_LETTER): Added `f' and `A'.
13467 (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
13468 * config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
13469 (MULTILIB_DIRNAMES): Likewise.
13470 * config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
13471 `__AM33_2__' when `-mam33-2' is given.
13472 (TARGET_AM33_2): Define.
13473 (TARGET_SWITCHES): Adjust.
13474 * config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
13475 when appropriate.
13476
13477 2003-07-09 Matt Kraai <kraai@alumni.cmu.edu>
13478
13479 * doc/install.texi: Add missing @.
13480
13481 2003-07-09 Bob Wilson <bob.wilson@acm.org>
13482
13483 * config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
13484
13485 2003-07-09 Aldy Hernandez <aldyh@redhat.com>
13486
13487 PR/11144
13488 * config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
13489
13490 2003-07-09 Nathanael Nerode <neroden@gcc.gnu.org>
13491
13492 PR bootstrap/11043
13493 * config/arc/t-arc: Replace bogus references to "x-crtinit.o",
13494 "x-crtfini.o" with "crtinit.o", "crtfini.o".
13495
13496 * fixinc/inclhack.def (limits_ifndefs): Add select test.
13497 * fixinc/fixincl.x: Rebuild.
13498
13499 * fixinc/inclhack.def (math_exception): Improve bypass and comment.
13500 * fixinc/fixincl.x: Rebuild.
13501
13502 2003-07-09 Hans-Peter Nilsson <hp@bitrange.com>
13503
13504 * doc/install.texi (Configuration): Document the valgrind option
13505 to --enable-checking.
13506
13507 2003-07-09 Jan Hubicka <jh@suse.cz>
13508
13509 * objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
13510
13511 2003-07-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13512
13513 * c-lex.c (cb_ident): Cast cstr.text to const char *.
13514
13515 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
13516
13517 * gcov-io.h: Update documentation.
13518 (GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
13519 GCOV_NOTE_MAGIC.
13520 (GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
13521 (GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
13522 (struct gcov_var): Change buffer's type. Add endian flag.
13523 (gcov_open): Remove mode in libgcov.
13524 (gcov_magic): Prototype.
13525 * gcov-io.c (from_file): New.
13526 (gcov_open): Clear endian flag.
13527 (gcov_magic): New.
13528 (gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
13529 pointers.
13530 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
13531 gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
13532 (gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
13533 * gcov-iov.c (main): Correct cast.
13534 * coverage.c (read_counts_file): Use gcov_magic. Remove endianness
13535 conversion.
13536 (gcov_begin_output): Use GCOV_NOTE_MAGIC.
13537 (coverage_init): Use GCOV_NOTE_SUFFIX.
13538 * libgcov.c (gcov_version_mismatch): Remove endianness conversion.
13539 Rename to gcov_version, and return flag.
13540 (gcov_exit): Use gcov_version.
13541 (__gcov_init): Use gcov_version.
13542 * Makefile.in (coverageexts): Update.
13543 * gcov.c (print_version): Remove endianness conversion.
13544 (create_file_names): Use GCOV_NOTE_SUFFIX.
13545 (read_graph_file): Use gcov_magic.
13546 (read_count_file): Likewise.
13547 * gcov-dump.c (dump_file): Remove endianness conversion, use
13548 gcov_magic.
13549
13550 2003-07-09 Nathan Sidwell <nathan@codesourcery.com>
13551
13552 * configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
13553 coverage is on.
13554 * configure: Regenerated.
13555 * Makefile.in (ALL_CFLAGS): Correct its comment.
13556
13557 2003-07-08 Mark Mitchell <mark@codesourcery.com>
13558
13559 * fold-const.c (make_range): Do not access operand 1 for a
13560 zero-operand operator.
13561
13562 2003-07-09 Neil Booth <neil@daikokuya.co.uk>
13563
13564 * toplev.c (warn_dummy, W_options): Die.
13565 (display_help): Don't print W_options.
13566 * common.opt: Add W_options help from toplev.c.
13567
13568 2003-07-09 Andreas Jaeger <aj@suse.de>
13569
13570 * opts.c (wrap_help): Only pass int arguments as arguments to
13571 printf's '*' modifier. Change argument of function.
13572
13573 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
13574
13575 * doc/invoke.texi: Fix misspelling of "@item".
13576
13577 2003-07-08 Kazu Hirata <kazu@cs.umass.edu>
13578
13579 * config/i386/i386.md: Remove an old comment about
13580 NOTICE_UPDATE_CC.
13581
13582 2003-07-09 Jan Hubicka <jh@suse.cz>
13583
13584 * cgraph.c (cgraph_node_name): New function.
13585 (dump_cgraph): Use it.
13586 * cgraph.h (cgraph_dump_file): Declare.
13587 (cgraph_node_name): Declare.
13588 * cgraphunit.c: Include timevar.h
13589 (cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
13590 (cgraph_optimize_function): Use TV_INTEGRATION.
13591 (cgraph_mark_local_functions): reorganize dumps.
13592 (cgraph_mark_functions_to_inline_once): Likewise.
13593 (cgraph_optimize): Likewise; use timevar.
13594 * timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
13595 * toplev.c (dump_file_index): Add DFI_cgraph.
13596 (dump_file_info): Likewise.
13597 (cgraph_dump_file): New global variable.
13598 (do_compile): Open and close cgraph dump.
13599 * invoke.texi (-d): Document new flag; renumber.
13600
13601 2003-07-08 Roger Sayle <roger@eyesopen.com>
13602
13603 PR c/11370
13604 * calls.c (emit_call_1): Don't bother popping the arguments off of
13605 the stack after a noreturn function call; The adjustment is dead.
13606 (expand_call): Likewise.
13607
13608 2003-07-08 Geoffrey Keating <geoffk@apple.com>
13609
13610 * expr.c (MOVE_MAX_PIECES): Move from here...
13611 * defaults.h (MOVE_MAX_PIECES): ... to here.
13612
13613 2003-07-08 Matt Kraai <kraai@alumni.cmu.edu>
13614
13615 * Makefile.in (stage1-start): Handle an empty SUBDIRS.
13616
13617 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13618
13619 * genattr.c (internal_dfa_insn_code): Don't prototype.
13620 * genattrtab.c (attr_desc): Add `static_p' field.
13621 (expand_units): Make blockage range and ready cost functions
13622 static.
13623 (write_attr_get): Don't add extern prototypes in C file. Mark
13624 static functions as appropriate.
13625 (find_attr, make_internal_attr): Initialize static_p.
13626 * genattrtab.h (ATTR_STATIC): New macro.
13627 * genautomata.c (output_internal_reset_func): Mark output function
13628 as inline.
13629 (make_internal_dfa_insn_code_attr): Mark output function as static.
13630
13631 2003-07-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13632
13633 * genattrtab.h: Add new macros for attr `special' flags.
13634 * genattrtab.c (attr_desc): Reorder/resize fields better.
13635 Use attr `special' macros in all calls to make_internal_attr.
13636 * genautomata.c: Likewise.
13637
13638 2003-07-09 Jan Hubicka <jh@suse.cz>
13639
13640 * c-common.c (c_estimate_num_insns_1): New static function.
13641 (c_estimate_num_insns): New global function.
13642 * c-common.h (DECL_NUM_STMTS): Rename to...
13643 (DECL_ESTIMATED_INSNS): ... this.
13644 (c_estimate_num_insns): Declare.
13645 * c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
13646 * c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
13647 * c-semantics.c (add_stmt): Do not account statements.
13648 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
13649 New.
13650 * langhooks.h (lang_hooks_for_tree_inlining): Add
13651 estimate_num_insns
13652 * params.def (max-inline-insns-auto, max-inline-insns-auto): set
13653 to 100.
13654 (max-inline-insns): set to 300.
13655 (min-inline-insns): set to 10.
13656 * tree-inline.c (struct inline_data): Rename inlined_stmts to
13657 inlined-insns.
13658 (INSNS_PER_STMT): Kill.
13659 (inlinable_function_p): Compute and store body size.
13660 (expand_call_inline): Likewise.
13661 (optimize_inline_calls): Likewise.
13662
13663 2003-07-08 James E Wilson <wilson@tuliptree.org>
13664
13665 PR target/10021
13666 * emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
13667 loop over new variable t2 instead of t.
13668
13669 2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
13670
13671 PR bootstrap/11455
13672 * config/i386/winnt.c: Replace use of error(), warning() with
13673 error_with_decl(), warning_with_decl(), throughout.
13674
13675 2003-07-08 Neil Booth <neil@daikokuya.co.uk>
13676
13677 * opts.c (wrap_help): Use unsigned int, not size_t.
13678
13679 2003-07-08 Stephane Carrez <stcarrez@nerim.fr>
13680
13681 * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
13682 as .file/.loc directives are incompatible with linker relaxation.
13683
13684 2003-07-08 Zack Weinberg <zack@codesourcery.com>
13685
13686 * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
13687 * fixinc/Makefile.in: Remove all references to gnu-regex.[och].
13688 * fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
13689 * fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
13690 * fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
13691 * fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
13692 Escape { and } characters which are not part of range expressions.
13693 * fixinc/fixincl.x: Regenerate.
13694 * fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
13695
13696 2003-07-08 Steven Bosscher <steven@gcc.gnu.org>
13697
13698 PR c/1687
13699 * tree-inline.c (find_alloca_call): Use
13700 walk_tree_without_duplicates, instead of walk_tree.
13701 (find_builtin_longjmp_call): Likewise.
13702 * c-objc-common.c (c_cannot_inline_fn): Likewise.
13703 * c-semantics.c (find_reachable_label): Likewise.
13704
13705 2003-07-08 Jakub Jelinek <jakub@redhat.com>
13706
13707 PR c/11420
13708 * config/i386/i386.c (ix86_check_movabs): New function.
13709 * config/i386/i386-protos.h (ix86_check_movabs): New prototype.
13710 * config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
13711 (movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
13712
13713 2003-07-08 Chris Demetriou <cgd@broadcom.com>
13714
13715 * Makefile.in (install-po): Cope with empty CATALOGS.
13716
13717 2003-07-08 Richard Sandiford <rsandifo@redhat.com>
13718
13719 * config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
13720 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
13721 (SECTION_FUNCTION_TEMPLATE): Delete.
13722 * config/mips/elf.h: As for elf64.h.
13723 (ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
13724 * config/mips/linux.h: As for elf.h
13725 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
13726 * config/mips/iris6.h (EXTRA_SECTIONS): Delete.
13727 (EXTRA_SECTION_FUNCTIONS): Remove sdata_section. Remove the handling
13728 of in_sdata from current_section_name and current_section_flags.
13729 * config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
13730 * config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
13731 (MASK_GP_OPT, TARGET_GP_OPT): Delete.
13732 (MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
13733 (TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
13734 (SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
13735 * config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
13736 (TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
13737 (mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
13738 (override_options): Remove setting of MASK_GPOPT.
13739 (mips_output_external): Use mips_in_small_data_p to check whether a
13740 symbol needs an .extern directive. Don't emit such directives for
13741 TARGET_EXPLICIT_RELOCS.
13742 (mips_declare_object): Update accordingly.
13743 (mips_select_rtx_section): Call named_section rather than
13744 SMALL_DATA_SECTION.
13745 (mips_select_section): Use default_elf_section_section for everything
13746 except .text string constants.
13747 (mips_in_small_data_p): New function.
13748 (mips_encode_section_info): Remove small data handling.
13749 (mips_unique_section): Delete.
13750 (iris6_section_type_flags): New function.
13751 * doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
13752
13753 2003-07-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13754
13755 PR Target/11453
13756 * pa.md: Disparage all mtsar constraints.
13757 (extzv, extv, insv): Don't fail on length of {32|64}.
13758
13759 2003-07-08 Zack Weinberg <zack@codesourcery.com>
13760
13761 * system.h: Poison MAP_CHARACTER.
13762 * config/i370/i370-protos.h (mvs_map_char): Delete.
13763 * config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
13764 * config/i370/i370.h (MAP_CHARACTER): Delete definition.
13765 (ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
13766
13767 2003-07-08 Danny Smith <dannysmith@users.sourceforge.net>
13768
13769 * toplev.c (randomize): Correct call to time().
13770
13771 2003-07-08 Jakub Jelinek <jakub@redhat.com>
13772
13773 * unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
13774 REG_EQUIV notes as well.
13775
13776 2003-07-08 Kazu Hirata <kazu@cs.umass.edu>
13777
13778 * doc/md.texi: Fix the description of addmodecc.
13779
13780 2003-07-07 Zack Weinberg <zack@codesourcery.com>
13781
13782 * Makefile.in (top_builddir): Set to "..", not ".".
13783 (INTLLIBS, INTLDEPS): Delete.
13784 (LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
13785 (LIBDEPS): Add $(LIBICONV_DEP).
13786 (LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
13787 (INCLUDES): Replace -I../intl with @INCINTL@.
13788 ($(top_builddir)/intl/libintl.a): Delete rule.
13789 (stage2-start, stage3-start, stage4-start, stageprofile-start,
13790 stagefeedback-start): Use $$ for variable to be evaluated by
13791 shell, not make.
13792 * acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
13793 HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
13794 * aclocal.m4: sinclude ../config/progtest.m4. Add
13795 contents of lcmessage.m4 from gettext distro.
13796 * configure.in: Check for wchar.h and setlocale. Set
13797 LIBICONV_DEP to the empty string and substitute it.
13798 Call AM_LC_MESSAGES. Delete AC_ARG_ENABLE for --enable-nls;
13799 this is handled elsewhere. Use ZW_GNU_GETTEXT_SISTER_DIR,
13800 not CY_GNU_GETTEXT. Clear $LIBICONV if its text is included
13801 in $LIBINTL, to avoid linking it twice.
13802 * configure, config.in: Regenerate.
13803
13804 2003-07-08 Nathanael Nerode <neroden@gcc.gnu.org>
13805
13806 * fixinc/mkfixinc.sh: Remove winnt support.
13807 * fixinc/fixinc.winnt: Delete with extreme prejudice.
13808
13809 2003-07-08 Neil Booth <neil@daikokuya.co.uk>
13810
13811 * Makefile.in: Update.
13812 * c-opts.c (c_common_handle_option): opt_text now contains the '-'.
13813 * c.opt: Update documentation.
13814 * common.opt: Add some help text.
13815 * opts.c: Include intl.h.
13816 (wrap_help, print_help): New.
13817 (find_opt, handle_option, common_handle_option): opt_text now
13818 contains the '-'. Use print_help to output help.
13819 * opts.h (struct cl_option): New member "help".
13820 * opts.sh: Update to handle help text output and to prepend
13821 options with '-'.
13822 * toplev.c (display_help): Remove some help text.
13823
13824 2003-07-07 David Edelsohn <edelsohn@gnu.org>
13825 Fariborz Jahanian <fjahanian@apple.com>
13826
13827 * configure.in: Test for PowerPC mfcr field support in assembler.
13828 * config.in, configure: Regenderated.
13829
13830 * config/rs6000/power4.md: Add mfcrf reservation.
13831 * config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
13832 * config/rs6000/rs6000.c (mfcr_operation): Define.
13833 (print_operand): Add 'Q' case for mfcrf.
13834 * config/rs6000/rs6000.h (TARGET_MFCRF): New.
13835 * config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
13836 (movcc_internal1): Emit optional field operand for mfcr and set
13837 "type" attribute appropriately.
13838 (mfcr SCC): Likewise.
13839 (movesi_from_cr_one): New.
13840
13841 2003-07-07 Roger Sayle <roger@eyesopen.com>
13842
13843 * config/i386/i386.md: Correct check-in of incorrect version.
13844
13845 2003-07-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
13846
13847 * bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
13848 adjacent stdio calls.
13849 * c-decl.c (c_print_identifier): Likewise.
13850 * mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
13851 * print-rtl.c (print_rtx): Likewise.
13852 * print-tree.c (print_node_brief, print_node): Likewise.
13853 * system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
13854
13855 * configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
13856 * config.in, configure: Regenerated.
13857
13858 2003-07-07 Roger Sayle <roger@eyesopen.com>
13859
13860 PR target/10979
13861 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
13862 Changed to define_expand patterns that copy operand[1] to prevent
13863 it from being clobbered before emitting an atan2?f3_1 insn.
13864 (atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
13865 patterns that actually specify the behaviour of x87's FPATAN.
13866
13867 2003-07-07 Jakub Jelinek <jakub@redhat.com>
13868
13869 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
13870 clearing of SYMBOL_FLAG_LOCAL bit.
13871 If vcall_offset fits into signed 16-bit immediate, use
13872 one instruction for both addition and load.
13873
13874 2003-07-07 Neil Booth <neil@daikokuya.co.uk>
13875
13876 * opts.c (common_handle_option): Correct handling of the
13877 -falign- switches that do and don't take an argument.
13878
13879 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
13880
13881 * config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
13882 today.
13883 (pushhi1_h8300hs): Likewise.
13884
13885 2003-07-07 Andreas Jaeger <aj@suse.de>
13886
13887 * genextract.c: Convert remaining prototypes to ISO C90.
13888
13889 * cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
13890 * fold-const.c (fold_single_bit_test): Likewise.
13891 * diagnostic.c (default_diagnostic_finalizer): Likewise.
13892 * cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
13893
13894 * gengtype.c (write_array): Generate ISO C90 prototypes.
13895
13896 * genflags.c (gen_proto): Generate ISO C90 prototypes.
13897
13898 2003-07-07 Roger Sayle <roger@eyesopen.com>
13899
13900 PR optimization/11059
13901 * expr.c (can_store_by_pieces): Return true if length is zero.
13902 (store_by_pieces): If length is zero and endp is two, abort,
13903 othwerise, if length is zero and endp is not two, return "to".
13904 (clear_by_pieces): Do nothing if length is zero.
13905 (clear_storage): Do nothing if length is zero.
13906 (store_constructor): Simplify code when size is zero, or the
13907 target has already been cleared. This avoids emitting a
13908 blockage instruction when initializing empty structures.
13909
13910 2003-07-07 Andreas Jaeger <aj@suse.de>
13911
13912 * mips-tfile.c: Convert prototypes to ISO C90.
13913 * mips-tdump.c: Convert prototypes to ISO C90.
13914
13915 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
13916
13917 * rtl.h (emit_line_note): Take a location_t.
13918 (emit_line_note_force): Remove.
13919 (set_file_and_line_for_statement): Take a location_t.
13920 * tree.g (emit_line_note): Take a location_t.
13921 * emit-rtl.c (emit_line_note): Take a location_t.
13922 (emit_line_note_force): Remove.
13923 * function.c (init_function_start): Adjust emit_line_note call.
13924 (expand_function_end): Use force_next_line_note, not
13925 emit_line_note_force.
13926 * c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
13927 * c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
13928 genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
13929 genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
13930 genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
13931 genrtl_continue_stmt, genrtl_switch_stmt,
13932 genrtl_asm_stmt): Likewise.
13933 * expr.c (expand_expr): Likewise.
13934 * integrate.c (expand_inline_function): Likewise.
13935 * stmt.c (set_file_and_line_for_stmt): Take a location_t.
13936 (expand_decl_init): Adjust emit_line_note call.
13937
13938 2003-07-07 Dale Johannesen <dalej@apple.com>
13939
13940 * config/rs6000/darwin-tramp.asm: Fix trampolines. PR 10900.
13941
13942 2003-07-07 Andreas Jaeger <aj@suse.de>
13943
13944 * config/i386/i386-protos.h: Convert prototypes to ISO C90.
13945 * config/i386/i386.c: Likewise.
13946
13947 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
13948
13949 * config/h8300/h8300.md: Use gen_int_mode instead of
13950 GEN_INT (trunc_int_for_mode (...)).
13951
13952 2003-07-07 Kazu Hirata <kazu@cs.umass.edu>
13953
13954 * config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
13955 2 bytes and then subtract 2 from the stack pointer.
13956 (pushhi1_h8300hs): Likewise.
13957
13958 2003-07-07 Nathan Sidwell <nathan@codesourcery.com>
13959
13960 * configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
13961 -frandom-seed.
13962 * configure: Regenerated.
13963 * Makefile.in: Remove extraneous comment.
13964 * toplev.c (randomize): Protect against potential multiple calls.
13965 * doc/invoke.texi (-frandom-seed): Document use for in coverage
13966 files.
13967
13968 2003-07-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13969 Eric Botcazou <ebotcazou@libertysurf.fr>
13970
13971 PR optimization/11198
13972 * alias.c (objects_must_conflict_p): Return 1 if the types have
13973 the same alias set, not if the alias sets only conflict.
13974
13975 2003-07-07 Andrew Pinski <pinskia@physics.uc.edu>
13976
13977 * cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
13978 (convert_cset): Change inbuf to type ICONV_CONST char.
13979 * Makefile.in (LIBS): Add LIBICONV.
13980
13981 * doc/invoke.texi (-falign-functions): Document that
13982 when n is zero then a machine-dependent default is used.
13983 (-falign-labels): Document that when n is zero then a
13984 machine-dependent default is used and that -falign-labels =1
13985 is equivalent to -fno-align-labels.
13986 (-falign-loops): Likewise.
13987 (-falign-jumps): Likewise.
13988
13989 2003-07-06 Art Haas <ahaas@airmail.net>
13990
13991 * f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
13992 initializer syntax.
13993
13994 2003-07-06 James E Wilson <wilson@tuliptree.org>
13995
13996 PR optimization/9812
13997 * rtl.h (mem_for_const_double): Delete prototype.
13998 * varasm.c (mem_for_const_double): Delete function.
13999 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
14000 config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
14001 (LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
14002 * config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
14003 (LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
14004 * config/m68k/m68k.md (movxf): Add reload_in_progress guard. Add
14005 comment about confused support for XFmode constants.
14006
14007 2003-07-07 Jan Hubicka <jh@suse.cz>
14008
14009 * cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
14010
14011 2003-07-06 Kazu Hirata <kazu@cs.umass.edu>
14012
14013 * config/h8300/h8300.c: Fix comment typos.
14014 * config/h8300/h8300.md: Likewise.
14015 * config/i386/athlon.md: Likewise.
14016 * config/i386/i386.c: Likewise.
14017 * config/i386/pentium.md: Likewise.
14018 * config/ia64/ia64.c: Likewise.
14019 * config/ia64/itanium1.md: Likewise.
14020 * config/ia64/itanium2.md: Likewise.
14021 * config/m32r/m32r.md: Likewise.
14022 * config/m68hc11/m68hc11.c: Likewise.
14023 * config/mcore/mcore.c: Likewise.
14024 * config/mips/sr71k.md: Likewise.
14025 * config/mips/t-iris5-as: Likewise.
14026 * config/mmix/mmix.h: Likewise.
14027 * config/ns32k/ns32k.h: Likewise.
14028 * config/ns32k/NOTES: Fix a typo.
14029
14030 2003-07-06 Andreas Jaeger <aj@suse.de>
14031
14032 * stmt.c: Convert remaining prototypes to ISO C90.
14033 * cfglayout.c: Likewise.
14034 * dbxout.c: Likewise.
14035 * gcc.c: Likewise.
14036 * genemit.c: Likewise.
14037
14038 * basic-block.h: Convert prototypes to ISO C90.
14039 * c-parse.in: Likewise.
14040 * c-pragma.h: Likewise.
14041 * c-typeck.c: Likewise.
14042 * cfghooks.h: Likewise.
14043 * cfgloopanal.c: Likewise.
14044 * dbxout.h: Likewise.
14045 * debug.h: Likewise.
14046 * dwarf2asm.h: Likewise.
14047 * gcov.c: Likewise.
14048 * gengtype-lex.l: Likewise.
14049 * sched-int.h: Likewise.
14050 * timevar.c: Likewise.
14051
14052 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
14053
14054 * c-common.h (c_comon_handle_filename,
14055 c_common_missing_arguement): New.
14056 * c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14057 LANG_HOOKS_MISSING_ARGUMENT): New.
14058 * c-opts.c (missing_arg): Rename c_common_missing_argument,
14059 update to be an appropriate langhook.
14060 (c_common_handle_option): Don't handle filenames.
14061 (c_common_handle_filename): New.
14062 * hooks.c (hook_void_constcharptr,
14063 hook_bool_constcharptr_size_t_false): New.
14064 * hooks.h (hook_void_constcharptr,
14065 hook_bool_constcharptr_size_t_false): New.
14066 * langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
14067 LANG_HOOKS_MISSING_ARGUMENT): New.
14068 (LANG_HOOKS_INITIALIZER): Update.
14069 * langhooks.h (struct lang_hooks): Add handle_filename and
14070 missing_argument.
14071 * opts.c (handle_option): Don't handle filenames here, but ...
14072 (handle_options): ... here.
14073 (common_handle_option): Don't handle missing arguments here.
14074 * objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
14075 LANG_HOOKS_MISSING_ARGUMENT): New.
14076
14077 2003-07-06 Neil Booth <neil@daikokuya.co.uk>
14078
14079 * Makfile.in: Remove traces of mbchar.
14080 * c-parse.in (MULTIBYTE_CHARS): Remove.
14081 * config.in (MULTIBYTE_CHARS): Remove.
14082 * configure: Remove --enable-mbchar.
14083 * configure.in: Remove --enable-mbchar.
14084 * mbchar.c, mbchar.h: Remove.
14085 * system.h: Poison MULTIBYTE_CHARS.
14086 * config/linux-aout.h (MULTIBYTE_CHARS): Remove.
14087 * config/linux.h (MULTIBYTE_CHARS): Remove.
14088 * config/svr4.h (MULTIBYTE_CHARS): Remove.
14089 * config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
14090
14091 2003-07-06 Andreas Jaeger <aj@suse.de>
14092
14093 * varray.c (varray_check_failed): Fix typo.
14094
14095 * unroll.c: Convert prototypes to ISO C90.
14096 * varasm.c: Likewise.
14097 * varray.c: Likewise.
14098 * varray.h: Likewise.
14099 * vmsdbgout.c: Likewise.
14100 * xcoffout.c: Likewise.
14101 * xcoffout.h: Likewise.
14102
14103 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14104
14105 * gcov-io.h: Add a local time stamp.
14106 (struct gcov_info): Add stamp field.
14107 (gcov_truncate): New.
14108 * coverage.c (read_counts_file): Skip the stamp.
14109 (coverage_begin_output): Write the stamp.
14110 (build_gcov_info): Declare and init the stamp.
14111 (coverage_finish): Only unlink data file, if stamp is zero.
14112 * gcov-dump.c (dump_file): Dump the stamp.
14113 * gcov.c (bbg_stamp): New.
14114 (release_structures): Clear bbg_stamp.
14115 (read_graph_file): Read stamp.
14116 (read_count_file): Check stamp.
14117 * libgcov.c (gcov_exit): Check stamp and truncate if needed.
14118
14119 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14120
14121 * tree.h (default_flag_random_seed): Remove.
14122 * toplev.h (local_tick): Declare.
14123 * tree.c (flag_random_seed, default_flag_random_seed): Move to
14124 toplev.c.
14125 (append_random_chars): Don't call default_flag_random_seed.
14126 * toplev.c (flag_random_seed): Define here. Set local_tick.
14127 (local_tick): Define.
14128 (randomize): New, moved from tree.c.
14129 (print_switch_values): Adjust.
14130 (toplev_main): Call randomize.
14131
14132 2003-07-06 Nathan Sidwell <nathan@codesourcery.com>
14133
14134 * tree.h (crc32_string): Declare.
14135 * tree.c (append_random_chars): Remove.
14136 (crc32_string): New.
14137 (get_file_function_name_long): Use crc32_string here.
14138
14139 2003-07-06 Andreas Jaeger <aj@suse.de>
14140
14141 * gcc.c: Convert prototypes to ISO C90.
14142 * gcc.h: Likewise.
14143 * gcov-dump.c: Likewise.
14144 * gcov-iov.c: Likewise.
14145 * gcse.c: Likewise.
14146 * genattrtab.h: Likewise.
14147 * ggc.h: Likewise.
14148 * global.c: Likewise.
14149 * graph.c: Likewise.
14150 * graph.h: Likewise.
14151 * hosthooks.h: Likewise.
14152 * hooks.h: Likewise.
14153 * hooks.c: Likewise.
14154 * hashtable.h: Likewise.
14155 * hashtable.c: Likewise.
14156 * haifa-sched.c: Likewise.
14157 * integrate.h: Likewise.
14158 * integrate.c: Likewise.
14159 * input.h: Likewise.
14160 * ifcvt.c: Likewise.
14161 * jump.c: Likewise.
14162 * langhooks-def.h: Likewise. Add extern to prototypes.
14163 * langhooks.c: Likewise.
14164 * langhooks.h: Likewise.
14165 * lcm.c: Likewise.
14166 * local-alloc.c: Likewise.
14167 * loop-init.c: Likewise.
14168 * loop-unroll.c: Likewise.
14169 * loop-unswitch.c: Likewise.
14170 * loop.c: Likewise.
14171 * loop.h: Likewise. Add extern to prototypes.
14172 * machmode.h: Likewise.
14173 * main.c: Likewise.
14174 * mbchar.c: Likewise.
14175 * mbchar.h: Likewise.
14176 * mkdeps.c: Likewise.
14177 * mkdeps.h: Likewise.
14178 * optabs.c: Likewise.
14179 * optabs.h: Likewise.
14180 * output.h: Likewise.
14181 * gccspec.c: Likwise.
14182 * postreload.c: Likewise.
14183 * prefix.c: Likewise.
14184 * prefix.h: Likewise.
14185 * print-rtl.c: Likewise.
14186 * print-tree.c: Likewise.
14187 * profile.c: Likewise.
14188 * read-rtl.c: Likewise.
14189 * real.c: Likewise.
14190 * real.h: Likewise.
14191 * recog.c: Likewise.
14192 * recog.h: Likewise.
14193 * reg-stack.c: Likewise.
14194 * regclass.c: Likewise.
14195 * regmove.c: Likewise.
14196 * regrename.c: Likewise.
14197 * regs.h: Likewise.
14198 * reload.c: Likewise.
14199 * reload.h: Likewise.
14200 * reload1.c: Likewise.
14201 * reorg.c: Likewise.
14202 * resource.c: Likewise.
14203 * resource.h: Likewise.
14204 * rtl-error.c: Likewise.
14205 * rtl.c: Likewise.
14206 * rtl.h: Likewise.
14207 * rtlanal.c: Likewise.
14208 * sbitmap.c: Likewise.
14209 * sbitmap.h: Likewise.
14210 * scan-decls.c: Likewise.
14211 * scan.c: Likewise.
14212 * sched-deps.c: Likewise.
14213 * sched-ebb.c: Likewise.
14214 * sched-int.h: Likewise.
14215 * sched-rgn.c: Likewise.
14216 * sched-vis.c: Likewise.
14217 * sibcall.c: Likewise.
14218 * simplify-rtx.c: Likewise.
14219 * sreal.c: Likewise.
14220 * sreal.h: Likewise.
14221 * ssa-ccp.c: Likewise.
14222 * ssa-dce.c: Likewise.
14223 * ssa.c: Likewise.
14224 * ssa.h: Likewise.
14225 * stack.h: Likewise.
14226 * stmt.c: Likewise.
14227 * stor-layout.c: Likewise.
14228 * stringpool.c: Likewise.
14229 * target.h: Likewise.
14230 * timevar.c: Likewise.
14231 * timevar.h: Likewise.
14232 * tlink.c: Likewise.
14233 * tracer.c: Likewise.
14234 * tree-inline.c: Likewise.
14235 * tree-inline.h: Likewise.
14236 * tree.c: Likewise.
14237 * tree.h: Likewise.
14238
14239 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14240
14241 * combine.c (nonzero_bits1): Fix a warning.
14242
14243 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14244
14245 * config/h8300/h8300.c (compute_mov_length): Correct the
14246 length of loading CONST0_RTX (SFmode).
14247
14248 2003-07-05 Nathan Sidwell <nathan@codesourcery.com>
14249
14250 * toplev.c (output_clean_symbol_name): Remove.
14251 * toplev.h (output_clean_symbol_name): Remove.
14252 * config/alpha/alpha.c (unicosmk_output_module_name): Use
14253 lbasename & clean_symbol_name.
14254
14255 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14256
14257 * ggc.h: Follow spelling conventions.
14258 * config/i386/i386.c: Likewise.
14259 * config/i386/winnt.c: Likewise.
14260 * config/rs6000/rs6000.c: Likewise.
14261
14262 2003-07-05 Kazu Hirata <kazu@cs.umass.edu>
14263
14264 * bt-load.c: Fix comment typos.
14265 * c-incpath.c: Likewise.
14266 * cfg.c: Likewise.
14267 * cfgcleanup.c: Likewise.
14268 * cfgloop.h: Likewise.
14269 * cfgloopmanip.c: Likewise.
14270 * cfgrtl.c: Likewise.
14271 * diagnostic.h: Likewise.
14272 * dwarfout.c: Likewise.
14273 * emit-rtl.c: Likewise.
14274 * et-forest.c: Likewise.
14275 * et-forest.h: Likewise.
14276 * expr.c: Likewise.
14277 * gcse.c: Likewise.
14278 * genattr.c: Likewise.
14279 * jump.c: Likewise.
14280 * langhooks.h: Likewise.
14281 * local-alloc.c: Likewise.
14282 * loop-unroll.c: Likewise.
14283 * loop-unswitch.c: Likewise.
14284 * ra-build.c: Likewise.
14285 * regclass.c: Likewise.
14286 * regmove.c: Likewise.
14287 * rtl.def: Likewise.
14288 * rtlanal.c: Likewise.
14289 * sched-ebb.c: Likewise.
14290 * sched-rgn.c: Likewise.
14291 * simplify-rtx.c: Likewise.
14292 * ssa.c: Likewise.
14293 * tracer.c: Likewise.
14294 * tree.c: Likewise.
14295
14296 2003-07-05 Zack Weinberg <zack@codesourcery.com>
14297
14298 * cppcharset.c: Use the correct return type for the fallback iconv
14299 macro.
14300
14301 2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14302
14303 Blame to Jan Hubicka <jh@suse.cz>
14304 * cfglayout.c (record_effective_endpoints): Split insns before
14305 first basic block correctly.
14306
14307 2003-07-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14308
14309 * expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
14310 bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
14311 if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
14312
14313 2003-07-05 Andreas Jaeger <aj@suse.de>
14314
14315 * genattrtab.c (write_attr_get): Revert part of last patch to
14316 always write out a prototype.
14317
14318 * genemit.c (gen_split): Readd lost unused attributes in last
14319 patch.
14320
14321 2003-07-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14322
14323 * cfgloopmanip.c (force_single_succ_latches): Force latch to be
14324 different from header.
14325
14326 2003-07-05 Andreas Schwab <schwab@suse.de>
14327
14328 * config/m68k/m68k.c: Remove code protected by CRDS.
14329 * config/m68k/m68k.md: Likewise.
14330
14331 2003-07-05 Neil Booth <neil@daikokuya.co.uk>
14332
14333 PR driver/11417
14334 * c-opts.c (permit_fortran_options): New.
14335 (c_common_init_options): Accept fortran front end options if
14336 it looks like we might be preprocessing Fortran.
14337 (c_common_handle_option): Don't reject switch if permit_fotran_options.
14338
14339 2003-07-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14340
14341 * genattr.c (internal_dfa_insn_code): Output prototype.
14342 * genattrtab.c: Don't output unnecessary decls, output in ISO C.
14343 * genautomata.c: Likewise.
14344 * genconditions.c: Likewise.
14345 * genemit.c: Likewise.
14346 * genextract.c: Likewise.
14347 * gengenrtl.c: Likewise.
14348 * gengtype.c: Likewise.
14349 * genopinit.c: Likewise.
14350 * genoutput.c: Likewise.
14351 * genpeep.c: Likewise.
14352 * genrecog.c: Likewise.
14353
14354 2003-07-04 Zack Weinberg <zack@codesourcery.com>
14355
14356 * cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
14357 (struct cpp_options): Add narrow_charset, wide_charset,
14358 bytes_big_endian fields. Remove EBCDIC field.
14359 (cpp_init_iconv, cpp_interpret_string): New external interfaces.
14360
14361 * cpphash.h: Include <iconv.h> if we have it, otherwise
14362 provide a dummy definition of iconv_t.
14363 (struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
14364 (_cpp_valid_ucn): Update prototype.
14365 (_cpp_destroy_iconv): New prototype.
14366
14367 * doc/cpp.texi: Document character set handling.
14368 * doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
14369 * doc/extend.texi: Delete entire section on multiline strings.
14370 Rewrite section on __FUNCTION__ etc now that these are
14371 variables in C.
14372
14373 * cppucnid.tab, cppucnid.pl: New files.
14374 * cppucnid.h: New generated file.
14375 * cppcharset.c: Include cppucnid.h. Lots of commentary added.
14376 (iconv_open, iconv, iconv_close): Provide dummy definitions
14377 if !HAVE_ICONV.
14378 (SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
14379 _cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
14380 emit_numeric_escape, convert_hex, convert_oct, convert_escape,
14381 cpp_interpret_string, narrow_str_to_charconst,
14382 wide_str_to_charconst): New.
14383 (ucn_valid_in_identifier): Use a binary search through the
14384 ucnranges table defined in cppucnid.h, not a long chain of if
14385 statements.
14386 (_cpp_valid_ucn): Add a limit pointer. Downgrade "universal
14387 character names are only valid in C++ and C99" to a warning.
14388 Issue the "meaning of \[uU] is different in traditional C"
14389 warning here. Take care not to let iconv see an invalid UCS
14390 value if we get a malformed UCN. Issue an error if we don't
14391 have iconv.
14392 (cpp_interpret_charconst): Moved here from cpplex.c. Use
14393 cpp_interpret_string to do the heavy lifting.
14394
14395 * cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
14396 narrow_charset, wide_charset fields of options structure.
14397 (cpp_destroy): Call _cpp_destroy_iconv.
14398 * cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
14399 (maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
14400 (cpp_interpret_charconst): Moved to cppcharset.c.
14401 * cpplib.c (dequote_string): Delete.
14402 (interpret_string_notranslate): New.
14403 (do_line, do_linemarker): Use interpret_string_notranslate.
14404
14405 * Makefile.in (cppcharset.o): Depend on cppucnid.h.
14406
14407 * c-common.c (fname_string, combine_strings): Delete.
14408 * c-common.h (fname_string, combine_strings): Delete prototypes.
14409 * c-lex.c (ignore_escape_flag): Delete.
14410 (cb_ident): Use cpp_interpret_string, not lex_string.
14411 (get_nonpadding_token): New function.
14412 (c_lex): Handle Objective-C @-prefixed identifiers and strings here.
14413 Adjust calls to lex_string. Don't write *value twice.
14414 (lex_string): Now handles string constant concatenation.
14415 Most of the work handed off to cpp_interpret_string.
14416 Call fix_string_type here.
14417 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
14418 FUNC_NAME, throughout.
14419 (OBJC_STRING): New token type.
14420 (primary:STRING): No need to call fix_string_type here.
14421 (primary:objc_string): Make that OBJC_STRING.
14422 (objc_string nonterminal): Delete.
14423 (yylexname): Delete code to handle fake string constants.
14424 (yylexstring): Delete entirely.
14425 (_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING. No need
14426 to handle CPP_ATSIGN.
14427
14428 * c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
14429 * c-opts.c (missing_arg, c_common_handle_option): Handle
14430 OPT_fexec_charset_ and OPT_fwide_exec_charset_.
14431 (c_common_init): Set cpp_opts->bytes_big_endian, not
14432 cpp_opts->EBCDIC. Call cpp_init_iconv.
14433 (print_help): Document -fexec-charset= and -fexec-wide-charset=.
14434 (TARGET_EBCDIC): Delete default definition.
14435
14436 * objc/objc-act.c (build_objc_string_object): No need to
14437 handle string constant concatenation.
14438
14439 2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
14440
14441 * doc/install.texi: Fix typos.
14442 * doc/invoke.texi: Likewise.
14443 * doc/tm.texi: Likewise.
14444
14445 2003-07-04 Kazu Hirata <kazu@cs.umass.edu>
14446
14447 * config/pa/fptr.c: Fix comment typos.
14448 * config/pa/pa-64.h: Likewise.
14449 * config/pa/pa.c: Likewise.
14450 * config/pa/pa.h: Likewise.
14451 * config/rs6000/603.md: Likewise.
14452 * config/rs6000/7xx.md: Likewise.
14453 * config/rs6000/darwin.h: Likewise.
14454 * config/rs6000/freebsd.h: Likewise.
14455 * config/rs6000/rs6000.c: Likewise.
14456 * config/rs6000/rs6000.md: Likewise.
14457 * config/rs6000/spe.h: Likewise.
14458
14459 2003-07-04 Ulrich Weigand <uweigand@de.ibm.com>
14460
14461 * config/s390/2064.md: Change GNU CC to GCC.
14462 * config/s390/2084.md: Likewise.
14463 * config/s390/fixdfdi.h: Likewise.
14464 * config/s390/linux.h: Likewise.
14465 * config/s390/s390-modes.def: Likewise.
14466 * config/s390/s390-protos.h: Likewise.
14467 * config/s390/s390.c: Likewise.
14468 * config/s390/s390.h: Likewise.
14469 * config/s390/s390.md: Likewise.
14470 * config/s390/s390x.h: Likewise.
14471
14472 2003-07-04 Jeff Law <law@redhat.com>
14473
14474 PR c/11428
14475 * expr.c (do_store_flag): Pass in the correct result type
14476 when calling fold_single_bit_test.
14477 * fold-const.c (fold_single_bit_test): Use result_type for the
14478 result when folding a sign bit test.
14479
14480 2003-07-04 Neil Booth <neil@daikokuya.co.uk>
14481
14482 * opts.c (common_handle_options): Negate sense of -falign- switches.
14483
14484 2003-07-04 H.J. Lu <hongjiu.lu@intel.com>
14485
14486 * Makefile.in: Replace PWD with PWD_COMMAND.
14487
14488 2003-07-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14489
14490 * cfgloopanal.c (count_strange_loop_iterations): New static function.
14491 (constant_iterations, count_loop_iterations, simple_loop_exit_p):
14492 Handle strange loops.
14493
14494 2003-07-04 Toon Moene <toon@moene.indiv.nluug.nl>
14495
14496 * install.texi: Even the g77 manpage is derived from
14497 the full g77 manual.
14498
14499 2003-07-04 Zack Weinberg <zack@codesourcery.com>
14500
14501 * ABOUT-NLS: Delete.
14502 * intl: Delete entire directory.
14503 * aclocal.m4: Include ../config/gettext.m4. Delete
14504 AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
14505 AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
14506 * configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
14507 Remove intl/Makefile from all_outputs.
14508 * configure, config.in: Regenerate.
14509 * Makefile.in: Expunge all references to intl subdirectory.
14510 Add -I../intl to INCLUDES.
14511 * intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
14512
14513 2003-07-04 Roger Sayle <roger@eyesopen.com>
14514
14515 * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
14516 * config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
14517
14518 2003-07-04 Danny Smith <dannysmith@users.sourceforge.net>
14519
14520 PR c++/5287, PR c++/7910, PR c++/11021
14521 * config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
14522 dllimport attribute if function is defined at declaration, but
14523 report error instead. Likewise for dllimport'd variable
14524 definitions. Set implicit TREE_PUBLIC for dllimport'd variables
14525 declared within functions, Report error if dllimport or dllexport
14526 symbol is not global.
14527 (i386_pe_dllimport_p): Ignore dllimport attribute of functions
14528 if defined after declaration or if inlined. Don't allow definition
14529 of static data members of C++ classes. Don't dllimport virtual
14530 methods.
14531 (i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
14532 (i386_pe_mark_dllimport): Remove unnecessary checks.
14533 (i386_pe_encode_section_info): Warn if the dllimport attribute
14534 and symbol prefix have been instantiated and then overridden.
14535
14536 * doc/extend.texi: Document dllimport and dllexport attributes.
14537
14538 * config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
14539
14540 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
14541
14542 * config/kaos.h (CPP_PREDEFINES): Delete.
14543 (TARGET_OS_CPP_BUILTINS): New.
14544
14545 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14546
14547 * c-aux-info.c: Include toplev.h after c-tree.h.
14548 * c-common.c: Likewise.
14549 (GCC_DIAG_STYLE): Undef.
14550 * c-semantics.c (GCC_DIAG_STYLE): Define.
14551 * c-tree.h (GCC_DIAG_STYLE): Likewise.
14552 * diagnostic.h (inform): Move prototype to toplev.h.
14553 * jump.c: Include diagnostic.h before toplev.h.
14554 * toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
14555 (warning, error, fatal_error, pedwarn, sorry, inform,
14556 error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
14557
14558 2003-07-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14559
14560 * cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
14561 at all if edge is not specified.
14562 (can_copy_bbs_p, copy_bbs): New.
14563 * cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
14564 * cfgloop.c (get_loop_body): Comment more precisely.
14565 * cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
14566 (scale_bbs_frequencies): Fix comment typo.
14567 (can_duplicate_loop_p): Use can_copy_bbs_p.
14568 (duplicate_loop_to_header_edge): Simplify by using copy_bbs.
14569
14570 2003-07-03 Devang Patel <dpatel@apple.com>
14571
14572 * c-opts.c (c_common_parse_file): Remove extra
14573 debug_hooks->start_source_file call.
14574
14575 2003-07-03 Roger Sayle <roger@eyesopen.com>
14576
14577 * real.c (real_trunc, real_floor, real_ceil): New functions
14578 to implement trunc, floor and ceil respectively.
14579 * real.h (real_trunc, real_floor, real_ceil): Prototype here.
14580 * builtins.c (integer_valued_real_p): New function to test if
14581 a floating point expression has an integer valued result.
14582 (fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
14583 foo(x) where foo is an integer rounding function. Similarly,
14584 optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
14585 (double)(int)x when both foo and bar are integer rounding
14586 functions and we don't need to honor errno.
14587 (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
14588 New functions to fold trunc, floor and ceil.
14589 (fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
14590 fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
14591 to fold BUILT_IN_CEIL*.
14592 * fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
14593 the remaining integer rounding functions.
14594
14595 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
14596
14597 * config/sparc/sparc.c (function_arg_partial_nregs): Use
14598 SPARC_INT_ARG_MAX to determine where to split unnamed
14599 complex FP arguments.
14600
14601 2003-07-03 Jan Hubicka <jh@suse.cz>
14602
14603 * basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
14604 * cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
14605 (merge_blocks_move_predecessor_nojumps,
14606 merge_blocks_move_successor_nojumps): Use merge_blocks.
14607 (try_optimize_cfg): Use merge_blocks_move.
14608 * cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
14609 (merge_blocks_nomove): Rename to rtl_merge_blocks.
14610 (cfg_layout_create_basic_block): New.
14611 (rtl_can_merge_blocks): New.
14612 (cfg_layout_split_block): Do not alloc aux by hand.
14613 * cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
14614 merge_blocks.
14615 (create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
14616 * cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
14617 * cfgloopmanip.c (loop_split_edge_with): Likewise.
14618 * ifcvt.c (merge_if_block): Use merge_blocks_nomove.
14619
14620 * basic-block.h (basic_block_def): Add field 'rbi'.
14621 * bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
14622 find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
14623 * cfg.c (entry_exit_blocks): Add new field.
14624 * cfglayout.c: Include alloc-pool.h;
14625 (cfg_layout_pool): New.
14626 (record_effective_endpoints, fixup_reorder_chain,
14627 fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
14628 of rbi.
14629 (cfg_layout_initialize_rbi): New function.
14630 (cfg_layout_initialize): Use it.
14631 (cfg_layout_finalize): Clear rbi fields.
14632 * cfglayout.h (RBI): Kill.
14633 (cfg_layout_initialize_rbi): Declare.
14634 * cfgloopmanip.c (copy_bbs): Use rbi.
14635 (record_exit_edges): Likewise.
14636 (duplicate_loop_to_header_edge): Likewise.
14637 * cfgrtl.c (cfg_layout_create_basic_block): Use
14638 cfg_layout_initialize_rbi.
14639 (cfg_layout_split_block): Use rbi.
14640 (cfg_layout_delete_block): Likewise.
14641 * loop-init.c (loop_optimizer_finalize): Likewise.
14642 * loop-unswitch.c (unswitch_loop): Likewise.
14643 * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
14644
14645 * cfgrtl.c: Update comments.
14646 (try_redirect_by_replacing_jump): New argument.
14647 (redirect_branch_edge): Break out from ...
14648 (rtl_redirect_edge_and_branch): ... this one.
14649 (update_cfg_after_block_merging): Break out from ...
14650 (rtl_merge_blocks): ... this one.
14651 (cfg_layout_split_edge): New.
14652 (cfg_layout_merge_blocks): New.
14653 (cfg_layout_can_merge_blocks_p): New.
14654 (cfg_layout_redirect_edge_and_branch): Reorganize.
14655 (cfg_layout_rtl_cfg_hooks): Fill in.
14656 (cfg_layout_delete_block): Kill barriers.
14657 * cfganal.c (can_fallthru): Deal with exit blocks
14658 * cfglayout.c (cfg_layout_function_header): New function
14659 (record_effective_endpoints): Record function header.
14660 (fixup_reorder_chain): Fixup dead jumptables; place header
14661
14662 * basic-block.h (CLEANUP_CFGLAYOUT): New flag.
14663 * bb-reorder.c (cfg_layout_initialize): Update call.
14664 * cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
14665 edges in cfglayout mode.
14666 * cfglayout.c (cleanup_unconditional_jumps): Kill.
14667 (cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
14668 * cfglayout.h (cfg_layout_initialize): Update prototype.
14669 * cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
14670 * cfgloopmanip.c (loop_split_edge_with): Use split_edge.
14671 * flow.c (propagate_block): Do not crash when basic block ends
14672 by first insn in the chain.
14673 * loop-init.c (loop_optimizer_init): First enter cfglayout mode; later
14674 do loop discovery.
14675 * tracer.c (tracer): Update call of cfg_layout_initialize.
14676
14677 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14678
14679 * Makefile.in: Use dependency variables in lieu of explicit
14680 files throughout.
14681
14682 2003-07-03 Steven Bosscher <steven@gcc.gnu.org>
14683
14684 * rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
14685 * tree.h: ...to here.
14686
14687 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
14688
14689 * config/s390/2064.md: Fix comment typos.
14690 * config/s390/2084.md: Likewise.
14691 * config/s390/s390.c: Likewise.
14692 * config/s390/s390.md: Likewise.
14693 * config/sh/sh.c: Likewise.
14694 * config/sh/sh.h: Likewise.
14695 * config/sh/sh.md: Likewise.
14696 * config/sparc/sparc.c: Likewise.
14697 * config/sparc/sparc.h: Likewise.
14698 * config/sparc/sparc.md: Likewise.
14699 * config/stormy16/stormy16.c: Likewise.
14700 * config/stormy16/stormy16.h: Likewise.
14701 * config/stormy16/stormy-abi: Fix a typo.
14702
14703 2003-07-03 Kelley Cook <kelleycook@wideopenwest.org>
14704
14705 * Makefile.in (ifcvt.o): Depend on OPTABS_H.
14706
14707 2003-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14708
14709 * config/mips/mips.h (save_argv): Delete.
14710
14711 2003-07-03 Roger Sayle <roger@eyesopen.com>
14712
14713 PR target/10700
14714 * fold-const.c (extract_muldiv_1): There's nothing that can be done
14715 if the expression is a SAVE_EXPR.
14716
14717 2003-07-03 Kazu Hirata <kazu@cs.umass.edu>
14718
14719 * config/m32r/m32r.c: Fix comment typos.
14720 * config/m68hc11/m68hc11.c: Likewise.
14721 * config/m68hc11/m68hc11.h: Likewise.
14722 * config/m68k/m68k.c: Likewise.
14723 * config/mcore/mcore.c: Likewise.
14724 * config/mcore/mcore.h: Likewise.
14725 * config/mcore/mcore.md: Likewise.
14726 * config/mips/mips.c: Likewise.
14727 * config/mips/mips.h: Likewise.
14728 * config/mips/mips.md: Likewise.
14729 * config/mips/netbsd.h: Likewise.
14730 * config/mn10300/mn10300.c: Likewise.
14731
14732 2003-07-03 Andreas Schwab <schwab@suse.de>
14733
14734 * dbxout.c (pending_bincls): Move decl down inside
14735 DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
14736
14737 2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
14738
14739 * rtl.h (NOTE_DATA): Refer to whole union.
14740 * emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
14741
14742 2003-07-03 Eric Botcazou <ebotcazou@libertysurf.fr>
14743
14744 PR optimization/11381
14745 * simplify-rtx.c (simplify_relational_operation): Check that
14746 two equal operands have no side-effects before simplifying
14747 the comparison.
14748
14749 2003-07-02 Jeff Law <law@redhat.com>
14750
14751 * expr.c (do_store_flag): Remove special case folding for
14752 single bit tests. Instead call back into the commonized folder
14753 routine.
14754 * fold-const.c (fold_single_bit_test): New function, mostly
14755 extracted from do_store_flag, with an additional case extracted
14756 from fold.
14757 (fold): Call fold_single_bit_test appropriately.
14758 * tree.h (fold_single_bit_test): Prototype.
14759
14760 2003-07-02 Zack Weinberg <zack@codesourcery.com>
14761
14762 * system.h: Include filenames.h.
14763 (IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
14764 (DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
14765 define based on HAVE_DOS_BASED_FILE_SYSTEM.
14766 * config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
14767 * config/i386/xm-mingw32.h: Don't define
14768 HAVE_DOS_BASED_FILE_SYSTEM,
14769 DIR_SEPARATOR, or DIR_SEPARATOR_2.
14770 * doc/hostconfig.texi: Update to match.
14771
14772 * cppfiles.c, gcc.c, gensupport.c, protoize.c,
14773 config/i386/cygwin.h:
14774 Use IS_ABSOLUTE_PATH throughout.
14775 * gcc.c (DIR_UP): Delete, unused.
14776 * protoize.c (IS_SAME_PATH): Define in terms of
14777 FILENAME_CMP.
14778 (is_abspath): Delete.
14779
14780 2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
14781
14782 * config/i386/emmintrin.h: Fix comment typos.
14783 * config/i386/i386.c: Likewise.
14784 * config/i386/i386.h: Likewise.
14785 * config/i386/sco5.h: Likewise.
14786 * config/ia64/ia64.c: Likewise.
14787 * config/ia64/itanium2.md: Likewise.
14788
14789 2003-07-02 H.J. Lu <hongjiu.lu@intel.com>
14790
14791 * dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
14792 DBX_USE_BINCL.
14793 (emit_bincl_stab): Same.
14794 (emit_pending_bincls): Same.
14795
14796 2003-07-02 Kazu Hirata <kazu@cs.umass.edu>
14797
14798 * config/h8300/h8300.c (compute_mov_length): Fix the length of
14799 loading CONST0_RTX (SFmode).
14800 * config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
14801 'G' to CONST0_RTX (SFmode).
14802 * config/h8300/h8300.md (movsf_h8300): Change the first
14803 constraint to 'G'.
14804 (movsf_h8300h): Likewise.
14805
14806 2003-07-02 Neil Booth <neil@daikokuya.co.uk>
14807
14808 * c-common.h (c_common_init_options): New prototype.
14809 * c-opts.c (deferred_size): Remove.
14810 (defer_opt): Array is now pre-allocated.
14811 (c_common_init_options): Pre-allocate deferred_opts. Make
14812 lang_flags unsigned.
14813 (push_command_line_options): Free deferred_opts.
14814 * hooks.c (hook_uint_uint_constcharptrptr_0): New.
14815 * hooks.h (hook_uint_uint_constcharptrptr_0): New.
14816 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
14817 * langhooks.h (struct lang_hooks): New prototype for init_options.
14818 * main.c (main): Cast argv.
14819 * opts.c (handle_option, handle_options): Update prototypes.
14820 (decode_options): save_argc, save_argv are not global. Constify.
14821 * opts.h (decode_options): New prototype.
14822 * toplev.c (general_init): New protoype.
14823 (save_argv): Make static.
14824 (save_argc): Remove.
14825 (print_switch_values, general_init): Constify.
14826 (toplev_main): Save argv.
14827 * toplev.h (toplev_main): Update prototype.
14828 (save_argc, save_argv): Remove.
14829
14830 2003-07-02 David Edelsohn <edelsohn@gnu.org>
14831
14832 * dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
14833 (emit_bincl_stab): Same.
14834 (emit_pending_bincls): Same.
14835
14836 2003-07-02 Nathan Sidwell <nathan@codesourcery.com>
14837
14838 PR c++/11072
14839 * ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
14840
14841 2003-07-02 Andreas Schwab <schwab@suse.de>
14842
14843 * dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
14844
14845 2003-07-02 Eric Botcazou <ebotcazou@libertysurf.fr>
14846
14847 PR optimization/11210
14848 * expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
14849 about the behaviour with regard to bitfields.
14850 * fold-const (decode_field_reference): Record outermost type in
14851 case the expression is a NOP. Strip all NOPs. Set the signedness
14852 to that of the outermost type (if any) when the bitsize is equal
14853 to the size of the type.
14854
14855 2003-07-02 Richard Sandiford <rsandifo@redhat.com>
14856
14857 * config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
14858 (addsi3_internal, adddi3, adddi3_internal_2): Likewise.
14859 (adddi3_internal_3, addsi3_internal_2): Likewise.
14860
14861 2003-07-02 Richard Sandiford <rsandifo@redhat.com>
14862
14863 * config/mips/mips.c (machine_function): Add new fields:
14864 ignore_hazard_length_p and all_noreorder_p.
14865 (mips_flag_delayed_branch): New variable.
14866 (override_options): Treat '/' as an operand punctuation character.
14867 Set up mips_flag_delayed_branch.
14868 (print_operand): Handle '/'.
14869 (mips_output_function_prologue): Put the whole function in
14870 .set noreorder and .set nomacro if all_noreorder_p is true.
14871 (mips_output_function_epilogue): End the noreorder/nomacro sequence.
14872 (mips16_optimize_gp): Remove "first insn" parameter.
14873 (mips16_lay_out_constants): New function, split out from mips_reorg.
14874 (mips_avoid_hazard, mips_avoid_hazards): New functions.
14875 (mips_reorg): For mips16 code, call mips16_lay_out_constant
14876 and (optionally) mips16_optimize. If TARGET_EXPLICIT_RELOCS,
14877 do delayed-branch scheduling followed by hazard detection.
14878 (mips_adjust_insn_length): Only account for hazards if
14879 !ignore_hazard_length_p.
14880 (mips_output_load_label): Add a nop to the o32 sequence if
14881 the target suffers from load delays.
14882 (mips_output_conditional_branch): Add %/ to the end of branches.
14883 (mips_output_division): Fill the branch delay slot with %#.
14884 * config/mips/mips.md: Remove redundant '%*' from mips16 branch
14885 instructions. End all other %* branches with %/.
14886 (ffssi2, ffsdi2): Fix lengths.
14887 (truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
14888 (fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
14889 (fix_truncsfsi2_macro): Likewise.
14890 (mov_lwl): Set hazard to "none".
14891 (ashldi3_internal): Fill the branch delay slot with %#.
14892 (ashrdi3_internal, lshrdi3_internal): Likewise.
14893 (exception_receiver): Explicitly set $28.
14894 (hazard_nop): New pattern.
14895
14896 2003-07-02 Jan Hubicka <jh@suse.cz>
14897
14898 * cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
14899 before calling tree_inlinable_function_p.
14900
14901 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14902
14903 * fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
14904 <internal/stdio_core.h> too.
14905 (stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
14906 <internal/wchar_core.h> too.
14907 Substitute va_list uses in inline definition.
14908 * fixinc/fixincl.x: Regenerate.
14909
14910 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14911
14912 * config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
14913 Undef before redefinition.
14914 (LABEL_AFTER_LOC): Likewise.
14915 (DEFAULT_SIGNED_CHAR): Likewise.
14916 (ASM_OUTPUT_ASCII): Moved here from iris4.h.
14917 Fix IRIX spelling.
14918
14919 * config/mips/iris3.h: Remove, unused.
14920 * config/mips/iris4.h: Likewise.
14921
14922 * config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
14923
14924 * config/mips/iris5.h (TARGET_DEFAULT): Move ...
14925 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
14926 target_cpu_default.
14927
14928 * config/mips/iris5.h: Move explicit includes ...
14929 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
14930
14931 * config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
14932 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
14933 tm_defines.
14934
14935 * config/mips/iris6.h (TARGET_DEFAULT): Move ...
14936 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
14937 target_cpu_default.
14938
14939 * config/mips/iris6.h: Fix IRIX spelling.
14940 (MULTILIB_DEFAULTS): Undef before redefinition.
14941
14942 * config/mips/iris6.h: Move explicit includes ...
14943 * config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
14944
14945 2003-07-02 Jan Hubicka <jh@suse.cz>
14946
14947 * cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
14948 cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
14949 Use next_needed field instead of aux to maintain the queue.
14950 * cgraph.h (cgraph_node): Add next_needed.
14951 (cgraph_varpool_node): Add next_needed; remove aux.
14952 * cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
14953
14954 2003-07-02 Jan Hubicka <jh@suse.cz>
14955
14956 * cgraphunit.c (cgraph_finalize_function): Set finalized.
14957 (cgraph_finalize_function): Do not examine inlinablility.
14958 (cgraph_finalize_compilation_unit): Do it here.
14959 * cgraph.h (cgraph_local_info): Add finalized field.
14960
14961 2003-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14962
14963 * ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
14964 (gt_pch_restore): Likewise.
14965
14966 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
14967
14968 * config/alpha/alpha.c: Fix comment typos.
14969 * config/alpha/elf.h: Likewise.
14970 * config/arm/arm.c: Likewise.
14971 * config/arm/arm.h: Likewise.
14972 * config/arm/arm.md: Likewise.
14973 * config/arm/t-arm-coff: Likewise.
14974 * config/arm/t-strongarm-pe: Likewise.
14975 * config/arm/xscale-elf.h: Likewise.
14976 * config/avr/avr.h: Likewise.
14977
14978 2003-07-01 Jeff Law <law@redhat.com>
14979
14980 * stmt.c (any_pending_cleanups): Remove another redundant test.
14981
14982 2003-07-01 David Edelsohn <edelsohn@gnu.org>
14983 J"orn Rennecke <joern.rennecke@superh.com>
14984
14985 * config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
14986 for MEM case.
14987
14988 2003-07-01 Devang Patel <dpatel@apple.com>
14989
14990 * dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
14991 (binclstatus): New.
14992 (struct dbx_file): New members - bincl_status, pending_bincl_name and
14993 prev.
14994 (pending_bincls): New.
14995 (dbxout_init): Initialize new dbx_file members.
14996 (dbxout_start_source_file): Same.
14997 (emit_bincl_stab): New function.
14998 (emit_pending_bincls): Same.
14999 (emit_pending_bincls_if_required): Same.
15000 (dbxout_end_source_file): Emit EINCL stab only if BINCL is already
15001 processed.
15002 (dbxout_begin_block): Emit pending BINCL stabs.
15003 (dbxout_end_block): Same.
15004 (dbxout_function_decl): Same.
15005 (dbxout_continue): Same.
15006 (dbxout_type): Same.
15007 (dbxout_class_name_qualifiers): Same.
15008 (dbxout_symbol): Same.
15009 (dbxout_symbol_location): Same.
15010 (dbxout_parms): Same.
15011
15012 2003-07-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15013
15014 * c-semantics.c (genrtl_case_label): Fix format specifier bug.
15015 * cfgrtl.c (rtl_verify_flow_info_1): Likewise.
15016
15017 2003-07-01 Andreas Jaeger <aj@suse.de>
15018
15019 * fold-const.c: Convert prototypes to ISO C90.
15020 * function.c: Likewise.
15021 * function.h: Likewise.
15022
15023 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15024
15025 * doc/contrib.texi: Fix typos.
15026 * doc/invoke.texi: Likewise.
15027 * doc/passes.texi: Likewise.
15028 * doc/sourcebuild.texi: Likewise.
15029 * doc/tm.texi: Likewise.
15030
15031 2003-07-01 Kazu Hirata <kazu@cs.umass.edu>
15032
15033 * basic-block.h: Fix comment typos.
15034 * bb-reorder.c: Likewise.
15035 * c-format.c: Likewise.
15036 * cfgcleanup.c: Likewise.
15037 * cfghooks.h: Likewise.
15038 * cfgloop.c: Likewise.
15039 * cfgloopmanip.c: Likewise.
15040 * cfgrtl.c: Likewise.
15041 * cgraph.h: Likewise.
15042 * cgraphunit.c: Likewise.
15043 * combine.c: Likewise.
15044 * convert.c: Likewise.
15045 * dbxout.c: Likewise.
15046 * df.c: Likewise.
15047 * df.h: Likewise.
15048 * diagnostic.c: Likewise.
15049 * dwarf2out.c: Likewise.
15050 * et-forest.h: Likewise.
15051 * flow.c: Likewise.
15052 * fold-const.c: Likewise.
15053 * function.h: Likewise.
15054 * gcov-io.h: Likewise.
15055 * gcov.c: Likewise.
15056 * gcse.c: Likewise.
15057 * genautomata.c: Likewise.
15058 * ggc-common.c: Likewise.
15059 * ggc-page.c: Likewise.
15060 * loop-unroll.c: Likewise.
15061 * loop-unswitch.c: Likewise.
15062 * loop.c: Likewise.
15063 * mips-tfile.c: Likewise.
15064 * optabs.c: Likewise.
15065 * ra-build.c: Likewise.
15066 * ra-colorize.c: Likewise.
15067 * ra-rewrite.c: Likewise.
15068 * ra.h: Likewise.
15069 * regmove.c: Likewise.
15070 * reload.c: Likewise.
15071 * rtlanal.c: Likewise.
15072 * sched-ebb.c: Likewise.
15073 * sched-int.h: Likewise.
15074 * sched-vis.c: Likewise.
15075 * sreal.c: Likewise.
15076 * ssa-ccp.c: Likewise.
15077 * ssa.c: Likewise.
15078 * toplev.c: Likewise.
15079 * tree-inline.c: Likewise.
15080 * value-prof.c: Likewise.
15081 * value-prof.h: Likewise.
15082
15083 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
15084
15085 * rtl.h (emit_line_note_after): Remove.
15086 (emit_note_copy_after, emit_note_copy): New.
15087 * emit-rtl.c (reorder_insns_with_line_notes): Replace
15088 emit_line_note_after with emit_note_copy_after.
15089 (emit_insn_after_with_line_notes): Likewise.
15090 (emit_line_note_after): Kill.
15091 (emit_note_copy_after): New.
15092 (emit_note_copy): New.
15093 * function.c (emit_return_into_block): Use emit_note_copy_after.
15094 (thread_prologue_and_epilogue_insns): Likewise.
15095 * integrate.c (expand_inline_function): Use emit_note_copy.
15096 (copy_insn_list): Likewise.
15097 * unroll.c (copy_loop_body): Likewise.
15098 * cfglayout.c (duplicate_insn_chain): Likewise.
15099
15100 2003-07-01 Nathan Sidwell <nathan@codesourcery.com>
15101
15102 * c-tree.h (define_label): Replace filename and lineno arguments
15103 with a location_t.
15104 * c-decl.c (poplevel): Adjust define_label call.
15105 (pop_label_level): Likewise.
15106 (define_label): Replace filename and lineno arguments with a
15107 location_t.
15108 (store_parm_decls): Use DECL_SOURCE_LOCATION.
15109 * c-parse.in (label): Adjust define_label call.
15110
15111 2003-07-01 Neil Booth <neil@daikokuya.co.uk>
15112
15113 * config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
15114 config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
15115 config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
15116 config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
15117 config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
15118
15119 2003-07-01 Andreas Jaeger <aj@suse.de>
15120
15121 * final.c: Convert prototypes to ISO C90.
15122 * flow.c: Likewise.
15123 * flags.h: Likewise.
15124 * gcov-io.c: Likewise.
15125 * gcov-io.h: Likewise.
15126
15127 See ChangeLog.9 for earlier changes.