OSDN Git Service

* config/mips/mips.c (mips_global_pointer): Force functions with
[pf3gnuchains/gcc-fork.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.