]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
configure.in (assembler dwarf2 debug_line support): Define insn for cris-*-* and...
[thirdparty/gcc.git] / gcc / ChangeLog
1 2003-06-12 Hans-Peter Nilsson <hp@axis.com>
2
3 Don't warn on dollars in builtin macro definitions,
4 e.g. __REGISTER_PREFIX__.
5 * cpphash.h (struct cpp_reader): Move member warn_dollars...
6 * cpplib.h (struct cpp_options): ...to here. Change type to
7 unsigned char.
8 * cppinit.c (cpp_create_reader): Set it to 1 here.
9 (post_options): Don't set it here.
10 * c-opts.c (c_common_init_options): Reset it to 0 here.
11 (finish_options): Set it here.
12 * cpplex.c (forms_identifier_p): Tweak for new location of
13 warn_dollars.
14
15 * configure.in (assembler dwarf2 debug_line support): Define insn
16 for cris-*-* and mmix-*-*.
17 * configure: Regenerate.
18
19 2003-06-11 Uwe Stieber <uwe@kaos-group.de>
20
21 * config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
22 powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
23 (sh-*-elf*): Add sh*-*-kaos* support.
24 * config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
25 config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
26 config/sh/kaos-sh.h: New files.
27
28 2003-06-12 Kazu Hirata <kazu@cs.umass.edu>
29
30 * gcse.c (fis_get_condition): Make it a global function.
31 * reload1.c (reload_cse_move2add): Detect implicit sets.
32 * rtl.h: Add a prototype for fis_get_condition.
33
34 2003-06-11 Richard Henderson <rth@redhat.com>
35
36 * stmt.c (expand_asm_operands): Don't warn for memories with
37 queued addresses.
38
39 2003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
40
41 * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
42 brackets.
43
44 2003-06-11 Neil Booth <neil@daikokuya.co.uk>
45
46 * hooks.c (hook_int_size_t_constcharptr_int_0): New.
47 * hooks.h (hook_int_size_t_constcharptr_int_0): New.
48 * langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
49 (LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
50 * langhooks.c (lhd_decode_option): Remove.
51 * langhooks.h (struct lang_hooks): Remove decode_option.
52 * opts.c (handle_option): No longer use decode_option.
53
54 2003-06-11 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
55
56 * cfgloopanal.c (variable_initial_value): Update the set of altered
57 registers correctly.
58
59 2003-06-11 Roger Sayle <roger@eyesopen.com>
60 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
61
62 * config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
63 * config/i386/netbsd-elf.h: Likewise.
64 * config/m32r/m32r.h: Likewise.
65 * config/mn10300/mn10300.h: Likewise.
66 * config/stormy16/stormy16.h: Likewise.
67 * config/v850/v850.h: Likewise.
68 * config/vax/netbsd-elf.h: Likewise.
69 * config/xtensa/elf.h: Likewise.
70 * config/xtensa/linux.h: Likewise.
71
72 2003-06-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
73
74 * config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
75 DWARF 2 default.
76
77 * config/mips/dbxmdebug.h: New file.
78 * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
79 gas and --with-stabs.
80
81 2003-06-11 Ulrich Weigand <uweigand@de.ibm.com>
82
83 * expr.c (can_move_by_pieces): align argument may be unused.
84
85 2003-06-11 J"orn Rennecke <joern.rennecke@superh.com>
86
87 * expr.c (convert_move): Handle moves between two CONCATs.
88
89 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
90
91 * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
92 !TARGET_H8300.
93
94 2003-06-11 Kazu Hirata <kazu@cs.umass.edu>
95
96 * config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
97 * config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
98 (TARGET_RTL_DUMP): Likewise.
99 (TARGET_SWITHCES): Remove -mrtl-dump.
100
101 2003-06-10 Richard Henderson <rth@redhat.com>
102
103 * optabs.c (gen_cond_trap): Fix prepare_operand typo.
104
105 2003-06-10 Richard Henderson <rth@redhat.com>
106
107 * config/ia64/ia64.md (call_gp): Fix memory mode.
108
109 2003-06-10 James E Wilson <wilson@tuliptree.org>
110
111 PR target/8812
112 * reload1.c (choose_reload_regs): For equiv reg, add loop over all
113 hard regs for reload_reg_used_at_all and reg_class_contents checks.
114
115 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
116
117 * config/h8300/h8300.c (print_operand): Remove support for
118 operand character 'b'.
119 Add the AND case to operand character 'c'.
120 * config/h8300/h8300.md (two anonymous patterns): Replace
121 operand character 'b' with 'c'.
122
123 2003-06-10 Kazu Hirata <kazu@cs.umass.edu>
124
125 * config/h8300/h8300.c (print_operand): Remove support for
126 operand character 'u'.
127
128 2003-06-10 Nathanael Nerode <neroden@gcc.gnu.org>
129
130 * configure.in: Fix typo.
131 * configure: Regenerate.
132
133 2003-06-10 Loren James Rittle <ljrittle@acm.org>
134
135 * config/alpha/alpha.c (unicosmk_file_end): Add conditional
136 compilation guard.
137
138 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
139
140 * sh-protos.h (function_symbol): Declare.
141 * sh.c (expand_block_move, expand_ashiftrt): Use it.
142 (sh_expand_prologue, sh_expand_epilogue): Likewise.
143 (sh_initialize_trampoline): Likewise.
144 (function_symbol): New function.
145 * sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
146 (initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
147 (call_value_pop, shcompact_return_tramp): Likewise.
148
149 * sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
150
151 * sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
152 target register.
153
154 2003-06-10 DJ Delorie <dj@redhat.com>
155
156 * doc/md.texi (Machine Constraints): Document stormy's Z
157 constraint.
158
159 2003-06-10 Geoffrey Keating <geoffk@apple.com>
160
161 * except.c (call_site_base): Mark with GTY.
162
163 2003-06-10 Richard Earnshaw <rearnsha@arm.com>
164
165 * arm-proto.h: Convert to ISO C90 prototypes.
166 * arm.c: Likewise.
167
168 2003-06-10 J"orn Rennecke <joern.rennecke@superh.com>
169
170 * sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
171
172 2003-06-10 Steve Ellcey <sje@cup.hp.com>
173
174 * calls.c (expand_call): Convert structure_value_addr to Pmode if
175 necessary.
176
177 2003-06-10 Andrew Haley <aph@redhat.com>
178
179 * langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
180 (LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
181 (lhd_decl_ok_for_sibcall): New.
182 * langhooks.c (lhd_decl_ok_for_sibcall): New.
183 * langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
184 * calls.c (expand_call): Check lang_hook before generating a
185 sibcall.
186
187 2003-06-10 DJ Delorie <dj@redhat.com>
188
189 * config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
190 which matches (const_int 0) for addhi3.
191 * config/stormy16/stormy16.md: Document known constraints.
192 (addhi3): Handle adding zero.
193
194 2003-06-10 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
195
196 * config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
197 * config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
198 * config/m32r/m32r-protos.h: Prototype it.
199
200 2003-06-10 Janis Johnson <janis187@us.ibm.com>
201
202 * config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
203 common to rs6000 sysv targets.
204 * config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
205 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
206
207 2003-06-10 Nick Clifton <nickc@redhat.com>
208
209 * config.gcc: Add arm-wince-pe target.
210 * config/arm/pe.h (MULTILIB_DEFAULTS): Define.
211 Add comment about default apcs26 support.
212 * config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
213 multilib.
214 (MULTILIB_DIRNAMES): Add 'apcs32'.
215 * config/arm/t-wince-pe: New makefile fragment.
216 * config/arm/wince-pe.h: New file. Overrides a few definitions
217 in arm/pe.h
218
219 2003-06-10 Roger Sayle <roger@eyesopen.com>
220
221 * builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
222 * fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
223 when x is easily negated and f is sin, tan or atan.
224 (fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
225 sin(x) with flag_unsafe_math_optimizations.
226 (fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
227 sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
228
229 2003-06-10 Roger Sayle <roger@eyesopen.com>
230
231 * fold-const.c (fold <EQ_EXPR>): Don't fold x == x only if x
232 is a floating point type *and* we currently honor NaNs.
233 (fold <NE_EXPR>): Likewise.
234
235 2003-06-10 Mark Mitchell <mark@codesourcery.com>
236
237 PR c++/11131
238 * tree-inline.c (inlinable_function_p): Call the language-specific
239 hook early.
240
241 2003-06-09 David Taylor <dtaylor@emc.com>
242
243 * config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg): Skip over
244 the f_res field.
245
246 2003-06-09 Nathanael Nerode <neroden@gcc.gnu.org>
247
248 * configure.in: Remove references to host_truncate_target.
249 * configure: Regenerate.
250 * config.gcc: Remove references to truncate_target,
251 host_truncate_target.
252
253 * Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
254 Replace "build_canonical" with build, "host_canonical" with host.
255 * configure.in: Use GCC_TOPLEV_SUBDIRS.
256 * aclocal.m4: Include ../config/acx.m4.
257 * configure: Regenerate.
258
259 2003-06-09 David Taylor <dtaylor@emc.com>
260
261 * config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
262 bytes of padding in the __va_list_tag structure a name (reserved).
263
264 2003-06-09 Jason Merrill <jason@redhat.com>
265
266 * fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
267
268 2003-06-09 Osku Salerma <osku@iki.fi>
269
270 * c-format.c (check_format_string, get_constant): New.
271 (handle_format_attribute, handle_format_arg_attribute,
272 decode_format_attr): Change to use above functions.
273
274 2003-06-09 Richard Henderson <rth@redhat.com>
275
276 * stmt.c (expand_asm_operands): Re-word warning.
277
278 2003-06-08 Andrew Pinski <pinskia@physics.uc.edu>
279
280 PR target/8787
281 * config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
282 if -masm=intel.
283
284 2003-06-09 James E Wilson <wilson@tuliptree.org>
285
286 * config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
287 config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
288 Add libgcc exception.
289
290 2003-06-09 David Edelsohn <edelsohn@gnu.org>
291 Ayal Zaks <gcchaifa@us.ibm.com>
292
293 * config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
294 (insvsi*): Add insert_word attribute.
295 * config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
296 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
297 power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
298
299 2003-06-09 Kazu Hirata <kazu@cs.umass.edu>
300
301 * fold-const.c (fold): Fix a comment typo.
302
303 2003-06-09 Nathan Sidwell <nathan@codesourcery.com>
304
305 * tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
306 removed.
307
308 2003-06-09 J"orn Rennecke <joern.rennecke@superh.com>
309
310 * sh.c (gen_block_redirect): Use locators.
311
312 2003-06-09 Richard Earnshaw <rearnsha@arm.com>
313
314 * arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
315 cast to int.
316
317 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
318
319 * configure.in: Assume gas 2.14 and above can handle MIPS relocation
320 operators.
321 * configure: Regenerated.
322
323 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
324 Alexandre Oliva <aoliva@redhat.com>
325
326 * config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
327 (PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
328 (STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
329 n32/64 PIC.
330 (MUST_SAVE_REGISTERS): Delete.
331 * config/mips/mips.c (mips_frame_info): Remove extra_size field.
332 (machine_function): Add global_pointer field.
333 (mips_classify_constant): Check for (const $gp) using pointer equality
334 with pic_offset_table_rtx.
335 (mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
336 (mips_restore_gp): Use current_function_outgoing_args_size.
337 (print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
338 GP_REG_FIRST + 28. Handle relocation strings that have
339 more than one '('.
340 (mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
341 (mips_global_pointer): New function.
342 (mips_save_reg_p): New function, mostly split out from...
343 (compute_frame_size): ...here. Remove handling of extra_size.
344 Reclaim args_size if no variables depend on it. Don't treat gp
345 as a special case: handle it in the main GPR loop.
346 (mips_initial_elimination_offset): Fix comment.
347 (save_restore_insns): Save every register in the GPR mask,
348 removing distinction between mask and real_mask.
349 (mips_output_function_prologue): Update .frame psuedo-op after
350 the removal of extra_size. Move the SVR4 PIC stack allocation
351 and cprestore instructions to mips_expand_prologue.
352 (mips_gp_insn): New function.
353 (mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
354 the chosen global pointer. Handle SVR4 PIC stack allocation
355 in the same way as other ABIs. Adjust varargs code accordingly.
356 Emit a cprestore insn after allocating the stack. Use mips_gp_insn
357 to emit the loadgp sequence. Follow it with a loadgp_blockage
358 if not using explicit relocs.
359 (mips_output_function_epilogue): Reinstate the default gp register.
360 (mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
361 (mips16_optimize_gp): Likewise.
362 * config/mips/mips.md (UNSPEC_LOADGP): Remove.
363 (UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
364 (UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
365 (loadgp): Remove.
366 (loadgp_blockage, cprestore): New instructions.
367 (builtin_setjmp_setup): Implement using emit_move_insn. Use
368 pic_offset_table_rtx.
369 (builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
370 (builtin_longjmp): Use gen_raw_REG to force use of $28.
371
372 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
373
374 * config/mips/mips-protos.h (mips_output_division): Declare.
375 * config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
376 (MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
377 (TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
378 (TARGET_CHECK_ZERO_DIV): New macro.
379 (TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
380 * config/mips/mips.c (mips_output_division): New function.
381 * config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
382 account when calculating the default length of a division.
383 (divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
384 Enable regardless of optimization level. Use mips_output_division.
385 (divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
386 udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
387 divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
388 modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
389 udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
390 umoddi3_internal): Remove.
391
392 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
393
394 * config/mips/mips.c (mips_reg_names): Change hilo entry to "".
395 (mips_sw_reg_names): Likewise.
396 (mips_regno_to_class): Change hilo entry to NO_REGS.
397 (hilo_operand): Use MD_REG_P.
398 (extend_operator): New predicate.
399 (override_options): Remove 'a' constraint.
400 (mips_secondary_reload_class): Remove hilo handling. Also remove
401 handling of (plus sp reg) reloads for mips16.
402 (mips_register_move_cost): Remove hilo handling.
403 * config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
404 (MD_REG_LAST): Remove hilo from range.
405 (HILO_REGNUM): Delete.
406 (reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
407 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
408 (PREDICATE_CODES): Add entry for extend_operator.
409 (DEBUG_REGISTER_NAMES): Change hilo entry to "".
410 * config/mips/mips.md: Remove hilo clobbers wherever they occur.
411 Remove constraints from multiplication define_expands. Remove
412 clobbers from "decorative" define_expand patterns.
413 (UNSPEC_HILO_DELAY): Delete.
414 (*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
415 (mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
416 Adjust C code to just emit insns for !TARGET_64BIT.
417 (mulsidi3_internal): Rename to mulsidi3_32bit.
418 (mulsidi3_64bit): Use a "d" constraint for the destination.
419 Use extend_operator so that the pattern can handle umulsidi3 as well.
420 Split the instruction after reload.
421 (*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
422 (umulsidi3_internal): Rename to umulsidi3_32bit.
423 (umulsidi3_64bit): Remove.
424 (*smsac_di, *umsac_di): Line-wrap fixes.
425 (udivsi3_internal): Don't allow operand 2 to be constant.
426 (udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
427 (movdi_internal2, movsi_internal): Remove hilo alternatives.
428 (reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
429
430 2003-06-09 Richard Sandiford <rsandifo@redhat.com>
431
432 PR target/10913
433 * config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
434 PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
435 PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
436 PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
437 SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
438 (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
439 PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
440 asm_out_text_file with asm_out_file.
441 * config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
442 * config/mips/elf.h (TEXT_SECTION): Undefine.
443 * config/mips/elf64.h (TEXT_SECION): Undefine.
444 * config/mips/openbsd.h (TEXT_SECION): Undefine.
445 * config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
446 (override_options): Disable small-data optimizations unless using
447 gas or explicit relocations.
448 (mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
449 iris6_asm_named_section, iris6_asm_file_start): Remove code for
450 handling TARGET_FILE_SWITCHING.
451 (copy_file_data): Move into TARGET_IRIX6 block.
452
453 2003-06-08 Richard Henderson <rth@redhat.com>
454
455 * expr.h (EXPAND_MEMORY): New.
456 * expr.c (expand_expr): Check it.
457 * stmt.c (expand_asm_operands): Provide it when the constraint
458 requires a memory. Warn for memory input constraints without
459 a memory operand.
460
461 2003-06-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
462
463 * varasm.c: Don't include c-tree.h.
464
465 2003-06-08 Andreas Jaeger <aj@suse.de>
466
467 * predict.h: Convert to ISO C90 prototypes.
468 * predict.c: Likewise.
469 * tree-dump.h: Likewise.
470 * tree-dump.c: Likewise.
471 * diagnostic.h: Likewise.
472 * diagnostic.c: Likewise.
473 * combine.c: Likewise.
474
475 * rtl.h: Convert prototypes of combine.c to ISO C90.
476
477 Sun Jun 8 21:27:41 CEST 2003 Jan Hubicka <jh@suse.cz>
478
479 * cfglayout.c (insn_scope): New static function
480 (block_locators_*, line_locators*, file_locators*): New static varrays.
481 (scope_to_insns_initialize): Use them.
482 (insn_line, insn_file): New functions.
483 (scope_to_insns_finalize): Use insn_scope.
484 (prologue_locator, epilogue_locator): New global variables.
485 * emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
486 make_call_insn_raw, emit_copy_of_insn_after): Use locators.
487 (emit_insn_after_scope, emit_insn_before_scope
488 emit_jump_insn_after_scope, emit_jump_insn_before_scope
489 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
490 (emit_insn_after_setloc, emit_insn_before_setloc
491 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
492 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
493 use locators.
494 * final.c (notice_source_line): Use locators.
495 (final_start_function): Set initial source file and line.
496 (final_scan_insn): Use locators.
497 * ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
498 noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
499 noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
500 noce_process_if_block, find_cond_trap): Likewise.
501 * integrate.c (copy_insn_list): Likewise.
502 * jump.c (duplicate_loop_exit_test): LIkewise.
503 * print-rtl.c (print_rtx): Print locators.
504 * recog.c (peephole2_optimize): Likewise.
505 * rtl.h (INSN_SCOPE): Remove.
506 (emit_insn_after_scope, emit_insn_before_scope
507 emit_jump_insn_after_scope, emit_jump_insn_before_scope
508 emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
509 (emit_insn_after_setloc, emit_insn_before_setloc
510 emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
511 emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
512 (insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
513 * unroll.c (copy_loop_body): Use locators.
514 * function.c (set_insn_locators): New function.
515 (thread_prologue_and_epilogue_insns): Set the locators accordingly.
516
517 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
518
519 * config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
520 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
521 _fixsfdi _fixunssfdi.
522 (LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
523 popcounthi2.
524 (TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
525 * config/h8300/clzhi2.c: New.
526 * config/h8300/ctzhi2.c: Likewise.
527 * config/h8300/parityhi2.c: Likewise.
528 * config/h8300/popcounthi2.c: Likewise.
529
530 Sun Jun 8 15:52:17 CEST 2003 Jan Hubicka <jh@suse.cz>
531
532 * i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
533 * i386.c (k8_avoid_jump_misspredicts): Fix debug output.
534
535 * cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
536 (dump_bb): New based on old dump_bb in cfgrtl.c
537 (debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
538 * cfghooks.h (cfgh_verify_flow_info): Return status.
539 * cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
540 * cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
541 (dump_bb): Remove generic parts.
542 (rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
543 (rtl_verify_flow_info): Only check things dependeing on linearized RTL.
544
545 2003-06-08 Neil Booth <neil@daikokuya.co.uk>
546
547 * Makefile.in: Rename options.c and options.h to c-options.c and
548 c-options.h.
549 (OBJS): Remove options.o.
550 * c-opts.c: Don'tInclude c-options.h instead of options.h.
551 * opts.c: Don't include options.h.
552 (find_opt): Can't use enum opt_code or N_OPTS.
553 * opts.h (struct cl_option, cl_options, cl_options_count): Move from...
554 * opts.sh: ... here.
555
556 2003-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
557 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
558
559 PR pch/9830
560 * ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
561 if HAVE_MINCORE is defined.
562 (MAP_FAILED): Define if not defined.
563 (gt_pch_save): Test against MAP_FAILED.
564 (gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
565 the mapping address to the preferred base after checking it
566 is possible to do so. Test against MAP_FAILED.
567 * configure.in: Test for the presence of mincore in libc.
568 * config.in: Regenerate.
569 * configure: Regenerate.
570
571 2003-06-07 Richard Henderson <rth@redhat.com>
572
573 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
574 conditional compilation guard.
575
576 2003-06-08 Kazu Hirata <kazu@cs.umass.edu>
577
578 * optabs.c (expand_abs): Set result_unsignedp to 1 if
579 flag_trav is zero.
580
581 2003-06-07 Richard Henderson <rth@redhat.com>
582
583 * c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
584
585 2003-06-07 Richard Henderson <rth@redhat.com>
586
587 * basic-block.h (EDGE_SIBCALL): New.
588 (EDGE_ALL_FLAGS): Update.
589 * cfg.c (dump_edge_info): Add sibcall name.
590 * cfgbuild.c (make_edges): Use EDGE_SIBCALL.
591 * cfgrtl.c (purge_dead_edges): Handle sibcalls.
592
593 2003-06-07 Andreas Jaeger <aj@suse.de>
594
595 * mklibgcc.in (lib2funcs): Remove _exit.
596 * libgcc2.c: Remove L_exit.
597 * gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
598
599 * system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
600
601 * doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
602
603 * ggc.h: Convert to ISO C90 prototypes.
604 * ggc-none.c: Likewise.
605 * ggc-common.c: Likewise.
606 * ggc-page.c: Likewise.
607 * ggc-simple.c: Likewise.
608
609 * crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
610
611 * system.h: Poison INIT_SECTION_PREAMBLE.
612
613 2003-06-07 Zack Weinberg <zack@codesourcery.com>
614
615 * config.gcc (with_cpu handling): Translate sparc64 in
616 $machine to --with-cpu=v9.
617 * config/alpha/alpha.c
618 (TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
619 (alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
620
621 * target.h: New hook asm_out.file_end.
622 * target.h: Update to match. New hook macro TARGET_ASM_FILE_END.
623 * toplev.c (compile_file): Use targetm.asm_out.file_end.
624 * system.h: Poison ASM_FILE_END.
625 * varasm.c (file_end_indicate_exec_stack): New.
626 * output.h: Prototype it.
627 * doc/tm.texi: Document TARGET_ASM_FILE_END and
628 file_end_indicate_exec_stack. Delete references to attasm.h.
629
630 * config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
631 (ASM_FILE_END): Delete; move code...
632 * config/darwin.c (darwin_file_end): Here; new function.
633 * config/darwin-protos.h: Prototype it.
634 * config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
635 rename unicosmk_file_end.
636 * config/arm/aof.h (ASM_FILE_END): Delete; move code...
637 * config/arm/arm.c (aof_file_end): ... here; new static function.
638 Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
639 Make aof_dump_imports and aof_dump_pic_table static.
640 * config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
641 Set TARGET_ASM_FILE_END to avr_file_end.
642 * config/c4x/c4x.c (c4x_file_end): Make static. Take no arguments.
643 Set TARGET_ASM_FILE_END to c4x_file_end.
644 * config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
645 make static. Take no arguments. Set TARGET_ASM_FILE_END to
646 h8300_file_end.
647 * config/i370/i370.h (ASM_FILE_END): Delete; move code...
648 * config/i370/i370.c (i370_file_end): ... here; new static function.
649 Set TARGET_ASM_FILE_END to i370_file_end.
650 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
651 Take no arguments. Call file_end_indicate_exec_stack if
652 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
653 * config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
654 Define NEED_INDICATE_EXEC_STACK to 0.
655 * config/i386/linux.h, config/i386/linux64.h: Redefine
656 NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
657 * config/i386/winnt.c (i386_pe_asm_file_end): Rename to
658 i386_pe_file_end. Take no arguments. Use ix86_file_end.
659 * config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
660 ia64_hpux_file_end, make static. Take no arguments.
661 * config/ip2k/ip2k.c (asm_file_start, asm_file_end,
662 commands_in_prologues, commands_in_epilogues): Delete.
663 (function_epilogue): Update to match.
664 * config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
665 make static. Take no arguments.
666 (iris6_asm_file_end): Rename iris6_file_end, make static, use
667 mips_file_end, take no arguments.
668 Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
669 appropriate.
670 * config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
671 make static, take no arguments. Set TARGET_ASM_FILE_END to
672 mmix_file_end.
673 * config/pa/pa.c (output_deferred_plabels): Make static, take
674 no arguments. Set TARGET_ASM_FILE_END to output_deferred_plabels.
675 * config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
676 (ASM_FILE_END): Delete; move code...
677 * config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
678 new static function.
679
680 * config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
681 * config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
682 Don't set ASM_FILE_END.
683 * config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
684 * config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
685 * config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
686 file_end_indicate_exec_stack; don't set ASM_FILE_END.
687 * config/alpha/unicosmk.h, config/i386/cygming.h
688 * config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
689 * config/arm/arm-protos.h, config/alpha/alpha-protos.h
690 * config/avr/avr-protos.h, config/c4x/c4x-protos.h
691 * config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
692 * config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
693 * config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
694
695 Sat Jun 7 18:32:13 CEST 2003 Jan Hubicka <jh@suse.cz>
696
697 * i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
698 specified.
699
700 Sat Jun 7 15:20:01 CEST 2003 Jan Hubicka <jh@suse.cz>
701
702 * Makefile.in (stageprofile_build): Kill redundant target.
703 * i386.c (mdep_reorg): Don't pad jumps for Athlon.
704
705 2003-06-07 Andreas Jaeger <aj@suse.de>
706
707 * doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
708
709 * config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
710 * config/dsp16xx/dsp16xx.h: Likewise.
711 * config/i386/i386.h: Likewise.
712 * config/ip2k/ip2k.h: Likewise.
713
714 2003-06-07 Neil Booth <neil@daikokuya.co.uk>
715
716 * Makefile.in (OJBS, c-opts.o): Update.
717 (c-options.c, c-options.h): Rename options.h and options.c.
718 (options.h): Rename options_.h.
719 (opts.o): New.
720 * c-common.h (c_common_handle_option): Replace c_common_decode_option.
721 (c_common_init_options): Update prototype.
722 * c-lang.c (c_init_options): Update prototype.
723 (LANG_HOOKS_HANDLE_OPTION): Override.
724 (LANG_HOOKS_DECODE_OPTION): Drop.
725 * c-opts.c: Include opts.h and options.h instead of c-options.h
726 and c-options.c.
727 (lang_flags): Move to file scope.
728 (find_opt, c_common_decode_option): Remove.
729 (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
730 CL_REJECT_NEGATIVE): Move to opts.h.
731 (missing_arg): Update prototype.
732 (c_common_init_options): Update for new prototype.
733 (c_common_handle_options): Filenames are passed as N_OPTS.
734 * hooks.c (hook_int_void_0): New.
735 * hooks.h (hook_int_void_0): New.
736 * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
737 (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
738 (LANG_HOOKS_INITIALIZER): Update.
739 * langhooks.h (init_options): Update.
740 (handle_option): New.
741 * opts.c, opts.h: New files.
742 * opts.sh: Update c file to include opts.h and options.h.
743 * toplev.c: Include opts.h; change options.h to options_.h.
744 (parse_options_and_default_flags): Get lang_mask, use
745 handle_option for language-specific handling.
746 * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
747 (LANG_HOOKS_HANDLE_OPTION): Override.
748 (objc_init_options): Update.
749
750 2003-06-07 Magnus Kreth <magnus.kreth@gmx.de>
751 Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
752
753 PR other/7031
754 * Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
755 gcov.
756
757 2003-06-07 Kelley Cook <kelleycook@wideopenwest.com>
758
759 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
760 section names.
761 * configure: Regenerate.
762
763 2003-06-07 Alan Modra <amodra@bigpond.net.au>
764
765 * config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
766
767 2003-06-06 James E Wilson <wilson@tuliptree.org>
768
769 PR inline-asm/10890
770 * reload1.c (merge_assigned_reloads): Abort only if two reloads have
771 different in fields.
772
773 2003-06-06 Nathanael Nerode <neroden@gcc.gnu.org>
774
775 * configure.in: Make $(target_subdir) correspond with top level usage.
776 * Makefile.in: Likewise.
777 * configure: Regenerate.
778
779 2003-06-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
780
781 * pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
782 ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
783 unsigned HOST_WIDE_INT.
784 * pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
785 Likewise.
786 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
787 Likewise.
788
789 2003-06-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
790
791 * doc/install.texi (Prerequisites): New section documenting
792 tools and packages necessary prior to building and/or
793 modifying GCC.
794 * doc/install.texi2html: Also generate prerequisites.html.
795
796 2003-06-06 Richard Earnshaw <rearnsha@arm.com>
797
798 PR target/11052
799 * ifcvt.c (noce_process_if_block): Fail if the destination has
800 side-effects.
801
802 2003-06-06 Jason Merrill <jason@redhat.com>
803
804 * stmt.c (resolve_asm_operand_names): Rename from
805 resolve_operand_names. No longer static. Avoid needless copying.
806 Don't build array of constraints.
807 (expand_asm_operands): Build it here.
808 * tree.h: Declare resolve_asm_operand_names.
809
810 * stmt.c (expand_decl): Put artificial vars into registers even
811 when not optimizing, and don't mark the regs as user vars.
812
813 2003-06-06 J"orn Rennecke <joern.rennecke@superh.com>
814
815 * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
816 of the generated register.
817
818 2003-06-06 Daniel Jacobowitz <drow@mvista.com>
819
820 * config.gcc: Add a missing sparc64 case.
821
822 2003-06-06 Jakub Jelinek <jakub@redhat.com>
823
824 * mklibgcc.in: Propagate .note.GNU-stack section if needed into
825 the .hidden assembly stubs.
826
827 2003-06-06 H.J. Lu <hongjiu.lu@intel.com>
828
829 * config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
830 and x86_64-*-*.
831
832 * config/i386/mmintrin.h: Update version and add alternate
833 intrinsic names.
834 * config/i386/xmmintrin.h: Likewise.
835
836 * config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
837 intrinsics to ...
838 * config/i386/emmintrin.h: Here. New file.
839
840 2003-06-06 Roger Sayle <roger@eyesopen.com>
841
842 * fold-const.c (fold <ABS_EXPR>): Re-fold the result of folding
843 fabs(-x) into fabs(x). Use tree_expr_nonnegative_p to determine
844 when the ABS_EXPR (fabs or abs) is not required.
845 (tree_expr_nonnegative_p): Move the logic that sqrt and exp are
846 always nonnegative from fold to here. Additionally, cabs and fabs
847 are always non-negative, and pow and atan are non-negative if
848 their first argument is non-negative.
849
850 * builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
851 Evaluate cabs of a constant at compile-time. Convert cabs of a
852 non-complex argument into fabs. Convert cabs(z) into
853 sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
854 -funsafe-math-optimizations or -ffast-math.
855 (fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
856 Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
857
858 Thu Jun 5 20:51:09 CEST 2003 Jan Hubicka <jh@suse.cz>
859
860 * sourcebuild.texi (Front End Directory): Document new hooks.
861
862 Fri Jun 6 11:02:35 CEST 2003 Jan Hubicka <jh@suse.cz>
863
864 * function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
865 * i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
866 stack frames.
867 (pro_epilogue_adjust_stack_rex64_2): New pattern
868
869 Fri Jun 6 11:03:14 CEST 2003 Jan Hubicka <jh@suse.cz>
870 Pop Sebastian
871 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
872
873 * cfghooks.h, cfghooks.c: New files.
874 * Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
875 (OBJS): Add cfghooks.o.
876 (cfghooks.o): New rule.
877 * basic-block.h (split_edge): Rename to rtl_split_edge.
878 (verify_flow_info): Rename to rtl_verify_flow_info.
879 (cfghooks.h): Included here.
880 * cfgrtl.c (split_edge): Renamed rtl_split_edge.
881 (verify_flow_info): Renamed rtl_verify_flow_info.
882 * toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
883
884 * basic-block.h (split_block, split_edge, flow_delete_block,
885 redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
886 (flow_delete_block_noexpunge): Return void.
887 * cfg.c (verify_flow_info): New function.
888 * cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
889 try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
890 Use delete_block.
891 * cfglayout.c (function_footer): Rename to...
892 (cfg_layout_function_footer): ... this variable
893 (unlink_insn_chain): Make global.
894 (fixup_reorder_chain, record_effective_endpoints): Update.
895 (cleanup_unconditional_jumps): Use delete_block.
896 (cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
897 (cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
898 (cfg_layout_initialize, cfg_layout_finalize): Update hooks.
899 * cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block): Delete.
900 (cfg_layout_function_footer): Declare.
901 * cfgloopmanip (split_loop_bb): Do not update RBI.
902 (remove_bbs): Use delete_block.
903 (loop_reidrect_edge, loop_delete_branch_edge): Use
904 redirect_edge_and_branch.
905 (create_preheader): Use split_block and redirect_edge_and_branch_force.
906 (split_edge_with): Likewise.
907 * cfgrtl.c: Include cfglayout.h
908 (split_edge): Rename to ...
909 (rtl_split_edge) ... this one; make local.
910 (redirect_edge_and_branch): Rename to ...
911 (rtl_redirect_edge_and_branch) ... this one; make local.
912 (redirect_edge_and_branch_force): Rename to ...
913 (rtl_redirect_edge_and_branch_force) ... this one; make local.
914 (cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
915 (cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
916 cfglayout.c; update to directly call RTL counterparts.
917 (rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
918 * ifcvt.c (find_cond_trap): Use delete_block.
919 (find_if_case_1): Use delete_block.
920 (find_if_case_2): Use delete_block.
921 * rtl.h (unlink_insn_chain): Declare.
922 * toplev.c (rtl_reigster_cfg_hooks): New.
923
924 2003-06-05 Richard Henderson <rth@redhat.com>
925
926 * recog.c (peephole2_optimize): Revert last change.
927
928 2003-06-05 Richard Henderson <rth@redhat.com>
929
930 * recog.c (peephole2_optimize): Don't split block unless
931 can_throw_internal.
932
933 2003-06-06 Kazu Hirata <kazu@cs.umass.edu>
934
935 * config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
936 * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
937
938 2003-06-05 Kelley Cook <kelleycook@wideopenwest.com>
939
940 PR optimization/4490
941 * config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
942 * doc/invoke.texi (m96bit-long-double, m128bit-long-double): Reword
943 documentation to accurately reflect what these options do.
944
945 2003-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
946
947 * config/sh/linux.h (STARTFILE_SPEC): Handle -pie. Simplify.
948 (ENDFILE_SPEC): Redefine to handle -pie.
949
950 2003-06-05 Phil Edwards <phil@jaj.com>
951
952 * Makefile.in (qmtest-g++): Use target_alias, not target.
953
954 2003-06-05 Per Bothner <pbothner@apple.com>
955
956 * toplev.c (push_srcloc): Simplify behavior to save current location
957 and set current location to parameters.
958 (pop_srcloc): Simplify semantics.
959 (lang_dependent_init): Remove now-useless initial push_srcloc.
960
961 2003-05-06 Richard Henderson <rth@redhat.com>
962
963 * dwarf2out.c (loc_descriptor_from_tree): Return 0 for
964 language-specific tree codes.
965
966 2003-06-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
967
968 PR middle-end/9986
969 * pa.c (pa_init_builtins): Also set implicit_built_in_decls for
970 BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
971
972 Thu Jun 5 18:32:46 CEST 2003 Jan Hubicka <jh@suse.cz>
973
974 * install.tex: Document profiledbootstrap.
975
976 * configure.in: Add support for lang.stageprofile and
977 lang.stagefeedback
978 * Makefile.in (clean, distclean): Kill new stages
979 (POSTSTAGE1_FLAGS_TO_PASS): Break from ...
980 (STAGE2_FLAGS_TO_PASS): ... this one.
981 (STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
982 (stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
983 (stageprofile_build, stageprofile_copy, stagefeedback_build,
984 stagefeedback_copy): New.
985 (restageprofile, restagefeedback, stageprofile-start,
986 stageprofile, stagefeedback-start): Likewise.
987
988 2003-06-05 David Miller <davem@redhat.com>
989 Richard Henderson <rth@redhat.com>
990
991 * optabs.c (HAVE_conditional_trap): Provide default.
992 (gen_conditional_trap): Likewise.
993 (init_optabs): Merge init_traps.
994 (gen_cond_trap): Use prepare_operand. Restructure and avoid ifdef.
995
996 Thu Jun 5 14:59:44 CEST 2003 Jan Hubicka <jh@suse.cz>
997
998 * combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
999 is REG for nonzero_bits (REG) == 8.
1000
1001 Thu Jun 5 13:23:51 CEST 2003 Jan Hubicka <jh@suse.cz>
1002
1003 * i386.md (align): Fix warning; clarify what to do when no p2align
1004 is available.
1005
1006 2003-06-05 Nick Clifton <nickc@redhat.com>
1007
1008 * config.gcc (m32r-elf): Revert previous delta.
1009 * config/m32r/t-m32r (crtinit.o): Fix rule to work with
1010 multilibs. Remove m32rx specific version.
1011 (crtfini.o): Likewise.
1012 (EXTRA_MULTILIB_PARTS): Define.
1013
1014 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1015
1016 * doc/md.texi (Machine Constraints): Correct the meaning of
1017 constraints related to floating-point registers on SPARC.
1018
1019 2003-06-05 Eric Botcazou <ebotcazou@libertysurf.fr>
1020 Paolo Bonzini <bonzini@gnu.org>
1021
1022 PR target/10663
1023 * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
1024 assembler and linker output to /dev/null.
1025 Use a 'sed' construct instead of 'grep -A1'.
1026 * configure: Regenerate.
1027
1028 2003-06-04 Richard Henderson <rth@redhat.com>
1029
1030 * config/i386/i386.c (struct ix86_address): Add seg.
1031 (no_seg_address_operand): New.
1032 (ix86_decompose_address): Restructure PLUS loop. Accept one
1033 UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS. Adjust ESP swap test
1034 to test for a regnum, not stack_pointer_rtx.
1035 (ix86_address_cost): Reduce cost if non-default segment.
1036 (legitimate_address_p): Remove UNSPEC_TP check.
1037 (get_thread_pointer): Add to_reg argument. Don't represent
1038 the thread pointer as a memory load.
1039 (legitimize_tls_address): Split out of ...
1040 (legitimize_address): ... here.
1041 (print_operand_address): Handle parts.seg.
1042 (ix86_expand_move): Use legitimize_tls_address.
1043 (ix86_rtx_costs): Handle UNSPEC_TP.
1044 * config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
1045 (TARGET_TLS_DIRECT_SEG_REFS): New.
1046 (TARGET_SWITCHES): Add tls-direct-seg-refs.
1047 (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
1048 (PREDICATE_CODES): Add no_seg_address_operand.
1049 * config/i386/i386.md (lea_1): Use it.
1050 (lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
1051 (load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
1052 * config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1053 * config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
1054 * doc/invoke.texi: Add -mtls-direct-seg-refs.
1055
1056 2003-06-04 Mark Mitchell <mark@codesourcery.com>
1057
1058 * Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
1059 (QMTEST_GPP_TESTS): Use "g++" by default.
1060 (stamp-qmtest): Tweak database creation.
1061 (QMTEST_DIR/context): Update context file format.
1062 (qmtest-g++): Tweak command-line.
1063
1064 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1065
1066 * Makefile.in (varasm.o): Don't set -Wno-error.
1067 * rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
1068
1069 2003-06-04 Zack Weinberg <zack@codesourcery.com>
1070
1071 PR bootstrap/3163
1072 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
1073 (gcc_AC_FUNC_MMAP_BLACKLIST): New.
1074 * configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
1075 and AC_CHECK_FUNCS lists, respectively. Use
1076 gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
1077 AC_FUNC_MMAP_FILE.
1078 * configure, config.in: Regenerate.
1079
1080 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1081
1082 * arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
1083 * arm.c (arm_output_function_prologue): Fix format specifiers.
1084 * arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
1085 * m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
1086 HOST_WIDE_INT_PRINT_DEC.
1087 * vax.c (vax_output_function_prologue): Fix format specifiers.
1088
1089 2003-06-04 Richard Henderson <rth@redhat.com>
1090
1091 * cse.c (find_best_addr): Consider binary operators even if second
1092 argument is not CONST_INT.
1093
1094 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1095
1096 * doc/invoke.texi (max-cse-path-length): Document.
1097
1098 2003-06-04 Richard Henderson <rth@redhat.com>
1099
1100 * config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
1101
1102 2003-06-04 Andrew Pinski <pinskia@physics.uc.edu>
1103
1104 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
1105 Remove semi-colon at the end of the expression.
1106
1107 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1108
1109 * i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
1110 * i370.h (mvs_function_name_length): Likewise.
1111 * i960.h (CONSTANT_ALIGNMENT): Likewise.
1112 * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1113 * pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1114 * pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1115 * rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
1116 variable.
1117
1118 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1119
1120 * config.gcc: Reorganize --with-cpu logic. Set
1121 configure_default_options according to the default CPU, --with-cpu,
1122 --with-arch, --with-tune, --with-schedule, --with-abi, and
1123 --with-float. Check for legal values of various options.
1124 * configure.in: Define configure_default_options in configargs.h.
1125 * configure: Regenerated.
1126 * config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
1127 (TARGET_DEFAULT_FLOAT_P): New macros.
1128 * gcc.c (do_option_spec): New function.
1129 (struct default_spec, option_default_specs): New.
1130 (main): Call do_option_spec.
1131 * config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
1132 config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
1133 config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
1134
1135 * doc/install.texi: Update --with-cpu documentation. Mention
1136 --with-arch, --with-schedule, --with-tune, --with-abi, and
1137 --with-float.
1138 * doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
1139
1140 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1141
1142 * config.gcc: Only process --with-cpu logic in the third pass.
1143
1144 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1145
1146 * config.gcc: Reorganize --with-cpu section. Remove an
1147 obsolete comment about the default CPU for x86-64. Fix
1148 a typo for the ep9312. Update the list of supported PowerPC
1149 CPUs. Support a limited set of new --with-cpu options
1150 for i386.
1151
1152 2003-06-04 Aldy Hernandez <aldyh@redhat.com>
1153
1154 * config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
1155 complex numbers <= 32 bits into two registers.
1156
1157 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1158
1159 * alpha.c (print_operand_address): Fix format specifier warnings.
1160 * alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1161 * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1162 * arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
1163 * arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
1164 * avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
1165 ASM_OUTPUT_SKIP): Likewise.
1166 * c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1167 * dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1168 * h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
1169 Likewise.
1170 * i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1171 * i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
1172 * i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
1173 * i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1174 * m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
1175 * mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1176 * pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1177 * ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
1178 * sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1179 * svr3.h (ASM_OUTPUT_COMMON): Likewise.
1180
1181 2003-06-04 J"orn Rennecke <joern.rennecke@superh.com>
1182
1183 * c-decl.c (c_init_decl_processing): Clear input_file_name
1184 while building common nodes.
1185 * dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
1186 Don't add working directory for strings like <built-in> .
1187
1188 2003-06-04 David Edelsohn <edelsohn@gnu.org>
1189
1190 * doc/install.texi (*-ibm-aix*): Native as and ld required
1191 to bootstrap on AIX 5L.
1192
1193 2003-06-04 Richard Henderson <rth@redhat.com>
1194
1195 * c-common.c (handle_cleanup_attribute): New.
1196 (c_common_attributes): Add it.
1197 * c-decl.c (finish_decl): Honor the cleanup attribute.
1198 * doc/extend.texi (Variable Attributes): Document it.
1199
1200 * unwind-c.c: New file.
1201 * Makefile.in (LIB2ADDEH): Add it.
1202 * config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
1203 config/ia64/t-ia64: Likewise.
1204
1205 2003-06-04 Jakub Jelinek <jakub@redhat.com>
1206
1207 * function.c (trampolines_created): New variable.
1208 (expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
1209 * function.h (trampolines_created): Add.
1210 * config/s390/linux.h (ASM_FILE_END): Define.
1211 * config/alpha/linux-elf.h (ASM_FILE_END): Define.
1212 * config/m68k/linux.h (ASM_FILE_END): Define.
1213 * config/rs6000/linux.h (ASM_FILE_END): Define.
1214 * config/rs6000/linux64.h (ASM_FILE_END): Define.
1215 * config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
1216 * config/sparc/linux.h (ASM_FILE_END): Define.
1217 * config/sparc/linux64.h (ASM_FILE_END): Define.
1218 * config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
1219 * config/i386/linux.h (SUBTARGET_FILE_END): Define.
1220 * config/i386/linux64.h (SUBTARGET_FILE_END): Define.
1221
1222 Wed Jun 4 18:39:33 CEST 2003 Jan Hubicka <jh@suse.cz>
1223
1224 * i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
1225 (ix86_reorg): Use it.
1226 * i386.md (align): New insn pattern.
1227
1228 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1229
1230 * toplev.c (rest_of_type_compilation): Fix typo.
1231
1232 2003-06-04 Jakub Jelinek <jakub@redhat.com>
1233 Alan Modra <amodra@bigpond.net.au>
1234
1235 * config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
1236 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
1237 * config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
1238 * config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
1239 * config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
1240 * final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
1241 (profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
1242 * config/rs6000/rs6000.c (output_profile_hook): Likewise.
1243
1244 * configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
1245 Pass it to $gcc_cv_as.
1246 * configure: Rebuilt.
1247
1248 * config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
1249 (print_operand): Allow TARGET_AIX to be non-constant.
1250 (rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
1251 Define unconditionally.
1252 (rs6000_elf_declare_function_name): New function.
1253 * config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
1254 non-constant.
1255 * config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
1256 to 1.
1257 (DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
1258 [IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
1259 is defined.
1260 (TARGET_AIX): Define to 1 if TARGET_64BIT.
1261 (PROCESSOR_DEFAULT): Remove.
1262 (TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
1263 INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
1264 [RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
1265 (ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
1266 -m32 and -m64.
1267 (MULTILIB_DEFAULTS): Define.
1268 (SUBSUBTARGET_EXTRA_SPECS): Define.
1269 (ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
1270 (TARGET_TOC): Define only if !RS6000_BI_ARCH.
1271 (TARGET_NO_TOC): Remove.
1272 [!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
1273 TARGET_PROTOTYPE): Define to 0.
1274 (NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
1275 (PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
1276 (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
1277 if !TARGET_64BIT.
1278 (USER_LABEL_PREFIX): Remove.
1279 (JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
1280 (SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
1281 if TARGET_64BIT.
1282 (TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
1283 (LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
1284 (STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
1285 (TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
1286 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
1287 (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
1288 TARGET_64BIT.
1289 (RS6000_CALL_GLUE): Likewise.
1290 (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
1291 RESTORE_FP_SUFFIX): Likewise.
1292 (ASM_DECLARE_FUNCTION_NAME): Remove.
1293 (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
1294 DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
1295 name if TARGET_64BIT.
1296 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
1297 !TARGET_64BIT.
1298 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
1299 (ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
1300 (DRAFT_V4_STRUCT_RET): Define.
1301 (SIGNAL_FRAMESIZE): New enum value.
1302 (MD_FALLBACK_FRAME_STATE_FOR): Define.
1303 * config/rs6000/default64.h: New file.
1304 * config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
1305 options.
1306 (SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
1307 to RS6000_ABI_NAME. Only disallow mixing of -fPIC with -mcall-aixdesc
1308 if !TARGET_64BIT.
1309 [!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
1310 (ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
1311 function.
1312 (TARGET_OS_SYSV_CPP_BUILTINS): Define.
1313 (TARGET_OS_CPP_BUILTINS): Use it.
1314 (CPP_SYSV_SPEC): Remove.
1315 (CPP_SPEC): Remove cpp_sysv.
1316 (SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
1317 Add SUBSUBTARGET_EXTRA_SPECS.
1318 (SUBSUBTARGET_EXTRA_SPECS): Define.
1319 * config/rs6000/biarch64.h: New file.
1320 * config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
1321 New prototype.
1322 * config/rs6000/x-linux64: New file.
1323 * config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
1324 multilibs.
1325 * config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
1326 * config/rs6000/eabi-cn.asm: Likewise.
1327 * config/rs6000/tramp.asm: Likewise.
1328 * config/rs6000/sol-ci.asm: Likewise.
1329 * config/rs6000/sol-cn.asm: Likewise.
1330 * config/rs6000/linux.h (TARGET_64BIT): Define to 0.
1331 (TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
1332 * config/rs6000/ppc-asm.h: Move __powerpc64__ section before
1333 _CALL_AIXDESC section.
1334 * config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
1335 defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
1336 or default32.
1337
1338 2003-06-04 Daniel Jacobowitz <drow@mvista.com>
1339
1340 * config.gcc: Revert accidentally committed ARM changes.
1341
1342 2003-06-04 Roger Sayle <roger@eyesopen.com>
1343
1344 * builtins.c (dconstpi, dconste): New mathematical constants.
1345 (init_builtin_dconsts): New function to initialize dconstpi
1346 and dconste.
1347 (fold_builtin): Optimize exp(1.0) = e. Evaluate exp(x) at
1348 compile time with -ffast-math when x is an integer constant.
1349 Optimize tan(0.0) = 0.0. Optimize atan(0.0) = 0.0,
1350 atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
1351
1352 2003-06-04 Roger Sayle <roger@eyesopen.com>
1353
1354 * calls.c (expand_call): Avoid calling pure or const functions
1355 when the result is ignored (or void) and none of the arguments
1356 are volatile. Move warning diagnostic earlier in function.
1357
1358 2003-06-04 Andreas Jaeger <aj@suse.de>
1359
1360 * system.h: Do not poison TDESC_SECTION_ASM_OP,
1361 RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
1362
1363 2003-06-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1364
1365 * final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
1366 optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
1367 handle %ll, optimize regular character case.
1368
1369 2003-06-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1370
1371 * Makefile.in (cse.o): Add params.h dependency.
1372 * cse.c: Include params.h.
1373 (PATHLENGTH): Removed.
1374 (struct cse_basic_block_data): Make path array dynamic.
1375 (cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
1376 of PATHLENGTH.
1377 (cse_main, cse_basic_block): Allocate path array.
1378 * params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
1379
1380 Wed Jun 4 09:49:21 CEST 2003 Jan Hubicka <jh@suse.cz>
1381
1382 * i386.c (ix86_reorg): Replace the jump instead of adding nop.
1383 * i386.md (UNSPEC_REP): New constant.
1384 (return_internal_long): New pattern.
1385
1386 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1387
1388 PR optimization/11018
1389 * config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
1390 consistently to decide whether the scratch register is really
1391 required.
1392
1393 2003-06-04 Eric Botcazou <ebotcazou@libertysurf.fr>
1394
1395 PR optimization/10876
1396 * config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
1397 new 'O' constraint for constant 4096.
1398 (CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
1399 * config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
1400 Do not transform into MINUS insn for constant 4096.
1401 (*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
1402 for constant 4096 as third operand.
1403 (addsi3 expander): Remove.
1404 (*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
1405 new alternative for constant 4096 as third operand.
1406 (subdi3 expander): Do not transform into PLUS insn for constant 4096.
1407 (*subdi3_sp64 insn): Add new alternative for constant 4096 as third
1408 operand.
1409 (subsi3 expander): Remove.
1410 (*subsi3 insn): Rename into 'subsi3'. Add new alternative for
1411 constant 4096 as third operand.
1412 * doc/md.texi (Machine Constraints): Document new 'O' constraint for
1413 the SPARC port.
1414
1415 2003-06-03 Chris Demetriou <cgd@broadcom.com>
1416
1417 * config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
1418
1419 2003-06-04 Andreas Jaeger <aj@suse.de>
1420
1421 * config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
1422
1423 * config/i386/i386.c (ix86_expand_prologue): Do not use
1424 SUBTARGET_PROLOGUE.
1425
1426 * system.h: Poision SUBTARGET_PROLOGUE.
1427
1428 * config/arm/arm-protos.h: Remove unused rdate_section prototype.
1429
1430 * output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
1431 dependend code.
1432
1433 * system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
1434
1435 * system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
1436 INSN_CACHE_LINE_WIDTH.
1437
1438 * libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
1439 (__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
1440 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1441
1442 * doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
1443 INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
1444
1445 * dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
1446 (dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
1447 (dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
1448 (dbxout_block): Remove usage of DBX_LBRAC_FIRST.
1449 (dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
1450 (dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
1451
1452 * doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
1453 DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
1454 DBX_WORKING_DIRECTORY.
1455
1456 * system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
1457 DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
1458
1459 * config/frv/frv-protos.h: Remove unused const_section
1460 declaration.
1461 * config/vax/vax-protos.h: Likewise.
1462
1463 * output.h: Remove CONST_SECTION_ASM_OP usage.
1464
1465 * system.h: Poison CONST_SECTION_ASM_OP.
1466
1467 * crtstuff.c (__do_global_dtors_aux): Remove usage of
1468 CRT_GET_RFIB_TEXT.
1469 (frame_dummy): Likewise.
1470 * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
1471 * system.h: Poison CRT_GET_RFIB_TEXT.
1472
1473 * collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
1474
1475 * fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
1476 (write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
1477 (recognized_function): Likewise.
1478 (read_scan_file): Likewise.
1479
1480 2003-06-03 Roger Sayle <roger@eyesopen.com>
1481
1482 * optabs.c (expand_binop): Optimize complex multiplication for
1483 the case of squaring a complex argument.
1484
1485 2003-06-03 Roger Sayle <roger@eyesopen.com>
1486
1487 * optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
1488 non-volatile operands of binary operations.
1489 (prepare_cmp_insn): Likewise.
1490
1491 2003-06-03 Roger Sayle <roger@eyesopen.com>
1492
1493 * varasm.c (force_const_mem): Handle alignment of constants not
1494 representable as a type in the front-end language.
1495
1496 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
1497
1498 * flow.c (initialize_uninitialized_subregs): Use
1499 emit_move_insn instead of emitting a hardcoded move.
1500
1501 2003-06-03 Richard Henderson <rth@redhat.com>
1502
1503 * optabs.c (expand_abs_nojump): Split out from ...
1504 (expand_abs): ... here.
1505 * optabs.h (expand_abs_nojump): Declare.
1506 * ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
1507 * Makefile.in (ifcvt.o): Depend on optabs.h.
1508
1509 2003-06-03 Alan Modra <amodra@bigpond.net.au>
1510
1511 * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
1512
1513 2003-06-03 Jason Thorpe <thorpej@wasabisystems.com>
1514
1515 * config.gcc (default_use_cxa_atexit): New variable, defaults to no.
1516 (*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
1517 to yes.
1518 * configure.in: Allow default_use_cxa_atexit to determine the
1519 value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
1520 disabled.
1521 * configure: Regenerate.
1522
1523 2003-06-03 Douglas B Rupp <rupp@gnat.com>
1524
1525 * Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
1526 * doc/gcc.texi: Remove vms.texi section.
1527 * doc/vms.texi: Remove obsolete file.
1528
1529 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
1530
1531 * configure.in (inhibit_libc): Don't define when configuring
1532 with --with-newlib --with-headers.
1533 * configure: Regenerate.
1534
1535 * t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
1536
1537 2003-06-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1538
1539 * configure.in (gcc_cv_as_hidden): Disable .hidden completely on
1540 IRIX 6 without GNU ld.
1541 * configure: Regenerate.
1542
1543 2003-06-03 Roger Sayle <roger@eyesopen.com>
1544
1545 * expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
1546 of a complex number rather than invoke mov_optab directly.
1547
1548 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
1549
1550 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
1551 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
1552
1553 2003-06-03 Nathanael Nerode <neroden@gcc.gnu.org>
1554
1555 * config/i386/x86-64.h: Remove two target-independent comments;
1556 replace "GNU CC" with "GCC".
1557
1558 2003-06-03 Anthony Green <green@redhat.com>
1559
1560 * config/frv/t-frv (EXTRA_HEADERS): Remove media.h
1561
1562 2003-06-03 Roger Sayle <roger@eyesopen.com>
1563
1564 * builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
1565 New builtins representing ISO C99's cabs, cabsf and cabsl.
1566 * builtins.c (expand_builtin_fabs): New function.
1567 (expand_builtin_cabs): New function.
1568 (expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
1569 using expand_builtin_fabs and expand_builtin_cabs respectively.
1570
1571 * doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
1572
1573 2003-06-03 Aldy Hernandez <aldyh@redhat.com>
1574
1575 * function.c (assign_parms): Split complex arguments.
1576
1577 * doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
1578
1579 * expr.h (SPLIT_COMPLEX_ARGS): Define.
1580 (split_complex_types): Protoize.
1581 (split_complex_values): Protoize.
1582
1583 * calls.c (expand_call): Split complex arguments on architectures
1584 that require it.
1585 (split_complex_values): New.
1586 (split_complex_types): New.
1587
1588 * config/rs6000/rs6000.c (rs6000_libcall_value): New.
1589 (rs6000_function_value): Handle complex values on AIX.
1590 (rs6000_complex_function_value): New.
1591
1592 * config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
1593
1594 * config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
1595 (SPLIT_COMPLEX_ARGS): New.
1596
1597 2003-06-03 Jakub Jelinek <jakub@redhat.com>
1598
1599 * configure.in (HAVE_LD_PIE): Check for ld -pie.
1600 * config.in: Rebuilt.
1601 * configure: Rebuilt.
1602 * toplev.c (flag_pie, flag_shlib): New variables.
1603 (f_options): Add -fpie and -fPIE.
1604 (parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
1605 Set flag_shlib if flag_pic and not -fpie/-fPIE.
1606 * flags.h (flag_pic, flag_shlib): Add.
1607 * varasm.c (default_binds_local_p): Use flag_shlib instead of
1608 flag_pic.
1609 * gcc.c (LINK_PIE_SPEC): Define.
1610 (LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
1611 (option_map): Add --pie -> -pie mapping.
1612 * config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
1613 and -fPIE the same way as -fPIC.
1614 * config/openbsd.h (ASM_SPEC): Likewise.
1615 * config/frv/frv.h (ASM_SPEC): Likewise.
1616 * config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
1617 * config/arm/semi.h (ASM_SPEC): Likewise.
1618 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
1619 * config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
1620 * config/i386/beos-elf.h (CC1_SPEC): Likewise.
1621 * config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
1622 * config/m68k/linux.h (CPP_SPEC): Likewise.
1623 * config/m68k/netbsd.h (ASM_SPEC): Likewise.
1624 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
1625 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
1626 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
1627 * config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
1628 * config/pa/pa-linux.h (CPP_SPEC): Likewise.
1629 * config/netbsd-aout.h (ASM_SPEC): Likewise.
1630 * config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
1631 * config/rs6000/vxworks.h (CPP_SPEC): Likewise.
1632 * config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1633 * config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
1634 * config/sparc/sparc.h (ASM_SPEC): Likewise.
1635 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
1636 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
1637 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
1638 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
1639 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
1640 * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
1641 Simplify.
1642 * config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1643 * config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1644 * config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1645 * config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1646 * config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1647 * config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1648 * config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
1649 * doc/invoke.texi: Document -pie, -fpie and -fPIE options.
1650
1651 2003-06-03 Jakub Jelinek <jakub@redhat.com>
1652
1653 * builtins.c (expand_builtin_memcpy): Remove endp argument and endp
1654 != 0 handling. Pass 0 to store_by_pieces.
1655 (expand_builtin_mempcpy): Add endp argument. Don't call
1656 expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
1657 directly. If ignoring result, only do expand_call.
1658 (expand_builtin_stpcpy): Likewise. Call expand_builtin_mempcpy
1659 otherwise.
1660 (expand_builtin_strncpy, expand_builtin_memset): Adjust
1661 store_by_pices callers.
1662 (expand_builtin): Adjust expand_builtin_memcpy and
1663 expand_builtin_mempcpy callers.
1664 * expr.c (can_move_by_pieces): New function.
1665 (move_by_pieces): Add endp argument, return to resp. memory at end
1666 or one byte earlier depending on endp.
1667 (store_by_pieces): Likewise.
1668 (emit_block_move): Adjust call to move_by_pieces.
1669 (emit_push_insn): Adjust move_by_pieces caller.
1670 * expr.h (can_move_by_pieces): New prototype.
1671 (store_by_pieces): Adjust prototypes.
1672 * rtl.h (move_by_pieces): Adjust prototype.
1673 * config/mips/mips.c (expand_block_move): Adjust move_by_pieces
1674 caller.
1675
1676 2003-06-03 Ben Elliston <bje@wasabisystems.com>
1677
1678 * doc/md.texi (Processor pipeline description): Improve wording.
1679
1680 2003-06-03 Neil Booth <neil@daikokuya.co.uk>
1681
1682 * c-opts.c (c_common_handle_option): New, pulled out of
1683 c_common_decode_option. Substitute uses of argv.
1684 (c_common_decode_option): Broken into two.
1685
1686 2003-06-02 Roger Sayle <roger@eyesopen.com>
1687 Zack Weinberg <zack@codesourcery.com>
1688
1689 * emit-rtl.c (gen_complex_constant_part): Remove unnecessary
1690 test of TREE_CONSTANT_POOL_ADDRESS_P.
1691
1692 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1693
1694 * mips.c: Don't include output.h twice.
1695 * stormy16.c: Likewise.
1696 * xtensa.c: Likewise.
1697 * output.h: Protect against multiple inclusion.
1698
1699 2003-06-02 J"orn Rennecke <joern.rennecke@superh.com>
1700
1701 * sh.h (OLD_ARG_MODE): New macro.
1702 (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
1703 (FUNCTION_ARG_1): Break out of:
1704 (FUNCTION_ARG). Use OLD_ARG_MODE.
1705
1706 2003-06-02 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1707
1708 * gcc/config.gcc Add support multilib parts for m32rx processor.
1709
1710 2003-06-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1711
1712 * Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
1713 (mostlyclean): Delete c-options.c and c-options.h.
1714
1715 2003-06-02 Neil Booth <neil@daikokuya.co.uk>
1716
1717 * c-opts.c (CL_REJECT_NEGATIVE): New.
1718 (c_common_decode_option): Update to use it.
1719 * c.opt: Update documentation; use RejectNegative.
1720 * opts.sh: Handle RejectNegative.
1721
1722 2003-06-01 Zack Weinberg <zack@codesourcery.com>
1723
1724 * ggc-page.c (init_ggc): Give better diagnostics on failure to
1725 open /dev/zero.
1726 * toplev.c (crash_signal): Reset handling for received signal
1727 to SIG_DFL.
1728
1729 2003-06-02 Ben Elliston <bje@wasabisystems.com>
1730
1731 * config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
1732 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
1733 (arm_use_dfa_pipeline_interface): Implement.
1734 * config/arm/arm.md (arm): New automaton.
1735 (write_buf): Remove function units; new cpu unit.
1736 (write_blockage): Remove function units; new cpu unit.
1737 (core): Remove function units; new cpu unit.
1738 (r_mem_f_wbuf): New instruction reservation.
1739 (store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
1740 (store1_ldsched, store2, store3, store4): Likewise.
1741 (load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
1742 (mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
1743 (multi_cycle, single_cycle): Likewise.
1744 * config/arm/fpa.md (armfp): New automaton.
1745 (fpa): Remove function units; new cpu unit.
1746 (fpa_mem): Remove function unit; new cpu unit.
1747 (fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
1748 (r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
1749
1750 2003-06-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1751
1752 * builtin-attrs.def (ATTR_ASM_FPRINTF): New.
1753 * c-format.c (enum format_type): Add asm_fprintf_format_type.
1754 (NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
1755 asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
1756 (format_types_orig): Renamed from format_types. Add new data.
1757 (format_types): Declare as pointer.
1758 (handle_format_attribute): Move later in file so we have all
1759 necessary declarations. Add section to capture HOST_WIDE_INT.
1760 * output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
1761 (asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
1762
1763 2003-06-01 Andreas Jaeger <aj@suse.de>
1764
1765 * doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
1766 ROUND_TYPE_SIZE_UNIT.
1767
1768 * stor-layout.c (finalize_record_size): Remove usages of
1769 ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1770 (finalize_type_size): Likewise.
1771 (layout_type): Likewise.
1772
1773 * system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
1774
1775 * loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
1776
1777 * config/d30v/d30v.h: Remove text copied from the manual.
1778
1779 2003-06-01 Roger Sayle <roger@eyesopen.com>
1780 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1781 Geoffrey Keating <geoffk@apple.com>
1782
1783 * emit-rtl.c (gen_lowpart_common): Handle interpreting integer
1784 constants as condition code values.
1785
1786 2003-06-01 DJ Delorie <dj@redhat.com>
1787
1788 * cppmacro.c (warn_of_redefinition): Handle cases where the two
1789 definitions have different numbers of tokens.
1790
1791 2003-06-01 Andreas Jaeger <aj@suse.de>
1792
1793 * gen-protos.c (main): Readd unused attribute for argc.
1794
1795 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1796
1797 * Makefile.in (c-options.c, c-options.h): Parallel make safe.
1798 * c.opt: End in blank line.
1799 * opts.sh: Take AWK from environment if available; use C locale.
1800
1801 2003-06-01 Andreas Schwab <schwab@suse.de>
1802
1803 * config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
1804
1805 2003-06-01 Andreas Jaeger <aj@suse.de>
1806
1807 * gen-protos.c (main): Revert patch to check for argument.
1808
1809 2003-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
1810
1811 PR target/11044
1812 * config/i386/i386.md (length attribute): Set length to 4
1813 for instructions of type "fcmp".
1814
1815 2003-06-01 Andreas Jaeger <aj@suse.de>
1816
1817 * toplev.c: Use ISO C90 prototypes.
1818
1819 * toplev.h: Use ISO C90 prototypes.
1820
1821 * genrecog.c: Use ISO C90 prototypes.
1822 (nodes_identical): Correct declaration to match prototype.
1823 (maybe_both_true): Likewise.
1824 (merge_trees): Likewise.
1825
1826 * genpeep.c (gen_peephole): Remove #if 0 code.
1827 Use ISO C90 prototypes.
1828
1829 * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
1830 Remove #if 0'ed function simplify_by_alternatives.
1831 (optimize_attrs): Remove #if 0'ed code.
1832 Remove ^L.
1833 Use ISO C90 prototypes.
1834 (make_canonical): Remove #if 0'ed code.
1835 (convert_const_symbol_ref): Remove #if 0'ed function.
1836
1837 * gen-protos.c (main): Check for argument.
1838
1839 * rtl.h: Use ISO C90 prototypes for functions from lists.c.
1840
1841 * params.h: Use ISO C90 prototypes.
1842 * params.c: Likewise.
1843 * intl.c: Likewise.
1844 * intl.h: Likewise.
1845 * lists.c: Likewise.
1846 * errors.c: Likewise.
1847 * errors.h: Likewise.
1848 * gencodes.c: Likewise.
1849 * genpreds.c: Likewise.
1850 * genattr.c: Likewise.
1851 * gen-protos.c: Likewise.
1852 * genflags.c: Likewise
1853 * genconditions.c: Likewise.
1854 * genautomata.c: Likewise.
1855 * gencheck.c: Likewise.
1856 * genconfig.c: Likewise.
1857 * genconstants.c: Likewise.
1858 * genemit.c: Likewise.
1859 * genextract.c: Likewise.
1860 * gengenrtl.c: Likewise.
1861 * gengtype.c: Likewise.
1862 * gengtype.h: Likewise.
1863 * genopinit.c: Likewise.
1864 * genoutput.c: Likewise.
1865 * gensupport.c: Likewise.
1866 * gensupport.h: Likewise.
1867
1868 * sdbout.h: Use ISO C90 prototypes.
1869
1870 * sdbout.c (CONTIN): Removed empty macro.
1871 (sdbout_one_type): Remove CONTIN usages.
1872 Remove ^Ls.
1873 (tag_of_ru_type): Remove #if 0'ed function.
1874 (sdbout_symbol): Remove #if 0'ed code.
1875 (sdbout_one_type): Remove a #if 1.
1876 (sdbout_one_type): Remove #if 0'ed code.
1877 (sdbout_init): Remove RMS_QUICK_HACK_1 code.
1878 Remove PARAMS, use ISO C90 prototypes for all functions.
1879
1880 2003-06-01 Josef Zlomek <zlomekj@suse.cz>
1881
1882 * rtl.def (CONST_DOUBLE): Update comment.
1883
1884 2003-06-01 Neil Booth <neil@daikokuya.co.uk>
1885
1886 * opts.sh: Remove path from sort.
1887
1888 2003-06-01 Aldy Hernandez <aldyh@redhat.com>
1889
1890 PR/9680
1891 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
1892 TARGET_SPE for SPE_VECTOR_MODE.
1893
1894 2003-05-31 Aldy Hernandez <aldyh@redhat.com>
1895
1896 * toplev.c (botch): Remove.
1897 (do_abort): Remove.
1898 (set_Wunused): Comment.
1899 (set_Wextra): Comment.
1900 Remove ^L's.
1901 (rest_of_compilation): Factor out common code into functions.
1902 (rest_of_handle_inlining): New.
1903 (rest_of_handle_ssa): New.
1904 (rest_of_handle_cse): New.
1905 (rest_of_handle_gcse): New.
1906 (rest_of_handle_loop_optimize): New.
1907 (rest_of_handle_jump_bypass): New.
1908 (rest_of_handle_sibling_calls): New.
1909 (rest_of_handle_null_pointer): New.
1910 (rest_of_handle_addresof): New.
1911 (rest_of_handle_flow): New.
1912 (rest_of_handle_branch_prob): New.
1913 (rest_of_handle_if_conversion): New.
1914 (rest_of_handle_tracer): New.
1915 (rest_of_handle_loop2): New.
1916 (rest_of_handle_cse2): New.
1917 (rest_of_handle_life): New.
1918 (rest_of_handle_combine): New.
1919 (rest_of_handle_if_after_combine): New.
1920 (rest_of_handle_regmove): New.
1921 (rest_of_handle_sched): New.
1922 (rest_of_handle_old_regalloc): New.
1923 (rest_of_handle_new_regalloc): New.
1924 (rest_of_handle_regrename): New.
1925 (rest_of_handle_reorder_blocks): New.
1926 (rest_of_handle_sched2): New.
1927 (rest_of_handle_new_regalloc): New.
1928 (rest_of_handle_old_regalloc): New.
1929 (rest_of_handle_regrename): New.
1930 (rest_of_handle_reorder_blocks): New.
1931 (rest_of_handle_stack_regs): New.
1932 (rest_of_handle_machine_reorg): New.
1933 (rest_of_handle_delay_slots): New.
1934 (rest_of_handle_final): New.
1935
1936 * toplev.h (botch): Remove prototype.
1937 (do_abort): Same.
1938
1939 2003-05-31 Neil Booth <neil@daikokuya.co.uk>
1940
1941 * Makefile.in (c-opts.o, c-options.h): Update dependencies.
1942 * c-opts.c: Include c-options.h and c-options.c.
1943 (CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
1944 Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
1945 (CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
1946 OPT, opt_comp): Remove.
1947 (missing_arg, c_common_init_options, c_common_decode_option,
1948 write_langs): Update for macro redefinitions and enumeration
1949 name changes.
1950 * c.opt, opts.sh: New files.
1951 * doc/passes.texi: Update.
1952
1953 2003-05-31 Andreas Jaeger <aj@suse.de>
1954
1955 * function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
1956 usage.
1957
1958 * doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
1959
1960 * config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
1961
1962 * system.h: Poison ALLOCATE_TRAMPOLINE.
1963
1964 * doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
1965 * system.h: Poison HANDLE_PRAGMA.
1966
1967 2003-05-31 Kazu Hirata <kazu@cs.umass.edu>
1968
1969 * doc/invoke.texi: Update dump file names.
1970
1971 2003-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1972
1973 * c-format.c (format_length_info, format_char_info,
1974 format_flag_spec, format_flag_pair, format_kind_info):
1975 De-const-ify structure members.
1976
1977 2003-05-31 Roger Sayle <roger@eyesopen.com>
1978
1979 * flags.h (flag_wrapv): New flag controlling overflow semantics.
1980 * toplev.c (flag_wrapv): Declare the variable with default false.
1981 (lang_independent_options): New option "-fwrapv" to set the above.
1982
1983 * fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
1984 as x, when signed arithmetic overflow wraps around.
1985 (fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
1986 * loop.c (basic_induction_var): Ignore BIVs that rely on undefined
1987 overflow when flag_wrapv is true.
1988
1989 * doc/invoke.texi: Document new -fwrapv command line option.
1990 * doc/c-tree.texi: Mention that the overflow semantics of
1991 NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
1992 upon both flag_wrapv and flag_trapv.
1993
1994 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
1995
1996 * doc/install.texi (mips-sgi-irix5): Add missing
1997 HTML <hr> marker.
1998
1999 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2000
2001 * doc/md.texi (Machine Constraints): Document
2002 missing SPARC constraints.
2003
2004 2003-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
2005
2006 * doc/md.texi (Automaton pipeline description): Use
2007 "type" instead of "cpu" as the attribute in the examples.
2008
2009 2003-05-30 Stan Shebs <shebs@apple.com>
2010
2011 * system.h: Poison OBJC_PROLOGUE.
2012
2013 2003-05-30 Roger Sayle <roger@eyesopen.com>
2014
2015 * emit-rtl.c (gen_complex_constant_part): New function for getting
2016 the constant real or imaginary part of a complex constant.
2017 (gen_realpart): Use it.
2018 (gen_imagpart): Likewise.
2019
2020 2003-05-30 Kazu Hirata <kazu@cs.umass.edu>
2021
2022 * doc/invoke.texi: Fix typos.
2023 * doc/rtl.texi: Likewise.
2024
2025 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
2026
2027 * config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
2028 mode.
2029 * config/h8300/crtn.asm: Likewise.
2030 * config/h8300/lib1funcs.asm: Likewise.
2031 * config/h8300/h8300.c (asm_file_start): Likewise.
2032 * config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
2033 h8300snelf emulations for normal mode.
2034 * config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
2035 emulations for normal mode.
2036
2037 2003-05-30 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
2038
2039 * config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
2040 true if TARGET_NORMAL_MODE.
2041
2042 2003-05-30 Roger Sayle <roger@eyesopen.com>
2043
2044 * cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
2045 making a substitution.
2046 (dead_libcall_p): If directly replacing a libcall with a
2047 constant value produces an invalid instruction, also try forcing
2048 the constant into the constant pool.
2049 * expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
2050 obvious that the source is a constant.
2051 (compress_float_constant): Use set_unique_reg_note to place
2052 REG_EQUAL notes on instructions.
2053
2054 2003-05-30 Eric Christopher <echristo@redhat.com>
2055
2056 * config/mips/mips.c (extern_list): Add GTY marker.
2057 (extern_head): Separate out definition. Add marker.
2058 (mips_output_external): Use ggc_alloc for extern_list
2059 allocation.
2060 (mips_output_external_libcall): Ditto.
2061
2062 2003-05-30 Florian Weimer <fw@deneb.enyo.de>
2063
2064 * doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
2065 later.
2066
2067 2003-05-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2068
2069 * vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
2070 warnings.
2071 (PRINT_OPERAND): Likewise.
2072
2073 2003-05-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2074
2075 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
2076 -mdebug/-no-mdebug switches ...
2077 (MDEBUG_ASM_SPEC): ... here.
2078 Use only with gas.
2079 (EXTRA_SPECS): Initialize mdebug_asm_spec.
2080
2081 2003-05-29 Matt Kraai <kraai@alumni.cmu.edu>
2082
2083 * gthr-gnat.c: Remove #undef UNUSED.
2084 (__gnat_default_lock, __gnat_default_unlock): Prototype.
2085 (__gnat_task_lock, __gnat_task_unlock): Make declarations
2086 prototypes.
2087 (__gnat_install_locks): Convert declaration to ISO C90, make
2088 parameter declarations prototypes, and remove blank line.
2089 * gthr-gnat.h (__gnat_install_locks): Make parameter
2090 declarations prototypes.
2091
2092 2003-05-29 Jason Merrill <jason@redhat.com>
2093
2094 * Makefile.in (unstrap): Remove stage_last after make unstage1.
2095
2096 2003-05-29 Roger Sayle <roger@eyesopen.com>
2097
2098 * mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
2099
2100 2003-05-29 Roger Sayle <roger@eyesopen.com>
2101 Kaveh Ghazi <ghazi@caip.rutgers.edu>
2102
2103 PR bootstrap/10169
2104 * mips-tfile.c (main): Use getopt_long instead of getopt.
2105 Add new command line option --version to display version.
2106 Treat --verbose like -v to report a single line version.
2107 (options): New global variable for getopt_long.
2108 * mips-tdump.c (main): Use getopt_long instead of getopt.
2109 New command line options -v, --version and -verbose to display
2110 the program version number (to match mips-tfile's behavior).
2111 (options): New global variable for getopt_long.
2112
2113 * gcov.c (options): Zero-terminate getopt_long array.
2114 * gcov-dump.c (options): Likewise.
2115
2116 * Makefile.in (mips-tdump.o): Add dependency on version.h.
2117
2118 2003-05-29 Stan Shebs <shebs@apple.com>
2119
2120 Remove OBJC_PROLOGUE everywhere.
2121 * objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
2122 * config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
2123 * config/d30v/d30v.h: Similarly.
2124 * config/ip2k/ip2k.h: Similarly.
2125 * doc/tm.texi: Remove doc of OBJC_PROLOGUE.
2126
2127 2003-05-29 Roger Sayle <roger@eyesopen.com>
2128
2129 * c-semantics.c (genrtl_do_stmt_1): New function split out from...
2130 (gen_rtl_do_stmt): ... here. Call genrtl_do_stmt_1.
2131 (expand_unreachable_stmt): Expand unreachable while statements
2132 using genrtl_do_stmt_1.
2133
2134 2003-05-29 Richard Sandiford <rsandifo@redhat.com>
2135
2136 * config/mips/mips-protos.h (mips_output_load_label): Declare.
2137 * config/mips/mips.c (mips_output_load_label): New function.
2138 (mips_output_conditional_branch): Use it.
2139 * config/mips/mips.md (jump): And here.
2140
2141 2003-05-28 Bob Wilson <bob.wilson@acm.org>
2142
2143 * config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
2144 (xtensa_split_operand_pair): New proto.
2145 * config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
2146 (smalloffset_double_mem_p): Delete.
2147 (gen_float_relational, printx, print_operand, xtensa_va_arg):
2148 Fix whitespace.
2149 (xtensa_split_operand_pair): New.
2150 (xtensa_dbx_register_number): Fix formatting.
2151 * config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
2152 * config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
2153 instead of splitting them into single-word moves. Remove unnecessary
2154 checks for reload_in_progress and reload_completed.
2155 (movdi_internal, movdf_internal): Change to post-reload split patterns.
2156 Add constraints to allow constant operands.
2157 (movsf_internal): Allow CONST_INT operands.
2158
2159 2003-05-27 Danny Smith <dannysmith@users.sourceforge.net>
2160
2161 * config.gcc (i[34567]86-*-mingw32*): Add host makefile
2162 fragment i386/x-mingw32.
2163 * config/i386/x-mingw32: New file. Make local_includedir
2164 relative to EXEC_PREFIX.
2165
2166 2003-05-27 Aaron W. LaFramboise <awlaframboise@aol.com>
2167
2168 * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
2169 (MD_STARTFILE_PREFIX): Define.
2170
2171 2003-05-27 Denis Chertykov <denisc@overta.ru>
2172
2173 * cselib.c (cselib_invalidate_regno): Abort if hardreg have a
2174 VOIDmode.
2175 * cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
2176 call of cselib_invalidate_regno.
2177
2178 2003-05-28 Daniel Jacobowitz <drow@mvista.com>
2179
2180 * config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
2181 -lthread to -lpthread.
2182
2183 2003-05-28 Eric Botcazou <ebotcazou@libertysurf.fr>
2184 Bruce Korb <bkorb@gnu.org>
2185 Arno Klaassen <arno@heho.snv.jussieu.fr>
2186
2187 * fixinc/inclhack.def: Add missing declaration of getpagesize()
2188 to unistd.h on Solaris 2.5.1.
2189 Fix prototype of recv() and send() in sys/socket.h on
2190 Solaris 2.5.1 and 2.6.
2191 * fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
2192 * fixinc/tests/base/sys/socket.h: Add solaris_socket test.
2193 * fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
2194 * fixinc/fixincl.x: Regenerate.
2195
2196 2003-05-27 Jason Merrill <jason@redhat.com>
2197
2198 * tree.c (expr_first, expr_length): New fns.
2199 * tree.h: Declare them.
2200
2201 * tree.c (iterative_hash_expr): Hash commutative expressions
2202 consistently.
2203
2204 2003-05-27 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2205
2206 * tree.h (contains_placeholder_p): Now returns bool.
2207 (CONTAINS_PLACEHOLDER_P): New macro.
2208 (type_contains_placeholder_p): New function.
2209 * tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
2210 (contains_placeholder_p): Now returns bool.
2211 Rework to use CONTAINS_PLACEHOLDER_P macro.
2212 (type_contains_placeholder_p): New function.
2213 * fold-const.c (fold, case COMPONENT_REF): Don't fold if
2214 type_contains_placeholder_p.
2215 (fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
2216 Use CONTAINS_PLACEHOLDER_P macro.
2217 * builtins.c (fold_builtin): Likewise.
2218 * calls.c (initialize_argument_information): Likewise.
2219 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
2220 * explow.c (expr_size): Likewise.
2221 * expr.c (store_constructor, get_inner_reference): Likewise.
2222 * function.c (assign_parms): Likewise.
2223 * stor-layout.c (variable_size): Likewise.
2224
2225 2003-05-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2226
2227 * diagnostic.h (output_verbatim, verbatim): Remove printf
2228 attribute.
2229
2230 2003-05-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2231
2232 * doc/contrib.texi (Contributors): Update Kean Johnston.
2233
2234 2003-05-24 David Edelsohn <edelsohn@gnu.org>
2235
2236 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
2237
2238 2003-05-24 Nathanael Nerode <neroden@gcc.gnu.org>
2239
2240 * config/rs6000/440.md, config/stormy16/stormy16protos.h,
2241 config/stormy16/stormy16.c, config/stormy16/stormy16.md:
2242 Replace "GNU CC" with "GCC".
2243
2244 2003-05-24 Matt Kraai <kraai@alumni.cmu.edu>
2245
2246 * builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
2247 intermediate computation.
2248
2249 2003-05-23 Eric Christopher <echristo@redhat.com>
2250
2251 * config/mips/mips.md (clzsi, clzdi): New patterns.
2252
2253 2003-05-23 Geoffrey Keating <geoffk@apple.com>
2254
2255 * gcc.c (default_compilers): Use -o to specify preprocessor's output
2256 file. Make -no-integrated-cpp work when building PCH files.
2257 * objc/lang-specs.h: Likewise.
2258
2259 2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
2260
2261 * fixinc/Makefile.in: Correct description.
2262 * fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
2263 fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
2264 fixinc/genfixes: Replace "GNU CC" with "GCC".
2265
2266 2003-05-23 Roger Sayle <roger@eyesopen.com>
2267
2268 * builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
2269 builtin functions (and their __builtin_* variants).
2270 * builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
2271 (expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
2272 optimizing.
2273
2274 * doc/extend.texi: Document new tan and atan builtins, and
2275 their float and long double variants.
2276
2277 2003-05-23 Jason Thorpe <thorpej@wasabisystems.com>
2278
2279 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
2280 __sparcv9 in the TARGET_ARCH64 case.
2281
2282 Fri May 23 22:17:32 CEST 2003 Jan Hubicka <jh@suse.cz>
2283
2284 * i386.c (ix86_reorg): Calls are also jumps.
2285
2286 2003-05-23 J"orn Rennecke <joern.rennecke@superh.com>
2287
2288 * cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
2289 note containing an EXPR_LIST, process all the arguments.
2290
2291 Fri May 23 21:19:31 CEST 2003 Jan Hubicka <jh@suse.cz>
2292 Andreas Jaeger <aj@suse.de>
2293
2294 * i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
2295 do not use assertion.
2296
2297 2003-05-23 Mike Stump <mrs@apple.com>
2298
2299 * tlink.c (scan_linker_output): Add support for darwin linker, as it
2300 emits unresolved symbols one per line, consuming the entire line.
2301
2302 2003-05-23 Larin Hennessy <larin@science.oregonstate.edu>
2303 Zack Weinberg <zack@codesourcery.com>
2304
2305 * explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
2306 * config/m68k/m68k.c (m68k_output_function_prologue):
2307 Remove code under #if NEED_PROBE.
2308 * config/m68k/m68k.h: Don't define NEED_PROBE.
2309 * config/m68k/m68k.md: Remove "probe" insn.
2310 * doc/md.texi: Remove documentation of "probe" pattern.
2311
2312 2003-05-23 Dorit Naishlos <gcchaifa@il.ibm.com>
2313
2314 * config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
2315
2316 2003-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
2317
2318 * doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
2319 Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
2320
2321 2003-05-22 Roger Sayle <roger@eyesopen.com>
2322
2323 * real.c (real_maxval): New function to return the largest finite
2324 value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
2325 * real.h (real_maxval): Prototype here.
2326 * fold-const.c (fold_inf_compare): Transform comparisons against
2327 +-Infinity into comparisons against DBL_MAX (or equivalent).
2328
2329 2003-05-22 Mike Stump <mrs@apple.com>
2330
2331 * config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
2332 default.
2333
2334 2003-05-22 DJ Delorie <dj@redhat.com>
2335
2336 * calls.c (expand_call): If the arg block is going to grow
2337 downward, we need argblock to point to the top of the block,
2338 not the bottom.
2339
2340 2003-05-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2341
2342 * c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
2343
2344 * expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
2345 constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
2346
2347 2003-05-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2348
2349 * m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
2350 * m68k.c: Likewise.
2351 * m68k.h: Likewise.
2352
2353 2003-05-22 Zack Weinberg <zack@codesourcery.com>
2354
2355 PR other/2873
2356 * fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
2357 expressions to prevent triggering on recent curses.h,
2358 linux/nls.h, or X11/Xlib.h.
2359 (stdio_va_list): Add _G_va_list to bypass pattern.
2360 (strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
2361 * fixinc/fixincl.x: Regenerate.
2362
2363 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
2364
2365 * gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
2366 switches when --target-help option is specified.
2367
2368 2003-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
2369
2370 PR bootstrap/10805
2371 * doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
2372 failure with Sun assembler 5.0 Alpha 03/27/98.
2373
2374 2003-05-21 Loren James Rittle <ljrittle@acm.org>
2375
2376 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
2377 to match system compiler convention.
2378
2379 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
2380
2381 * gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for non-zero
2382 value, not just if defined.
2383 Update copyright year.
2384
2385 2003-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2386
2387 PR target/6428
2388 * pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
2389 directories from LIB_SPEC to LINK_SPEC. Emit warning if `-p' or `-pg'
2390 option is used without `-static'.
2391 * pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
2392 * pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
2393
2394 2003-05-21 Bob Wilson <bob.wilson@acm.org>
2395
2396 * config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
2397 TARGET_SERIALIZE_VOLATILE): Delete.
2398 (MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
2399 (TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
2400 (TARGET_SWITCHES): Remove "-mserialize-volatile" and
2401 "-mno-serialize-volatile".
2402 * config/xtensa/xtensa.c (print_operand): Remove checks of
2403 TARGET_SERIALIZE_VOLATILE.
2404 * config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
2405 * doc/invoke.texi (Option Summary, Xtensa Options): Remove
2406 "-mserialize-volatile" and "-mno-serialize-volatile" options.
2407
2408 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
2409
2410 * c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
2411 (nested_function): Likewise.
2412 (notype_nested_function): Likewise.
2413
2414 2003-05-21 Nick Clifton <nickc@redhat.com>
2415
2416 * config/stormy16/stormy-abi: Update overflow type for
2417 R_XSTORMY16_16 reloc.
2418
2419 2003-05-21 Nathan Sidwell <nathan@codesourcery.com>
2420
2421 * c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
2422 * c-parse.in (reswords): Remove __bounded__ and __unbounded__.
2423 (rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
2424 * print-tree.c (print_node): Remove ambient-boundedness.
2425 * tree.h (tree_common): Remove bounded_flag.
2426 (BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
2427 BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
2428 MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
2429 TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
2430 TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
2431 Remove.
2432 (TYPE_QUALS): Remove BOUNDED.
2433 (TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
2434 (TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
2435 TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
2436 TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
2437 VA_LIST_POINTER_DEPTH): Remove.
2438 (struct tree_type): Remove pointer_depth.
2439
2440 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2441
2442 * c-pretty-print.c (pp_c_integer_literal): Use
2443 HOST_WIDE_INT_PRINT_DOUBLE_HEX.
2444
2445 2003-05-20 Roger Sayle <roger@eyesopen.com>
2446 Kazu Hirata <kazu@cs.umass.edu>
2447 Joern Rennecke <joern.rennecke@superh.com>
2448
2449 * gcse.c (cprop_jump): Make use of REG_EQUAL notes on both
2450 setcc and jump, if they exist. If substituted instruction
2451 fails to validate, store current effort in a REG_EQUAL note.
2452 (cprop_insn): Don't attempt further substitutions if the
2453 current instruction has been deleted.
2454 (local_cprop_pass): Likewise.
2455
2456 * jump.c (redirect_jump): Also update REG_EQUAL note, if
2457 one is attached to the jump instruction.
2458 (invert_jump): Delete REG_EQUAL note on jump, if one exists.
2459
2460 2003-05-21 Danny Smith <dannysmith@users.sourceforge.net>
2461
2462 PR c++/9738
2463 * config/i386/winnt.c (i386_pe_encode_section_info): Enable
2464 even if not first.
2465
2466 2003-05-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2467
2468 * genautomata.c (output_description, output_automaton_units,
2469 output_state_arcs): Add missing specifiers.
2470
2471 2003-05-20 Bob Wilson <bob.wilson@acm.org>
2472
2473 * config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
2474 (do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
2475 (__mulsi3): Use do_addx* instead of ADDX* instructions. Formatting.
2476 (nsau): Rename to do_nsau. Provide alternate version for use when
2477 the NSAU instruction is available.
2478 (__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
2479 (__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
2480 * config/xtensa/xtensa-config.h: Update comments to match binutils.
2481 (XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
2482 * config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
2483 (TARGET_ABS, TARGET_ADDX): Define.
2484 (TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
2485 (TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
2486 * config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
2487 *subx8): Set predicate condition to TARGET_ADDX.
2488 (abssi2): Set predicate condition to TARGET_ABS.
2489 * doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
2490 "-maddx", and "-mno-addx" options.
2491 (Xtensa Options): Likewise. Also tag some opcode names with @code.
2492
2493 2003-05-20 Kevin Ryde <user42@zip.com.au>
2494 Wolfgang Bangerth <bangerth@dealii.org>
2495
2496 PR/10355
2497 * doc/extend.texi: Put a warning into the documentation
2498 of attribute regparm.
2499
2500 2003-05-20 Jason Merrill <jason@redhat.com>
2501
2502 * tree.c (expr_last): New fn.
2503 * tree.h: Declare it.
2504 * objc/objc-act (expr_last): Rename to objc_expr_last.
2505
2506 2003-05-20 J"orn Rennecke <joern.rennecke@superh.com>
2507
2508 * sh.c (sh_register_move_cost): Add clase for moving between
2509 FP registers and MAC registers.
2510
2511 2003-05-19 John David Anglin <dave.anglin@nrc-gnrc.gc.ca>
2512
2513 * pa/milli64.S ($$mulI): Fix typo.
2514
2515 2003-05-19 Matt Kraai <kraai@alumni.cmu.edu>
2516
2517 * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
2518 (nonlocal_set_p): Remove initial blank line.
2519 * dwarf2out.c (simple_type_size_in_bits): Likewise.
2520 * et-forest.c (et_forest_create): Likewise.
2521 * explow.c (stabilize): Likewise.
2522 * fix-header.c (write_lbrac): Likewise.
2523 * graph.c (start_fct, node_data): Likewise.
2524 * jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
2525 * rtlanal.c (global_reg_mentioned_p): Likewise.
2526 * tree.c (bit_position): Likewise.
2527
2528 2003-05-19 Alexandre Oliva <aoliva@redhat.com>
2529
2530 * config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
2531 -lthread to -lpthread.
2532
2533 2003-05-19 Neil Booth <neil@daikokuya.co.uk>
2534
2535 * c-opts.c (c_common_decode_option): Don't accept dollars
2536 as identifier characters in assembly.
2537 * doc/cpp.texi: Document this.
2538
2539 2003-05-19 Seth Arnold <sarnold@wirex.com>
2540 Aldy Hernandez <aldyh@redhat.com>
2541
2542 * config/rs6000/rs6000.c (rs6000_stack_info): Do not add
2543 vrsave_size twice.
2544
2545 2003-05-19 Aldy Hernandez <aldyh@redhat.com>
2546
2547 * doc/tm.texi (function_arg): Fix typo.
2548
2549 2003-05-19 Matt Austern <austern@apple.com>
2550
2551 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
2552 * c-common.h (warn_invalid_offsetof): Declare.
2553 * c-common.c (warn_invalid_offsetof): Define.
2554 * doc/invoke.texi: Document -Winvalid-offsetof.
2555 * testsuite/g++.dg/other/offsetof3.C: New.
2556 * testsuite/g++.dg/other/offsetof4.C: New.
2557
2558 2003-05-19 Kevin B. Hendricks <kevin.hendricks@sympatico.ca>
2559 David Edelsohn <edelsohn@gnu.org>
2560
2561 * config/rs6000/rs6000.c (rs6000_alignment_string,
2562 rs6000_alignment_flags): New variables.
2563 (rs6000_parse_alignment_option): New function.
2564 (rs6000_override_options): Call it.
2565 * config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
2566 (MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
2567 macros.
2568 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
2569 natural alignment if TARGET_NATURAL_ALIGNMENT
2570 (ROUND_TYPE_ALIGN): Always use default record alignment if
2571 TAGET_NATURAL_ALIGNMENT.
2572 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
2573 (ROUND_TYPE_ALIGN): Same.
2574 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
2575 (ROUND_TYPE_ALIGN): Same.
2576 * doc/invoke.texi (Option Summary, PowerPC Options): Document
2577 new options.
2578
2579 2003-05-19 J"orn Rennecke <joern.rennecke@superh.com>
2580
2581 * c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
2582 of a function using ASMSPEC, prepend a star.
2583
2584 2003-05-19 Jason Merrill <jason@redhat.com>
2585
2586 * tree-inline.c (copy_body_r): Avoid generating &* during inline
2587 substitution.
2588
2589 2003-05-19 Andrew Macleod <amacleod@redhat.com>
2590
2591 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
2592 not mark assignments to the hard frame pointer as being stack
2593 frame related.
2594 (xstormy16_expand_epilogue): Mark adjustments to the stack
2595 pointer as being stack frame related.
2596
2597 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2598
2599 * config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
2600 ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
2601 (PREDICATE_CODES): Add hilo_operand.
2602 * config/mips/mips.c (hilo_operand): New predicate.
2603 (mips_adjust_insn_length): Account for the number nops that might
2604 be needed to avoid hardware hazards.
2605 * config/mips/mips.md (dslot): Remove attribute.
2606 (hazard): New attribute.
2607 (can_delay): Use it. Check for calls, branches & jumps.
2608 (muldi3): Use the standard dmult pattern for mips16 code.
2609 (muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
2610
2611 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2612
2613 * config/mips/mips-protos.h (final_prescan_insn,
2614 mips_count_memory_refs, mips_fill_delay_slot): Remove.
2615 * config/mips/mips.h (delay_type, dslots_load_total,
2616 dslots_load_filled, dslots_jump_total, dslots_jump_filled,
2617 dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
2618 mips_load_reg3, mips_load_reg4): Remove.
2619 (MASK_STATS): Remove.
2620 (MASK_EXPLICIT_RELOCS): Reuse its value.
2621 (TARGET_STATS): Remove.
2622 (TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
2623 Warn that -mstats is now ignored.
2624 (FINAL_PRESCAN_INSN): Undefine.
2625 (DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
2626 (ASM_OUTPUT_REG_POP): Likewise.
2627 * config/mips/mips.c (dslots_load_total, dslots_load_filled,
2628 dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
2629 mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
2630 mips_fill_delay_slot, mips_count_memory_refs,
2631 final_prescan_insn): Remove.
2632 (output_block_move): Remove calls to mips_count_memory_refs.
2633 (print_operand): Remove printing of #nop for TARGET_STATS.
2634 (mips_output_function_epilogue): Remove TARGET_STATS code.
2635 Reorganize setting of fnnmae.
2636 * config/mips/mips.md: Remove handling of dslot statistics
2637 throughout file. Change all fcmp patterns into normal asm
2638 templates, removing calls to mips_fill_delay_slot.
2639 * doc/invoke.texi: Remove documentation of -mstats.
2640
2641 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2642
2643 * config/mips/mips.c (mips_class_max_nregs): Return the number of
2644 words in the mode.
2645
2646 2003-05-19 Richard Sandiford <rsandifo@redhat.com>
2647
2648 * config/mips/mips.c (override_options): Disable explicit
2649 relocs for old ABIs unless using gas.
2650
2651 2003-05-18 Eric Christopher <echristo@redhat.com>
2652
2653 * config/mips/mips.h: Remove definition of g_switch_value.
2654
2655 2003-05-18 Matt Kraai <kraai@alumni.cmu.edu>
2656
2657 * flags.h (g_switch_value): Change to an unsigned
2658 HOST_WIDE_INT.
2659 * toplev.c (g_switch_value): Likewise.
2660
2661 * config/alpha/alpha.c (small_symbolic_operand): Remove
2662 g_switch_value cast.
2663 (alpha_in_small_data_p): Cast size to an unsigned
2664 HOST_WIDE_INT.
2665
2666 * config/frv/frv.c (frv_in_small_data_p): Cast size to an
2667 unsigned HOST_WIDE_INT.
2668 * config/frv/frv.h (g_switch_value, g_switch_set): Remove.
2669 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
2670
2671 * config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
2672 unsigned HOST_WIDE_INT.
2673 (m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
2674 * config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
2675 (ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
2676
2677 * config/rs6000/rs6000.c (rs6000_file_start): Use
2678 HOST_WIDE_INT_PRINT_UNSIGNED.
2679 (small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
2680 (rs6000_elf_in_small_data_p): Cast size to unsigned
2681 HOST_WIDE_INT.
2682 * config/rs6000/sysv4.h (g_switch_value, g_switch_set):
2683 Remove.
2684 (SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
2685 g_switch_set.
2686 (ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
2687 g_switch_value cast.
2688
2689 2003-05-18 Roger Sayle <roger@eyesopen.com>
2690 Zack Weinberg <zack@codesourcery.com>
2691
2692 PR middle-end/10472
2693 * builtins.c (expand_builtin_memcpy): Call force_operand on
2694 expressions and use simplify_gen_binary to create the addition.
2695
2696 2003-05-18 Andreas Schwab <schwab@suse.de>
2697
2698 * config/m68k/m68k.md: Use define_constants for unspec numbers.
2699
2700 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2701
2702 * config/sparc/sparc.h: Define sparc for now.
2703 2003-05-18 Nathanael Nerode <neroden@gcc.gnu.org>
2704
2705 * config.gcc: Clear xm_file, md_file at the beginning of each pass.
2706
2707 * config/stormy16/stormy16.h: Remove about 3000 lines of
2708 target-independent comments. Update copyright notice.
2709
2710 * doc/collect2.texi: GNU CC -> GCC.
2711 * doc/headerdirs.texi: GNU CC -> GCC.
2712
2713 2003-05-18 Gabriel Dos Reis <gdr@integrable-solutions.net>
2714
2715 * hashtable.h (struct ht_identifier): Add data member "hash_value".
2716 * hashtable.c (ht_lookup): Use it when searching, remember.
2717 (ht_expand): Do not recompute.
2718 * tree.h (IDENTIFIER_HASH_VALUE): New macro.
2719
2720 2003-05-18 Nathan Sidwell <nathan@codesourcery.com>
2721
2722 * gcov-io.c (gcov_read_bytes): Fix fread thinko.
2723
2724 2003-05-18 Neil Booth <neil@daikokuya.co.uk>
2725
2726 * c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
2727 Default here.
2728 (c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
2729 * defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
2730 * config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
2731 * config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
2732 config/arm/linux-elf.h, config/arm/rtems-elf.h,
2733 config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
2734 config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
2735 config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
2736 config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
2737 config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
2738 config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
2739 config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
2740 config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
2741 config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
2742 config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
2743 config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
2744 Don't define __ELF__.
2745 * config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
2746 Define __ELF__.
2747 * doc/cpp.texi: Document __ELF__.
2748 * doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS. *
2749
2750 2003-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2751
2752 * builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
2753 always use stdarg.
2754 * c-errors.c (pedwarn_c99): Likewise.
2755 * c-format.c (status_warning): Likewise.
2756 * c-semantics.c (build_stmt): Likewise.
2757 * calls.c (emit_library_call, emit_library_call_value): Likewise.
2758 * collect2.c (notice, fatal_perror, fatal, error): Likewise.
2759 * cpperror.c (cpp_error, cpp_error_with_line): Likewise.
2760 * diagnostic.c (build_message_string, output_printf,
2761 output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
2762 fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
2763 error_with_decl, fnotice): Likewise.
2764 * dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
2765 dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
2766 dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
2767 dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
2768 dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
2769 dw2_asm_output_encoded_addr_rtx): Likewise.
2770 * emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
2771 * errors.c (warning, error, fatal, internal_error): Likewise.
2772 * final.c (output_operand_lossage, asm_fprintf): Likewise.
2773 * fix-header.c (fatal): Likewise.
2774 * gcc.c (fatal, error, notice): Likewise.
2775 * gcov.c (fnotice): Likewise.
2776 * genattrtab.c (attr_rtx, attr_printf): Likewise.
2777 * gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
2778 * gensupport.c (message_with_line): Likewise.
2779 * mips-tfile.c (fatal, error): Likewise.
2780 * protoize.c (notice): Likewise.
2781 * ra-debug.c (ra_debug_msg): Likewise.
2782 * read-rtl.c (fatal_with_file_and_line): Likewise.
2783 * rtl-error.c (error_for_asm, warning_for_asm): Likewise.
2784 * tree.c (build, build_nt, build_function_type_list): Likewise.
2785
2786 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2787
2788 * defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
2789 * gcc.c (cpp_predefines): Remove.
2790 (cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
2791 (static_specs): Remove predefines.
2792 * system.h: Poison CPP_PREDEFINES.
2793 * config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
2794 config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
2795
2796 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2797
2798 * config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
2799 config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
2800 config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
2801 use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
2802
2803 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2804
2805 PR c/9209
2806 * c-common.c, c-common.h (dollars_in_ident): Remove.
2807 * c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
2808 (c_common_init_options, c_common_decode_option): Set dollars_in_ident.
2809 * cpphash.h (warned_dollar): Rename warn_dollars.
2810 * cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
2811 Permit dollars regardless of -std=.
2812 (post_options): Set warn_dollars.
2813 * cpplex.c (forms_identifier_p): Use warn_dollars.
2814 * config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
2815 Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
2816 * doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
2817 Update documentation.
2818
2819 2003-05-17 Andreas Schwab <schwab@suse.de>
2820
2821 * config/m68k/m68k.c (m68k_output_function_prologue): Use
2822 HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
2823 formatting a HOST_WIDE_INT.
2824 (m68k_output_function_epilogue): Likewise.
2825
2826 2003-05-17 Zack Weinberg <zack@codesourcery.com>
2827
2828 * doc/install.texi: Remove information about desupported targets.
2829
2830 2003-05-17 Andreas Schwab <schwab@suse.de>
2831
2832 * config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
2833 * config/m68k/linux.h: Likewise.
2834 * config/m68k/m68k-none.h: Likewise.
2835 * config/m68k/netbsd-elf.h: Likewise.
2836 * config/m68k/sgs.h: Likewise.
2837 * config/m68k/m68k.h: Likewise.
2838 * config/m68k/m68k.md: Likewise.
2839 * config/m68k/m68k.c: Likewise.
2840 * doc/md.texi (Machine Constraints): Remove Sun FPA specific
2841 constraints.
2842 * doc/invoke.texi (Option Summary): Remove -mfpa.
2843 (M680x0 Options): Likewise.
2844
2845 2003-05-17 David Edelsohn <edelsohn@gnu.org>
2846
2847 * rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
2848
2849 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2850
2851 * config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
2852 * config/sparc/liteelf.h, config/sparc/openbsd64.h,
2853 config/sparc/rtemself.h, config/sparc/sol2-64.h,
2854 config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
2855 Update for use of TARGET_SUB_OS_CPP_BUILTINS.
2856
2857 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2858
2859 * i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
2860 TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
2861
2862 2003-05-17 Neil Booth <neil@daikokuya.co.uk>
2863
2864 * config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
2865 * sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
2866 sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
2867 sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
2868 sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
2869 sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
2870 sparc/sysv4.h,
2871 * sparc/sysv4-only.h: New.
2872
2873 2003-05-17 Alan Modra <amodra@bigpond.net.au>
2874
2875 * function.c (assign_parms): Check for zero size args.
2876
2877 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2878
2879 * cfgloopanal.c (test_for_iteration): Use string concatentation on
2880 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2881 function calls into one.
2882 * dbxout.c (dbxout_symbol): Likewise.
2883 * defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
2884 * dwarf2asm.c (dw2_asm_output_data_uleb128,
2885 dw2_asm_output_data_sleb128): Likewise.
2886 * genrecog.c (debug_decision_2): Likewise.
2887 * loop.c (emit_prefetch_instructions): Likewise.
2888 * print-rtl.c (print_rtx): Likewise.
2889 * print-tree.c (print_node_brief, print_node): Likewise.
2890 * ra-debug.c (dump_igraph, dump_graph_cost,
2891 dump_static_insn_cost): Likewise.
2892 * ra-rewrite.c (dump_cost): Likewise.
2893 * sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2894 * sreal.c (dump_sreal): Likewise.
2895 * unroll.c (unroll_loop, precondition_loop_p): Likewise.
2896 * varasm.c (assemble_vtable_entry): Likewise.
2897
2898 * avr.c (avr_output_function_prologue,
2899 avr_output_function_epilogue, print_operand): Fix format specifier
2900 warnings.
2901 (init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
2902 * avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
2903
2904 2003-05-16 Geoffrey Keating <geoffk@apple.com>
2905
2906 * config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
2907 and ! TARGET_STRING cases.
2908
2909 * doc/cppopts.texi (-undef): Fix texinfo warning.
2910
2911 * doc/cppopts.texi (-H): Document that -H works for PCH files too.
2912 * cppfiles.c (validate_pch): When -H is used, print some information
2913 about PCH files found.
2914
2915 2003-05-16 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2916
2917 * config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
2918 * config/mips/t-isa3264, config/mips/t-r3900: Likewise.
2919 * config/mips/t-sr71k: Likewise.
2920
2921 2003-05-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2922
2923 * arc.c (arc_output_function_prologue,
2924 arc_output_function_epilogue): Fix format specifier warnings.
2925 * arc.h (LARGE_INT): Fix signed/unsigned warnings.
2926
2927 * v850.c (print_operand): Fix format specifier warnings.
2928
2929 * ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
2930 specifier warnings.
2931
2932 * mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
2933 format specifier warnings.
2934
2935 * ip2k.c (function_prologue, function_epilogue, print_operand):
2936 Fix format specifier warnings.
2937 * ip2k.md: Likewise.
2938
2939 * i960.c (i960_output_function_prologue, i960_print_operand,
2940 i960_print_operand_addr): Fix format specifier warnings.
2941
2942 * i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
2943 (i370_output_function_prologue): Fix format specifier warnings.
2944 * i370.h (PRINT_OPERAND): Likewise.
2945
2946 * fr30.c (fr30_print_operand): Fix format specifier warnings.
2947
2948 * dsp16xx.c (print_operand_address): Fix format specifier warning.
2949 * dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
2950
2951 * c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
2952 specifier warnings.
2953
2954 * alpha.c (print_operand_address, alpha_start_function,
2955 unicosmk_output_ssib): Use string concatentation on
2956 HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
2957 function calls into one.
2958 * arm.c (arm_print_operand): Likewise.
2959 * cris.c (cris_asm_output_mi_thunk): Likewise.
2960 * frv.c (frv_asm_output_mi_thunk): Likewise.
2961 * ia64.c (ia64_print_operand, process_set): Likewise.
2962 * m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
2963 Likewise.
2964 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
2965 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
2966 * pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
2967 * pa.h (PRINT_OPERAND_ADDRESS): Likewise.
2968 * rs6000.c (rs6000_va_start, print_operand_address): Likewise.
2969 * s390.c (s390_assemble_integer): Likewise.
2970 * sparc.c (sparc_flat_function_prologue,
2971 sparc_flat_function_epilogue): Likewise.
2972 * stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
2973 * vax.c (vax_output_mi_thunk): Likewise.
2974
2975 * frv.c (frv_print_operand_memory_reference): Fix format specifier
2976 warning.
2977 (frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
2978
2979 * m68k.c (m68k_output_function_epilogue): Fix format specifier
2980 warnings.
2981
2982 * stormy16-protos.h (xs_hi_general_operand,
2983 xs_hi_nonmemory_operand): Prototype.
2984 * stormy16.c (xstormy16_output_shift): Fix format specifier
2985 warnings.
2986
2987 * cris.c: Fix format specifier warnings.
2988
2989 2003-05-16 Nick Clifton <nickc@redhat.com>
2990
2991 * config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
2992
2993 2003-05-16 Wolfgang Bangerth <bangerth@dealii.org>
2994
2995 * doc/bugreport.texi: Remove most of the of the preface of the
2996 bugs section.
2997
2998 2003-05-16 Jakub Jelinek <jakub@redhat.com>
2999
3000 * config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
3001 .save XX, r0.
3002
3003 2003-05-15 Roger Sayle <roger@eyesopen.com>
3004
3005 * config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
3006
3007 2003-05-15 Eric Christopher <echristo@redhat.com>
3008
3009 * cfgcleanup.c (merge_blocks): Fix return value.
3010
3011 2003-05-15 Eric Christopher <echristo@redhat.com>
3012
3013 * combine.c (expand_compound_operation): Make sure
3014 that zero_extend operation is profitable.
3015
3016 2003-05-15 Richard Henderson <rth@redhat.com>
3017
3018 * config/alpha/linux.h, config/alpha/linux-elf.h: Remove
3019 code protected by USE_GNULIBC_1.
3020
3021 2003-05-15 Zack Weinberg <zack@codesourcery.com>
3022
3023 * config.gcc: Purge all targets obsoleted in GCC 3.3. Also
3024 remove hppa*-*-mpeix* which could not be built, and prune
3025 files from tmake_file= or tm_file= lists that don't exist.
3026
3027 * config/alpha/alpha-interix.h, config/alpha/alpha32.h
3028 * config/alpha/t-interix, config/arm/conix-elf.h
3029 * config/arm/t-arm-aout, config/arm/t-strongarm-coff
3030 * config/arm/unknown-elf-oabi.h, config/i386/win32.h
3031 * config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
3032 * config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
3033 * config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
3034 * config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
3035 * config/m68k/m68k-psos.h, config/m68k/mot3300.h
3036 * config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
3037 * config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
3038 * config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
3039 * config/m68k/t-mot3300, config/m68k/t-mot3300-gald
3040 * config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
3041 * config/m68k/tower-as.h, config/m68k/tower.h
3042 * config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
3043 * config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
3044 * config/m88k/m88k-protos.h, config/m88k/m88k.c
3045 * config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
3046 * config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
3047 * config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
3048 * config/mips/rtems64.h, config/mips/sni-gas.h
3049 * config/mips/sni-svr4.h, config/mips/t-ecoff
3050 * config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
3051 * config/mn10200/mn10200.c, config/mn10200/mn10200.h
3052 * config/mn10200/mn10200.md, config/mn10200/t-mn10200
3053 * config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
3054 * config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
3055 * config/romp/romp-protos.h, config/romp/romp.c
3056 * config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
3057 * config/rs6000/aix3newas.h, config/rs6000/mach.h
3058 * config/sparc/bsd.h, config/sparc/hal.h
3059 * config/sparc/linux-aout.h, config/sparc/lynx-ng.h
3060 * config/sparc/lynx.h, config/sparc/netbsd.h
3061 * config/sparc/sp86x-aout.h, config/sparc/splet.h
3062 * config/sparc/sun4gas.h, config/sparc/sun4o3.h
3063 * config/sparc/sunos4.h, config/sparc/t-chorus-elf
3064 * config/sparc/t-halos, config/sparc/t-sparcbare
3065 * config/sparc/t-splet, config/sparc/t-sunos41
3066 * config/v850/rtems.h: Delete file.
3067
3068 2003-05-15 Aldy Hernandez <aldyh@redhat.com>
3069
3070 * config/rs6000/rs6000-protos.h (function_value): Protoize.
3071
3072 * config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
3073
3074 * config/rs6000/rs6000.c (rs6000_function_value): New.
3075
3076 2003-05-15 Philip Blundell <philb@gnu.org>
3077
3078 * config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
3079 All uses updated.
3080 (arm_tune_xscale): New variable.
3081 (arm_override_options): Set it.
3082 (arm_adjust_cost): Use it in place of arm_arch_xscale.
3083 (arm_gen_load_multiple): Likewise.
3084 (arm_gen_store_multiple): Likewise.
3085 * config/arm/arm.md (is_xscale): Likewise.
3086 * config/arm/arm.h (arm_tune_xscale): Declare.
3087
3088 2003-05-15 Philip Blundell <philb@gnu.org>
3089
3090 PR target/10730
3091 * config/arm/arm.c (adjacent_mem_locations): Reject offsets
3092 involving invalid constants.
3093
3094 2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3095
3096 * pa.c (hppa_expand_prologue): Remove blockage.
3097
3098 2003-05-15 Wolfgang Bangerth <bangerth@dealii.org>
3099
3100 * doc/bugreport.texi: Remove most of the bug reporting
3101 instructions and merge them into bugs.html.
3102
3103 2003-05-14 Matt Kraai <kraai@alumni.cmu.edu>
3104
3105 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
3106 g_switch_value to unsigned HOST_WIDE_INT.
3107
3108 2003-05-14 Eric Christopher <echristo@redhat.com>
3109
3110 * combine.c: Fix header comments.
3111 (distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
3112 to all calls and prototype.
3113
3114 2003-05-14 Roger Sayle <roger@eyesopen.com>
3115
3116 PR optimization/10764
3117 * config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
3118 Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
3119 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): Likewise,
3120 add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
3121 (logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
3122 the corresponding *fyl2x_?fxf3 instructions.
3123
3124 2003-05-14 Bob Wilson <bob.wilson@acm.org>
3125
3126 * config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
3127 * config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
3128 XCHAL_HAVE_L32R): New.
3129 * config/xtensa/xtensa-protos.h (non_const_move_operand,
3130 xtensa_load_constant, xtensa_function_prologue,
3131 xtensa_function_epilogue): Delete prototypes.
3132 (xtensa_expand_prologue): New.
3133 * config/xtensa/xtensa.c (frame_size_const,
3134 TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
3135 non_const_move_operand, xtensa_load_constant, xtensa_reorg,
3136 xtensa_function_prologue): Delete.
3137 (add_operand, xtensa_mem_offset): Formatting.
3138 (move_operand): If the const16 option is available, allow any SFmode
3139 and SImode constants.
3140 (xtensa_emit_move_sequence): Inline the former contents of
3141 xtensa_load_constant with modifications to handle the const16 option.
3142 (override_options): Add xtensa_char_to_class['W'] and set it to
3143 the general register class only if the const16 option is enabled.
3144 Fix formatting. Disallow PIC when using the const16 option.
3145 (print_operand): Reorganize to switch on "letter" instead of the
3146 RTL code. Add output_operand_lossage calls for invalid cases.
3147 Add support for 't' and 'b' letters.
3148 (xtensa_expand_prologue): New function to replace
3149 xtensa_function_prologue and xtensa_reorg.
3150 (xtensa_function_epilogue): Declare this as static. Delete code
3151 to print the retw.n or retw instruction.
3152 (xtensa_return_addr): Use A0_REG instead of 0.
3153 (xtensa_rtx_costs): Add costs for using the const16 option.
3154 * config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
3155 (TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
3156 (TARGET_SWITCHES): Add "const16" and "no-const16".
3157 (REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
3158 (EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
3159 using the const16 option.
3160 (TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
3161 (TRAMPOLINE_SIZE): Change from 49 to 59.
3162 (INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
3163 (GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
3164 when using the const16 option.
3165 (PREDICATE_CODES): Delete non_const_move_operand.
3166 * config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
3167 UNSPECV_ENTRY.
3168 (movdi, movdf): If the source is a constant, always expand to a
3169 sequence of movsi insns.
3170 (movdi_internal, movdf_internal): Remove alternative using l32r insns.
3171 (movsi_internal, movsf_internal): Add alternative using const16 insns.
3172 (movsf): Add const16 support.
3173 (entry, prologue, epilogue): New.
3174 (set_frame_ptr): Add missing mode for unspec_volatile operation.
3175 Likewise for subsequent split pattern.
3176 * doc/invoke.texi (Option Summary, Xtensa Options): Document new
3177 "-mconst16" and "-mno-const16" options.
3178
3179 2003-05-14 Richard Henderson <rth@redhat.com>
3180
3181 * config/ia64/ia64.c (ia64_expand_load_address): Force destination
3182 to be DImode register. Merge load_symptr.
3183 * config/ia64/ia64.md (load_symptr): Remove.
3184
3185 2003-05-14 Richard Henderson <rth@redhat.com>
3186
3187 * rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
3188 DEFERRED_CONSTANT_P.
3189 * integrate.c (copy_rtx_and_substitute): Update use.
3190 * varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
3191 to the copy generated.
3192 (maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
3193 of the constant to see if we should emit.
3194 (mark_constant): Similarly.
3195 (output_constant_def_contents): Set TREE_ASM_WRITTEN.
3196
3197 2003-05-14 David Edelsohn <edelsohn@gnu.org>
3198
3199 * config/rs6000/rs6000.md (movsi_internal2): Use compare for self
3200 move record condition.
3201 (movdi_internal2): Same.
3202
3203 2003-05-14 Nathan Sidwell <nathan@codesourcery.com>
3204
3205 * gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
3206 (GCOV_TAG_*) Force type to gcov_unsigned_t.
3207 (GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
3208 (struct gcov_var): Remove modified. Add start, length, offset,
3209 overread. Have buffer array for libgcov.
3210 (gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
3211 (gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
3212 * gcov-io.c (gcov_open): Set mode, do not read anything.
3213 (gcov_close): Write final block.
3214 (gcov_write_block, gcov_allocate): New.
3215 (gcov_write_bytes): Make static. Write or allocate buffer.
3216 (gcov_write_unsigned, gcov_write_counter): Buffer can never be
3217 null.
3218 (gcov_write_string): Adjust.
3219 (gcov_write_tag)
3220 (gcov_write_length): Adjust. Flush the block.
3221 (gcov_write_tag_length): Buffer can never be null.
3222 (gcov_read_bytes): Make static. Read in block.
3223 (gcov_sync): Moved here. Adjust.
3224 (gcov_seek): Moved here. Adjust.
3225 * coverage.c (read_counts_file): Adjust.
3226 * gcov-dump.c (print_prefix): Add position parameter.
3227 (flag_dump_positions): New flag.
3228 (options, main, print_usage): Add it.
3229 (dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
3230 tag_summary): Adjust.
3231 * gcov.c (read_graph_file, read_count_file): Adjust.
3232 * libgcov.c (gcov_exit): Adjust.
3233
3234 * Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
3235 (libgcov.a): Depend on libgcc.a.
3236 (gcov.o, gcov-dump.o): Add gcov-io.c.
3237 * mklibgcc.in (libgcov_c_dep): Use $(srcdir).
3238
3239 * loop.c (check_dbra_loop): Factor common test.
3240
3241 2003-05-14 Ben Elliston <bje@wasabisystems.com>
3242
3243 * doc/md.texi (Automaton pipeline description): Grammar fixes.
3244
3245 2003-05-14 Richard Sandiford <rsandifo@redhat.com>
3246
3247 * target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
3248 (TARGET_INITIALIZER): Include it.
3249 * target.h (struct gcc_target): Add machine_dependent_reorg field.
3250 * toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
3251 * system.h: Poison MACHINE_DEPENDENT_REORG.
3252
3253 * config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
3254 * config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
3255 * config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3256 (alpha_handle_trap_shadows): Remove "first insn" parameter.
3257 (alpha_align_insns): Likewise.
3258 (alpha_reorg): Likewise. Make static. Update calls to above
3259 functions.
3260
3261 * config/arm/arm-protos.h (arm_reorg): Remove declaration.
3262 * config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
3263 * config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3264 (arm_reorg): Remove parameter. Make static.
3265
3266 * config/avr/avr-protos.h (machine_dependent_reorg): Remove.
3267 * config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
3268 * config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3269 (avr_reorg): Renamed from machine_dependent_reorg. Make static.
3270 Remove parameter.
3271
3272 * config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
3273 * config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
3274 * config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3275 (c4x_reorg): Renamed from c4x_process_after_reload. Make static.
3276 Remove parameter.
3277
3278 * config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
3279 * config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
3280 * config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
3281
3282 * config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
3283 * config/frv/frv.c: Remove orphaned comment.
3284
3285 * config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
3286 * config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
3287 * config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3288 (ix86_reorg): Renamed from x86_machine_dependent_reorg. Make static.
3289 Remove parameter.
3290
3291 * config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
3292 * config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
3293 * config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3294 (emit_insn_group_barriers): Remove "first insn" parameter.
3295 (emit_all_insn_group_barriers): Likewise.
3296 (ia64_reorg): Likewise. Make static. Update calls to above functions.
3297 (ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
3298
3299 * config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
3300 * config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
3301 * config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3302 (ip2k_reorg): Renamed from machine_dependent_reorg. Make static.
3303 Remove parameter.
3304
3305 * config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
3306 * config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
3307 * config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3308 (m68hc11_reorg): Make static. Remove parameter.
3309
3310 * config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
3311 * config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
3312 * config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3313 (conditionalize_optimization): Remove parameter.
3314 (mcore_reorg): Renamed from mcore_dependent_reorg. Remove parameter.
3315 Make static. Update call to conditionalize_optimization.
3316
3317 * config/mips/mips-protos.h (machine_dependent_reorg): Remove.
3318 * config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
3319 * config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3320 (mips_reorg): Renamed from machine_dependent_reorg. Remove parameter.
3321 Make static.
3322
3323 * config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
3324 * config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
3325 * config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3326 (mmix_reorg): Renamed from mmix_machine_dependent_reorg. Make static.
3327 Remove parameter.
3328
3329 * config/pa/pa-protos.h (pa_reorg): Remove declaration.
3330 * config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
3331 * config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3332 (pa_combine_instructions): Remove "first insn" parameter.
3333 (remove_useless_addtr_insns): Likewise.
3334 (pa_reorg): Likewise. Make static. Update calls to above functions.
3335
3336 * config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
3337 commented-out definition.
3338
3339 * config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
3340 * config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
3341 * config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3342 (s390_reorg): Renamed from s390_machine_dependent_reorg. Make static.
3343 Remove parameter.
3344
3345 * config/sh/sh-protos.h (machine_dependent_reorg): Remove.
3346 * config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
3347 * config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3348 (sh_reorg): Renamed from machine_dependent_reorg. Make static.
3349 Remove parameter.
3350 (sh_output_mi_thunk): Call sh_reorg directly.
3351 * config/sh/sh.md: Update comment.
3352
3353 * config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
3354 commented-out definition.
3355
3356 * config/v850/v850-protos.h (v850_reorg): Remove declaration.
3357 * config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
3358 * config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3359 (v850_reorg): Make static. Remove parameter.
3360
3361 * config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
3362 * config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
3363 * config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
3364 (xtensa_reorg): Make static. Remove parameter.
3365
3366 * doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
3367 (TARGET_MACHINE_DEPENDENT_REORG): Document.
3368
3369 2003-05-13 Richard Henderson <rth@redhat.com>
3370
3371 * c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
3372 the old decl had instantiated DECL_RTL.
3373
3374 2003-05-13 Mike Stump <mrs@apple.com>
3375
3376 * doc/invoke.texi (Option Summary): Kill off documentation for -$.
3377
3378 2003-05-13 Janis Johnson <janis187@us.ibm.com>
3379
3380 * config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
3381 HOST_WIDE_INT argument.
3382
3383 2003-05-13 Jason Merrill <jason@redhat.com>
3384
3385 * tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
3386
3387 * tree.c (iterative_hash_expr): New fn.
3388
3389 * c-semantics.c (emit_local_var): Don't mess with temp slots if
3390 there's no initializer.
3391
3392 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
3393
3394 * final.c (final_scan_insn): Apply the effects of frame-related
3395 delay slot insns before emitting a delayed branch.
3396
3397 2003-05-13 Nick Clifton <nickc@redhat.com>
3398
3399 * config/mcore/mcore.md (jump): Use emit_jump_insn.
3400
3401 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
3402
3403 * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
3404 parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
3405
3406 2003-05-12 DJ Delorie <dj@redhat.com>
3407
3408 * expr.c (move_by_pieces): Honor the alignment of TO and FROM.
3409 (emit_push_insn): Don't use push when the source alignment is less
3410 than the stack's push rounding.
3411
3412 2003-05-13 Zack Weinberg <zack@codesourcery.com>
3413
3414 * diagnostic.c (output_format): Add support for %m.
3415 (output_printf, output_verbatim, diagnostic_set_info,
3416 verbatim): Set err_no field of the text_info structure being
3417 initialized.
3418 (fatal_io_error): Delete function.
3419 * diagnostic.h (text_info): Add err_no field.
3420 * toplev.h (fatal_io_error): Delete prototype.
3421
3422 * c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
3423 * toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
3424 * objc/objc-act.c: Replace all calls to fatal_io_error with
3425 calls to fatal_error; add ": %m" to the end of all the affected
3426 error messages.
3427
3428 2003-05-13 Zack Weinberg <zack@codesourcery.com>
3429
3430 * varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
3431 * rtl.h: Prototype it.
3432 * integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
3433 when appropriate.
3434
3435 2003-05-13 Ulrich Weigand <uweigand@de.ibm.com>
3436
3437 * config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
3438 ("*iorsi3_oi"): Likewise.
3439
3440 2003-05-13 Richard Earnshaw <rearnsha@arm.com>
3441
3442 * arm.md (compare_scc): Use shorter sequence for EQ case.
3443 (ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
3444 (and_scc_scc): Ensure split only applies when there is a dominance
3445 of the comparisons.
3446 (and_scc_scc_nodom): New insn-and-split pattern.
3447
3448 2003-05-13 Richard Sandiford <rsandifo@redhat.com>
3449
3450 * unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
3451 to _Unwind_SetGRPtr().
3452
3453 2003-05-13 Michael Eager <eager@mvista.com>
3454
3455 * Makefile.in: Initialize program_transform_cross_name from
3456 @program_transform_name@ instead of target_alias.
3457
3458 2003-05-12 Janis Johnson <janis187@us.ibm.com>
3459 Alan Modra <amodra@bigpond.net.au>
3460 Jakub Jelinek <jakub@redhat.com>
3461
3462 * configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
3463 * configure: Rebuild.
3464 * config/rs6000/rs6000-protos.h: Update.
3465 * config/rs6000/rs6000.c (rs6000_tls_size): New.
3466 (rs6000_tls_size_string): New.
3467 (rs6000_parse_tls_size_option): New.
3468 (rs6000_legitimize_tls_address): New.
3469 (rs6000_tls_get_addr): New.
3470 (rs6000_got_sym): New.
3471 (rs6000_tls_symbol_ref): New.
3472 (rs6000_tls_symbol_ref_1): New.
3473 (rs6000_get_some_local_dynamic_name): New.
3474 (rs6000_get_some_local_dynamic_name_1): New.
3475 (TARGET_HAVE_TLS): New.
3476 (TARGET_CANNOT_FORCE_CONST_MEM): New.
3477 (rs6000_override_options): Handle -mtls-size option.
3478 (constant_pool_expr_1): Handle TLS symbols.
3479 (rs6000_legitimize_address): Handle TLS symbols.
3480 (rs6000_tls_referenced_p): New.
3481 (rs6000_legitimate_address): Handle TLS symbols.
3482 (rs6000_emit_move): Handle TLS symbols.
3483 (print_operand): Handle TLS symbols.
3484 (uses_TOC): Handle TLS symbols.
3485 (rs6000_emit_prologue): Use symbol for unspec constant.
3486 * config/rs6000/rs6000.h (HAVE_AS_TLS): New.
3487 (some_ld_name): New.
3488 (LEGITIMATE_CONSTANT_P): Handle TLS symbols.
3489 (PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
3490 (PREDICATE_CODES): Add rs6000_tls_symbol_ref.
3491 * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
3492 Support TLS.
3493 (tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
3494 tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
3495 tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
3496 tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
3497 tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
3498 tls_tls_64): New.
3499 * config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
3500
3501 2003-05-12 Neil Booth <neil@cat.daikokuya.co.uk>
3502
3503 * Makefile.in (stage2_build, stage3_build, stage4_build):
3504 Set BUILD_CC to the same as CC.
3505
3506 2003-05-12 Neil Booth <neil@daikokuya.co.uk>
3507
3508 * alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
3509
3510 2003-05-12 Andreas Schwab <schwab@suse.de>
3511
3512 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
3513 as unused.
3514 (bundling): Initialize 'pos'.
3515 (ia64_expand_builtin): Initialize 'rmode'.
3516
3517 2003-05-12 David Edelsohn <edelsohn@gnu.org>
3518
3519 * config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
3520 (ASM_OUTPUT_ALIGNED_COMMON): Same.
3521 (ASM_OUTPUT_LOCAL): Same.
3522
3523 Mon May 12 21:53:29 CEST 2003 Jan Hubicka <jh@suse.cz>
3524
3525 * varasm.c (output_constant): Fix underflow.
3526
3527 2003-05-12 Mark Mitchell <mark@codesourcery.com>
3528
3529 PR other/10745
3530 * configure.in: Correct detection of GNU ld version number.
3531 * configure: Regenerated.
3532
3533 2003-05-12 Zack Weinberg <zack@codesourcery.com>
3534
3535 * diagnostic.c (diagnostic_for_decl): Take a
3536 diagnostic_context argument. Restructure to be consistent
3537 with diagnostic_report_diagnostic.
3538 (diagnostic_count_diagnostic): Now static. Take a
3539 diagnostic_info argument, not just a diagnostic_t. Some code
3540 moved here from internal_error. Move a case label for
3541 clarity.
3542 (diagnostic_action_after_output): New function. Code moved
3543 here from internal_error and fatal_error.
3544 (bug_report_request): New #define so that this text appears in
3545 only one place.
3546 (diagnostic_report_diagnostic): Update to match changes to
3547 diagnostic_count_diagnostic. Call diagnostic_action_after_output.
3548 (diagnostic_set_info): Call gettext here.
3549
3550 (pedwarn): Update comment. Don't call gettext here.
3551 (sorry): Use report_diagnostic. Don't call gettext here.
3552 (fatal_error): Remove final fnotice and exit, but call
3553 real_abort to prevent warnings about noreturn function returning.
3554 (internal_error): Likewise. Don't do ICE suppression here nor
3555 call context->internal_error.
3556 (warning_with_decl): Suppress for decls in system headers.
3557 Adjust call to diagnostic_for_decl.
3558 (pedwarn_with_decl): Likewise.
3559 (error_with_decl): Adjust call to diagnostic_for_decl.
3560 (error_recursion): Use bug_report_request.
3561
3562 * diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
3563 * objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
3564 diagnostic_count_diagnostic.
3565
3566 2003-05-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3567
3568 * pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
3569
3570 Mon May 12 15:57:54 CEST 2003 Jan Hubicka <jh@suse.cz>
3571
3572 * rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
3573 * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
3574 * mips/mips.h (ASM_OUTPUT_SKIP): Fix typo in the previous patch.
3575
3576 2003-05-12 Roger Sayle <roger@eyesopen.com>
3577
3578 * doc/rtl.texi: Document zero_extract as a valid destination
3579 of a set insn.
3580
3581 2003-05-12 Richard Earnshaw <rearnsha@arm.com>
3582
3583 * arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
3584 '.'. Change all local symbol definitions and references to use LSYM.
3585
3586 Mon May 12 11:32:53 CEST 2003 Jan Hubicka <jh@suse.cz>
3587
3588 * expr.h (assemble_static_space): Update prototype.
3589 * output.h (assemble_zeros, output_constant): Likewise.
3590 * elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
3591 * alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
3592 it 64bit clean.
3593 * elf.h (ASM_OTUPUT_SKIP): Likewise.
3594 * unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
3595 * arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3596 Expect HOST_WIDE_INT operand.
3597 * aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3598 Expect HOST_WIDE_INT operand.
3599 * unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3600 Expect HOST_WIDE_INT operand.
3601 * avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
3602 HOST_WIDE_INT operand.
3603 * c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
3604 ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
3605 * aout.h (ASM_OTUPUT_SKIP): Likewise.
3606 * cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
3607 * darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
3608 * dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
3609 * frv.h (ASM_OTUPUT_SKIP): Likewise.
3610 * h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
3611 * 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3612 Make it 64bit
3613 clean.
3614 * att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
3615 * bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3616 Make it 64bit clean.
3617 * darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
3618 * sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
3619 HOST_WIDE_INT operand
3620 * svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3621 Expect HOST_WIDE_INT operand
3622 * sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
3623 * i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
3624 ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
3625 * ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3626 Likewise.
3627 * m32r.h (ASM_OUTPUT_COMMON): Likewise.
3628 * 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3629 Likewise.
3630 * amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3631 * crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
3632 * hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3633 ASM_OUTPUT_SKIP): Likewise.
3634 * m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
3635 Likewise.
3636 * m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3637 ASM_OUTPUT_SKIP): Likewise.
3638 * m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3639 ASM_OUTPUT_SKIP): Likewise.
3640 * mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3641 * netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3642 ASM_OUTPUT_SKIP): Likewise.
3643 * sgs.h (ASM_OUTPUT_SKIP): Likewise.
3644 * tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
3645 ASM_OUTPUT_SKIP): Likewise.
3646 * m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
3647 Likewise.
3648 * mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
3649 * iris.h (ASM_OUTPUT_LOCAL): Likewise.
3650 * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
3651 * ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
3652 ASM_OUTPUT_SKIP): Make it 64bit clean.
3653 * pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
3654 Make it 64bit clean.
3655 * pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
3656 ASM_OUTPUT_SKIP): Make it 64bit clean.
3657 * hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
3658 64bit clean.
3659 * romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3660 HOST_WIDE_INT argument
3661 * s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
3662 * sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
3663 HOST_WIDE_INT argument
3664 * sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3665 * sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
3666 * svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
3667 * vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
3668 HOST_WIDE_INT argument
3669 * vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3670 * xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
3671 * varasm.c (asm_output_bss, asm_output_aligned_bss,
3672 asm_emit_uninitialized, assemble_zeros, assemble_static_space):
3673 HOST_WIDE_INT argument
3674
3675 2003-05-10 Steven Bosscher <steven@gcc.gnu.org>
3676
3677 * cgraphunit.c (cgraph_create_edges): Drop walk_tree in
3678 favor of walk_tree_without_duplicates. Add comments.
3679
3680 2003-05-12 Josef Zlomek <zlomekj@suse.cz>
3681
3682 * alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
3683 (struct alloc_pool_def): New element 'id'.
3684 * alloc-pool.c (fancy_abort): Extern function prototype.
3685 (abort): Macro which uses fancy_abort.
3686 (struct allocation_object_def): New structure.
3687 (ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
3688 (USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
3689 (last_id): New variable.
3690 (create_alloc_pool): Add the offset of u.data to size of element,
3691 increase and use last_id.
3692 (free_alloc_pool): Do the checking only when ENABLE_CHECKING.
3693 (pool_alloc): Likewise. Set ID for elements.
3694 (pool_free): Check whether the PTR was allocated from POOL.
3695
3696 2003-05-11 Richard Henderson <rth@redhat.com>
3697
3698 PR c/10675
3699 * c-decl.c: Include hashtab.h.
3700 (detect_field_duplicates): New.
3701 (finish_struct): Use it.
3702 * Makefile.in (c-decl.o): Update.
3703 * c-parse.in (structsp_attr): Nreverse component_decl_list results.
3704 (component_decl_list, component_decl_list2,
3705 components, components_notype): Build list in reverse order.
3706 (enumlist): Clarify docs. Use TREE_CHAIN not chainon.
3707
3708 * tree.c (chainon): Special case op2 null as well.
3709 Reorg for clarity.
3710
3711 2003-05-11 Roger Sayle <roger@eyesopen.com>
3712
3713 * config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
3714 to implement log, logf and logl built-ins as inline x87 intrinsics.
3715 (UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
3716 (*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
3717 patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
3718
3719 * reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
3720 UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
3721
3722 2003-05-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3723
3724 * Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
3725
3726 * sparc.c (print_operand): Fix uninitialized warning.
3727
3728 2003-05-12 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3729
3730 * cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
3731 real insns.
3732 * loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
3733 condition.
3734
3735 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3736
3737 * doc/cpp.texi: Fix typos.
3738
3739 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3740
3741 * config/s390/s390.c (s390_function_arg_float): New function.
3742 (s390_function_arg_pass_by_reference): Use it.
3743 (s390_function_arg_advance): Likewise.
3744 (s390_function_arg): Likewise.
3745 (s390_va_arg): Likewise
3746
3747 2003-05-11 Nathan Sidwell <nathan@codesourcery.com>
3748
3749 * coverage.h (coverage_counter_alloc): New function.
3750 * function.h (struct function): Remove arc_profile flag.
3751 * coverage.c (fn_ident): Remove.
3752 (fn_b_ctrs, no_coverage): New.
3753 (get_coverage_counts): Use current_function_funcdef_no.
3754 (coverage_counter_alloc): New.
3755 (coverage_counter_ref): Adjust.
3756 (coverage_begin_output): Check no_coverage. Use
3757 current_function_funcdef_no.
3758 (coverage_end_function): Likewise.
3759 (create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
3760 than clearing flag_inline_functions. Do not clear arc_profile
3761 flag.
3762 * function.c (prepare_function_start): Do not set arc_profile
3763 flag.
3764 * profile.c (instrument_edges): Return number of instrumented
3765 edges. Use a for loop.
3766 (branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
3767 local to here and simplify. Use profile_arc_flag not arc_profile
3768 flag.
3769 (find_spanning_tree): Reformat.
3770 * toplev.c (rest_of_compilation): Use profile_arc_flags and
3771 flag_test_coverage rather than arc_profile flag.
3772
3773 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3774
3775 * doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
3776
3777 2003-05-11 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3778
3779 * varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
3780
3781 2003-05-11 Bruno Haible <bruno@clisp.org>
3782
3783 * cppfiles.c (find_or_create_entry): Preserve errno.
3784
3785 2003-05-11 Neil Booth <neil@cat.daikokuya.co.uk>
3786
3787 * c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
3788 cpplib as it's a Standard Predefined Macro.
3789 * c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
3790 * cppinit.c (_cpp_init_builtins): Take HOSTED. Define
3791 __STDC_HOSTED__ appropriately.
3792 * cpplib.h (_cpp_init_builtins): Update.
3793 * fix-header.c (read_scan_file): Update.
3794 * doc/cpp.texi, doc/cppopts.texi: Update documentation.
3795
3796 2003-05-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
3797
3798 PR C++/689
3799 PR C++/9257
3800 * c-opts.c (c_common_decode_option): Don't set
3801 warn_ctor_dtor_privacy wen -Wall.
3802 * c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
3803
3804 2003-05-10 Alexandre Oliva <aoliva@redhat.com>
3805
3806 * reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
3807 patch.
3808
3809 2003-05-10 Zack Weinberg <zack@codesourcery.com>
3810
3811 * diagnostic.c: Reorder functions for clarity, putting all the
3812 functions in the "error" family next to each other, and
3813 likewise all the functions in the "error_with_decl" family.
3814 Some other routines were moved too. Add comments.
3815 (vbuild_message_string): Fold into sole caller.
3816
3817
3818 2003-05-11 Ulrich Weigand <uweigand@de.ibm.com>
3819
3820 * except.c (EH_RETURN_STACKADJ_RTX): Do not define.
3821 (EH_RETURN_HANDLER_RTX): Likewise.
3822 (expand_builtin_eh_return): Do not copy stack adjustment
3823 if EH_RETURN_STACKADJ_RTX is not defined.
3824 (expand_eh_return): Likewise. Also, do not pass stack
3825 adjustment as argument to the eh_return pattern.
3826 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
3827 because EH_RETURN_STACKADJ_RTX is not defined.
3828 * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
3829 is not defined, treat stack pointer like a regular register.
3830 (uw_init_context_1): Set up fake initial stack pointer register.
3831 (uw_install_context_1): Do not compute stack adjustment if
3832 EH_RETURN_STACKADJ_RTX is not defined.
3833
3834 * config/i386/i386.md ("eh_return"): Remove first argument.
3835 * config/mips/mips.md ("eh_return"): Likewise.
3836 * config/rs6000/rs6000.md ("eh_return"): Likewise.
3837 * config/sh/sh.md ("eh_return"): Likewise.
3838
3839 * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
3840
3841 2003-05-10 Alexander Aganichev <aaganichev@yandex.ru>
3842
3843 * config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
3844
3845 2003-05-10 Nathan Sidwell <nathan@codesourcery.com>
3846
3847 * defaults.h (GCOV_TYPE_SIZE): Remove.
3848 * gcov-io.h (gcov_type): Set to specific mode int on target.
3849 (gcov_unsigned_t, gcov_position_t): New.
3850 (GCOV_TYPE_NODE): New.
3851 (GCOV_TAG_SUMMARY_LENGTH): Adjust.
3852 (GCOV_COUNTERS_SUMMABLE): New.
3853 (gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
3854 gcov_ctr_info, gcov_info): Adjust types.
3855 (gcov_var): Adjust types.
3856 (gcov_write_unsigned, gcov_write_tag,
3857 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3858 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3859 (gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
3860 * gcov-io.c (gcov_write_unsigned, gcov_write_tag,
3861 gcov_write_length, gcov_write_tag_length, gcov_write_summary,
3862 gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
3863 * libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
3864 __gcov_init, __gcov_merge_add): Adjust gcov types.
3865 * coverage.c (ctr_merge_functions): Constify.
3866 (ctr_names): New.
3867 (read_counts_file): Adjust gcov types. Only summarize & merge
3868 summable counters.
3869 (coverage_counter_ref): Use GCOV_TYPE_NODE.
3870 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
3871 build_ctr_info_value, build_gcov_info): Adjust types.
3872 * profile.c (branch_prob): Adjust gcov types.
3873 * gcov_dump (dump_file): Adjust gcov types.
3874
3875 2003-05-10 Richard Earnshaw <rearnsha@arm.com>
3876
3877 * arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
3878 constants.
3879 (ior_scc_scc, and_scc_scc): New insn_and_split patterns.
3880 * arm.c (arm_select_dominance_cc_mode): Renamed from
3881 select_dominance_cc_mode, no-longer static. Use DOM_CC... constants.
3882 Callers updated.
3883 * arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
3884
3885 2003-05-09 Roger Sayle <roger@eyesopen.com>
3886
3887 * config/alpha/alpha.c (alpha_start_function): Declare frame_size
3888 as unsigned to avoid signed/unsigned comparison warnings.
3889
3890 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3891
3892 * config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
3893 instruction if the Xtensa density option is enabled.
3894
3895 2003-05-09 Matt Kraai <kraai@alumni.cmu.edu>
3896
3897 * mklibgcc.in: Remove extra quotes.
3898
3899 2003-05-09 Mark Mitchell <mark@codesourcery.com>
3900
3901 * config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
3902 of int_ftype_void.
3903
3904 2003-05-09 Alexandre Oliva <aoliva@redhat.com>
3905
3906 * reload1.c (reload_cse_move2add): Don't turn an implicit
3907 truncation into a self-set in the narrow mode.
3908
3909 2003-05-09 Richard Earnshaw <rearnsha@arm.com>
3910
3911 * arm.md (clzsi2): The CLZ instruction is predicable.
3912
3913 2003-05-09 Bob Wilson <bob.wilson@acm.org>
3914
3915 * config/xtensa/xtensa.c: Formatting.
3916
3917 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3918
3919 * tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
3920 instead of TREE_OPERAND to access the operand of a
3921 CONSTRUCTOR node.
3922
3923 2003-05-09 Diego Novillo <dnovillo@redhat.com>
3924
3925 * tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
3926 one operand.
3927
3928 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3929
3930 * toplev.h (warning_with_file_and_line): Don't declare.
3931 (error_with_file_and_line): Likewise.
3932 * diagnostic.c (error_with_file_and_line): Remove.
3933 (warning_with_file_and_line): Likewise.
3934
3935 2003-05-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
3936
3937 * c-parse.in (if_stmt_locus): New object.
3938 (if_prefix rule): Use it. Don't use warning_with_file_and_line.
3939 (select_or_iter_stmt rule): Likewise.
3940 (if_stmt_file): Remove.
3941 (if_stmt_line): Likewise.
3942 * jump.c: include "diagnostic.h"
3943 (never_reached_warning): Don't use warning_with_file_and_line.
3944 * Makefile.in (jump.o): Add dependce on diagnostic.h
3945
3946 2003-05-09 Alan Modra <amodra@bigpond.net.au>
3947
3948 * expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
3949 Move code handling pieces not larger than a word to..
3950 * function.c (assign_parms): ..here, but use change_address instead
3951 of adjust_address and operand_subword, and expand_binop instead of
3952 expand_shift. Adjust calls to move_block_from_reg.
3953 * expr.h (move_block_from_reg): Update declaration.
3954 (copy_blkmode_from_reg): Formatting.
3955 * Makefile.in (function.o): Add $(OPTABS_H) to deps.
3956 * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
3957 move_block_from_reg calls.
3958 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
3959 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3960 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
3961 * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
3962 * config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
3963 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3964 * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
3965 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3966 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
3967
3968 2003-05-08 DJ Delorie <dj@redhat.com>
3969
3970 * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
3971 to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
3972 variable-sized types).
3973 (xstormy16_function_arg): New. Pass them that way too.
3974 * config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
3975 * config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
3976
3977 2003-05-08 Aldy Hernandez <aldyh@redhat.com>
3978
3979 * mklibgcc.in: Use mkinstalldirs when installing multilib
3980 directories.
3981
3982 2003-05-08 J"orn Rennecke <joern.rennecke@superh.com>
3983
3984 * sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
3985 instead of CODE_FOR_jump
3986
3987 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3988
3989 * objc/objc-act.c (error_with_ivar): Don't use
3990 error_with_file_and_line.
3991 (warn_with_method): Don't use warning_with_file_and_line.
3992
3993 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
3994
3995 * stmt.c (emit_locus): New macro.
3996 (emit_filename): Remove.
3997 (emit_lineno): Likewise.
3998 (struct stmt_status): Replace members x_emit_filename and
3999 x_emit_lineno with x_emit_locus.
4000 (set_file_and_line_for_stmt): Adjust.
4001 (expand_expr_stmt_value): Don't use warning_with_file_and_line.
4002 (warn_if_unused_value): Likewise.
4003 (check_seenlabel): Likewise.
4004
4005 2003-05-08 Gabriel Dos Reis <gdr@integrable-solutions.net>
4006
4007 * c-decl.c (define_label): Tidy. Don't use any of
4008 error_with_file_and_line or warning_with_file_and_file.
4009 (pending_xref_error): Likewise.
4010 (store_parm_decls): Likewise.
4011 (current_function_prototype_locus): New object. Package from
4012 current_function_prototype_file and current_function_prototype_line.
4013 (start_function): Use it.
4014 (current_function_prototype_file): Remove.
4015 (current_function_prototype_line): Remove;
4016
4017 2003-05-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4018
4019 * builtins.c (readonly_data_expr): New function.
4020 (expand_builtin_memmove): Optimize any rodata source, not just
4021 strings.
4022
4023 2003-05-07 David Mosberger <davidm@hpl.hp.com>
4024
4025 * unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
4026
4027 2003-05-07 Richard Henderson <rth@redhat.com>
4028
4029 * config/i386/i386.c (ix86_split_long_move): Fix base register
4030 mode for XFmode splits for TARGET_64BIT.
4031
4032 2003-05-07 Richard Henderson <rth@redhat.com>
4033
4034 * sched-ebb.c (schedule_ebb): Supply the correct starting
4035 block number to save_line_notes.
4036
4037 2003-05-07 Richard Henderson <rth@redhat.com>
4038
4039 * toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
4040 (dump_file): Likewise.
4041
4042 2003-05-07 David Mosberger <davidm@hpl.hp.com>
4043
4044 * config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
4045 forget to preserve gp.
4046 * config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
4047
4048 * config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
4049 .prologue directive.
4050 Use .skip instead of data8 for .bss section to make Intel
4051 Assembler (ias) happy. Minor whitespace fixups. Make "nop 0"
4052 explicit in the .mib bundles and remove the unnecessary stop
4053 bits. Replace local labels with normal labels, to make ias
4054 happy. Don't register __do_global_ctors_aux here, do it in
4055 crtend.asm instead.
4056
4057 * config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
4058 __do_global_ctors_aux in .init_array section instead of
4059 declaring it as a hidden global. Replace local labels with
4060 ordinary labels to make ias happy.
4061
4062 2003-05-07 Richard Henderson <rth@redhat.com>
4063
4064 PR c++/10570
4065 * except.c: Revert 04-01 and 04-02 forced-unwind changes.
4066 * flags.h, toplev.c, doc/invoke.texi: Likewise.
4067
4068 * unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
4069 * unwind.inc (_Unwind_DeleteException): Check for null
4070 exception_cleanup.
4071
4072 * unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
4073 * unwind.inc (_Unwind_Resume_or_Rethrow): New.
4074 * unwind.h: Declare them.
4075 * libgcc-std.ver (GCC_3.3): Export them.
4076
4077 2003-05-07 Richard Henderson <rth@redhat.com>
4078
4079 * unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
4080 not _Unwind_Word.
4081
4082 2003-05-07 Zack Weinberg <zack@codesourcery.com>
4083
4084 * stmt.c (force_label_rtx): New function, based on logic
4085 formerly found in expand_expr.
4086 * expr.h: Prototype it.
4087 * expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
4088 appropriate.
4089 * varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
4090
4091 * print-tree.c (debug_tree): Free the table after we're done
4092 with it. Use putc.
4093
4094 2003-05-07 Aldy Hernandez <aldyh@redhat.com>
4095
4096 * config/rs6000/spe.h: Reverse arguments for __ev_subfw.
4097 Unreverse arguments for __ev_subw.
4098
4099 * config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
4100
4101 2003-05-07 Nick Clifton <nickc@redhat.com>
4102
4103 * config/stormy16/stormy-abi: Update to include
4104 R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
4105 R_XSTORMY16_12 relocs.
4106
4107 2003-05-07 Alan Modra <amodra@bigpond.net.au>
4108
4109 * function.c (assign_parms): Correct reversed reg_parm_stack_space
4110 test. Add partial in-regs size to stack_args_size.
4111
4112 2003-05-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4113
4114 * doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
4115 as a C only option.
4116
4117 2003-05-07 Nathan Sidwell <nathan@codesourcery.com>
4118
4119 * gcov-io.h (GCOV_LOCKED): New #define.
4120 (GCOV_LINKAGE): Make sure it is #defined.
4121 (gcov_write_string, gcov_write_tag, gcov_write_length,
4122 gcov_read_string, gcov_time): Poison in libgcov.
4123 (gcov_seek_end): Remove.
4124 (gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
4125 (GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
4126 GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
4127 GCOV_TAG_SUMMARY_LENGTH): New #defines.
4128 (gcov_write_tag, gcov_write_length): Not in libgcov.
4129 * gcov-io.c (gcov_open): Use GCOV_LOCKED.
4130 (gcov_write_tag, gcov_write_length): Not in libgcov.
4131 (gcov_write_tag_length): New.
4132 (gcov_write_summary): Use gcov_write_tag_length.
4133 * libgcov.c: Always #include gcov-io.h.
4134 (IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
4135 (GCOV_LINKAGE): Define to nothing for L_gcov.
4136 (gcov_exit): Replace gcov_write_tag, gcov_write_length with
4137 gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
4138 * gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
4139 (read_count_file): Likewise.
4140 * gcov-dump.c (dump_file): Likewise.
4141 * coverag.c (read_counts_file): Likewise.
4142
4143 2003-05-06 Mark Mitchell <mark@codesourcery.com>
4144
4145 PR other/10658
4146 * gcc.c (process_command): Update copyright date.
4147
4148 2003-05-06 Phil Edwards <pme@gcc.gnu.org>
4149
4150 * doc/install.texi (mips-*-*): Add note about libstdc++.
4151
4152 2003-05-06 DJ Delorie <dj@redhat.com>
4153
4154 * config/stormy16/stormy16.c (xstormy16_function_profiler): New.
4155 * config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
4156 * config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
4157
4158 2003-05-06 <neil@cat.daikokuya.co.uk>
4159
4160 * c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
4161 and -Wstrict-prototypes if C++.
4162
4163 2003-05-06 Aldy Hernandez <aldyh@redhat.com>
4164
4165 * config/rs6000/linuxspe.h: New file.
4166
4167 * config.gcc: Add powerpc-*-linux-gnuspe* target.
4168
4169 2003-05-06 Richard Henderson <rth@redhat.com>
4170
4171 * unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
4172 previous frame didn't save sp. Clear sp for next frame.
4173 (uw_install_context_1): Honor saved sp from frame.
4174
4175 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
4176
4177 * config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
4178 (mips_move_1word, mips_move_2words): Remove declaration.
4179 (mips_split_64bit_move_p, mips_split_64bit_move): Declare.
4180 (mips_restore_gp): Remove insn argument.
4181 * config/mips/mips.h (FP_REG_RTX_P): New macro.
4182 * config/mips/mips.c (volatile_buffer): Remove.
4183 (mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
4184 (mips_move_1word, mips_move_2words): Remove, replacing with...
4185 (mips_output_move): ...this new function.
4186 (mips_restore_gp): Remove insn argument. Adjust for above changes.
4187 (print_operand): Make '%h' print %hi(op) for HIGH operands. Remove
4188 handling of floating-point constants. Handle zero CONST_DOUBLE
4189 arguments.
4190 (mips_annotate_frame_insn): Replace with...
4191 (mips_set_frame_expr): ...this, which just takes one argument.
4192 (mips_frame_set): Change the register argument to an rtx.
4193 (mips_emit_frame_related_store): Use mips_split_64bit_move_p to
4194 check whether moves should be split. Use mips_split_64bit_move
4195 to split them. Use mips_subword to generate the high and low
4196 parts of a paired FPR. Adjust calls to frame_set and
4197 mips_set_frame_expr.
4198 (mips_expand_prologue): Simplify due to above changes.
4199 * config/mips/mips.md: Add splitters for 64-bit moves on 32-bit
4200 targets, replacing xisting register-only versions.
4201 (UNSPEC_STORE_DF_HIGH): New unspec.
4202 (UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
4203 (mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
4204 (*paradoxical_extendhidi2): Remove.
4205 (movdi_internal, movdi_internal2): Use mips_output_move.
4206 (*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
4207 (movsf_internal1, movsf_internal2): Likewise.
4208 (movdf_internal1a): Likewise. Fix length and type of f <- G case.
4209 (movdf_internal1b): Use mips_output_move. Fix type of f <- G case.
4210 (movdf_internal2): Use mips_output_move. Fix lengths of FPR moves.
4211 Add m <- G alternative.
4212 (load_df_low, load_df_high, store_df_low): New patterns.
4213 (movhi_internal): Use @ template instead of calling a function.
4214 Remove unnecessary 'z' alternatives.
4215 (movqi_internal): Likewise.
4216 (exception_receiver): Update call to mips_restore_gp.
4217
4218 2003-05-06 Richard Sandiford <rsandifo@redhat.com>
4219
4220 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
4221 (mips_delegitimize_address): Declare.
4222 * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
4223 (FIND_BASE_TERM): Define.
4224 * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
4225 (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
4226 Handle small-data addresses.
4227
4228 2003-05-05 Roger Sayle <roger@eyesopen.com>
4229
4230 * real.c (real_powi): New function to calculate the value of
4231 a real raised to an integer power, i.e. pow(x,n) for int n.
4232 (real_sqrt): Convert to using the faster do_add, do_multiply
4233 and do_divide API for consistency with the rest of real.c.
4234 * real.h (real_powi): Prototype here.
4235 * builtins.c (fold_builtin): Avoid local variable mode when
4236 evaluating sqrt at compile time. Attempt to evaluate pow at
4237 compile-time, by checking for an integral exponent.
4238
4239 2003-05-05 Richard Henderson <rth@redhat.com>
4240
4241 * doc/extend.texi (Variable Attributes): Re-sort table and tidy.
4242
4243 2003-05-05 David O'Brien <obrien@FreeBSD.org>
4244
4245 * config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
4246 other FreeBSD ports.
4247 (LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
4248 (_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
4249
4250 2003-05-05 Janis Johnson <janis187@us.ibm.com>
4251
4252 * Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
4253 expanded variables.
4254 * doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
4255
4256 2003-05-05 Zack Weinberg <zack@codesourcery.com>
4257
4258 * rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
4259 * varasm.c (struct varasm_status): Add deferred_constants field.
4260 (n_deferred_strings): Delete variable.
4261 (n_deferred_constants): New #define.
4262 (struct constant_descriptor_tree): Kill next and label fields.
4263 (const_hash_table, MAX_HASH_TABLE): Delete.
4264 (const_desc_htab): New static variable.
4265 (const_hash): Rename const_desc_hash, and make it fit the
4266 hashtab.h interface.
4267 (const_desc_eq): New.
4268 (const_hash_1, compare_constant): Const-ify arguments.
4269 (build_constant_desc): Set DEFERRED_CONSTANT_P on all new
4270 SYMBOL_REFs. Clarify comments. Don't set desc->label.
4271 (output_constant_def): Do the lookup/insert using the
4272 hashtab.h interface. Don't muck with n_deferred_constants or
4273 DEFERRED_CONSTANT_P here.
4274 Always call maybe_output_constant_def_contents.
4275 (maybe_output_constant_def_contents): Take a pointer to the
4276 descriptor, not the EXP and RTL separately. Return
4277 immediately if this constant is not deferred. Defer output of
4278 everything, except writable string constants. Update
4279 n_deferred_constants here.
4280 (output_constant_def_contents): Now takes just one argument,
4281 an rtx. Clear DEFERRED_CONSTANT_P here.
4282 (mark_constant_pool): Update for rename of n_deferred_strings.
4283 (mark_constant): Don't clear DEFERRED_CONSTANT_P here.
4284
4285 (init_varasm_status): Clear p->deferred_constants.
4286 (init_varasm_once): Call htab_create_ggc for const_desc_htab.
4287
4288 2003-05-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4289
4290 * builtins.c (expand_builtin_stpcpy): Only expand when the length
4291 of the source string can be evaluated at compile-time.
4292
4293 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
4294
4295 * testsuite/gcc.c-torture/compile/simd-6.c: New.
4296
4297 * c-typeck.c (digest_init): Handle arrays of vector constants.
4298
4299 2003-05-05 Jakub Jelinek <jakub@redhat.com>
4300
4301 * builtins.c (expand_builtin_mempcpy): New function.
4302 (expand_builtin_stpcpy): Optimize stpcpy whose return value is
4303 ignored into strcpy no matter what arguments it has.
4304 (expand_builtin) <case BUILT_IN_MEMPCPY>: Call
4305 expand_builtin_mempcpy.
4306
4307 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
4308
4309 * testsuite/gcc.dg/20030505.c: New.
4310
4311 * c-typeck.c (convert_for_assignment): Opaque pointers can
4312 interconvert.
4313
4314 * config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
4315 (rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
4316 (spe_init_builtins): Rename all pv2si_type_node to
4317 opaque_p_V2SI_type_node.
4318 Remove declaration of pv2si_type_node.
4319 (is_ev64_opaque_type): Accept opaque pointers.
4320
4321 2003-05-05 Geoffrey Keating <geoffk@apple.com>
4322
4323 * config/rs6000/rs6000.c (validate_condition_mode): Use
4324 flag_finite_math_only.
4325 (rs6000_reverse_condition): Never return UNKNOWN; use
4326 flag_finite_math_only.
4327 (rs6000_generate_compare): Use flag_finite_math_only.
4328 (rs6000_emit_cmove): Handle UNLE. Support UNEQ under -ffast-math.
4329 Use HONOR_* rather than flag_unsafe_math_optimizations. Correct
4330 UNGE and GT cases. Handle UNEQ and LTGT when ! HONOR_NANS.
4331
4332 * toplev.c (check_global_declarations): Suppress not-used warning
4333 for volatile variables.
4334
4335 2003-05-05 Olivier Hainque <hainque@act-europe.fr>
4336
4337 * expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
4338 usage of bitfield instructions for mode1 != BLKmode, only ignoring
4339 SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
4340 (store_field): Likewise.
4341
4342 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
4343
4344 * config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
4345 evsubifw to builtins accepting 5-bit unsigned constants.
4346 (easy_vector_constant): Return if V1DImode. Fix typo.
4347
4348 2003-05-05 Aldy Hernandez <aldyh@redhat.com>
4349
4350 * config/rs6000/spe.h: Revert licensing change from last patch.
4351
4352 2003-05-05 DJ Delorie <dj@redhat.com>
4353
4354 * config/stormy16/stormy16.md (negsi2): Allocate the pseudos
4355 before reload, but defer the split until after.
4356 * config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
4357 to match.
4358
4359 2003-05-05 David Edelsohn <edelsohn@gnu.org>
4360
4361 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
4362 * config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
4363
4364 2003-05-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4365
4366 * libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
4367 is defined.
4368
4369 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4370
4371 * builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
4372 ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
4373 ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
4374
4375 (ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
4376 ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
4377 ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
4378 New.
4379
4380 * builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
4381 (BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
4382
4383 (BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
4384 BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
4385 BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
4386 BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
4387 BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
4388 BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
4389 BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
4390 BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
4391 BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
4392 BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
4393 BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
4394 BUILT_IN_STRDUP): Add "nonnull" attribute.
4395
4396 2003-05-04 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4397
4398 * expr.c (store_field): Don't clobber TEMP in shift: it might be
4399 a variable.
4400 (get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
4401 whose purpose is to step up the alignment.
4402 (expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
4403
4404 * stor-layout.c (compute_record_mode): Relax restriction
4405 on fields crossing word boundaries forcing BLKmode.
4406
4407 2003-05-04 Neil Booth <neil@daikokuya.co.uk>
4408
4409 * cppinit.c (cpp_create_reader, post_options): Warn about
4410 trigraphs unless explicity set or -trigraphs.
4411 * cpplex.c (warn_in_comment): New.
4412 (_cpp_process_line_notes): Better handling of -Wtrigraphs.
4413 (_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
4414 * doc/cppopts.texi, doc/cpp.texi: Update.
4415
4416 2003-05-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4417
4418 * Makefile.in (LIBGCOV): Add _gcov_merge_add.
4419 * gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
4420 namespace clash.
4421 (GCOV_MERGE_FUNCTIONS): New.
4422 (gcov_merge_fn): Declare.
4423 (struct gcov_ctr_info): New field "merge".
4424 (__gcov_merge_add): Declare.
4425 * coverage.c (ctr_merge_functions): New.
4426 (build_ctr_info_type, build_ctr_info_value): Initialize merge field
4427 of gcov_ctr_info type.
4428 * libgcov.c (__gcov_merge_add): New.
4429 (gcov_exit): Call a hook to merge values of counters.
4430
4431 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4432
4433 * toplev.h (pedwarn_with_file_and_line): Don't declare.
4434 * diagnostic.c (pedwarn_with_file_and_line): Remove.
4435
4436 2003-05-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
4437
4438 * varasm.c (assemble_variable): Don't use error_with_file_and_line.
4439
4440 2003-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4441
4442 * builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
4443 expand_builtin_frame_address): Update prototypes.
4444 (expand_builtin_constant_p, expand_builtin_strlen,
4445 expand_builtin_strcpy, expand_builtin_memset,
4446 expand_builtin_bzero, expand_builtin_args_info,
4447 expand_builtin_frame_address): Pass in just the argument(s)
4448 needed, not the entire expression `exp'.
4449 (expand_builtin): Update all calls to these functions.
4450
4451 2003-05-03 Richard Henderson <rth@redhat.com>
4452
4453 * builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
4454 <BUILT_IN_DWARF_SP_COLUMN>: New.
4455 * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
4456 (BUILT_IN_DWARF_SP_COLUMN): New.
4457 * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
4458 (expand_builtin_dwarf_sp_column): New.
4459 * except.h: Update to match.
4460 * unwind-dw2.c (execute_stack_op): Correct stack push typo.
4461 (execute_cfa_program): Record location expression address
4462 before extracting length.
4463 (uw_update_context_1): Install old CFA into stack pointer column.
4464 (uw_init_context_1): Set cfa_reg to stack pointer column.
4465
4466 2003-05-03 Richard Henderson <rth@redhat.com>
4467
4468 * config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
4469 return bool.
4470 (toc_relative_expr_p): Likewise.
4471 (SPE_CONST_OFFSET_OK): Move from rs6000.h.
4472 (legitimate_constant_pool_address_p): Move from rs6000.h, change
4473 into a function, downcase all users.
4474 (legitimate_small_data_p): Likewise.
4475 (legitimate_offset_address_p): Likewise.
4476 (legitimate_indexed_address_p): Likewise.
4477 (legitimate_indirect_address_p): Likewise.
4478 (legitimate_lo_sum_address_p): Likewise.
4479 (rs6000_mode_dependent_address): Likewise.
4480 * rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
4481 (SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
4482 LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
4483 LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
4484 LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
4485 (LEGITIMATE_ADDRESS_INTEGER_P): Remove.
4486 (GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
4487 * config/rs6000/rs6000-protos.h: Update.
4488
4489 2003-05-03 Geoffrey Keating <geoffk@apple.com>
4490
4491 * config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
4492 (REVERSE_CONDITION): Define.
4493
4494 * config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
4495 to branch_positive_comparison_operator.
4496 (ccr_bit): Check that sCOND conditions are actually a positive bit.
4497 (print_operand): Remove %D substitution.
4498 (rs6000_emit_sCOND): Generate complement operation to ensure that
4499 sCOND input is a positive bit.
4500 * config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
4501 same order as bCOND, and add the missing ones. Remove the %D
4502 substitutions from the scc patterns.
4503
4504 * simplify-rtx.c (simplify_relational_operation): Add case for
4505 ! (fabs(x) < 0.0).
4506
4507 2003-05-03 Bruce Korb <bkorb@gnu.org>
4508
4509 * gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
4510 in fixincl.x
4511 * gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
4512
4513 2003-05-03 Aldy Hernandez <aldyh@redhat.com>
4514
4515 * config/rs6000/spe.h: Remove unecessary casts. Misc cleanups.
4516
4517 2003-05-03 Zack Weinberg <zack@codesourcery.com>
4518
4519 PR c/10604
4520 * c-common.c (warn_sign_compare): Initialize to -1.
4521 * c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
4522 (c_common_decode_option <OPT_Wall>): Set warn_sign_compare
4523 for C++ only.
4524 (c_common_post_options): Set warn_sign_compare from extra_warnings
4525 if it's still -1 at this point.
4526
4527 * toplev.c (maybe_warn_unused_parameter): New static variable.
4528 (set_Wextra): New static function.
4529 (W_options): Remove "extra".
4530 (decode_W_option): Call set_Wextra.
4531 (independent_decode_option): Likewise.
4532 (set_Wunused): Cooperate with set_Wextra in setting
4533 warn_unused_parameter.
4534 (rest_of_compilation): No need to check extra_warnings as
4535 well as warn_uninitialized.
4536
4537 * c-typeck.c (build_binary_op, build_conditional_expr):
4538 No need to check extra_warnings as well as warn_sign_compare.
4539 (internal_build_compound_expr): No need to check extra_warnings
4540 as well as warn_unused_value.
4541 * function.c (expand_function_end): No need to check extra_warnings
4542 as well as warn_unused_parameter.
4543 * stmt.c (expand_expr_stmt_value): No need to check extra_warnings
4544 as well as warn_unused_value.
4545
4546 * doc/invoke.texi: Clarify documentation of -Wsign-compare.
4547
4548 * Makefile.in: Disable -Werror for gengtype-lex.o.
4549
4550 2003-05-03 Olivier Hainque <hainque@act-europe.fr>
4551
4552 * emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
4553 * rtl.h (last_call_insn, add_function_usage_to): New prototypes.
4554 * builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
4555 * calls.c (emit_call_1): Likewise.
4556 (expand_call): For calls initializing constant memory, replace
4557 emission of standalone mem /u clobber with function usage entry.
4558 * expr.c (emit_block_move_via_libcall): Likewise.
4559 * cse.c (count_reg_usage, case EXPR_LIST): New case.
4560 * flow.c (propagate_one_insn): Pass entire operand of
4561 CALL_INSN_FUNCTION_USAGE to mark_used_regs.
4562 * integrate.c (try_constants): For CALL_INSNs, substitute constants
4563 within the FUNCTION_USAGE also.
4564 * loop.c (prescan_loop): Note clobbers of const mem mentioned in
4565 FUNCTION_USAGE lists.
4566 * reload1.c (replace_pseudos_in): Renamed.
4567 (reload): Use it for clobbers surviving until the end of the reload.
4568
4569 2003-05-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4570
4571 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
4572 gen_lowpart on non-integer modes.
4573
4574 * stor-layout.c (place_field): When adjusting offset_align, use
4575 desired_align, not DECL_ALIGN.
4576
4577 2003-05-03 Nathan Sidwell <nathan@codesourcery.com>
4578
4579 * c-decl.c (pending_invalid_xref_file): Remove.
4580 (pending_invalid_xref_line): Remove.
4581 (pending_invalid_xref_location): New.
4582 (lookup_label): Use location_t and input_location directly.
4583 (lookup_tag): Likewise.
4584 (pending_xref_error): Likewise.
4585 (c_expand_body_1): Likewise.
4586 * c-common.c (x_expand_start_cond): Likewise.
4587 * c-semantics.c (genrtl_for_stmt): Likewise.
4588 (find_reachable_label): Likewise.
4589 * expr.c (expand_expr): Likewise.
4590 * integrate.c (output_inline_function): Likewise.
4591 * tree-inline.c (find_alloca_call): Likewise.
4592 (find_builtin_longjmp_call): Likewise.
4593 * gcc.c (input_filename): Make static.
4594
4595 2003-05-03 Richard Sandiford <rsandifo@redhat.com>
4596
4597 * config/mips/mips.md: Fix comment typo.
4598
4599 * config/mips/mips.c (mips_integer_op): New structure.
4600 (MIPS_MAX_INTEGER_OPS): Define.
4601 (mips_const_insns): Use mips_build_integer to determine the number
4602 of instructions needed to load a CONST_INT.
4603 (move_operand): Reject compound CONST_INTs.
4604 (mips_build_shift, mips_build_lower, mips_build_integer): New fns.
4605 (mips_move_integer): New fn.
4606 (mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
4607 (mips_legitimize_move): Only legitimize constants when moving
4608 word or subword values.
4609
4610 2003-05-02 Matt Kraai <kraai@alumni.cmu.edu>
4611
4612 * Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
4613
4614 2003-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4615
4616 * builtins.c (expand_builtin_stpcpy): Copy `arglist' before
4617 modifying it.
4618
4619 2003-05-03 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
4620 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4621
4622 * doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
4623 Hernandez, and Kazu Hirata. Update Richard Henderson.
4624
4625 2003-05-02 Geoffrey Keating <geoffk@apple.com>
4626
4627 * config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
4628 to tentative declaration.
4629
4630 * config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
4631 (SYMBOL_FLAG_SMALL_V4): Delete.
4632 * config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
4633 (rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
4634 (rs6000_elf_in_small_data_p): Add extra section names. Add
4635 comment about TREE_PUBLIC test.
4636
4637 * c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
4638 expand_stmt on result of expand_unreachable_stmt.
4639
4640 2003-05-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4641
4642 * doc/contrib.texi (Contributors): Add Daniel Berlin.
4643
4644 2003-05-02 David Edelsohn <edelsohn@gnu.org>
4645
4646 * config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
4647 number of automata.
4648
4649 * config/rs6000/rs6000.c (symbol_ref_operand): Check
4650 SYMBOL_REF_FUNCTION_P on AIX.
4651 (current_file_function_operand): Same.
4652 * config/rs6000/rs6000.md (call,call_value): Force non-function
4653 symbol_ref into register on AIX.
4654
4655 2003-05-02 Alan Modra <amodra@bigpond.net.au>
4656
4657 * calls.c (struct arg_data): Move offset, slot_offset, size and
4658 alignment_pad to struct locate_and_pad_arg_data. Update all refs.
4659 (initialize_argument_information): Adjust call to locate_and_pad_parm.
4660 Delete alignment_pad var. Don't calculate slot_offset here.
4661 (emit_library_call_value_1): Delete alignment_pad, offset and size
4662 vars. Use struct locate_and_pad_arg_data instead. Adjust refs.
4663 Adjust call to locate_and_pad_parm. Don't tweak arg size for
4664 partial in-regs here. Formatting fixes.
4665 * expr.h (struct locate_and_pad_arg_data): New struct.
4666 (locate_and_pad_parm): Adjust declaration.
4667 * function.c (assign_parms): Localize vars. Use "locate" instead of
4668 other arg location vars. Don't invoke FUNCTION_ARG or
4669 FUNCTION_INCOMING_ARG unless pretend_named is different from
4670 named_arg. Heed MUST_PASS_IN_STACK and set up "partial" before
4671 calling locate_and_pad_parm. Adjust locate_and_pad_parm call.
4672 Use slot_offset for stack home of reg parms. Correct test for
4673 parm passed in memory. Formatting fixes.
4674 (locate_and_pad_parm): Add "partial" to params. Replace offset_ptr
4675 arg_size_ptr and alignment pad with "locate". Set slot_offset here.
4676 Correct initial_offset_ptr handling. Localize vars. Always pad
4677 locate->offset even when in_regs.
4678
4679 2003-05-02 Nathan Sidwell <nathan@codesourcery.com>
4680
4681 * Makefile.in (TREE_H): Replace location.h with input.h.
4682 (GTFILES) Remove location.h
4683 (gt-lists.h): Replace gt-location.h with gt-input.h
4684 * input.h (input_filename, input_line): Remove variables.
4685 (location_s, location_t): Move from location.h.
4686 (input_location): New.
4687 (input_filename, input_line): New #defines.
4688 * location.h: Remove.
4689 * tree.h: Replace location.h with input.h.
4690 (input_filename, input_line): Remove.
4691 * diagnostic.h: Replace location.h with input.h.
4692 * gcc.h (input_filename, input_filename_length): Remove declarations.
4693 * toplev.c (input_filename, input_line): Remove.
4694 (input_location): Define.
4695 (push_srcloc, pop_srcloc): Adjust.
4696 * diagnostic.c (diagnostic_report_current_module): Adjust.
4697
4698 2003-05-02 Nick Clifton <nickc@redhat.com>
4699
4700 * configure.in: Add xstormy16 to list of targets that has a nop
4701 instruction and hence which can be tested to see if the
4702 assembler supports the --gdwarf2 switch.
4703 * configure: Regenerate.
4704
4705 2003-05-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
4706
4707 PR target/8257
4708 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
4709 alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
4710 Avoid undefined shifts by making the shift operand unsigned.
4711
4712 2003-05-01 DJ Delorie <dj@redhat.com>
4713
4714 * reload.c (find_reloads): Also check that all of a multi-reg
4715 value is in the class.
4716
4717 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
4718
4719 * scan.h (lineno): Revert the rename here.
4720
4721 2003-05-01 Stan Shebs <shebs@apple.com>
4722
4723 * config/darwin.c (darwin_encode_section_info): Call
4724 default_encode_section_info.
4725
4726 2003-05-01 David Edelsohn <edelsohn@gnu.org>
4727
4728 * config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
4729 (movsi_internal1): Use new mfjmpr attribute.
4730 (movhi_internal): Same.
4731 (movqi_internal): Same.
4732 (movcc_internal1): Same.
4733 (movdi_internal64): Same.
4734 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
4735 power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
4736 * config/rs6000/40x.md: Add fpu_405.
4737 * config/rs6000/power4.md: Merge power4lsu and power4disp automata
4738 into power4misc automata. Remove extraneous parentheses.
4739 * config/rs6000/440.md: New file.
4740 * config/rs6000/rs6000.c (processor_target_table): Add 440,
4741 440fp. Rename 405f to 405fp.
4742 (function_arg_padding): Correct formatting.
4743 (rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
4744
4745 2003-05-01 Nathan Sidwell <nathan@codesourcery.com>
4746
4747 * input.h (lineno): Rename to ...
4748 (input_line): ... here.
4749 * tree.h (lineno): Rename to ...
4750 (input_line): ... here.
4751 * scan.h (lineno): Rename to ...
4752 (input_line): ... here.
4753 * toplev.c (lineno): Rename to ...
4754 (input_line): ... here.
4755 (push_srcloc, pop_srcloc): Rename lineno to input_line.
4756 * c-common.c (c_expand_start_cond, fname_decl): Likewise.
4757 * c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
4758 store_parm_decls, c_expand_body_1): Likewise.
4759 * c-errors.c (pedwarn_c99): Likewise.
4760 * c-format.c (status_warning): Likewise.
4761 * c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
4762 * c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
4763 * c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
4764 * c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
4765 gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
4766 genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
4767 genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
4768 build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
4769 prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
4770 * coverage.c (create_coverage): Likewise.
4771 * diagnostic.c (pedwarn, sorry, error, fatal_error,
4772 internal_error, warning, diagnostic_report_current_module,
4773 inform): Likewise.
4774 * expr.c (expand_expr): Likewise.
4775 * integrate.c (expand_inline_function,
4776 output_inline_function): Likewise.
4777 * rtl-error.c (file_and_line_for_asm): Likewise.
4778 * tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
4779 walk_tree): Likewise.
4780 * tree.c (make_node): Likewise.
4781 * ada, cp, f, java, objc, treelang: Likewise.
4782 * objc/objc-act.c (objc_init): Rename lineno to input_line.
4783 (build_module_descriptor, build_selector_translation_table,
4784 build_protocol_template, build_method_prototype_list_template,
4785 build_category_template, build_selector_table,
4786 build_class_template, build_super_template, build_ivar_template,
4787 build_ivar_list_template, build_method_list_template,
4788 build_method_template, add_instance_variable): Likewise.
4789
4790 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
4791 name from input_filename.
4792
4793 2003-04-30 Eric Christopher <echristo@redhat.com>
4794 Richard Sandiford <rsandifo@redhat.com>
4795
4796 * configure: Regenerate from patches below.
4797 * combine.c (gen_lowpart_for_combine): Fix comment and add tests
4798 for all symbolic operands.
4799 * config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
4800 to function.
4801 * config/mips/linux.h: Fix typo.
4802 * Merge from mips-3_4-rewrite branch:
4803
4804 2003-04-07 Richard Sandiford <rsandifo@redhat.com>
4805
4806 * config/mips/mips.c (mips_classify_symbol): Add catch-all case for
4807 handling local labels when TARGET_ABICALLS.
4808
4809 2003-04-04 Richard Sandiford <rsandifo@redhat.com>
4810
4811 * config/mips/mips-protos.h (mips_expand_epilogue): Add an
4812 integer argument.
4813 (mips_expand_call): Likewise.
4814 * config/mips/mips.h (TARGET_SIBCALLS): New macro.
4815 (FIXED_REGISTERS): Clear $31 entry.
4816 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
4817 (EPILOGUE_USES): Define.
4818 * config/mips/mips.c (mips_function_ok_for_sibcall): New function.
4819 (TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
4820 (override_options): Add a 'j' register class.
4821 (mips_expand_call): Handle sibcalls
4822 (mips_expand_epilogue): Handle epilogues for sibcalls.
4823 * config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
4824 (sibcall_epilogue): New pattern.
4825 (call, call_value): Adjust calls to mips_expand_call.
4826 (sibcall, sibcall_value): New expanders.
4827 (sibcall_internal, sibcall_value_internal): New patterns.
4828 (sibcall_value_multiple_internal): New pattern.
4829
4830 2003-03-25 Richard Sandiford <rsandifo@redhat.com>
4831
4832 * config/mips/mips.md (extended_mips16): New attribute.
4833 (define_attr length): Default to 8 if extended_mips16 == yes.
4834 (truncdisi2): Set extended_mips16 to yes for the sll alternative.
4835 (truncdihi2, truncdiqi2, *extendsidi2): Likewise.
4836 (call_internal): Set extended_mips16 to yes for direct jumps.
4837 Remove redundant mode attribute.
4838 (call_value_internal, call_value_multiple_internal): Likewise.
4839 (call_split): Remove redundant mode attribute.
4840 (call_value_split, call_value_multiple_split): Likewise.
4841
4842 * config/mips/mips.c (mips_symbol_insns): Rework. Fix handling
4843 of unaligned offsets.
4844
4845 * config/mips/mips.c (mips_splittable_symbol_p): Fix handling
4846 of SYMBOL_GENERAL.
4847
4848 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
4849
4850 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
4851 * config/mips/mips.c (override_options): Disable -mexplicit-relocs
4852 for mips16 code.
4853
4854 2003-03-22 Richard Sandiford <rsandifo@redhat.com>
4855
4856 * config/mips/mips.h (ADDRESS_COST): Define.
4857
4858 2003-03-20 Richard Sandiford <rsandifo@redhat.com>
4859
4860 * config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
4861 'R' to 'U'. Make 'R' mean a single-instruction memory reference.
4862 * config/mips/mips.md: Replace 'R' constraints with 'U'.
4863
4864 2003-03-18 Richard Sandiford <rsandifo@redhat.com>
4865
4866 * config/mips/mips.md (truncdisi2): Add commentary. Use sll instead
4867 of a two-instruction sequence. Add register->memory alternative.
4868 (truncdihi2, truncdiqi2): Likewise.
4869 Rework shift/truncate instructions so that they only handle right
4870 shifts of 32 (or more, in the case of arithmetic shifts).
4871 Add patterns for truncate/sign-extend.
4872
4873 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4874
4875 * configure.in (mips*-*-*): Check for explicit relocation support.
4876 * configure: Regenerate.
4877
4878 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4879
4880 * config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
4881 and -mno-explicit-relocs.
4882 (MASK_EXPLICIT_RELOCS): Define.
4883 (TARGET_EXPLICIT_RELOCS): Use it.
4884 (mips_split_addresses): Remove declaration.
4885 * config/mips/mips.c (override_options): Update comment for
4886 mips_split_addresses. Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
4887
4888 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4889
4890 * combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
4891 a CONST as identity. Check the return value of gen_lowpart_common.
4892
4893 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4894
4895 * config/mips/mips.c (mips_legitimize_symbol): Handle small data
4896 references for TARGET_EXPLICIT_RELOCS.
4897 (mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
4898 !TARGET_MIPS16.
4899
4900 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4901
4902 * config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
4903 (addsi3): Remove redundant constraints.
4904 (addsi3_internal): Use separate register & constant alternatives.
4905 Use a 'Q' constraint and "addiu" insn for the latter.
4906 (adddi3_internal_3, addsi3_internal_2): Likewise.
4907
4908 2003-03-13 Richard Sandiford <rsandifo@redhat.com>
4909
4910 * config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
4911 (mips_expand_unaligned_store): Declare.
4912 * config/mips/mips.c (mips_get_unaligned_mem): New fn.
4913 (mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
4914 * config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
4915 (UNSPEC_ULD, UNSPEC_USD): Remove.
4916 (UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
4917 (UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
4918 (extv, extzv): Use mips_expand_unaligned_load.
4919 (insv): Use mips_expand_unaligned_store. Use a reg_or_0_operand
4920 predicate for operand 3.
4921 (movsi_ulw, movsi_usw): Replace with...
4922 (mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
4923 (movdi_uld, movdi_usd): Likewise replace with...
4924 (mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
4925
4926 2003-02-26 Richard Sandiford <rsandifo@redhat.com>
4927
4928 * config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
4929 * config/mips/mips.h (LEA_REGS): New register class.
4930 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
4931 (GR_REG_CLASS_P): Include LEA_REGS.
4932 (DANGEROUS_FOR_LA25_P): New macro.
4933 (EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
4934 Add a T constraint for the DANGEROUS_FOR_LA25_P case.
4935 * config/mips/mips.c (mips_regno_to_class): Change GR_REGS
4936 entries to LEA_REGS.
4937 (mips_global_pic_constant_p): New function.
4938 (override_options): Add 'e' register constraint.
4939 (mips_secondary_reload_class): Return LEA_REGS when reloading
4940 a dangerous constant into a class containing $25.
4941 * config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
4942 (movsi_internal): Likewise.
4943
4944 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
4945
4946 * config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
4947 * config/mips/mips.md (call_split): New insn.
4948 (call_value_split, call_value_multiple_split): New insns.
4949 (call_internal): Turn into a define_insn_and_split. Split the
4950 instruction into a call and $gp load if TARGET_SPLIT_CALLS.
4951 (call_value_internal, call_value_multiple_internal): Likewise.
4952
4953 2003-02-23 Richard Sandiford <rsandifo@redhat.com>
4954
4955 * config/mips/mips.c (mips_reloc_string): Return "%got(" for
4956 RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
4957 (mips_encode_section_info): Don't take symbol visibility into
4958 account if TARGET_ABICALLS. Add more commentary.
4959 * config/mips/mips.md: Add commentary above reloc constants.
4960
4961 2003-02-12 Richard Sandiford <rsandifo@redhat.com>
4962
4963 * config/mips/mips.c (mips_legitimize_const_move): New, extracted
4964 from mips_legitimize_move. Legitimize constant pool references.
4965 (mips_legitimize_move): Call mips_legitimize_const_move. Attach
4966 a REG_EQUAL note to the last instruction.
4967
4968 2003-02-11 Richard Sandiford <rsandifo@redhat.com>
4969
4970 * config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
4971 * config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
4972 (ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
4973 (EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
4974 * config/mips/mips.md (UNSPEC_HIGH): New constant.
4975 (UNSPEC_RELOC_GPREL16): Rename to...
4976 (RELOC_GPREL16): ...this.
4977 (RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
4978 (RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
4979 (macro_calls): New attribute.
4980 (length): Use it to set the default length of calls. Don't allow
4981 calls to have delay slots if macro_calls is "yes".
4982 (luisi, luidi): New patterns.
4983 (lowsi, lowdi): Use '%R' to print the relocation.
4984 (lowdi_extend): Remove.
4985 (loadgp): Remove mode from operand 0. Use '%0' instead of '%a0'.
4986 (call_internal): Merge alternatives. Always use "jal".
4987 (call_value_internal, call_value_multiple_internal): Likewise.
4988 (reloc_gprel16): Remove.
4989 * config/mips/mips.c (mips_got_alias_set): New variable.
4990 (mips_classify_constant): Handle the new relocation constants.
4991 (mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
4992 (mips_symbolic_address_p): Return false if generating explicit relocs.
4993 Otherwise allow local PIC symbols to have an offset.
4994 (mips_splittable_symbol_p): New function.
4995 (mips_classify_address): Use it to check whether a LO_SUM is valid.
4996 (mips_const_insns): Always accept HIGH.
4997 (call_insn_operand): Don't accept global symbols if using explicit
4998 relocs.
4999 (move_operand): Don't accept HIGH when generating PIC.
5000 (mips_reloc, mips_lui_reloc): New functions.
5001 (mips_force_temporary): Remove MODE argument. Expect VALUE to
5002 be a valid right-hand-side for a SET pattern.
5003 (mips_load_got, mips_load_got16, mips_load_got32): New functions.
5004 (mips_emit_high): New function.
5005 (mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
5006 case. Use mips_splittable_symbol_p to check whether a LO_SUM
5007 address should be used. Use mips_emit_high to generate the
5008 high part of such an address. Adjust the global symbol + offset
5009 case to match the change to mips_force_temprorary.
5010 (mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
5011 If generating explicit-reloc PIC, load the address of global
5012 symbols from the GOT. Use mips_emit_high to emit the high part
5013 of an address.
5014 (mips_simplify_dwarf_addr): New function.
5015 (mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
5016 (mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
5017 (mips_expand_call): Load the addresses of global functions using
5018 %call* relocs if generating explicit-reloc PIC. Don't generate
5019 an exception_receiver pattern.
5020 (override_options): Initialize mips_got_alias_set.
5021 (print_relocation): Remove in favour of...
5022 (mips_reloc_string): ...this new function.
5023 (print_operand): Handle '%R'. Use mips_reloc_string.
5024 (print_operand_address): Use print_operand to print the symbolic
5025 part of a LO_SUM address.
5026 (mips_output_function_prologue): Use .cprestore, reverting last patch.
5027 (mips_encode_section_info): Factor out DECL_RTL accesses. Reverse
5028 sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
5029 for local symbols.
5030
5031 2003-02-02 Eric Christopher <echristo@redhat.com>
5032
5033 * config/mips/mips.c (mips_sign_extend): Remove.
5034 * config/mips/mips-protos.h: Ditto.
5035 * config/mips/mips.md (movdi_internal2_extend): Remove.
5036 (extendsidi2): Fix mode of convert_memory_address.
5037
5038 2003-01-24 Eric Christopher <echristo@redhat.com>
5039
5040 * config/mips/mips.md: Rewrite zero_extend* and extend*
5041 patterns. Use explicit instructions and split after reload
5042 for register extensions.
5043 (ashlsi3_internal1_extend): New combiner pattern for
5044 shift and extend combinations.
5045 * config/mips/mips.h: Change Pmode back to ptr_mode
5046 for performance enhancement.
5047 * combine.c (expand_compound_operation): Make sure
5048 that zero_extend operation is profitable.
5049
5050 2003-01-14 Richard Sandiford <rsandifo@redhat.com>
5051
5052 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
5053 addresses depend on ptr_mode rather than Pmode.
5054 (TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
5055 (INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
5056 (CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
5057 (ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
5058 * config/mips/mips.md (tablejump): Likewise. Remove Pmode
5059 condition for selecting cpaddsi or cpadddi: use cpadd instead.
5060 (tablejump_internal1): Remove condition.
5061 (tablejump_internal2): Change condition to TARGET_64BIT.
5062 (cpaddsi): Rename to...
5063 (cpadd): ...this.
5064 (cpadddi): Remove.
5065
5066 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
5067
5068 * config/mips/mips-protos.h (mips16_constant_after_function_p,
5069 mips_address_cost, mips_check_split, double_memory_operand,
5070 mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
5071 pic_address_needs_scratch, symbolic_operand): Remove declarations.
5072 (mips_legitimate_address_p): Return bool.
5073 (mips_address_insns, mips_fetch_insns, mips_const_insns,
5074 mips_legitimize_address, mips_legitimize_move,
5075 mips_expand_call): Declare.
5076 (mips_return_addr): Move outside #ifdef RTX_CODE.
5077
5078 * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
5079 (PIC_FN_ADDR_REG): New reg_class.
5080 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
5081 (GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
5082 (SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
5083 CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
5084 (SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
5085 (EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
5086 (CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
5087 (LEGITIMATE_PIC_OPERAND): Undefine.
5088 (LEGITIMATE_CONSTANT_P): Use mips_const_insns.
5089 (LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
5090 (CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
5091 (FUNCTION_MODE): Change to SImode.
5092 (CONST_COSTS): Use mips_const_insns to calculate the cost of
5093 most constants. Treat const_artih_operands specially if they
5094 occur in a PLUS or MINUS.
5095 (CONSTANT_POOL_COST): New macro.
5096 (RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
5097 Add LO_SUM handling.
5098 (ADDRESS_COST): Undefine.
5099 (PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
5100 Add CONST to the list of codes for arith_operand. Add LABEL_REF
5101 to call_insn_operand and remove CONST_INT.
5102
5103 * config/mips/mips.c: Include integrate.h.
5104 (SINGLE_WORD_MODE_P): New macro.
5105 (mips_constant_type, mips_symbol_type, mips_address_type): New enums.
5106 (mips_constant_info, mips_address_info): New structs.
5107 (mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
5108 (mips_classify_constant, mips_classify_symbol,
5109 mips_valid_base_register_p, mips_symbolic_address_p,
5110 mips_classify_address, mips_symbol_insns,
5111 mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
5112 mips_fetch_insns, mips_force_temporary, mips_add_offset,
5113 mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
5114 mips_print_relocation): New functions.
5115 (const_arith_operand): New operand predicate.
5116 (arith_operand): Use it.
5117 (mips_const_double_ok, mips16_simple_memory_operand,
5118 simple_memory_operand, double_memory_operand, mips_check_split,
5119 mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
5120 mips16_gp_offset_p, mips16_output_gp_offset,
5121 mips16_constant_after_function_p, mips16_constant): Remove.
5122 (call_insn_operand): Be more fussy about symbolic constants.
5123 Use register_operand.
5124 (move_operand): Use mips_symbolic_address_p to check symbolic
5125 operands and general_operand to check the rest.
5126 (symbolic_operand): Use mips_classify_constant.
5127 (mips_legitimate_address_p): Use mips_classify_address.
5128 (mips_move_1word): Combine handling of symbolic addresses.
5129 Remove special treatment of gp-relative loads for TARGET_MIPS16.
5130 (move_move_2words): Likewise. Assume addresses are offsettable
5131 if they need to refer to more than one word. Add HIGH handling.
5132 (mips_restore_gp): Use ptr_mode for the GP save slot.
5133 (mips_expand_call): New function, combining the old mips.md
5134 call and call_internal define_expands. If the address isn't
5135 a call_insn_operand, force it into a register. For SVR4 PIC,
5136 emit an exception_receiver instruction after the call.
5137 (override_options): Only override flag_pic for TARGET_ABICALLS
5138 if it is currently zero. Allow mips_split_addresses when
5139 Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
5140 Add new register class letter, 'c'.
5141 (print_operand): Use mips_classify_constant for constant operands.
5142 (print_operand_address): Use mips_classify_address.
5143 (mips_output_function_prologue): Don't use .cprestore.
5144 (mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
5145 via the frame pointer if current_function_calls_eh_return.
5146 (mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
5147 to mark whether a symbol is local or global.
5148 (build_mips16_call_stub): Expect the address of the function rather
5149 than a MEM reference to it. Update call generation sequences.
5150 (mips16_optimize_gp): Remove Pmode checks. Temporarily disable
5151 small-data adjustments.
5152
5153 * config/mips/mips.md: Remove 'R'/'m' memory distinction. Use default
5154 length for loads and stores.
5155 (UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
5156 (define_attr type): Add const and prefetch.
5157 (define_attr length): Use mips_const_insns for const instructions.
5158 Use mips_fetch_insns for load and store instructions.
5159 (define_attr single_insn): New.
5160 (define_attr can_delay): Use it.
5161 (define_attr abicalls): Remove.
5162 (define_delay): Use can_delay. Always allow calls to have delay slots.
5163 (addsi3_internal_2): Add 'Q' constraint.
5164 (movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
5165 (high): Remove.
5166 (lowsi): Renamed from low.
5167 (lowdi): New pattern.
5168 (movdi, movsi): Use mips_legitimize_move. Remove define_split.
5169 (lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
5170 (loadgp): Change operand 0 to an immediate_operand.
5171 (tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
5172 beforehand.
5173 (cpaddsi, cpadddi): New patterns.
5174 (tablejump_internal3, tablejump_internal4): Remove define_expands
5175 and associated define_splits.
5176 (call, call_value): Use mips_expand_call.
5177 (call_internal): New, replacing all existing call_internal* insns.
5178 (call_value_internal): Likewise call_value_internal*.
5179 (call_value_multiple_internal): Likewise call_value_multiple_internal*.
5180 (untyped_call): Remove if (operands[0]) magic.
5181 (prefetch_si_address, prefetch_si): Change type to "prefetch".
5182 (prefetch_di_address, prefetch_di): Likewise.
5183 (leasi, leadi): Remove.
5184 (reloc_gprel16): New.
5185
5186 * config/mips/5400.md (ir_vr54_hilo): Include const type.
5187 * config/mips/5500.md (ir_vr55_hilo): Likewise.
5188 * config/mips/sr71k.md (ir_sr70_hilo): Likewise.
5189
5190 2003-01-08 Eric Christopher <echristo@redhat.com>
5191
5192 * config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
5193 * config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
5194 configure check for libgloss.
5195 * config/mips/elf64.h: Ditto.
5196 * config/mips/mips.c: Remove ABI_MEABI.
5197 * config/mips/mips.h: Ditto.
5198
5199 2002-11-05 Richard Sandiford <rsandifo@redhat.com>
5200
5201 Fix merge fallout.
5202 * config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
5203 (muldi3_internal): Remove outdated comment.
5204 (*muls_di, *umuls_di): Fix comment and 64-bitness.
5205 (*smsac_di, *umsac_di): Likewise. Reformat.
5206 (umulsi3_highpart): Minor formatting tweaks.
5207 (umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI. Remove
5208 redundant scratch operand. Minor formatting tweak.
5209 (umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
5210 (umulsi3_highpart_neg_mulhi_internal): Likewise. Fix asm template.
5211 (smulsi3_highpart): As for the unsigned version.
5212 (smulsi3_highpart_internal): Likewise.
5213 (smulsi3_highpart_mulhi_internal): Likewise.
5214 (smulsi3_highpart_neg_mulhi_internal): Likewise.
5215 (smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
5216 (*smul_acc_di): Remove duplicated pattern.
5217 (*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
5218 (anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
5219 (zero_extendsidi2_internal2): Remove new, but commented-out pattern.
5220
5221 2002-10-22 Eric Christopher <echristo@redhat.com>
5222
5223 * config/mips/mips-protos.h (mips_return_addr): New.
5224 * config/mips/mips.c (mips_return_addr): New.
5225 (movdi_operand): Remove.
5226 (se_register_operand): Ditto.
5227 (se_reg_or_0_operand): Ditto.
5228 (se_uns_arith_operand): Ditto.
5229 (se_arith_operand): Ditto.
5230 (se_nonmemory_operand): Ditto.
5231 (extend_operator): Ditto.
5232 (highpart_shift_operator): Ditto.
5233 (mips_initial_elimination_offset): Remove return address pointer
5234 elimination.
5235 (mips_reg_names): Remove $ra.
5236 (mips_regno_to_class): Ditto.
5237 * config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
5238 and TARGET_64BIT.
5239 (POINTER_BOUNDARY): Remove.
5240 (POINTERS_EXTEND_UNSIGNED): Define to 0.
5241 (PROMOTE_MODE): Promote to Pmode.
5242 (SHORT_IMMEDIATES_SIGN_EXTEND): Define.
5243 (Pmode): Define to TARGET_64BIT.
5244 (FUNCTION_MODE): Define as Pmode.
5245 (mips_args): Remove deleted functions.
5246 (SIZE_TYPE): Depend on POINTER_SIZE.
5247 (PTRDIFF_TYPE): Ditto.
5248 (FIXED_REGISTERS): Fix extra registers.
5249 (CALL_USED_REGISTERS): Ditto.
5250 (CALL_REALLY_USED_REGISTERS): Ditto.
5251 (RAP_REG_NUM): Remove.
5252 (RETURN_ADDRESS_POINTER_REGNUM): Ditto.
5253 (RETURN_ADDR_RTX): Define to mips_return_addr.
5254 (ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
5255 (CAN_ELIMINATE): Ditto.
5256 * config/mips/mips.md: For DImode patterns, take into account
5257 deletions above. Split mulsidi patterns into sign_extend and
5258 zero_extend.
5259
5260 2002-10-16 Richard Sandiford <rsandifo@redhat.com>
5261 Michael Meissner <meissner@redhat.com>
5262
5263 * config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
5264 * config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
5265 mop up unnecessarly moves through LO.
5266 (*mul_acc_si): Remove vr5400 and vr5500 handling from here.
5267 (*macc): New pattern for ISA_HAS_MACC. Add define_peephole2s to
5268 change mtlo/macc sequences into mul/add sequences when a three-
5269 address mul is available.
5270 (*macc2): New pattern. Add a define_peephole2 to generate it.
5271 (*mul_sub_si): Fix contraint for operand 5.
5272 (*muls): Use in 32-bit code as well.
5273 (*msac): Likewise. Use msub instead of msac in vr5500 code
5274 if the destination is LO. Remove duplicate define_split.
5275 (*muls_di): Use only in 32-bit code. Adjust rtl accordingly.
5276 (*msac_di): Likewise. Fix formatting.
5277 (smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
5278 (*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
5279 (*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
5280 (*xmulsi3_neg_highpart_mulhi): Likewise.
5281 (*mul_acc_64bit_di): Remove.
5282 (*mul_acc_di): Use only in 32-bit code. Handle ISA_HAS_MACC as well.
5283
5284 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
5285
5286 * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
5287 * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
5288 (MULTILIB_DIRNAMES): Remove long32.
5289 (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
5290 (MULTILIB_REDUNDANT_DIRS): Remove.
5291
5292 2002-10-14 Richard Sandiford <rsandifo@redhat.com>
5293
5294 * doc/tm.texi (DRIVER_SELF_SPECS): Document.
5295 * gcc.c (driver_self_specs): New variable.
5296 (do_self_spec): New function.
5297 (main): Use it to process driver_self_specs.
5298
5299 2002-10-09 Richard Sandiford <rsandifo@redhat.com>
5300
5301 * config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
5302 Remove DImode define_split for !TARGET_64BIT.
5303 (anddi3): Remove !TARGET_64BIT support from here as well.
5304 Change operand 2's predicate to se_uns_arith_operand.
5305 Add constant alternatives to define_insn.
5306 (iordi3, xordi3, *nordi3): Likewise.
5307 (anddi3_internal1, xordi3_immed): Remove.
5308
5309 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
5310
5311 * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
5312 (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
5313 * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
5314 * config/mips/mips.md: Apply same renaming here.
5315
5316 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
5317
5318 * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
5319 (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
5320 * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
5321 * config/mips/mips.md (define_attr cpu): Remove r4320.
5322 Remove vr4320 scheduler and uses of TARGET_MIPS4320.
5323
5324 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
5325
5326 * config/mips/mips.c (mips16_strings): New variable.
5327 (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
5328 symbol in mips16_strings. Free the list.
5329 (mips_encode_section_info): Keep track of local strings.
5330
5331 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
5332
5333 * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
5334 (sordered_df, sordered_sf): Remove.
5335 * config/mips/mips.c (get_float_compare_codes): New fn.
5336 (gen_int_relational, gen_conditional_move): Use it.
5337
5338 2002-10-01 Richard Sandiford <rsandifo@redhat.com>
5339
5340 * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
5341 * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
5342 * config/mips/mips.c (fcc_register_operand): New function.
5343 (mips_emit_fcc_reload): New function, extracted from reload_incc.
5344 (override_options): Allow TFmode values in float registers
5345 if ISA_HAS_8CC.
5346 * cnfig/mips/mips.md (reload_incc): Change destination prediate
5347 to fcc_register_operand. Remove misleading source constraint.
5348 Use mips_emit_fcc_reload.
5349 (reload_outcc): Duplicate reload_incc.
5350
5351
5352 2003-04-30 Diego Novillo <dnovillo@redhat.com>
5353
5354 * builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
5355
5356 2003-04-30 Geoffrey Keating <geoffk@apple.com>
5357
5358 * tree-inline.c (inlinable_function_p): Back out last change, it's
5359 unnecessary.
5360
5361 2003-04-30 Steven Bosscher <steven@gcc.gnu.org>
5362
5363 * ggc-page.c (TREE_EXP_SIZE): Define.
5364 (extra_order_size_table): New entry for expr trees with
5365 two operands.
5366
5367 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5368
5369 * c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
5370 (c_expand_start_cond): Adjust.
5371 (c_expand_end_cond): Don't use warning_with_file_and_file.
5372 (shadow_warning): Likewise.
5373
5374 2003-04-30 Nathan Sidwell <nathan@codesourcery.com>
5375
5376 * tree.h (DECL_POINTER_DEPTH): Remove.
5377 (struct tree_decl): Remove pointer_depth.
5378
5379 2003-04-30 Janis Johnson <janis187@us.ibm.com>
5380
5381 * config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
5382 * config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
5383 (rs6000_xcoff_encode_section_info): Remove.
5384 (current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
5385 (rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
5386 (small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
5387 Use SYMBOL_REF_FLAGS.
5388 (rs6000_elf_encode_section_info): Call default_encode_section_info for
5389 generic flags, use SYMBOL_REF_FLAGS; code cleanups.
5390 * sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
5391 (SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
5392 * xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
5393 (ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
5394
5395 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5396
5397 * diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
5398
5399 2003-04-30 Andreas Schwab <schwab@suse.de>
5400
5401 * doc/extend.texi (Other Builtins): Enclose multiple word data
5402 type in braces for @deftypefn.
5403
5404 2003-04-30 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5405
5406 * stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
5407
5408 * doc/install.texi (--enable-threads): Document "gnat" option.
5409
5410 2003-04-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
5411
5412 * diagnostic.h (output_formatted_scalar): Tweak.
5413 * diagnostic.c (output_long_decimal): Likewise.
5414 (output_unsigned_decimal): Likewise.
5415 (output_long_unsigned_decimal): Likewise.
5416 (output_octal): Likewise.
5417 (output_long_octal): Likewise.
5418 (output_hexadecimal): Likewise.
5419 (output_long_hexadecimal): Likewise.
5420 (output_pointer): New function.
5421 (output_format): Use it. Recognize "%p" format specifier.
5422
5423 2003-04-30 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
5424
5425 * function.c (purge_addressof_1): Postpone insn in fewer cases.
5426
5427 2003-04-29 Geoffrey Keating <geoffk@apple.com>
5428
5429 * config/rs6000/host-darwin.c (segv_handler): When -dH is used,
5430 call abort() after running out of stack space.
5431
5432 * c-typeck.c (function_types_compatible_p): Ignore incompatible
5433 'volatile' qualifiers on a function's return type in GNU mode.
5434
5435 2003-04-29 Aldy Hernandez <aldyh@redhat.com>
5436
5437 * expr.c (emit_group_load): Dump parallels of simd types to
5438 memory.
5439
5440 2003-04-29 Vladimir Makarov <vmakarov@redhat.com>
5441
5442 * genautomata.c (add_vect): Check undefined value for range type
5443 too.
5444
5445 2003-04-29 Phil Edwards <pme@gcc.gnu.org>
5446
5447 * configure.in: More general test for cmp --ignore-initial.
5448 * configure: Regenerate.
5449
5450 2003-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5451
5452 * stor-layout.c (mode_for_size_tree): Use tree_low_cst.
5453 (layout_decl, place_field): Likewise.
5454 Also make minor type and whitespace changes.
5455
5456 * tree.c (save_expr): Don't fold a COMPONENT_REF.
5457
5458 2003-04-29 Olivier Hainque <hainque@act-europe.fr>
5459
5460 * calls.c (expand_call): When modes of target and valreg match, force
5461 sibcall failure when target is a MEM.
5462
5463 2003-04-29 Geoffrey Keating <geoffk@apple.com>
5464
5465 * tree-inline.c (inlinable_function_p): Don't support inlining
5466 functions using varargs.
5467
5468 * doc/invoke.texi (Overall Options): Mention -x objective-c-header.
5469
5470 * dwarf2out.c (output_call_frame_info): No need to output EH
5471 unwind information if all_throwers_are_sibcalls.
5472
5473 * c-semantics.c (expand_unreachable_stmt): Return a tree.
5474 (expand_stmt): Update for change to expand_unreachable_stmt.
5475 (expand_unreachable_if_stmt): Likewise.
5476
5477 * Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
5478
5479 2003-04-29 Jason Merrill <jason@redhat.com>
5480
5481 PR middle-end/10336
5482 * jump.c (never_reached_warning): Really stop looking if we reach
5483 the beginning of the function.
5484
5485 2003-04-29 Bob Wilson <bob.wilson@acm.org>
5486
5487 * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
5488 Remove redundant macros.
5489 (WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
5490 (LOCAL_LABEL_PREFIX): Define unconditionally.
5491 (NO_DOT_IN_LABEL): Clarify comment.
5492 * config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
5493 definition to "long int".
5494
5495 2003-04-29 Alexander Kabaev <kan@FreeBSD.ORG>
5496
5497 bootstrap/10452
5498 * gengtype-yacc.y: Improve portability.
5499
5500 2003-04-29 Zack Weinberg <zack@codesourcery.com>
5501
5502 * config.gcc: Install obsolete target list for GCC 3.3.
5503 * doc/install.texi: Mention in specific-target instructions
5504 that certain configurations are deprecated.
5505
5506 2003-04-29 Zack Weinberg <zack@codesourcery.com>
5507
5508 * tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
5509
5510 2003-04-29 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
5511
5512 * c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
5513 * gcc.c (display_help): Likewise.
5514 * toplev.c (f_options): Likewise.
5515 * params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
5516 * config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
5517 * config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
5518 * config/s390/s390.h (TARGET_SWITCHES): Likewise.
5519 * config/v850/v850.h (TARGET_SWITCHES): Likewise.
5520
5521 2003-04-29 J"orn Rennecke <joern.rennecke@superh.com>
5522
5523 * varasm.c (default_assemble_visibility): Use assemble_name.
5524
5525 2003-04-29 David O'Brien <obrien@FreeBSD.org>
5526
5527 * config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
5528 * config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
5529 (SIZE_TYPE): New macro.
5530 * config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
5531 (SET_ASM_OP): New macro.
5532 (HANDLE_SYSV_PRAGMA): New macro.
5533 (ASM_WEAKEN_LABEL): New macro.
5534
5535 2003-04-28 Mark Mitchell <mark@codesourcery.com>
5536
5537 PR c++/10180
5538 * tree-inline.c (expand_call_inline): Call push_srcloc when
5539 encountering EXPR_WITH_FILE_LOCATION. Honor warn_inline.
5540
5541 2003-04-28 Mike Stump <mrs@apple.com>
5542
5543 * gdbinit.in: Update to reflect new identifier structure.
5544
5545 2003-04-28 Zack Weinberg <zack@codesourcery.com>
5546
5547 * tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
5548 (struct tree_int_cst, struct tree_real_cst, struct tree_string,
5549 struct tree_complex, struct tree_vector): Remove RTL field.
5550 (CONSTRUCTOR_ELTS): Use elt 0.
5551 * tree.def (CONSTRUCTOR): Delete first of its two operands.
5552 * varasm.c (output_constant_def): Remove early exit if
5553 TREE_CST_RTL is set. Don't set TREE_CST_RTL.
5554 (decode_addr_const): Don't mention TREE_CST_RTL in comment.
5555 * target.h (select_section): Don't mention TREE_CST_RTL in comment.
5556 * doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
5557
5558 2003-04-28 Jakub Jelinek <jakub@redhat.com>
5559
5560 * c-decl.c (finish_decl): When prototype with asmspec is found
5561 for built-in, adjust built_in_decls as well as expr.c decls.
5562 * expr.c (init_block_move_fn, init_block_clear_fn): New functions.
5563 (emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
5564 * expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
5565
5566 2003-04-28 Richard Henderson <rth@redhat.com>
5567
5568 * config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
5569 * config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
5570 integral constant mult operand.
5571 (const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
5572 (const_smulsi3_highpart_v8plus): Likewise.
5573 (const_smulsi3_highpart): Likewise.
5574 (const_umulsidi3_sp32): Likewise; sign-extend it in the output.
5575 (const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
5576 (const_umulsi3_highpart_v8plus): Likewise.
5577 (const_umulsi3_highpart): Likewise.
5578
5579 2003-04-28 David O'Brien <obrien@FreeBSD.org>
5580
5581 * config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
5582 Define as 1.
5583
5584 2003-04-28 David O'Brien <obrien@FreeBSD.org>
5585
5586 * config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
5587
5588 2003-04-28 Jakub Jelinek <jakub@redhat.com>
5589
5590 * builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
5591 * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
5592 * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
5593 functions.
5594 (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
5595
5596 2003-04-28 Nick Clifton <nickc@redhat.com>
5597
5598 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
5599
5600 2003-04-27 Zack Weinberg <zack@codesourcery.com>
5601
5602 * expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
5603 output_constant_def, use its result instead of TREE_CST_RTL (exp).
5604 Can assume it has the form (mem (symbol_ref ".LCxxx")).
5605 (expand_expr <COMPONENT_REF>): Can always just extract the
5606 relevant field of a CONSTRUCTOR.
5607 (expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
5608 ARRAY_RANGE_REF>): Make control flow explicit.
5609 * varasm.c (output_constant_def): Can look at TREE_CST_RTL of
5610 an INTEGER_CST.
5611
5612 2003-04-27 Kazu Hirata <kazu@cs.umass.edu>
5613
5614 * reload1.c (reg_set_luid): Fix a comment typo.
5615
5616 2003-04-27 Zack Weinberg <zack@codesourcery.com>
5617
5618 * varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
5619 struct deferred_string, const_str_htab): Kill.
5620 (n_deferred_strings): New static variable.
5621 (build_constant_desc): Set SYMBOL_REF_DECL of the new
5622 symbol_ref to point to the constant.
5623 (output_constant_def): When a deferred string is forced out,
5624 just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
5625 (mark_constant): Likewise.
5626 (maybe_output_constant_def_contents): When deferring a string
5627 constant, just set STRING_POOL_ADDRESS_P and increment
5628 n_deferred_strings.
5629 (mark_constant_pool): Check n_deferred_strings, not the size
5630 of const_str_htab.
5631 (init_varasm_once): No need to create const_str_htab.
5632
5633 * rtl.def, rtl.h, doc/rtl.texi: Document possibility that
5634 SYMBOL_REF_DECL points to a constant.
5635
5636 2003-04-26 Zack Weinberg <zack@codesourcery.com>
5637
5638 * varasm.c (output_constant_def): Split out two new static
5639 functions, build_constant_desc and maybe_output_constant_def_contents.
5640 Restructure for comprehensibility. Don't call
5641 output_addressed_constants. Treat defstr being non-NULL for
5642 STRING_POOL_ADDRESS_P constants as an invariant.
5643 (struct deferred_string): Remove labelno field.
5644 (output_constant_def_contents): Kill labelno argument. Call
5645 output_addressed_constants here. Use ASM_OUTPUT_LABEL, not
5646 asm_out.internal_label.
5647 (mark_constant): Update call to output_constant_def_contents.
5648 Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
5649 constants as an invariant.
5650
5651 2003-04-26 Richard Henderson <rth@redhat.com>
5652
5653 * config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
5654 (ix86_expand_call, ix86_rtx_consts): Likewise.
5655
5656 2003-04-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5657
5658 * doc/md.texi (cmpstr): Document additional restrictions.
5659
5660 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
5661
5662 * flags.h (time_report): Remove.
5663 * timevar.c (timevar_enable): New.
5664 (TIMEVAR_ENABLE): Remove, use timevar_enable.
5665 (timevar_init): Rename from init_timevar.
5666 * timevar.h (timevar_init): Rename from init_timevar.
5667 * toplev.c (time_report): Make static.
5668 (do_compile): Conditionally call init_timevar first.
5669 (preprocess_options): Move some code to do_compile.
5670
5671 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
5672
5673 * doc/install.texi (Binaries): Mention binaries for HC11/HC12.
5674
5675 2003-04-26 Neil Booth <neil@daikokuya.co.uk>
5676
5677 * _cpp_lex_direct: Remove pointless code.
5678
5679 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
5680
5681 * doc/extend.texi (Function Attributes): Document "near" and "far"
5682 for 68HC11 and 68HC12.
5683
5684 2003-04-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5685
5686 * expr.c (store_field): When making temporary for store, don't
5687 make it TYPE_QUAL_CONST.
5688
5689 2003-04-25 Phil Edwards <pme@gcc.gnu.org>
5690
5691 * toplev.c (read_integral_parameter): Use "argument" in error
5692 message to distinguish it from actual invalid options.
5693
5694 2003-04-25 Bob Wilson <bob.wilson@acm.org>
5695
5696 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
5697 addition of __PIC__ and __pic__ macros.
5698 * config/xtensa/xtensa.h: Clean up indentation.
5699
5700 2003-04-25 Bob Wilson <bob.wilson@acm.org>
5701
5702 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
5703 _GNU_SOURCE. Add definitions of __PIC__ and __pic__.
5704 (SUBTARGET_CPP_SPEC): Define.
5705 (LIB_SPEC): Delete.
5706 * config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
5707 * config/xtensa/xtensa.c (xtensa_declare_object): Delete.
5708 * config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
5709 Define.
5710 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
5711 (ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
5712
5713 2003-04-25 H.J. Lu <hjl@gnu.org>
5714
5715 * config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
5716 for return mode.
5717 (ia64_expand_builtin): Set rmode to SImode for
5718 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
5719 IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
5720 IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
5721 for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
5722
5723 2003-04-25 Phil Edwards <pme@gcc.gnu.org>
5724
5725 * configure.in (make_compare_target): Test for GNU cmp and set this
5726 variable appropriately.
5727 * Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
5728 compare4-lean): Rename actual targets to slowcompare*. New compare*
5729 targets depend on names based on make_compare_target.
5730 * configure: Regenerated.
5731
5732 2003-04-25 Richard Henderson <rth@redhat.com>
5733
5734 * config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
5735 to clobber ar.pfs and ar.unat.
5736 (ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
5737 fix test for spilling ar.pfs to the stack.
5738
5739 2003-04-25 Richard Henderson <rth@redhat.com>
5740
5741 PR opt/10315
5742 * config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
5743 checks during reload; use validize_mem instead of adjust_address.
5744
5745 2003-04-26 Ben Elliston <bje@wasabisystems.com>
5746
5747 * config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
5748 return values from recog_memoized().
5749
5750 2003-04-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5751
5752 PR opt/8705
5753 * gcse.c (try_replace_reg): On a successful substitution of a constant
5754 into a single set, try to simplify the source of the set.
5755 * loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
5756 constant source.
5757
5758 2003-04-24 Neil Booth <neil@daikokuya.co.uk>
5759
5760 * cpplex.c (cpp_token_len): Tighten up.
5761 (cpp_token_as_text): Need extra byte now.
5762 * cpplib.c (glue_header_name): Need extra 2 bytes.
5763 * cppmacro.c (cpp_macro_definition): Need extra byte.
5764
5765 2003-04-24 Alexander Kabaev <kan@FreeBSD.ORG>
5766
5767 * config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
5768 const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
5769 where they might be not present. Use their _sp64 equivalent
5770 instead.
5771
5772 Thu Apr 24 20:42:12 CEST 2003 Jan Hubicka <jh@suse.cz>
5773
5774 * i386.md (cvtsi2sdq): Fix typo in previous patch.
5775
5776 2003-04-24 Krister Walfridsson <cato@df.lth.se>
5777
5778 * configure.in: Check whether mbstowcs works.
5779 * configure, config.in: Regenerate.
5780 * intl.c: Use HAVE_WORKING_MBSTOWCS.
5781
5782 2003-04-24 H.J. Lu <hjl@gnu.org>
5783
5784 * config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
5785 for __sync_bool_compare_and_swap_di for int return type.
5786
5787 * config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
5788 Change return type to int.
5789 (__sync_bool_compare_and_swap): Likewise.
5790
5791 Thu Apr 24 16:55:26 CEST 2003 Jan Hubicka <jh@suse.cz>
5792
5793 * cfgbuild.c (make_edges): Do not use next_nonnote_insn when
5794 looking for fallthru edge.
5795
5796 * athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
5797 Fix.
5798 (athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
5799 athlon-fvector): New.
5800 (athlon_*): Revisit to match new optimization guide.
5801 * i386.c (ix86_adjust_cost): Fix memory operand costs on Athlon/k8
5802 * i386.md (cvt??2?? patterns): Fix modes.
5803 (fistp patterns): Set modes.
5804
5805 Accidentaly commited with my earlier reload patch:
5806 PR c/10308
5807 * reload.c (find_reloads_address_1): Reload plus at the place of
5808 index register.
5809
5810 2003-04-24 Nathan Sidwell <nathan@codesourcery.com>
5811
5812 New GCOV_TAG_FUNCTION layout
5813 * coverage.c (struct function_list): Replace name with ident.
5814 (struct counts_entry): Likewise.
5815 (fn_ident): New.
5816 (htab_counts_entry_hash, htab_counts_entry_eq,
5817 htab_counts_entry_del): Adjust.
5818 (reads_count_file, get_coverage_counts,
5819 coverage_begin_output, coverage_end_function): Adjust.
5820 (build_fn_info_type, build_fn_info_value): Likewise.
5821 * gcov-dump.c (tag_function): Adjust.
5822 * gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
5823 * gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
5824 * gcov.c (struct function_info): Add ident.
5825 (read_graph_file, read_count_file): Adjust.
5826 * libgcov.c (gcov_exit): Adjust.
5827
5828 2003-04-23 Richard Henderson <rth@redhat.com>
5829
5830 PR opt/8300
5831 * toplev.c (rest_of_compilation): Delay no_new_pseudos until
5832 after initialize_uninitialized_subregs; update reg info assuming
5833 new pseudos were created.
5834
5835 2003-04-23 Neil Booth <neil@daikokuya.co.uk>
5836
5837 * Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
5838 * c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
5839 (lex_string): Take cpp_string with full spelling.
5840 (cb_ident): Update.
5841 (c_lex): Update diagnostics.
5842 * cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
5843 (create_literal): New.
5844 (lex_string): Unterminated literals have type CPP_OTHER.
5845 (_cpp_lex_direct): Update calls to lex_string. Use create_literal
5846 for CPP_OTHER.
5847 (cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
5848 (_cpp_equiv_tokens, cpp_interpret_charconst): Update.
5849 * cpplib.c (parse_include, do_line, do_linemarker,
5850 destringize_and_run): Update for token storing full spelling.
5851 * cpplib.h: Update token spelling types.
5852 * cppmacro.c (stringify_arg, check_trad_stringification):
5853 Update for token storing full spelling.
5854
5855 2003-04-23 Ulrich Weigand <uweigand@de.ibm.com>
5856
5857 * config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
5858
5859 2003-04-23 Richard Earnshaw <rearnsha@arm.com>
5860
5861 * arm.h (TARGET_OPTIONS): Add value field.
5862
5863 2003-04-23 Mark Mitchell <mark@codesourcery.com>
5864
5865 * doc/extend.texi: Remove duplicate 2003 copyright date.
5866
5867 2003-04-23 Nathan Sidwell <nathan@codesourcery.com>
5868
5869 * Makefile.in (LIBGCC_DEPS): Add gcov headers.
5870 (libgcov.a): Depends on LIBGCC_DEPS.
5871 * basic-block.h (profile_info): Moved here from coverage.h. Made
5872 a pointer.
5873 * coverage.c (struct function_list): Fixed array of counter types.
5874 (struct counts_entry): Keyed by counter type, contains summary.
5875 (profile_info): Moved to profile.c.
5876 (prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
5877 vars.
5878 (profiler_label): Remove.
5879 (ctr_labels): New.
5880 (set_purpose, label_for_tag, build_counter_section_fields,
5881 build_counter_section_value, build_counter_section_data_fields,
5882 build_counter_section_data_values, build_function_info_fields,
5883 build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
5884 (build_fn_info_type, build_fn_info_value, build_ctr_info_type,
5885 build_ctr_info_value, build_gcov_info): New.
5886 (htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
5887 (reads_counts_file): Adjust.
5888 (get_coverage_counts): Takes counter number. Add summary
5889 parameter. Adjust.
5890 (coverage_counter_ref): Tkaes counter number. Adjust. Lazily
5891 create counter array labels.
5892 (coverage_end_function): Adjust.
5893 (create_coverage): Adjust.
5894 (find_counters_section): Remove.
5895 * coverage.h (MAX_COUNTER_SECTIONS): Remove.
5896 (struct section_info, struct profile_info): Remove.
5897 (profile_info): Moved to basic-block.h.
5898 (coverage_counter_ref): Takes a counter number.
5899 (get_coverage_counts): Takes a counter number. Added summary
5900 parameter.
5901 (find_counters_section): Remove.
5902 * gcov-dump.c (tag_arc_counts): Rename to ...
5903 (tag_counters): ... here. Adjust.
5904 (tag_table): Move tag_counters to 3rd entry. Remove
5905 PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
5906 (dump_file): Check for counter tag values here.
5907 (tag_summary): Adjust.
5908 * gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
5909 * gcov-io.h (GCOV_LOCKED): New.
5910 (GCOV_TAG_ARC_COUNTS): Rename to ...
5911 (GCOV_TAG_COUNTS_BASE): ... here.
5912 (GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
5913 Remove.
5914 (GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
5915 (GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
5916 GCOV_TAG_IS_COUNTER): New.
5917 (struct gcov_ctr_summary): New.
5918 (struct gcov_summary): Adjust.
5919 (struct gcov_counter_section): Remove.
5920 struct gcov_counter_section_data): Remove.
5921 (struct gcov_function_info): Rename to ...
5922 (struct gcov_fn_info): ... here. Adjust.
5923 (struct gcov_ctr_info): New.
5924 (struct gcov_info): Adjust.
5925 * gcov.c (read_count_file): Adjust.
5926 (output_lines): Adjust.
5927 * libgcov.c (gcov_exit): Adjust.
5928 (__gcov_flush): Adjust.
5929 * mklibgcc.in (libgcc2_c_dep): Add gcov headers.
5930 * predict.c (maybe_hot_bb_p, probably_cold_bb_p,
5931 probably_never_executed_bb_p, compute_frequency_function): Adjust
5932 profile_info use.
5933 * profile.c (struct counts_entry): Remove.
5934 (profile_info): Define here.
5935 (get_exec_counts): Adjust get_coverage_counts call.
5936 (compute_branch_probablilities): Remove find_counters_section
5937 call.
5938 (gen_edge_profiler): Adjust coverage_counter_ref call.
5939 * tracer.c (tail_duplicate): Adjust profile_info use.
5940
5941 2003-04-23 Roger Sayle <roger@eyesopen.com>
5942
5943 PR optimization/10339
5944 * builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
5945 directly instead of unsafely transforming call into a memcmp.
5946 (expand_builtin_strncmp): Likewise.
5947
5948 2003-04-22 Roger Sayle <roger@eyesopen.com>
5949
5950 * alias.c (mark_constant_function): Check for constancy and
5951 purity even of void functions. Update both the function decl
5952 and the cgraph RTL info with the results.
5953
5954 2003-04-22 Roger Sayle <roger@eyesopen.com>
5955
5956 * real.c (do_add): Change to return a bool indicating that the
5957 result of the operation may be inexact due to loss of precision.
5958 (do_multiply): Likewise.
5959 (do_divide): Likewise.
5960
5961 2003-04-22 Geoffrey Keating <geoffk@apple.com>
5962 Loren James Rittle <ljrittle@acm.org>
5963
5964 * dwarf2out.c (fde_table_allocated): Mark with GTY.
5965 (decl_die_table_allocated): Likewise.
5966 (abbrev_die_table_allocated): Likewise.
5967 (line_info_table_allocated): Likewise.
5968 (separate_line_info_table_allocated): Likewise.
5969 (pubname_table_allocated): Likewise.
5970 (arange_table_allocated): Likewise.
5971 (ranges_table_allocated): Likewise.
5972 (decl_die_table_in_use): Unconditionalize; mark with GTY.
5973 (abbrev_die_table_in_use): Likewise.
5974 (line_info_table_in_use): Likewise.
5975 (separate_line_info_table_in_use): Likewise.
5976 (pubname_table_in_use): Likewise.
5977 (arange_table_in_use): Likewise.
5978 (ranges_table_in_use): Likewise.
5979 (have_location_lists): Likewise.
5980 (emitcount): New GTY-marked static, moved...
5981 (maybe_emit_file): ...from here.
5982 (label_num): New GTY-marked static, moved...
5983 (gen_internal_sym): ...from here.
5984
5985 2003-04-22 Richard Henderson <rth@redhat.com>
5986
5987 PR 8866
5988 * rtl.h (MEM_NOTRAP_P): New.
5989 (MEM_COPY_ATTRIBUTES): Copy it.
5990 * rtlanal.c (may_trap_p): Check it.
5991 * expr.c (do_tablejump): Set it.
5992 * doc/rtl.texi (Flags): Document it.
5993
5994 * cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
5995
5996 2003-04-22 Olivier Hainque <hainque@act-europe.fr>
5997
5998 * config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
5999 set FRP on stack adjustment for outgoing args if frame_pointer_needed.
6000
6001 2003-04-22 Vincent Celier <celier@gnat.com>
6002
6003 * gthr-gnat.h, gthr-gnat.c: new sources for implementation of
6004 --enable-threads=gnat.
6005 * Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
6006 * configure.in: Add gnat to the list of thread packages
6007 * configure: Rebuild.
6008 * config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
6009
6010 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
6011
6012 * cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
6013
6014 2003-04-22 Devang Patel <dpatel@apple.com>
6015
6016 * cpptrad.c (_cpp_replacement_text_len): Add check for macro
6017 parameter count.
6018 (_cpp_copy_replacement_text): Same.
6019
6020 2003-04-22 Neil Booth <neil@daikokuya.co.uk>
6021
6022 * c-lex.c (c_lex): Handle CPP_OTHER differently.
6023 * cppexp.c (_cpp_parse_expr): Similarly.
6024 * cpplex.c (SPELL_CHAR): Remove.
6025 (_cpp_lex_direct): Stray chars are saved as byte strings.
6026 (cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
6027 handle SPELL_CHAR.
6028 (cpp_avoid_paste): Update handling of CPP_OTHER.
6029 * cpplib.h: Spell CPP_OTHER like a number.
6030 (struct cpp_token): Remove member c.
6031 * cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
6032
6033 2003-04-22 David Turner <novalis@gnu.org>
6034
6035 * gbl-ctors.h: Add special license exception.
6036 * libgcc2.h: Likewise.
6037 * tsystem.h: Likewise.
6038 * gcov-io.h: Likewise.
6039
6040 2003-04-22 David Edelsohn <edelsohn@gnu.org>
6041
6042 * fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
6043 macro defaulting to original BRANCH_COST heuristic.
6044 * doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
6045
6046 * config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
6047
6048 2003-04-22 Aldy Hernandez <aldyh@redhat.com>
6049
6050 * config/rs6000/t-spe: Merge in t-fprules into file.
6051
6052 * config.gcc: Add t-spe to powerpc-eabispe.
6053
6054 2003-04-22 Kean Johnston <jkj@sco.com>
6055
6056 * tlink.c (recompile_files): Add missing '=' to putenv calls
6057
6058 2003-04-22 Nathan Sidwell <nathan@codesourcery.com>
6059
6060 * ginclude/stddef.h: Provide C++ safe offsetof.
6061
6062 2003-04-22 J"orn Rennecke <joern.rennecke@superh.com>
6063
6064 * function.c (purge_addressof_1): In (mem (addressof (reg))) case
6065 for reg notes, if there are no substitutions, just use a SUBREG.
6066
6067 2003-04-21 Mark Mitchell <mark@codesourcery.com>
6068
6069 * Makefile.in (calls.o): Depend on except.h.
6070 * calls.c: Include except.h.
6071 (emit_call_1): Call note_eh_region_may_contain_throw if
6072 appropriate.
6073 * except.c (eh_region): Add may_contain_throw.
6074 (expand_eh_region_end_cleanup): Do not include handler code when
6075 it cannot be reached.
6076 (note_eh_region_may_contain_throw): New function.
6077 * except.h (note_eh_region_may_contain_throw): New function.
6078
6079 2003-04-21 Mark Mitchell <mark@codesourcery.com>
6080
6081 * config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
6082 changes.
6083
6084 2003-04-21 Aldy Hernandez <aldyh@redhat.com>
6085
6086 * config/rs6000/rs6000.c (rs6000_override_options): No SPE means
6087 64-bit long doubles.
6088
6089 2003-04-21 Olivier Hainque <hainque@act-europe.fr>
6090
6091 * fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
6092 a number of conversions required for type consistency and previously
6093 stripped off by STRIP_NOPS.
6094
6095 * calls.c (expand_call): Prevent sibcall optimization for calls to
6096 nested subprograms.
6097
6098 * expmed.c (extract_bit_field): Reverse operands of && condition to
6099 prevent a potential division by zero in the previously first branch.
6100 * config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
6101
6102 2003-04-21 Joel Brobecker <brobecker@gnat.com>
6103
6104 * dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
6105 (subrange_type_die): Likewise.
6106 (modified_type_die): Emit a subrange_type DIE for Ada subrange types.
6107 (is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
6108
6109 2003-04-21 Nathan Sidwell <nathan@codesourcery.com>
6110
6111 Break out coverage routines to new file.
6112 * Makefile.in (COVERAGE_H): New variable
6113 (C_OBJS): Add coverage.o
6114 (coverage.o): New target.
6115 (profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
6116 dependencies.
6117 (GTFILES): Adjust.
6118 (gt-coverage.h): New target.
6119 (gt-profile.h): Remove.
6120 * profile.h: Remove. Move to ...
6121 * coverage.h: ... here. New. #include gcov-io.h.
6122 * gcov-io.h: Move function definitions to ...
6123 * gcov-io.c: ... here. New.
6124 * profile.c: Move coverage routines to coverage.c.
6125 (instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
6126 end_branch_prob): Adjust.
6127 * coverage.c: New. Coverage routines from profile.c
6128 (coverage_counter_ref, coverage_init, coverage_finish,
6129 coverage_end_function, coverage_begin_output,
6130 coverage_counter_ref, get_coverage_counts): Define.
6131 * gcov-dump.c, gcov.c: #include gcov-io.c.
6132 * libgcov.c: Likewise. Adjust.
6133 * loop-init.c: Don't #include profile.h
6134 * tracer.c, predict.c, sched-ebb.c: Adjust #includes.
6135 * rtl.h: Add coverage prototypes.
6136 * toplev.c (compile_file): Init coverage, not branch_prob.
6137 Always call coverage_finish.
6138 (rest_of_compilation): Call coverage_end_function.
6139
6140 2003-04-21 Matt Kraai <kraai@alumni.cmu.edu>
6141
6142 * config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
6143
6144 2003-04-21 Neil Booth <neil@daikokuya.co.uk>
6145
6146 * c-ppoutput.c (cb_include): Don't take a cpp_token.
6147 * cppfiles.c: Don't undef strcmp.
6148 (find_include_file): Don't take a cpp_token. Check for empty
6149 file names.
6150 (_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
6151 (cpp_push_include): Simplify.
6152 * cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
6153 * cpplib.c (glue_header_name): Return the file name, not a cpp_token.
6154 (parse_include): Similary. Don't check for zero-length filenames.
6155 (do_include_common, do_pragma_dependency): Update accordingly.
6156 * cpplib.h (struct cpp_callbacks): Change prototype of include.
6157
6158 2003-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6159
6160 * doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
6161 details of conflict handling.
6162
6163 * fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
6164 when conversion overflows.
6165
6166 * stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
6167
6168 * expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
6169 before clearing.
6170
6171 2003-04-21 Mark Mitchell <mark@codesourcery.com>
6172
6173 * config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
6174 have the same form as the old RTL.
6175
6176 2003-04-21 Andreas Jaeger <aj@suse.de>
6177
6178 * cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
6179
6180 2003-04-20 Chris Lattner <sabre@nondot.org>
6181 Zack Weinberg <zack@codesourcery.com>
6182
6183 * c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
6184 genrtl_cleanup_stmt. Correct comment at head of
6185 genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
6186
6187 * stmt.c (struct nesting): Kill n_function_calls.
6188 (expand_start_bindings): Don't set
6189 thisblock->data.block.n_function_calls.
6190 (expand_end_bindings): Compare function_call_count against 0.
6191 (expand_cleanups): Kill DONT_DO argument; all callers passed
6192 NULL_TREE. All callers updated to match.
6193
6194 2003-04-20 Zack Weinberg <zack@codesourcery.com>
6195
6196 * varasm.c (struct deferred_constant, defer_addressed_constants_flag)
6197 (defer_addressed_constants, output_deferred_addressed_constants): Kill.
6198 (output_constant_def): Remove code predicated on
6199 defer_addressed_constants_flag.
6200
6201 * output.h: Remove prototypes of deleted functions.
6202 * c-typeck.c (constructor_subconstants_deferred): Kill.
6203 (struct initializer_stack): Remove 'deferred' field.
6204 (start_init): Remove all references to the above.
6205 (finish_init): Likewise. Also remove never-executed call to
6206 output_deferred_addressed_constants. Pull assignment to
6207 defstr out of if expression.
6208
6209 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
6210
6211 * cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
6212 NOTE_NEWLINE): Remove.
6213 * cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
6214 to handle new form of line note type.
6215
6216 2003-04-20 Zack Weinberg <zack@codesourcery.com>
6217
6218 * target.h (encode_section_info): Add new argument carrying
6219 the RTL to be modified by the hook.
6220
6221 * varasm.c (make_decl_rtl, output_constant_def): Update calls
6222 to encode_section_info.
6223 (default_encode_section_info): Take and use RTL argument,
6224 don't use TREE_CST_RTL or DECL_RTL.
6225 * output.h: Update prototype of default_encode_section_info.
6226 * config/darwin.h (ASM_DECLARE_OBJECT_NAME)
6227 (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
6228 Update calls to encode_section_info.
6229
6230 * config/darwin.c, config/arm/arm.c, config/arm/pe.c
6231 * config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
6232 * config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
6233 * config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
6234 * config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
6235 * config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
6236 Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
6237 except for PE dllimport/dllexport. Update calls to
6238 default_encode_section_info.
6239
6240 * config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
6241 Update prototypes.
6242
6243 * doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
6244
6245 2003-04-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6246
6247 PR/8705
6248 * pa.md (movccfp): New expander.
6249 (setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
6250 Reverse fcmp conditions.
6251
6252 2003-04-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
6253
6254 * config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
6255 of operand 1 correctly.
6256
6257 2003-04-20 Nathan Sidwell <nathan@codesourcery.com>
6258
6259 * cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
6260 * gcov.c (output_lines): Don't be so fussy about going past EOF.
6261
6262 2003-04-20 Neil Booth <neil@daikokuya.co.uk>
6263
6264 * Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
6265 (cppcharset.o): New target.
6266 * c-lex.c (is_extended_char): Move to cppcharset.c.
6267 (utf8_extend_token): Delete.
6268 * cppcharset.c: New file.
6269 * cpphash.h (_cpp_valid_ucn): New.
6270 * cpplex.c (lex_identifier): Update prototype.
6271 (continues_identifier_p): Rename forms_identifier_p. Handle UCN
6272 escapes.
6273 (maybe_read_ucs): Rename maybe_read_ucn. Update to use code
6274 in cppcharset.c.
6275 (lex_number, lex_identifier, cpp_parse_escape): Update.
6276 (_cpp_lex_direct): Update to handle UCNs.
6277 (cpp_avoid_paste): Don't paste to form a UCN.
6278
6279 2003-04-19 Roger Sayle <roger@eyesopen.com>
6280
6281 * builtins.c (expand_builtin): Don't expand a pure or const
6282 built-in function if the result will be ignored and none of
6283 its arguments are volatile.
6284
6285 2003-04-19 Kean Johnston <jkj@sco.com>
6286
6287 * unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
6288 * config.gcc: make SCO use dbxelf.h and elfos.h; only use one
6289 target fragment now: t-sco5; dont compile crti.o.
6290 * config/i386/sco5.h: major overhaul to remove all COFF remnants
6291 and to use elfos.h for most definitions.
6292 (BSS_SECTION_ASM_OP): set correct segment attributes.
6293 (PREFERED_DEBUGGING_TYPE): set to DWARF-2.
6294 (DWARF2_UNWIND_INFO): Always set to 1.
6295 (MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
6296 (MD_STARTFILE_PREFIX_1): Define.
6297 (MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
6298 (DEFAULT_LINKER): Define if not specified to configure.
6299 (CTORS_SECTION_ASM_OP): Remove COFF crud.
6300 (DTORS_SECTION_ASM_OP): Remove COFF crud.
6301 (WINT_TYPE): Define.
6302 (SDB_DEBUGGING_INFO): Remove.
6303 (EXTRA_SECTIONS): Likewise.
6304 (EXTRA_SECTION_FUNCTIONS): Likewise.
6305 (CTOR_LIST_BEGIN): Likewise.
6306 (CTOR_LIST_END): Likewise.
6307 (INIT_SECTION_FUNCTION): Likewise.
6308 (FINI_SECTION_FUNCTION): Likewise.
6309 (SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
6310 (LOCAL_LABEL_PREFIX): Likewise.
6311 (NON_SAVING_SETJMP): Likewise.
6312 (RETURN_POPS_ARGS): Likewise.
6313 (ASM_OUTPUT_SKIP): Likewise.
6314 (TARGET_ASM_NAMED_SECTION): Likewise.
6315 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
6316 (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
6317 (ASM_OUTPUT_IDENT): Likewise.
6318 (ASM_OUTPUT_CASE_LABEL): Likewise.
6319 (ASM_OUTPUT_ASCII): Likewise.
6320 (ASM_OUTPUT_LIMITED_STRING): Likewise.
6321 (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
6322 (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
6323 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
6324 (ASM_FINISH_DECLARE_OBJECT): Likewise.
6325 (ASM_DECLARE_OBJECT_NAME): Likewise.
6326 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
6327 (ASM_DECLARE_FUNCTION_NAME): Likewise.
6328 (ASM_DECLARE_RESULT): Likewise.
6329 (ASM_WEAKEN_LABEL): Likewise.
6330 (SUPPORTS_WEAK): Likewise.
6331 (APPLY_RESULT_SIZE): Likewise.
6332 (LPREFIX): Likewise.
6333 (ALIGN_ASM_OP): Likewise.
6334 (ASCII_DATA_ASM_OP): Likewise.
6335 (IDENT_ASM_OP): Likewise.
6336 (ASM_SHORT): Likewise.
6337 (ASM_LONG): Likewise.
6338 (TYPE_ASM_OP): Likewise.
6339 (SIZE_ASM_OP): Likewise.
6340 (STRING_ASM_OP): Likewise.
6341 (SKIP_ASM_OP): Likewise.
6342 (EH_FRAME_SECTION_ASM_OP): Likewise.
6343 (READONLY_DATA_SECTION_ASM_OP): Likewise.
6344 (INIT_SECTION_ASM_OP): Likewise.
6345 (FINI_SECTION_ASM_OP): Likewise.
6346 (TEXT_SECTION_ASM_OP): Likewise.
6347 (DATA_SECTION_ASM_OP): Likewise.
6348 (TYPE_OPERANT_FORMAT): Likewise.
6349 (ASM_SPEC): Remove COFF code.
6350 (STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
6351 cause -pg to emit an error; use pcrt1elf.o with -pp
6352 (ENDFILE_SPEC): Likewise.
6353 (TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
6354 (CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
6355 (LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
6356 add -z alt_resolve to support weak symbols the way GCC wants them.
6357 (LIB_SPEC): Use the profiler libraries in -p or -pp mode.
6358 (LIBGCC_SPEC): Dont use -lgcc in -G mode.
6359 (ASM_PREFERED_EH_DATA_FORMAT): Remove.
6360 * config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
6361 (CRTSTUFF_T_CFLAGS_S): Define.
6362 (MULTILIB_OPTIONS): Likewise.
6363 (MULTILIB_DIRNAMES): Likewise.
6364 (MULTILIB_MATCHES): Likewise.
6365 (MULTILIB_EXTRA_OPTS): Likewise.
6366 (LIBGCC): Likewise.
6367 (INSTALL_LIBGCC): Likewise.
6368 (crti.o): Remove.
6369 * config/i386/t-sco5gas: Remove.
6370 * doc/install.texi: Updated for new OpenServer instructions.
6371 * testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
6372
6373 2003-04-19 Kean Johnston <jkj@sco.com>
6374
6375 * fixinc/check.tpl: Allow user to over-ride diff program.
6376 * fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
6377 (sco_math): Added test for SCO math header files.
6378 (sco_regset): Added check for conflicts with ieeefp.h.
6379 (svr4_disable_opt): Removed extraneous #ifdef SVR4.
6380 * fixinc/fixincl.x: Regenerated
6381 * fixinc/tests/base/math.h: Added sco_math tests.
6382 * fixinc/tests/base/string.h: New file.
6383 * fixinc/tests/base/sys/regset.h: New file.
6384
6385 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
6386
6387 * cpphash.h (struct cpp_buffer): Remove backup_to.
6388 * cpplex.c (BACKUP, get_effective_char): Die.
6389 (_cpp_skip_block_comment): Assume '*' is location on entry.
6390 (continues_identifier_p): Respect -fno-dollars-in-identifiers.
6391 (IF_NEXT_IS): Update.
6392 (_cpp_lex_direct): Don't use backup_to; look ahead directly.
6393
6394 2003-04-19 Matt Kraai <kraai@alumni.cmu.edu>
6395
6396 * README.Portability: Move to a new section and obsolete K+R
6397 portability issues.
6398
6399 Sat Apr 19 14:56:17 CEST 2003 Jan Hubicka <jh@suse.cz>
6400
6401 * rtlanal.c (subreg_offset_representable_p): Fix call of
6402 subreg_lowpart.
6403
6404 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
6405
6406 * cpphash.h (struct cpp_reader): New member warned_dollar.
6407 * cpplex.c (continues_identifier_p): New function.
6408 (parse_identifier, parse_number, parse_string): Rename lex_identifer,
6409 lex_number and lex_string, and simplify.
6410 (parse_slow, unescaped_terminator_p): Die.
6411 (_cpp_lex_direct): Update.
6412
6413 2003-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6414
6415 * calls.c (expand_call): Provide init for old_stack_pointer_delta.
6416
6417 2003-04-19 Nathan Sidwell <nathan@codesourcery.com>
6418
6419 * doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
6420 fork behaviour.
6421
6422 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
6423
6424 * cppexp.c (eval_token): Permit true and false even if pedantic.
6425
6426 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
6427
6428 * cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
6429
6430 2003-04-19 Neil Booth <neil@daikokuya.co.uk>
6431
6432 * cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
6433 MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
6434 (struct include_file): Remove fefcnt, mapped members.
6435 (open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
6436 (read_include_file): Don't use mmap, terminate buffers in '\r'.
6437 (purge_cache): Don't use munmap.
6438 * cpphash.h (CPP_BUF_COLUMN): Update.
6439 (lexer_state): Remove lexing_comment.
6440 (struct _cpp_line_note): New.
6441 (struct cpp_buffer): New members cur_note, notes_used, notes_cap,
6442 next_line and need_line. Remove col_adjust and saved_flags.
6443 (_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
6444 _cpp_skip_block_comment, scan_out_logical_line): New.
6445 (_cpp_init_mbchar): Remove.
6446 * cppinit.c (init_library): Remove call to _cpp_init_mbchar.
6447 (cpp_read_main_file): Set line to 1 earlier.
6448 (post_options): -traditional-cpp doesn't want trigraphs.
6449 * cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
6450 (add_line_note, _cpp_clean_line, _cpp_process_line_notes,
6451 _cpp_get_fresh_line): New.
6452 (handle_newline, skip_escaped_newlines, trigraph_p,
6453 continue_after_nul, _cpp_init_mbchar): Remove.
6454 (get_effective_char): Update.
6455 (_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
6456 (skip_line_comment): Simplify.
6457 (skip_whitespace, parse_identifier, parse_slow, parse_number,
6458 parse_string): Update.
6459 (cpp_lex_direct): Use clean lines and process line notes. Update.
6460 (cpp_interpret_charconst): No MULTIBYTE_CHARS.
6461 * cpplib.c (prepare_directive_trad): Call scan_out_logical_line
6462 directly.
6463 (_cpp_handle_directive): Don't set saved_flags.
6464 (run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
6465 cpp_undef, handle_assertion, cpp_push_buffer): Update.
6466 (_cpp_pop_buffer): Free notes.
6467 * cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
6468 * cpppch.c (cpp_read_state): \n terminate buffer.
6469 * cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
6470 (copy_comment): Use _cpp_skip_block_comment.
6471 (skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
6472 Simplify.
6473 (_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
6474 save_replacement_text): Update.
6475 (scan_out_logical_line): Update to use clean lines and process
6476 line notes.
6477 * fix-header.c (read_scan_file): Update.
6478
6479 2003-04-18 Douglas B Rupp <rupp@gnat.com>
6480
6481 * unwind-dw2-fde.c (__register_frame_info_bases): Check for
6482 null begin parameter (as well as pointer to null).
6483 (__deregister_frame_info_bases): Likewise.
6484
6485 2003-04-18 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6486
6487 * function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
6488 hard or virtual register and copy into pseudo if replacement fails.
6489
6490 * cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
6491
6492 * expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
6493
6494 2003-04-18 Olivier Hainque <hainque@act-europe.fr>
6495
6496 * calls.c (expand_call): Move special case for constructor calls
6497 to right place. Ensures constructor calls used to initialize
6498 arguments get a clean outgoing argument block for themselves.
6499 Move check for stack deallocation completeness until after last
6500 deallocation. Add stack_pointer_delta to set of state
6501 variables saved and restored along with current stack_level.
6502
6503 * integrate.c (expand_inline_function): Ensure non-const actuals
6504 don't end up const in the caller's flow after conversion to possibly
6505 const formal type.
6506
6507 2003-04-18 Vincent Celier <celier@gnat.com>
6508
6509 * dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
6510 and *_DIV_EXPR as TRUNC_*_EXPR.
6511
6512 2003-04-18 Mark Mitchell <mark@codesourcery.com>
6513
6514 * cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
6515 for orphaned jump tables.
6516
6517 2003-04-18 Kazu Hirata <kazu@cs.umass.edu>
6518
6519 * reload1.c: Revert my previous patch on 2002-04-17.
6520
6521 2003-04-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6522
6523 * doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
6524 Add Segher Boessenkool.
6525
6526 2003-04-18 Alexander Sotirov <sluncho@mirizma.org>
6527
6528 PR c/9177
6529 * c-decl.c (c_expand_body): Don't garbage collect the function
6530 body if we are going to dump it later.
6531
6532 2003-04-18 Richard Henderson <rth@redhat.com>
6533
6534 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
6535 (alpha_end_function): Don't set them.
6536 (decl_in_text_section): Remove.
6537 (alpha_encode_section_info): Remove.
6538 (samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
6539 (direct_call_operand): Use SYMBOL_REF_DECL and compare actual
6540 sections, rather than decl_in_text_section results.
6541
6542 2003-04-18 Roger Sayle <roger@eyesopen.com>
6543
6544 * rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
6545 and SIGN_EXTRACT.
6546
6547 2003-04-18 Eric Botcazou <ebotcazou@libertysurf.fr>
6548
6549 PR optimization/7675
6550 * c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
6551 on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
6552 nested functions if they refer to declarations from parent functions.
6553 * stmt.c (expand_decl): Don't put automatic variables in registers
6554 if the DECL_NONLOCAL flag is set.
6555
6556 2003-04-18 Hans-Peter Nilsson <hp@bitrange.com>
6557
6558 * gcse.c (compute_ld_motion_mems): For MEM destinations, only
6559 consider those to be movable where the source matches
6560 want_to_gcse_p.
6561 (update_ld_motion_stores): In comment, refer to
6562 compute_ld_motion_mems for validity of replacement.
6563
6564 Fri Apr 18 01:28:51 CEST 2003 Jan Hubicka <jh@suse.cz>
6565
6566 * gcov-dump.c (tag_summary): Remove max_sum
6567 * gcov-io.h (gcov_summary, gcov_write_summary,
6568 gcov_read_summary): Kill max_sum.
6569 * libgcov.c (gcov_exit): Do one pass over the data. Make error
6570 message more verbose.
6571
6572 * emit-rtl.c (subreg_hard_regno): Check that register is
6573 representable.
6574
6575 * reload.c (reload_inner_reg_of_subreg): When register is not
6576 representable, reload the whole thing.
6577 (find_reloads): Likewsie.
6578 * rtlanal.c (subreg_representable_p): New function.
6579
6580 * profile.c (compute_branch_probabilities): Cleanup sanity checking;
6581 allow negative probabilities for edges from the call to exit.
6582 (branch_prob): Do not add fake edges for functions that may return
6583 twice.
6584
6585 2003-04-17 DJ Delorie <dj@redhat.com>
6586
6587 * toplev.c (target_options): Add value field.
6588 (set_target_switch): Handle target options with values.
6589 * doc/tm.texi: Document how fixed vs variable target
6590 options work.
6591 * config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
6592 config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
6593 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
6594 config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
6595 config/m32r/m32r.h, config/m68hc11/m68hc11.h,
6596 config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
6597 config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
6598 config/rs6000/rs6000.h, config/rs6000/sysv4.h,
6599 config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
6600 Add value initializer to target options.
6601
6602 2003-04-07 Loren James Rittle <ljrittle@acm.org>
6603
6604 * cpppch.c (cpp_valid_state): Unconditionally initialize nl.
6605
6606 2003-04-17 Kazu Hirata <kazu@cs.umass.edu>
6607
6608 * reload1.c (move2add_last_cc0): New.
6609 (reload_cse_move2add): Detect implicit sets.
6610 (move2add_note_store): Notice a store into cc0.
6611
6612 2003-04-17 Roger Sayle <roger@eyesopen.com>
6613
6614 PR c/10375
6615 * c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
6616 function attributes.
6617
6618 2003-04-17 Janis Johnson <janis187@us.ibm.com>
6619
6620 * doc/sourcebuild.texi (Test Suites): Document support for testing
6621 binary compatibility (moved from testsuite/README.compat).
6622
6623 2003-04-17 Richard Henderson <rth@redhat.com>
6624
6625 * config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
6626
6627 2003-04-17 Simon Law <sfllaw@engmail.uwaterloo.ca>
6628
6629 * doc/include/gpl.texi: Fix double-spacing after "MA" to match
6630 the one provided by the FSF.
6631
6632 2003-04-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6633
6634 * doc/install.texi (Binaries): Update URL and list of platforms
6635 provided by ftp.thewrittenword.com.
6636
6637 2003-04-17 Richard Henderson <rth@redhat.com>
6638
6639 * config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
6640 (call_insn_operand): Use SYMBOL_REF_LOCAL_P.
6641 * config/xtensa/xtensa.md (call, call_value): Likewise.
6642
6643 2003-04-17 Richard Henderson <rth@redhat.com>
6644
6645 * config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
6646 (print_operand_address): Likewise.
6647 (ep_memory_operand): Likewise.
6648 (special_symbolref_operand): Likewise.
6649 (v850_encode_data_area): Use SYMBOL_REF_FLAGS.
6650 (v850_encode_section_info): Call default_encode_section_info.
6651 (v850_strip_name_encoding): Remove.
6652 * config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
6653 (ASM_OUTPUT_LABELREF): Remove.
6654 (ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
6655 (SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
6656 (TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
6657 (ENCODED_NAME_P): Remove.
6658 (SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
6659 (SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
6660 (SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
6661
6662 2003-04-17 Richard Henderson <rth@redhat.com>
6663
6664 * config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
6665 * config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
6666 SYMBOL_REF_FUNCTION_P.
6667
6668 2003-04-17 Richard Henderson <rth@redhat.com>
6669
6670 * config/sparc/sparc.c (sparc_encode_section_info): Remove.
6671 (data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
6672 (text_segment_operand): Likewise.
6673
6674 2003-04-17 Richard Henderson <rth@redhat.com>
6675
6676 * config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
6677 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6678 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
6679 (sh_encode_section_info): Remove.
6680 (sh_strip_name_encoding): Remove.
6681 * config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
6682 (DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
6683 (SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
6684 (ASM_OUTPUT_LABELREF): Remove.
6685 (ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
6686 * config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
6687
6688 2003-04-17 Richard Henderson <rth@redhat.com>
6689
6690 * config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
6691 (tls_model_chars): Remove.
6692 (larl_operand): Use SYMBOL_REF_FLAGS.
6693 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6694 (legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
6695 (s390_output_mi_thunk): Likewise.
6696 (s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
6697 (s390_function_profiler): Likewise.
6698 (s390_encode_section_info): Use default_encode_section_info
6699 and SYMBOL_FLAG_ALIGN1.
6700 (s390_strip_name_encoding): Remove.
6701 * config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
6702 * config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
6703 (builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
6704
6705 2003-04-17 Richard Henderson <rth@redhat.com>
6706
6707 * config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
6708 (global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
6709 (print_operand_address): Likewise.
6710
6711 * config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
6712 * config/ns32k/ns32k.c (expand_block_move): Don't check
6713 flag_unroll_loops.
6714
6715 2003-04-17 Richard Henderson <rth@redhat.com>
6716
6717 * config/mcore/mcore.c (mcore_encode_section_info): Don't set
6718 SYMBOL_REF_FLAG.
6719
6720 2003-04-17 Richard Henderson <rth@redhat.com>
6721
6722 * rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
6723
6724 * config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
6725 (SYMBOL_REF_MODEL): New.
6726 (LIT_NAME_P): Move from m32r.h.
6727 (m32r_select_section): Remove.
6728 (m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
6729 (m32r_strip_name_encoding): Remove.
6730 (m32r_in_small_data_p): New.
6731 (small_data_operand): Use SYMBOL_REF_SMALL_P.
6732 (addr24_operand): Use SYMBOL_REF_MODEL.
6733 (call26_operand): Likewise.
6734 (addr32_operand): Tidy.
6735 (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
6736 * config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
6737 (SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
6738 (READONLY_DATA_SECTION_ASM_OP): Remove.
6739 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
6740 (SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
6741 (TARGET_ASM_SELECT_SECTION): Remove.
6742 (SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
6743 (SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
6744 (LARGE_NAME_P, ENCODED_NAME_P): Remove.
6745 (ASM_OUTPUT_LABELREF): Remove.
6746
6747 2003-04-17 Richard Henderson <rth@redhat.com>
6748
6749 * config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
6750 (encode_section_info): Remove.
6751 * config/ip2k/ip2k-protos.h: Update.
6752
6753 2003-04-17 Richard Henderson <rth@redhat.com>
6754
6755 * varasm.c (default_encode_section_info): Don't set
6756 SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
6757 * config/i370/i370.c (i370_encode_section_info): Remove.
6758 * config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
6759 (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
6760 * config/i370/i370.md (movsi): Likewise.
6761
6762 * config/i370/t-i370: Add missing backslash.
6763
6764 2003-04-17 Eric Botcazou <ebotcazou@libertysurf.fr>
6765
6766 * doc/invoke.texi (inline-limit): Fix pasto.
6767
6768 2003-04-17 Richard Henderson <rth@redhat.com>
6769
6770 * config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
6771 (small_call_insn_operand): Use it.
6772 (SYMBOL_FLAG_EIGHTBIT_DATA): New.
6773 (h8300_eightbit_constant_address_p): Use it.
6774 (SYMBOL_FLAG_TINY_DATA): New.
6775 (h8300_tiny_constant_address_p): Use it.
6776 (h8300_encode_label, h8300_strip_name_encoding): Remove.
6777 (h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
6778 * config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
6779 (ASM_OUTPUT_LABELREF): Remove.
6780
6781 2003-04-16 Richard Henderson <rth@redhat.com>
6782
6783 * config/frv/frv.c (symbol_ref_small_data_p): Remove. Replace
6784 all users with SYMBOL_REF_SMALL_P.
6785 (const_small_data_p): Use SYMBOL_REF_SMALL_P.
6786 (frv_encode_section_info): Remove.
6787 (frv_strip_name_encoding): Remove.
6788 (frv_in_small_data_p): Merge tests from encode_section_info.
6789 (frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
6790 * config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
6791 (SDATA_NAME_P): Remove.
6792 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
6793 (ASM_OUTPUT_LABELREF): Remove.
6794 (PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
6795
6796 * config/frv/frv.c (frv_asm_out_constructor): New.
6797 (frv_asm_out_destructor): New.
6798 * config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
6799 (DTORS_SECTION_ASM_OP): New.
6800 (ASM_OUTPUT_CONSTRUCTOR): Remove.
6801 (ASM_OUTPUT_DESTRUCTOR): Remove.
6802
6803 2003-04-16 Richard Henderson <rth@redhat.com>
6804
6805 * config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
6806 SYMBOL_REF_LOCAL_P; abort if not pic.
6807 (cris_encode_section_info): Remove.
6808
6809 2003-04-16 Richard Henderson <rth@redhat.com>
6810
6811 * config/c4x/c4x.c (c4x_encode_section_info): Remove.
6812 (c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
6813
6814 * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
6815 flag_inline_trees.
6816
6817 2003-04-16 Richard Henderson <rth@redhat.com>
6818
6819 * config/avr/avr.c (avr_encode_section_info): Remove.
6820 (avr_insert_attributes): New.
6821 (print_operand_address): Use SYMBOL_REF_FUNCTION_P.
6822 (avr_assemble_integer): Likewise.
6823
6824 2003-04-16 Richard Henderson <rth@redhat.com>
6825
6826 * arc.c (arc_encode_section_info): Remove.
6827 (arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
6828 (arc_print_operand, arc_print_operand_address): Likewise.
6829 * arc.h (EXTRA_CONSTRAINT): Likewise.
6830
6831 2003-04-16 Roger Sayle <roger@eyesopen.com>
6832
6833 * c-semantics.c (find_reachable_label): New function to find a
6834 potentially reachable label in an expression.
6835 (expand_unreachable_if_stmt): Similar to expand_if_stmt but
6836 assumes the start of the IF_STMT is unreachable (dead) code.
6837 (expand_unreachable_stmt): Similar to expand_stmt but assumes
6838 the start of the statement list is unreachable (dead) code.
6839 (genrtl_if_stmt): If the controlling expression of the IF
6840 is constant, use expand_unreachable_stmt for the THEN or ELSE
6841 clause as appropriate.
6842 (genrtl_switch_stmt): Use expand_unreachable_stmt to expand
6843 the body of a SWITCH statement.
6844 (expand_stmt): The code immediately following a "return",
6845 "break", "continue" or "goto" is unreachable.
6846 * Makefile.in (c-semantics.o): Depend upon tree-inline.h.
6847
6848 2003-04-16 Richard Henderson <rth@redhat.com>
6849
6850 * rtl.h (MEM_ALIAS_SET): Update documentation.
6851 * doc/rtl.texi (Special Accessors): New node.
6852 (SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
6853
6854 2003-04-16 Alexandre Oliva <aoliva@redhat.com>
6855
6856 * reload1.c (reload_cse_noop_set_p): Return false if mode of
6857 SET_DEST is not the same as that returned by...
6858 * cselib.h (cselib_reg_set_mode): ... new function.
6859 * cselib.c (cselib_reg_set_mode): Define it.
6860 (REG_VALUES): Document semantics of first element as set mode.
6861 (cselib_subst_to_values): Skip first element if ELT is NULL.
6862 (cselib_lookup): Likewise. Insert past the first element.
6863 (cselib_invalidate_regno): NULLify first element.
6864 (cselib_record_set): Set first element.
6865
6866 2003-04-16 Olivier Hainque <hainque@act-europe.fr>
6867
6868 * tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
6869 (save_expr): Replace loop by call to skip_simple_arithmetics_at.
6870 * tree.h: Add prototypes for the two new functions.
6871 * fold-const.c (fold_binary_op_with_conditional_arg): Replace test
6872 updates introduced in the previous revision by call to saved_expr_p.
6873 * stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
6874
6875 * expr.c (store_field): Force usage of bitfield instructions when
6876 the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
6877 (expand_expr, case BIT_FIELD_REF): likewise.
6878
6879 2003-04-16 Mark Mitchell <mark@codesourcery.com>
6880
6881 PR middle-end/8866
6882 * cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
6883 jumptables.
6884
6885 2003-04-16 Richard Henderson <rth@redhat.com>
6886
6887 * config/ia64/ia64.c (sdata_symbolic_operand): Use
6888 SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
6889 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
6890 (function_operand): Use SYMBOL_REF_FUNCTION_P.
6891 (ia64_expand_load_address): Likewise.
6892 (ia64_assemble_integer): Likewise.
6893 (ia64_encode_section_info): Remove.
6894 (ia64_strip_name_encoding): Remove.
6895 * config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
6896 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
6897
6898 2003-04-16 Richard Henderson <rth@redhat.com>
6899
6900 * config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
6901 (samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
6902 (direct_call_operand): Use SYMBOL_FLAG_NEAR.
6903 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
6904 (small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
6905 (global_symbolic_operand): Similarly.
6906 (tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
6907 (tls_symbolic_operand_type): Likewise.
6908 (alpha_encode_section_info): Use default_encode_section_info.
6909 (alpha_strip_name_encoding): Remove.
6910 (get_tls_get_addr): Split out from ...
6911 (alpha_legitimize_address): ... here.
6912 (alpha_emit_xfloating_libcall): Use init_one_libfunc.
6913 (get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
6914 (alpha_initialize_trampoline): Use init_one_libfunc.
6915 (alpha_setup_incoming_varargs): Mark unused parameters.
6916 (alpha_initial_elimination_offset): Likewise.
6917 (alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
6918 (unicosmk_unique_section): Use default_strip_name_encoding.
6919 (unicosmk_ssib_name, unicosmk_output_externs): Likewise.
6920
6921 2003-04-16 Aldy Hernandez <aldyh@redhat.com>
6922
6923 * config.gcc: Add t-spe for eabispe.
6924
6925 * config/rs6000/t-spe: New.
6926
6927 2003-04-16 J"orn Rennecke <joern.rennecke@superh.com>
6928
6929 Re-apply this patch:
6930
6931 2002-05-16 Dale Johannesen <dalej@apple.com>
6932 * combine.c (cant_combine_insn_p): Reenable combinations
6933 involving hard regs unless CLASS_LIKELY_SPILLED_P.
6934
6935 2003-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6936
6937 PR/10271
6938 * pa-protos.h (function_arg): Remove last argument.
6939 * pa.c (function_arg): Likewise. Use CUMULATIVE_ARGS struct instead.
6940 * pa.h (struct hppa_args): Add member incoming.
6941 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
6942 member incoming.
6943 (FUNCTION_ARG): Revise call to function_arg.
6944 (FUNCTION_INCOMING_ARG): Delete.
6945
6946 2003-04-15 Zack Weinberg <zack@codesourcery.com>
6947
6948 * configure.in: Unify the code which creates symlinks to a
6949 just-built as, ld, objdump, and nm with the code that detects
6950 their presence for purposes of feature tests.
6951 * configure: Regenerate.
6952
6953 2003-04-15 Zack Weinberg <zack@codesourcery.com>
6954
6955 * varasm.c (output_constant_def): Do not consult
6956 CONSTANT_AFTER_FUNCTION_P. Remove all code predicated on it.
6957 (after_function_constants, output_after_function_constants): Delete.
6958 * doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
6959 * config/mips/mips-protos.h, config/mips/mips.c
6960 (mips16_constant_after_function_p): Delete.
6961 * config/mips/mips.h: Delete #if-0-ed definition of
6962 CONSTANT_AFTER_FUNCTION_P.
6963 * config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
6964 mention of CONSTANT_AFTER_FUNCTION_P in comment.
6965
6966 2003-04-15 Geoffrey Keating <geoffk@apple.com>
6967
6968 * tree.c (next_decl_uid): Mark with GTY.
6969 (next_type_uid): Likewise.
6970
6971 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
6972
6973 PR target/9594:
6974 * sh.c (barrier_align): Also recognize stuff_delay_slot as
6975 an indicator that a barrier was created by branch splitting.
6976
6977 2003-04-15 Mark Mitchell <mark@codesourcery.com>
6978
6979 * c-decl.c (implicitly_declare): Copy declarations that are going
6980 to be placed in a local scope.
6981
6982 2003-04-15 James A. Morrison <ja2morri@uwaterloo.ca>
6983
6984 * invoke.texi (Spec Files): Wrap if-exists-else example.
6985 (MCore): Remove duplicate @itemx entries and @opindex entries.
6986
6987 2003-04-15 Ulrich Weigand <uweigand@de.ibm.com>
6988
6989 * unwind.inc (_Unwind_Backtrace): New function.
6990 * unwind.h (_Unwind_Backtrace): Declare it.
6991 * libgcc-std.ver (_Unwind_Backtrace): Export it.
6992
6993 2003-04-14 Jason Merrill <jason@redhat.com>
6994
6995 PR middle-end/10336, c++/10401
6996 * jump.c (never_reached_warning): Also stop looking if we reach the
6997 beginning of the function.
6998
6999 2003-04-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7000
7001 PR target/10338
7002 PR bootstrap/10198
7003 PR bootstrap/10140
7004 * fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
7005
7006 2003-04-15 J"orn Rennecke <joern.rennecke@superh.com>
7007
7008 * i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
7009
7010 2003-04-15 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7011
7012 * optabs.c (expand_binop): In multi-word add cases, ensure
7013 XTARGET is copied to TARGET if they are different.
7014
7015 2003-04-15 Olivier Hainque <hainque@act-europe.fr>
7016
7017 * except.c (resolve_fixup_regions): Avoid dereferencing null pointer
7018 to region, possible after integration of function with unreachable
7019 regions that were optimized away.
7020
7021 2003-04-15 Jakub Jelinek <jakub@redhat.com>
7022
7023 * config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
7024 instead of TOC_REGISTER in epilogue in
7025 current_function_calls_eh_return functions.
7026
7027 2003-04-14 Mark Mitchell <mark@codesourcery.com>
7028
7029 * doc/extend.texi (Empty Structures): Correct description of G++'s
7030 handling of these structures.
7031
7032 * c-decl.c (grokdeclarator): Reject extern redeclarations of
7033 static variables.
7034
7035 2003-04-14 Janis Johnson <janis287@us.ibm.com>
7036
7037 * config/rs6000/rs6000.md (define_constants): Define constants for
7038 all UNSPEC usage, including new values for TLS support.
7039 (aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
7040 load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
7041 load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
7042 macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
7043 stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
7044 eh_set_lr_di): Use them.
7045 * rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
7046 rs6000_emit_epilogue) Use them.
7047
7048 * rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
7049
7050 2003-04-14 Neil Booth <neil@daikokuya.co.uk>
7051
7052 * Makefile.in (c-opts.o): Use custom action.
7053
7054 2003-04-14 Douglas B Rupp <rupp@gnat.com>
7055
7056 * ifcvt.c (noce_process_if_block): Fail on BLKmode move.
7057
7058 2003-04-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7059
7060 * stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
7061 handle "superflat arrays" in Ada.
7062
7063 * integrate.c (expand_inline_function): Don't inline if would
7064 lose /u on a BLKmode TARGET.
7065
7066 2003-04-14 Joel Brobecker <brobecker@gnat.com>
7067
7068 * dbxout.c (print_int_cst_bounds_in_octal_p): New function,
7069 extracted from dbxout_type.
7070 (dbxout_range_type): print large bounds in octal format.
7071 (dbxout_type): Replace extracted code by call to
7072 print_int_cst_bounds_in_octal_p.
7073
7074 * dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
7075 of DW_LANG_Ada83 for Ada units.
7076
7077 2003-04-14 Olivier Hainque <hainque@act-europe.fr>
7078
7079 * explow.c (round_push): Use HOST_WIDE_INT instead of int for the
7080 temporary used to round CONST_INT sizes.
7081
7082 * tree.c (int_fits_type_p): Extract generic checks from the case
7083 of constant type bounds. Refine the checks against constant type
7084 bounds to allow for possible decisions against each of these bounds
7085 without requiring both bounds to be constant.
7086 (tree_int_cst_msb): Put back.
7087 * tree.h (tree_int_cst_msb): Likewise.
7088
7089 * global.c (global_conflicts): Prevent allocation of call clobbered
7090 hard regs to pseudos live across abnormal edges, as later passes are
7091 not ready to handle them.
7092
7093 * fold-const.c (fold): Reorder tests for conditional expressions.
7094
7095 * expr.c (highest_pow2_factor): Return unsigned.
7096 * expr.h (offset_address): Likewise.
7097 * emit-rtl.c (offset_address): POW2 argument now unsigned.
7098
7099 2003-04-14 Roger Sayle <roger@eyesopen.com>
7100
7101 * builtins.c (expand_builtin_strlen): Evaluate the lengths of
7102 string literals at compile-time.
7103
7104 2003-04-14 Roger Sayle <roger@eyesopen.com>
7105
7106 * fold-const.c (fold): Transform (c1 - x) cmp c2, where cmp is a
7107 comparison operation and c1/c2 are floating point constants into
7108 x swap(cmp) (c1 - c2).
7109
7110 2003-04-14 Vladimir Makarov <vmakarov@redhat.com>
7111
7112 * genautomata.c (output_translate_vect): Fix a typo in loop
7113 condition.
7114
7115 2003-04-14 Hans-Peter Nilsson <hp@axis.com>
7116
7117 PR target/10377
7118 * config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
7119 ("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
7120 ("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
7121 ("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
7122 ("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
7123 ("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
7124 ("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
7125 ("*extopqihi_swap_side", "*extopqisi_swap_side")
7126 ("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
7127 When next to constraint R, replace constraint i with n.
7128
7129 Mon Apr 14 16:18:37 CEST 2003 Jan Hubicka <jh@suse.cz>
7130
7131 PR opt/10024
7132 * cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
7133
7134 2003-04-14 Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
7135
7136 * doc/contrib.texi (Contributors): Correct my entry.
7137
7138 2003-04-13 Roger Sayle <roger@eyesopen.com>
7139
7140 * tree.h (DECL_BUILT_IN_NONANSI): Remove.
7141 * c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
7142 * c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
7143 implies DECL_BUILT_IN to simplify logic.
7144 * print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
7145
7146 2003-04-13 Roger Sayle <roger@eyesopen.com>
7147
7148 * builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
7149 (BT_FN_PTR_SIZE_SIZE): Likewise.
7150 * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
7151 New built-in functions for malloc, calloc and strdup respectively.
7152 * calls.c (special_function_p): No need to handle malloc-like
7153 functions any longer. ECF_MALLOC is set via built-in attributes.
7154
7155 * c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
7156
7157 * doc/extend.texi: Document these new built-in functions.
7158
7159 2003-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7160
7161 * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
7162 (expand_builtin_stpcpy): New.
7163 (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
7164 * builtins.def: Add mempcpy & stpcpy support.
7165 * doc/extend.texi (mempcpy, stpcpy): Document new builtins.
7166
7167 2003-04-13 Nick Clifton <nickc@redhat.com>
7168
7169 * config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
7170 "GCC".
7171 * config/rs6000/40x.md, config/rs6000/603.md,
7172 config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
7173 config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
7174 config/rs6000/aix3newas.h, config/rs6000/aix41.h,
7175 config/rs6000/aix43.h, config/rs6000/aix51.h,
7176 config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
7177 config/rs6000/altivec.h, config/rs6000/altivec.md,
7178 config/rs6000/beos.h, config/rs6000/darwin.h,
7179 config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
7180 config/rs6000/eabisim.h, config/rs6000/eabispe.h,
7181 config/rs6000/freebsd.h, config/rs6000/gnu.h,
7182 config/rs6000/host-darwin.c, config/rs6000/linux.h,
7183 config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
7184 config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
7185 config/rs6000/netbsd.h, config/rs6000/power4.md,
7186 config/rs6000/rios1.md, config/rs6000/rios2.md,
7187 config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
7188 config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
7189 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
7190 config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
7191 config/rs6000/spe.md, config/rs6000/sysv4.h,
7192 config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
7193 config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
7194
7195 2003-04-13 Nick Clifton <nickc@redhat.com>
7196
7197 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
7198 support for -mcall-aix switch.
7199 * config/rs6000/eabiaix.h: Delete.
7200 * config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
7201 (RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
7202 RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
7203 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
7204 * config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
7205 debug_stack_info, output_function_profiler,
7206 rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
7207 * config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
7208 call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
7209 call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
7210 sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
7211 * config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
7212 multilibs.
7213 (MULTILIB_DIRNAMES): Remove mcall-aix directories.
7214 (MULTILIB_EXCEPTIONS): Delete.
7215 (MULTILIB_MATCHES): Remove mcall-aix matches.
7216
7217 * doc/fragments.texi: Replace -mcall-aix example with an ARM
7218 one.
7219 * doc/install.texi: Delete powerpc-*-eabiaix target.
7220 * doc/invoke.texi: Remove documentation of mcall-aix switch.
7221 * doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
7222 * config.gcc: Delete powerpc-*-eabiaix target.
7223
7224 2003-04-13 Kazu Hirata <kazu@cs.umass.edu>
7225
7226 * doc/invoke.texi: Fix typos.
7227 * doc/tm.texi: Likewise.
7228
7229 2003-04-12 Zack Weinberg <zack@codesourcery.com>
7230
7231 * c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
7232
7233 2003-04-12 Zack Weinberg <zack@codesourcery.com>
7234
7235 * tree.c (build_constructor): New function.
7236 * tree.h: Prototype it.
7237
7238 * c-typeck.c (build_c_cast, pop_init_level)
7239 * profile.c (build_function_info_value, build_gcov_info_value)
7240 (create_profiler):
7241 Use build_constructor.
7242
7243 * builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
7244
7245 * objc/objc-act.c (build_constructor):
7246 Rename objc_build_constructor. Use build_constructor.
7247 (build_objc_string_object, objc_add_static_instance)
7248 (init_def_list, init_objc_symtab, init_module_descriptor)
7249 (generate_static_references, build_selector_translation_table)
7250 (build_descriptor_table_initializer, generate_descriptor_table)
7251 (build_protocol_initializer, build_ivar_list_initializer)
7252 (generate_ivars_list, build_dispatch_table_initializer)
7253 (generate_dispatch_table, generate_protocol_list)
7254 (build_category_initializer, build_shared_structure_initializer):
7255 Update to match.
7256
7257 2003-04-12 Zack Weinberg <zack@codesourcery.com>
7258
7259 * intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
7260
7261 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
7262
7263 * config/m68hc11/m68hc11-protos.h
7264 (m68hc11_eq_compare_operator): Declare
7265 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
7266 * config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
7267 (d_register_operand): Check the operand mode.
7268 (hard_addr_reg_operand): Likewise.
7269
7270 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
7271
7272 * config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
7273 pattern for dbcc/ibcc generation for 68HC12.
7274 ("doloop_end"): New pattern.
7275 ("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
7276 ("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
7277 ("m68hc12_dbcc_dec_qi"): New pattern.
7278 ("m68hc12_dbcc_inc_qi"): New pattern.
7279 (split): Add split for the above when we can't use dbcc/ibcc due to
7280 reloading.
7281 (peephole2): Add peephole2 to generate the above when possible.
7282
7283 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
7284
7285 * config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
7286 mode of operand 0.
7287 (peephole2 optimize const load): Likewise for operand 2.
7288 ("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
7289 clobbers CC_REGNUM.
7290 ("*rotrhi3_with_carry"): Likewise.
7291 (ashift:DI 1 split): Update pattern to create the above rotate.
7292 (lshiftrt:DI 1 split): Likewise.
7293
7294 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
7295
7296 * config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
7297 ("tstqi_z_used" split): Use it.
7298 ("cmphi_z_used"): Likewise.
7299 ("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
7300 ("cmpqi_z_used"): Likewise.
7301
7302 2003-04-12 Mark Mitchell <mark@codesourcery.com>
7303
7304 PR c++/7910
7305 * config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
7306
7307 2003-04-12 Zack Weinberg <zack@codesourcery.com>
7308
7309 * configure.in: Check for wchar.h, mbstowcs, and wcswidth.
7310 * configure, config.in: Regenerate.
7311 * intl.c (gcc_gettext_width): New function.
7312 * intl.h: Prototype it.
7313
7314 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
7315
7316 * config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
7317 recognize -mnorelax.
7318 (reg_class): Add Z_OR_S_REGS to represent soft registers with Z
7319 (REG_CLASS_NAMES): Add its name.
7320 (REG_CLASS_CONTENTS): Define its content.
7321
7322 2003-04-12 Stephane Carrez <stcarrez@nerim.fr>
7323
7324 * config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
7325 parameters so that offsets are valid for far definition.
7326 (__mulsi3): Likewise and use ret to return.
7327 (___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
7328
7329 2003-04-12 David Edelsohn <edelsohn@gnu.org>
7330
7331 * config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
7332
7333 2003-04-12 Alexandre Oliva <aoliva@redhat.com>
7334
7335 * mklibgcc.in (libgcc-stage-start): For every multilib directory
7336 containing a libgcc.a, move lib* to the corresponding stage dir.
7337
7338 * Makefile.in (stage1-start, stage2-start, stage3-start,
7339 stage4-start): Move $(SPECS) to specs in stage dir.
7340 (unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
7341 back as $(SPECS).
7342
7343 * mklibgcc.in (libgcc-stage-start): Move into the stage directory
7344 object files from the non-libgcc/ multilib directories as well.
7345
7346 2003-04-11 Geoffrey Keating <geoffk@apple.com>
7347
7348 * profile.c (read_counts_file): Initialise 'checksum'.
7349
7350 * emit-rtl.c (gen_rtx): Really correct typo.
7351
7352 PR c++/9393
7353 * doc/invoke.texi (Debugging Options): Document -frandom-seed.
7354 * configure.in: Check for gettimeofday.
7355 * tree.c (flag_random_seed): Define.
7356 (default_flag_random_seed): New.
7357 (append_random_chars): Use flag_random_seed rather than trying
7358 to acquire randomness here.
7359 * tree.h (default_flag_random_seed): Declare.
7360 * toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
7361 descriptions.
7362 (decode_f_option): Handle -frandom-seed.
7363 (print_switch_values): Call default_flag_random_seed.
7364 * flags.h (flag_random_seed): Declare.
7365 * configure: Regenerate.
7366 * config.in: Regenerate.
7367 * config/alpha/t-crtfm: Use -frandom-seed.
7368
7369 * doc/extend.texi (Empty Structures): New.
7370
7371 * c-pch.c: Include flags.h. Add comments to routines.
7372 (struct c_pch_validity): New.
7373 (get_ident): Update PCH file version number.
7374 (pch_init): Output current debugging type.
7375 (c_common_valid_pch): Check debugging type.
7376 * Makefile.in (c-pch.o): Update dependencies.
7377 * flags.h (debug_type_names): Declare.
7378 * toplev.c (debug_type_names): Move out of decode_g_option.
7379
7380 2003-04-11 Eric Christopher <echristo@redhat.com>
7381
7382 * emit-rtl.c (gen_rtx): Fix typos.
7383
7384 2003-04-11 Richard Henderson <rth@redhat.com>
7385
7386 * emit-rtl.c (gen_rtx): Zero '0' fields.
7387
7388 2003-04-11 Richard Henderson <rth@redhat.com>
7389
7390 PR c++/10202
7391 * expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
7392 not COMPLETE_TYPE_P for re-invoking layout_decl.
7393
7394 2003-04-11 Simon Law <sfllaw@engmail.uwaterloo.ca>
7395
7396 * doc/bugreport.texi: Fix paragraph breaking between sections
7397 in preparation for TeXinfo's paragraph indentation fixes.
7398 * doc/extend.texi: Ditto.
7399 * doc/invoke.texi: Ditto.
7400 * doc/objc.texi: Ditto.
7401 * doc/gcov.texi: Wrap 'gcov' in @command{}.
7402 * doc/invoke.texi (Darwin Options): Add a preamble.
7403
7404 2003-04-11 Richard Henderson <rth@redhat.com>
7405
7406 * config/i386/i386.c (tls_model_chars): Remove.
7407 (ix86_encode_section_info, ix86_strip_name_encoding): Remove.
7408 (local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
7409 (tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
7410 (tls_symbolic_operand_1): Likewise.
7411 (legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
7412 * config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
7413 (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
7414 * config/i386/winnt.c (i386_pe_encode_section_info): Replace
7415 bits "copied from i386.h" with default_encode_section_info.
7416
7417 2003-04-11 Richard Henderson <rth@redhat.com>
7418
7419 * rtl.def (SYMBOL_REF): Add two 0 fields.
7420 * gengtype.c (adjust_field_rtx_def): Handle them.
7421 * print-rtl.c (print_rtx): Print them.
7422 * rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
7423 (SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
7424 (SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
7425 (SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
7426 (SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
7427 (SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
7428 (SYMBOL_FLAG_MACH_DEP): New.
7429 * optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
7430 * varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
7431 (assemble_static_space): Set SYMBOL_REF_FLAGS.
7432 (assemble_trampoline_template): Likewise.
7433 (output_constant_def, force_const_mem): Likewise.
7434 (default_encode_section_info): New.
7435 * output.h: Declare it.
7436 * target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
7437
7438 2003-04-11 Richard Henderson <rth@redhat.com>
7439
7440 * libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
7441 (setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
7442 * optabs.c (init_optabs): Initialize them.
7443 (init_libfuncs): Use init_one_libfunc.
7444 * calls.c (expand_call): Use gcov_flush_libfunc.
7445 * expr.c (store_constructor): Use setbits_libfunc.
7446 * function.c (expand_main_function): Use init_one_libfunc.
7447 * profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
7448
7449 2003-04-11 Mark Mitchell <mark@codesourcery.com>
7450
7451 * doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
7452 documentation; add DECL_FRIEND_CONTEXT.
7453
7454 2003-04-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7455
7456 * doc/install.texi (hppa): Update links for HP-UX patches. Revise
7457 notes on linker selection and configuration for 64-bit HP-UX port.
7458 * doc/invoke.texi (hppa): Remove hppa text from description for
7459 -ffunction-sections and -fdata-sections. Document -static, -nolibdld
7460 and -threads options.
7461
7462 * pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
7463 libc.a on libdld.sl when -static is specified and -nolibdld is not
7464 specified.
7465 * pa64-hpux.h (LIB_SPEC): Likewise.
7466 * pa-hpux11.h (LIB_SPEC): Likewise.
7467 (LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
7468 is not specified.
7469
7470 2003-04-11 Zack Weinberg <zack@codesourcery.com>
7471
7472 * config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
7473 not IDENTIFIER_LOCAL_VALUE.
7474
7475 2003-04-11 Richard Henderson <rth@redhat.com>
7476
7477 PR c/10201
7478 * expr.c (expand_expr): Move DECL_RTL frobbing ...
7479 * stor-layout.c (layout_decl): ... here.
7480
7481 2003-04-11 James A. Morrison <ja2morri@uwaterloo.ca>
7482
7483 * doc/invoke.texi: Eliminate extra white-space caused by
7484 @gccoptlist{ on its own line.
7485 * doc/invoke.texi: Ensured there are two spaces between each option.
7486 * doc/invoke.texi: Re-wrapped option lines that were too wide.
7487 Added @gol to options that didn't have them.
7488
7489 2003-04-11 Nathan Sidwell <nathan@codesourcery.com>
7490
7491 * Makefile.in (loop-init.o): Do not depend on gcov-io.h,
7492 gcov-iov.h.
7493
7494 Simplify interface to gcov reading and writing.
7495 * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
7496 gcov_alloc, gcov_modified, gcov_errored): Move into ...
7497 (struct gcov_var gcov_var): ... this static structure.
7498 (gcov_write_unsigned, gcov_write_counter, gcov_write_string):
7499 Return void.
7500 (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
7501 read object.
7502 (gcov_read_bytes, gcov_write_bytes): Set error flag on error.
7503 (gcov_reserve_length): Remove.
7504 (gcov_write_tag): New.
7505 (gcov_write_length): Adjust.
7506 (gcov_read_summary, gcov_write_summary): Adjust.
7507 (gcov_eof, gcov_ok): Rename to ...
7508 (gcov_is_eof, gcov_is_error): ... here. Return error code.
7509 (gcov_save_position, gcov_resync): Rename to ...
7510 (gcov_position, gcov_seek): ... here.
7511 (gcov_skip, gcov_skip_string): Remove.
7512 (gcov_error): Remove.
7513 (gcov_open, gcov_close): Adjust.
7514 * gcov.c (find_source): Take const char *, copy it on allocation.
7515 (read_graph_file): Adjust.
7516 (read_count_file): Adjust.
7517 * libgcov.c (gcov_exit): Adjust.
7518 * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
7519 tag_arc_counts, tag_summary): Return void. Adjust.
7520 (struct tag_format): Adjust proc member.
7521 (dump_file): Adjust gcov calls.
7522
7523 2003-04-11 Alexandre Oliva <aoliva@redhat.com>
7524
7525 * Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
7526 mkfixinc.sh.
7527 * fixinc/mkfixinc.sh (defs): Add LIBERTY.
7528 * configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
7529 build != host sysrooted builds.
7530 * configure.in (SYSTEM_HEADER_DIR): Make sure it contains
7531 TARGET_SYSTEM_ROOT even on sysrooted natives.
7532 * configure: Rebuilt.
7533
7534 2003-04-10 Zack Weinberg <zack@codesourcery.com>
7535
7536 * c-decl.c (struct binding_level): Add shadowed_tags and
7537 function_body; remove this_block, tag_transparent, and
7538 subblocks_tag_transparent; update comments.
7539 (clear_binding_level, lookup_tag_reverse): Kill.
7540 (make_binding_level): Use ggc_alloc_cleared or memset.
7541 (lookup_tag): Remove struct binding_level* parameter. All
7542 callers changed. Just look at IDENTIFIER_TAG_VALUE, and
7543 current_binding_level->tags if asked for thislevel_only or if
7544 we might have to diagnose "struct foo; union foo;"
7545 (pushlevel): Ignore argument. Do not push another binding
7546 level on the transition from the parameters to the top level
7547 of the function body; just tweak the flags and proceed.
7548 (poplevel): Overhaul. Clear IDENTIFIER_TAG_VALUEs; on exiting
7549 a function body, separate the parameter list from the
7550 top-level local variables.
7551 (set_block): Do nothing.
7552 (pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
7553 shadowed_tags if necessary.
7554 (warn_if_shadowing): Nuke the special case for local shadowing
7555 parameter.
7556 (pushdecl): Do not create a shadow entry if we are replacing
7557 an older decl in the same binding level.
7558 (pushdecl_function_level): Tweak for new way of indicating
7559 function scope.
7560 (shadow_tag_warned): Use TYPE_NAME, not lookup_tag_reverse.
7561 (start_function): Don't set subblocks_tag_transparent.
7562 (finish_function): Fix up the binding_level stack for totally
7563 empty functions. Otherwise, don't call poplevel.
7564
7565 * c-common.c (shadow_warning): MANDATORY argument is no longer
7566 necessary. Always use plain warning.
7567 * c-common.h: Update to match.
7568
7569 * cfglayout.c (scope_to_insns_initialize): Clear block when we
7570 hit the FUNCTION_DECL.
7571 * function.c: Do not create cyclic tree structure.
7572
7573 2003-04-10 Zack Weinberg <zack@codesourcery.com>
7574
7575 * c-tree.h (struct lang_identifier): Replace global_value,
7576 local_value members with symbol_value, tag_value. Kill
7577 implicit_decl and limbo_value.
7578 (IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
7579 IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
7580 C_MISSING_PROTOTYPE_WARNED): Kill.
7581 (IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
7582 C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
7583 (C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
7584 (implicit_decl_warning, lookup_name_current_level,
7585 record_function_scope_shadow): Don't prototype.
7586 (pushdecl_function_level): Prototype.
7587
7588 * c-decl.c (truly_local_externals): New variable.
7589 (struct binding_level): Adjust commentary.
7590 (get_function_binding_level, clear_limbo_values,
7591 record_function_scope_shadow): Kill.
7592 (lookup_name_current_level, implicit_decl_warning): Are now static.
7593 (any_external_decl, record_external_decl): New static functions.
7594 (clone_underlying type): Split out of pushdecl.
7595 (c_print_identifier): Update to match changes to struct
7596 lang_identifier.
7597 (poplevel): Delete #if 0 block. Make externals invisible
7598 instead of clearing their IDENTIFIER_SYMBOL_VALUEs. Don't
7599 call clear_limbo_values. Refer to IDENTIFIER_SYMBOL_VALUE not
7600 IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
7601 (duplicate-decls): For real parm decl after a forward decl,
7602 set TREE_ASM_WRITTEN here. Allow void foo(...) followed by
7603 foo(...) { } with only a warning. Say whether a previous
7604 declaration was implicit.
7605 (warn_if_shadowing): Now handles all shadowing, not just
7606 local-over-local. Clarify comments.
7607 (pushdecl): Rewritten. There is no longer a distinction
7608 between global and local symbol values; they're all
7609 IDENTIFIER_SYMBOL_VALUE. Call record_external_decl on all
7610 DECL_EXTERNAL decls, and use any_external_decl to check
7611 against previous externals. Kill #if 0 blocks. Don't
7612 tolerate error_mark_node being NULL.
7613 (pushdecl_top_level): Handle only those cases which
7614 Objective C (the only user) needs.
7615 (pushdecl_function_level): New function.
7616 (implicitly_declare): Create ordinary decls with
7617 C_DECL_IMPLICIT set. Recycle old decls, however they got
7618 created.
7619 (lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
7620 for C_DECL_INVISIBLE symbols.
7621 (lookup_name_current_level): Likewise. Use chain_member.
7622 (c_make_fname_decl): Don't muck with DECL_CONTEXT.
7623 Use pushdecl_function_level.
7624 (builtin_function): Use C_DECL_INVISIBLE.
7625 (start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
7626 Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
7627 (store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
7628 (identifier_global_value): Same. Must scan
7629 global_binding_level in extremis.
7630
7631 * c-typeck.c (undeclared_variable): New static function, split
7632 from build_external_ref.
7633 (build_external_ref): Use DECL_CONTEXT, not
7634 IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
7635 an instance variable. Restructure for clarity.
7636 * objc/objc-act.c: Use identifier_global_value, not
7637 IDENTIFIER_GLOBAL_VALUE.
7638
7639 2003-04-08 Jonathan Wakely <redi@gcc.gnu.org>
7640
7641 * doc/extend.texi (Template Instantiation): Refer to ISO standard,
7642 not Working Paper.
7643 * doc/invoke.texi (C++ Dialect Options): Same.
7644
7645 2003-04-10 Zack Weinberg <zack@codesourcery.com>
7646
7647 * tree.c (tree_operand_check_failed): New function.
7648 * tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
7649 TREE_RTL_OPERAND_CHECK): New checking macros.
7650 (TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
7651 RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
7652 CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
7653 EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
7654 EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
7655 TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
7656 checking macros.
7657
7658 Thu Apr 10 23:52:30 CEST 2003 Jan Hubicka <jh@suse.cz>
7659
7660 PR inline-asm/8803
7661 * function.c (instantate_virtual_regs): Verify that all ASM statements
7662 match after the virutal regs instantiation.
7663
7664 2003-04-10 Steve Ellcey <sje@cup.hp.com>
7665
7666 * ia64-protos.h (addp4_optimize_ok): New.
7667 * ia64.c (addp4_optimize_ok): New.
7668 * ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
7669 (*ptr_extend_plus_2): Ditto.
7670
7671 2003-04-10 Steve Ellcey <sje@cup.hp.com>
7672
7673 * expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
7674 not with convert_memory_address.
7675 (store_constructor): Ditto, and same for copy_size_rtx.
7676 (expand_expr): Ditto.
7677
7678 2003-04-10 Douglas B Rupp <rupp@gnat.com>
7679
7680 * config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
7681
7682 2003-04-10 Bob Wilson <bob.wilson@acm.org>
7683
7684 * config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
7685 even if it is configured to be write-through.
7686
7687 2003-04-10 Ulrich Weigand <uweigand@de.ibm.com>
7688
7689 * config/s390/s390.c (larl_operand): Do not allow symbols
7690 marked with '@'.
7691 (s390_encode_section_info): Mark symbols with forced 1-byte
7692 alignment with '@'.
7693 (s390_strip_name_encoding): Strip '@'.
7694 (legitimize_pic_address): Handle symbols that are not valid
7695 LARL operands in 64-bit mode.
7696
7697 2003-04-10 Andrew Haley <aph@redhat.com>
7698
7699 * tree-inline.c (inlinable_function_p): Disable inlining for
7700 synchronized methods.
7701
7702 2003-04-09 Steven Bosscher <steven@gcc.gnu.org>
7703
7704 * c-common.h (lang_statement_code_p): Remove declaration.
7705 (statement_code_p): Ditto.
7706 (c_common_stmt_codes): Define; list of c-common statement codes.
7707 (statement_code_p): New extern declaration.
7708 (STATEMENT_CODE_P): Define.
7709 (INIT_STATEMENT_CODES): Define.
7710 * c-common.c (statement_code_p): Kill the function, declare
7711 as an array of bools instead.
7712 (lang_statement_code_p): Remove.
7713 (walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
7714 (c_safe_from_p): Ditto.
7715 * c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
7716 to initialize the statement_code_p array.
7717 * tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
7718 statement_code_p.
7719 (copy_tree_r): Ditto.
7720 * cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
7721 statement tree codes.
7722 * cp/lex.c (cxx_init): Add missing print line break. Use
7723 INIT_STATEMENT_CODES to initialize the statement_code_p array.
7724 * cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
7725 instead of statement_code_p.
7726 * cp/pt.c (tsubst_expr): Ditto.
7727 * cp/tree.c (verify_stmt_tree_r): Ditto.
7728 (cp_statement_code_p): Remove.
7729 (init_tree): Don't set lang_statement_code_p, it's gone.
7730
7731 2003-04-09 Dan Nicolaescu <dann@ics.uci.edu>
7732 Zack Weinberg <zack@codesourcery.com>
7733
7734 * regrename.c (struct du_chain): Use a bitfield for reg_class.
7735 * cse.c (struct qty_table_elem, struct table_elt, struct set):
7736 Use bitfields for fields holding enum rtx_code or
7737 enum machine_mode values. Add comments explaining size choices.
7738
7739 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
7740
7741 * config/fp-bit.c (unpack_d): Handle pair of doubles with
7742 different signs correctly.
7743
7744 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
7745
7746 * sched-deps.c (reg_pending_barrier_mode): New enumeration.
7747 (reg_pending_barrier): Make it of the enumeration type.
7748 (sched_analyze_2): Define the barrier as MOVE_BARRIER or
7749 TRUE_BARRIER.
7750 (sched_analyze): Ditto.
7751 (sched_analyze_insn): Ditto. Use anti-dependencies for
7752 MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
7753 (init_deps_global): Initialize the barrier as NO_BARRIER.
7754
7755 2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
7756
7757 * config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
7758 Check that asm insn starts on a new cycle. Add nops after asm
7759 insn to end bundle.
7760 (bundling): Move insn type evaluation from the loop. Call
7761 issue_nops_and_insn with the new parameter. Ignore changing
7762 position for nops after asm insn.
7763
7764 2003-04-09 Alexandre Oliva <aoliva@redhat.com>
7765
7766 * optabs.c: Comment that gen_add2_insn and others may actually
7767 return emitted insns, if the gen functions turn out to return
7768 emitted insns.
7769 * reload1.c (reload_cse_move2add): Cope with emitted insns from
7770 gen_add2_insn.
7771
7772 2003-04-09 Richard Henderson <rth@redhat.com>
7773
7774 * config/ia64/ia64.c (move_operand): Allow symbolic_operand,
7775 but not tls_symbolic_operand.
7776 (ia64_expand_load_address): Remove scratch operand.
7777 (ia64_expand_tls_address): Split out from ia64_expand_move.
7778 (ia64_expand_move): Split symbolics only after reload.
7779 (ia64_emit_cond_move): New.
7780 * config/ia64/ia64-protos.h: Update.
7781 * config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
7782 (symbolic splitter): Accept SImode operands too.
7783 (cmove splitter): Use ia64_emit_cond_move.
7784
7785 2003-04-09 Nick Clifton <nickc@redhat.com>
7786
7787 * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
7788 newer.
7789 * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
7790 instead of -mno-fpu.
7791 * config/arm/semi.h (ASM_SPEC): Likewise.
7792 * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
7793 but only if -msoft-float is specified pass. Otherwise pass
7794 -mfpu=softvfp.
7795
7796 2003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7797
7798 * function.c (purge_addressof): Use free_INSN_LIST_node instead of
7799 free_EXPR_LIST_node.
7800
7801 2003-04-08 Roger Sayle <roger@eyesopen.com>
7802
7803 * fold-const.c (fold): Use "fold" following build in more places.
7804 Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
7805 pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
7806
7807 2003-04-08 Roger Sayle <roger@eyesopen.com>
7808
7809 * builtins.c (fold_builtin): Constant fold expressions as x*0.5
7810 instead of x/2.0. Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
7811 log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
7812 pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
7813 Delete function scope "fcode" variable to avoid shadowing.
7814
7815 2003-04-08 Kevin Buettner <kevinb@redhat.com>
7816
7817 * dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
7818 Take into account DWARF_INITIAL_LENGTH_SIZE.
7819
7820 2003-04-08 Hans-Peter Nilsson <hp@axis.com>
7821
7822 * reorg.c (fill_slots_from_thread): When considering changing the
7823 insn following a reg-to-reg copy insn to use the source reg of the
7824 copy, bail out if there's overlap between the registers.
7825
7826 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7827
7828 * function.c (postponed_insns): New.
7829 (purge_addressof_1): Postpone processing of insns if addressofs
7830 are not put into stack.
7831 (purge_addressof): Process postponed insns.
7832
7833 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
7834
7835 * sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
7836 this is FP_MODE_DOUBLE .
7837 * sh.c (ra.h): #include.
7838 (push_regs): Add second parameter. Changed all callers.
7839 If necessary, set fpscr before saving floating point registers.
7840 (calc_live_regs): If interrupt handler and TARGET_FMOVD, always
7841 do saves / restores with SZ == 1.
7842 (sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
7843 (sh_expand_epilogue): Likewise. For TARGET_FMOVD, if floating point
7844 registers are being restored, restore FPSCR only after restoring them.
7845
7846 2003-04-08 Aldy Hernandez <aldyh@redhat.com>
7847
7848 * config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
7849 regardless of architecture.
7850 (spe_init_builtins): Change V2SI and V2SF types to opaque types.
7851
7852 2003-04-08 J"orn Rennecke <joern.rennecke@superh.com>
7853
7854 * sh.c (push_regs, calc_live_regs): Return int. Take single
7855 HARD_REG_SET * parameter. Changed all callers.
7856
7857 Tue Apr 8 11:12:07 CEST 2003 Jan Hubicka <jh@suse.cz>
7858
7859 * i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
7860 GOTOFF operand.
7861 (legitimize_pic_address): Move plus outside the unspec.
7862 * i386.c (legitimate_constant_p): Check (CONST (PLUS (UNSPEC ...
7863 for validity.
7864
7865 2003-04-08 Nathan Sidwell <nathan@codesourcery.com>
7866
7867 * gcov-io.h (gcov_save_position): Remove __inline__ from
7868 declaration.
7869
7870 2003-04-07 Matt Kraai <kraai@alumni.cmu.edu>
7871
7872 * doc/install.texi: Use @command and @samp for single- and
7873 multi-word commands respectively.
7874 * doc/makefile.texi: Likewise.
7875 * doc/sourcebuild.texi: Likewise.
7876
7877 2003-04-07 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
7878 Richard Henderson <rth@redhat.com>
7879
7880 PR c/9516
7881 * expr.c (safe_from_p): Rearrange to avoid deep recursion in
7882 favour of looping and tail recursion for TREE_LIST and binops.
7883
7884 2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7885
7886 * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
7887 for insns without luid.
7888
7889 2003-04-07 Glen Nakamura <glen@imodulo.com>
7890
7891 PR opt/8634
7892 * explow.c (maybe_set_unchanging): Don't flag non-static const
7893 aggregate type initializers with RTX_UNCHANGING_P.
7894
7895 2003-04-07 Richard Henderson <rth@redhat.com>
7896
7897 PR opt/8634
7898 * function.c (purge_addressof_1): Don't try arithmetics for
7899 unchanging memories.
7900
7901 2003-04-07 Janis Johnson <janis187@us.ibm.com>
7902
7903 * doc/sourcebuild.texi (Test Suites): Document testing support for
7904 gcov and profile-directed optimizations; describe gcc.misc-tests.
7905
7906 Mon Apr 7 22:19:59 CEST 2003 Jan Hubicka <jh@suse.cz>
7907
7908 PR target/10077
7909 * i386.md (movsi_1, movsi_nointerunit_1): Fix SSEMOV alternative.
7910
7911 2003-04-07 Eric Botcazou <ebotcazou@libertysurf.fr>
7912
7913 * doc/rtl.texi (Comparison operations): Update to
7914 record the allowed comparison modes.
7915
7916 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
7917
7918 * config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
7919 V2SI_type_node to opaque_V2SI_type_node. Rename all
7920 V2SF_type_node to opaque_V2SF_type_node.
7921 (rs6000_init_builtins): Define opaque_V2SI_type_node and
7922 opaque_V2SF_type_node.
7923 (is_ev64_opaque_type): The types opaque_V2SI_type_node and
7924 opaque_V2SF_type_node are opaque types.
7925
7926 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
7927
7928 * gcse.c (replace_store_insn): Use single_set.
7929
7930 2003-04-07 Nathan Sidwell <nathan@codesourcery.com>
7931
7932 Change gcov file interface to single file at a time.
7933 * gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
7934 Convert to C89 prototypes.
7935 (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
7936 gcov_error, gcov_modified): New static variables.
7937 (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
7938 functions.
7939 (gcov_write_unsigned, gcov_write_counter, gcov_write_string,
7940 gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
7941 (gcov_read_summary, gcov_write_summary): Adjust.
7942 (gcov_save_position, gcov_reserve_length, gcov_write_length):
7943 Adjust.
7944 (gcov_resync, gcov_skip, gcov_skip_string): Adjust.
7945 (da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
7946 (da_file_position, da_file_seek, da_file_write, da_file_read):
7947 Remove.
7948 (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
7949 * gcov.c (gcov_type): Don't typedef here.
7950 (IN_GCOV): #define
7951 (read_graph_file, read_count_file): Adjust.
7952 * gcov-dump.c (gcov_type): Don't typedef here.
7953 (IN_GCOV): #define.
7954 (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
7955 Remove FILE parameter, adjust.
7956 (struct tag_format): Adjust proc member.
7957 (dump_file): Adjust.
7958 * libgcov.c (IN_LIBGCOV): #define.
7959 (gcov_exit): Adjust.
7960 * loop-init.c: Don't #include gcov-io.h
7961 * profile.c (struct counts_entry): New structure to hold counter
7962 values.
7963 (struct section_reference, struct da_index_entry): Remove.
7964 (bbg_file, da_file): Remove.
7965 (htab_counts_index_hash, htab_counts_index_eq,
7966 htab_counts_index_del): Replace with ...
7967 (htab_counts_entry_hash, htab_counts_entry_eq,
7968 htab_counts_entry_del): ... these.
7969 (cleanup_counts_index, index_counts_file): Remove.
7970 (read_counts_file): New function.
7971 (get_exec_counts): Adjust.
7972 (compute_branch_probabilities): Don't free the exec counts here.
7973 (branch_prob): Adjust.
7974 (init_branch_prob): Adjust.
7975 (end_branch_prob): Adjust.
7976
7977 2003-04-07 Aldy Hernandez <aldyh@redhat.com>
7978
7979 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
7980 -mfloat-gprs.
7981
7982 * config/rs6000/rs6000.c: Delete rs6000_fprs.
7983 Declare rs6000_float_gprs.
7984 Declare rs6000_float_gprs_string.
7985 (rs6000_parse_float_gprs_option): New.
7986 (rs6000_override_options): Genericize rs6000_parse_* calls to use
7987 rs6000_parse_yes_no_option.
7988 Change check for cpu=8540, to use TARGET_E500.
7989 (rs6000_parse_isel_option): Delete.
7990 (rs6000_parse_spe_option): Delete.
7991 (rs6000_parse_vrsave_option): Delete.
7992
7993 * config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
7994 Define rs6000_float_gprs_string.
7995 (TARGET_OPTIONS): Add rs6000_float_gprs option.
7996
7997 * config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
7998
7999 * config/rs6000/eabispe.h: Set rs6000_float_gprs.
8000
8001 Mon Apr 7 14:36:24 CEST 2003 Jan Hubicka <jh@suse.cz>
8002
8003 PR opt/10024
8004 * cfglayout.c (cfg_layout_redirect_edge):
8005 Redirect any branch edges unified with the fallthru one.
8006 * cfgrtl.c (force_nonfallthru_and_redirect): Do not special
8007 case fallthru edges when called via cfglayout.c
8008
8009 2003-04-07 J"orn Rennecke <joern.rennecke@superh.com>
8010
8011 * c-typeck.c (output_init_element): Check for type == error_mark_node.
8012
8013 2003-04-07 Kazu Hirata <kazu@cs.umass.edu>
8014
8015 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
8016 split.
8017 (a splitter): Do zero-extension via HImode.
8018
8019 2003-04-07 James A. Morrison <ja2morri@uwaterloo.ca>
8020
8021 * doc/invoke.texi: Eliminate extra white-space caused by
8022 @gccoptlist{ on its own line.
8023 * doc/invoke.texi: Ensured there are two spaces between each option.
8024 * doc/invoke.texi: Re-wrapped option lines that were too wide.
8025 Added @gol to options that didn't have them.
8026
8027 2003-04-07 James A Morrison <ja2morri@student.math.uwaterloo.ca>
8028
8029 * doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
8030
8031 2003-04-06 Zack Weinberg <zack@codesourcery.com>
8032
8033 * tree.c (tree_size): For all 'c' and 'x' nodes, look directly
8034 at the sizes of the relevant structures, rather than relying
8035 on TREE_CODE_LENGTH. Call lang_hooks.tree_size to get the
8036 sizes of any such we don't know about. Use
8037 lang_hooks.identifier_size for IDENTIFIER_NODE.
8038
8039 (initializer_zerop): Use CONSTRUCTOR_ELTS.
8040 * tree.def: Update commentary. Make fourth element of
8041 the definition for all 'c' and 'x' nodes zero.
8042
8043 * langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
8044 * langhooks-def.h: Update to match.
8045 * langhooks.c: New default, lhd_tree_size.
8046
8047 * c-common.def (SRCLOC): Kill.
8048 * c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
8049 Remove entirely - was already #if-ed out.
8050
8051
8052 2003-04-06 Zack Weinberg <zack@codesourcery.com>
8053
8054 * mklibgcc.in: Use a here document to avoid running afoul of
8055 shells that generate control-A from "echo \1".
8056
8057 2003-04-06 Aldy Hernandez <aldyh@redhat.com>
8058
8059 * doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
8060 option.
8061
8062 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
8063 rs6000_spe.
8064
8065 * config/rs6000/eabi.h (TARGET_E500): Define.
8066
8067 * config/rs6000/rs6000.h (TARGET_E500): Define.
8068 (TARGET_OPTIONS): Add spe= option.
8069 Declare rs6000_spe and rs6000_spe_string extern.
8070
8071 * config/rs6000/rs6000.c (branch_positive_comparison_operator):
8072 Change TARGET_SPE to TARGET_E500.
8073 (ccr_bit): Change TARGET_SPE to TARGET_E500. Check for
8074 !TARGET_FPRS.
8075 (print_operand): Same.
8076 (rs6000_generate_compare): Same.
8077 (output_cbranch): Same.
8078 (rs6000_spe): Declare.
8079 (rs6000_spe_string): Declare.
8080 (rs6000_override_options): Call rs6000_parse_spe_option.
8081 (rs6000_parse_spe_option): New.
8082
8083 2003-04-06 Steven Bosscher <steven@gcc.gnu.org>
8084
8085 * hashtable.c (gcc_obstack_init): Delete this function
8086 and everything related to it.
8087 * hashtable.h: Remove prototype.
8088 * bitmap.c (bitmap_element_allocate): Cleanup redundant
8089 defines. Cleanup some unnecessary whitespace.
8090 * defaults.h (obstack_chunk_alloc): Redefine with
8091 appropriate casts for libiberty obstacks.
8092 (obstack_chunk_free): Ditto.
8093 (OBSTACK_CHUNK_SIZE): Define, default to 0.
8094 (gcc_obstack_init): Define as a call to _obstack_begin.
8095 * tree.c (print_obstack_statistics): Delete this unused
8096 function.
8097 * tree.h (obstack): Don't forward-declare.
8098 (print_obstack_statistics): Delete prototype.
8099 (print_obstack_name): Ditto.
8100 (gcc_obstack_init): Ditto.
8101 * rtl.h (gcc_obstack_init): Ditto.
8102 * java/jv-scan.c (gcc_obstack_init): Delete this
8103 function, its prototype and related defines.
8104 * java/jvgenmain.c (gcc_obstack_init): Delete this
8105 function, and related defines.
8106 * java/parse-scan.y (obstack_chunk_alloc): Don't define.
8107 (obstack_chunk_free): Ditto
8108
8109 2003-04-06 Geoffrey Keating <geoffk@apple.com>
8110
8111 * dbxout.c (dbxout_handle_pch): Move prototype out from
8112 #if defined DBX_DEBUGGING_INFO.
8113
8114 2003-04-05 Nathan Sidwell <nathan@codesourcery.com>
8115
8116 * gcov.c (struct arc_info): Replace local_span with cycle.
8117 (struct block_info): Replace u.span with u.cycle. Add is_call_return.
8118 (solve_flow_graph): Set is_call_return.
8119 (add_line_counts): Adjust. In block mode, blocks attach to last line.
8120 (accumulate_line_counts): Find graph cycles, not spanning tree.
8121 (output_branch_count): Adjust.
8122 (output_lines): Adjust.
8123 * doc/gcov.texi: Update.
8124
8125 2003-04-06 Kazu Hirata <kazu@cs.umass.edu>
8126
8127 * config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
8128 the second alternative to "#".
8129
8130 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
8131
8132 * config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
8133 (single_zero_operand): Likewise.
8134
8135 2003-04-05 Daniel Berlin <dberlin@dberlin.org>
8136
8137 * Makefile.in (df.o): Depend on alloc-pool.h, not obstack.h.
8138 * df.c: Include alloc-pool.h, not obstack.h.
8139 (df_ref_obstack): Remove.
8140 (df_ref_pool, df_link_pool): Add pools.
8141 (df_alloc): Init the new pools.
8142 (df_free): And free them.
8143 (df_link_create): Use the pools.
8144 (df_ref_create): Ditto.
8145
8146 2003-04-05 Kazu Hirata <kazu@cs.umass.edu>
8147
8148 * simplify-rtx.c: Fix formatting.
8149
8150 2003-04-05 Andrew Pinski <apinski@apple.com>
8151
8152 * config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
8153 reg with reg1 == reg2 and offset1 = -8.
8154
8155 2003-04-05 David Edelsohn <edelsohn@gnu.org>
8156
8157 * config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
8158 multiply costs. Correct Power4 divide costs.
8159 * config/rs6000/power4.md: Restore multiply and FP latency.
8160
8161 2003-04-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8162
8163 * alias.c (find_base_term): Export.
8164 * rtl.h (find_base_term): Declare.
8165 * gcse.c (find_moveable_store): Test for flag_non_call_exceptions
8166 instead of flag_exceptions. Move test for parameter passing ...
8167 (store_killed_in_insn): ... here.
8168
8169 2003-04-05 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8170
8171 PR bootstrap/10267
8172 * doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
8173 for configuring.
8174
8175 2003-04-04 Geoffrey Keating <geoffk@apple.com>
8176
8177 * dbxout.c (scope_labelno): Add GTY.
8178 (have_used_extensions): Add GTY.
8179 (source_label_number): Add GTY.
8180 (lastfile): Add GTY.
8181 (lastfile_is_base): New.
8182 (base_input_file): New.
8183 (dbxout_handle_pch): New.
8184 (dbx_debug_hooks): Add handle_pch.
8185 (xcoff_debug_hooks): Likewise.
8186 (dbxout_function_end): Remove scope_labelno.
8187 (dbxout_init): Set base_input_file.
8188 (dbxout_handle_pch): New.
8189 (dbxout_source_file): Honour lastfile_is_base.
8190 * dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
8191 * sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
8192 * vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
8193 * dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
8194 * debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
8195 * debug.h (struct gcc_debug_hooks): Add handle_pch.
8196 * c-pch.c (pch_init): Don't call start_source_file, but do call
8197 handle_pch.
8198 (c_common_write_pch): Call handle_pch.
8199 (c_common_read_pch): Don't call start_source_file,
8200 or end_source_file.
8201
8202 Fri Apr 4 17:43:52 2003 Olivier Hainque <hainque@act-europe.fr>
8203
8204 * emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
8205 use of default attributes to agree MEM_ALIGN macro.
8206
8207 Fri Apr 4 17:33:24 2003 Joel Brobecker <brobecker@gnat.com>
8208
8209 * dbxout.c (dbxout_type): When printing type index of range type
8210 whose bounds are printed in octal format, print type of parent type if
8211 it exists so enumerated type descriptions are not transformed
8212 into unsigned types.
8213
8214 2003-04-04 Kazu Hirata <kazu@cs.umass.edu>
8215
8216 * config/h8300/h8300-protos.h: Add a prototype for
8217 compute_a_shift_cc.
8218 * config/h8300/h8300.c (shift_one): Update the CC status.
8219 (shift_two): Likewise.
8220 (output_a_shift_cc): Set cc_inline and cc_special.
8221 (compute_a_shift_cc): New.
8222 * config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
8223
8224 2003-04-04 Richard Henderson <rth@redhat.com>
8225
8226 * cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
8227
8228 2003-04-04 Loren James Rittle <ljrittle@acm.org>
8229
8230 * fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
8231 * fixinc/fixincl.x: Rebuilt.
8232 * fixinc/tests/base/stdio.h: Regenerated.
8233
8234 2003-04-04 Nathan Sidwell <nathan@codesourcery.com>
8235
8236 * gcov.c (accumulate_line_counts): Fix span tree merge bug.
8237
8238 Fri Apr 4 15:58:52 2003 J"orn Rennecke <joern.rennecke@superh.com>
8239
8240 * sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
8241 (NORMAL_MODE).
8242 * sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
8243
8244 2003-04-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8245
8246 * doc/contrib.texi (Contributors): Add entries for Wolfgang
8247 Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
8248 Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
8249 Danny Smith, and Ulrich Weigand.
8250 Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
8251 entry.
8252
8253 2003-04-04 Nick Clifton <nickc@redhat.com>
8254
8255 * config/sparc/sol2-bi.h: Revert previous delta.
8256 * config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
8257
8258 2003-04-04 Nick Clifton <nickc@redhat.com>
8259
8260 * config/v850/v850.c (expand_prologue): Only use register save
8261 helper functions if long calls are not being used.
8262 Add a clobber of r11 id using long calls.
8263 (pattern_is_ok_for_prologue): Account for the extra clobber.
8264 (construct_save_jarl): Likewise.
8265 * config/v850/v850.md (prolog pattern): Do not use this pattern
8266 for v850e's.
8267
8268 2003-04-04 Andreas Schwab <schwab@suse.de>
8269
8270 * stor-layout.c (layout_decl): Avoid syntax error in last change
8271 when PCC_BITFIELD_TYPE_MATTERS is defined but not
8272 EMPTY_FIELD_BOUNDARY.
8273
8274 2003-04-03 Jason Merrill <jason@redhat.com>
8275
8276 PR c/10175
8277 * jump.c (never_reached_warning): Revert patch of 2002-11-02.
8278 Look backwards for a line note.
8279
8280 2003-04-03 Neil Booth <neil@daikokuya.co.uk>
8281
8282 * fix-header.c (read_scan_file): Defer switch processing.
8283
8284 2003-04-03 Matt Austern <austern@apple.com>
8285
8286 * cpppch.c (reset_ht): Remove.
8287 (cpp_read_state): Remove loop to reset hashtable identifiers.
8288 * ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
8289 after pch file is written.
8290 * ggc.h (gt_pch_fixup_stringpool): Declare.
8291 * stringpool.c (ht_copy_and_clear): Define. Callback. Copy
8292 hashnode's value to another hashtable, then clear the original.
8293 (saved_ident_hash): Define.
8294 (gt_pch_save_stringpool): Create saved_ident_hash, use it to
8295 store definitions in ident_hash, and clear ident_hash.
8296 (gt_pch_fixup_stringpool): Define. Restore definitions from
8297 saved_ident_hash to ident_hash, then destroy saved_ident_hash.
8298
8299 Thu Apr 3 22:27:40 CEST 2003 Jan Hubicka <jh@suse.cz>
8300
8301 * cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
8302
8303 2003-04-03 Eric Botcazou <ebotcazou@libertysurf.fr>
8304
8305 PR optimization/10157
8306 * gcse.c (can_copy_p): Rename it to can_copy.
8307 (can_copy_init_p): Remove.
8308 (compute_can_copy): Use can_copy instead of can_copy_p.
8309 (can_copy_p): New exported function. Call compute_can_copy.
8310 (hash_scan_set): Use it.
8311 (gcse_main): Don't call compute_can_copy.
8312 (bypass_jumps): Don't call compute_can_copy.
8313 * rtl.h (can_copy_p): Declare.
8314 * loop.c (scan_loop): Don't move the source and add a reg-to-reg
8315 copy if the mode doesn't support copy operations.
8316
8317 2003-04-03 Jason Merrill <jason@redhat.com>
8318
8319 * Makefile.in (unstrap): Also remove stage_last.
8320
8321 * dwarf2out.c (lookup_filename): Don't check for "<internal>".
8322 (dwarf2out_source_line): Don't do anything if line==0.
8323
8324 * stor-layout.c (do_type_align): New fn, split out from...
8325 (layout_decl): ...here. Do all alignment calculations for
8326 FIELD_DECLs here.
8327 (update_alignment_for_field): Not here.
8328 (start_record_layout, debug_rli): Remove unpadded_align.
8329 * tree.h (struct record_layout_info_s): Remove unpadded_align.
8330 * c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
8331 or DECL_MODE on the CONST_DECLs.
8332 (finish_struct): Don't mess with DECL_ALIGN.
8333
8334 Thu Apr 3 18:57:19 CEST 2003 Jan Hubicka <jh@suse.cz>
8335
8336 * i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
8337
8338 Thu Apr 3 17:08:09 2003 J"orn Rennecke <joern.rennecke@superh.com>
8339
8340 * sh.c (sh_function_ok_for_sibcall): Return 0 if the current
8341 function is an interrupt handler.
8342
8343 * sh.c (sh_expand_epilogue): Avoid clash of temp register for
8344 restoring target registers with EH_RETURN_STACKADJ_RTX; use
8345 multiple registers in round-robin fashion.
8346
8347 2003-04-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8348
8349 * gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
8350 * system.h (CHAR_BITFIELD): New.
8351
8352 2003-04-03 Kazu Hirata <kazu@cs.umass.edu>
8353
8354 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
8355 and LE.
8356 (another peephole2): Likewise.
8357
8358 2003-04-03 Nick Clifton <nickc@redhat.com>
8359
8360 * config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
8361 (DEF_ARCH64_SPEC): Likewise.
8362
8363 Thu Apr 3 09:53:40 CEST 2003 Jan Hubicka <jh@suse.cz>
8364
8365 * i386.c (constant_address_p): Use legitimate_constant_p.
8366 (legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
8367
8368 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
8369
8370 * config/h8300/h8300-protos.h: Add a prototype for
8371 gtle_operator.
8372 * config/h8300/h8300.c (gtle_operator): New.
8373 * config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
8374 gtle_operator.
8375 * config/h8300/h8300.md (a peephole2): Generalize to accept GT
8376 and LE.
8377
8378 2003-04-02 Richard Henderson <rth@redhat.com>
8379
8380 * libgcc-std.ver (_Unwind_GetCFA): New.
8381 * unwind-dw2.c (_Unwind_GetCFA): New.
8382 * unwind-libunwind.c (_Unwind_GetCFA): New.
8383 * unwind-sjlj.c (_Unwind_GetCFA): New.
8384 * unwind.h: Declare it.
8385
8386 Thu Apr 3 00:31:21 CEST 2003 Jan Hubicka <jh@suse.cz>
8387
8388 PR inline-asm/8088
8389 * i386.c (ix86_hard_regno_mode_ok): Return 0 for MMX/SSE registers
8390 when MMX/SSE is not available.
8391
8392 2003-04-02 Mike Stump <mrs@apple.com>
8393
8394 * doc/install.texi (Specific): Update pointers to apple.com.
8395
8396 Thu Apr 3 00:18:49 CEST 2003 Jan Hubicka <jh@suse.cz>
8397
8398 * i386.c (override_options): Disable red zone by default on i386.
8399 (compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
8400 Do not test TARGET_64BIT together with TARGET_RED_ZONE
8401
8402 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
8403
8404 * config/h8300/h8300.md (a peephole2): Tighten the condition.
8405
8406 2003-04-02 Richard Henderson <rth@redhat.com>
8407
8408 * longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
8409
8410 2003-04-02 Kazu Hirata <kazu@cs.umass.edu>
8411
8412 * config/h8300/h8300.md (a peephole2): New.
8413
8414 2003-04-02 Richard Henderson <rth@redhat.com>
8415
8416 * except.c (sjlj_find_directly_reachable_regions): Recognize when
8417 must-not-throw region has been deleted.
8418
8419 2003-04-02 Richard Henderson <rth@redhat.com>
8420
8421 * dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
8422 optimization when flag_exceptions not enabled.
8423
8424 2003-04-02 Vladimir Makarov <vmakarov@redhat.com>
8425
8426 * config/rs6000/rs6000.c
8427 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
8428 macros.
8429 (rs6000_issue_rate): Add case for 8540.
8430 (rs6000_use_sched_lookahead): New function.
8431
8432 * config/rs6000/8540.md: Rename SIU units into SU ones and MIU
8433 units into MU ones.
8434 (ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
8435 reservation before retirement.
8436 (ppc8540_multiply, ppc8540_load, ppc8540_store,
8437 ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
8438 Remove additional cycle in the reservation before retirement.
8439 (ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
8440 reservation of ppc8540_issue.
8441
8442 2003-04-02 Andreas Schwab <schwab@suse.de>
8443
8444 * real.c (decode_ieee_single): Fix decoding of SNaN bit.
8445
8446 2003-04-01 Richard Henderson <rth@redhat.com>
8447
8448 * except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
8449 notes for nothrow calls if flag_forced_unwind_exceptions.
8450 (build_post_landing_pads): Mind flag_forced_unwind_exceptions.
8451 (sjlj_find_directly_reachable_regions): Likewise.
8452 (reachable_handlers): Likewise.
8453 (can_throw_external): Likewise.
8454 (collect_one_action_chain): Record cleanups after catch-all and
8455 must-not-throw if flag_forced_unwind_exceptions.
8456 * flags.h (flag_forced_unwind_exceptions): Declare.
8457 * toplev.c (flag_forced_unwind_exceptions): New.
8458 (lang_independent_options): Add it.
8459 * doc/invoke.text: Add it.
8460
8461 2003-04-01 David Mosberger <davidm@hpl.hp.com>
8462
8463 * config/ia64/crti.asm: Clean up trailing whitespace.
8464 Remove trailing hashes (#) from identifiers.
8465
8466 * config/ia64/crtn.asm: Ditto.
8467
8468 * config/ia64/crtend.asm: Remove trailing hashes (#) from
8469 identifiers.
8470 (__do_global_ctors_aux): Align to 32-byte boundary. Add unwind
8471 directives. Drop explicit bundling---it just makes the code
8472 harder to read. Don't save/restore gp needlessly.
8473
8474 * config/ia64/crtbegin.asm: Remove trailing hashes (#) from
8475 identifiers (they're only needed if the identifier would clash
8476 with a register name otherwise).
8477 (__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
8478 directives. Drop explicit bundling---it just makes the code
8479 harder to read.
8480 (__do_jv_register_classes): Ditto.
8481 (.fini_array): Remove "progbits" (newer
8482 assemblers don't like wrong section-types).
8483 (.init_array): Ditto.
8484
8485 2003-04-01 Roger Sayle <roger@eyesopen.com>
8486
8487 PR fortran/9974
8488 * gcse.c (reg_killed_on_edge): New function to test whether the
8489 given reg is overwritten by any instruction queued on an edge.
8490 (bypass_block): Ignore substitutions killed on incoming edges.
8491 Don't bypass outgoing edges that have queued instructions.
8492
8493 2003-04-01 Alexandre Oliva <aoliva@redhat.com>
8494
8495 * real.h (EXP_BITS): Make room for...
8496 (struct real_value): ... added canonical bit.
8497 (struct real_format): Added pnan.
8498 (mips_single_format, mips_double_format, mips_extended_format,
8499 mips_quad_format): New.
8500 * real.c: Copy p to pnan in all formats.
8501 (get_canonical_qnan, get_canonical_snan): Set canonical bit.
8502 (real_nan): Use pnan to compute significand's shift.
8503 (real_identical): Disregard significand in canonical
8504 NaNs.
8505 (real_hash): Likewise. Take signalling into account.
8506 (encode_ieee_single, encode_ieee_double, encode_ieee_quad):
8507 Disregard significand bits in canonical NaNs. Set all bits of
8508 canonical NaN if !qnan_msb_set.
8509 (encode_ibm_extended, decode_ibm_extended): Likewise. Use
8510 qnan_msb_set to tell the base double format.
8511 (ibm_extended_format): Use 53 as pnan.
8512 (mips_single_format, mips_double_format, mips_extended_format,
8513 mips_quad_format): Copied from the corresponding ieee/ibm
8514 formats, with qnan_msb_set false.
8515 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
8516 * config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
8517 * config/mips/mips.c (override_options): Use mips_single_format
8518 and mips_double_format. Default TFmode to mips_quad_format.
8519 * config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
8520 * config/mips/t-irix6: Likewise.
8521 * config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
8522 * config/fp-bit.c (pack_d, unpack_d): Obey it.
8523
8524 2003-04-01 Geoffrey Keating <geoffk@apple.com>
8525
8526 * unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
8527 (live_image_destructor): Reset image to initial state.
8528 (examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
8529
8530 2003-04-01 Eric Botcazou <ebotcazou@libertysurf.fr>
8531
8532 * config/sparc/sparc.c (input_operand): Accept bare
8533 CONSTANT_P_RTX operands.
8534
8535 2003-04-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
8536
8537 * gcse.c (struct ls_expr): Added pattern_regs field.
8538 (ldst_entry): Initialize it.
8539 (extract_mentioned_regs, extract_mentioned_regs_helper): New.
8540 (store_ops_ok): Use regs precomputed by them.
8541 (find_loads, store_killed_in_insn, load_kills_store): Change return
8542 type to bool.
8543 (store_killed_before, store_killed_after): Take position of register
8544 set in account.
8545 (reg_set_info): Store position of the setter.
8546 (gcse_main): Enable store motion.
8547 (mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
8548 (pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
8549 sharing.
8550 (simple_mem): Enable store motion of non-symbol mems.
8551 (regvec): Type changed.
8552 (LAST_AVAIL_CHECK_FAILURE): New.
8553 (compute_store_table_current_insn): New.
8554 (build_store_vectors): Computation of availability and anticipatability
8555 moved ...
8556 (compute_store_table, find_moveable_store): ... here.
8557 (delete_store): Remove senseless comment.
8558 (store_motion): Reorganize.
8559
8560 2003-04-01 Kevin Buettner <kevinb@redhat.com>
8561
8562 * config/mips/mips.c (override_options): Provide mappings for
8563 HI_REGNUM and LO_REGNUM.
8564 * config/mips/mips.h (MD_DBX_FIRST): Define.
8565
8566 2003-04-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
8567
8568 * combine.c (merge_outer_ops): Fix typo.
8569
8570 * varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
8571
8572 2003-04-01 David Edelsohn <edelsohn@gnu.org>
8573
8574 * config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
8575 power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
8576 imul_compare. Add lmul_compare.
8577 * config/rs6000/power4.md: Bump some latencies. Model extra cycle
8578 in second pair of dispatch slots. Model stores more accurately.
8579 Tweak multiply model. Add bypasses for CR instructions dependent
8580 on complicated compares.
8581 * config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
8582 (muldi3): Add lmul_compare patterns.
8583 * config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
8584 and FPSTORE_UX to split instructions and add COMPARE,
8585 DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
8586 (rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
8587 (rs6000_rtx_costs): Separate POWER4 multiply case.
8588
8589 2003-04-01 Ulrich Weigand <uweigand@de.ibm.com>
8590
8591 * config/s390/s390.c (s390_fixup_clobbered_return_reg):
8592 Do nothing if __builtin_return_address was not used.
8593
8594 Tue Apr 1 18:18:23 CEST 2003 Jan Hubicka <jh@suse.cz>
8595
8596 * i386.md (test patterns): Allow memory operand in operand1.
8597
8598 2003-02-31 Aldy Hernandez <aldyh@redhat.com>
8599
8600 * testsuite/gcc.c-torture/execute/simd-3.c: New.
8601
8602 * expr.c (expand_expr): Handle VECTOR_CST.
8603 (const_vector_from_tree): New.
8604
8605 * varasm.c (output_constant): Handle VECTOR_CST.
8606
8607 * c-typeck.c (digest_init): Build a vector constant from a
8608 VECTOR_TYPE.
8609
8610 * config/rs6000/rs6000.c: Remove prototype for
8611 easy_vector_constant.
8612 (easy_vector_constant): Add mode parameter. Rewrite to handle
8613 more easy constants.
8614 (rs6000_emit_move): Pass mode to easy_vector_constant.
8615 Call emit_easy_vector_insn for SPE V2SI vector constant moves.
8616 (emit_easy_vector_insn): New.
8617 (easy_vector_same): New.
8618 (EASY_VECTOR_15): New macro.
8619 (EASY_VECTOR_15_ADD_SELF): New macro.
8620 (bdesc_2arg): Rename to xorv2si3.
8621 (easy_vector_constant_add_self): New.
8622 (input_operand): Allow vector constants.
8623
8624 * config/rs6000/rs6000.h (PREDICATE_CODES): Add
8625 easy_vector_constant, easy_vector_constant_add_self.
8626 (EXTRA_CONSTRAINT): Add 'W'.
8627
8628 * config/rs6000/rs6000-protos.h: Add prototype for
8629 easy_vector_constant, emit_easy_vector_insn.
8630
8631 * config/rs6000/altivec.md (xorv8hi3): New.
8632 (xorv16qi3): New.
8633 Remove all _const0 patterns.
8634 (movv4si_internal): Rewrite to use code. Add vector constant to
8635 vector alternative. Add splitter.
8636 (movv8hi_internal): Same.
8637 (movv16qi_internal): Same.
8638 (movv4sf_internal): Same.
8639 Change the unspecs for vspltis* to use constants.
8640
8641 * config/rs6000/spe.md ("xorv4hi3"): New.
8642 ("spe_evxor"): Rename to xorv2si3.
8643 ("xorv1di3"): New.
8644 Remove all _const0 patterns.
8645 (movv2si_internal): Rewrite to use code. Add vector constant to
8646 alternatives. Add splitter.
8647 (movv4hi_internal): Add vector constant to alternatives.
8648 (movv1di_internal): Same.
8649 (movv2sf_internal): Same.
8650
8651 2003-03-31 Mark Mitchell <mark@codesourcery.com>
8652
8653 PR c/9936
8654 * c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
8655 variably-sized arrays in parameters.
8656 (set_save_expr_context): New function.
8657 (c_expand_body): Use it, via walk_tree.
8658
8659 2003-03-31 Eric Christopher <echristo@redhat.com>
8660
8661 * combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
8662 (combinable_i3pat): Remove call to expand_field_assignment and
8663 #if 0'd code.
8664
8665 2003-03-31 Mark Mitchell <mark@codesourcery.com>
8666
8667 PR c++/10278
8668 * c-common.c (finish_label_address_expr): Handle the
8669 error_mark_node.
8670
8671 2003-03-31 Richard Henderson <rth@redhat.com>
8672
8673 * real.c (real_identical): Reorg so as to not compare
8674 signalling for normals.
8675
8676 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
8677
8678 * config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
8679
8680 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
8681
8682 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
8683 notes as they are boggus.
8684 (m68hc11_gen_movqi): Likewise.
8685
8686 2003-03-31 Stephane Carrez <stcarrez@nerim.fr>
8687
8688 * config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
8689 save the soft registers after the frame pointer so that gdb can unwind
8690 the frame more easily.
8691 (expand_epilogue): Likewise in opposite order; allow to use X register
8692 as scratch if the return value is by reference.
8693
8694 2003-03-31 Jason Merrill <jason@redhat.com>
8695
8696 PR java/10145
8697 * stor-layout.c (update_alignment_for_field): Respect
8698 DECL_USER_ALIGN for zero-length bitfields, too.
8699 * c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
8700 fields.
8701
8702 2003-03-31 Matt Austern <austern@apple.com>
8703
8704 * cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
8705 (count_defs): Keep track of number of defs as well as total size.
8706 (write_defs): Put every definition in cpp_savedstate's defs array.
8707 (comp_hashnode): Define. Comparison function for qsort.
8708 (cpp_write_pch_deps): Sort definitions before writing them.
8709 (struct ht_node_list): Define. Like cpp_savedstate but simpler.
8710 (collect_ht_nodes): Define.
8711 (cpp_valid_state): When verifying that undefined identifiers in
8712 the pch file are still undefined, read a sorted list of undefined
8713 identifiers, collect all defined identifiers into a sorted list,
8714 and walk through both lists to make sure there's no match.
8715
8716 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8717
8718 * config/h8300/h8300.md (a peephole2): New.
8719
8720 2003-03-31 Michael Matz <matz@suse.de>
8721
8722 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
8723
8724 2003-03-31 Segher Boessenkool <segher@koffie.nl>
8725
8726 PR target/10177
8727 * config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
8728 * config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
8729 all call-clobbered registers as used.
8730
8731 2003-03-31 Michael Matz <matz@suse.de>
8732
8733 * cppexp.c (cpp_classify_number): Accept '.' after "0x".
8734 * testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
8735
8736 2003-03-31 Nathan Sidwell <nathan@codesourcery.com>
8737
8738 * gcov.c: Add -a & -u options.
8739 (struct arc_info): Add local_span, is_call_non_return,
8740 is_nonlocal_return, is_unconditional flags, remove is_call flag.
8741 (struct block_info): Add flags, is_call_site, is_nonlocal_return
8742 members. Make encodings a union with span member.
8743 (struct function_info): Add blocks_executed, line, src, line_next
8744 members.
8745 (struct coverage_info): Make branches a union with blocks member.
8746 (struct source_info): Add functions member.
8747 (object_summary, program_count): New global variables.
8748 (flag_all_blocks, flag_unconditional): New flags.
8749 (find_source, output_branch_count): New functions.
8750 (print_usage): Adjust.
8751 (options): Adjust.
8752 (process_args): Adjust.
8753 (read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
8754 <GCOV_TAG_BLOCKS>: Read flags.
8755 <GCOV_TAG_LINES>: Adjust.
8756 (read_count_file): Process SUMMARY tags.
8757 (solve_flow_graph): Set is_unconditional and clear is_call_site
8758 appropriately.
8759 (add_branch_counts): Adjust. Don't count unconditional branches.
8760 (add_line_counts): Deal with all-blocks mode, accumulate block
8761 coverage.
8762 (accumulate_line_counts): Adjust, generate local spanning tree for
8763 all-blocks mode.
8764 (output_lines): Adjust.
8765 * profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
8766 * doc/gcov.texi: Document.
8767
8768 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8769
8770 * config/h8300/h8300.md: Organize peephole2's that transform
8771 (compare (reg:HI) (const_int)).
8772
8773 2003-03-31 Roger Sayle <roger@eyesopen.com>
8774
8775 * emit-rtl.c (dconstm2, dconsthalf): New real constants.
8776 (init_emit_once): Initialize dconstm2 and dconsthalf here.
8777 * real.h (dconstm2, dconsthalf): Add prototypes here.
8778 * real.c (real_sqrt): Use dconsthalf rather than local copy.
8779 * builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
8780 exp(x/2.0) remember to fold the division if possible.
8781 Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
8782 pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
8783 1.0/(x*x) and pow(x,0.5) as sqrt(x).
8784
8785 2003-03-31 Kazu Hirata <kazu@cs.umass.edu>
8786
8787 * config/h8300/h8300.md (a new peephole2): New.
8788
8789 2003-03-31 Richard Sandiford <rsandifo@redhat.com>
8790
8791 * gcse.c (simple_mem): Return false for floating-point accesses
8792 if flag_float_store is true.
8793
8794 2003-03-30 Roger Sayle <roger@eyesopen.com>
8795
8796 * gcse.c (gcse_constant_p): New function to identify constants
8797 suitable for constant propagation, including COMPARE with two
8798 integer constant arguments.
8799 (hash_scan_set): Use gcse_constant_p.
8800 (find_avail_set): Likewise.
8801 (cprop_insn): Likewise.
8802 (do_local_cprop): Likewise.
8803 (find_implicit_sets): Likewise.
8804 (find_bypass_set): Likewise.
8805
8806 2003-03-30 Matt Kraai <kraai@alumni.cmu.edu>
8807
8808 * except.h: Remove definition of varray_type.
8809
8810 2003-03-30 Richard Henderson <rth@redhat.com>
8811
8812 PR opt/10011, opt/10252:
8813 * toplev.c (rest_of_compilation): Run purge_builtin_constant_p
8814 before post-gcse cse pass.
8815
8816 2003-03-30 Roger Sayle <roger@eyesopen.com>
8817
8818 * dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
8819
8820 2003-03-30 DJ Delorie <dj@redhat.com>
8821
8822 * profile.c (instrument_edges): Make sure any newly created
8823 jump insns have correct jump label info.
8824
8825 2003-03-30 Richard Henderson <rth@redhat.com>
8826
8827 * cfgbuild.c (make_edges): Use tablejump_p.
8828 * cfgcleanup.c (label_is_jump_target_p): Likewise.
8829 * cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
8830 * cfgrtl.c (flow_delete_block_noexpunge): Likewise.
8831 (try_redirect_by_replacing_jump): Likewise.
8832 (redirect_edge_and_branch): Likewise.
8833 * cse.c (fold_rtx): Likewise.
8834 * jump.c (delete_related_insns): Likewise.
8835 * rtlanal.c (get_jump_table_offset): Likewise.
8836 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
8837
8838 2003-03-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8839
8840 * Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
8841 (STRICT2_WARN): Likewise.
8842
8843 2003-03-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8844
8845 PR other/6955
8846 * collect2.c (collect_wait): Use WCOREDUMP and fix output message.
8847 * system.h (WCOREDUMP, WCOREFLG): Define if necessary.
8848
8849 2003-03-30 Richard Henderson <rth@redhat.com>
8850
8851 PR c/10083
8852 * config/alpha/alpha.md (umuldi3_highpart): Change to expander;
8853 don't zero_extend const inputs.
8854
8855 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
8856
8857 * reload1.c (reload_cse_move2add): Fix a comment typo.
8858
8859 2003-03-30 Kazu Hirata <kazu@cs.umass.edu>
8860
8861 * config/h8300/h8300.md (a peephole2): Remove useless code.
8862
8863 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
8864
8865 * config/h8300/h8300.md (*iorsi3_and_ashift): New.
8866 (*iorsi3_and_lshiftrt): Likewise.
8867 (*iorsi3_zero_extract): Likewise.
8868
8869 2003-03-29 Kazu Hirata <kazu@cs.umass.edu>
8870
8871 * config/h8300/h8300.md (*insv_si_8_8): New.
8872 (*insv_si_8_8_lshiftrt_8): Likewise.
8873 (a peephole2): Likewise.
8874
8875 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8876
8877 * doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
8878 Uniformly use bugfix instead of bug fix.
8879
8880 2003-03-29 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
8881
8882 PR doc/895
8883 * ONEWS: Remove those items that already appear in the EGCS
8884 release notes on our web pages.
8885
8886 2003-03-29 Alan Modra <amodra@bigpond.net.au>
8887
8888 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
8889 TARGET_HARD_FLOAT. Reformat.
8890 (FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
8891
8892 2003-03-28 Albert Chin-A-Young <china@thewrittenword.com>
8893
8894 * gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
8895 work on Solaris 2.5.1.
8896
8897 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>
8898
8899 * config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
8900 section of h8300.md
8901 (*addsi3_and_nor_r_1): Likewise.
8902
8903 2003-03-29 Ulrich Weigand <uweigand@de.ibm.com>
8904
8905 * config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
8906 set up before any trapping memory access if flag_non_call_exceptions.
8907
8908 2003-03-29 Alan Modra <amodra@bigpond.net.au>
8909
8910 * reload1.c (reload_as_needed): Allow a USE in asm reloads.
8911
8912 * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
8913
8914 2003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
8915
8916 * configure.in: Clarify comments.
8917 * configure: Regenerate.
8918
8919 2003-03-28 Ulrich Weigand <uweigand@de.ibm.com>
8920
8921 * config/s390/s390.md ("literal_pool_31"): Output pool anchor
8922 label even if pool empty when generating PIC.
8923 ("literal_pool_31", "literal_pool_64"): Coding style cleanup.
8924
8925 2003-03-28 Kazu Hirata <kazu@cs.umass.edu>,
8926 Dhananjay Deshpande <dhananjayd@kpit.com>
8927
8928 PR target/10205
8929 * config/h8300/h8300.c (h8300_initial_elimination_offset):
8930 Correct the offset computation when TARGET_NORMAL.
8931
8932 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8933
8934 PR target/10067
8935 * config/sparc/sparc.md (jump pattern): Correct order
8936 when issuing the annuling marker.
8937
8938 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8939
8940 PR c/8281
8941 * config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
8942 (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
8943
8944 2003-03-28 Alan Modra <amodra@bigpond.net.au>
8945
8946 * config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
8947 globalize_label.
8948 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8949 * config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8950 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8951 * config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8952 * config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8953 * config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
8954 * config/v850/v850.c (v850_output_aligned_bss): Likewise.
8955
8956 2003-03-28 Alan Modra <amodra@bigpond.net.au>
8957
8958 * loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
8959 (replace_loop_mems): Add "written" param. Remove invalid REG_EQUAL
8960 notes after hoisting.
8961 (load_mems): Adjust replace_loop_mems call.
8962
8963 2003-03-28 Eric Botcazou <ebotcazou@libertysurf.fr>
8964 Richard Henderson <rth@redhat.com>
8965
8966 PR target/10114 and PR target/10084
8967 * dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
8968
8969 2003-03-27 Richard Henderson <rth@redhat.com>
8970
8971 * config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
8972
8973 2003-03-27 Roger Sayle <roger@eyesopen.com>
8974
8975 * fold-const.c (fold_inf_compare): New function to simplify FP
8976 comparisons against +Infinity or -Infinity.
8977 (fold): Optimize floating point comparisons against Infs and NaNs.
8978
8979 2003-03-27 Janis Johnson <janis187@us.ibm.com>
8980
8981 * libgcov.c: Provide only dummy functions if libc is not available.
8982
8983 2003-03-27 Richard Henderson <rth@redhat.com>
8984
8985 * real.h (struct real_value): Add signalling.
8986 (EXP_BITS): Decrement.
8987 * real.c (get_canonical_qnan): Don't set MSB-1.
8988 (get_canonical_snan): Likewise. Set signalling.
8989 (real_identical): Compare signalling.
8990 (round_for_format): Remove force-one-bit on code.
8991 (real_nan): Likewise. Set signalling.
8992 (encode_ieee_single): Add force-one-bit code; honor signalling.
8993 (encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
8994 (decode_ieee_single): Set signalling.
8995 (decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
8996
8997 2003-03-27 Olivier Hainque <hainque@act-europe.fr>
8998
8999 PR ada/9953
9000 * ada/Makefile.in (gnatlib configuration for HPUX): Split
9001 the general section for HPUX into specific sections for
9002 HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
9003 11 case.
9004
9005 2003-03-27 Glen Nakamura <glen@imodulo.com>
9006
9007 PR opt/10087
9008 * loop.c (loop_givs_reduce): Skip bivs with duplicate locations
9009 while incrementing giv.
9010 (record_biv): Check for duplicate biv locations and
9011 set (struct induction *) v->same if found.
9012
9013 2003-03-27 David Mosberger <davidm@hpl.hp.com>
9014
9015 * unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
9016 v0.9 API change: replace read of UNW_REG_HANDLER with
9017 unw_get_proc_info().
9018 (_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
9019 with unw_get_proc_info().
9020 (_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
9021 unw_get_proc_info().
9022
9023 2003-03-27 Vladimir Makarov <vmakarov@redhat.com>
9024
9025 * config/rs6000/8540.md: Use presence_set instead of absence_set.
9026
9027 2003-03-26 Richard Henderson <rth@redhat.com>
9028
9029 * c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
9030
9031 2003-03-26 Roger Sayle <roger@eyesopen.com>
9032
9033 PR bootstrap/10051, PR bootstrap/10169.
9034 * mips-tfile.c (init_file): Don't provide a static initializer.
9035 (initialize_init_file): Initialize the contents of init_file.
9036 (add_file): Call initialize_init_file if not already initialized.
9037
9038 2003-03-26 Ulrich Weigand <uweigand@de.ibm.com>
9039
9040 * config/s390/s390.c (s390_optimize_prolog): Do not save/restore
9041 registers used for global asm variables.
9042 (s390_frame_info, s390_arg_frame_offset): Likewise.
9043 (s390_emit_prologue, s390_emit_epilogue): Likewise.
9044
9045 2003-03-26 Vladimir Makarov <vmakarov@redhat.com>
9046
9047 * config/rs6000/8540.md: New file.
9048
9049 * config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
9050 power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
9051 reservations for imul.
9052
9053 * config/rs6000/rs6000.md: Include 8540.md. Change
9054 delayed_compare onto mult_compare for insns generating
9055 multiplication.
9056 (mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
9057 New type attribute values.
9058
9059 * config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
9060 fpsimple instead of fp.
9061 (*divsf3_gpr): Use type vecfdiv instead of fp.
9062 (spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
9063 instead of vecfloat.
9064 (spe_evfsdive): Use type vecfdiv instead of vecfloat.
9065 (spe_brinc): Use type brinc instead of veccomplex.
9066 (spe_evaddw, spe_evaddiw): Use type vecsimple instead of
9067 veccomplex.
9068 (spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
9069 (*movv2si_internal, *movv1di_internal, *movv4hi_internal,
9070 *movv2sf_internal): Define type attribute values for all
9071 alternatives.
9072 (cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
9073 of fpcompare.
9074 (tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
9075 instead of fpcompare.
9076
9077 2003-03-26 David Edelsohn <edelsohn@gnu.org>
9078
9079 * config/rs6000/power4.md: Allow delay between dispatch and
9080 function units for simple instructions. Correct store units.
9081 Allow branch to occupy as many dispatch slots as necessary.
9082
9083 2003-03-26 Jakub Jelinek <jakub@redhat.com>
9084
9085 * config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
9086 (ia64_expand_compare_and_swap): Use always DImode ar.ccv,
9087 zero extend old to it.
9088 * config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
9089 operand.
9090
9091 2003-03-26 Eric Botcazou <ebotcazou@libertysurf.fr>
9092
9093 PR target/7784
9094 * reload.c (find_reloads_address): Handle
9095 (PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
9096 all base registers.
9097
9098 2003-03-25 Marcelo Abreu <mmabreu@inf.ufrgs.br>
9099
9100 PR other/10203
9101 * version.c: Reference the GCC web site in the URL.
9102
9103 2003-03-26 Alan Modra <amodra@bigpond.net.au>
9104
9105 * c-incpath.c (add_standard_paths): Add both "translated" and
9106 non-translated header paths.
9107
9108 2003-03-25 Loren James Rittle <ljrittle@acm.org>
9109
9110 * doc/install.texi (*-*-freebsd*): Update with known status.
9111
9112 2003-03-21 Jason Merrill <jason@redhat.com>
9113
9114 PR optimization/10171
9115 * unroll.c (unroll_loop): Don't delete the jump at the end unless
9116 we also delete a jump at the beginning.
9117
9118 2003-03-25 Stephane Carrez <stcarrez@nerim.fr>
9119
9120 * doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
9121 contributor.
9122
9123 Tue Mar 25 20:35:51 CET 2003 Jan Hubicka <jh@suse.cz>
9124
9125 * i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
9126 constants are not expensive.
9127
9128 Mon Mar 24 20:03:03 CET 2003 Jan Hubicka <jh@suse.cz>
9129
9130 PR opt/10056
9131 * cfglayout.c (fixup_reorder_chain): Fix dealing with the conditional
9132 jump jumping to the next instruction.
9133 * cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
9134
9135 2003-03-25 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9136
9137 * doc/passes.texi (Passes): Properly document that we do not
9138 perform jump2 any longer; remove command-line option -dJ.
9139
9140 2003-03-25 Eric Botcazou <ebotcazou@libertysurf.fr>
9141
9142 PR optimization/8746
9143 * config/i386/i386.md (and promoting splitters): Disable HImode to
9144 SImode promoting when the sign bit matters and is not preserved, or
9145 when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
9146 for size.
9147
9148 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
9149
9150 * config/h8300/h8300.md (a peephole2): Extend to support loads
9151 in QImode and HImode.
9152
9153 2003-03-24 Stephane Carrez <stcarrez@nerim.fr>
9154
9155 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
9156 _return_far
9157 (MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
9158 (MULTILIB_EXCEPTIONS): Likewise.
9159 * config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
9160 by calling some board support routine.
9161 ("call_value"): Likewise.
9162 ("*return_void"): Likewise for return.
9163 ("*return_16bit"): Likewise.
9164 ("*return_32bit"): Likewise.
9165 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
9166 for 68HC11 too.
9167 (DWARF2_ADDR_SIZE): Use 4 so that addresses can
9168 * config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
9169 -mlong-calls for 68HC11.
9170 * config/m68hc11/larith.asm (declare_near): New macro.
9171 (__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
9172 (___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
9173 (___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
9174 (___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
9175 (__mulhi32): Likewise.
9176 (ret): Update macro for 68HC11.
9177 (__far_trampoline): Implement for 68HC11.
9178 (__call_a16, __call_a32, __return_void, __return_16): New support
9179 routines for 68HC11 memory bank switching calling support.
9180 (__return_32): Likewise.
9181
9182 2003-03-24 Neil Booth <neil@daikokuya.co.uk>
9183
9184 * toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
9185
9186 2003-03-24 Janis Johnson <janis187@us.ibm.com>
9187
9188 * doc/install.texi (Testing): Mention test result links from build
9189 status pages.
9190
9191 2003-03-24 Mark Mitchell <mark@codesourcery.com>
9192
9193 * function.c (put_var_into_stack): Change bool parameter to int.
9194 (gen_mem_addressof): Likewise.
9195 * rtl.h (gen_mem_addressof): Likewise.
9196 * tree.h (put_var_into_stack): Likewise.
9197 * config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
9198 gen_mem_addressof or put_var_into_stack.
9199 * config/c4x/c4x.c (c4x_expand_builtin): Likewise.
9200 * config/ia64/ia64.c (spill_tfmode_operand): Likewise.
9201
9202 2003-03-24 Kazu Hirata <kazu@cs.umass.edu>
9203
9204 * config/h8300/h8300.md (a peephole2): New.
9205
9206 2003-03-24 Jakub Jelinek <jakub@redhat.com>
9207
9208 * dojump.c (do_jump): Handle UNSAVE_EXPR specially.
9209
9210 2003-03-24 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9211
9212 * doc/contrib.texi (Contributors): Update Janis Johnson.
9213
9214 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
9215
9216 PR target/10072
9217 * combine.c (simplify_if_then_else): Check that the mode
9218 has MODE_INT class before applying the (OP Z (mult COND C2))
9219 transformation.
9220
9221 2003-03-23 Eric Botcazou <ebotcazou@libertysurf.fr>
9222
9223 PR optimization/9414
9224 * config/sparc/sparc.md (widening peepholes): Use
9225 widen_memory_access instead of change_address.
9226
9227 2003-03-23 Mark Mitchell <mark@codesourcery.com>
9228
9229 PR c++/7086
9230 * c-typeck.c (c_mark_addressable): Adjust calls to
9231 put_var_into_stack.
9232 * expr.c (expand_expr): Likewise.
9233 * function.c (put_var_into_stack): Add rescan parameter. Do not
9234 call fixup_var_refs when rescan is false.
9235 (gen_mem_addressof): Likewise.
9236 (assign_parms): Adjust calls to put_var_into_stack.
9237 (setjmp_protect): Likewise.
9238 (setjmp_protect_args): Likewise.
9239 * rtl.h (gen_mem_addressof): Change prototype.
9240 * stmt.c (expand_decl): Adjust calls to put_var_into_stack.
9241 * tree.h (put_var_into_stack): Change prototype.
9242
9243 2003-03-23 Arpad Beszedes <beszedes@cc.u-szeged.hu>
9244
9245 PR middle-end/9967
9246 * builtins.c (expand_builtin_fputs): When optimizing for size,
9247 don't transform fputs into fwrite.
9248
9249 2003-03-23 Glen Nakamura <glen@imodulo.com>
9250
9251 PR c/8224
9252 * fold-const.c (extract_muldiv_1): Don't pass through type conversions
9253 when signedness changes for division or modulus.
9254
9255 2003-03-24 Alan Modra <amodra@bigpond.net.au>
9256
9257 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
9258 globalize_label.
9259
9260 2003-03-23 Roger Sayle <roger@eyesopen.com>
9261
9262 PR c/10178
9263 * stmt.c (expand_end_case_type): Check for overflow in range when
9264 determining whether to use a bit-test implementation.
9265
9266 2003-03-23 Richard Henderson <rth@redhat.com>
9267
9268 * cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
9269 before flow2.
9270 * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
9271
9272 2003-03-23 Richard Henderson <rth@redhat.com>
9273
9274 PR opt/10116
9275 * ifcvt.c (find_if_block): Disallow tablejump insns outgoing
9276 from then_bb or else_bb after flow2.
9277
9278 2003-03-23 Zack Weinberg <zack@codesourcery.com>
9279
9280 * configure.in: Check whether it is necessary to link against
9281 libm to use ldexp.
9282 * configure: Regenerate.
9283 * Makefile.in: Add LDEXP_LIB substitution variable.
9284
9285 2003-03-23 Kazu Hirata <kazu@cs.umass.edu>
9286
9287 * config/h8300/h8300.md: Fix comment typos.
9288
9289 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9290
9291 * pa.c (output_cbranch): Fix typo in comment.
9292
9293 2003-03-22 Richard Henderson <rth@redhat.com>
9294
9295 * cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
9296 after reload.
9297
9298 2003-03-22 DJ Delorie <dj at redhat dot com>,
9299 Bruce Korb <bkorb at gnu dot org>
9300
9301 * fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
9302 buggy Solaris 2.6 mutex/cond initializers.
9303 (solaris_mutex_init): Rename to solaris_mutex_init_2.
9304 * fixinc/fixincl.x: Regenerate.
9305 * fixinc/tests/base/pthread.h: Update.
9306 * fixinc/fixincl.c(initialize): be explicit about the default case
9307 and indicate verbose level when being very, very verbose.
9308 * fixinc/check.tpl(VERBOSE): provide a means for passing the value in
9309
9310 2003-03-22 Andreas Jaeger <aj@suse.de>
9311
9312 * config/i386/i386.c (ix86_init_machine_status): Return value.
9313
9314 2003-03-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9315
9316 * pa.c (output_cbranch, output_bb, output_bvb): Output nop for
9317 conditional branch to the following instruction. Use next_real_insn
9318 instead of next_active_insn.
9319 (output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
9320 instead of next_active_insn.
9321
9322 2003-03-22 Ulrich Weigand <uweigand@de.ibm.com>
9323
9324 * config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
9325 instead of 'm' constraint in forced-split alternatives.
9326 ("*adddi3_31", "*subdi3_31"): Likewise. Also, pass 0 instead of 1 as
9327 VALIDATE_ADDRESS parameter to operand_subword.
9328
9329 2003-03-22 Kazu Hirata <kazu@cs.umass.edu>
9330
9331 * config/h8300/h8300.c (notice_update_cc): Correctly handle
9332 the case where the set destination is STRICT_LOW_PART.
9333
9334 2003-03-22 Svein E. Seldal <Svein.Seldal@solidas.com>
9335
9336 * config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
9337 c30 instead of a c40 processor.
9338
9339 2003-03-22 Alan Modra <amodra@bigpond.net.au>
9340
9341 * combine.c (simplify_comparison <AND>): Use gen_int_mode. Tidy.
9342
9343 2003-03-21 Zack Weinberg <zack@codesourcery.com>
9344
9345 * c-common.c: Include intl.h.
9346 (shadow_warning): Rewrite to allow better diagnostic translations.
9347 * c-common.h: Update prototype of shadow_warning. Declare sw_kind enum.
9348 * c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
9349 use it throughout.
9350 * Makefile.in (c-common.o): Add intl.h.
9351
9352 2003-03-21 Nathanael Nerode <neroden@gcc.gnu.org>
9353
9354 * config.gcc: Remove 'float_format'.
9355
9356 * fixproto: Define NULL and size_t in generated stdlib.h and
9357 unistd.h. Kill unused required_stdlib_h, required_unistd_h.
9358 Rearrange file generation loop for readability. Generate time.h,
9359 string.h if missing.
9360 * tsystem.h: Include <string.h>, <time.h> unconditionally.
9361 * config.gcc: Blow away POSIX defines.
9362
9363 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
9364
9365 * config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
9366
9367 2003-03-22 Stephane Carrez <stcarrez@nerim.fr>
9368
9369 * config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
9370 writing .interrupt command.
9371 * config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
9372 if it's a far or near function.
9373 ("call_value"): Likewise.
9374 * config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
9375 near attributes.
9376 (m68hc11_handle_fntype_attribute): Accept attributes on methods.
9377 (m68hc11_override_options): Ignore -mlong-calls for 68HC11.
9378 (m68hc11_initial_elimination_offset): Set current_function_far
9379 according to attributes.
9380 (expand_prologue): Likewise.
9381 (trap_handler_symbol): New global to keep track of trap handlers.
9382 (m68hc11_encode_section_info): Mark symbol as far if needed; set
9383 trap symbol.
9384 (m68hc11_is_far_symbol): New function.
9385 (m68hc11_is_trap_symbol): New function.
9386 * config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
9387 (m68hc11_is_trap_symbol): Declare.
9388
9389 2003-03-21 Jan Hubicka <jh@suse.cz>
9390
9391 * i386.c (ix86_compute_frame_layout): Recompute fast prologues
9392 only when amount of saved regs changed.
9393 (ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
9394 * i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
9395
9396 2003-03-21 Jan Hubicka <jh@suse.cz>
9397
9398 PR inline-asm/7916
9399 * function.c (instantiate_virtual_regs_lossage): New function.
9400 (instantiate_virtual_regs_1): Use it.
9401 (instantiate_virtual_regs): Do not continue in substition when insn has
9402 been deleted.
9403
9404 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
9405
9406 * combine.c (make_field_assignment): Fix a warning.
9407
9408 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
9409
9410 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
9411
9412 2003-03-21 Dale Johannesen <dalej@apple.com>
9413
9414 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Increase
9415 priority for R2 on Darwin.
9416 (HARD_REGNO_MODE_OK): Don't accept R31 for DFmode.
9417
9418 2003-03-21 Kazu Hirata <kazu@cs.umass.edu>
9419
9420 * combine.c (make_field_assignment): Remove unnecessary AND
9421 when storing into zero_extract.
9422
9423 2003-03-21 Zack Weinberg <zack@codesourcery.com>
9424
9425 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
9426 * configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
9427 * defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
9428 in comment.
9429
9430 2003-03-21 DJ Delorie <dj@redhat.com>
9431
9432 * optabs.c (init_integral_libfuncs): Make sure we init at least up
9433 to "long long" size words.
9434
9435 2003-03-21 Ulrich Weigand <uweigand@de.ibm.com>
9436
9437 * config/s390/s390.h: Do not include fixdfdi.h on s390x.
9438 (TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
9439 (MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
9440
9441 2003-03-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
9442
9443 PR doc-bug/9813
9444 * doc/extend.texi: Move misplaced paragraph about underscores in
9445 variables in macros.
9446
9447 2003-03-21 Eric Botcazou <ebotcazou@libertysurf.fr>
9448 Richard Henderson <rth@redhat.com>
9449
9450 PR optimization/8366
9451 * config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
9452 (GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
9453 PIC+SYMBOLIC_CONST in other modes than Pmode.
9454 (GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
9455 the form PIC+SYMBOLIC_CONST as mode dependent.
9456
9457 2003-03-21 DJ Delorie <dj@redhat.com>
9458
9459 * config/stormy16/stormy16.c (xstormy16_expand_arith): Make
9460 sure we always emit at least one insn.
9461
9462 2003-03-21 Christopher Faylor <cgf@redhat.com>
9463
9464 * config.gcc (i[34567]86-*-cygwin*): Use new common makefile
9465 stub t-cygming. Use common target header cygming.h. Add extra
9466 c_target_obj and cxx_target_obj file. Default cygwin to posix
9467 threading. Enforce i386 as float format.
9468 (i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
9469 Remove cygwin.h as target header. Use common target header
9470 cygming.h Enforce i386 as float format. Correct typo.
9471 * config/i386/cygming.h: New file, containing definitions
9472 common to mingw32 and cygwin.
9473 * config/i386/cygwin.h: Remove definitions common to cygwin and
9474 mingw. Simplify special spec logic. Define "wrappers" around
9475 certain include path defines to accommodate -mno-cygwin.
9476 Remove some #if 0'ed code.
9477 (STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
9478 (LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
9479 (GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
9480 * config/i386/mingw32.h: Remove definitions common to cygwin and
9481 mingw.
9482 (EXTRA_OS_CPP_BUILTINS): Adjust.
9483 (TARGET_VERSION): Define.
9484 * config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
9485 mingw32.h definitions.
9486 (LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
9487 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
9488 Add compilation rules for cygwin1.o cygwin2.o.
9489 * config/i386/cygwin1.c: New file.
9490 * config/i386/cygwin2.c: New file.
9491 * config/i386/t-cygming: New makefile stub.
9492
9493 2003-03-20 Richard Henderson <rth@redhat.com>
9494
9495 * fold-const.c (extract_muldiv_1): Revert changing order of
9496 operands in case MULT_EXPR of 2003-02-16 patch.
9497
9498 2003-03-20 Daniel Berlin <dberlin@dberlin.org>
9499 Merge changes from new-regalloc-branch
9500
9501 From Michael Matz <matz@suse.de>
9502 * df.c (df_ref_record_1): Move init of loc to safe point.
9503 Only recurse on interesting things in parallels.
9504 Handle CLASS_CANNOT_CHANGE_MODE smarter.
9505 (df_uses_record): Ditto.
9506
9507 * df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
9508 it's already okay to use memory operands in (IE doesn't require
9509 adding another insn or anything).
9510
9511 2003-03-20 Richard Henderson <rth@redhat.com>
9512
9513 PR middle-end/6348
9514 * explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
9515 different from word_mode.
9516
9517 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
9518
9519 * config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
9520 source operand to those that can be extracted with bld.
9521
9522 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
9523
9524 PR 10066
9525 * arm.md (UNSPEC_PIC_BASE): New constant.
9526 (pic_add_dot_plus_four): Wrap with unspec.
9527 (pic_add_dot_plus_eight): Likewise.
9528
9529 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
9530
9531 * config/h8300/h8300.md (*insv_si_1_n): New.
9532 (*insv_si_1_n_lshiftrt): Likewise.
9533
9534 2003-03-20 Roger Sayle <roger@eyesopen.com>
9535
9536 * fold-const.c (fold_mathfn_compare): New function to simplify
9537 comparisons against built-in math functions. Fold comparisons
9538 of sqrt against constants.
9539 (fold): Call fold_mathfn_compare when appropriate.
9540
9541 2003-03-20 Richard Earnshaw <rearnsha@arm.com>
9542
9543 * ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
9544 information.
9545
9546 2003-03-20 Per Bothner <pbothner@apple.com>
9547
9548 Various cleanups to help compile server.
9549
9550 * cppinit.c (cpp_create_reader): Take extra hash_table* argument,
9551 and pass that to _cpp_init_hashtable.
9552 (cpp_read_main_file): Drop hash_table* argument; don't call
9553 _cpp_init_hashtable.
9554 * cpplib.h: Update declarations to match.
9555 * c-opts.c (c_common_init_options): Pass ident_hash to
9556 cpp_create_reader.
9557 (c_common_post_options): Don't pass ident_hash to cpp_read_main_file.
9558 * fix-header.c (read_scan_file): Likewise pass NULL table to
9559 cpp_create_reader rather than cpp_read_main_file.
9560
9561 * cppfiles.c (cpp_rename_file): Generalized and renamed
9562 to cpp_change_file.
9563 * cpplib.h: Update declaration to match.
9564 * c-opts.c (push_command_line_line, finish_options): Change
9565 cpp_rename_file calls to cpp_change_file.
9566
9567 * line-map.c (add_line_map): Allow leaving the outermost file.
9568 Allowing entering an outermost-file after the initial time.
9569
9570 * toplev.c (pop_srcloc): Allow popping from initial file.
9571
9572 2003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
9573
9574 * fold-const.c (fold): Fold A - (A & B) into ~B & A.
9575
9576 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
9577
9578 * config/h8300/h8300.md (a peephole2): New.
9579
9580 2003-03-20 Kazu Hirata <kazu@cs.umass.edu>
9581
9582 * config/h8300/h8300.md (*addsi3_and_r_1): New.
9583 (*addsi3_and_not_r_1): Likewise.
9584
9585 2003-03-19 Loren James Rittle <ljrittle@acm.org>
9586
9587 * Makefile.in (STRICT2_WARN): Add @WERROR@.
9588 (GCC_WARN_CFLAGS): Remove $(WERROR).
9589 (fixinc.sh-warn): New.
9590 * ada/Make-lang.in (ada-warn): Add $(WERROR).
9591 * cp/Make-lang.in (cp-warn): Add $(WERROR).
9592 * f/Make-lang.in (f-warn): Add $(WERROR).
9593 * java/Make-lang.in (java-warn): Add $(WERROR).
9594 * treelang/Make-lang.in (treelang-warn): Add $(WERROR).
9595
9596 2003-03-19 Nathanael Nerode <neroden@gcc.gnu.org>
9597
9598 * c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
9599 langhooks-def.h (lhd_tree_dump_dump_tree),
9600 langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
9601 Change return type from 'int' to 'bool'. Replace 0 and 1 with
9602 true and false in return statements.
9603
9604 2003-03-19 Kevin Buettner <kevinb@redhat.com>
9605
9606 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
9607 (DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
9608 DWARF_INITIAL_LENGTH_SIZE.
9609 (output_compilation_unit_header, output_pubnames, output_aranges)
9610 (output_line_info): Output 0xffffffff escape value for 64-bit
9611 DWARF extension.
9612 * config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
9613
9614 2003-03-19 Ulrich Weigand <uweigand@de.ibm.com>
9615
9616 * config/s390/s390.c (s390_preferred_reload_class): Do not
9617 force constants to the pool unless necessary.
9618 (s390_decompose_address): Prefer to use pointer as base,
9619 not index register.
9620 * config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
9621 Q alternative.
9622 ("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
9623 "*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
9624 ("*extractqi", "*extracthi", "*zero_extendhisi2_31",
9625 "*zero_extendqisi2_31", "*zero_extendqihi2_31",
9626 "*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
9627
9628 2003-03-19 Jan Hubicka <jh@suse.cz>
9629
9630 * i386.h (machine_function): New fields use_fast_prologue_epilogue.
9631 * i386.c (use_fast_prologue_epilogue): Remove.
9632 (ix86_frame): New field save_regs-using_mov;
9633 (ix86_compute_frame_layout): Decide on fast prologues;
9634 allocate saved registers in red zone.
9635 (ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
9636
9637 2003-03-19 Nick Clifton <nickc@redhat.com>
9638
9639 * config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
9640
9641 2003-03-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9642
9643 PR 10062
9644 * config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
9645 * pa-protos.h (output_lbranch): New prototype.
9646 * pa.c (compute_frame_size): Change size of the frame marker on the
9647 64-bit ports to 48 bytes.
9648 (pa_output_function_prologue): Document why SAVE_SP is set.
9649 (hppa_expand_prologue): Save previous stack pointer into frame marker
9650 on targets which use the hpux unwind library.
9651 (output_cbranch): Use output_lbranch.
9652 (output_lbranch): New function to output long unconditional branches.
9653 * pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
9654 (STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
9655 64-bit ports.
9656 * pa.md (jump): Use output_lbranch.
9657 (allocate_stack): New expander for dynamic stack allocation.
9658
9659 2003-03-19 Alan Modra <amodra@bigpond.net.au>
9660
9661 * config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
9662 when debugging on XCOFF targets. Delete "abi" temp.
9663
9664 PR target/10073
9665 * combine.c (force_to_mode <NOT>): Use gen_int_mode.
9666
9667 2003-03-18 Jakub Jelinek <jakub@redhat.com>
9668
9669 * config/s390/s390.c (s390_output_dwarf_dtprel): New.
9670 * config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
9671 * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
9672
9673 * config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
9674 * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
9675 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
9676
9677 2003-03-18 Geoffrey Keating <geoffk@apple.com>
9678
9679 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
9680 the result of machopic_function_base_name.
9681 * config/darwin.c (machopic_function_base_name): Use a gc-allocated
9682 string rather than a static array.
9683
9684 * Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
9685
9686 * gengtype.c: Include rtl.h.
9687 (enum rtx_code): Don't define.
9688 (rtx_format): Make declaration match rtl.h.
9689 (rtx_next_new): Rename from rtx_next to avoid conflict. Change all
9690 users.
9691 (adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
9692 * Makefile.in (gengtype.o): Update dependencies.
9693
9694 2003-03-18 Andreas Schwab <schwab@suse.de>
9695
9696 * config/m68k/m68k.md (iordi3): Fix setting low half to -1. From
9697 martin@blom.org.
9698
9699 2003-03-18 Geoffrey Keating <geoffk@apple.com>
9700
9701 * function.c (next_block_index): Mark with GTY.
9702
9703 * config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
9704
9705 2003-03-18 Richard Henderson <rth@redhat.com>
9706
9707 * config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
9708 (builtin_setjmp_receiver): Delay call to ia64_reload_gp
9709 until after reload.
9710
9711 2003-03-18 Richard Henderson <rth@redhat.com>
9712
9713 * builtins.c (expand_builtin_unop): New target_mode operand;
9714 use it to convert the result to the correct mode.
9715 (expand_builtin): Update all callers.
9716
9717 2003-03-18 Ulrich Weigand <uweigand@de.ibm.com>
9718
9719 * config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
9720
9721 2003-03-18 Jan Hubicka <jh@suse.cz>
9722
9723 * i386.md: Fix previous commit that mistakely applied the patch
9724 twice.
9725
9726 * alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
9727 canonicalized.
9728 (memrefs_conflict_p): Likewise.
9729 (addr_side_effect_eval): Canonicalize the constructed address.
9730
9731 2003-03-18 Jan Hubicka <jh@suse.cz>
9732
9733 * i386.md (cvtts?2si peep2): New.
9734
9735 2003-03-18 Kazu Hirata <kazu@cs.umass.edu>
9736
9737 * config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
9738
9739 2003-03-18 Andreas Schwab <schwab@suse.de>
9740
9741 * dwarf2out.c (output_file_names): Cast size_t to unsigned long
9742 for format.
9743
9744 2003-03-17 Jason Merrill <jason@redhat.com>
9745
9746 PR c++/10091
9747 * expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
9748 an unaligned member of TREE_ADDRESSABLE type.
9749
9750 2003-03-18 Alan Modra <amodra@bigpond.net.au>
9751
9752 * config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
9753 (TARGET_PROFILE_KERNEL): Define.
9754 (SUBTARGET_SWITCHES): Handle -mprofile-kernel.
9755 (PROFILE_BEFORE_PROLOGUE): Don't define.
9756 (PROFILE_KERNEL): Remove hacks.
9757 * config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
9758 (rs6000_stack_info): No need to save lr if just for profiling when
9759 TARGET_PROFILE_KERNEL.
9760 (output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
9761 (output_function_profiler): Localize label generation. Emit code
9762 for kernel profiling.
9763
9764 2003-03-17 Kazu Hirata <kazu@cs.umass.edu>
9765
9766 * config/h8300/h8300-protos.h: Add a prototype for
9767 byte_accesses_mergeable_p.
9768 * config/h8300/h8300.c (byte_accesses_mergeable_p): New.
9769 * config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
9770 (a splitter): Likewise.
9771 (*iorsi3_ashift_16_ashift_24): Likewise.
9772 (*iorsi3_ashift_16_ashift_24_mem): Likewise.
9773
9774 2003-03-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9775
9776 * dwarf2asm.h: Delete obsolete comment.
9777 (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
9778 dw2_asm_output_pcrel, dw2_asm_output_addr,
9779 dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
9780 dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
9781 dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
9782 dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
9783
9784 2003-03-17 Zack Weinberg <zack@codesourcery.com>
9785
9786 * c-tree.h (struct lang_identifier): Remove error_locus field.
9787 (IDENTIFIER_ERROR_LOCUS): Kill.
9788 (record_function_scope_shadow): New prototype.
9789 * c-typeck.c (build_external_ref): Don't complain if
9790 decl is error_mark_node. When not at file scope, bind the
9791 decl's local value to error_mark_node to suppress further
9792 warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
9793
9794 * c-decl.c (get_function_binding_level): New static function.
9795 (record_function_scope_shadow): New exported function.
9796 (c_make_fname_decl): Use get_function_binding_level.
9797
9798 2003-03-17 Steve Ellcey <sje@cup.hp.com>
9799
9800 * stmt.c (tail_recursion_args): Call promote_mode to set
9801 unsignedp flag correctly before calling convert_move.
9802
9803 2003-03-17 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
9804
9805 * loop-unroll.c (decide_peel_completely,
9806 decide_unroll_constant_iterations, decide_unroll_stupid,
9807 decide_unroll_runtime_iterations, decide_peel_simple): Set
9808 loop->has_desc.
9809
9810 2003-03-17 Jan Hubicka <jh@suse.cz>
9811
9812 * ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
9813
9814 2003-03-17 Olivier Hainque <hainque@act-europe.fr>
9815
9816 * function.c (assign_parms): For a struct value address passed as
9817 first argument, delay the function's result RTL setup code until
9818 after the emission of parameter conversions.
9819
9820 2003-03-17 Dave Love <fx@gnu.org>
9821 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9822
9823 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
9824 __arch64__ to match Compaq cc.
9825
9826 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
9827
9828 * c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
9829 (c_common_init): Set EBCDIC in cpp options.
9830 * cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
9831 not conditional compilation.
9832 * cpplib.h (struct cpp_options): New entry EBCDIC.
9833
9834 2003-03-17 Neil Booth <neil@daikokuya.co.uk>
9835
9836 * fix-header.c (read_scan_file): Need to malloc arguments to add_path.
9837
9838 2003-03-17 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
9839
9840 * function.c (thread_prologue_and_epilogue_insns): Set delete_unused
9841 argument to 0 for redirect_jump.
9842
9843 2003-03-16 Mark Mitchell <mark@codesourcery.com>
9844
9845 PR c++/8805
9846 * except.c (eh_region_u_cleanup): Add prev_try.
9847 (expand_eh_region_end_cleanup): Set it.
9848 (reachable_handlers): Use it to skip over cleanup blocks.
9849
9850 2003-03-17 Andreas Jaeger <aj@suse.de>
9851
9852 * Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
9853
9854 2003-03-17 Alan Modra <amodra@bigpond.net.au>
9855
9856 * config/rs6000/linux64.h (TARGET_64BIT): Redefine.
9857 (TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
9858 (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
9859 (SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
9860
9861 2003-03-16 Richard Henderson <rth@redhat.com>
9862
9863 * simplify-rtx (simplify_binary_operation): Don't abort for
9864 SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
9865
9866 2003-03-16 Richard Henderson <rth@redhat.com>
9867
9868 * config/i386/i386.md (movstrictqi, movstrictqi_1): Check
9869 optimize_size as well.
9870
9871 2003-03-16 Stephane Carrez <stcarrez@nerim.fr>
9872
9873 * config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
9874 for D register to specify the low part of it, aka B.
9875 (m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
9876 the register if we are loading 1 or -1 to it; avoid using temp
9877 register when moving X/Y to Y/X.
9878 (m68hc11_gen_movqi): Likewise.
9879 (m68hc11_check_z_replacement): Fix last insn setting for compare case.
9880
9881 2003-03-14 Mark Mitchell <mark@codesourcery.com>
9882
9883 PR optimization/9016
9884 * config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
9885 into the constant pool.
9886
9887 2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
9888
9889 PR target/9164
9890 * tree.c (get_narrower): For extensions with unchanged bit number,
9891 return the unsignedness of the outer mode.
9892
9893 2003-03-16 Roger Sayle <roger@eyesopen.com>
9894
9895 * c-typeck.c (build_component_ref): Turn "for" into "do .. while"
9896 to avoid "may be used uninitialized" warning on ia64-hpux.
9897 * config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
9898
9899 2003-03-16 Andreas Jaeger <aj@suse.de>
9900
9901 * configure.in: Improve check for memcheck.h.
9902 * configure: Regenerated.
9903
9904 2003-03-16 Neil Booth <neil@daikokuya.co.uk>
9905
9906 * doc/cppopts.texi: Remove documentation of -A-.
9907
9908 2003-03-15 Zack Weinberg <zack@codesourcery.com>
9909
9910 * doc/libgcc.texi: Remove @tie.
9911
9912 2003-03-15 Josef Zlomek <zlomekj@suse.cz>
9913
9914 * rtl.h (subrtx_p): Renamed to rtx_referenced_p.
9915 (rtx_pair): Added new element update_label_nuses, renamed to
9916 replace_label_data.
9917 * cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
9918 replace_label_data instead of rtx_pair.
9919 * loop.c (load_mems): Likewise.
9920 * rtlanal.c (replace_label): Replace label in pool constants and in
9921 INSN_LIST (in REG_LABEL note).
9922 (subrtx_p): Renamed to rtx_referenced_p.
9923 (subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
9924 LABEL_REF with CODE_LABEL, traverse constants from pool.
9925
9926 2003-03-15 Aldy Hernandez <aldyh@redhat.com>
9927 Zack Weinberg <zack@codesourcery.com>
9928
9929 * Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
9930 * doc/libgcc.texi: New file.
9931 * doc/interface.texi: Delete paragraph about libgcc interface.
9932 * doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
9933
9934 2003-03-15 Jason Merrill <jason@redhat.com>
9935
9936 PR debug/9039
9937 * dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
9938
9939 PR debug/6387
9940 * dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
9941 function DIEs at toplevel.
9942 (decls_for_scope): At -g1, don't descend into subblocks.
9943
9944 2003-03-15 Ulrich Weigand <uweigand@de.ibm.com>
9945
9946 * varasm.c (struct rtx_const): Change type of un.addr member
9947 to struct holding an additional 'symbol' member.
9948 (decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
9949 with equal string addresses as equal.
9950 (simplify_subtraction): Adapt to struct rtx_const change.
9951
9952 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9953
9954 * fix-header.c (read_scan_file): Read main file before handling -D.
9955
9956 2003-03-15 Roger Sayle <roger@eyesopen.com>
9957
9958 * c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
9959 * c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
9960 * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
9961 (find_sub_basic_blocks): Likewise.
9962 * cgraphunit.c (cgraph_expand_functions): Likewise.
9963 * dwarf2out.c (prune_unused_types): Likewise.
9964 * expr.c (store_field): Likewise.
9965 * genextract.c (print_path): Likewise.
9966 * haifa-sched.c (schedule_insn): Likewise.
9967 * lcm.c (compute_antinout_edge): Likewise.
9968 * loop-unroll.c (decide_peel_once_rolling): Likewise.
9969 * ra-colorize.c (ra_colorize_free_all): Likewise.
9970 * ra-debug.c (dump_igraph): Likewise.
9971 (debug_hard_reg_set): Likewise.
9972 * reg-stack.c (reg_to_stack): Likewise.
9973 * rtlanal.c (refers_to_regno_p): Likewise.
9974 * tracer.c (layout_superblocks): Likewise.
9975
9976 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9977
9978 * fix-header.c (read_scan_file): Fix thinko.
9979
9980 2003-03-15 Glen Nakamura <glen@imodulo.com>
9981
9982 * reload1.c (choose_reload_regs): Use && instead of ||
9983 with REG_CANNOT_CHANGE_MODE_P condition.
9984
9985 2003-03-15 Neil Booth <neil@daikokuya.co.uk>
9986
9987 * Makefile.in: Update.
9988 * c-common.h (cb_register_builtins): Rename c_cpp_builtins.
9989 * c-lex.c (init_c_lex): Register builtins hook is dead.
9990 * c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
9991 (c_common_decode_option): Don't call cpp_handle_option.
9992 Handle -A, -D and -U.
9993 (handle_deferred_opts): Simplify.
9994 (finish_options): Define builtins and command line macros.
9995 * c-ppoutput.c (init_pp_output): Register builtins hook is dead.
9996 * cppinit.c: Don't include intl.h.
9997 (init_builtins): Rename cpp_init_builtins. No hook to call.
9998 (init_library): Don't need to sort options.
9999 (cpp_create_reader): Don't set pending.
10000 (cpp_destroy): Don't free pending.
10001 (struct pending_option, cl_directive_handler, struct cpp_pending,
10002 APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
10003 cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
10004 cl_options, cpp_handle_option): Remove.
10005 * cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
10006 cpp_finish_options): Remove.
10007 (cpp_init_builtins): New.
10008 * fix-header.c (read_scan_file): Update to handle -D. Fix
10009 handling of -I. Replace call to cpp_finish_options.
10010
10011 2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
10012
10013 PR optimization/9387
10014 * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
10015 for conditional returns.
10016
10017 2003-03-14 Jason Merrill <jason@redhat.com>
10018
10019 PR optimization/6871
10020 * varasm.c (assemble_variable): Leave constant zeroes in .rodata.
10021
10022 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
10023
10024 * c-opts.c (finish_options): New.
10025 (COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
10026 (missing_arg): Handle OPT_include and OPT_imacros.
10027 (c_common_init, c_common_parse_file): Use finish_options.
10028 (handle_deferred_opts): Update.
10029 * cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
10030 (cpp_finish_options): Don't handle -imacros here.
10031 (no_fil): Remove.
10032 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
10033
10034 2003-03-14 Jakub Jelinek <jakub@redhat.com>
10035
10036 * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
10037 rs6000_maybe_dead if !fromprolog.
10038
10039 2003-03-14 Neil Booth <neil@daikokuya.co.uk>
10040
10041 * Makefile.in: Update.
10042 * c-common.h (fe_file_change, pp_file_change): New.
10043 * c-lex.c (init_c_lex): Don't set cb_file_change.
10044 (c_common_parse_file): Move to c-opts.c.
10045 (cb_file_change): Rename fe_file_change.
10046 * c-opts.c: Include debug.h.
10047 (warn_unused_macros, include_cursor): New.
10048 (push_command_line_include, cb_file_change): New.
10049 (COMMAND_LINE_OPTIONS): Handle -include.
10050 (c_common_decode_option): Use local warn_unused_macros.
10051 Handle OPT_include.
10052 (c_common_post_options): Set file change callback.
10053 (handle_deferred_opts): Skip -include. Don't free the array.
10054 (c_common_init): Call cpp_finish_options here, and push an
10055 initial -include file.
10056 * c-ppoutput.c (cb_file_change): Rename pp_file_change.
10057 (preprocess_file): Don't call cpp_finish_options.
10058 (init_pp_output): Don't set the file change callback.
10059 (pp_file_change): Return if no line commands or no output.
10060 * cpphash.h (next_include_file, first_unused_line): Remove.
10061 * cppinit.c (include_head, include_tail): Remove.
10062 (cpp_destroy): Don't free -include chain.
10063 (cpp_finish_options): Don't handle -include, or worry about
10064 -Wunused-macros.
10065 (_cpp_maybe_push_include_file): Remove.
10066 (COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
10067 * cpplib.c (_cpp_pop_buffer): Don't handle -include.
10068 * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
10069 Used flag is set based upon the state of the warn_unused_macros
10070 flag, and so use of first_unused_line is unnecessary.
10071
10072 2003-03-13 Jan Hubicka <jh@suse.cz>
10073
10074 * cselib.c (clear_table): Do not take argument; always clear just
10075 used slots.
10076 (cselib_process_insn): Update call of clear_table
10077 (cselib_init): Do not call clear_table.
10078 (cselib_finish): Clear table.
10079
10080 * cse.c (count_reg_usage): Do not check side_effects_p.
10081 * rtlanal.c (set_noop_p): Check side_effects_p only when set looks
10082 like noop.
10083 (find_reg_equal_equiv_note): Do not use find_reg_note.
10084
10085 2003-03-14 Richard Henderson <rth@redhat.com>
10086
10087 PR target/9700
10088 * config/alpha/alpha.c (alpha_va_start): Account for
10089 current_function_pretend_args_size in the AP offset.
10090
10091 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
10092 (INITIAL_ELIMINATION_OFFSET): Move out of line.
10093 * config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
10094 (alpha_initial_elimination_offset) New.
10095 * config/alpha/alpha-protos.h: Update.
10096
10097 2003-03-14 Jakub Jelinek <jakub@redhat.com>
10098
10099 * stmt.c (expand_start_case): Call emit_queue ().
10100
10101 2003-03-14 Chris Demetriou <cgd@broadcom.com>
10102 Alexandre Oliva <aoliva@redhat.com>
10103
10104 * config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
10105 words in new abis.
10106
10107 2003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
10108
10109 PR optimization/8396
10110 * tree-inline.c (initialize_inlined_parameters): Make sure the value
10111 of read-only constant arguments is passed with the right type.
10112
10113 2003-03-14 Steven Bosscher <steven@gcc.gnu.org>
10114
10115 * doc/extend.texi (Function Names): Make the example compilable.
10116
10117 2003-03-13 David Edelsohn <edelsohn@gnu.org>
10118
10119 * config/rs6000/rs6000.c (processor_target_table): Really allow
10120 GP optional instructions on Power4.
10121
10122 2003-03-13 Roger Sayle <roger@eyesopen.com>
10123
10124 * calls.c (flags_from_decl_or_type): Factor and remove redundant
10125 conditional tests.
10126
10127 2003-03-13 Mike Stump <mrs@apple.com>
10128
10129 * ggc-page.c (struct page_entry): Remove varray.h header.
10130 Add index_by_depth field.
10131 Remove save_in_use_p field.
10132 (struct globals): Add depth_in_use, depth_max, by_depth_in_use,
10133 by_depth_max, by_depth, and save_in_use fields.
10134 (INITIAL_PTE_COUNT): Add.
10135 (save_in_use_p_i): Add.
10136 (save_in_use_p): Add.
10137 (adjust_depth): Add.
10138 (move_ptes_to_front): Add.
10139 (push_depth): Add.
10140 (push_by_depth): Add.
10141 (prefetch): Add.
10142 (free_page): Add support for and use faster data structures.
10143 (ggc_alloc): Likewise.
10144 (init_ggc): Likewise.
10145 (ggc_recalculate_in_use_p): Likewise.
10146 (ggc_pop_context): Likewise.
10147 (clear_marks): Likewise.
10148 (ggc_pch_read): Likewise.
10149 * Makefile.in (ggc-page.o): Remove varray.h.
10150
10151 2003-03-13 Nathanael Nerode <neroden@gcc.gnu.org>
10152
10153 * ChangeLog: Rotated last year's entries to...
10154 * ChangeLog.8: New.
10155
10156 * config/ia64/fde-glibc.c, config/ia64/freebsd.h,
10157 config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
10158 config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
10159 config/ia64/ia64-protos.h, config/ia64/ia64.c,
10160 config/ia64/ia64.h, config/ia64/ia64.md,
10161 config/ia64/itanium1.md, config/ia64/itanium2.md,
10162 config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
10163 config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
10164
10165 2003-03-13 Aldy Hernandez <aldyh@redhat.com>
10166
10167 * config/rs6000/rs6000.c (rs6000_dwarf_register_span):
10168 Differentiate endianness.
10169 (s6000_override_options): Use cpu type instead of TARGET_SPE.
10170
10171 2003-03-13 Nick Clifton <nickc@redhat.com>
10172
10173 * config/arm/arm.c (print_multi_reg): Do not generate a type 2
10174 LDM instructions with writeback enabled.
10175 (output_return_instruction): Likewise.
10176
10177 * config/arm/pe.h (FIXED_REGISTERS): Remove definition.
10178 (CALL_USED_REGISTERS): Remove definition.
10179 (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
10180
10181 2003-03-13 Alan Modra <amodra@bigpond.net.au>
10182
10183 * config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
10184 (rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
10185 (rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
10186 (rs6000_override_options): Don't clear flag_pic for ABI_AIX.
10187 (rs6000_legitimize_address): Formatting.
10188 (rs6000_emit_move): Likewise.
10189 (rs6000_return_addr): Test ABI_AIX as well as flag_pic.
10190 (rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
10191 (rs6000_elf_select_section): Comment reason for shlib being
10192 set for ABI_AIX.
10193 (rs6000_elf_unique_section): Likewise.
10194 (rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
10195 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
10196 as well as flag_pic.
10197 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
10198 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
10199 * config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
10200
10201 2003-03-13 Richard Henderson <rth@redhat.com>
10202
10203 * emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
10204
10205 * config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10206 (ia64_gp_save_reg): Remove.
10207 (struct ia64_frame_info): Move to the beginning of the file;
10208 add reg_save_gp.
10209 (ia64_expand_call): Rearrange for new call patterns.
10210 (ia64_reload_gp): New.
10211 (ia64_split_call): New.
10212 (ia64_compute_frame_size): Allocate reg_save_gp.
10213 (ia64_expand_prologue): Save reg_save_gp.
10214 (ia64_expand_epilogue): Don't restore gp.
10215 (ia64_hard_regno_rename_ok): Remove R4 hack.
10216 (ia64_function_ok_for_sibcall): New.
10217 (ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
10218 call try_split on sibcall pattern.
10219 * config/ia64/ia64-protos.h: Update.
10220 * config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
10221 Rename from nopic versions. Confiscate 2nd argument to call as
10222 a marker.
10223 (call_pic, call_value_pic, sibcall_pic): Remove.
10224 (call_gp, call_value_gp, sibcall_gp): New.
10225 (builtin_setjmp_setup): Remove.
10226 (builtin_setjmp_receiver): Call ia64_reload_gp.
10227
10228 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
10229
10230 * config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
10231 config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
10232 "GNU CC" with "GCC".
10233
10234 * config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
10235 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
10236 config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
10237 GCC, not GNU CC.
10238
10239 * genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
10240 langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
10241
10242 * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
10243 langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
10244 unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
10245 "GNU CC" with "GCC".
10246
10247 * config/v850/lib1funcs.asm, config/v850/rtems.h,
10248 config/v850/v850-c.c, config/v850/v850-protos.h,
10249 config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
10250 GCC, not GNU CC.
10251
10252 * config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
10253 config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
10254 config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
10255 config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
10256 GNU CC.
10257
10258 2003-03-12 Benjamin Kosnik <bkoz@redhat.com>
10259
10260 * cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
10261
10262 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
10263
10264 * fixinc/fixinc.interix: Remove dead code (most of it).
10265 * fixinc/fixinc.dgux: Remove.
10266
10267 * ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
10268 ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
10269
10270 2003-03-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10271
10272 * pa.c (pa_init_builtins): Fix warning.
10273
10274 2003-03-12 Steve Ellcey <sje@cup.hp.com>
10275
10276 * config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
10277 (ASM_OUTPUT_XDATA_SHORT): Remove.
10278 (ASM_OUTPUT_XDATA_INT): Remove.
10279 (ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
10280 (ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
10281 (ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
10282 (CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
10283
10284 2003-03-12 Andrew Lewycky <andrew@mxc.ca>
10285
10286 PR c++/7050
10287 * expr.c (store_expr): Don't attempt to store void-typed trees,
10288 just evaluate them for side effects.
10289
10290 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
10291
10292 * cppfiles.c (cpp_rename_file, cpp_push_include): New.
10293 * cppinit.c (push_include): Move with changes to cppfiles.c.
10294 (cpp_read_main_file): Mark named operators here...
10295 (cpp_finish_options): ...not here. Update.
10296 (_cpp_maybe_push_include_file): Update.
10297 * cpplib.h (cpp_push_include, cpp_rename_file): New.
10298
10299 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
10300
10301 * aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
10302 _gcc_COMPUTE_GAS_VERSION.
10303 * configure.in: Use them.
10304 * configure: Regenerate.
10305
10306 2003-03-12 Bob Wilson <bob.wilson@acm.org>
10307
10308 * config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
10309 to detect carry.
10310 (subdi3): Reorder emitted instructions.
10311
10312 2003-03-12 Andreas Jaeger <aj@suse.de>
10313
10314 * config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
10315 NETBSD_OS_CPP_BUILTINS_LP64.
10316
10317 2003-03-12 Nathanael Nerode <neroden@gcc.gnu.org>
10318
10319 * Makefile.in: Eliminate all.indirect. Update and clean up comments.
10320 Rearrange. Reorganize.
10321 * configure.in: Rearrange.
10322 * configure: Regenerate.
10323
10324 2003-03-12 Andreas Jaeger <aj@suse.de>
10325
10326 * c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
10327 LP64 targets.
10328
10329 * doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
10330 _LP64.
10331
10332 * config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
10333 _LP64 macros here.
10334 * config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10335
10336 * config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
10337 NETBSD_OS_CPP_BUILTINS_LP64.
10338 * config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
10339 * config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
10340
10341 * config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
10342
10343 2003-03-12 Jan Hubicka <jh@suse.cz>
10344
10345 * i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
10346
10347 2003-03-12 Daniel Jacobowitz <drow@mvista.com>
10348
10349 Fix PR target/9797 and PR c/9853.
10350 * stmt.c (expand_decl_init): Call push_temp_slots () and
10351 pop_temp_slots ().
10352
10353 2003-03-12 J"orn Rennecke <joern.rennecke@superh.com>
10354
10355 * sh.c: Include basic-block.h.
10356 (sh_output_mi_thunk, emit_load_ptr): New functions.
10357 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
10358
10359 2003-03-12 Nick Clifton <nickc@redhat.com>
10360
10361 * config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
10362 (CALL_USED_REGISTERS): Likewise.
10363 * config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
10364 describing how this value is calculated.
10365
10366 2003-03-12 Hans-Peter Nilsson <hp@bitrange.com>
10367
10368 * configure.in (rlim_t): Define to long if no valid definition
10369 found in sys/resource.h.
10370 * config.in, configure: Regenerate.
10371
10372 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
10373
10374 * config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
10375 TARGET_OS_CPP_BUILTINS.
10376 * config/mcore/mcore-pe.h: Similarly.
10377 * config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
10378 CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
10379
10380 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
10381
10382 PR c/9928
10383 * c-decl.c (duplicate_decls): Discard the initializer of the new decl
10384 only if it is a VAR_DECL.
10385
10386 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
10387
10388 PR optimization/9888
10389 * config/i386/i386.md (jcc_1): Fix range.
10390 (jcc_2): Likewise.
10391 (jump): LIkewise.
10392 (doloop_end_internal): Likewise.
10393
10394 2003-03-12 Danny Smith <dannysmith@users.sourceforge.net>
10395
10396 * config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
10397 Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
10398 (DLL_EXPORT_PREFIX): New define. Use throughout instead of
10399 DLL_IMPORT_EXPORT_PREFIX and "i."
10400 (i386_pe_dllexport_name_p): Here.
10401 (i386_pe_dllimport_name_p): Here.
10402 (i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
10403 not 9 chars when getting identifier name.
10404 (i386_pe_mark_dllimport): Here.
10405 (i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
10406 not 9 chars when getting identifier name. Correct comment.
10407 (i386_pe_strip_name_encoding): Here. Add comments for different
10408 cases.
10409 (gen_fastcall_suffix): Break down xmalloc() argument to
10410 components.
10411 (gen_stdcall_suffix): Likewise.
10412 Update copyright year.
10413
10414 2003-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
10415
10416 PR optimization/9888
10417 * config/i386/i386.md (movsi_1): Remove special alternatives
10418 for %eax register.
10419 (movsi_1_nointernunit): Likewise.
10420 (movhi_1): Likewise.
10421 * config/i386/i386.c (memory_address_length): Do not use
10422 short displacement when there is no base.
10423 (ix86_attr_length_address_default): Handle LEA instructions.
10424
10425 2003-03-12 Neil Booth <neil@daikokuya.co.uk>
10426
10427 * c-cppbuiltin.c (builtin_define_std): Make non-static.
10428
10429 2003-03-11 Loren James Rittle <ljrittle@acm.org>
10430
10431 * config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
10432 (FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
10433 (FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
10434 * config/freebsd.h (CPP_PREDEFINES): Remove.
10435 (TARGET_OS_CPP_BUILTINS): New.
10436 * config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
10437 instead of TARGET_OS_CPP_BUILTINS.
10438 * config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
10439
10440 2003-03-11 Geoffrey Keating <geoffk@apple.com>
10441
10442 * c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
10443
10444 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
10445
10446 * config/rs6000/rs6000.c (rs6000_stack_info): Remove
10447 insn_chain_scanned. Use insn_chain_scanned_p in machine_function.
10448
10449 * config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
10450
10451 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
10452
10453 * toplev.c (independent_decode_option): Return success for --help,
10454 --target-help and --version.
10455
10456 2003-03-11 Alexandre Oliva <aoliva@redhat.com>
10457
10458 * config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
10459 Default to -mips3 on -mabi=64. Don't add -mips* flag if -march is
10460 specified.
10461 (SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
10462 DRIVER_SELF_SPECS.
10463 (LINK_SPEC): Let endian options affect the linker emulation name.
10464
10465 2003-03-11 J"orn Rennecke <joern.rennecke@superh.com>
10466
10467 * sh.md (reload_inqi): Fix mode for source in second set.
10468
10469 2003-03-11 Jan Hubicka <jh@suse.cz>
10470
10471 * cselib.c (cselib_invalidate_mem_1): Move too ...
10472 (cselib_invalidate_mem): ... here; use new list
10473 (dummy_val, first_containing_mem): New static variables.
10474 (clear_table): Initialize first_containing_mem.
10475 (discard_useless_values): Compact the containing_mem list.
10476 (add_mem_for_addr): Add to the list.
10477 * cselib.h (cselib_val): Add next_containing_mem.
10478
10479 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
10480
10481 * config/rs6000/rs6000.c (rs6000_override_options): Disable string
10482 instructions for e500.
10483
10484 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
10485
10486 * Makefile.in: Update.
10487 * c-cppbuiltin.c: Include tm_p.h.
10488
10489 2003-03-11 Aldy Hernandez <aldyh@redhat.com>
10490
10491 * doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
10492
10493 * unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
10494 (_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
10495 (_Unwind_SetGR): Same.
10496 (_Unwind_GetGRPtr): New.
10497 (_Unwind_SetGRPtr): New.
10498 (uw_update_context_1): Use accesor functions instead of accessing
10499 context->reg[] directly.
10500 (uw_install_context_1): Same.
10501 (execute_cfa_program): Same.
10502 (__frame_state_for): Same.
10503
10504 * config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
10505 the synthetic register offset.
10506
10507 * config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
10508
10509 2003-03-11 Hans-Peter Nilsson <hp@axis.com>
10510
10511 * config/cris/cris.md: Remove lingering EGCS reference.
10512 ("*extopqihi_side_biap"): For HI operation, match
10513 cris_additive_operand_extend_operator, not
10514 cris_operand_extend_operator. Adjust condition.
10515 ("*extopqihi_side", "*extopqihi"): Ditto.
10516 ("*extopqisi_side_biap"): Correct operand numbers in condition.
10517 ("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
10518 ("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
10519 ("*extophisi_swap"): Ditto.
10520 ("*extopqihi_swap_side_biap"): For HI operation, match a simple
10521 PLUS, not cris_operand_extend_operator. Adjust condition and
10522 output template.
10523 ("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
10524 * config/cris/cris.h (PREDICATE_CODES): Add
10525 cris_additive_operand_extend_operator.
10526 * config/cris/cris.c (cris_additive_operand_extend_operator):
10527 New predicate.
10528
10529 2003-03-11 Hartmut Penner <hpenner@de.ibm.com>
10530
10531 * df.c (read_modify_subreg_p): Change from static to global.
10532 * df.h (read_modify_subreg_p): Add prototype.
10533 * sched-deps.c (sched_analyze_1): Generate true dependency for
10534 strict_low_part, certain subregs and zero/sign_extract.
10535
10536 2003-03-11 Neil Booth <neil@daikokuya.co.uk>
10537
10538 * Makefile.in: Update.
10539 * c-common.c: Don't include real.h or except.h.
10540 (REGISTER_PREFIX): Remove.
10541 (builtin_define_std, builtin_define_with_value,
10542 builtin_define_with_int_value, builtin_define_with_hex_fp_value,
10543 builtin_define_type_max, builtin_define_type_precision,
10544 builtin_define_float_constants): Move to c-cppbuiltin.c.
10545 (c_stddef_cpp_builtins): New.
10546 * c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
10547 * c-cppbuiltin.c: New, extracted from c-common.c.
10548 (define__GNUC__): New.
10549 * cppspec.c (lang_specific_driver): Remove support of -no-gcc.
10550 * gcc.c: Remove support of %v1, %v2 and %v3 specs.
10551 (cpp_unique_options): Don't support no-gcc.
10552 (do_spec_1): Remove support of version specs.
10553 * doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
10554 * doc/passes.texi: Update.
10555 * doc/tm.texi: Update.
10556
10557 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
10558
10559 * dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
10560
10561 2003-03-10 Andrew Pinski <apinski@apple.com>
10562
10563 * config/darwin.c (machopic_function_base_name): If dynamic-no-pic
10564 is on should not get here.
10565 (machopic_indirect_data_reference): If dynamic-no-pic is on just
10566 generate high/low parts of the address.
10567 (machopic_legitimize_pic_address): Change MACHOPIC_PURE to
10568 MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
10569 symbol and labels with a new reg. Dynamic-no-pic does not have a
10570 pic_offset_table_rtx.
10571 (machopic_select_section): Change references of flag_pic to
10572 MACHOPIC_INDIRECT.
10573 (machopic_asm_out_destructor): Likewise.
10574 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
10575 reference of flag_pic to MACHOPIC_INDIRECT.
10576 (MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
10577 (MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
10578 (MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
10579 (MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
10580 * config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
10581 0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
10582 * config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
10583 (TARGET_DYNAMIC_NO_PIC): Define.
10584 (SUBTARGET_SWITCHES): Define, have sub-target switches for
10585 dynamic-no-pic.
10586 (SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
10587 rs6000_override_options to here. Dynamic-no-pic overrides
10588 pic.
10589 (CC1_SPEC): Change from not static then pic to not static and not
10590 dynamic-no-pic then pic.
10591 * config/rs6000/rs6000.c (rs6000_override_options): Move the
10592 check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
10593 (rs6000_legitimize_reload_address): Add case for loading floating in
10594 dynamic-no-pic.
10595 (rs6000_emit_move): Add case for dynamic-no-pic. Change reference
10596 of flag_pic to MACHOPIC_INDIRECT.
10597 (secondary_reload_class): Conditional change the reference of
10598 flag_pic to MACHOPIC_INDIRECT.
10599 (rs6000_output_mi_thunk): Change reference of flag_pic to
10600 MACHOPIC_INDIRECT.
10601 (output_profile_hook): Likewise.
10602 (machopic_output_stub): Non-pure (dynamic-no-pic) is now supported.
10603 * config/rs6000/rs6000.md (movdf_low): Add the case for
10604 MACHO_DYNAMIC_NO_PIC_P.
10605 (call): Change references for flag_pic in TARGET_MACHO to
10606 MACHOPIC_INDIRECT.
10607 (SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
10608 -mdynamic-no-pic is on. Also move case for -fpic from rs6000.c.
10609 * doc/invoke.texi (-mdynamic-no-pic): Document.
10610
10611 2003-03-10 Devang Patel <dpatel@apple.com>
10612
10613 PR c++/9394
10614 * gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
10615 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
10616 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
10617 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
10618 * cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
10619 (DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
10620
10621 2003-03-10 Steven Bosscher <s.bosscher@student.tudelft.nl>
10622
10623 PR optimization/7189
10624 * toplev.c (rest_of_compilation): Move
10625 check_function_return_warnings up to just after
10626 delete_unreachable_blocks.
10627
10628 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
10629
10630 * config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
10631 * config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
10632 Declare.
10633 * config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
10634 for reg rename optimization to avoid using Z and Y registers.
10635
10636 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
10637
10638 * config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
10639 when adding to X and Y since leax/leay are fast.
10640 ("*addhi3"): Accept 'I' constraint when adding to address register.
10641 ("rotlhi3"): Operand 1 must be a register_operand.
10642 (peephole2): New peephole to optimize some adds.
10643 * config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
10644 to represent -2 .. 2 small integer range.
10645
10646 2003-03-10 Stephane Carrez <stcarrez@nerim.fr>
10647
10648 * config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
10649 each 16-bit rotation.
10650
10651 2003-03-10 Zack Weinberg <zack@codesourcery.com>
10652
10653 * c-opts.c (add_prefixed_path): Don't use concat. When
10654 prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
10655 cpp_GCC_INCLUDE_DIR_len characters.
10656
10657 2003-03-10 Segher Boessenkool <segher@koffie.nl>
10658
10659 * testsuite/gcc.dg/altivec-9.c: New file.
10660
10661 * config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
10662 (rs6000_emit_prologue): Use rs6000_frame_related instead.
10663
10664 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
10665
10666 * config/rs6000/spe.h: Define __ev64_*64__ to use single element
10667 vectors.
10668 (__ev_convert_u64): Remove macro. Define as inline.
10669 (__ev_convert_s64): Same.
10670
10671 2003-03-10 Aldy Hernandez <aldyh@redhat.com>
10672
10673 * config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
10674 (rs6000_stack_t): Add spe_64bit_regs_used.
10675
10676 * config/rs6000/rs6000.c (rs6000_stack_info): Calculate
10677 spe_64bit_regs_used, and use it to determine the size of the
10678 frame.
10679 (spe_func_has_64bit_regs_p): New.
10680 (spe_synthesize_frame_save): New.
10681 (rs6000_frame_related): Handle SPE synthetic registers.
10682 (rs6000_emit_prologue): Only save in 64-bits if the function used
10683 any registers in 64-bit mode.
10684 (rs6000_emit_epilogue): Same, but for restore.
10685
10686 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
10687
10688 * arm.h (enum floating_point_type): Delete. Replace with...
10689 (enum fputype): ... new.
10690 (FPUTYPE_DEFAULT): Renamed from FP_DEFAULT. Values reworked.
10691 * linux-elf.h (FPUTYPE_DEFAULT): Likewise.
10692 * arm.md (attr fpu): Reworked for new underlying enum values.
10693 * arm.c (arm_fpu_arch): Now enum fputype.
10694 (arm_fpu_tune): Renamed from arm_fpu. Now enum fputype.
10695 (arm_override_options, arm_output_epilogue, arm_expand_prologue):
10696 Update uses of arm_fpu_arch and arm_fpu_tune.
10697
10698 2003-03-10 Josef Zlomek <zlomekj@suse.cz>
10699
10700 * cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
10701 (try_crossjump_to_edge): Replace refereces to one jump table by
10702 references to identical jump table.
10703 * loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
10704 (replace_label): Moved to rtlanal.c.
10705 (struct rtx_pair): Moved to rtl.h.
10706 * rtl.h (struct rtx_pair): Moved from loop.c.
10707 (replace_label): New extern function.
10708 (subrtx_p): New extern function.
10709 (tablejump_p): New extern function.
10710 * rtlanal.c (replace_label): Moved from loop.c.
10711 (subrtx_p_1): New static function.
10712 (subrtx_p): New function.
10713 (tablejump_p): New function.
10714
10715 2003-03-10 Jan Hubicka <jh@suse.cz>
10716
10717 * cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
10718
10719 * cfgcleanup.c (merge_blocks): Return where to iterate next.
10720 (try_optimize_cfg): Use return value of merge_blocks
10721
10722 2003-03-10 Michael Matz <matz@suse.de>
10723
10724 * cfg.c (unchecked_make_edge): New.
10725 (cached_make_edge): Use it.
10726 * basic-block.h (unchecked_make_edge): Declare.
10727 * cfglayout.c (cfg_layout_duplicate_bb): Use it.
10728
10729 2003-03-10 Richard Earnshaw <rearnsha@arm.com>
10730
10731 * fpa.md: New file. Move all patterns relating to FPA co-processor
10732 to here...
10733 * arm.md: ... from here.
10734 (cirrus.md, fpa.md): Include at end of description.
10735 (divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
10736 (pic_load_addr_based): Remove register constraint from expander.
10737 (seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
10738 (sordered, sungt, sunle, sunge, sunlt): Likewise.
10739 (eh_epilogue, tablejump): Likewise.
10740
10741 2003-03-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10742
10743 * tree.c (substitute_in_expr, case 'e'): Only make recursive call
10744 on operands if it has a PLACEHOLDER_EXPR.
10745
10746 2003-03-09 David Edelsohn <edelsohn@gnu.org>
10747 Mostafa Hagog
10748
10749 * config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
10750 condition.
10751
10752 2003-03-09 Neil Booth <neil@daikokuya.co.uk>
10753
10754 * config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
10755 * config/ip2k/ip2k.h: Similarly.
10756 * config/m32r/m32r.h: Similarly.
10757 * config/m68hc11/m68hc11.h: Similarly.
10758 * config/mn10200/mn10200.h: Similarly.
10759 * config/mn10300/mn10300.h: Similarly.
10760 * config/pdp11/pdp11.h: Similarly.
10761 * config/v850/v850.h: Similarly.
10762 * config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
10763 * config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
10764 * config/mips/iris3.h: Remove #if 0 block.
10765
10766 2003-03-09 Roger Sayle <roger@eyesopen.com>
10767 Joern Rennecke <joern.rennecke@superh.com>
10768
10769 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
10770 pending argument upon return from handle_braces here.
10771 (do_spec_2): Instead handle it upon return from do_spec_1 here.
10772
10773 2003-03-09 Roger Sayle <roger@eyesopen.com>
10774 Joern Rennecke <joern.rennecke@superh.com>
10775
10776 * gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch. Don't handle
10777 pending argument upon return from handle_braces here.
10778 (do_spec_2): Instead handle it upon return from do_spec_1 here.
10779
10780 2003-03-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10781
10782 * varasm.c (make_decl_one_only): Use declare_weak().
10783
10784 2003-03-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10785
10786 PR middle-end/9986
10787 * c-common.c (c_common_nodes_and_builtins): Initialize target builtins
10788 after the common builtins.
10789 * pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
10790 * pa.c (TARGET_INIT_BUILTINS): Define.
10791 (pa_init_builtins): New function.
10792
10793 * pa.md (call, call_value, sibcall, sibcall_value): When sufficient
10794 space has been allocated for the outgoing arguments, set the arg
10795 pointer for a call emitted after virtuals have been instantiated
10796 using the stack pointer offset, otherwise abort.
10797
10798 2003-03-09 DJ Delorie <dj@redhat.com>
10799
10800 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
10801
10802 2003-03-09 Richard Earnshaw <rearnsha@arm.com>
10803
10804 * arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
10805 (arm_fix_truncdfsi2): Add missing fix in floating point mode before
10806 conversion to integer.
10807 * cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
10808
10809 2003-03-09 Roger Sayle <roger@eyesopen.com>
10810
10811 * builtins.def: Fix typo and improve grammar.
10812 * loop-unroll.c (decide_peel_completely): Tidy log message.
10813
10814 2003-03-09 Kazu Hirata <kazu@cs.umass.edu>
10815
10816 * config/h8300/h8300.md (*tstsi_upper_bit): New.
10817 (*iorsi3_e2f): Likewise.
10818
10819 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
10820
10821 * config/h8300/h8300.c (h8300_and_costs): Return the number of
10822 assembly instructions needed.
10823 (h8300_shift_costs): Likewise.
10824
10825 2003-03-09 Hans-Peter Nilsson <hp@bitrange.com>
10826
10827 * config/cris/aout.h (ENDFILE_SPEC): Undef.
10828
10829 * optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
10830 moves from here ...
10831 * expr.c (emit_move_insn_1): ... to here.
10832
10833 * config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
10834 (TARGET_OS_CPP_BUILTINS): New macro.
10835 * config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
10836 (TARGET_OS_CPP_BUILTINS): New macro.
10837 (CPP_PREDEFINES): Don't define. Move old definitions and...
10838 (CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
10839 (TARGET_CPU_CPP_BUILTINS): New macro.
10840 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
10841 definitions and the optional __PIC__, __pic__ and
10842 __NO_UNDERSCORES__ definitions to...
10843 (TARGET_OS_CPP_BUILTINS): New macro.
10844
10845 * flags.h (flag_leading_underscore): Declare.
10846
10847 * c-opts.c (c_common_post_options): On fopen failure, return
10848 false, not NULL.
10849
10850 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10851
10852 * config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
10853 config.h.
10854 * config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
10855 * config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
10856
10857 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10858
10859 * config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
10860 CPP_PREDEFINES.
10861 * config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
10862 CPP_PREDEFINES.
10863
10864 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10865
10866 * c-common.h (c_common_init, c_common_post_options): Update.
10867 * c-objc-common.c (c_objc_common_init): Update for new prototype.
10868 * c-opts.c (saved_lineno): New.
10869 (c_common_post_options, c_common_init): Update prototypes,
10870 move call to cpp_read_main_file from latter to former.
10871 * c-tree.h (c_ojbc_common_init): Update.
10872 * langhooks-def.h (lhd_post_options): New.
10873 (LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
10874 * langhooks.c (lhd_post_options): New.
10875 * langhooks.h (struct lang_hooks): Update post_options and init hooks.
10876 * toplev.c (no_backend): New.
10877 (process_options): Call post_options hook and set main_input_filename
10878 and input_filename here.
10879 (lang_dependent_init, do_compile): post_options hook moved to
10880 process_options.
10881 * objc/objc-act.c (objc_init): Update prototype.
10882 * objc/objc-act.h (objc_init): Update prototype.
10883
10884 2003-03-08 Roger Sayle <roger@eyesopen.com>
10885
10886 * emit-rtl.c (gen_lowpart): Don't attempt to load a part of
10887 a complex or vector type, using a load in the original mode.
10888
10889 2003-03-08 Jan Hubicka <jh@suse.cz>
10890
10891 * Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
10892 * gt-cgraph.h: New GC file.
10893 * cgraph.c (known_fns): New static variable.
10894 (cgraph_node): Add the decl into varray.
10895
10896 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10897
10898 * config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
10899
10900 2003-03-08 Richard Earnshaw <rearnsha@arm.com>
10901
10902 * arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
10903 (neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
10904 (output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
10905 (output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
10906 All callers changed.
10907 * arm.md, arm.h, arm-protos.h: Updated.
10908
10909 * arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
10910 (CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
10911 * arm.c (arm_regno_class, f_register_operand): Updated.
10912
10913 2003-03-08 Hans-Peter Nilsson <hp@bitrange.com>
10914
10915 * config/cris/cris.h: Remove EGCS references.
10916 (CPP_SPEC): Remove "-$".
10917 (INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
10918
10919 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10920
10921 * config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
10922 preference to CPP_PREDEFINES.
10923
10924 2003-03-08 Neil Booth <neil@daikokuya.co.uk>
10925
10926 * cppinit.c (cpp_finish_options): Set first_unused_line to -1.
10927
10928 2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
10929
10930 * config/h8300/h8300.md (*extzv_16_8): New.
10931
10932 2003-03-08 Jan Hubicka <jh@suse.cz>
10933
10934 * c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
10935 * cgraph.h: (cgraph_local_info): Add can_inline_once
10936 (cgraph_global_info): Add inline_once.
10937 (cgraph_node): Add previous.
10938 (cgraph_remove_node): New.
10939 * cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
10940 function.
10941 (cgraph_optimize): Call it.
10942 (cgraph_finalize_function): Set inlinable flags.
10943 (cgraph_finalize_compilation_unit): Actually remove the reclaimed nodes.
10944 (cgraph_mark_functions_to_output): Use new inlining heuristics flags.
10945 (cgraph_expand_function): Likewise.
10946 * cgraph.c
10947 (cgraph_node): Put nodes into doubly linked chain.
10948 (cgraph_remove_node): New function.
10949 * flags.h (flag_inline_functions_called_once): Declare.
10950 * tree-inline.c: Include cgraph.h
10951 (inlinable_functions_p): Add extra argument to bypass limits.
10952 (expand_call_inline): Obey cgraph flag.
10953 * tree-inline.h (tree_inlinable_function_p): Update prototype.
10954
10955 2003-03-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
10956
10957 * gcse.c (bypass_block, bypass_conditional_jumps): Do not create
10958 irreducible loops.
10959
10960 * loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
10961 loops info correctly.
10962
10963 2003-03-08 Eric Botcazou <ebotcazou@libertysurf.fr>
10964
10965 PR middle-end/7796
10966 * unroll.c (calculate_giv_inc): Handle constants being
10967 loaded with LSHIFTRT.
10968
10969 2003-03-07 David Edelsohn <edelsohn@gnu.org>
10970
10971 * config/rs6000/rs6000.c (processor_target_table): Do not disable
10972 GP optional instructions on Power3, Power4, 620, and 630.
10973
10974 2003-03-07 Kazu Hirata <kazu@cs.umass.edu>
10975
10976 * calls.c: Fix comment formatting.
10977 * cfgloopanal.c: Likewise.
10978 * cfgloopmanip.c: Likewise.
10979 * combine.c: Likewise.
10980 * dwarf2out.c: Likewise.
10981 * ggc-common.c: Likewise.
10982 * langhooks.c: Likewise.
10983 * loop-unroll.c: Likewise.
10984 * loop.c: Likewise.
10985 * ra-build.c: Likewise.
10986 * sbitmap.c: Likewise.
10987 * toplev.c: Likewise.
10988
10989 2003-03-07 James E Wilson <wilson@tuliptree.org>
10990
10991 * config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
10992
10993 2003-03-07 Geoffrey Keating <geoffk@apple.com>
10994
10995 * objc/lang-specs.h (objective-c-header): Use .gch not .pch;
10996 support -no-integrated-cpp.
10997
10998 * c-pch.c (get_ident): Use c_language_kind and flag_objc rather
10999 than langhooks.name.
11000
11001 2003-03-07 Michael Matz <matz@suse.de>
11002
11003 * df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
11004 (DF_FOR_REGALLOC): New.
11005 * df.c (df_ref_record): Set DF_REF_STRIPPED.
11006 (read_modify_subreg_p): Simplify.
11007 (df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
11008 Use DF_FOR_REGALLOC.
11009 * ra.h (struct web): New member subreg_stripped.
11010 (invalid_mode_change_regs): Declare.
11011 * ra.c (invalid_mode_change_regs): New.
11012 (init_ra): Initialize it.
11013 * ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
11014 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
11015 (reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
11016 * ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
11017 Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
11018
11019 2003-03-07 Richard Earnshaw <rearnsha@arm.com>
11020
11021 * arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
11022 (negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
11023 (fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
11024 machine description file from ...
11025 * cirrus.md: ... here.
11026
11027 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
11028
11029 * config/h8300/h8300.md (a peephole2): Don't use
11030 reg_overlap_mentioned_p.
11031
11032 2003-03-06 Geoffrey Keating <geoffk@apple.com>
11033
11034 * c-pch.c: Include langhooks.h.
11035 (IDENT_LENGTH): New.
11036 (get_ident): New.
11037 (pch_ident): Delete.
11038 (pch_init): Use get_ident, IDENT_LENGTH.
11039 (c_common_valid_pch): Likewise. Also, use actual language
11040 in warning message.
11041 * Makefile.in (c-pch.o): Add langhooks.h to dependencies.
11042
11043 * objc/config-lang.in (gtfiles): Add objc-act.c. Remove duplicate
11044 c-parse.in.
11045 * objc/Make-lang.in (objc/objc-act.o): Add dependency on
11046 gt-objc-objc-act.h.
11047 (gt-objc-objc-act.h): New rule.
11048 * objc/lang-specs.h: Support PCH.
11049 * objc/objc-act.c: Include gt-objc-objc-act.h.
11050 (objc_add_static_instance): Move num_static_inst out, mark for PCH.
11051 (build_selector_reference_decl): Move idx out, mark for PCH.
11052 (build_class_reference_decl): Likewise.
11053 (build_objc_string_decl): Move *_idx out, mark for PCH.
11054 (build_tmp_function_decl): Move xxx out, mark for PCH.
11055
11056 2003-03-06 Dale Johannesen <dalej@apple.com>
11057
11058 * config/rs6000/rs6000.c (rs6000_binds_local_p): Consider
11059 global functions for inlining on Darwin.
11060
11061 2003-03-06 Vladimir Makarov <vmakarov@redhat.com>
11062
11063 * haifa-sched.c (schedule_block): Don't call reorder when sorting
11064 is prohibited.
11065
11066 2003-03-06 Neil Booth <neil@daikokuya.co.uk>
11067
11068 * Makefile.in (c-ppoutput.o): Update.
11069 * c-common.h (init_pp_output): New.
11070 (preprocess_file): Update.
11071 * c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
11072 Register builtins.
11073 * c-opts.c (c_common_init): Call init_pp_output if preprocessing.
11074 Make call to cpp_read_main_file common to whether preprocessing
11075 or not. Don't register builtins.
11076 * c-ppoutput.c: Include c-pragma.h.
11077 (setup_callbacks): Rename init_pp_output.
11078 (preprocess_file): No longer setup callbacks or call
11079 cpp_read_main_file.
11080 * cpphash.h (_cpp_init_mbchar): New.
11081 * cppinit.c (init_library): Call _cpp_init_mbchar.
11082 * cpplex.c (_cpp_init_mbchar): New.
11083
11084 2003-03-06 Roger Sayle <roger@eyesopen.com>
11085
11086 * emit-rtl.c (gen_lowpart): When requesting the low-part of a
11087 MEM, try loading the MEM into a register and taking the low-part
11088 of that, to help CSE see the use of the MEM in its true mode.
11089
11090 2003-03-05 Tom Tromey <tromey@redhat.com>
11091
11092 * config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
11093 Define.
11094
11095 2003-03-05 Nick Clifton <nickc@cambridge.redhat.com>
11096
11097 * config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
11098 operand 2.
11099 ("*ineqbranchsi"): Likewise.
11100
11101 2003-03-05 Andrew Haley <aph@cambridge.redhat.com>
11102
11103 * config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
11104 mem_fake_push_rtx. Instead construct a SEQUENCE to show the
11105 register store followed by a stack increment.
11106
11107 2003-03-05 Chris Moller <cmoller@redhat.com>
11108
11109 * config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
11110 to inhibit saving CARRY_REGS.
11111
11112 * config/stormy16/stormy16.c (xs_hi_general_operand):
11113 added predicate to detect and error-out on out-of-range
11114 const_ints for movhi.
11115 * config/stormy16/stormy16.md (movhi): use
11116 xs_hi_general_operand.
11117
11118 * config/stormy16/stormy16.c (xstormy16_expand_prologue):
11119 added a check for local vbl size overflow.
11120 * config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
11121 added predicate to detect and error-out on out-of-range
11122 const_ints for addhi and subhi.
11123 * config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
11124 subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
11125
11126 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
11127 add a term to accept PRE_MODIFY addresses.
11128 * config/stormy16/stormy16.c (xstormy16_expand_move):
11129 add code to expand PRE_MODIFY addresses to an add followed
11130 by a move.
11131
11132 2003-03-06 Jason Merrill <jason@redhat.com>
11133
11134 * tree-inline.c (inlinable_function_p): Revert earlier change
11135 pending investigation.
11136
11137 2003-03-06 Kazu Hirata <kazu@cs.umass.edu>
11138
11139 * config/h8300/h8300.md (a new peephole2): New.
11140
11141 2003-03-06 Jan Hubicka <jh@suse.cz>
11142
11143 * cgraph.c (cgraph_node): Do not confuse nested functions and methods.
11144
11145 2003-03-06 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11146
11147 * dwarf2out.c (size_of_die): Compute size of external reference to
11148 die correctly.
11149
11150 2003-03-06 Hans-Peter Nilsson <hp@bitrange.com>
11151
11152 * config/mmix/mmix.md ("*movcc_expanded"): New pattern.
11153 ("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
11154 expanders.
11155
11156 2003-03-05 Roger Sayle <roger@eyesopen.com>
11157
11158 * expr.h (lang_expand_expr): Delete obsolete prototype.
11159
11160 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
11161
11162 * emit-rtl.c (gen_highpart_mode): Fix a comment typo.
11163
11164 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
11165
11166 * config/h8300/h8300.md (a peephole2): Generalize to
11167 accept a memory operand.
11168
11169 2003-03-05 Olivier Hainque <hainque@act-europe.fr>
11170
11171 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
11172 * config/alpha/alpha.c (print_operand, case '+'): New.
11173 * config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
11174 (call_value_osf_1_noreturn): Likewise.
11175
11176 2003-03-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11177
11178 * stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
11179 (expand_end_bindings): Likewise.
11180
11181 2003-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11182
11183 * pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
11184 (epilogue): Don't generate return_external_pic when emitting PA 2.0
11185 code.
11186
11187 2003-03-05 Aldy Hernandez <aldyh@redhat.com>
11188
11189 * doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
11190
11191 * config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
11192
11193 * hooks.c (hook_rtx_rtx_null): New.
11194
11195 * hooks.h (hook_rtx_rtx_null): Protoize.
11196
11197 * target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
11198 (TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
11199
11200 * target.h (struct gcc_target): Add dwarf_register_span.
11201
11202 * dwarf2out.c (multiple_reg_loc_descriptor): New.
11203 (one_reg_loc_descriptor): New.
11204 (reg_loc_descriptor): Add support for values that span more than
11205 one register.
11206
11207 2003-03-05 Jan Hubicka <jh@suse.cz>
11208
11209 * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
11210 * alias.c: Include cgraph.h
11211 (mark_constant_function): Use cgraph_rtl_info.
11212 * calls.c: Include cgraph.h
11213 (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
11214 calls.
11215 (expand_call): Use cgraph_rtl_info to set preferred stack boundary.
11216 * cgraph.c (cgraph_rtl_info): New function.
11217 * cgraph.h (cgraph_rtl_info): Declare
11218 (cgraph_rtl_info): Likewise.
11219 * function.h (struct function): Add recursive_call_emit.
11220 * toplev.c: Include cgraph.h.
11221 (rest_of_compilation): Set preferred_incoming_stack_boundary.
11222
11223 2003-03-05 Kazu Hirata <kazu@cs.umass.edu>
11224
11225 * config/h8300/h8300.c (output_simode_bld): Clear the
11226 destination first if possible.
11227 * config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
11228 alternative.
11229 (extzv_1_r_inv_h8300hs): Likewise.
11230
11231 2003-03-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11232
11233 * basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
11234 * cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
11235 * cfgloop.c (flow_loop_free): Made global.
11236 (establish_preds): New static function.
11237 (flow_loop_tree_node_add): Handle subloops of added loop correctly.
11238 (get_loop_exit_edges): New.
11239 (verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
11240 * cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
11241 * cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
11242 loops.
11243 * cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
11244 removability of an edge.
11245 (fix_irreducible_loops): New static function.
11246 (find_path, remove_path): Add ability to remove enclosing loops.
11247 (unloop): New.
11248 (copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
11249 flags.
11250 * cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
11251 * loop-unroll.c (peel_loops_completely): Do not duplicate loop if
11252 not neccessary.
11253 (decide_peel_completely, peel_loops_completely): Allow complete peeling
11254 of non-duplicable once rolling loops.
11255 * loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
11256
11257 2003-03-05 J"orn Rennecke <joern.rennecke@superh.com>
11258
11259 * sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
11260 for align_jumps is 4.
11261
11262 (SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
11263 use GENERAL_REGS.
11264
11265 2003-03-05 Stephane Carrez <stcarrez@nerim.fr>
11266
11267 * config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
11268 according to va_arg type.
11269 (EXPAND_BUILTIN_VA_ARG): Remove.
11270 * config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
11271 * config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
11272
11273 2003-03-05 David Edelsohn <edelsohn@gnu.org>
11274
11275 * config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
11276 else clauses.
11277
11278 2003-03-05 Michael Matz <matz@suse.de>
11279
11280 * i386/i386.c (ix86_save_reg): Also test
11281 current_function_uses_const_pool.
11282
11283 2003-03-05 Michael Matz <matz@suse.de>
11284
11285 * unwind.h: Add the GPL exception.
11286 * Makefile.in (USER_H): Add unwind.h.
11287
11288 2003-03-05 Eric Botcazou <ebotcazou@libertysurf.fr>
11289
11290 PR c/9799
11291 * c-typeck.c (push_init_level): Add sanity check.
11292
11293 2003-03-05 Jan Hubicka <jh@suse.cz>
11294
11295 * toplev.c (rest_of_compilation): Deffer RTL compilation only when
11296 RTL inlining is done.
11297
11298 * cgraphunit.c (cgraph_mark_local_functions): New local function.
11299 (cgraph_optimize): Mark local functions.
11300 * i386-protos.h (init_cumulative_args): Update prototype.
11301 * i386.c (init_cumulative_args): Use register passing convention for
11302 local functions.
11303
11304 * cgraph.c (cgraph_global_info_ready): New global variable
11305 (cgraph_local_info, cgraph_global_info): New functions.
11306 * cgraph.h (struct cgraph_local_info, cgraph_global_info): New
11307 structures.
11308 (cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
11309 Declare.
11310 * cgraphunit.c (cgraph_finalize_function): Set inline_many.
11311 (cgraph_mark_functions_to_output): Use inline_many.
11312 (cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
11313 (cgraph_expand_functions): Expand inline functions last.
11314 (cgraph_optimize): Do not emit uneeded functions.
11315
11316 2003-03-04 Steve Ellcey <sje@cup.hp.com>
11317
11318 * expr.c (convert_modes): Check for legal hard register.
11319
11320 2003-03-04 Tom Tromey <tromey@redhat.com>
11321
11322 * doc/sourcebuild.texi (Front End Directory): Document tags.
11323 * configure: Rebuilt.
11324 * configure.in (target_list): Added tags.
11325 * Makefile.in (TAGS): Depend on lang.clean. Include subdirectory
11326 TAGS files by reference.
11327 * objc/Make-lang.in (objc.tags): New target.
11328
11329 2003-03-04 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11330
11331 * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
11332 gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
11333 gcov_write_string, gcov_read_unsigned, gcov_read_counter,
11334 gcov_read_string, gcov_write_length): Modified to enable reading/
11335 writing of whole .da file just once.
11336 (da_file_open, da_file_close, da_file_eof, da_file_error,
11337 da_file_position, da_file_seek, da_file_write, da_file_read): New
11338 functions.
11339 (actual_da_file, actual_da_file_position, actual_da_file_length,
11340 actual_da_file_buffer, actual_da_file_buffer_size): New static
11341 functions.
11342 * libgcov.c (gcov_exit): Modified to read/write the whole .da file at
11343 just once.
11344
11345
11346 2003-03-04 Andreas Schwab <schwab@suse.de>
11347
11348 * config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
11349 offset without frame pointer.
11350
11351 2003-03-04 Steve Ellcey <sje@cup.hp.com>
11352
11353 * expr.c (expand_expr): Call promote_mode to set unsignedp.
11354
11355 2003-03-04 Daniel Jacobowitz <drow@mvista.com>
11356
11357 * configure.in: Don't always define TARGET_SYSTEM_ROOT.
11358 * configure: Regenerated.
11359 * gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
11360
11361 2003-03-04 Andreas Jaeger <aj@suse.de>
11362
11363 * configure.in: Check for <memcheck.h>.
11364 * configure: Regenerated.
11365
11366 * config.in: Define HAVE_MEMCHECK_H.
11367
11368 * ggc-common.c: Use <memcheck.h> if available instead of
11369 <valgrind.h>.
11370 * ggc-page.c: Likewise.
11371 * cppfiles.c: Likewise.
11372
11373 2003-03-04 Kazu Hirata <kazu@cs.umass.edu>
11374
11375 * config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
11376
11377 2003-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11378
11379 PR c/9262
11380 * c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
11381 (c_finish_case): Rechain the next statements to the SWITCH_STMT.
11382
11383 2003-03-04 Jan Hubicka <jh@suse.cz>
11384
11385 * doc/invoke.texi: Document that unit-at-a-time is enabled for -O3
11386 * toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
11387 for -O3.
11388
11389 2003-03-04 Nathanael Nerode <neroden@gcc.gnu.org>
11390
11391 * configure.in: Delete three unused variables. Move a variable
11392 definition closer to its use. Simplify use_collect2 logic. Start to
11393 organize. Simplify tests for in-tree gas and ld.
11394 * configure: Regenerate.
11395
11396 2003-03-04 Neil Booth <neil@daikokuya.co.uk>
11397
11398 * Makefile.in: Update.
11399 * c-common.c (flag_no_line_commands, flag_no_output,
11400 flag_dump_macros, flag_dump_includes): New.
11401 * c-common.h (flag_no_line_commands, flag_no_output,
11402 flag_dump_macros, flag_dump_includes, preprocess_file): New.
11403 (init_c_lex): Update prototype.
11404 * c-lex.c (init_c_lex): Update prototype; move some code to
11405 c_common_init.
11406 * c-opts.c (preprocess_file): Subsume into c_common_init.
11407 (c_common_decode_option): Update flags.
11408 (c_common_init): Move code from preprocess_file and init_c_lex.
11409 (sanitize_cpp_opts): Update.
11410 * c-ppoutput.c: New, cppmain.c almost verbatim.
11411 * cpphash.h (struct printer): Remove.
11412 (struct cpp_reader): Remove print.
11413 * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
11414 cpp_preprocess_file): Remove.
11415 (struct cpp_options): Remove no_output, no_line_commands, dump_macros
11416 and dump_includes.
11417 * cppmain.c: Remove.
11418 * doc/passes.texi: Update.
11419
11420 2003-03-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11421
11422 * function.c (STACK_ALIGNMENT_NEEDED): New macro. Default to 1.
11423 (assign_stack_local_1): Perform overall stack alignment only when
11424 STACK_ALIGNMENT_NEEDED is non-zero.
11425 * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
11426
11427 * pa.c (compute_frame_size): Rename fsize to size. Account for
11428 alignment to a word boundary before general register save block. Only
11429 account for double-word alignment before floating point register save
11430 block if one or more are saved. Don't allocate space for %r3 when
11431 frame pointer is needed.
11432 (hppa_expand_prologue): Include alignment to word boundary in local
11433 frame size.
11434 * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
11435 (STACK_ALIGNMENT_NEEDED): Define.
11436
11437 2003-03-04 Kevin Buettner <kevinb@redhat.com>
11438
11439 * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
11440 global register variables.
11441
11442 2003-03-04 Alexandre Oliva <aoliva@redhat.com>
11443
11444 * reload.c (reload_adjust_reg_for_mode): New function.
11445 (subst_reloads): Call it.
11446 (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
11447 * reload.h (reload_adjust_reg_for_mode): Declare.
11448 * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
11449 Call it.
11450
11451 2003-03-03 James E Wilson <wilson@tuliptree.org>
11452
11453 * optabs.c (add_equal_note): Delete SUBREG_REG use.
11454 Fixes PR c/7872.
11455
11456 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
11457
11458 * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
11459 (*ixorsi3_lshiftrt_16): New.
11460 (*iorsi3_ashift_16): Remove.
11461
11462 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
11463
11464 * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
11465 pattern.
11466
11467 2003-03-03 Geoffrey Keating <geoffk@apple.com>
11468
11469 * doc/install.texi (Specific): Update entry for powerpc-darwin.
11470
11471 2003-03-03 Richard Henderson <rth@redhat.com>
11472
11473 * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
11474
11475 2003-03-03 David Edelsohn <edelsohn@gnu.org>
11476
11477 * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
11478 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
11479 (rs6000_variable_issue): Do not return negative value.
11480 (rs6000_issue_rate): Uniformly set issue rate to 1 for first
11481 scheduling pass.
11482
11483 2003-03-03 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11484
11485 * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
11486 prune_unused_types calls.
11487
11488 2003-03-03 Jason Merrill <jason@redhat.com>
11489
11490 * tree-inline.c (find_builtin_longjmp_call): Save and restore
11491 lineno and input_filename.
11492 (find_alloca_call): Likewise.
11493 (inlinable_function_p): Run the langhook earlier.
11494
11495 * calls.c (compute_argument_addresses): Give the new MEMs a
11496 minimum alignment of PARM_BOUNDARY.
11497
11498 2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
11499
11500 * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
11501 subtarget_asm_isa_spec.
11502 (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
11503 (ASM_SPEC): Define as SH_ASM_SPEC.
11504 (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
11505 Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
11506 * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
11507 (SUBTARGET_ASM_ISA_SPEC): Undef / define.
11508
11509 * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
11510 and align_jumps if not set.
11511 Force align_jumps to be at least 2.
11512 When relaxing, force align_functions to be at least the maximum of
11513 align_loops, align_jumps and 4.
11514 * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
11515 (sh_loop_align): Honour align_loops_log.
11516
11517 * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
11518 to check for indirect_jump_scratch.
11519 (indirect_jump_scratch): Add second set.
11520 * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
11521 when looking for indirect_jump_scratch.
11522 Extract scratch register taking new structure of indirect_jump_scratch
11523 into account.
11524 (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
11525
11526 2003-03-03 Jan Hubicka <jh@suse.cz>
11527
11528 * calls.c (rtx_for_function_call): Take the address as an argument
11529 (expand_call): Do not modify the expression.
11530
11531 * toplev.c (rest_of_compilation): Avoid cfg_cleanup calls when not
11532 optimizing.
11533
11534 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
11535
11536 * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
11537 TARGET_H8300H and TARGET_H8300S.
11538
11539 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
11540
11541 * config/h8300/h8300.md (a peephole2): New.
11542
11543 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
11544
11545 * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
11546 operands[0] and operands[1] are different.
11547
11548 2003-03-03 Kazu Hirata <kazu@cs.umass.edu>
11549
11550 * reload1.c (reload_cse_move2add): Remove variable success.
11551
11552 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11553
11554 * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
11555 warnings.
11556
11557 2003-03-02 Richard Henderson <rth@redhat.com>
11558
11559 * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
11560 * config.in, configure: Rebuild.
11561 * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
11562 * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
11563 paired ldtoffx and ldxmov annotations.
11564 (load_symptr_internal1): Remove.
11565 (load_symptr_high, load_symptr_low): New.
11566
11567 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
11568
11569 * c-incpath.c (add_path): Fix sysp assignment.
11570
11571 2003-03-02 Kurt Garloff <garloff@suse.de>
11572
11573 * params.def: Introduce parameter max-inline-insns-rtl for
11574 a separate limit for the RTL inliner.
11575 * params.h: Likewise.
11576 * integrate.c (function_cannot_inline_p): Use it.
11577 * toplev.c (decode_f_option): Set multiple parameters
11578 controlling inlining with -finline-limit.
11579 * params.def: Fix orthographic and typographic errors.
11580 * doc/invoke.texi: Document parameters controlling inlining
11581 and the way -finline-limit sets multiple of them.
11582
11583 * tree.h (struct tree_decl): Introduce inlined_function_flag,
11584 recording whether the function became eligible for inlining
11585 by a compiler flag rather than the declaration.
11586 Provide DID_INLINE_FUNC macro to access it.
11587 * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
11588 * cp/decl.c (grokfndecl): Likewise.
11589 * toplev.c (rest_of_compilation): Likewise.
11590 * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
11591 * print-tree.c (print_node): Report it.
11592 * params.def: Introduce new max-inline-insns-auto limit.
11593 * params.h: Likewise.
11594 * tree-inline.c (inlinable_function_p): Apply it to functions
11595 with DID_INLINE_FUNC set.
11596 * toplev.c (decode_f_option): Initialize it from -finline-limit
11597 value.
11598 * doc/invoke.texi: Document new parameter.
11599
11600 2003-03-02 Geoffrey Keating <geoffk@apple.com>
11601
11602 * fix-header.c (read_scan_file): Don't reference simplify_path.
11603
11604 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
11605
11606 * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
11607 min/max instructions by default as may result in reload errors.
11608
11609 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
11610
11611 * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
11612 avoid reload problems; define split for it.
11613
11614 2003-03-02 Stephane Carrez <stcarrez@nerim.fr>
11615
11616 * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
11617 * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
11618 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
11619 * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
11620 rotatert and rotate.
11621 ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
11622 ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
11623 ("*rotrhi3_addr"): New split for shift insns on address register.
11624 ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
11625 * config/m68hc11/larith.asm (___rotlhi3): New asm function.
11626 (___rotrhi3): Likewise.
11627 * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
11628
11629 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
11630
11631 * toplev.c (aux_base_name): Moved from toplev.h.
11632 (filename): Constify.
11633 (lang_dependent_init): Don't duplicate name.
11634 (process_options): Set aux_base_name here, not...
11635 (do_compile): ...here. Change protoype.
11636 (toplev_main): Move some code from do_compile.
11637 * toplev.h: Remove aux_base_name.
11638
11639 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
11640
11641 * config/h8300/h8300-protos.h: Add a prototype for
11642 iorxor_operator.
11643 * config/h8300/h8300.c (print_operand): Handle 'c'.
11644 (iorxor_operator): New.
11645 * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
11646 * config/h8300/h8300.md (*iorhi3_zext): Remove.
11647 (*iorsi3_zexthi): Likewise.
11648 (*iorsi3_zextsi): Likewise.
11649 (*xorhi3_zextqi): Likewise.
11650 (*xorsi3_zexthi): Likewise.
11651 (*xorsi3_zextsi): Likewise.
11652 (*ixorhi3_zext): New.
11653 (*ixorsi3_zext_qi): Likewise.
11654 (*ixorsi3_zext_hi): Likewise.
11655
11656 2003-03-02 Neil Booth <neil@daikokuya.co.uk>
11657
11658 * c-incpath.c (remove_component_p, simplify_path): Move back to
11659 cppfiles.c.
11660 (remove_duplicates): Use cpp_simplify_path.
11661 * c-incpath.h (simplify_path): Remove.
11662 * c-lex.c: Don't include c-incpath.h.
11663 (init_c_lex): Remove simplify_path.
11664 * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
11665 (find_or_create_entry, validate_pch): Revert.
11666
11667 2003-03-02 Ashif Harji <asharji@uwaterloo.ca>
11668
11669 * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
11670 an external cpp during compilation.
11671 (option_map): Likewise.
11672 * objc/lang-specs.h (default_compilers): Similarly.
11673 * doc/invoke.texi: Document -no-integrated-cpp flag.
11674
11675 2003-03-02 Kazu Hirata <kazu@cs.umass.edu>
11676
11677 * config/h8300/h8300.md (zero_extendqisi2): Change to an
11678 expander.
11679 (*zero_extendqisi2_h8300): New.
11680 (*zero_extendqisi2_h8300hs): New.
11681 (two splitters): New.
11682
11683 2003-03-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11684
11685 * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
11686
11687 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11688
11689 * config/h8300/h8300.md (a peephole2): Remove dead code.
11690
11691 2003-03-01 Roger Sayle <roger@eyesopen.com>
11692
11693 PR c++/9367
11694 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
11695 (BT_FN_INT_CONST_STRING_VALIST_ARG,
11696 BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
11697 BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
11698 BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
11699 BT_FN_INT_STRING_CONST_STRING_VAR,
11700 BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
11701 BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
11702 * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
11703 ATTR_NONNULL_3): Also include the nothrow attribute.
11704 (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
11705 vsnprintf, vscanf, vsscanf): Don't define attributes here.
11706 * builtins.def (putchar, puts): Make full C89 built-ins.
11707 (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
11708 vsscanf, vsnprintf, vsprintf): New built-ins.
11709 * c-common.c (c_common_nodes_and_builtins): Handle new macro
11710 DEF_FUNCTION_TYPE_VAR_3.
11711
11712 * doc/extend.texi: Document these new built-in functions.
11713
11714 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11715
11716 * config/h8300/h8300.md (a peephole2): New.
11717
11718 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
11719
11720 * predict.c (estimate_bb_frequencies): Correctly set
11721 real_values_initialized after initialization.
11722
11723 2003-03-01 Neil Booth <neil@daikokuya.co.uk>
11724
11725 * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
11726 cppinit.o, cppdefault.o, fix-header): Update.
11727 * c-incpath.c: New file.
11728 * c-incpath.h: New file.
11729 * c-lex.c: Include c-incpath.h.
11730 (init_c_lex): Register path simplifier.
11731 * c-opts.c: Include cppdefault.h and c-incpath.h.
11732 (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
11733 std_cxx_inc, quote_chain_split, add_prefixed_path): New.
11734 (COMMAND_LINE_OPTIONS): Add more options from cpplib.
11735 (missing_arg, c_common_decode_option): Handle them.
11736 (c_common_post_options): Register include chains.
11737 (print_help): Update.
11738 * cppdefault.h (struct default include): Update.
11739 Move some macros to ...
11740 * cppdefault.c: ... here.
11741 (cpp_include_defaults): Add extra field add_sysroot.
11742 * cppfiles.c (include_file, search_from, find_or_create_entry,
11743 cpp_included, find_include_file, remap_filename): Update for
11744 renaming of search_path to cpp_path, and of the chain headers.
11745 (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
11746 * cpphash.h (struct search_path): Move to cpplib.h.
11747 (struct cpp_buffer, struct cpp_reader): Update.
11748 (_cpp_simplify_pathname): Remove.
11749 * cppinit.c: Don't include prefix.h and cppdefault.h.
11750 (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
11751 remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
11752 init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
11753 no_pth, cpp_handle_options): Remove.
11754 (struct pending_option): Remove chain members.
11755 (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
11756 cpp_handle_option): Update.
11757 * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
11758 (struct cpp_options): Remove quote_include, bracket_include,
11759 include_prefix, include_prefix_len, verbose, ignore_srcdir,
11760 no_standard_includes, no_standard_cplusplus_includes.
11761 (struct cpp_callbacks): Add simplify_path.
11762 (cpp_handle_options): Remove.
11763 * fix-header.c: Include c-incpath.h.
11764 (read_scan_file): Update to use c-incpath functionality.
11765 * doc/passes.texi: Update.
11766
11767 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11768
11769 * config/h8300/h8300.c (bit_operand): Accept MEM only if it
11770 satisfies EXTRA_CONSTRAINT 'U'.
11771
11772 2003-03-01 Kazu Hirata <kazu@cs.umass.edu>
11773
11774 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
11775 register.
11776 (*tst_extzv_memqi_1_n): Change to a splitter.
11777 (a peephole2): Update.
11778
11779 2003-03-01 Richard Earnshaw <rearnsha@arm.com>
11780
11781 * predict.c (estimate_bb_frequencies): Initialize the sreal
11782 constants once per compilation.
11783
11784 2003-02-28 Richard Henderson <rth@redhat.com>
11785
11786 * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
11787
11788 2003-02-28 scott snyder <snyder@fnal.gov>
11789
11790 * flags.h: Add flag_eliminate_unused_debug_types.
11791 * toplev.c: Add flag_eliminate_unused_debug_types.
11792 (f_options): Add -feliminate-unused-debug-types.
11793 * dwarf2out.c (struct file_table): Add emitted member.
11794 (splice_child_die): Fix the parent pointer for the child being
11795 spliced.
11796 (lookup_filename): Maintain file_table.emitted array. Don't
11797 output .file directive here.
11798 (maybe_emit_file): (new)
11799 (init_file_table): Set up file_table.emitted.
11800 (dwarf2out_source_line): Use maybe_emit_file.
11801 (dwarf2out_start_source_file): Use maybe_emit_file.
11802 (dwarf2out_init): Use maybe_emit_file.
11803 (prune_unused_types_walk_attribs): (new)
11804 (prune_unused_types_mark): (new)
11805 (prune_unused_types_walk): (new)
11806 (prune_unused_types_prune): (new)
11807 (prune_unused_types): (new)
11808 (dwarf2out_finish): Call prune_unused_types if
11809 flag_eliminate_unused_debug_types is set.
11810 * doc/invoke.texi (Option Summary): Add
11811 -feliminate-unused-debug-types.
11812 (Debugging Options): Likewise.
11813
11814 2003-02-28 Geoffrey Keating <geoffk@apple.com>
11815
11816 * doc/invoke.texi: Change .pch to .gch.
11817 * cppfiles.c (open_file_pch): Likewise.
11818 * gcc.c (default_compilers): Likewise.
11819
11820 2003-02-28 Aldy Hernandez <aldyh@redhat.com>
11821
11822 * floatlib.c: Remove.
11823
11824 2003-02-28 Jason Merrill <jason@redhat.com>
11825
11826 * stor-layout.c (variable_size): Leave a "minus 1" outside the
11827 SAVE_EXPR.
11828
11829 2003-02-28 David Edelsohn <edelsohn@gnu.org>
11830
11831 * config/rs6000/power4.md: Add compare bypass.
11832
11833 2003-02-28 Jason Thorpe <thorpej@wasabisystems.com>
11834
11835 * config/netbsd.h: Update copyright years.
11836 (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
11837 -pthread is specified on the command line.
11838
11839 2003-02-28 Dale Johannesen <dalej@apple.com>
11840
11841 * loop.c (struct movable): Add insert_temp, shrink savemode.
11842 (scan_loop): Accept invariants that require copying; mark as
11843 insert_temp.
11844 (combine_movables): Don't combine insert_temp movables.
11845 (move_movables): Insert copies for insert_temp movables.
11846 Don't record the info based on regno for insert_temp's.
11847
11848 2003-02-28 Joel Sherrill <joel@OARcorp.com>
11849
11850 PR 9638/other
11851 * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
11852 this constant defaults to 1.
11853
11854 2003-02-28 Bob Wilson <bob.wilson@acm.org>
11855
11856 * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
11857
11858 2003-02-28 Richard Earnshaw <rearnsha@arm.com>
11859
11860 * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
11861 ARMv5e processor, not just for XScale. Instructions are predicable.
11862 (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
11863
11864 2003-02-28 Nick Clifton <nickc@redhat.com>
11865
11866 * config/arm/arm.c (note_invalid_constants): Change parameter type
11867 from bool to int.
11868
11869 2003-02-28 Kazu Hirata <kazu@cs.umass.edu>
11870
11871 * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
11872 test of bit 7.
11873 (*tst_extzv_memqi_1_n): Likewise.
11874 (a peephole2): New.
11875
11876 2003-02-28 Richard Sandiford <rsandifo@redhat.com>
11877
11878 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
11879 #ifndef __mips16.
11880
11881 2003-02-28 Jan Hubicka <jh@suse.cz>
11882
11883 * combine.c (gen_lowpart_for_combine): Update handling of
11884 subregs_of_mode
11885 * flow.c (life_analysis, mark_used_regs): Likewise.
11886 * regclass.c (subregs_of_mode): Turn into single bitmap.
11887 (cannot_change-mode_set_regs, invalid_mode_change_p): Update
11888 dealing with subregs_of_mode
11889 * regs.h (subregs_of_mode): Update prototype.
11890
11891 2003-02-28 Josef Zlomek <zlomekj@suse.cz>
11892
11893 * emit-rtl.c (set_reg_attrs_for_parm): New function.
11894 * rtl.h (set_reg_attrs_for_parm): New exported function.
11895 * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
11896 set_reg_attrs_from_mem.
11897
11898 2003-02-27 Roger Sayle <roger@eyesopen.com>
11899 Zack Weinberg <zack@codesourcery.com>
11900
11901 * gcc.c (do_spec_1): Treat %U like %u for unique associations.
11902
11903 2003-02-27 Kazu Hirata <kazu@cs.umass.edu>
11904
11905 * reload1.c (sext_for_mode): Remove.
11906 (reload_cse_move2add): Use trunc_int_for_mode instead of
11907 sext_for_mode.
11908 (move2add_note_store): Likewise.
11909 Reset register information if we see a set in non-integer
11910 mode.
11911
11912 2003-02-27 David Edelsohn <edelsohn@gnu.org>
11913
11914 * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
11915 option.
11916 (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
11917 * config/rs6000/aix51.h: Same.
11918 * config/rs6000/aix52.h: Same.
11919 * config/rs6000/power4.md: Additional VMX bypasses.
11920
11921 2003-02-27 Geert Bosch <bosch@gnat.com>
11922
11923 * toplev.c (print_version): Add indentation for GGC heuristics and
11924 output after printing version information.
11925
11926 2003-02-27 James E Wilson <wilson@tuliptree.org>
11927
11928 * combine.c (simplify_comparison): Require integral mode when
11929 permuting SUBREG with AND.
11930
11931 2003-02-27 Steve Ellcey <sje@cup.hp.com>
11932
11933 * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
11934
11935 2003-02-27 Nick Clifton <nickc@redhat.com>
11936
11937 * config/arm/arm.md (extendsfdf2): Add pattern accidentally
11938 deleted when cirrus instructions were added.
11939
11940 2003-02-27 Jason Thorpe <thorpej@wasabisystems.com>
11941
11942 * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
11943 POSIX thread support by default.
11944
11945 2003-02-27 Roger Sayle <roger@eyesopen.com>
11946
11947 * config/i386/cygwin.h: Don't include any other files directly.
11948 * config/i386/mingw32.h: Don't include cygwin.h directly.
11949 * config.gcc (cygwin, mingw32, uwin): Instead make these files
11950 explicit in the tm_files variable.
11951
11952 2003-02-27 Alan Modra <amodra@bigpond.net.au>
11953
11954 * config/rs6000/rs6000.md: Add TI constant splitter.
11955
11956 2003-02-26 Alexandre Oliva <aoliva@redhat.com>
11957
11958 * builtins.c (purge_builtin_constant_p): Handle subreg of
11959 constant_p_rtx too.
11960
11961 * function.c (assign_stack_local_1): Truncate constant added to
11962 frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
11963
11964 2003-02-26 David Edelsohn <edelsohn@gnu.org>
11965
11966 * config.gcc: Add power4 to PowerPC with_cpu list.
11967
11968 2003-02-26 Jan Hubicka <jh@suse.cz>
11969
11970 * objc-act.c: (mark_referenced_methods): Fix compilation problem.
11971
11972 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
11973
11974 * gcov-dump.c (print_prefix): Fix signedness warning.
11975 * gcov-io.h (struct counter_section, struct counter_section_data): New.
11976 (struct function_info): n_arc_counts field removed, n_counter_sections,
11977 counter_sections fields added.
11978 (struct gcov_info): arc_counts, n_arc_counts fields removed,
11979 n_counter_sections, counter_sections fields added.
11980 * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
11981 profile sections.
11982 * profile.h (MAX_COUNTER_SECTIONS): New.
11983 (struct section_info): New.
11984 (struct profile_info): count_instrumented_edges,
11985 count_edges_instrumented_now fields removed, n_sections, section_info
11986 fields added.
11987 (find_counters_section): Declare.
11988 * profile.c (struct function_list): count_edges field removed,
11989 n_counter_sections, counter_sections fields added.
11990 (set_purpose, label_for_tag, build_counter_section_fields,
11991 build_counter_section_value, build_counter_section_data_fields,
11992 build_counter_section_data_value, build_function_info_fields,
11993 build_function_info_value, build_gcov_info_fields,
11994 build_gcov_info_value): New static functions.
11995 (find_counters_section): New function.
11996 (instrument_edges, get_exec_counts, compute_branch_probabilities,
11997 branch_prob, create_profiler): Modified to support multiple profile
11998 sections.
11999
12000 2003-02-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12001
12002 * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
12003 is 8 * STACK_BOUNDARY.
12004 * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
12005
12006 2003-02-26 Michael Matz <matz@suse.de>
12007
12008 * ra-colorize.c (merge_moves): Fix list handling.
12009
12010 2003-02-26 Nick Clifton <nickc@redhat.com>
12011
12012 * config/arm/arm.c (is_load_address): Rename to...
12013 (arm_memory_load_p) ... this and make it check for SUBREGs and
12014 constant loads that will be converted into loads from the
12015 minipool.
12016 (is_cirrus_insn): Rename to ...
12017 (arm_cirrus_insn_p): ... this, for consistency. Replace test
12018 of CIRRUS_NO with CIRRUS_NOT.
12019 (cirrus_reorg): Use renamed functions.
12020 (note_invalid_constants): Change from a void function to bool.
12021 Add an extra parameter, saying whether the fixups should be
12022 pushed. Return true if fixups are needed.
12023 (arm_reorg): Use renamed functions. Use INSN_P. Replace test
12024 of CIRRUS_NO with CIRRUS_NOT.
12025 * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
12026 other floating point co-processors can also affect this.
12027 * config/arm/arm.md ("type" attribute): Add mav_farith and
12028 mav_dmult. Replace references to "cirrus_type" attribute with
12029 "type".
12030 * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
12031 ("cirrus_type" attribute): Delete - use "type" instead.
12032 ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
12033 'normal'.
12034
12035 2003-02-25 Jan Hubicka <jh@suse.cz>
12036
12037 * objc-act.c: Include cgraph.h
12038 (mark_referenced_methods): New function.
12039 (objc_init): Call it.
12040 * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
12041
12042 * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
12043 mode.
12044
12045 * optabs.c (expand_fix): Do not widen the input operand.
12046
12047 * expr.c (emit_group_store): Fix crash when converting single
12048 register into complex register.
12049
12050 * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
12051 * alias.c: Include timevar.h
12052 (init_alias_analysis): Set timevar
12053 * jump.c: Include timevar.h
12054 (rebuild_jump_labels): Set timevar
12055 * regcalss.c: Include timevar.h
12056 (reg_scan): Set timevar
12057 * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
12058
12059 2003-02-26 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
12060
12061 * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
12062
12063 * Makefile.in (loop-unroll.o): New.
12064 * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
12065 (unroll_and_peel_loops): Declare.
12066 * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
12067 flag_old_unroll_loops.
12068 * loop.c (loop_invariant_p): Ditto.
12069 * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
12070 flag_old_unroll_all_loops.
12071 * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
12072 (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
12073 * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
12074 (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
12075 PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
12076 PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
12077 PARAM_MAX_ONCE_PEELED_INSNS): New.
12078 * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
12079 (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
12080 instead of old one.
12081 (flag_peel_loops): New.
12082 (lang_independent_options): The new flags added.
12083 (rest_of_compilation): Call new unroller.
12084 (process_options): Setup flags for coexistence of old and new unroller.
12085 * doc/invoke.texi: Document new options.
12086 * doc/passes.texi: Document new unroller pass.
12087
12088 2003-02-26 David Billinghurst <David.Billinghurst@riotinto.com>
12089
12090 * fixinc/fixincl.x: Regenerate
12091
12092 2003-02-26 Josef Zlomek <zlomekj@suse.cz>
12093
12094 * function.c (assign_parms): Set reg_attrs for parameters passed in
12095 registers.
12096
12097 2003-02-26 Alan Modra <amodra@bigpond.net.au>
12098
12099 PR target/9681
12100 * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
12101
12102 2003-02-25 David Edelsohn <edelsohn@gnu.org>
12103
12104 * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
12105 pseudo-op.
12106
12107 2003-02-25 Roger Sayle <roger@eyesopen.com>
12108
12109 * combine.c (combine_simplify_rtx, simplfy_comparison): Use CC0_P.
12110 * cse.c (invalidate_skipped_set): Likewise.
12111 * integrate.c (subst_constants): Likewise.
12112 * jump.c (reversed_comparison_code_parts): Likewise.
12113 * loop.c (canonicalize_condition): Likewise.
12114 * simplify-rtx.c (simplify_relational_operation): Likewise.
12115
12116 2003-02-25 Roger Sayle <roger@eyesopen.com>
12117
12118 * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
12119 (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
12120 the appropriate macro to define built-in function.
12121 (fmod,fmodf,fmodl): New built-in functions.
12122
12123 * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
12124
12125 2003-02-25 Richard Henderson <rth@redhat.com>
12126
12127 * config/i386/i386.c (function_arg): Pass variable sized
12128 structures correctly on the stack.
12129
12130 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
12131
12132 * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
12133 does not reduce the cost of SET.
12134
12135 2003-02-25 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12136
12137 PR target/9732
12138 * config/rs6000/rs6000.c (first_reg_to_save): Handle
12139 PIC_OFFSET_TABLE_REGNUM for -fPIC too.
12140 (rs6000_emit_prologue): Likewise.
12141 (rs6000_emit_epilogue): Likewise.
12142 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
12143 PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
12144
12145 2003-02-25 Richard Henderson <rth@redhat.com>
12146
12147 * real.c (real_to_integer2): Force overflow result only for
12148 unsigned overflow.
12149
12150 2003-02-25 Kazu Hirata <kazu@cs.umass.edu>
12151
12152 * gcse.c (cprop_jump): Revert the 2003-02-23 change.
12153
12154 2003-02-25 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
12155 Richard Henderson <rth@redhat.com>
12156
12157 * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
12158 there is no similar load.
12159
12160 2003-02-25 Vladimir Makarov <vmakarov@redhat.com>
12161 Richard Henderson <rth@redhat.com>
12162
12163 * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
12164 sched-rgn.c.
12165 (add_forward_dependence): New function prototype.
12166
12167 * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
12168 sched-init.h.
12169 (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
12170 them to haifa-sched.c.
12171
12172 * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
12173 haifa_classify_insn): Move them from sched-rgn.c.
12174
12175 * sched-deps.c (add_dependence): Return flag of creating a new
12176 entry.
12177 (add_forward_dependence): New function.
12178 (compute_forward_dependences): Use the function.
12179
12180 * sched-ebb.c (earliest_block_with_similiar_load): New function.
12181 (add_deps_for_risky_insns): New function.
12182 (schedule_ebb): Call the function.
12183
12184 2003-02-20 Aldy Hernandez <aldyh@redhat.com>
12185
12186 * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
12187 TARGET_VECTOR_OPAQUE_P. Document accordingly.
12188
12189 * testsuite/gcc.dg/20030218-1.c: Check that initialization of
12190 opaque types fail.
12191
12192 * c-typeck.c (comptypes): Change call to vector_types_compatible
12193 to vector_opaque_p.
12194 (convert_for_assignment): Call vector_opaque_p instead of
12195 vector_types_compatible.
12196 (really_start_incremental_init): Disallow initialization of opaque
12197 types.
12198
12199 * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
12200 Define TARGET_VECTOR_OPAQUE_P.
12201 (TARGET_INITIALIZER): Same.
12202
12203 * target.h (struct gcc_target): Remove vector_types_compatible.
12204 Add vector_opaque_p.
12205
12206 * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
12207 Remove.
12208 (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
12209 a vector type. Change return type to bool.
12210 (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
12211 (TARGET_VECTOR_OPAQUE_P): Define.
12212
12213 * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
12214 target hook.
12215 Include target.h.
12216 (cp_parser_init_declarator): Fix typo in function comments.
12217
12218 2003-02-25 Jan Hubicka <jh@suse.cz>
12219
12220 * Makefile.in (lcm.o): Add dependency on function.h
12221 * lcm.c (function.h): Include.
12222 * i386.c (machine_function, ix86_stack_locals,
12223 * ix86_save_varrargs_registers) : Move to
12224 ...
12225 * i386.h (machine_function, ix86_stack_locals,
12226 ix86_save_varrargs_registers): ... here; add optimize_mode_switching
12227 (ix86_optimize_mode_switching): New.
12228 * i386.md (fix patterns): Set ix86_optimize_mode_switching
12229
12230 2003-02-25 Nick Clifton <nickc@redhat.com>
12231
12232 * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo. Name
12233 of fourth arg is 'fndecl' not 'indirect'. Update comment
12234 describing the function's parameters.
12235
12236 2003-02-24 Jan Hubicka <jh@suse.cz>
12237
12238 * combine.c (simplify_shift_const): Fix previous patch.
12239
12240 2003-02-24 Jeff Law <law@redhat.com>
12241
12242 * i386.md (testdi_1_rex64): Discourage reload from using the %eax
12243 alternative.
12244 (testsi_1, testhi_1, testqi_1): Likewise.
12245
12246 2003-02-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12247
12248 * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
12249 __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
12250 * doc/extend.texi (Tru64 Pragmas): Reflect this.
12251
12252 * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
12253 extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
12254 * fixinc/fixincl.x: Regenerate.
12255 * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
12256 testcase.
12257 Fixes PR c/5059, c/6126, other/9671.
12258
12259 2003-02-24 Roger Sayle <roger@eyesopen.com>
12260
12261 * gcc.c (do_spec_1) ['{']: Handle pending argument upon return
12262 from handle_braces in "%{...}".
12263
12264 2003-02-24 Kaz Kojima <kkojima@gcc.gnu.org>
12265
12266 * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
12267 (prepare_move_operands): Handle TLS operands.
12268 (tls_symbolic_operand): New.
12269 (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
12270 (legitimize_pic_address): Do nothing for the TLS symbol.
12271 (sh_encode_section_info): Handle TLS case.
12272 (sh_strip_name_encoding): Drop TLS encoding.
12273 * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
12274 * config/sh/sh.h (SH_TLS_ENCODING): Define.
12275 (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
12276 (ASM_OUTPUT_LABELREF): Drop TLS encoding.
12277 (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
12278 * config/sh/sh.md: Define TLS UNSPEC constants.
12279 (type): Add tls_load.
12280 ("tls_global_dynamic", "tls_local_dynamic"): New insns.
12281 ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
12282 ("tls_initial_exec"): New insn.
12283 ("sym2TPOFF", "symTPOFF2reg"): New expanders.
12284 ("load_gbr"): New insn.
12285
12286 * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
12287 * configure: Regenerate.
12288
12289 2003-02-24 Alan Modra <amodra@bigpond.net.au>
12290
12291 PR 9297, PR 9722
12292 * calls.c (store_one_arg): Revert 1999-02-16 change. Revert
12293 2000-12-17 change. Pass EXPAND_STACK_PARM to expand_expr.
12294 * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
12295 (enum block_op_methods): Reorder for better store_expr optimization.
12296 * expr.c (store_expr): Test bit 1 of "want_value" for call param
12297 stores, test bit 0 for original want_value meaning. Pass
12298 BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set. Adjust
12299 recursive calls, and calls to expand_param.
12300 (expand_expr): Handle EXPAND_STACK_PARM modifier. When cse
12301 expected, set target to 0 rather than to subtarget. Formatting.
12302
12303 2003-02-23 Kazu Hirata <kazu@cs.umass.edu>
12304
12305 * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
12306
12307 2003-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12308
12309 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
12310 new default behavior.
12311 * ggc-common.c: Include sys/resource.h.
12312 (ggc_rlimit_bound): New function.
12313 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
12314 defaults to account for rlimits.
12315
12316 2003-02-22 Richard Henderson <rth@redhat.com>
12317
12318 * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
12319
12320 2003-02-22 Kelley Cook <kelley@dwhoops.info>
12321
12322 * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
12323 (ix86_tune_string): Rename from ix86_cpu_string.
12324
12325 2003-02-22 Kelley Cook <kelleycook@comcast.net>
12326
12327 * config/i386/i386.c: Replace "mcpu" with "mtune".
12328 * config/i386/i386.h (TARGET_OPTIONS): Likewise.
12329 (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
12330 * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
12331 with "mtune". Note that "mcpu" is a deprecated synonym for "mtune".
12332
12333 2003-02-23 Andreas Schwab <schwab@suse.de>
12334
12335 * config.gcc: Delete references to m68k/t-linux and
12336 m68k/t-linux-aout.
12337 * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
12338
12339 2003-02-22 Jan Hubicka <jh@suse.cz>
12340
12341 * toplev.c (rest_of_compilation): Apply fotgotten hunk
12342 of track scheduling patch.
12343
12344 2003-02-22 Jan Hubicka <jh@suse.cz>
12345
12346 * config/linux.h (TARGET_HAS_F_SETLKW): Define.
12347 * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
12348
12349 2003-02-22 Jan Hubicka <jh@suse.cz>
12350
12351 * c-decl.c (c_expand_body_1): Fix.
12352
12353 2003-02-22 Jan Hubicka <jh@suse.cz>
12354
12355 * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
12356
12357 * cfgcleanup.c (try_forward_edges): Don't check loop structures
12358 when not optimizing.
12359 (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
12360 when not expensive.
12361 * toplev.c (rest_of_compilation): Duplicate loop headers only when
12362 optimizing; Delete trivially dead insns early; fix optimize check.
12363
12364 * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
12365 dependency on cgraph.h
12366 * c-decl.c: Include cgraph.h
12367 (finish_function): Update call of tree_inlinable_function_p.
12368 * c-objc-common.c: Include cgraph.h
12369 * cgraph.h: New file.
12370 * cgraphunit.c: New file.
12371 * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
12372 (cgraph_nodes, cgraph_n_nodes): Globalize.
12373 (cgraph_finalize_function, cgraph_finalize_compilation_unit
12374 cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
12375 Move into cgraphunit.c
12376 * tree-inline.c: Include cgraph.h
12377 * tree-inline.c: Include cgraph.h
12378
12379 2003-02-22 Josef Zlomek <zlomekj@suse.cz>
12380
12381 * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
12382 for copying a register.
12383
12384 2003-02-22 Steven Bosscher <s.bosscher@student.tudelft.nl>
12385
12386 PR other/3782
12387 * toplev.c (process_options): If flag_detailed_statistics is set,
12388 then set time_report as well.
12389
12390 PR c/8828
12391 * jump.c (never_reached_warning): Don't fall through BARRRIER
12392 insns. Update comments to reflect what the function really does.
12393
12394 2003-02-21 Roger Sayle <roger@eyesopen.com>
12395
12396 * fold-const.c (omit_one_operand): No longer static.
12397 * tree.h (omit_one_operand): Prototype here.
12398 (div_and_round_double): Keep fold-const.c prototypes together.
12399 * builtins.c (builtin_mathfn_code): Handle binary built-in
12400 funtions, such as "pow" and "atan2".
12401 (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
12402 Simplify optimizations using "type" the builtin's return type.
12403
12404 2003-02-22 Hans-Peter Nilsson <hp@axis.com>
12405
12406 * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
12407 Fix functionalization typo.
12408
12409 * regmove.c (optimize_reg_copy_1): Do not replace a hard register
12410 in an asm.
12411
12412 2003-02-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12413
12414 * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
12415 * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
12416 documentation.
12417 * ggc-common.c: Include params.h
12418 (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
12419 init_ggc_heuristics): New functions.
12420 * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
12421 init_ggc_heuristics): Prototype.
12422 * toplev.c (print_version): Output GGC heuristics.
12423 (parse_options_and_default_flags): Call init_ggc_heuristics.
12424
12425 2003-02-22 Jan Hubicka <jh@suse.cz>
12426
12427 * i386.c (def_builtin): Special case 64bit builtins.
12428 (MASK_SSE164, MASK_SSE264): New constants.
12429 (builtin_description): Add 64bit builtins.
12430 (ix86_init_mmx_sse_builtins): Likewise.
12431 * i386.h (enum ix86_builtins): Likewise.
12432 * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
12433 sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
12434 (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
12435 * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
12436 * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
12437 _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
12438 _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
12439
12440 2003-02-22 Jan Hubicka <jh@suse.cz>
12441
12442 * i386.c (builtin_description): Add __builtin_ia32_paddq and
12443 __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
12444 and __builtin_ia32_psubq128.
12445 * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
12446 * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
12447 (mmx_adddi3, mmx_subdi3): New.
12448 * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
12449 * xmmintrin.h (_mm_movepi64_pi64): New.
12450 (_mm_add_epi64, _mm_sub_epi64): fix.
12451 (_mm_mul_pu16): Rename to...
12452 (_mm_mul_su32): ... this one.
12453
12454 * builtins.c (expand_builtin_expect): Do not predict
12455 flag_guess_branch_prob is not set.
12456 * c-semantics.c (expand_stmt): Likewise.
12457 * predict.c (predict_insn): Likewise.
12458 * stmt.c (expand_continue_loop): Likewise.
12459 * toplev.c (rest_of_compilation): Do not call
12460 note_prediction_to_br_prob and note_prediction_to_br_prob
12461 when not optimizing.
12462
12463 2003-02-21 Jan Hubicka <jh@suse.cz>
12464
12465 * cfgrtl.c (commit_edge_insertions): Call
12466 find_many_sub_basic_block only when some code has been emitted.
12467 (commit_edge_insertions_watch_calls): Bring into sync with
12468 commit_edge_insertions
12469
12470 2003-02-21 J"orn Rennecke <joern.rennecke@superh.com>
12471
12472 * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
12473
12474 * sh.md (binary_sf_op): Use extra constant operand instead of
12475 negating constant operand 4.
12476 * sh.c (sh_expand_binop_v2sf): Supply it.
12477
12478 2003-02-21 Zack Weinberg <zack@codesourcery.com>
12479
12480 * cpphash.h (struct lexer_state): Add directive_wants_padding.
12481 * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
12482 for directives of type INCL.
12483 (glue_header_name, parse_include): Use get_token_no_padding.
12484 * cppmacro.c (replace_args): If directive_wants_padding,
12485 provide padding tokens.
12486
12487 2003-02-21 Kazu Hirata <kazu@cs.umass.edu>
12488
12489 * config/h8300/h8300.md (a peephole2): New.
12490
12491 2003-02-21 Jan Hubicka <jh@suse.cz>
12492
12493 * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
12494 (commit_edge_insertions): Call find_many_sub_basic_blocks
12495
12496 * reg-stack.c (convert_regs): Cleax aux for blocks.
12497
12498 2003-02-21 Jan Hubicka <jh@suse.cz>
12499
12500 * toplev.c (parse_options_and_default_flags): Undo accidental commit.
12501
12502 2003-02-21 Glen Nakamura <glen@imodulo.com>
12503
12504 PR optimization/8613
12505 * builtins.c (expand_builtin): Emit postincrements before expanding
12506 builtin functions.
12507
12508 2003-02-21 Ben Elliston <bje@redhat.com>
12509
12510 PR other/5634
12511 * doc/install.texi (Configuration): Explain using $HOME instead of
12512 the ~ metacharacter when referring to home directories.
12513
12514 2003-02-20 Alexandre Oliva <aoliva@redhat.com>
12515
12516 * configure.in (TARGET_SYSTEM_ROOT): Set default to
12517 ${exec_prefix}/${target_alias}/sys-root. Match explicit
12518 '${exec_prefix}' (in addition to the expansion thereof) as
12519 relocatable.
12520 * configure: Rebuilt.
12521
12522 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
12523
12524 * config/h8300/h8300.md (addhi3_incdec): Change the name to
12525 *addhi3_incdec.
12526 (addsi3_incdec): Change the name to *addsi3_incdec.
12527
12528 2003-02-20 Roger Sayle <roger@eyesopen.com>
12529
12530 * explow.c (force_reg): Avoid useless REG_EQUAL notes.
12531
12532 2003-02-20 Toon Moene <toon@moene.indiv.nluug.nl>
12533
12534 PR fortran/9038
12535 * c-opts.c (sanitize_cpp_opts): Add Fortran front end
12536 options to be ignored.
12537 (c_common_decode_option): Ignore them when preprocessing.
12538
12539 2003-02-20 Jan Hubicka <jh@suse.cz>
12540
12541 * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
12542 global variables.
12543 (lang_independent_options): Add -fsched2-use-superblocks
12544 -fsced2-use-traces.
12545 (rest_of_compilation): Deal with it.
12546 * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks): Declare.
12547 * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
12548 Declare.
12549 * rtl.h (reg_to_stack): Update prototype.
12550 * reg-stack.c (reg_to_stack): Return when something has changed;
12551 update liveness when executing after superblock scheduling.
12552
12553 * combine.c (simplify_shift_const): Simplify few special cases
12554 into constants.
12555
12556 2003-02-20 David Edelsohn <edelsohn@gnu.org>
12557
12558 * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
12559 (add.,subf.,neg.): Change attribute to fast_compare.
12560 All DFA descriptions updated.
12561
12562 2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
12563
12564 Change base class access representation.
12565 * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
12566 TREE_VIA_PRIVATE): Remove.
12567 (BINFO_BASEACCESSES): New binfo elt.
12568 (BINFO_BASEACCESS): New accessor.
12569 (BINFO_ELTS): Increase.
12570 (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
12571 (access_public_node, access_protected_node,
12572 access_private_node): New global nodes.
12573 * tree.c (build_common_tree_nodes_2): Initialize access nodes.
12574 * dbxout.c (dbxout_type): Adjust.
12575 * dwarf2out.c (gen_inheritance_die): Add access parameter.
12576 (gen_member_die): Adjust.
12577 * dwarfout.c (output_inheritance_die): ARG is array of two trees.
12578 (output_type): Adjust.
12579 * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
12580
12581 Change base class access representation. Share virtual base
12582 binfos.
12583 * cp/call.c (build_special_member_call): Remove binfo_for_vbase
12584 call.
12585 * cp/class.c (build_base_path): Likewise.
12586 (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
12587 (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
12588 (make_new_vtable): Adjust.
12589 (force_canonical_binfo_r): Delete.
12590 (force_canonical_binfo): Delete.
12591 (mark_primary_virtual_base): Delete.
12592 (dfs_unshared_virtual_bases): Delete.
12593 (mark_primary_bases): Adjust.
12594 (maybe_warn_about_overly_private_class): Adjust.
12595 (dfs_base_derived_from): Delete.
12596 (base_derived_from): Follow the inheritance chain.
12597 (struct find_final_overrider_data): Add vpath member.
12598 (dfs_find_final_overrider): Adjust.
12599 (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
12600 (find_final_overrider): Adjust.
12601 (update_vtable_entry_for_fn): Adjust.
12602 (modify_all_vtables): Adjust.
12603 (walk_subobject_offsets): Adjust.
12604 (layout_nonempty_base_or_field): Adjust.
12605 (layout_empty_base): Remove last parameter. Adjust.
12606 (build_base_field): Adjust.
12607 (build_base_fields): Adjust.
12608 (propagate_binfo_offsets): Remove last parameter. Adjust.
12609 (dfs_set_offset_for_unshared_vbases): Delete.
12610 (layout_virtual_bases): Adjust.
12611 (finish_struct_1): Adjust.
12612 (init_class_processing): Don't init access nodes.
12613 (dfs_get_primary_binfo): Delete.
12614 (get_primary_binfo): Adjust.
12615 (dump_class_hierarchy_r): Remove most derived arg, add IGO
12616 parameter. Adjust.
12617 (dump_class_hierarchy): Adjust.
12618 (finish_vtbls): Adjust.
12619 (get_original_base): Delete.
12620 (build_vtt_inits): Adjust.
12621 (dfs_build_secondary_vptr_vtt_inits): Adjust.
12622 (dfs_ctor_vtable_bases_queue_p): Adjust.
12623 (build_ctor_vtbl_group): Adjust.
12624 (dfs_accumulate_vtbl_inits): Adjust.
12625 (build_vtbl_initializer): Adjust.
12626 (build_vbase_offset_vtbl_entries): Adjust.
12627 (add_vcall_offset_vtbl_entries_1): Adjust.
12628 * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
12629 (access_*_node): Remove.
12630 (CANONICAL_BINFO): Delete.
12631 (BINFO_UNSHARED_MARKED): Remove.
12632 (BINFO_MARKED): Set LANG_FLAG_0 directly.
12633 (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
12634 (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
12635 (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
12636 Delete.
12637 (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
12638 (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
12639 (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
12640 Delete.
12641 (BINFO_DEPENDENT_BASE_P): New.
12642 (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
12643 index.
12644 (markedp, unmarkedp): Adjust.
12645 (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
12646 dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
12647 find_vbase_instance, binfo_for_vbase): Delete.
12648 (copied_binfo, original_binfo): Declare.
12649 (finish_base_specifier): Add virtual_p arg.
12650 (unshare_base_binfos): Delete.
12651 (copy_base_binfos): Declare.
12652 (reverse_path): Delete.
12653 * cp/decl.c (xref_basetypes): Access and virtuality passed
12654 differently. Don't copy direct base binfos here. Call
12655 copy_base_binfos.
12656 * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
12657 (initialize_vtbl_ptrs): Adjust.
12658 (expand_member_init): Adjust.
12659 * cp/parser.c (cp_parser_base_specifier): Adjust.
12660 * cp/pt.c (instantiate_class_template): Adjust.
12661 (get_template_base_recursive): Adjust.
12662 * cp/rtti.c (get_pseudo_ti_init): Adjust.
12663 (get_pseudo_ti_desc): Adjust.
12664 * cp/tree.c (unshare_base_binfos): Rename to ...
12665 (copy_base_binfos): ... here, reimplement.
12666 (make_binfo): Set BINFO_DEPENDENT_BASE_P.
12667 (reverse_path): Remove.
12668 * cp/typeck.c (get_delta_difference): Adjust error messages.
12669 * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
12670 * cp/search.c (lookup_base_r): Adjust.
12671 (dynamic_cast_base_recurse): Adjust.
12672 (canonical_binfo): Remove.
12673 (dfs_canonical_queue): Remove.
12674 (dfs_assert_unmarked_p): Remove.
12675 (assert_canonical_unmarked): Remove.
12676 (shared_marked_p, shared_unmarked_p): Remove.
12677 (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
12678 (dfs_access_in_type): Adjust.
12679 (access_in_type): Adjust.
12680 (dfs_accessible_queue_p): Adjust.
12681 (dfs_accessible_p): Adjust.
12682 (is_subobject_of_p_1, is_subobject_of_p): Remove.
12683 (struct lookup_field_info): Remove from_dep_base_p field.
12684 (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
12685 (lookup_field_r): Remove dependent base code.
12686 (lookup_member): Likewise.
12687 (dfs_walk, dfs_walk_real): Add access arg to queue fn.
12688 (dfs_unmarked_real_bases_queue_p): Remove.
12689 (dfs_marked_real_bases_queue_p): Remove.
12690 (dfs_skip_vbases): Remove.
12691 (dfs_get_pure_virtuals): Adjust.
12692 (markedp, unmarkedp): Adjust.
12693 (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
12694 (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
12695 (dfs_unmark): Adjust.
12696 (dfs_get_vbase_types):Remove.
12697 (dfs_build_inheritance_graph_order): Remove.
12698 (get_vbase_types): Remove
12699 (dfs_find_vbase_instance): Remove.
12700 (find_vbase_instance): Remove.
12701 (dfs_debug_unmarkedp): Adjust.
12702 (dependent_base_p): Remove.
12703 (dfs_push_type_decls): Adjust.
12704 (dfs_push_decls): Adjust.
12705 (dfs_no_overlap_yet): Adjust.
12706 (copied_binfo): New function.
12707 (original_binfo): New function.
12708 (binfo_for_vbase): Remove.
12709
12710 Change base class access representation.
12711 * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
12712 (add_interface_do): Likewise.
12713
12714 2003-02-20 David Edelsohn <edelsohn@gnu.org>
12715
12716 * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
12717 * config/rs6000/power4.md (power4-store,power4-vecstore): New
12718 insn reservations.
12719 (power4-fpstore): Compact.
12720
12721 2003-02-20 Kazu Hirata <kazu@cs.umass.edu>
12722
12723 * config/h8300/h8300.md (*iorsi3_w): New.
12724
12725 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
12726
12727 * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
12728 * rtl.c (reg_note_name): Likewise.
12729 * rtl.h (enum reg_note): Likewise.
12730 * doc/invoke.texi: Likewise.
12731 * doc/rtl.texi: Likewise.
12732
12733 2003-02-20 Josef Zlomek <zlomekj@suse.cz>
12734
12735 * bb-reorder.c (find_traces_1_round): Fix comment typo.
12736
12737 2003-02-19 Roger Sayle <roger@eyesopen.com>
12738
12739 * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
12740 addition in the presence of signaling NaNs.
12741
12742 2003-02-19 Krister Walfridsson <cato@df.lth.se>
12743
12744 * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
12745
12746 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12747
12748 * config/h8300/h8300.c (output_logical_op): Optimize or.l when
12749 ORing with 0xffff??00 with the highest bit of the ?? part set.
12750 (compute_logical_op_length): Update.
12751 (compute_logical_op_cc): Likewise.
12752
12753 2003-02-19 Josef Zlomek <zlomekj@suse.cz>
12754
12755 * bb-reorder.c (find_traces_1_round): Fixed condition for small
12756 destination block with multiple predecessors.
12757 (connect_traces): Check whether the block is a start of trace.
12758
12759 2003-02-19 Jan Hubicka <jh@suse.cz>
12760
12761 * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
12762 * function.c (assign_params): Likewise.
12763 * arm-protos.h (arm_init_cumulative_args): Update prototype.
12764 * arm.c (arm_init_cumulative_args): Update function.
12765 * arm.h (INIT_CUMULATIVE_ARGS): Update.
12766 * avr-protos.h (init_cumulative_args): Update prototype.
12767 * avr.c (init_cumulative_args): Update function.
12768 * avr.h (INIT_CUMULATIVE_ARGS): Update.
12769 * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
12770 * d30v.c (d30v_init_cumulative_args): Update function.
12771 * d30v.h (INIT_CUMULATIVE_ARGS): Update.
12772 * frv-protos.h (frv_init_cumulative_args): Update prototype.
12773 * frv.c (frv_init_cumulative_args): Update function.
12774 * frv.h (INIT_CUMULATIVE_ARGS): Update.
12775 * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
12776 * pa.h (INIT_CUMULATIVE_ARGS): Update.
12777 * sparc-protos.h (init_cumulative_args): Update prototype.
12778 * sparc.c (init_cumulative_args): Update function.
12779 * sparc.h (INIT_CUMULATIVE_ARGS): Update.
12780 * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
12781
12782 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12783
12784 * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
12785 (*ashiftsi_sextqi_7): Likewise.
12786
12787 2003-02-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12788
12789 * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
12790 ISO C99 and C++.
12791
12792 * fixinc/inclhack.def (irix___restrict): Don't change __restrict
12793 for C++ on IRIX 6.5.1[89].
12794 * fixinc/tests/base/internal/sgimacros.h: New file.
12795
12796 * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
12797 * fixinc/tests/base/internal/wchar_core.h: New file.
12798
12799 * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
12800 socklen_t definition.
12801 * fixinc/fixincl.x: Regenerate.
12802 * fixinc/tests/base/sys/socket.h: New file.
12803 Fixes PR libgcj/9652.
12804
12805 2003-02-19 Jan Hubicka <jh@suse.cz>
12806
12807 * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
12808
12809 2003-02-19 David Edelsohn <edelsohn@gnu.org>
12810
12811 * config/rs6000/rs6000.c (rs6000_override_options): Initialize
12812 align_jumps_max_skip and align_loops_max_skip.
12813
12814 2003-02-19 Thierry Moreau <thierry.moreau@connotech.com>
12815
12816 * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
12817 test size if named section.
12818
12819 2003-02-19 Daniel Jacobowitz <drow@mvista.com>
12820
12821 * expr.c (expand_expr): Use gen_int_mode for the argument
12822 to gen_rtx_MULT.
12823
12824 2003-02-19 Jan Hubicka <jh@suse.cz>
12825
12826 * i386.md (cosxf2): Fix conditional.
12827
12828 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12829
12830 * config/h8300/h8300.md (extendqisi2): Change to an expander.
12831 (*extendqisi2_h8300): New.
12832 (*extendqisi2_h8300hs): Likewise.
12833
12834 2003-02-19 Kazu Hirata <kazu@cs.umass.edu>
12835
12836 * config/h8300/h8300-protos.h: Update the prototype for
12837 split_adds_subs. Remove the prototypes for
12838 const_int_le_2_operand and const_int_le_6_operand.
12839 * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
12840 (const_int_le_2_operand): Remove.
12841 (const_int_le_6_operand): Likewise.
12842 * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
12843 for const_int_le_2_operand and const_int_le_6_operand.
12844 * config/h8300/h8300.md: Update all uses of split_adds_subs.
12845 (a peephole2): New.
12846
12847 2003-02-18 Jan Hubicka <jh@suse.cz>
12848
12849 * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
12850 (cgraph_expand_function): Rewrite.
12851
12852 2003-02-18 Matt Austern <austern@apple.com>
12853
12854 * toplev.c, langhooks.c, langhooks-def.h: Move
12855 write_global_declarations from toplev.c to langhooks.c.
12856
12857 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
12858
12859 * config/h8300/h8300.c (general_operand_src): Always check
12860 MODE.
12861 (general_operand_dst): Likewise.
12862
12863 2003-02-18 Roger Sayle <roger@eyesopen.com>
12864
12865 * convert.c (convert_to_real): Also optimize (float)log(x) into
12866 logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
12867
12868 2003-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
12869
12870 * config/sh/sh.c (unspec_caller_rtx_p): New.
12871 (sh_cannot_copy_insn_p): New.
12872 (TARGET_CANNOT_COPY_INSN_P): New.
12873
12874 2003-02-18 Richard Henderson <rth@redhat.com>
12875
12876 * c-common.c (handle_used_attribute): Accept static data too.
12877
12878 2003-02-18 Nick Clifton <nickc@redhat.com>
12879 Aldy Hernandez <aldyh@redhat.com>
12880
12881 * testsuite/gcc.dg/20030218-1.c: New.
12882
12883 * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
12884
12885 * target-def.h (TARGET_INITIALIZER): Add
12886 TARGET_VECTOR_TYPES_COMPATIBLE.
12887 (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
12888
12889 * target.h (struct gcc_target): Add field vector_types_compatible.
12890
12891 * c-typeck.c (comptypes): Take into account
12892 TARGET_VECTOR_TYPES_COMPATIBLE.
12893 (convert_for_assignment): Same.
12894
12895 * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
12896 (rs6000_spe_vector_types_compatible): New.
12897 (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
12898
12899 2003-02-19 Andreas Schwab <schwab@suse.de>
12900
12901 * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
12902 * toplev.c: Include langhooks-def.h.
12903
12904 2003-02-18 Chris Demetriou <cgd@broadcom.com>
12905
12906 * config/mips/mips.h (enum processor_type): Sort entries
12907 alphabetically.
12908 * config/mips/mips.md (define_attr cpu): Sync with processor_type
12909 enum values, including adding entries that were missing.
12910
12911 2003-02-18 J"orn Rennecke <joern.rennecke@superh.com>
12912
12913 * sh.c (calc_live_regs): Also check GET_CODE when checking if
12914 initial value for PR_REG is still the PR_REG register.
12915
12916 2003-02-18 Jim Wilson <wilson@redhat.com>
12917
12918 * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
12919 instruction in output template.
12920 (bsp_value): Change output template from string to C code, add %,
12921 before actual instruction.
12922 (flushrs): Mark as not predicable.
12923
12924 2003-02-18 Krister Walfridsson <cato@df.lth.se>
12925
12926 * inclhack.def (netbsd_bogus_semicolon): New fix.
12927 * fixincl.x: Rebuilt.
12928 * tests/base/ctype.h: Update.
12929
12930 2003-02-18 Roger Sayle <roger@eyesopen.com>
12931
12932 * fold-const.c (negate_expr_p): New function to determine whether
12933 an expression can be negated cheaply.
12934 (fold) [MINUS_EXPR]: Use it to determine whether to transform
12935 -A - B into -B - A for floating point types.
12936
12937 2003-02-18 Roger Sayle <roger@eyesopen.com>
12938
12939 * sbitmap.c (sbitmap_resize): New function.
12940 * sbitmap.h (sbitmap_resize): Prototype here.
12941 * recog.c (split_all_insns): Use sbitmap_resize.
12942
12943 2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
12944
12945 * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
12946 insn length.
12947 (extendqisi2): Likewise.
12948 (*extendhisi2_h8300): Likewise.
12949
12950 2003-02-18 Matt Austern <austern@apple.com>
12951
12952 * langhooks.h, langhooks-def.h: introduce new langhook,
12953 final_write_globals, with write_global_declarations as default.
12954 * toplev.c: Move invocation of wrapup_global_declarations from
12955 compile_file to new function, write_global_declarations. Change
12956 compile_file to use final_write_globals hook. Change
12957 wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
12958 conditional.
12959
12960 2003-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
12961
12962 * pa.md: Correct and enhance comment.
12963
12964 2003-02-18 Geoffrey Keating <geoffk@apple.com>
12965
12966 * gcc.c (validate_switches): Don't scan past closing '}'.
12967
12968 2003-02-18 Ben Elliston <bje@redhat.com>
12969
12970 PR c++/1607
12971 * doc/extend.texi (Function Attributes): Document the effect of
12972 the C++ "this" parameter on the counting of arguments for the
12973 "format" and "format_arg" attributes.
12974
12975 2003-02-17 Aldy Hernandez <aldyh@redhat.com>
12976
12977 * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
12978 (__ev_stdw): Same.
12979 (__ev_stdh): Same.
12980
12981 2003-02-17 Jan Hubicka <jh@suse.cz>
12982
12983 * recog.c (split_all_insns): Fix memory overflow.
12984
12985 2003-02-17 Kazu Hirata <kazu@cs.umass.edu>
12986
12987 * config/h8300/h8300.md (cmpqi): Remove mode from compare.
12988 (cmphi): Likewise.
12989 (*cmphi_h8300): Likewise.
12990 (*cmphi_h8300hs): Likewise.
12991 (cmpsi): Likewise.
12992 (7 peephole2): Likewise.
12993
12994 2003-02-16 Jan Hubicka <jh@suse.cz>
12995
12996 * c-typeck.c (build_c_cast): Fold constant variables into
12997 initial values.
12998
12999 2003-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13000
13001 * doc/install.texi (Specific): Fix link for m68k-att-sysv.
13002 (Binaries): Ditto for Sinix/Reliant Unix.
13003
13004 2003-02-16 Richard Earnshaw <rearnsha@arm.com>
13005
13006 * arm.c (arm_reload_in_hi): Ensure that the scratch register does
13007 not overlap the final result register.
13008
13009 2003-02-16 Arend Bayer <arend.bayer@web.de>
13010 Richard Henderson <rth@redhat.com>
13011
13012 PR c/8068
13013 * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
13014 rearrange mult arguments for less recursion.
13015 (extract_muldiv): New. Prevent runaway recursion.
13016
13017 2003-02-16 Danny Smith <dannysmith@users.sourceforge.net>
13018
13019 * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
13020 MASK_ALIGN_DOUBLE.
13021
13022 2003-02-15 Roger Sayle <roger@eyesopen.com>
13023
13024 * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
13025 to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
13026 (ext_80387_constants_table): Global table of 80387 special constants
13027 guarded by ext_80387_constants_init flag when not initialized.
13028 (init_ext_80387_constants): New function to initialize this table.
13029 (standard_80387_constant_p): Extend to recognize extra 80387
13030 constants, in XFmode, on processors where this is a win.
13031 (standard_80387_constant_opcode): New function to return the
13032 opcode associated with standard_80387_constant_p.
13033 (standard_80387_constant_rtx): New function to return the XFmode
13034 CONST_DOUBLE associated with standard_80387_constant_p.
13035 (ix86_rtx_costs): Give the new constants the same cost as 1.0.
13036
13037 * config/i386/i386-protos.h (standard_80387_constant_opcode):
13038 Prototype here.
13039 (standard_80387_constant_rtx): Likewise.
13040
13041 * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
13042 *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
13043 *movtf_integer): Simplify using new standard_80387_constant_opcode.
13044
13045 2003-02-15 Geoffrey Keating <geoffk@apple.com>
13046
13047 * doc/invoke.texi (Optimize Options): Correct @option syntax.
13048
13049 2003-02-15 Richard Henderson <rth@redhat.com>
13050
13051 * Makefile.in (cfglayout.o): Depend on TARGET_H.
13052 * cfglayout.c: Include target.h.
13053 (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
13054 * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
13055 * target.h (struct gcc_target): Add cannot_copy_insn_p.
13056
13057 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
13058 (TARGET_CANNOT_COPY_INSN_P): New.
13059 (override_options): Revert 2003-02-08 hack.
13060
13061 2003-02-15 Richard Henderson <rth@redhat.com>
13062
13063 * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
13064 (bypass_conditional_jumps): Accept computed_jump_p insns as well.
13065
13066 2003-02-15 David Edelsohn <edelsohn@gnu.org>
13067
13068 * config/rs6000/rs6000.h (processor_type): Add PPC440.
13069 * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
13070 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
13071 TARGET_SCHED_VARIABLE_ISSUE): Define.
13072 (rs6000_use_dfa_pipeline_interface): New function.
13073 (rs6000_multipass_dfa_lookahead): New Function.
13074 (rs6000_variable_issue): New function.
13075 (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
13076 (rs6000_issue_rate): Add PPC440.
13077 * config/rs6000/rs6000.md (unspec list): Correct typo.
13078 (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
13079 store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
13080 cmp, delayed_cr, mfcr, mtcr.
13081 (automata_option): Set "ndfa".
13082 (extendMMNN2): Update attributes.
13083 (movcc_internal1): Discourage move to non-cr0. Update
13084 attributes.
13085 (movMM_update): Update attributes.
13086 (cmpMM_internal): Update attributes.
13087 (sCC CR materialization): Update attributes.
13088 (branch patterns): Do not discourage non-cr0.
13089 (cr logical patterns): Prefer destructive register allocation.
13090 Update attributes.
13091 (movesi_from_cr): Update attribute.
13092 (mtcrf_operation): Update attribute.
13093 (mtcrfsi): Update attribute.
13094 * config/rs6000/40x.md: New file.
13095 * config/rs6000/603.md: New file.
13096 * config/rs6000/6xx.md: New file.
13097 * config/rs6000/7450.md: New file.
13098 * config/rs6000/7xx.md: New file.
13099 * config/rs6000/mpc.md: New file.
13100 * config/rs6000/power4.md: New file.
13101 * config/rs6000/rios1.md: New file.
13102 * config/rs6000/rios2.md: New file.
13103 * config/rs6000/rs64.md: New file.
13104 [Some DFA descriptions based on work by Michael Hayes]
13105
13106 2003-02-15 Richard Henderson <rth@redhat.com>
13107
13108 * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
13109 successors with multiple predecessors.
13110 (connect_traces): Try harder to copy traces of length 1.
13111
13112 * function.h (struct function): Add computed_goto_common_label,
13113 computed_goto_common_reg.
13114 * function.c (free_after_compilation): Zap them.
13115 * stmt.c (expand_computed_goto): Use them to produce one
13116 indirect branch per function.
13117
13118 2003-02-15 Richard Henderson <rth@redhat.com>
13119
13120 * cfgcleanup.c: Include params.h.
13121 (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES. Fix test for
13122 too many outgoing edges from a block.
13123 * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
13124 * params.def (max-crossjump-edges): New.
13125 * doc/invoke.texi: Document it.
13126
13127 2003-02-15 Richard Henderson <rth@redhat.com>
13128
13129 * recog.c (split_all_insns): Include new blocks in life update;
13130 do a global life update.
13131
13132 2003-02-15 Danny Smith <dannysmith@users.sourceforge.net>
13133
13134 * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
13135 Update copyright.
13136 * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
13137 -mno-cygwin case.
13138
13139 2003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
13140
13141 PR optimization/7702
13142 * reload1.c (reload_cse_simplify_set): Honor
13143 CANNOT_CHANGE_MODE_CLASS.
13144
13145 2003-02-14 Alexandre Oliva <aoliva@redhat.com>
13146
13147 * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
13148 function.
13149 * config/mn10300/mn10300-protos.h: Declare it.
13150 * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
13151 attribute cc of instructions that may use clr.
13152
13153 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
13154
13155 * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
13156 (x - (x & y)) is found.
13157
13158 2003-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13159
13160 * configure.in: Fix typo.
13161 * configure: Regenerate.
13162
13163 2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
13164
13165 * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
13166
13167 2003-02-13 Adam Nemet <anemet@lnxw.com>
13168
13169 PR opt/2391
13170 * combine.c: Fix spelling in comment.
13171 (cached_nonzero_bits): New function.
13172 (cached_num_sign_bit_copies): New function.
13173 (nonzero_bits_with_known): New macro.
13174 (num_sign_bit_copies_with_known): New macro.
13175 (nonzero_bits1): Rename from nonzero_bits. Add three new
13176 arguments. Change calls from nonzero_bits to
13177 nonzero_bits_with_known.
13178 (num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
13179 three new arguments. Change calls from num_sign_bit_copies to
13180 num_sign_bit_copies_with_known.
13181 (nonzero_bits): New macro.
13182 (num_sign_bit_copies): New macro.
13183 (update_table_tick): Don't traverse identical subexpression more
13184 than once.
13185 (get_last_value_validate): Likewise.
13186
13187 2003-02-13 Zack Weinberg <zack@codesourcery.com>
13188
13189 * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
13190 * function.h (struct emit_status): Length of regno_pointer_align
13191 and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
13192 not regno_pointer_align_length (i.e. length actually used, not
13193 length as allocated)
13194
13195 * config/i386/i386.c (struct stack_local_entry): New.
13196 (struct machine_function): Replace huge array with alist.
13197 (assign_386_stack_local): Change to match.
13198
13199 2003-02-13 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
13200
13201 * inclhack.def (hpux_long_double): Tighten select and add bypass
13202 regexp.
13203 * fixincl.x: Rebuilt.
13204
13205 2003-02-13 Josef Zlomek <zlomekj@suse.cz>
13206
13207 * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
13208 edge and block ends with a jump insn it must be simple jump.
13209
13210 2003-02-13 Daniel Jacobowitz <drow@mvista.com>
13211
13212 * Makefile.in (PREPROCESSOR_DEFINES): Add
13213 @TARGET_SYSTEM_ROOT_DEFINE@.
13214 * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
13215 is specified or if building a cross compiler.
13216 (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
13217 if the sysroot is under $exec_prefix.
13218 * configure: Regenerated.
13219 * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
13220 defined.
13221 (struct default_include): Add add_sysroot field.
13222 (cpp_SYSROOT): Declare.
13223 * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
13224 field.
13225 (cpp_SYSROOT): New variable.
13226 * cppinit.c (cpp_create_reader): Initialize
13227 CPP_OPTION (pfile, sysroot).
13228 (init_standard_includes): Handle add_sysroot. Do not
13229 add unrelocated copies of relocated directories.
13230 (COMMAND_LINE_OPTIONS): Add -isysroot.
13231 (cpp_handle_option): Handle -isysroot.
13232 * cpplib.h (struct cpp_options): Add sysroot member.
13233 * gcc.c (The Specs Language): Update description of %I.
13234 (target_system_root_changed): New variable.
13235 (process_command): Conditionalize make_relative_prefix call
13236 on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE. Set
13237 target_system_root_changed.
13238 (do_spec_1): Add -isysroot to %I.
13239 * doc/invoke.texi (Spec Files): Update description of %I.
13240 * doc/install.texi (--with-sysroot): Update comment about
13241 relocation.
13242
13243 2003-02-13 Kazu Hirata <kazu@cs.umass.edu>
13244
13245 * config/h8300/h8300.md (a peephole2): New.
13246
13247 2003-02-13 Robert Lipe <robertlipe@usa.net>
13248 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13249
13250 * doc/install.texi (Specific): Update three SCO-related URLs.
13251
13252 2003-02-13 Andreas Schwab <schwab@suse.de>
13253
13254 * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
13255 Parenthesize properly.
13256 (NPREDECESORS): Parenthesize properly.
13257
13258 2003-02-13 Gabriel Dos Reis <gdr@integrable-solutions.net>
13259
13260 * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
13261
13262 2003-02-12 Roger Sayle <roger@eyesopen.com>
13263
13264 * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
13265 (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
13266
13267 * reg-stack.c (subst_stack_regs_pat): Add support for binary
13268 UNSPEC instructions (e.g. "fpatan").
13269
13270 2003-02-12 Mike Stump <mrs@apple.com>
13271
13272 * varray.c (element_size): Remove.
13273 (uses_ggc): Remove.
13274 (element): Add.
13275 (varray_init): Use new interface.
13276 (varray_grow): Use new interface.
13277 (varray_clear): Use new interface.
13278
13279 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
13280
13281 * config/rs6000/spe.h: Add casts to the arguments of the following
13282 macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
13283 evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
13284 evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
13285 __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
13286 __ev_get_u16, __ev_get_s16.
13287
13288 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
13289
13290 * config/h8300/h8300.md (a peephole2): New.
13291
13292 2003-02-12 Jan Hubicka <jh@suse.cz>
13293
13294 * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
13295 (OBJS): Add callgraph.o
13296 (callgraph.o): New.
13297 * c-decl.c (expand_body_1): Break out from ...
13298 (expand_body): This one; change calling convention
13299 (finish_function): Move some of expand_body logic here.
13300 (c_expand_deferred_function): Update call of expand_body
13301 (c_expand_stmt): Use c_expand_body_1.
13302 * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
13303 * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
13304 * c-tree.h (c_expand_body): Declare.
13305 * callgraph.c: New file.
13306 * flags.h (flag_unit_at_a_time): Declare.
13307 * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
13308 LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
13309 LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
13310 * langhooks.h (struct lang_hooks_for_callgraph): New.
13311 (struct lang_hooks): Add callgraph field.
13312 * toplev.c (flag_unit_at_a_time): New.
13313 (lang_independent_options): Add flag_unit_at_a_time.
13314 (process_options): Disable unit-at-a-time mode for frontends not
13315 supporting callgraph.
13316 * tree-inline.c (typedef struct inline_data): Add "decl"
13317 (expand_call_inline): Update callgraph.
13318 (optimize_inline_calls): Set id.decl.
13319 * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
13320 cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
13321 cgraph_calls_p): Declare.
13322 * invoke.texi (-funit-at-a-time): Document
13323
13324 2003-02-12 Aldy Hernandez <aldyh@redhat.com>
13325
13326 * config/rs6000/spe.h: Fix misc formatting.
13327 (__ev_create_ufix32_fs): Cast ev argument.
13328 (__ev_create_sfix32_fs): Same.
13329 (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
13330 (__ev_get_ufix32_fs_internal): Same.
13331
13332 2003-02-12 Ranjit Mathew <rmathew@hotmail.com>
13333
13334 * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
13335 * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
13336
13337 2003-02-12 Zack Weinberg <zack@codesourcery.com>
13338
13339 * cpplib.c (do_include_common): Move warnings for
13340 #include_next and #import out to callers. Use early-return
13341 instead of nested ifs. Don't do check_eol here.
13342 (parse_include): Do check_eol here with the rest of the
13343 parsing stuff.
13344 (do_include_next, do_import): Now handle warnings.
13345
13346 2003-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13347
13348 * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
13349
13350 2003-02-12 Jan Hubicka <jh@suse.cz>
13351
13352 * predict.c (estimate_probability): Fix roundoff error.
13353
13354 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
13355
13356 * config/h8300/h8300.md (a peephole2): Don't handle 65535.
13357 (two peephole2): New.
13358
13359 2003-02-12 Kazu Hirata <kazu@cs.umass.edu>
13360
13361 * config/h8300/h8300.md (several peephole2): Replace
13362 find_regno_note with peep2_reg_dead_p.
13363
13364 2003-02-11 Richard Henderson <rth@redhat.com>
13365
13366 * gcse.c (lookup_set): Remove unused argument PAT. Update
13367 both callers.
13368
13369 2003-02-11 Geoffrey Keating <geoffk@apple.com>
13370
13371 * diagnostic.c (real_abort): New.
13372 (diagnostic_report_diagnostic): Call real_abort on error.
13373 * diagnostic.h (diagnostic_abort_on_error): New.
13374 (struct diagnostic_context): Add abort_on_error field.
13375 * toplev.c (setup_core_dumping): New.
13376 (decode_d_option): Handle 'H' case.
13377 * doc/invoke.texi (Debugging Options): Document -dH.
13378
13379 2003-02-11 Nathanael Nerode <neroden@gcc.gnu.org>
13380
13381 * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
13382 which refers to obsolete directories.
13383
13384 2003-02-11 Richard Henderson <rth@redhat.com>
13385
13386 * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
13387
13388 2002-10-21 Jan Hubicka <jh@suse.cz>
13389
13390 * i386.c (contains_128bit_aligned_vector_p): New function.
13391 (ix86_function_arg_boundary): Properly align vector modes.
13392
13393 2003-02-11 Bob Wilson <bob.wilson@acm.org>
13394
13395 * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
13396 * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
13397 as a SET pattern.
13398
13399 2003-02-11 Roger Sayle <roger@eyesopen.com>
13400
13401 * builtins.c: Fix failure caused by commiting wrong patch.
13402
13403 2003-02-11 Dale Johannesen <dalej@apple.com>
13404 * ra-build.c (compare_and_free_webs): Relax checking.
13405 * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME): Define.
13406 (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
13407
13408 2003-02-11 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
13409
13410 PR optimization/9651
13411 * rtlanal.c (may_trap_p): Handle FIX.
13412
13413 2003-02-11 Dave Jones <davej@codemonkey.org.uk>
13414
13415 * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
13416 * doc/invoke.texi: Extra alias.
13417
13418 2003-02-11 Geoffrey Keating <geoffk@apple.com>
13419
13420 * config/rs6000/host-darwin.c: Fix comment.
13421
13422 2003-02-11 David Edelsohn <edelsohn@gnu.org>
13423
13424 * config/rs6000/rs6000.md (divmodsi4): Use register_operand
13425 predicate for mod result.
13426
13427 2003-02-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13428
13429 * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
13430 hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
13431 * fixincl.x: Rebuilt.
13432 * tests/base/stdlib.h: Update.
13433 * tests/base/ctype.h: New file.
13434
13435 2003-02-11 Jan Hubicka <jh@suse.cz>
13436
13437 * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
13438
13439 2003-02-11 Richard Henderson <rth@redhat.com>
13440
13441 * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
13442 appropriated as globals.
13443 (ix86_expand_clrstr): Similarly.
13444 * config/i386/i386.md (cmpstrsi): Similarly.
13445
13446 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
13447
13448 * config/h8300/h8300.md (a peephole2): Add a case of 255.
13449
13450 2003-02-11 Roger Sayle <roger@eyesopen.com>
13451
13452 * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
13453 (pow_optab, atan2_optab): Define corresponding macros.
13454 * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
13455 * genopinit.c (optabs): Implement pow_optab and atan2_optab
13456 using pow?f3 and atan2?f3 patterns.
13457 * builtins.c (expand_errno_check): New function to update errno
13458 if necessary, split out from expand_builtin_mathfn.
13459 (expand_builtin_mathfn): Use expand_errno_check.
13460 (expand_builtin_mathfn_2): New function to handle expanding binary
13461 math functions, reusing the code in expand_errno_check.
13462 (expand_builtin): Handle the pow and atan2 math built-ins,
13463 BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
13464 expand_builtin_mathfn_2.
13465
13466 * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
13467
13468 2003-02-11 Jan Hubicka <jh@suse.cz>
13469
13470 * combine.c (combine_simplify_rtx): Fix folding of
13471 nested float_truncates.
13472
13473 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
13474
13475 * config/h8300/h8300.md (a peephole2): Fix a typo.
13476
13477 2003-02-11 Richard Earnshaw <rearnsha@arm.com>
13478
13479 * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
13480 register number.
13481
13482 2003-02-11 Kazu Hirata <kazu@cs.umass.edu>
13483
13484 * config/h8300/h8300-protos.h: Add a prototype for
13485 gtuleu_operator.
13486 * config/h8300/h8300.c (gtuleu_operator): New.
13487 * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
13488 * config/h8300/h8300.md (a peephole2): New.
13489
13490 2003-02-11 Jan Hubicka <jh@suse.cz>
13491
13492 * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
13493
13494 2003-02-11 Jan Hubicka <jh@suse.cz>
13495
13496 * predict.c (choose_function_section): Choose sections correctly.
13497
13498 2003-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13499
13500 * reload1.c (first_label_num): New.
13501 (reload): Index offsets_known_at and offsets_at using difference of
13502 label number and first label number. Don't use offset pointers.
13503 (set_label_offsets, set_initial_label_offsets): Likewise.
13504
13505 2003-02-10 Roger Sayle <roger@eyesopen.com>
13506
13507 * mips-tfile.c (init_file): Add missing initializers in the
13508 "#ifdef __alpha" case.
13509 (file_offset, max_file_offset): Declare as unsigned long.
13510 (write_varray): Cast to "unsigned long" in comparisons against
13511 either file_offset or max_file_offset.
13512 (write_object): Likewise.
13513 (read_seek): Likewise.
13514 (copy_object): Likewise. Declare "ifd" as int to match its use
13515 in add_ext_symbol, and avoid signed/unsigned conditional warning.
13516
13517 2003-02-10 Nick Clifton <nickc@redhat.com>
13518 Aldy Hernandez <aldyh@redhat.com>
13519
13520 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
13521 override options which have been specified on the command line.
13522
13523 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
13524
13525 * config/h8300/h8300.md (abssf2): New.
13526 (*abssf2_h8300): Likewise.
13527 (*abssf2_h8300hs): Likewise.
13528
13529 2003-02-10 Phil Edwards <pme@gcc.gnu.org>
13530
13531 * tree.c (build_tree_list): Fix parameter names in comment.
13532
13533 2003-02-10 Janis Johnson <janis187@us.ibm.com>
13534
13535 * config/rs6000/ppc64-fp.c: New file.
13536 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
13537
13538 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
13539
13540 * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
13541 * bb-reorder.c (make_reorder_chain): Deleted.
13542 (make_reorder_chain_1): Deleted.
13543 (find_traces): New function.
13544 (rotate_loop): New function.
13545 (mark_bb_visited): New function.
13546 (find_traces_1_round): New function.
13547 (copy_bb): New function.
13548 (bb_to_key): New function.
13549 (better_edge_p): New function.
13550 (connect_traces): New function.
13551 (copy_bb_p): New function.
13552 (get_uncond_jump_length): New function.
13553 (reorder_basic_blocks): Use new functions (Software Trace Cache).
13554 * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
13555 boundaries.
13556
13557 2003-02-10 Aldy Hernandez <aldyh@redhat.com>
13558
13559 * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
13560
13561 2003-02-09 Dan Nicolaescu <dann@ics.uci.edu>
13562
13563 * tree.h (struct tree_decl): Remove unused live_range_rtl field.
13564 (DECL_LIVE_RANGE_RTL): Remove.
13565
13566 2003-02-10 Nick Clifton <nickc@redhat.com>
13567
13568 * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
13569 config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
13570 config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
13571 config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
13572 config/arm/freebsd.h, config/arm/linux-elf.h,
13573 config/arm/linux-gas.h, config/arm/netbsd-elf.h,
13574 config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
13575 config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
13576 config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
13577 config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
13578 config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
13579 config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
13580 and reformat as appropriate.
13581
13582 2003-02-10 Kazu Hirata <kazu@cs.umass.edu>
13583
13584 * config/h8300/clzsi2.c: Remove.
13585 * config/h8300/ctzsi2.c: Likewise.
13586 * config/h8300/paritysi2.c: Likewise.
13587 * config/h8300/popcountsi2.c: Likewise.
13588 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
13589 ctzsi2, paritysi2, and popcountsi2.
13590
13591 2003-02-10 Eric Botcazou <ebotcazou@libertysurf.fr>
13592 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
13593
13594 PR c/7741
13595 * c-decl.c (duplicate_decls): Discard the initializer of the
13596 new decl when the types are conflicting.
13597
13598 2003-02-10 Josef Zlomek <zlomekj@suse.cz>
13599
13600 * Makefile.in (sreal.o): Added.
13601 (predict.o): Depends on sreal.h instead of real.h.
13602 * sreal.c: New file.
13603 * sreal.h: New file.
13604 * predict.c: Use sreal.c instead of real.c.
13605
13606 2003-02-10 Nick Clifton <nickc@redhat.com>
13607
13608 * Contributed support for the Cirrus EP9312 "Maverick"
13609 floating point co-processor. Written by Aldy Hernandez
13610 <aldyh@redhat.com>.
13611 (config/arm/arm.c): Add Cirrus support.
13612 (config/arm/arm.h): Likewise.
13613 (config/arm/aout.h): Likewise.
13614 (config/arm/arm.md): Likewise.
13615 (config/arm/arm-protos.h): Likewise.
13616 (config.gcc): Likewise.
13617 (doc/invoke.texi): Describe new -mcpu value and new
13618 -mcirrus-fix-invalid-insns switch,
13619 (cirrus.md): New file.
13620
13621 2003-02-10 Jan Hubicka <jh@suse.cz>
13622
13623 * combine.c (combine_simplify_rtx): Simplify using
13624 (float_truncate (float x)) is (float x)
13625 (float_extend (float_extend x)) is (float_extend x).
13626
13627 2003-02-10 Alan Modra <amodra@bigpond.net.au>
13628
13629 * calls.c (try_to_integrate): Tidy stack_usage_map access.
13630 (emit_library_call_value_1): Likewise. Formatting.
13631 (store_one_arg): Likewise.
13632
13633 2003-02-09 Nick Clifton <nickc@redhat.com>
13634 Aldy Hernandez <aldyh@redhat.com>
13635
13636 * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
13637 spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
13638 spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
13639 spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
13640 spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
13641 docs. Add range test for immediate value.
13642
13643 2003-02-09 Aldy Hernandez <aldyh@redhat.com>
13644
13645 Rename spe_evxor to xorv2si3.
13646 (xorv4hi3): New.
13647 (xorv1di3): New.
13648
13649 2003-02-10 Glen Nakamura <glen@imodulo.com>
13650
13651 * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
13652 tag.
13653
13654 2003-02-10 Jan Hubicka <jh@suse.cz>
13655
13656 * i386.c (vector_move_operand): New predicate.
13657 (ix86_expand_vector_move): Be happy about 0.
13658 * i386.h (PREDICATE_CODES): Add sse-move_operand.
13659 * i386.md (mov*_internal): Add 'C' alternative.
13660
13661 2003-02-09 Jan Hubicka <jh@suse.cz>
13662
13663 * i386.md (floathi*): Deal with SSE.
13664
13665 2003-02-09 Jan Hubicka <jh@suse.cz>
13666
13667 * simplify-rtx.c (simplify_unary_operation,
13668 simplify_binary_operation): Deal with vector modes
13669 (simplify_ternary_operation): Deal with no-op VEC_MERGE.
13670
13671 2003-02-09 Richard Sandiford <rsandifo@redhat.com>
13672
13673 * toplev.c (rest_of_compilation): Recompute register usage after
13674 split_all_insns.
13675
13676 2003-02-09 Richard Henderson <rth@redhat.com>
13677
13678 * libgcc-std.ver (__clztf2): New.
13679 (__ctztf2, __popcounttf2, __paritytf2): New.
13680 * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
13681 __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
13682 adjust code to match the different type sizes.
13683 * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
13684 __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
13685
13686 * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
13687 TImode; select word_mode and twice that.
13688 (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
13689 select the modes from float, double, and long double.
13690 (init_optabs): Remove duplicate initializations.
13691
13692 2003-02-09 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
13693
13694 * doc/install.texi: Squeeze and streamline section on
13695 testing and regression checking.
13696
13697 2003-02-09 Jan Hubicka <jh@suse.cz>
13698
13699 * i386.md (ahi?v*3): Set third operand type to TImode.
13700 * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
13701
13702 * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
13703 integer mode.
13704
13705 * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
13706 Change code so they are arithmetic expressions now.
13707 * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
13708 simplify_ternary_operation): Deal with VEC_* expressions.
13709
13710 * i386.md (vmaskcmp, pinsrw, movd patterns): Fix RTL representation.
13711
13712 2003-02-08 Jan Hubicka <jh@suse.cz>
13713
13714 * cfgrtl.c (verify_flow_info): Use control_flow_insn_p.
13715 * reload1.c (fixup_abnormal_edges): Split basic blocks when EH edges
13716 possibly got duplicated.
13717
13718 2003-02-08 Richard Henderson <rth@redhat.com>
13719
13720 * config/alpha/alpha.c (override_options): Turn off explicit
13721 relocs until post-peep2 code duplication resolved.
13722
13723 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
13724
13725 * optabs.c (expand_unop): Widen clz properly when clz is done
13726 via libcall.
13727
13728 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
13729
13730 * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
13731 * config/h8300/crti.asm: Likewise.
13732 * config/h8300/crtn.asm: Likewise.
13733 * config/h8300/ctzsi2.c: Likewise.
13734 * config/h8300/fixunssfsi.c: Likewise.
13735 * config/h8300/h8300-protos.h: Likewise.
13736 * config/h8300/h8300.c: Likewise.
13737 * config/h8300/h8300.h: Likewise.
13738 * config/h8300/h8300.md: Likewise.
13739 * config/h8300/paritysi2.c: Likewise.
13740 * config/h8300/popcountsi2.c: Likewise.
13741 * config/h8300/rtems.h: Likewise.
13742
13743 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13744
13745 * doc/invoke.texi: Documentation for my previous commit.
13746 * doc/passes.texi: Ditto.
13747
13748 2003-02-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
13749
13750 * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
13751 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
13752 Declare.
13753 (DLTHE_FLAG_UPDATE_FREQ): New.
13754 * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
13755 loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
13756 rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
13757 fix_bb_placement, fix_bb_placements, place_new_loop,
13758 scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
13759 New static functions.
13760 (fix_loop_placement, can_duplicate_loop_p,
13761 duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
13762 New functions.
13763
13764 * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
13765 unswitch_loops): Declare.
13766 * loop-init.c: New file.
13767 * loop-unswitch.c: New file.
13768 * Makefile.in (loop-init.o, loop-unswitch.o): New.
13769 * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
13770 * toplev.c (DFI_loop2): New dump.
13771 (flag_unswitch_loops): New.
13772 (lang_independent_options): Add it.
13773 (rest_of_compilation): Call new loop optimizer.
13774 (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
13775
13776 2003-02-08 Kazu Hirata <kazu@cs.umass.edu>
13777
13778 * config/h8300/clzsi2.c: New.
13779 * config/h8300/ctzsi2.c: Likewise.
13780 * config/h8300/paritysi2.c: Likewise.
13781 * config/h8300/popcountsi2.c: Likewise.
13782 * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
13783
13784 2003-02-07 David Edelsohn <edelsohn@gnu.org>
13785
13786 * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
13787 * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
13788 (ctzsi2): New pattern.
13789 (ffssi2): Use clz instead of unspec.
13790 (clzdi2): Rename from cntlzd2.
13791 (ctzdi2): New pattern.
13792 (ffsdi2): Use clz instead of unspec.
13793
13794 2003-02-07 Loren James Rittle <ljrittle@acm.org>
13795
13796 * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
13797 * config/ia64/freebsd.h (LINK_SPEC): Likewise.
13798 * config/sparc/freebsd.h (LINK_SPEC): Likewise.
13799 * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
13800
13801 2003-02-07 Wolfgang Bangerth <bangerth@ticam.utexas.edu>
13802
13803 * doc/trouble.texi: Document pitfalls of two-stage name lookup.
13804
13805 2003-02-07 Richard Henderson <rth@redhat.com>
13806
13807 PR 9226
13808 * gcse.c (local_cprop_find_used_regs): New.
13809 (local_cprop_pass): Use it.
13810
13811 2003-02-07 Fred Fish <fnf@intrinsity.com>
13812
13813 * mips-tfile.c (parse_def): Parenthesize assignments to fix
13814 precedence bugs.
13815
13816 2003-02-07 Segher Boessenkool <segher@koffie.nl>
13817
13818 * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
13819
13820 2003-02-07 Roger Sayle <roger@eyesopen.com>
13821
13822 * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
13823 (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
13824 (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
13825 * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
13826 builtin functions (and their __builtin_* variants).
13827 * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
13828 (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
13829 when not optimizing.
13830
13831 * doc/extend.texi: Document new pow and atan2 builtins, and
13832 their float and long double variants. Realphabetize builtins.
13833
13834 2003-02-07 Jan Hubicka <jh@suse.cz>
13835
13836 * i386.md (sse2_nandv2di3): Fix.
13837
13838 2003-03-07 Danny Smith <dannysmith@users.sourceforge.net>
13839
13840 * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
13841 * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
13842 definition.
13843 * config/i386/i386.h (ix86_return_in_memory): Return aggregate
13844 types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
13845
13846 2003-02-07 Jan Hubicka <jh@suse.cz>
13847
13848 * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
13849
13850 2003-02-07 Daniel Berlin <dberlin@dberlin.org>
13851
13852 * cfg.c (dump_flow_info): Add back accidently deleted line.
13853
13854 2003-02-07 Andrey Petrov <petrov@netbsd.org>
13855
13856 * optabs.c (expand_float): Search wider integer modes first.
13857
13858 2003-02-07 Bob Wilson <bob.wilson@acm.org>
13859
13860 * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
13861 based on preprocessor flag.
13862
13863 2003-02-07 Roger Sayle <roger@eyesopen.com>
13864 Richard Henderson <rth@redhat.com>
13865
13866 * gcse.c (implicit_sets): New.
13867 (compute_hash_table_work): Include them in hash table.
13868 (find_implicit_sets, fis_get_condition): New.
13869 (one_cprop_pass): Allocate and free implicit_sets; call
13870 find_implicit_sets before building hash table.
13871
13872 2003-02-07 Jason Thorpe <thorpej@wasabisystems.com>
13873
13874 * config/t-netbsd (USER_H): Revert previous change.
13875
13876 2003-02-07 Gabor Greif <ggreif@lucent.com>
13877
13878 * doc/c-tree.texi (Namespaces): Fix typo.
13879
13880 2003-02-07 Jan Hubicka <jh@suse.cz>
13881
13882 * regrename.c (do_replace, find_oldest_value_reg,
13883 copyprop_hardreg_forward_1): Update register attributes.
13884
13885 2003-02-06 Vladimir Makarov <vmakarov@redhat.com>
13886
13887 * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
13888 VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
13889 variables starting with underscore.
13890 (struct unit_usage): New structure.
13891 (unit_usages, cycle_alt_unit_usages): New global variables.
13892 (check_unit_distribution_in_reserv): Remove it.
13893 (store_alt_unit_usage): New function.
13894 (check_regexp_units_distribution): Rewrite it.
13895
13896 2003-02-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13897
13898 * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
13899 target_cpu_default.
13900 * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
13901 if not MASK_NO_SPACE_REGS.
13902 (output_call): Adjust return pointer, don't load new space register
13903 into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
13904 (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
13905 TARGET_NO_SPACE_REGS is true.
13906 * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
13907 conditions.
13908 (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
13909 (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
13910 true. Use bve when TARGET_64BIT is true.
13911
13912 2003-02-06 Richard Henderson <rth@redhat.com>
13913
13914 * combine.c (nonzero_bits): Fix double break.
13915
13916 2003-02-06 Eric Botcazou <ebotcazou@libertysurf.fr>
13917 Richard Henderson <rth@redhat.com>
13918
13919 PR c/9530
13920 * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
13921 from functions that return a float to functions that don't.
13922
13923 2003-02-06 Jan Hubicka <jh@suse.cz>
13924
13925 * i386.c (x86_inter_unit_moves): New variable.
13926 (ix86_secondary_memory_needed): Fix 64bit case, honor
13927 TARGET_INTER_UNIT_MOVES
13928 * i386.h (x86_inter_unit_moves): Declare.
13929 (TARGET_INTER_UNIT_MOVES): New macro.
13930 * i386.md (movsi_1): Cleanup constraints; disable
13931 when not doing inter-unit moves.
13932 (movsi_1_nointernunit): New.
13933 (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
13934 (movdi_1_rex64_nointerunit): New.
13935 (mivsf_1): disable when not doing inter-unit moves.
13936 (movsf_1_nointerunit): New.
13937
13938 * basic-block.h (inside_basic_block_p): Declare.
13939 * cfgbuild.c (inside_basic_block_p): Make global.
13940 * haifa-sched.c (unlink_other_notes): Deal with NOT_INSN_BASIC_BLOCK.
13941 * scheudle-ebb.c (schedule_ebb): Return last basic block of trace;
13942 update CFG.
13943 (fix_basic_block_boundaries, add_missing_bbs): New.
13944 (rank): Use profile.
13945 (scheudle_ebbs): Rely on CFG; update coments.
13946
13947 2003-02-05 Geoffrey Keating <geoffk@apple.com>
13948
13949 * Makefile.in (host_hook_obj): New.
13950 (OBJS): Add $(host_hook_obj).
13951 (host_default.o): New rule.
13952 * config.gcc (host_hook_obj): New, default to host-default.o.
13953 (powerpc-*-darwin*): Use host-darwin.o.
13954 (out_host_hook_obj): New.
13955 * configure: Regenerate.
13956 * configure.in: Print information about out_host_hook_obj, substitute
13957 into output files.
13958 * host-default.c: New file.
13959 * hosthooks.h: New file.
13960 * toplev.c (general_init): Call host_hooks.extra_signals.
13961 * config/rs6000/host-darwin.c: New file.
13962 * config/rs6000/x-darwin: New file.
13963 * doc/hostconfig.texi: Add documentation for new host hook.
13964 Rearrange existing documentation.
13965
13966 2003-02-05 Roger Sayle <roger@eyesopen.com>
13967
13968 * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
13969 with *targetm.delegitimize_address.
13970 (rtl_for_decl_location): Likewise.
13971 * dwarfout.c (output_mem_loc_descriptor): Likewise. Include target.h.
13972 * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
13973
13974 * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
13975 * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
13976 prototype.
13977 * config/i386/i386.c (ix86_delegitimize_address): Renamed from
13978 i386_simplify_dwarf_addr. Made static. Prototyped.
13979 (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
13980 i386_simplify_dwarf_addr to ix86_delegitimize_address.
13981 (ix86_find_base_term): Likewise.
13982 (maybe_get_pool_constant): Likewise.
13983
13984 * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
13985 * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
13986 prototype.
13987 * config/s390/s390.c (s390_delegitimize_address): Renamed from
13988 s390_simplify_dwarf_addr. Made static. Prototyped.
13989 (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
13990
13991 2003-02-05 Richard Henderson <rth@redhat.com>
13992
13993 PR c/8602
13994 * integrate.c (output_inline_function): Reset input_filename
13995 and lineno from the decl before rest_of_compilation.
13996
13997 2003-02-05 Richard Henderson <rth@redhat.com>
13998
13999 * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
14000 (CTZ_DEFINED_VALUE_AT_ZERO): New.
14001 * doc/rtl.texi, doc/tm.texi: Document them.
14002
14003 * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
14004 of the value at zero properly.
14005 * fold-const.c (tree_expr_nonnegative_p): Likewise.
14006 * simplify-rtx.c (simplify_unary_operation): Likewise.
14007
14008 * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
14009 (CTZ_DEFINED_VALUE_AT_ZERO): New.
14010
14011 * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
14012 (TARGET_EXPAND_BUILTIN): Remove.
14013 (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
14014 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
14015 (enum arm_builtins): Remove.
14016 * config/arm/arm.md (UNSPEC_CLZ): Remove.
14017 (clzsi2): Rename from clz; use clz instead of unspec.
14018 (ctzsi2): New.
14019 * config/arm/arm-protos.h: Update.
14020
14021 2003-02-05 Jan Hubicka <jh@suse.cz>
14022
14023 * i386-protos.h (x86_emit_floatuns): Declare.
14024 * i386.c (x86_emit_floatuns): New global function.
14025 * i386.md (floatunssisf2, floatunsdisf2,
14026 floatunsdidf2): New patterns.
14027
14028 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
14029
14030 * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
14031
14032 2003-02-05 Hans Boehm <Hans.Boehm@hp.com>
14033
14034 * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
14035 config/ia64/linux.h
14036
14037 2003-02-05 Roger Sayle <roger@eyesopen.com>
14038
14039 * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
14040
14041 2003-02-05 Jakub Jelinek <jakub@redhat.com>
14042
14043 PR optimization/8555
14044 * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
14045 instead of aborting.
14046
14047 2003-02-04 Richard Henderson <rth@redhat.com>
14048
14049 * config/i386/i386.md (UNSPEC_BSF): Remove.
14050 (ffssi2): Split into cmove and no_cmove insns and splitters;
14051 lose pentium float trick for now.
14052 (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
14053 (ctzsi2, clzsi2, bsr): New.
14054
14055 2003-02-04 Richard Henderson <rth@redhat.com>
14056
14057 * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
14058 UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
14059 * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
14060 (ffsdi2): Use popcount instead of unspec.
14061 (popcountdi2): Rename from *popcnt.
14062 (ctzdi2, clzdi2, getf_exp_tf): New.
14063
14064 2003-02-04 Kazu Hirata <kazu@cs.umass.edu>
14065
14066 * genconfig.c (main): Generate CC0_P.
14067 * rtl.h (CC0_P): Remove.
14068
14069 2003-02-04 Richard Henderson <rth@redhat.com>
14070
14071 * libgcc2.h, libgcc2.c (__ffsSI2): New.
14072 (__ffsDI2): Rename from __ffsdi2.
14073 * mklibgcc.in (lib2funcs): Add _ffssi2.
14074
14075 2003-02-04 Richard Henderson <rth@redhat.com>
14076
14077 * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
14078 rounds with a "bit table" lookup.
14079
14080 2003-02-04 Ulrich Weigand <uweigand@de.ibm.com>
14081
14082 * reload.c (find_reloads): Do not use the mode specified in the insn
14083 pattern as reload mode for address operands. Do not generate optional
14084 reloads for operands where a mandatory reload was already pushed.
14085
14086 2003-02-04 Richard Henderson <rth@redhat.com>
14087
14088 * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
14089 builtins instead of inline assembly.
14090
14091 2003-02-04 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
14092
14093 PR c/9376
14094 * libgcc2.c (__subvdi3): Fix typo.
14095
14096 2003-02-04 Jan Hubicka <jh@suse.cz>
14097
14098 * i386.md (movti_rex64): Fix constraint.
14099
14100 2003-02-04 Jan Hubicka <jh@suse.cz>
14101
14102 * i386.md (vector push splitters): Fix typo in resolving conflict.
14103
14104 2003-02-04 Rodney Brown <rbrown64@csc.com.au>
14105
14106 * config/i386/i386.c (x86_function_profiler): Fix typo in format.
14107
14108 2003-02-04 Phil Edwards <pme@gcc.gnu.org>
14109
14110 * doc/install.texi (*-*-linux-gnu): Mention glibc requirements
14111 for recent libstdc++. Remove formatting cruft.
14112
14113 2003-02-04 Jakub Jelinek <jakub@redhat.com>
14114
14115 * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
14116 attribute even if input file name is absolute, but one of the
14117 includes is relative.
14118
14119 2003-02-04 Joseph S. Myers <jsm@polyomino.org.uk>
14120
14121 * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
14122 doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
14123 * doc/install.texi: Update copyright dates. Update to GFDL 1.2.
14124
14125 2003-02-03 Richard Henderson <rth@redhat.com>
14126
14127 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
14128 __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
14129 return type to "int". Shuffle declarations and undef int trap.
14130 * libgcc2.h: Remove their declarations.
14131 * optabs.c (expand_unop): Force outmode to int for bitops.
14132
14133 2003-02-03 Bob Wilson <bob.wilson@acm.org>
14134
14135 * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
14136 coprocessor registers before floating-point registers.
14137 * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
14138 to account for a previously removed register.
14139 (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
14140 Delete unused macros.
14141
14142 2003-02-03 Jan Hubicka <jh@suse.cz>
14143
14144 * i386.c (ix86_expand_store_builtin): Always force op1 to register.
14145 (mov*_internal): Fix predicates; require one of operands to not be
14146 memory.
14147 (SSE?MMX move expanders): Fix predicates; force one of operands to
14148 register.
14149 (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
14150 (movups/movupd/movdqu patterns): Force one of operands to not be
14151 memory.
14152
14153 2003-02-03 Roger Sayle <roger@eyesopen.com>
14154
14155 * hooks.c (hook_rtx_rtx_identity): Generic hook function that
14156 takes a single rtx and returns it unmodified.
14157 * hooks.h (hook_rtx_rtx_identity): Prototype here.
14158 * target.h (struct gcc_target): Add "delegitimize_address"
14159 field to target structure.
14160 * target-def.h (TARGET_DELEGITIMIZE_ADDRESS): Provide default
14161 for delegitimize_address target using hook_rtx_rtx_identity.
14162 (TARGET_INITIALIZER): Initialize delegitimize_address field
14163 using TARGET_DELEGITIMIZE_ADDRESS macro.
14164 * simplify-rtx.c (avoid_constant_pool_reference): Handle float
14165 extensions of constant pool references. Use delegitimize_address
14166 to undo the obfuscation of "-fpic".
14167 * Makefile.in (simplify-rtx.o): Add dependency on target.h.
14168
14169 * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
14170 i386_simplify_dwarf_addr.
14171 (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
14172 (maybe_get_pool_constant): Likewise.
14173
14174 2003-02-03 Jan Hubicka <jh@suse.cz>
14175
14176 * i386.c (ix86_expand_int_movcc): Fix setcc sign bit case.
14177
14178 2003-02-03 Jan Hubicka <jh@suse.cz>
14179
14180 * regclass.c (cannot_change_mode_set_regs): Correct argument order.
14181
14182 2003-02-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14183
14184 * mips/_tilib.c: Don't include tsystem.h or defaults.h. Don't
14185 define LIBGCC2_WORDS_BIG_ENDIAN. Include coretypes.h and tm.h.
14186
14187 2003-02-02 Andreas Schwab <schwab@suse.de>
14188
14189 * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
14190
14191 2003-02-02 Richard Earnshaw <rearnsha@arm.com>
14192
14193 * arm.md (sibcall_epilogue): Set the "conds" to "clob".
14194 (epilogue_insns): Likewise.
14195
14196 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14197
14198 * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
14199
14200 2003-02-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14201
14202 * pa-protos.h (attr_length_millicode_call): Remove second argument.
14203 (attr_length_indirect_call, attr_length_indirect_call,
14204 attr_length_save_restore_dltp): New prototypes.
14205 * pa.c (attr_length_millicode_call): Remove second argument. Check
14206 INSN_ADDRESSES_SET_P in distance calculation.
14207 (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
14208 INSN_ADDRESSES.
14209 (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
14210 (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
14211 Call attr_length_call directly.
14212 (attr_length_indirect_call, output_indirect_call,
14213 attr_length_save_restore_dltp): New functions.
14214 * pa.md (attr_length_millicode_call): Drop second argument from all
14215 patterns.
14216 (return_internal_pic): Delete.
14217 (return_external_pic): Remove use of PIC register and pic operand and
14218 flag checks.
14219 (epilogue): Use return_internal for both normal and pic code.
14220 (call, call_value): Emit new 32-bit pic patterns for symref and
14221 indirect calls. Remove uses for arg pointer and pic register.
14222 (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
14223 call_reg_pic_post_reload, call_val_symref_pic,
14224 call_val_symref_pic_post_reload, call_val_reg_pic,
14225 call_val_reg_pic_post_reload): New pre and post reload insn patterns.
14226 Implement define_split and define_peephole2 patterns for pre reload
14227 patterns.
14228 (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
14229 call_value_internal_reg_64bit): Shorten names.
14230 (all call patterns): Explicitly indicate registers used and clobbered.
14231 Use attr_length_indirect_call and attr_length_save_restore_dltp for
14232 attribute length calculation. Move code generation for indirect calls
14233 to output_indirect_call.
14234 (sibcall, sibcall_value): Don't restore PIC register.
14235 (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
14236 register retore.
14237
14238 2003-02-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14239
14240 * doc/install.texi (Testing): Simplify and compress instructions
14241 concerning Dejagnu.
14242
14243 2003-02-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14244
14245 * collect2.c (pexecute_pid): Rename to pid.
14246 (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
14247 pid.
14248
14249 2003-02-01 Geoffrey Keating <geoffk@apple.com>
14250
14251 * doc/extend.texi (Function Attributes): Remove documentation
14252 for PowerPC Windows NT function attributes..
14253
14254 2003-02-01 Daniel Jacobowitz <drow@mvista.com>
14255
14256 * dwarf2out.c (gen_type_die): Check for typedefs before calling
14257 for TYPE_MAIN_VARIANT.
14258
14259 2003-02-01 Richard Henderson <rth@redhat.com>
14260
14261 * libgcc2.c: Include auto-host.h.
14262 (ATTRIBUTE_HIDDEN): New.
14263 (__clz_tab): Don't declare here for clz and ctz.
14264 (__clzsi2, __clzdi2): Use count_leading_zeros.
14265 (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
14266 (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
14267 (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
14268 * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
14269
14270 2003-02-01 Richard Henderson <rth@redhat.com>
14271
14272 * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
14273 to the conditional.
14274 (ashlsi3_1_zext splitter): Likewise.
14275
14276 2003-02-01 Richard Henderson <rth@redhat.com>
14277
14278 * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
14279 * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
14280 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
14281 return type to Wtype.
14282
14283 * libgcc-std.ver (GCC_3.4): Fix inheritance.
14284
14285 * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
14286 expander input constraint.
14287
14288 2003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
14289
14290 * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
14291 OTI_parity.
14292 (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
14293 * optabs.c (widen_clz, expand_parity): New.
14294 (expand_unop): Handle clz and parity. Hardcode SImode as outmode
14295 for libcalls to clz, ctz, popcount, and parity.
14296 (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
14297 parity_optab, and set up libfunc handlers.
14298 * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
14299 __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
14300 __popcount_tab): New.
14301 * libgcc2.h: Declare them.
14302 * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
14303 * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
14304 and parity_optab.
14305 * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
14306 * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
14307 BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
14308 BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
14309 BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
14310 BUILT_IN_PARITYLL): New.
14311 * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
14312 and add optab argument.
14313 (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
14314 * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
14315 * expr.c (expand_expr): Handle them.
14316 * fold-const.c (tree_expr_nonnegative_p): Likewise.
14317 * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
14318 * reload1.c (eliminate_regs): Handle them.
14319 (elimination_effects): Likewise.
14320 * function.c (instantiate_virtual_regs_1): Likewise
14321 * genattrtab.c (check_attr_value): Likewise.
14322 * simplify-rtx.c (simplify_unary_operation): Likewise.
14323 * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
14324 * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
14325 (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
14326 * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
14327 * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
14328 __builtin_arm_clz.
14329 * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
14330 * mklibgcc.in (lib2funcs): ...here and merge. Add new members.
14331 * doc/extend.texi (Other Builtins): Add new builtins.
14332 * doc/md.texi (Standard Names): Add new patterns.
14333
14334 2003-02-01 Ulrich Weigand <uweigand@de.ibm.com>
14335
14336 * reload.c: Revert 2003-01-31 change.
14337
14338 2003-02-01 Jan Hubicka <jh@suse.cz>
14339
14340 * combine.c (combine_simplify_rtx): Use reversed_comparison_code_parts.
14341
14342 2003-02-01 Richard Sandiford <rsandifo@redhat.com>
14343
14344 * flags.h (flag_volatile): Remove declaration.
14345 (flag_volatile_global, flag_volatile_static): Likewise.
14346 * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
14347 * toplev.c (flag_volatile): Remove definition.
14348 (flag_volatile_global, flag_volatile_static): Likewise.
14349 (f_options): Remove corresponding entries here.
14350 * varasm.c (make_decl_rtl): Don't check flag_volatile_global
14351 or flag_volatile_static.
14352 * doc/invoke.texi: Remove documentation of -fvolatile,
14353 -fvolatile-global and -fvolatile-static.
14354
14355 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14356
14357 * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
14358 updating of total_code_bytes from prologue to epilogue.
14359
14360 2003-01-31 Ulrich Weigand <uweigand@de.ibm.com>
14361
14362 * reload.c (find_reloads): Do not use the mode specified in the insn
14363 pattern as reload mode for address operands. Do not generate optional
14364 reloads for operands where a mandatory reload was already pushed.
14365 Generate optional reloads only in the final pass though find_reloads.
14366 (have_replacement_p): New function.
14367
14368 2003-01-31 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14369
14370 * doc/install.texi (Testing): Remove a reference to our obsolete
14371 /testresults web pages and strip redundant information concerning
14372 test results.
14373 (Binaries): Refer to Microsoft Windows instead of listing all
14374 possible variants.
14375
14376 2003-02-01 Jan Hubicka <jh@suse.cz>
14377
14378 * loop.c (emit_prefetch_instructions): Do conversion at right place in
14379 RTL chain.
14380
14381 * combine.c (simplify_set): Reverse order of ragumetns to
14382 REG_CANNOT_CHANGE_MODE_P
14383 * df.c (df_def_record_1): Likewise.
14384 * recog.c (register_operand): Likewise.
14385 * simplify-rtx.c (simplify_subreg): Likewise.
14386 * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
14387 CANNOT_CHANGE_MODE_CLASS.
14388 * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
14389 Likewise.
14390 * reload.c (push_reload): Likewise.
14391 * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
14392 * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
14393 * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
14394 * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
14395 * mips.c (mips_cannot_change_mode_class): Update.
14396 * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
14397 * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
14398 * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
14399 * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
14400 * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
14401 * sh.c (sh_cannot_change_mode_class): Update.
14402 * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
14403 * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
14404
14405 2003-01-31 Geoffrey Keating <geoffk@apple.com>
14406
14407 * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
14408 change to LINK_COMMAND_SPEC in gcc.c.
14409
14410 2003-01-31 Jan Hubicka <jh@suse.cz>
14411
14412 PR c/9506
14413 * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
14414
14415 2003-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
14416
14417 * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
14418 duplicated code.
14419
14420 2003-01-31 Nathan Sidwell <nathan@codesourcery.com>
14421
14422 * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
14423 (BINFO_ELTS): New #define.
14424 * stor-layout.c (finalize_record_size): Don't set them.
14425 * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
14426 BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
14427 (BINFO_LANG_ELTS): New #define.
14428 * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
14429 * java/class.c (make_class): Use BINFO_ELTS.
14430 (set_super_info): Likewse.
14431 (add_interface_do): Likewise.
14432 * objc/objc-act.c (start_class): Use BINFO_ELTS.
14433
14434 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
14435
14436 * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
14437 (times): Don't ever declare if not HAVE_TIMES.
14438 (clock): Don't ever declare if not HAVE_CLOCK.
14439
14440 2003-01-30 Richard Henderson <rth@redhat.com>
14441
14442 * flow.c (update_life_info): Zap life info after cleanup_cfg.
14443 (regno_uninitialized): Use correct live at function entry set.
14444 (regno_clobbered_at_setjmp): Likewise.
14445
14446 * expr.c (store_expr): Promote all MEM intermediates to regs.
14447
14448 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
14449
14450 * config/arm/arm.c: Fix comment typos.
14451 * config/arm/arm.h: Likewise.
14452 * config/arm/netbsd-elf.h: Likewise.
14453 * config/arm/netbsd.h: Likewise.
14454
14455 2003-01-30 Geoffrey Keating <geoffk@apple.com>
14456
14457 * gengtype.c (struct walk_type_data): Add needs_cast_p.
14458 (walk_type): Set needs_cast_p in walk_type_data.
14459 (write_types_process_field): Supply casts when required to suppress
14460 warnings.
14461 (write_root): Cast gt_pch_n_S to suppress warning.
14462 * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
14463 * config/rs6000/rs6000.c (print_operand): Mask off high bits only
14464 when they might exist.
14465 * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
14466 insn-conditions.o, and rs6000.o.
14467
14468 2003-01-30 Richard Henderson <rth@redhat.com>
14469
14470 * ggc-page.c (G.context_depth_allocations): New.
14471 (G.context_depth_collections): New.
14472 (alloc_page): Set G.context_depth_allocations.
14473 (ggc_collect): Set G.context_depth_collections.
14474 (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
14475 (ggc_pop_context): Early exit for no allocations or collections.
14476
14477 2003-01-30 Richard Henderson <rth@redhat.com>
14478
14479 * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
14480
14481 2003-01-30 Richard Earnshaw <rearnsha@arm.com>
14482
14483 * arm.c (arm_compute_initial_elimination_offset): If optimizing for
14484 size, the link register is always saved if any other register is
14485 saved.
14486
14487 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
14488
14489 * config/h8300/h8300-protos.h: Update the prototype for
14490 compute_plussi_cc.
14491 (cpp_reader): Declare before it is used.
14492 * config/h8300/h8300.c (compute_plussi_cc): Change the return
14493 type to int.
14494 * config/h8300/h8300.md (monitor_prologue): Call abort() if we
14495 see an unknown H8 variant.
14496
14497 2003-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
14498
14499 PR target/9316
14500 * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
14501 * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
14502 * config/rs6000/t-rtems: New file. multilib variants to match OS.
14503 * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
14504 rs6000/t-ppcgas so we get the desired multilibs.
14505
14506 2003-01-30 Nick Clifton <nickc@redhat.com>
14507
14508 * config/arm/arm.c (arm_output_epilogue): Update stack pointer
14509 when popping saved IP register off the stack.
14510
14511 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
14512
14513 * config/rs6000/aix43.h: Fix comment typos.
14514 * config/rs6000/aix51.h: Likewise.
14515 * config/rs6000/aix52.h: Likewise.
14516 * config/rs6000/altivec.h: Likewise.
14517 * config/rs6000/rs6000.c: Likewise.
14518 * config/rs6000/rs6000.h: Likewise.
14519 * config/rs6000/rs6000.md: Likewise.
14520 * config/rs6000/spe.md: Likewise.
14521
14522 2003-01-29 Mark Mitchell <mark@codesourcery.com>
14523
14524 * c-common.c (builtin_define_float_constants): Define
14525 __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
14526
14527 2003-01-30 Kazu Hirata <kazu@cs.umass.edu>
14528
14529 * config/sh/lib1funcs.asm: Fix comment typos.
14530 * config/sh/linux.h: Likewise.
14531 * config/sh/sh.c: Likewise.
14532 * config/sh/sh.md: Likewise.
14533
14534 2003-01-30 Loren James Rittle <ljrittle@acm.org>
14535
14536 * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
14537
14538 2003-01-30 Alexandre Oliva <aoliva@redhat.com>
14539
14540 * config/fp-bit.h (__make_dp): Declare if TMODES.
14541
14542 2003-01-29 Kazu Hirata <kazu@cs.umass.edu>
14543
14544 * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
14545 general_operand_src and general_operand_dst.
14546
14547 2003-01-29 David Edelsohn <edelsohn@gnu.org>
14548
14549 * config/rs6000/rs6000.c (function_arg_pass_by_reference):
14550 Return true for variable sized types.
14551 (rs6000_va_arg): Handle variable sized types passed by reference
14552 on non-SVR4 ABI.
14553
14554 2003-01-29 Richard Earnshaw <rearnsha@arm.com>
14555
14556 * arm.c (arm_legtimize_address): New function.
14557 * arm-protos.h (arm_legtimize_address): Add prototype.
14558 * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
14559 (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
14560 do ... while (0)
14561
14562 2003-01-29 Joel Sherrill <joel@OARcorp.com>
14563
14564 PR bootstrap/9296
14565 * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT. Apparently no code
14566 depended on it being defined until now.
14567
14568 2003-01-29 Joel Sherrill <joel@OARcorp.com>
14569
14570 PR target/9295
14571 * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
14572 RTEMS code knows which C++ initialization style the toolset
14573 configuration is using.
14574
14575 2003-01-29 Joel Sherrill <joel@OARcorp.com>
14576
14577 PR bootstrap/9293
14578 * config/m68k/t-crtstuff: Replace spaces with tabs, add
14579 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
14580
14581 2003-01-29 Joel Sherrill <joel@OARcorp.com>
14582
14583 PR bootstrap/9292
14584 * config.gcc (hppa1.1-rtems): Did not include t-rtems nor enable
14585 RTEMS threads.
14586 * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
14587
14588 2003-01-29 Nick Clifton <nickc@redhat.com>
14589
14590 * Makefile.in (c-parse.o): Locate source file in $(parsedir)
14591 not $(srcdir).
14592
14593 2003-01-29 Andrew Haley <aph@redhat.com>
14594
14595 * tree-inline.c (walk_tree): Add CHAR_TYPE.
14596
14597 2003-01-29 Jan Hubicka <jh@suse.cz>
14598
14599 * i386.md (subdi3_carry_rex64): Fix typo.
14600
14601 2003-01-28 Stan Shebs <shebs@apple.com>
14602
14603 * coretypes.h (cpp_reader): Forward declare struct.
14604 * c-pragma.h (cpp_reader): Remove forward declaration.
14605 * hashtable.h (cpp_reader): Likewise.
14606 * scan.h (cpp_reader): Likewise.
14607 * tree.h (cpp_reader): Likewise.
14608 * config/darwin-protos.h (cpp_reader): Likewise.
14609 * config/arm/arm-protos.h (cpp_reader): Likewise.
14610 * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
14611 struct cpp_reader in prototypes.
14612
14613 2003-01-28 Christian Cornelssen <ccorn@cs.tu-berlin.de>
14614
14615 * doc/install.texi: Add documentation for installation into
14616 tooldirs and with DESTDIR.
14617
14618 2003-01-28 Richard Henderson <rth@redhat.com>
14619
14620 * config.gcc (ia64*-*-aix*): Remove.
14621 * config/ia64/aix.h, config/ia64/t-aix: Remove file.
14622 * config/ia64/unwind-aix.c: Remove file.
14623
14624 2003-01-28 Andreas Schwab <schwab@suse.de>
14625
14626 * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
14627 register.
14628 * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
14629 * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
14630 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
14631 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
14632 * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
14633 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
14634 * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
14635
14636 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
14637
14638 * combine.c (nonzero_bits): Fix check for negative divide operands.
14639
14640 2003-01-28 Richard Henderson <rth@redhat.com>
14641
14642 * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
14643 * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
14644
14645 2003-01-28 Richard Henderson <rth@redhat.com>
14646
14647 * cse.c (find_best_addr): Kill !ADDRESS_COST code.
14648
14649 * config/cris/cris.c (cris_address_cost): Make static.
14650 (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
14651 * config/cris/cris.h (ADDRESS_COST): Remove.
14652 * config/cris/cris-protos.h: Update.
14653
14654 2003-01-23 Mike Stump <mrs@apple.com>
14655
14656 * regclass.c (init_reg_autoinc): New function.
14657 (regclass): Move initialization of forbidden_inc_dec_class from
14658 here...
14659 (init_regs): to here. Avoids reinitialization for each function,
14660 saving compilation time.
14661
14662 2003-01-28 Jason Merrill <jason@redhat.com>
14663
14664 * cpplib.h (struct cpp_options): Add warn_deprecated field.
14665 * cppinit.c (cpp_create_reader): Turn it on by default.
14666 * c-opts.c (c_common_decode_option): Set it.
14667 * cpplib.c (do_pragma_once): Only complain about #pragma once
14668 if warn_deprecated is set.
14669
14670 2003-01-28 Dale Johannesen <dalej@apple.com>
14671
14672 * emit-rtl.c (const_double_htab_hash): Use mode in the hash.
14673 * loop.c (scan_loop): Move movables on -Os rich-register targets.
14674 * config/rs6000/rs6000.md (sibcall*): Use match_operand for LR.
14675
14676 2003-01-28 Richard Henderson <rth@redhat.com>
14677
14678 * target.h (targetm.address_cost): New.
14679 * target-def.h (TARGET_ADDRESS_COST): New.
14680 (TARGET_RTX_COSTS): Uncomment. Oops.
14681 * cse.c (address_cost): Use new target hook.
14682 (default_address_cost): New.
14683 * output.h (default_address_cost): Declare.
14684 * hooks.c (hook_int_rtx_0): New.
14685 * hooks.h (hook_int_rtx_0): Declare.
14686 * loop.c (combine_givs_p): Remove if 0 code.
14687 * system.h (ADDRESS_COST): Poison.
14688
14689 * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
14690 config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
14691 config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
14692 config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
14693 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
14694 config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
14695 config/xtensa/xtensa.c, config/xtensa/xtensa.h
14696 (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
14697 (ADDRESS_COST): Remove.
14698
14699 * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
14700 config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
14701 config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
14702 config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
14703 config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
14704 config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
14705 config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
14706 config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
14707 config/mips/mips.c, config/mips/mips.h,
14708 config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
14709 config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
14710 config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
14711 config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
14712 config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
14713 config/vax/vax.c, config/vax/vax.h
14714 (foo_address_cost): Make static.
14715 (TARGET_ADDRESS_COST): New.
14716 (ADDRESS_COST): Remove.
14717
14718 * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
14719 config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
14720 config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
14721 config/stormy16/stormy16.h
14722 (ADDRESS_COST): Move code ...
14723 (foo_address_cost): ... here.
14724 (TARGET_ADDRESS_COST): New.
14725
14726 * config/m32r/m32r.c (m32r_address_cost): Remove.
14727 * config/m32r/m32r-protos.h: Update.
14728
14729 * config/mmix/mmix.c (mmix_address_cost): Remove.
14730 * config/mmix/mmix-protos.h: Update.
14731
14732 * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
14733 mn10300_address_cost; move unsig allocation ...
14734 (mn10300_address_cost): ... here.
14735 (TARGET_ADDRESS_COST): New.
14736 * config/mn10300/mn10300-protos.h: Update.
14737 * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
14738
14739 * doc/tm.texi: Update.
14740
14741 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
14742
14743 * haifa-sched.c (schedule_insn): Return necessary cycle advance
14744 after issuing the insn.
14745 (rank_for_schedule): Make a insn with /S the highest priority
14746 insn.
14747 (move_insn): Ignore schedule groups. Clear SCHED_GROUP_P.
14748 (choose_ready): Check SCHED_GROUP_P.
14749 (schedule_block): Advance cycle after issuing insn if it is
14750 necessary. Don't reorder insns if there is an insn with /S.
14751 (set_priorities): Ignore schedule groups.
14752
14753 * sched-deps.c (remove_dependence, group_leader): Remove the
14754 functions.
14755 (add_dependence): Ignore schedule groups.
14756 (set_sched_group_p): Don't make copy of dependencies from previous
14757 insn of the schedule group. Add anti-dependency to the previous
14758 insn of the schedule group.
14759 (compute_forward_dependences): Ignore schedule groups.
14760
14761 * sched-ebb.c (init_ready_list): Ignore schedule groups.
14762
14763 * sched-rgn.c (init_ready_list): Ditto.
14764 (can_schedule_ready_p): Ditto.
14765
14766 2003-01-28 Vladimir Makarov <vmakarov@redhat.com>
14767
14768 * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
14769 register to another one.
14770
14771 2003-01-28 Richard Henderson <rth@redhat.com>
14772
14773 * calls.c (default_must_pass_in_stack): Fix typo in !type case.
14774
14775 2003-01-28 Roger Sayle <roger@eyesopen.com>
14776
14777 * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
14778
14779 2003-01-28 Richard Sandiford <rsandifo@redhat.com>
14780
14781 * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
14782 class contains a floating-point register, return the size of the
14783 mode in half words.
14784
14785 2003-01-28 Jan Hubicka <jh@suse.cz>
14786
14787 * i386.c (ix86_carry_flag_operator): New predicate.
14788 (fcmov_operator): Fix whitespace.
14789 (ix86_expand_carry_flag_compare): Deal with floating point.
14790 (ix86_expand_int_movcc): Deal with fp; update insn expansion
14791 (ix86_expand_int_addcc): Likewise.
14792 (ix86_expand_strlensi_unroll_1): likewsie.
14793 * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
14794 * i386.md (add?i_carry_rex64): Use new predicate.
14795 (sub?i3_carry_rex64): Likewise.
14796 (x86_mov?icc_0_m1*): Likewise.
14797
14798 2003-01-28 Andreas Schwab <schwab@suse.de>
14799
14800 * cfgloopmanip.c (create_preheader): Initialize src to avoid
14801 warning.
14802
14803 * expmed.c (emit_store_flag): Fix cast to avoid sign
14804 comparison warning.
14805
14806 * combine.c (force_to_mode): Add cast to fix warning when
14807 STORE_FLAG_VALUE is negative.
14808
14809 2003-01-27 Richard Henderson <rth@redhat.com>
14810
14811 * Makefile.in (cse.o): Depend on TARGET_H.
14812 * cse.c (rtx_cost): Use targetm.rtx_costs.
14813 * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
14814 * doc/tm.texi: Update.
14815
14816 * target.h (targetm.rtx_costs): New.
14817 * target-def.h (TARGET_RTX_COSTS): New.
14818 * hooks.c (hook_bool_rtx_int_int_intp_false): New.
14819 * hooks.h: Update.
14820
14821 * config/alpha/alpha.c (alpha_rtx_cost_data): New.
14822 (alpha_rtx_costs, TARGET_RTX_COSTS): New.
14823 * config/alpha/alpha.h (PROCESSOR_MAX): New.
14824 (CONST_COSTS, RTX_COSTS): Remove.
14825
14826 * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
14827 config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
14828 config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
14829 config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
14830 config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
14831 config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
14832 config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
14833 config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
14834 config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
14835 config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
14836 config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
14837 config/mn10200/mn10200.h, config/mn10300/mn10300.c,
14838 config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
14839 config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
14840 config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
14841 config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
14842 config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
14843 config/stormy16/stormy16.c, config/stormy16/stormy16.h,
14844 config/v850/v850.c, config/v850/v850.h,
14845 config/xtensa/xtensa.c, config/xtensa/xtensa.h
14846 (CONST_COSTS, RTX_COSTS): Move code ...
14847 (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
14848
14849 * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
14850 (arm_rtx_costs, TARGET_RTX_COSTS): New.
14851 * config/arm/arm-protos.h: Update.
14852 * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
14853
14854 * config/avr/avr.h (CONST_COSTS): Move code ...
14855 * config/avr/avr.c (avr_rtx_costs): ... here.
14856 (default_rtx_costs): Make static.
14857 * config/avr/avr-protos.h: Update.
14858
14859 * config/h8300/h8300.c (const_costs): Make static.
14860 (h8300_and_costs, h8300_shift_costs): Likewise.
14861 * config/h8300/h8300-protos.h: Update.
14862
14863 * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
14864 (CONST_COSTS): Move code ...
14865 * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here. Rename from
14866 default_rtx_costs; update for signature change.
14867 * config/ip2k/ip2k-protos.h: Update.
14868
14869 * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
14870 (CONST_COSTS): Move code ...
14871 * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
14872 (TARGET_RTX_COSTS): New.
14873 (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
14874 * config/m68hc11/m68hc11-protos.h: Update.
14875
14876 * config/m68k/m68k.c (const_int_cost): Make static.
14877 * config/m68k/m68k-protos.h: Update.
14878
14879 * config/mcore/mcore.c (mcore_const_costs): Make static.
14880 (mcore_and_cost, mcore_ior_cost): Likewise.
14881 * config/mcore/mcore-protos.h: Update.
14882
14883 * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
14884 (mmix_rtx_cost_recalculated): Remove.
14885 * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
14886 * config/mmix/mmix-protos.h: Update.
14887
14888 * config/sh/sh.c (shiftcosts): Make static.
14889 (addsubcosts, andcosts, multcosts): Likewise.
14890 * config/sh/sh-protos.h: Update.
14891
14892 * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
14893 (sparc_rtx_costs): Make static; update for change in signature.
14894 * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
14895 * config/sparc/sparc-protos.h: Update.
14896
14897 * config/v850/v850.c (const_costs): Make static.
14898 * config/v850/v850-protos.h: Update.
14899
14900 * config/vax/vax.h (RTX_COSTS): Remove.
14901 (CONST_COSTS): Move code ...
14902 * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
14903 from vax_rtx_cost.
14904 (vax_rtx_costs, TARGET_RTX_COSTS): New.
14905
14906 2003-01-27 Richard Henderson <rth@redhat.com>
14907
14908 * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove. Really.
14909 * config/vax/vax-protos.h: Update. Really.
14910
14911 2003-01-28 Alexandre Oliva <aoliva@redhat.com>
14912
14913 * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
14914 (UNITS_PER_FPVALUE): Defined as the width of a long double, or
14915 zero if no hardware floating point.
14916 (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
14917 (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
14918 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
14919 (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
14920 (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
14921 * config/mips/mips.c (mips_arg_info): Pass TFmode values in
14922 even FP registers on N32 and N64.
14923 (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
14924 (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
14925 (mips_va_arg): Use UNITS_PER_HWFPVALUE. Impose additional
14926 even-register-like alignment to 128-bit arguments.
14927 (save_restore_insns): Use UNITS_PER_HWFPVALUE.
14928 (mips_function_value): Likewise. Return TFmode in $f0 and $f2
14929 on N32 or N64.
14930 * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
14931 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
14932 (TPBIT): Set to tp-bit.c.
14933 (tp-bit.c): Create out of fp-bit.c.
14934
14935 2003-01-28 Gabriel Dos Reis <gdr@integrable-solutions.net>
14936
14937 * c-parse.in: Remove '%expect 32' directive in objc mode.
14938
14939 2003-01-27 Nathan Sidwell <nathan@codesourcery.com>
14940
14941 * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
14942 (LIBGCOV): New variable.
14943 (libgcc.mk): Add LIBGCOV.
14944 (LIBGCC_DEPS): Add libgcov.c.
14945 (libgcov.a): New target.
14946 (clean): Remove libgcov.a.
14947 (install-libgcc): Do libgcov too.
14948 (stage1-start, stage2-start, stage3-start, stage4-start): Deal
14949 with libgcov.a.
14950 * libgcc2.c (L_gcov): Move into ...
14951 * libgcov.c: ... here. New file.
14952 * mklibgcc.in: Add libgcov rules.
14953 * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
14954
14955 * doc/invoke.texi (profile-arcs, test-coverage): Update and
14956 clarify.
14957
14958 * profile.c (index_counts_file): Remove duplicate check for open file.
14959
14960 2003-01-27 Jerry Quinn <jlquinn@optonline.net>
14961
14962 * gcc/doc/invoke.texi (Optimization Options): Group together
14963 optional and experimental flags. Move trapv and bounds-check
14964 out of this section. Group floating point flags together.
14965 (Code Gen Options): Move trapv and bounds-check to here.
14966
14967 2003-01-27 Josef Zlomek <zlomekj@suse.cz>
14968
14969 * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
14970
14971 2003-01-27 Richard Earnshaw <rearnsha@arm.com>
14972
14973 PR optimization/9090
14974 * function.c (purge_addressof_1): After pushing an addressed register
14975 onto the stack, simplify the result.
14976
14977 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14978
14979 * doc/extend.texi: Fix typo.
14980
14981 2003-01-27 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
14982
14983 * doc/cppopts.texi: Fix typo.
14984 * doc/objc.texi: Likewise.
14985 * doc/passes.texi: Likewise.
14986
14987 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
14988
14989 * real.c (ibm_extended_format): Add 53 to minimum exponent.
14990 (encode_ibm_extended): Adjust.
14991
14992 2003-01-26 Gabriel Dos Reis <gdr@soliton.integrable-solutions.net>
14993
14994 * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
14995 timevar_id enumerations.
14996
14997 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
14998
14999 * combine.c: Fix formatting.
15000
15001 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
15002
15003 * doc/gccint.texi: Update the copyright.
15004
15005 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
15006
15007 * doc/cpp.texi: Fix typos.
15008 * doc/extend.texi: Likewise.
15009 * doc/gty.texi: Likewise.
15010 * doc/install.texi: Likewise.
15011 * doc/passes.texi: Likewise.
15012 * doc/rtl.texi: Likewise.
15013 * doc/tm.texi: Likewise.
15014
15015 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
15016
15017 * config/ia64/fde-glibc.c: Fix comment typos.
15018 * config/ia64/hpux.h: Likewise.
15019 * config/ia64/ia64.c: Likewise.
15020 * config/ia64/ia64.h: Likewise.
15021 * config/ia64/unwind-ia64.c: Likewise.
15022
15023 2003-01-26 Kazu Hirata <kazu@cs.umass.edu>
15024
15025 * config/i386/i386-modes.def: Fix comment typos.
15026 * config/i386/i386.c: Likewise.
15027 * config/i386/i386.md: Likewise.
15028
15029 2003-01-26 Steven Bosscher <s.bosscher@student.tudelft.nl>
15030
15031 * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
15032 config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
15033 ASM_FINISH_DECLARE_OBJECT before defining it.
15034 * toplev.c (rest_of_decl_compilation): Don't define
15035 ASM_FINISH_DECLARE_OBJECT. Only use it if it is defined.
15036 (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
15037 parameters for DWARF2 targets because they _are_ used.
15038
15039 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
15040
15041 * fp-bit.h: Define macros for TFmode floating-point constants
15042 in IBM-extended TFmode types.
15043 (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
15044 widths.
15045 * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
15046 TFmode type.
15047
15048 * config/fp-bit.h: Define macros for TFmode floating-point
15049 constants in IEEE quad TFmode type. Declare functions according
15050 to L_ macros.
15051 (TMODES): Define if __LDBL_MANT_DIG__ is 113.
15052 (TFtype, TItype, UTItype): Define if TMODES is defined.
15053 (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
15054 (F_T_BITOFF, D_T_BITOFF): Define.
15055 (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
15056 guaranteed to be wide enough.
15057 * config/fp-bit.c: Check for L_ macros for tf functions.
15058 (__thenan_tf): New.
15059 (nan): Adjust.
15060 (pack_d, unpack_d): Support IEEE 854 quad type.
15061 (_fpmul_parts): Support TFmode. Compute exponent adjustment
15062 from FRAC_NBITS, FRAC_BITS and NGARDS.
15063 (usi_to_float): Cast constants to be shifted to fractype
15064 instead of assuming long long is wide enough.
15065 (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
15066
15067 2003-01-26 Andreas Jaeger <aj@suse.de>
15068
15069 * df.c: Remove prototype of unused function df_regno_rtl_debug.
15070
15071 2003-01-26 Alexandre Oliva <aoliva@redhat.com>
15072
15073 * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
15074 (DBBIT_FUNCS): Added _df_to_tf.
15075 (TPBIT_FUNCS): New.
15076 (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
15077 (LIBGCC_DEPS): Added TPBIT.
15078 * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
15079
15080 * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
15081 been able to move the result to target.
15082
15083 * expr.c (emit_group_store): Initialize dst with CONST0_RTX
15084 for the appropriate mode.
15085
15086 * calls.c (emit_library_call_value_1): Handle return values
15087 in a PARALLEL.
15088
15089 * rtl.c (get_mode_alignment): Moved to...
15090 * stor-layout.c: ... here.
15091
15092 * print-rtl.c (print_rtx): Don't print MEM details in
15093 GENERATOR_FILEs.
15094
15095 2003-01-26 Michael Hayes <mph@paradise.net.nz>
15096
15097 * df.h: Update comments, tidy formatting.
15098 (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
15099 REVERSE, UNION, INTERSECTION. All uses updated.
15100 (OLD_DF_INTERFACE): Remove.
15101 (struct insn_info): Remove commented out insn field.
15102 * df.c: Update comments, tidy formatting.
15103 (df_def_table_realloc): Remove.
15104
15105
15106 2003-01-26 Alan Modra <amodra@bigpond.net.au>
15107
15108 * calls.c (save_fixed_argument_area): Tidy.
15109 (restore_fixed_argument_area): Tidy. Set alignment of stack_area.
15110 (expand_call): Comment typo fixes. Don't init low_to_save. Start
15111 call chain loop at 1 if !try_tail_call. Formatting.
15112 (emit_library_call_value_1): Don't init low_to_save or high_to_save.
15113 Use save_fixed_argument_area and restore_fixed_argument_area.
15114
15115 2003-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15116
15117 * df.c (df_uses_record): Handle CC0.
15118
15119 2003-01-25 Ulrich Weigand <uweigand@de.ibm.com>
15120
15121 * reload.c (maybe_memory_address_p): New function.
15122 (find_reloads_address): Use it instead of memory_address_p.
15123
15124 2003-01-25 Kaz Kojima <kkojima@gcc.gnu.org>
15125
15126 * final.c (shorten_branches): Align the address of code label
15127 when computing initial lengths and addresses.
15128
15129 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
15130
15131 * config/m68hc11/m68hc11.md: Fix a comment typo.
15132
15133 2003-01-25 Andreas Jaeger <aj@suse.de>
15134
15135 * config/i386/i386.c (x86_output_mi_thunk): Correct test for
15136 TARGET_MACHO.
15137
15138 2003-01-25 Roger Sayle <roger@eyesopen.com>
15139
15140 * gcse.c (bypass_last_basic_block): New global variable.
15141 (bypass_block): Use redirect_edge_and_branch_force to redirect
15142 fall-through edges. Use bypass_last_basic_block to determine
15143 which blocks have valid PRE information.
15144 (bypass_conditional_jumps): Initialize bypass_last_basic_block.
15145
15146 2003-01-25 Jan Hubicka <jh@suse.cz>
15147
15148 * gcse.c (local_cprop_pass): Update reg_sets table when needed.
15149
15150 2003-01-25 Jan Hubicka <jh@suse.cz>
15151 Eric Botcazou <ebotcazou@libertysurf.fr>
15152 PR opt/8492
15153 * gcse.c (one_cprop_pass): Delete unreachable blocks.
15154
15155 2003-01-25 Richard Henderson <rth@redhat.com>
15156
15157 * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
15158 from ia64_aix_select_rtx_section.
15159 (ia64_rwreloc_select_section): Simlarly; use default*_1 function
15160 instead of saving and restoring flag_pic.
15161 (ia64_rwreloc_unique_section): Similarly.
15162 * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
15163 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
15164 * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
15165 TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
15166
15167 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
15168
15169 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
15170 comment.
15171
15172 2003-01-25 Richard Henderson <rth@redhat.com>
15173
15174 * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
15175
15176 2003-01-25 Kelley Cook <kelleycook@comcast.net>
15177
15178 * ggc-simple.c (debug_ggc_tree): Add PTR cast.
15179
15180 2003-01-25 Segher Boessenkool <segher@koffie.nl>
15181
15182 * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
15183 type for bitmaps. Use unsigned long.
15184 (nBITMAP_WORD_BITS): New macro.
15185 (BITMAP_WORD_BITS): New macro.
15186 (rest of file): Use it.
15187 * bitmap.c: Use it.
15188
15189 2003-01-25 Richard Henderson <rth@redhat.com>
15190
15191 2002-02-19 Robert Lipe <robertlipe@usa.net>
15192 * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
15193
15194 2003-01-25 Roger Sayle <roger@eyesopen.com>
15195
15196 * builtins.c (purge_builtin_constant_p): Scan insn stream
15197 sequentially rather than by basic block.
15198 * function.c (purge_addressof): Simplify test with INSN_P.
15199
15200 2003-01-25 Kazu Hirata <kazu@cs.umass.edu>
15201
15202 * combine.c (simplify_comparison, case AND): Remove a redundant test.
15203
15204 2003-01-25 Roger Sayle <roger@eyesopen.com>
15205
15206 * function.h (struct function): New field calls_constant_p.
15207 (current_function_calls_constant_p): New macro for above.
15208 * function.c (prepare_function_start): Initialize calls_eh_return
15209 and calls_constant_p.
15210 * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
15211 * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
15212 when the current_function_calls_constant_p.
15213 * integrate.c (expand_inline_function): Set calls_constant_p if
15214 the function being inlined has calls_constant_p set.
15215
15216 2003-01-25 Roger Sayle <roger@eyesopen.com>
15217
15218 * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
15219 optimizing, even if flag_gcse is true.
15220 * toplev.c (rest_of_compilation): purge_builtin_constant_p
15221 only needs to be called when "optimize > 0 && flag_gcse".
15222
15223 2003-01-25 Roger Sayle <roger@eyesopen.com>
15224
15225 * stmt.c (emit_case_bit_tests): New routine to implement suitable
15226 switch statements using the equivalent of "if ((1<<x) & cst) ... ".
15227 (case_bit_test_cmp): New comparison function for "qsort" to order
15228 case_bit_tests by decreasing number of destination nodes.
15229 (lshift_cheap_p): New function to determine if "1 << x" is cheap.
15230 (expand_end_case_type): Use emit_case_bit_tests to implement
15231 suitable switch statments.
15232 (CASE_USE_BIT_TESTS): New target macro to disable the above.
15233 * Makefile.in (stmt.o): Add dependency on optab.h.
15234 * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
15235
15236 2003-01-23 Andreas Schwab <schwab@suse.de>
15237
15238 * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
15239 __do_global_ctors_aux hidden global and don't put it in
15240 .init_array.
15241 * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
15242 instead so that it comes first.
15243
15244 2003-01-25 Jan Hubicka <jh@suse.cz>
15245
15246 * df.c (read_modify_subreg_p): When osize == UNITS_PER_WORD,
15247 subreg is read/modify.
15248
15249 2003-01-25 Jan Hubicka <jh@suse.cz>
15250
15251 * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
15252 do libcall for large blocks.
15253 * i386.md (comi patterns): Set type to ssecomi.
15254 (sse2_unpck?pd): Fix mode of vec_select.
15255
15256 * cse.c: Include except.h
15257 (cse_set_around_loop): Do not create new basic blocks.
15258 * Makefile.in (cse.o): Add dependnecy on except.h
15259
15260 2003-01-25 Jan Hubicka <jh@suse.cz>
15261
15262 * builtins.c (fold_trunc_transparent_mathfn): New function.
15263 (fold_builtin): Use it.
15264 * convert.c (convert_to_real): Re-enable code to convert
15265 math functions; add support for floor familly functions.
15266
15267 2003-01-25 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15268
15269 * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
15270 dependencies on coretypes.h and $(TM_H).
15271
15272 2003-01-25 Jan Hubicka <jh@suse.cz>
15273
15274 * builtins.c (fold_trunc_transparent_mathfn): Undo accidental commit.
15275
15276 2003-01-24 Stuart Hastings <stuart@apple.com>
15277
15278 * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
15279
15280 2003-01-25 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
15281
15282 * config/c4x/c4x.md (UNSPEC_BU): New constants.
15283 (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
15284 (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
15285 (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
15286 (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST): Likewise.
15287 (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP): Likewise.
15288 (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST): Likewise.
15289 (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE): Likewise.
15290
15291 2003-01-24 Jan Hubicka <jh@suse.cz>
15292
15293 * emit-rtl.c (reg_attrs_htab): New static variable.
15294 (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
15295 functions.
15296 (reg_rtx): Do not maintain regno_decl.
15297 (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
15298 set_mem_attrs_from_reg): New global function.
15299 (init_emit): Do not initialize regno_decl.
15300 (init_emit_once): initialize reg_attrs_htab.
15301 * final.c (alter_subreg): Do not replace REG by SUBREG.
15302 (gen_mem_expr_from_op): Improve output.
15303 (output_asm_operands): Likewise.
15304 * function.c (assign_params): Do not set REGNO_DECL.
15305 * function.h (struct function): Kill regno_decl.
15306 (REGNO_DECL): Kill.
15307 * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
15308 * print_rtl.c (print_rtx): Output REG information.
15309 * regclass.c (reg_scan_mark_refs): Update attrs.
15310 * reload1.c (alter_reg): Likewise.
15311 * simplify_rtx.c (simplify_subreg): Likewise.
15312 * stmt.c (expand_decl): Likewise.
15313 * rtl.def (REG): Add new field.
15314 * rtl.h (struct reg_attrs): New.
15315 (rtunion_def): At rtreg.
15316 (X0MEMATTR): Add checking.
15317 (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
15318 (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
15319 Declare.
15320 * tree.h (SET_DECL_RTL): Call set_decl_rtl.
15321
15322 2003-01-24 Bob Wilson <bob.wilson@acm.org>
15323
15324 * config/xtensa/xtensa.c: Remove unused include of machmode.h.
15325 (xtensa_emit_call, print_operand): Fix printf format strings
15326 to avoid compile warnings.
15327 (xtensa_function_prologue, xtensa_function_epilogue): Change type
15328 of "size" argument to HOST_WIDE_INT to fix compile warnings.
15329 * config/xtensa/xtensa-protos.h
15330 (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
15331
15332 2003-01-24 Jan Hubicka <jh@suse.cz>
15333
15334 * builtins.c (DEF_BUILTIN): Accept 10 arguments.
15335 (implicit_built_in_decls): New global array.
15336 (mathfn_built_in): New global function.
15337 (fold_trunc_transparent_mathfn): New static function
15338 (expand_builtin_strstr, expand_bultin_strchr,
15339 expand_builtin_strpbrk, expand_builtin_strcpy,
15340 expand_builtin_strncpy, expand_bultin_strcmp,
15341 expand_bultin_strncat, expand_builtin_fputs): Use
15342 implicint_built_in_decls.
15343 (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
15344 * builtins.def: Fix comments.
15345 (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
15346 DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
15347 DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
15348 DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
15349 (DEF_C99_C90RES_BULTIN): New.
15350 (*f, *l builtins): Update.
15351 * c-common.c (DEF_BUILTIN): Initialize implicit array.
15352 (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
15353 * convert.c (strip_float_extensions): New global function.
15354 * tree.h (DEF_BUILTIN): Accept 10 arguments.
15355 (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
15356 Declare.
15357 * java/builtins.c (define_builtin): Handle implicit.
15358 (DEF_BUILTIN): Update.
15359 * tm.texi (TARGET_C99_FUNCTIONS): Document.
15360 * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
15361 * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
15362 when using glibc2.
15363
15364 2003-01-24 Bob Wilson <bob.wilson@acm.org>
15365
15366 * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
15367 extra_parts, and fixincludes. Add xtensa/t-elf tmake_file.
15368 (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
15369 * config/xtensa/crti.asm: New file.
15370 * config/xtensa/crtn.asm: New file.
15371 * config/xtensa/t-elf: New file.
15372 * config/xtensa/t-linux: New file.
15373 * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
15374 Move various CFLAGS settings to new t-elf file.
15375
15376 2003-01-24 Richard Henderson <rth@redhat.com>
15377
15378 PR optimization/4382
15379 * tree-inline.c (find_builtin_longjmp_call_1): New.
15380 (find_builtin_longjmp_call): New.
15381 (inlinable_function_p): Use it.
15382
15383 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15384
15385 * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
15386 * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
15387 * config/i386/i386.c (function_arg_pass_by_reference): New.
15388 (ix86_va_arg): Support arguments passed by reference.
15389
15390 2003-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
15391
15392 * cfgloopanal.c: New file.
15393 * cfgloopmanip.c: New file.
15394 * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
15395 (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
15396 cfglayout.o): Add dependency on cfgloop.h.
15397 (cfgloop.o): Add flags.h dependency.
15398 * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
15399 (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
15400 (struct loop, struct loops, flow_loops_find, flow_loops_update,
15401 flow_loops_free, flow_loops_dump, flow_loop_dump,
15402 flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
15403 LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
15404 LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
15405 flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
15406 loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
15407 find_common_loop, verify_loop_structure): Declarations moved to ...
15408 * cfgloop.h: New file.
15409 * bb-reorder.c (reorder_basic_blocks): Modified.
15410 * cfglayout.c: Include cfgloop.h.
15411 (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
15412 cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
15413 (break_superblocks): New static function.
15414 (cfg_layout_finalize): Use it.
15415 (cfg_layout_split_block): New function.
15416 * cfglayout.h (struct reorder_block_def): Add copy and duplicated
15417 fields.
15418 (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
15419 changed.
15420 (cfg_layout_split_block): Declare.
15421 * cfgloop.c: Include cfgloop.h and flags.h.
15422 (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
15423 get_loop_body): Avoid signed versus unsigned comparison warnings.
15424 (make_forwarder_block, flow_loops_find, loop_preheader_edge,
15425 loop_latch_edge): Modified.
15426 (verify_loop_structure): Modified to use flags stored in loop structure;
15427 check irreducible loops.
15428 (cancel_loop, cancel_loop_tree): New functions.
15429 (estimate_probability): Use loop analysis code for predictions.
15430 (estimate_loops_at_level): Avoid signed versus unsigned comparison
15431 warnings.
15432 * doloop.c: Include cfgloop.h.
15433 * loop.c: Include cfgloop.h.
15434 * predict.c: Include cfgloop.h.
15435 * toplev.c: Include cfgloop.h.
15436 * unroll.c: Include cfgloop.h.
15437 * tracer.c (tracer): Modified.
15438
15439 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
15440
15441 * config/h8300/h8300.c (get_shift_alg): Fix a typo.
15442
15443 2003-01-24 Ulrich Weigand <uweigand@de.ibm.com>
15444
15445 * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
15446 * configure: Regenerate.
15447
15448 * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
15449 (tls_symbolic_reference_mentioned_p): Add prototype.
15450 (s390_tls_get_offset): Add prototype.
15451 (emit_pic_move): Remove prototype, replace by ...
15452 (emit_symbolic_move): .. this new prototype.
15453
15454 * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
15455 (tls_model_chars): New global variable.
15456 (s390_encode_section_info): Encode TLS model.
15457 Use targetm.binds_local_p to check for local symbols.
15458 (s390_strip_name_encoding): New function.
15459 (TARGET_STRIP_NAME_ENCODING): Define.
15460
15461 (get_thread_pointer): New function.
15462 (legitimize_tls_address): New function.
15463 (legitimize_address): Call it.
15464 (emit_pic_move): Remove, replace by ...
15465 (emit_symbolic_move): ... this new function.
15466
15467 (larl_operand): Handle TLS operands.
15468 (legitimate_constant_p): Likewise.
15469 (s390_decompose_address): Likewise.
15470 (s390_cannot_force_const_mem): New function.
15471 (TARGET_CANNOT_FORCE_CONST_MEM): Define.
15472
15473 (s390_output_symbolic_const): Handle TLS unspecs.
15474 (print_operand): New code 'J'.
15475 (machine_function): Add struct member 'some_ld_name'.
15476 (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
15477
15478 (enum s390_builtin): New type.
15479 (code_for_builtin_64, code_for_builtin_31): New global variables.
15480 (s390_init_builtins, s390_expand_builtin): New functions.
15481 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
15482
15483 * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
15484 (ASM_OUTPUT_LABELREF): Define.
15485 (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
15486
15487 * config/s390/s390.md: Define TLS UNSPEC constants.
15488 ("movdi", "movsi"): Handle TLS operands.
15489 ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
15490 ("*tls_load_64", "*tls_load_31"): New insns.
15491 ("call_value_tls", "call_value_tls_exp"): New expanders.
15492 ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
15493 "bas_tls_64", "bas_tls_31"): New insns.
15494
15495 2003-01-24 Nathan Sidwell <nathan@codesourcery.com>
15496
15497 * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
15498 spe ABI is configured, if requested.
15499
15500 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
15501
15502 * doc/passes.texi: Fix typo.
15503
15504 2003-01-24 Andreas Schwab <schwab@suse.de>
15505
15506 * stor-layout.c (excess_unit_span): Only define if used.
15507
15508 2003-01-24 Jerry Quinn <jlquinn@optonline.net>
15509
15510 * gcc/doc/invoke.texi (Optimization Options): List -O levels
15511 for each optimization flag.
15512
15513 2003-01-24 Kazu Hirata <kazu@cs.umass.edu>
15514
15515 * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
15516
15517 2003-01-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
15518
15519 * doc/bugreport.texi: Use @command instead of @code for commands.
15520 * doc/collect2.texi: Likewise.
15521 * doc/headerdirs.texi: Likewise.
15522 * doc/invoke.texi: Likewise.
15523 * doc/standards.texi: Likewise.
15524 * doc/tm.texi: Likewise.
15525 * doc/trouble.texi: Likewise.
15526
15527 2003-01-24 Nick Clifton <nickc@redhat.com>
15528
15529 * config/arm/arm.c (use_return_insn): Do not use a single return
15530 instruction for interrupt handelrs which have to create a stack
15531 frame.
15532 (arm_expand_prologue): Do not pre-bias the return address of
15533 interrupt handlers which create a stack frame.
15534
15535 2003-01-24 Nick Clifton <nickc@redhat.com>
15536
15537 * Add sh2e support:
15538
15539 2002-08-12 Alexandre Oliva <aoliva@redhat.com>
15540
15541 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
15542 med_cbranches. Fix logic in short_cbranches.
15543
15544 2002-04-03 Alexandre Oliva <aoliva@redhat.com>
15545
15546 * config/sh/sh.md (delay for cbranch): Don't annul delay
15547 slots on SH2e.
15548 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
15549 cbranch with unfilled delay slot on SH2e.
15550 (output_branch): Fill with a nop the delay slot of a
15551 branch that required a delay slot but didn't get one.
15552
15553 2002-04-02 Alexandre Oliva <aoliva@redhat.com>
15554
15555 * doc/invoke.texi (SH options): Document -m2e.
15556 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
15557 * config/sh/lib1funcs.asm: Likewise.
15558 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
15559 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
15560 not __sh1__.
15561 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
15562 SH2E up.
15563 (SH3E_BIT): Renamed to...
15564 (SH_E_BIT): ... this. Replace all uses.
15565 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
15566 Replace all uses of TARGET_SH3E with TARGET_SH2E.
15567 (TARGET_SWITCHES): Added 2e.
15568 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
15569 (processor_type): Added PROCESSOR_SH2E.
15570 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
15571 TARGET_SH2E, except in sqrtsf2_i.
15572 (attribute cpu): Added sh2e.
15573 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
15574 (MULTILIB_MATCHES): Use m2e multilib for m3e.
15575 * config.gcc: Add sh2e target support.
15576
15577 2003-01-24 Phil Edwards <pme@gcc.gnu.org>
15578
15579 Rename -W to -Wextra.
15580 * c-decl.c: Update comments.
15581 * c-typeck.c: Likewise.
15582 * flags.h: Likewise.
15583 * function.c: Likewise.
15584 * stmt.c: Likewise.
15585 * toplev.c: Update comments.
15586 (W_options): Add 'extra'.
15587 (display_help): Remove '-W'.
15588 (decode_W_option): Special warn_uninitialized treatment in the case
15589 of -Wextra.
15590 * doc/invoke.texi: Update with new entries.
15591
15592 2003-01-23 Richard Henderson <rth@redhat.com>
15593
15594 * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
15595 in no-else-block case. Add commentary.
15596
15597 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15598
15599 * configure.in: Revert last change.
15600
15601 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15602
15603 * configure.in: Don't include ansidecl.h in tconfig.h.
15604 * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED): Define if IN_LIBGCC2.
15605 * unwind-dw2-fde.h (last_fde): Use __attribute__, not
15606 ATTRIBUTE_UNUSED.
15607
15608 * configure: Regenerate.
15609
15610 2003-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
15611
15612 PR java/6748
15613 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
15614 regs->nip. Fix rt_sigreturn frame layout. Add support for newer
15615 kernels.
15616
15617 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15618
15619 * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
15620
15621 2003-01-23 Ulrich Weigand <uweigand@de.ibm.com>
15622
15623 * genattrtab.c (write_attr_get): Mark 'insn' paramter
15624 as ATTRIBUTE_UNUSED.
15625
15626 2003-01-23 Richard Earnshaw <rearnsha@arm.com>
15627
15628 * arm.c (thumb_base_register_rtx_p): New function.
15629 (thumb_index_register_rtx_p): New function.
15630 (thumb_legitimate_address_p): New function.
15631 (thumb_legitimate_offset_p): New function.
15632 * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
15633 (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
15634 definitions.
15635 (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
15636 (THUMB_LEGITIMATE_OFFSET): Delte.
15637 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
15638 * arm-protos.h (thumb_legitimate_address_p): Add prototype.
15639 (thumb_legitimate_offset_p): Likewise.
15640
15641 2003-01-23 Andreas Schwab <schwab@suse.de>
15642
15643 * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
15644
15645 2003-01-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15646
15647 * fixinc/Makefile.in (FL_LIST): Revert last change.
15648
15649 2003-01-23 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
15650
15651 PR other/7341
15652 * invoke.texi (ftest-coverage): Fix broken cross-reference.
15653 Change @code to @command for gcov command.
15654
15655 * gcc.texi: Adjust title of gcov section.
15656 Adjust copyright.
15657 * gcov.texi: Likewise.
15658
15659 2003-01-22 Roger Sayle <roger@eyesopen.com>
15660
15661 PR optimization/8423
15662 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
15663 its argument is constant, or 0 if !flag_gcse.
15664 * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
15665 if it's argument is constant.
15666 * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
15667 (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
15668 (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
15669 * builtins.c (purge_builtin_constant_p): New function to force
15670 instantiation of any remaining CONSTANT_P_RTX nodes.
15671 * rtl.h (purge_builtin_constant_p): Prototype here.
15672 * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
15673 pass after GCSE and before loop.
15674 (flag_gcse): No longer static.
15675 * flags.h (flag_gcse): Prototype here.
15676
15677 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
15678
15679 * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
15680 introduced by last change.
15681
15682 2003-01-22 Andreas Schwab <schwab@suse.de>
15683
15684 * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
15685
15686 2003-01-22 Kazu Hirata <kazu@cs.umass.edu>
15687
15688 * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
15689 request a scratch reg on H8S when the shift count is 8.
15690
15691 2003-01-22 Ulrich Weigand <uweigand@de.ibm.com>
15692
15693 * config/s390/s390-protos.h (preferred_la_operand_p):
15694 Remove second parameter.
15695 * config/s390/s390.c (preferred_la_operand_p): Likewise.
15696 * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
15697 (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
15698 * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
15699 Add peepholes to transform ADD to LOAD ADDRESS.
15700
15701 2003-01-22 Richard Earnshaw <rearnsha@arm.com>
15702
15703 * arm.c (arm_address_register_rtx_p): New function.
15704 (arm_legitimate_address_p): New function.
15705 (arm_legitimate_index_p): New function.
15706 (legitimize_pic_address): Use arm_legitimate_index_p.
15707 * arm-protos.h (arm_legtimate_address_p): Add prototype.
15708 * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
15709 (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
15710
15711 2003-01-22 Hartmut Penner <hpenner@de.ibm.com>
15712
15713 * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
15714 * config/s390/2064.md (define_bypass): Correct 'Load' and
15715 'Load-address' bypass values.
15716
15717 2003-01-22 Andreas Schwab <schwab@suse.de>
15718
15719 * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
15720
15721 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15722
15723 * genautomata.c (output_internal_insn_latency_func,
15724 output_print_reservation_func): Short circuit when there is no
15725 automaton to generate code for.
15726
15727 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15728
15729 * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
15730 (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
15731
15732 2003-01-21 Geoffrey Keating <geoffk@apple.com>
15733
15734 * config/rs6000/rs6000.md: Remove warning.
15735 (builtin_setjmp_receiver): Likewise.
15736 * config/darwin.c (update_stubs): Slightly improve terrible hack
15737 with identifiers. Add comment pointing out problems with it.
15738 (update_non_lazy_ptrs): Likewise.
15739
15740 2003-01-21 Richard Henderson <rth@redhat.com>
15741
15742 * dwarf2out.c (lookup_filename): Fix printf format warning.
15743 * system.h (fread_unlocked, fwrite_unlocked): Undef.
15744
15745 * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
15746 (fixincl.o-warn, gnu-regex.o-warn): New.
15747 * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
15748 * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
15749 * fixinc/fixincl.c (process): Fix printf format warning.
15750
15751 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
15752
15753 * dwarf2out (output_file_names): Don't crash if called
15754 with empty file_table.
15755
15756 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15757
15758 * genautomata.c (output_internal_insn_latency_func): Add
15759 missing break statement to generated code.
15760
15761 2003-01-21 Roger Sayle <roger@eyesopen.com>
15762
15763 * stmt.c (same_case_target_p): New function to determine whether
15764 two case labels branch to the same target. Split out from...
15765 (group_case_nodes): ... here. Use same_case_target_p instead.
15766 (strip_default_case_nodes): Remove explicit case nodes
15767 that branch to the default destination.
15768 (expand_end_case_type): Call strip_default_case_nodes after
15769 group_case_nodes, to simplify the case-list before we count it.
15770 Only generate table_label RTX when actually needed. Try to share
15771 thiscase->exit_label and thiscase->data.case_stmt.default_label
15772 when a switch has no explicit default case. Simplify test for
15773 constant index.
15774
15775 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
15776
15777 * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
15778 \t.
15779 (*negsf2_h8300hs): Likewise.
15780 (*addsi3_lshiftrt_16_zexthi): Likewise.
15781 (*iorhi3_lshiftrt_8): Likewise.
15782
15783 2003-01-21 Ulrich Weigand <uweigand@de.ibm.com>
15784
15785 * dwarf2out.c (fde_table_in_use): Mark GTY.
15786 (dwarf2out_cfi_label_num): New variable, marked GTY.
15787 (dwarf2out_cfi_label): Use it instead of static label_num.
15788 * emit-rtl.c (label_num): Mark GTY.
15789
15790 2003-01-21 Kazu Hirata <kazu@cs.umass.edu>
15791
15792 * config/h8300/h8300.c (output_plussi): Support H8/300.
15793 (compute_plussi_length): Likewise.
15794 (compute_plussi_cc): Likewise.
15795 * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
15796 output assembly instructions.
15797
15798 2003-01-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15799
15800 * calls.c (fix_unsafe_tree): Prototype.
15801
15802 * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
15803 (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
15804 insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
15805 c-parse.o-warn): Add -Wno-error.
15806 (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
15807
15808 * configure.in (--enable-werror): Add new flag.
15809 * doc/install.texi (--enable-werror): Document.
15810 * configure: Regenerate.
15811
15812 * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
15813
15814 2003-01-21 Andreas Schwab <schwab@suse.de>
15815
15816 * genautomata.c (output_internal_insn_latency_func): Fix missing
15817 close paren in output.
15818
15819 2003-01-21 Zack Weinberg <zack@codesourcery.com>
15820
15821 * genautomata.c: Space savings in generated code:
15822 (output_dfa_insn_code_func): Split out the table-enlargement
15823 path to an out-of-line static function, dfa_insn_code_enlarge.
15824 (output_internal_insn_latency_func): Use a lookup table for the
15825 default latencies.
15826 (output_print_reservation_func): Use a lookup table for the
15827 strings.
15828
15829 2003-01-21 Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
15830
15831 PR opt/7507
15832 * calls.c (fix_unsafe_tree): Split out from ...
15833 (expand_call): ... here. Use it on the function address too.
15834
15835 2003-01-20 Richard Henderson <rth@redhat.com>
15836
15837 * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
15838
15839 2003-01-20 Richard Henderson <rth@redhat.com>
15840
15841 PR opt/7154
15842 * stmt.c (expand_asm_operands): Validize memory operands.
15843
15844 2003-01-20 Richard Henderson <rth@redhat.com>
15845
15846 PR opt/8848
15847 * ifcvt.c (noce_process_if_block): Correct arguments to
15848 modified_between_p for no-else-block case.
15849
15850 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15851
15852 * config/h8300/h8300.c (const_costs): Remove a warning.
15853 (output_plussi): Likewise.
15854 (compute_plussi_length): Likewise.
15855 (compute_plussi_cc): Likewise.
15856
15857 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15858
15859 * config/h8300/h8300.md (addsi_h8300): Remove the last
15860 alternative.
15861
15862 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15863
15864 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
15865
15866 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15867
15868 * system.h (__NO_STRING_INLINES): Define.
15869
15870 2003-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15871
15872 * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
15873 is not a scalar int mode.
15874
15875 2003-01-20 Roger Sayle <roger@eyesopen.com>
15876
15877 * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
15878 insn's notes following a substitution inside a libcall.
15879
15880 2003-01-20 Zack Weinberg <zack@codesourcery.com>
15881
15882 * configure.in: Check for system-provided 'uchar' type.
15883 * configure, config.in: Regenerate.
15884 * cpphash.h: Only typedef 'uchar' if the system doesn't.
15885
15886 2003-01-20 Richard Henderson <rth@redhat.com>
15887
15888 * expr.h (MUST_PASS_IN_STACK): Move implementation...
15889 * calls.c (default_must_pass_in_stack): ... here.
15890
15891 2003-01-20 Vladimir Makarov <vmakarov@redhat.com>
15892
15893 * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
15894
15895 * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
15896
15897 * genattr.c (main): Output default definition of AUTOMATON_ALTS.
15898 Wrap up definition of `insn_alts'.
15899
15900 * genattrtab.c (main): Wrap up `insn_alts'.
15901
15902 2003-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15903
15904 * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
15905 prototyping.
15906 * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
15907
15908 * config.in, configure: Regenerate.
15909
15910 2003-01-20 Nick Clifton <nickc@redhat.com>
15911
15912 * config/arm/arm.md (sibcall_epilogue): Add an
15913 UNSPEC_PROLOGUE_USE to prevent the link register from being
15914 considered dead.
15915
15916 2003-01-20 Jan Hubicka <jh@suse.cz>
15917
15918 * i386.md (SSE cmov splitter): Handle memory operand in operand 5.
15919
15920 2003-01-20 Andreas Schwab <schwab@suse.de>
15921
15922 * system.h: Don't declare strsignal if the decl test hasn't been
15923 run yet.
15924
15925 2003-01-20 Kazu Hirata <kazu@cs.umass.edu>
15926
15927 * config/h8300/h8300.c (notice_update_cc): Don't assume that
15928 recog_data.operands[0] is always associated with cc0.
15929
15930 2003-01-19 David Edelsohn <edelsohn@gnu.org>
15931
15932 * collect2.c (ldgetname): Expand declaration to prototype.
15933 * read-rtl.c (atoll): Add prototype.
15934 * system.h (strsignal): Also declare if no declaration found.
15935
15936 2003-01-19 Alexandre Oliva <aoliva@redhat.com>
15937
15938 * config.gcc (mips64*-*-linux*): Added.
15939 * config/mips/linux64.h, config/mips/t-linux64: New file.
15940 * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
15941 * config/mips/mips.c (override_options): Use it.
15942 * config/mips/mips.h (TARGET_SWITCHES): Added...
15943 (SUBTARGET_TARGET_SWITCHES): New, empty by default.
15944 * Makefile.in (SPECS): New.
15945 (STAGESTUFF, specs, mostlyclean, install-common): Use it.
15946 * gcc.c (process_command): Move self-spec processing past spec
15947 file loading.
15948 * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
15949 * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
15950 CRTSTUFF_T_CFLAGS.
15951 (SPECS): Document.
15952 * doc/invoke.texi (-mabi-fake-default): Document.
15953
15954 2003-01-19 Stephane Carrez <stcarrez@nerim.fr>
15955
15956 * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
15957 z_reg, z_reg_qi): Declare static and GTY().
15958 (da_reg): Remove.
15959 (create_regs_rtx): Don't create da_reg.
15960 ("gt-m68hc11.h"): Include for GTY roots.
15961 * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
15962 and GTY() here.
15963 (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
15964 (m68hc11_soft_tmp_reg): Likewise.
15965 * config/m68hc11/m68hc11-protos.h: Remove above declarations.
15966
15967 2003-01-18 Kazu Hirata <kazu@cs.umass.edu>
15968
15969 * basic-block.h: Fix comment formatting.
15970 * calls.c: Likewise.
15971 * combine.c: Likewise.
15972 * convert.c: Likewise.
15973 * gcov.c: Likewise.
15974 * haifa-sched.c: Likewise.
15975 * libgcc2.c: Likewise.
15976 * loop.c: Likewise.
15977 * profile.c: Likewise.
15978 * system.h: Likewise.
15979
15980 2003-01-18 Roger Sayle <roger@eyesopen.com>
15981
15982 * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
15983
15984 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
15985
15986 * ra-build.c (undef_to_size_word): Avoid `switch' warning.
15987
15988 2003-01-17 Dale Johannesen <dalej@apple.com>
15989
15990 * config/rs6000/rs6000.md (*floatsidf2_internal): Add earlyclobbers.
15991 (*floatunssidf2_internal): Ditto.
15992
15993 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
15994
15995 * alias.c: Fix comment typos.
15996 * basic-block.h: Likewise.
15997 * c-common.c: Likewise.
15998 * c-common.h: Likewise.
15999 * c-decl.c: Likewise.
16000 * c-opts.c: Likewise.
16001 * c-pragma.c: Likewise.
16002 * c-pretty-print.h: Likewise.
16003 * cfg.c: Likewise.
16004 * cfganal.c: Likewise.
16005 * cfgbuild.c: Likewise.
16006 * cfgcleanup.c: Likewise.
16007 * cfglayout.c: Likewise.
16008 * cfgrtl.c: Likewise.
16009 * convert.c: Likewise.
16010 * cpphash.h: Likewise.
16011 * cpplex.c: Likewise.
16012 * cpplib.h: Likewise.
16013 * df.h: Likewise.
16014 * diagnostic.c: Likewise.
16015 * diagnostic.h: Likewise.
16016 * dwarf2.h: Likewise.
16017
16018 2003-01-17 Stan Shebs <shebs@apple.com>
16019
16020 * config/darwin-protos.h: Forward-declare struct cpp_reader.
16021
16022 2003-01-17 Douglas B Rupp <rupp@gnat.com>
16023
16024 * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
16025 mistake in last checkin.
16026
16027 2003-01-17 Kazu Hirata <kazu@cs.umass.edu>
16028
16029 * et-forest.c: Fix comment typos.
16030 * et-forest.h: Likewise.
16031 * except.c: Likewise.
16032 * expr.c: Likewise.
16033 * flags.h: Likewise.
16034 * flow.c: Likewise.
16035 * gcc.c: Likewise.
16036 * gcse.c: Likewise.
16037 * genattrtab.c: Likewise.
16038 * genautomata.c: Likewise.
16039 * gengtype.c: Likewise.
16040 * genrecog.c: Likewise.
16041 * global.c: Likewise.
16042 * gthr-rtems.h: Likewise.
16043
16044 2003-01-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16045
16046 * i386.c (x86_function_profiler): Fix format specifier.
16047
16048 2003-01-17 Richard Henderson <rth@redhat.com>
16049
16050 * gengtype.c (walk_type): Allow paramN_is.
16051
16052 2003-01-17 Nick Clifton <nickc@redhat.com>
16053
16054 * config/i960/t-960bare (i960-c.o): Add missing newline escape.
16055
16056 2003-01-16 Richard Henderson <rth@redhat.com>
16057
16058 * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
16059
16060 2003-01-16 Richard Henderson <rth@redhat.com>
16061
16062 * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
16063 (alpha_next_sequence_number): Likewise.
16064 (alpha_this_literal_sequence_number): Likewise.
16065 (alpha_this_gpdisp_sequence_number): Likewise.
16066 (struct alpha_funcs, alpha_funcs_num): Likewise.
16067 (struct alpha_links): Fix branch merge error.
16068 (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
16069
16070 2003-01-17 Alexandre Oliva <aoliva@redhat.com>
16071
16072 * config/mips/mips.h: Don't use #elif. Reported by Kaveh
16073 R. Ghazi.
16074
16075 2003-01-16 Kazu Hirata <kazu@cs.umass.edu>
16076
16077 * ifcvt.c: Fix comment typos.
16078 * lcm.c: Likewise.
16079 * libgcc2.c: Likewise.
16080 * local-alloc.c: Likewise.
16081 * loop.c: Likewise.
16082 * predict.c: Likewise.
16083 * ra-build.c: Likewise.
16084 * ra.c: Likewise.
16085 * ra-colorize.c: Likewise.
16086 * ra.h: Likewise.
16087 * ra-rewrite.c: Likewise.
16088 * regmove.c: Likewise.
16089 * reload.h: Likewise.
16090 * rtlanal.c: Likewise.
16091 * toplev.c: Likewise.
16092 * tree.h: Likewise.
16093 * unwind-dw2-fde-glibc.c: Likewise.
16094 * vmsdbgout.c: Likewise.
16095
16096 2003-01-16 Richard Henderson <rth@redhat.com>
16097
16098 * dwarf2out.c (struct file_table): Remove.
16099 (FILE_TABLE_INCREMENT): Remove.
16100 (file_table): Make a varray; mark for GC. Update all users.
16101 (file_table_last_lookup_index): Extract from struct file_table.
16102 (output_file_names): Fix unsigned compare warnings.
16103 (add_name_attribute): Remove inline marker.
16104 (add_comp_dir_attribute): Split out from gen_compile_unit_die.
16105 (lookup_filename): Don't manage size of file_table.
16106 (init_file_table): Allocate file_table with GC.
16107 (dwarf2out_init): Don't record main_input_filename here.
16108 (dwarf2out_finish): Do it here instead.
16109
16110 2003-01-16 Bruce Korb <bkorb@gnu.org>
16111
16112 * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
16113
16114 2003-01-16 Kaz Kojima <kkojima@gcc.gnu.org>
16115
16116 * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
16117 instead of rotldi3_mextr.
16118
16119 2003-01-16 Vladimir Makarov <vmakarov@redhat.com>
16120
16121 * haifa-sched.c (move_insn): Restore moving all schedule group.
16122 (set_priorities): Restore taking SCHED_GROUP_P into account.
16123
16124 * sched-deps.c (add_dependence): Restore processing the last group
16125 insn.
16126 (remove_dependence, group_leader): Restore the functions.
16127 (set_sched_group_p): Restore adding dependencies from previous insn
16128 in the group.
16129 (compute_forward_dependences): Restore usage of group_leader.
16130
16131 * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
16132 account.
16133
16134 * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
16135 account.
16136 (can_schedule_ready_p): Ditto.
16137 (add_branch_dependences): Restore skipping over the group insns.
16138
16139 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
16140
16141 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
16142 68HC12 pre/post inc/dec side effects.
16143
16144 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
16145
16146 * config/m68hc11/m68hc11.h (MASK_M6812): Define.
16147
16148 2003-01-16 J"orn Rennecke <amylaar@onetel.net.uk>
16149
16150 * sh.md (mshflo_w_x): Fix description of operation.
16151
16152 2003-01-16 Zack Weinberg <zack@codesourcery.com>
16153
16154 * config/rs6000/rs6000.h: Mention Altivec registers in
16155 commentary. Fix typo.
16156
16157 2003-01-16 David Edelsohn <edelsohn@gnu.org>
16158
16159 * config/rs6000/rs6000.md (movti_string): Remove clobber.
16160 * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
16161 generate PARALLEL with clobber for TARGET_POWER.
16162
16163 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16164
16165 * ra-colorize.c (colorize_one_web): Initialize variable.
16166 * regmove.c (fixup_match_1): Likewise.
16167 * reload1.c (reload_as_needed): Likewise.
16168 * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
16169
16170 2003-01-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
16171
16172 * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
16173
16174 2003-01-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16175
16176 * dbxout.c (lastfile, cwd): Fix `unused' warning.
16177 * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
16178 dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
16179 is_main_source, file_table, decl_die_table_in_use,
16180 abbrev_die_table_in_use, line_info_table_in_use,
16181 separate_line_info_table_in_use, pubname_table_in_use,
16182 arange_table_in_use, ranges_table_in_use,
16183 current_function_has_inlines): Likewise.
16184 * flow.c (life_analysis): Likewise.
16185 * genemit.c (gen_insn): Likewise.
16186 * protoize.c (cplus_suffix): Likewise.
16187
16188 * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
16189 * arm.h (ROUND_UP_WORD): Likewise.
16190
16191 * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
16192 warning.
16193 * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
16194 init_emit_once): Likewise.
16195 * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
16196 Likewise.
16197 * function.c (assign_stack_temp_for_type): Likewise.
16198 * loop.c (loop_invariant_p): Likewise.
16199 * recog.c (push_operand): Likewise.
16200 * regclass.c (init_reg_sets_1): Likewise.
16201 * reload.c (update_auto_inc_notes): Likewise.
16202 * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
16203 * stmt.c (expand_asm_operands): Likewise.
16204 * stor-layout.c (start_record_layout): Likewise.
16205
16206 2003-01-16 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
16207
16208 * config/c4x/c4x.md (epilogue): Correct last patch.
16209
16210 2003-01-15 Richard Henderson <rth@redhat.com>
16211
16212 * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
16213 also check that GP is being used.
16214 (alpha_find_lo_sum_using_gp): New.
16215 (alpha_does_function_need_gp): Use get_attr_usegp.
16216 * config/alpha/alpha-protos.h: Update.
16217 * config/alpha/alpha.md (attr usegp): New. Annotate patterns
16218 as needed.
16219
16220 2003-01-15 Roger Sayle <roger@eyesopen.com>
16221
16222 * gcse.c (one_cprop_pass): Change function arguments to take both
16223 cprop_jumps and bypass_jumps flags instead of just alter_jumps.
16224 (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
16225 (bypass_jumps): New function to perform separate jump bypassing pass.
16226 * rtl.h (bypass_jumps): Add function prototype.
16227 * timevar.def (TV_BYPASS): New timing variable.
16228 * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
16229 (dump_file): New entry for the bypass RTL dump file.
16230 (rest_of_compilation): Insert new jump bypassing optimization
16231 pass after loop.
16232 * doc/passes.texi: Document new pass.
16233
16234 2003-01-15 John David Anglin <dave@hiauly1.hia.nrc.ca>
16235
16236 * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
16237 ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
16238 * pa.h (TARGET_SOM_SDEF): Define.
16239 * pa-hpux11.h (TARGET_SOM_SDEF): Define.
16240
16241 2003-01-16 Stephane Carrez <stcarrez@nerim.fr>
16242
16243 * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
16244 allocate 4-bytes of locals on 68HC11.
16245 (expand_epilogue): Likewise.
16246 (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
16247
16248 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
16249
16250 * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
16251 and -mshort-double to the assembler to specify the ABI.
16252 (LINK_SPEC): Likewise.
16253 (CPP_SPEC): Pass HCS12 specific define.
16254 (MASK_M68S12): New define.
16255 (TARGET_M68S12): Likewise.
16256 (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
16257 (TARGET_VERSION): Update.
16258 * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
16259 (LINK_SPEC): Update.
16260 (ASM_SPEC): Update.
16261 * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
16262 * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
16263
16264 2003-01-15 Stephane Carrez <stcarrez@nerim.fr>
16265
16266 * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
16267 the return code.
16268
16269 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
16270
16271 * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
16272 flag before setting it.
16273
16274 2003-01-15 Roger Sayle <roger@eyesopen.com>
16275
16276 * c-semantics.c (genrtl_while_stmt): Improve initial RTL generation
16277 when loop condition is known true, i.e. "while (1) { ... }".
16278 (genrtl_for_stmt): Similarly for "for" statements.
16279
16280 2003-01-15 Roger Sayle <roger@eyesopen.com>
16281
16282 * real.c (real_sqrt): Return a bool result indicating whether
16283 a floating point exception or trap should be raised.
16284 * real.h (real_sqrt): Update function prototype.
16285 * builtins.c (fold_builtin): Only fold non-trapping square
16286 roots unless we're ignoring errno and trapping math.
16287
16288 2003-01-15 John David Anglin <dave.anglin@nrc.gc.ca>
16289
16290 * expr.h (emit_conditional_add): Add PARAMS to declaration.
16291 * gengtype-lex.l (malloc, realloc): Move defines after include of
16292 system.h. Remove duplicate include of system.h.
16293
16294 2003-01-15 Roger Sayle <roger@eyesopen.com>
16295
16296 PR middle-end/9009
16297 * optabs.c (expand_unop): When manipulating the FP sign bit
16298 using integer operations, account for targets with different
16299 integer and FP word orders.
16300 (expand_abs): Likewise.
16301
16302 2003-01-15 David Edelsohn <edelsohn@gnu.org>
16303
16304 * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
16305 file extension in section name.
16306
16307 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
16308
16309 * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
16310 constant offset.
16311
16312 2003-01-15 Richard Earnshaw <rearnsha@arm.com>
16313
16314 * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
16315 (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
16316 (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
16317 (ARM_PRINT_OPERAND_ADDRESS): Likewise.
16318
16319 2003-01-15 Jan Hubicka <jh@suse.cz>
16320
16321 PR f/9258
16322 * global.c (struct allocno): Add no_stack_reg.
16323 (global_conflicts): Set no_stack_reg.
16324 (find_reg): Use it.
16325
16326 * convert.c (convert_to_real): Fold - and abs only when profitable.
16327 * fold-const.c (fold): Fold truncates in - and abs.
16328
16329 2003-01-15 Josef Zlomek <zlomekj@suse.cz>
16330
16331 Segher Boessenkool <segher@koffie.nl>
16332
16333 * predict.c (real_inv_br_prob_base): New variable.
16334 (propagate_freq): Use multiply by reciprocal instead of
16335 division. Don't divide by 1.0 at all.
16336 (estimate_bb_frequencies): Similar.
16337
16338 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
16339
16340 * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
16341 * configure: Rebuilt.
16342
16343 2003-01-15 Hartmut Penner <hpenner@de.ibm.com>
16344
16345 * config/s390/s390.c (s390_safe_attr_type): New function.
16346 (s390_use_dfa_pipeline_interface): New function, return true for z900.
16347 (s390_issue_rate): New function.
16348 (s390_agen_dep_p): New function.
16349 (addr_generation_dependency_p): Use 's390_safe_attr_type'.
16350 (s390_adjust_cost): Return 'cost' if new DFA is used.
16351 (s390_adjust_priority): Delete function.
16352 * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
16353 * config/s390/s390.md (atype attribute): Attribute 'atype' default
16354 determined by 'op_type'.
16355 (type attribute): Added more type attributes.
16356 * config/s390/2064.md: New DFA description for z900 pipeline.
16357
16358 2003-01-15 Alexandre Oliva <aoliva@redhat.com>
16359
16360 * config/i386/i386.c (ix86_expand_vector_move): Validize constant
16361 forced to memory. Fixes PR bootstrap/9036.
16362
16363 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
16364 to set $gp before the call.
16365
16366 2003-01-14 Richard Henderson <rth@redhat.com>
16367
16368 * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
16369 for force_const_mem.
16370
16371 2003-01-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16372
16373 * genattr.c (main): Rearrange output to avoid prototype warning.
16374 * genautomata.c (transform_3): Fix ambiguous-else warning.
16375 * local-alloc.c (requires_inout): Add parentheses around
16376 assignment used as truth-value.
16377 * timevar.c: Move system includes above local includes. Include
16378 toplev.h
16379 * Makefile.in (timevar.o): Depend on toplev.h.
16380
16381 2003-01-14 Denis Chertykov <denisc@overta.ru>
16382
16383 * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
16384 (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
16385
16386 * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
16387 attributes.
16388 (TARGET_ATTRIBUTE_TABLE): New macro.
16389 (valid_machine_type_attribute): Remove.
16390 (valid_machine_decl_attribute): Remove.
16391 (ip2k_handle_progmem_attribute): New function.
16392 (ip2k_handle_fndecl_attribute): New function.
16393
16394 2003-01-10 Andrew Haley <aph@redhat.com>
16395
16396 * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
16397 registers to be in correct order. Add rip.
16398
16399 2003-01-14 Kazu Hirata <kazu@cs.umass.edu>
16400
16401 * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
16402 (*iorsi3_and_lshiftrt_9_sb): Likewise.
16403
16404 2003-01-14 Jan Hubicka <jh@suse.cz>
16405
16406 * convert.c (strip_float_extensions): Look for narrowest type handling
16407 FP constants.
16408
16409 * fold-const.c (fold): Fold (double)float1 CMP (double)float2 into
16410 float1 CMP float2.
16411 * convert.c (strip_float_extensions): Make global.
16412 * tree.h (strip_float_extensions): Declare.
16413
16414 2003-01-14 Gabriel Dos Reis <gdr@integrable-solutions.net>
16415
16416 * timevar.def: define TV_NAME_LOOKUP.
16417 * timevar.c (timevar_pop): Be verbose when aborting.
16418
16419 2003-01-13 Andreas Schwab <schwab@suse.de>
16420
16421 * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
16422 $(parsedir), just move the temporary file at the end.
16423 ($(parsedir)/gengtype-yacc.c): Likewise.
16424
16425 2003-01-13 Alexandre Oliva <aoliva@redhat.com>
16426
16427 * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
16428 ${ac_tool_prefix} to ADAC or CC. Protect them from word
16429 splitting.
16430 * configure: Rebuilt.
16431
16432 2003-01-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16433
16434 * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
16435 internal_mcount): Don't use PARAMS.
16436 (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
16437 ISO C style.
16438 (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
16439
16440 2003-01-13 Andreas Schwab <schwab@suse.de>
16441
16442 * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
16443 directive.
16444
16445 2003-01-13 Kazu Hirata <kazu@cs.umass.edu>
16446
16447 * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
16448 (*iorsi3_and_lshiftrt_n_sb): Likewise.
16449
16450 2003-01-12 Mark Mitchell <mark@codesourcery.com>
16451
16452 PR c++/9264
16453 * c-lex.c (c_lex): Set the token value to error_mark_node for
16454 invalid numeric constants.
16455
16456 2003-01-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16457
16458 * c-pch.c (asm_file_startpos): Change to `long'.
16459 (pch_init): Use ftell, not ftello.
16460 (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
16461 Use `long' instead of `off_t'.
16462 (c_common_read_pch): Likewise.
16463 * ggc-common.c (gt_pch_save): Use long/ftell instead of
16464 off_t/ftello.
16465
16466 2003-01-12 Alan Modra <amodra@bigpond.net.au>
16467
16468 * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
16469
16470 2003-01-11 Richard Earnshaw (rearnsha@arm.com)
16471
16472 * arm-protos.h (struct cpp_reader): Add declaration.
16473
16474 2003-01-11 Jan Hubicka <jh@suse.cz>
16475
16476 PR target/9068
16477 * i386.c (output_fp_compare): Fix typo.
16478
16479 2003-01-10 David Edelsohn <edelsohn@gnu.org>
16480
16481 * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
16482
16483 2003-01-10 Geoffrey Keating <geoffk@apple.com>
16484
16485 * Makefile.in (parsedir): New variable.
16486 (docobjdir): New variable.
16487 (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
16488 gengtype-lex.c, gengtype-yacc.c): Use parsedir.
16489 (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
16490 cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
16491 gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
16492 Use docobjdir.
16493 * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
16494 objc.maintainer-clean): Use parsedir.
16495
16496 * varasm.c (struct constant_descriptor_rtx): Remove unused
16497 `label' field.
16498
16499 * toplev.c (documented_lang_options): Document -Winvalid-pch.
16500
16501 2003-01-10 Richard Henderson <rth@redhat.com>
16502
16503 * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
16504 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
16505
16506 2003-01-10 Richard Henderson <rth@redhat.com>
16507
16508 * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
16509 not INTEGRAL_MODE_P when widening extensions.
16510
16511 2003-01-10 Richard Henderson <rth@redhat.com>
16512
16513 * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
16514
16515 2003-01-10 Geoffrey Keating <geoffk@apple.com>
16516
16517 * ggc-page.c (ggc_collect): Avoid overflow computing
16518 min_expand.
16519
16520 * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
16521 (RANLIB_TEST_FOR_TARGET): Delete. Don't pass down to sub-makes.
16522 Remove calls.
16523 * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
16524
16525 2003-01-10 Jan Hubicka <jh@suse.cz>
16526
16527 * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
16528 with weird operands.
16529
16530 2003-01-10 Dale Johannesen <dalej@apple.com>
16531
16532 * calls.c (load_register_parameters): Add is_sibcall, sibcall_failure
16533 parameters. Call check_sibcall_argument_overlap if indicated.
16534 (check_sibcall_argument_overlap): Add mark_stored_args_map
16535 parameter. Don't mark parameter area as clobbered if not set.
16536 (expand_call): Adjust calls to above.
16537
16538 2003-01-10 Kelley Cook <kelleycook@comcast.net>
16539
16540 * configure.in (linker read-only and read-write section mixing):
16541 Squelch some assembler warnings.
16542 * configure: Likewise.
16543
16544 2003-01-10 Hartmut Penner <hpenner@de.ibm.com>
16545
16546 * doc/invoke.texi: Document -mtune, delete -mcpu
16547 option for S/390 and zSeries.
16548 * config/s390/s390.c (s390_tune_string) New variable.
16549 (s390_cpu_string) Delete variable.
16550 (override_options): Use s390_tune_string instead of
16551 s390_cpu_string.
16552 * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
16553
16554 2003-01-10 Kazu Hirata <kazu@cs.umass.edu>
16555
16556 * config/h8300/h8300.md (*iorsi3_ashift_31): New.
16557
16558 2003-01-10 Josef Zlomek <zlomekj@suse.cz>
16559
16560 * jump.c (next_nonnote_insn_in_loop): New function.
16561 (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
16562 next_nonnote_insn.
16563 (duplicate_loop_exit_test). Likewise.
16564
16565 2003-01-09 Geoffrey Keating <geoffk@apple.com>
16566
16567 Merge from pch-branch:
16568
16569 2003-01-06 Geoffrey Keating <geoffk@apple.com>
16570
16571 * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
16572 load.
16573
16574 2002-12-24 Geoffrey Keating <geoffk@apple.com>
16575
16576 * cpplib.c (count_registered_pragmas): New function.
16577 (save_registered_pragmas): New function.
16578 (_cpp_save_pragma_names): New function.
16579 (restore_registered_pragmas): New function.
16580 (_cpp_restore_pragma_names): New function.
16581 * cpphash.h (_cpp_save_pragma_names): Prototype.
16582 (_cpp_restore_pragma_names): Likewise.
16583 * cpppch.c (struct save_macro_item): Split from save_macro_data.
16584 (struct save_macro_data): New field 'saved_pragmas'.
16585 (save_macros): Update for changes to struct save_macro_data.
16586 (cpp_prepare_state): Call _cpp_save_pragma_names, update
16587 for changes to struct save_macro_data.
16588 (cpp_read_state): Call _cpp_restore_pragma_names, update
16589 for changes to struct save_macro_data.
16590
16591 * cpppch.c (cpp_read_state): Restore the hashtable references
16592 in the cpp_reader.
16593
16594 * tree.h (built_in_decls): Mark for PCH.
16595
16596 * dbxout.c (lastfile): Don't mark for PCH.
16597
16598 * ggc.h: Document PCH calls into memory managers.
16599
16600 2002-12-18 Geoffrey Keating <geoffk@apple.com>
16601
16602 * doc/invoke.texi (Precompiled Headers): Document the
16603 directory form of PCH.
16604 * cppfiles.c (validate_pch): New function.
16605 (open_file_pch): Search suitably-named directories for PCH files.
16606
16607 2002-12-14 Geoffrey Keating <geoffk@apple.com>
16608
16609 * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
16610 reorder options.
16611 (Type Information): Mention that the information is also
16612 used to implement PCH.
16613 * doc/passes.texi (Passes): Improve documentation of
16614 language-specific files.
16615
16616 2002-12-11 Geoffrey Keating <geoffk@apple.com>
16617
16618 * gengtype.c (struct write_types_data): Add reorder_note_routine field.
16619 (struct walk_type_data): Add reorder_fn field.
16620 (walk_type): Process 'reorder' option.
16621 (write_types_process_field): Reorder parameters to gt_pch_note_object,
16622 call reorder_note_routine.
16623 (write_func_for_structure): Reorder parameters to gt_pch_note_object.
16624 (ggc_wtd): Update for change to struct write_types_data.
16625 (pch_wtd): Likewise.
16626 * ggc.h (gt_pch_note_object): Reorder parameters.
16627 (gt_handle_reorder): New definition.
16628 (gt_pch_note_reorder): New prototype.
16629 * ggc-common.c (struct ptr_data): Add reorder_fn.
16630 (gt_pch_note_object): Reorder parameters.
16631 (gt_pch_note_reorder): New.
16632 (gt_pch_save): Call reorder_fn.
16633 * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
16634
16635 * dbxout.c (cwd): Don't mark for PCH.
16636
16637 2002-12-09 Geoffrey Keating <geoffk@apple.com>
16638
16639 * gengtype.c (finish_root_table): Fix some warnings.
16640 (write_root): Handle TYPE_STRING.
16641 * ggc.h (gt_ggc_m_S): Add prototype.
16642 * stringpool.c (gt_ggc_m_S): New function.
16643
16644 2002-11-30 Geoffrey Keating <geoffk@apple.com>
16645
16646 * dwarf2out.c (dw2_string_counter): New.
16647 (AT_string_form): Use it.
16648 (same_dw_val_p): Update for removal of hashtable.h hash tables.
16649
16650 2002-11-22 Geoffrey Keating <geoffk@apple.com>
16651
16652 * dbxout.c: Include gt-dbxout.h.
16653 (lastfile): Mark for PCH/GGC.
16654 (cwd): Likewise.
16655 (struct typeinfo): Likewise.
16656 (typevec): Likewise.
16657 (typevec_len): Likewise.
16658 (next_type_number): Likewise.
16659 (struct dbx_file): Likewise.
16660 (current_file): Likewise.
16661 (next_file_number): Likewise.
16662 (dbxout_init): Allocate typevec, struct dbx_file with GGC.
16663 (dbxout_start_source_file): Allocate struct dbx_file with GGC.
16664 (dbxout_end_source_file): Don't free struct dbx_file.
16665 (dbxout_type): Use GGC to allocate typevec.
16666 * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
16667 (GTFILES): Add dbxout.c.
16668 (gt-dbxout.h): New rule.
16669
16670 * Makefile.in (c-pch.o): Add debug.h as dependency.
16671 * c-pch.c: Include debug.h.
16672 (pch_init): Call start_source_file to keep nesting right.
16673 (c_common_read_pch): Add orig_name parameter. Call
16674 start_source_file debug hook. Call end_source_file debug hook.
16675 * c-common.h (c_common_read_pch): Update prototype.
16676 * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
16677 callback.
16678 * cppfiles.c (struct include_file): Add new field `header_name'.
16679 (find_or_create_entry): Default it to `name'.
16680 (open_file_pch): Set it to the original header file searched for.
16681 (stack_include_file): Don't stack an empty buffer, just handle
16682 PCH files immediately. Pass header_name field to read_pch callback.
16683
16684 2002-11-19 Geoffrey Keating <geoffk@apple.com>
16685
16686 * function.c (funcdef_no): Mark to be saved in a PCH.
16687
16688 2002-11-15 Geoffrey Keating <geoffk@apple.com>
16689
16690 * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
16691
16692 * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
16693
16694 2002-11-14 Geoffrey Keating <geoffk@apple.com>
16695
16696 * optabs.h (code_to_optab): Add GTY marker.
16697
16698 2002-11-13 Geoffrey Keating <geoffk@apple.com>
16699
16700 * Makefile.in (GTFILES): Add cpplib.h.
16701 * c-common.h (struct c_common_identifier): Don't skip 'node' field.
16702 * c-decl.c (build_compound_literal): Don't use var_labelno.
16703 * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
16704 * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
16705 * varasm.c (const_labelno): Use gengtype to mark.
16706 (var_labelno): Likewise.
16707 (in_section): Likewise.
16708 (in_named_name): Likewise.
16709 (struct in_named_entry): Likewise.
16710 (in_named_htab): Likewise.
16711 (set_named_section_flags): Use GGC to allocate struct in_named_entry.
16712 (init_varasm_once): Use GGC to allocate in_named_htab.
16713 * config/darwin.c (current_pic_label_num): Mark for PCH.
16714
16715 2002-11-11 Geoffrey Keating <geoffk@apple.com>
16716
16717 * ggc-simple.c (init_ggc_pch): New stub procedure.
16718 (ggc_pch_count_object): Likewise.
16719 (ggc_pch_total_size): Likewise.
16720 (ggc_pch_this_base): Likewise.
16721 (ggc_pch_alloc_object): Likewise.
16722 (ggc_pch_prepare_write): Likewise.
16723 (ggc_pch_write_object): Likewise
16724 (ggc_pch_finish): Likewise.
16725 (ggc_pch_read): Likewise.
16726
16727 2002-11-08 Geoffrey Keating <geoffk@apple.com>
16728
16729 * c-pch.c (c_common_write_pch): Write the macro definitions after
16730 the GCed data.
16731 (c_common_read_pch): Call cpp_prepare_state. Restore the macro
16732 definitions after the GCed data.
16733 * cpplib.c (save_macros): New.
16734 (reset_ht): New.
16735 (cpp_write_pch_deps): Split out of cpp_write_pch.
16736 (cpp_write_pch_state): Split out of cpp_write_pch.
16737 (cpp_write_pch): Delete.
16738 (struct save_macro_data): Delete.
16739 (cpp_prepare_state): New.
16740 (cpp_read_state): Erase and restore initial macro definitions.
16741 * cpplib.h (struct save_macro_data): Forward-declare.
16742 (cpp_write_pch_deps): Prototype.
16743 (cpp_write_pch_state): Prototype.
16744 (cpp_write_pch): Delete prototype.
16745 (cpp_prepare_state): Prototype.
16746 (cpp_read_state): Add fourth argument.
16747
16748 2002-11-04 Geoffrey Keating <geoffk@apple.com>
16749
16750 * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
16751 (write_array): Remove warning.
16752
16753 * gengtype.c (contains_scalar_p): New.
16754 (finish_root_table): Add the table to all languages, even if it's
16755 empty.
16756 (write_roots): Output gt_pch_scalar_rtab.
16757 * ggc-common.c (gt_pch_save): Write out scalars.
16758 (gt_pch_restore): Read scalars back.
16759
16760 * ggc-page.c (OBJECTS_IN_PAGE): New macro.
16761 (struct page_entry): Delete pch_page field.
16762 (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
16763 (clear_marks): Likewise.
16764 (sweep_pages): Likewise.
16765 (poison_pages): Likewise.
16766 (ggc_print_statistics): Likewise.
16767 (ggc_pch_read): Don't free objects read from a PCH.
16768 Properly set up in_use_p and page_tails.
16769
16770 2002-10-25 Geoffrey Keating <geoffk@apple.com>
16771
16772 * gengtype.c (struct write_types_data): New.
16773 (struct walk_type_data): Make `cookie' const; add extra
16774 prev_val item; add `orig_s' field.
16775 (walk_type): Update prev_val[3].
16776 (write_types_process_field): New.
16777 (write_func_for_structure): Take write_types_data structure.
16778 (write_types): New.
16779 (ggc_wtd): New.
16780 (pch_wtd): New.
16781 (write_types_local_process_field): New.
16782 (gc_mark_process_field): Delete.
16783 (write_local_func_for_structure): New.
16784 (gc_mark_func_name): Delete.
16785 (write_gc_types): Delete.
16786 (write_local): New.
16787 (finish_root_table): Don't include 'ggc_' in PFX.
16788 (write_root): Rename from write_root. Fill pchw field of structures.
16789 (write_array): New.
16790 (write_roots): Rename from write_gc_roots. Split out to write_array.
16791 Update to changes to other routines. Write gt_pch_cache_rtab table.
16792 (main): Write PCH walking routines.
16793 * ggc-common.c: Include toplev.h, sys/mman.h.
16794 (ggc_mark_roots): For cache hashtables, also mark the hash table
16795 and the array of entries.
16796 (saving_htab): New.
16797 (struct ptr_data): New.
16798 (POINTER_HASH): New.
16799 (gt_pch_note_object): New.
16800 (saving_htab_hash): New.
16801 (saving_htab_eq): New.
16802 (struct traversal_state): New.
16803 (call_count): New.
16804 (call_alloc): New.
16805 (compare_ptr_data): New.
16806 (relocate_ptrs): New.
16807 (write_pch_globals): New.
16808 (struct mmap_info): New.
16809 (gt_pch_save): New.
16810 (gt_pch_restore): New.
16811 * ggc-page.c (ROUND_UP_VALUE): New.
16812 (ROUND_UP): New.
16813 (struct page_entry): Add field `pch_page'.
16814 (init_ggc): Use ROUND_UP.
16815 (struct ggc_pch_data): Declare.
16816 (init_ggc_pch): New.
16817 (ggc_pch_count_object): New.
16818 (ggc_pch_total_size): New.
16819 (ggc_pch_this_base): New.
16820 (ggc_pch_alloc_object): New.
16821 (ggc_pch_prepare_write): New.
16822 (ggc_pch_write_object): New.
16823 (ggc_pch_finish): New.
16824 (ggc_pch_read): New.
16825 * ggc.h (gt_pointer_operator): New.
16826 (gt_note_pointers): New.
16827 (gt_pch_note_object): New prototype.
16828 (gt_pointer_walker): New.
16829 (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
16830 (LAST_GGC_ROOT_TAB): Update.
16831 (gt_pch_cache_rtab): Declare.
16832 (gt_pch_scalar_rtab): Declare.
16833 (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
16834 (LAST_GGC_CACHE_TAB): Update.
16835 (gt_pch_save_stringpool): Declare.
16836 (gt_pch_restore_stringpool): Declare.
16837 (gt_pch_p_S): Declare.
16838 (gt_pch_n_S): Declare.
16839 (struct ggc_pch_data): Forward-declare.
16840 (init_ggc_pch): Declare.
16841 (ggc_pch_count_object): Declare.
16842 (ggc_pch_total_size): Declare.
16843 (ggc_pch_this_base): Declare.
16844 (ggc_pch_alloc_object): Declare.
16845 (ggc_pch_prepare_write): Declare.
16846 (ggc_pch_write_object): Declare.
16847 (ggc_pch_finish): Declare.
16848 (ggc_pch_read): Declare.
16849 (gt_pch_save): Declare.
16850 (gt_pch_restore): Declare.
16851 * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
16852 * emit-rtl.c (init_emit_once): Allocate const_int_htab,
16853 const_double_htab, mem_attrs_htab using GGC.
16854 * c-pch.c: Include ggc.h.
16855 (pch_init): Allow reading PCH file back.
16856 (c_common_write_pch): Call gt_pch_save.
16857 (c_common_read_pch): Call gt_pch_restore.
16858 * c-parse.in (init_reswords): Delete now-untrue comment.
16859 Allocate ridpointers using GGC.
16860 * c-objc-common.c (c_objc_common_finish_file): Write PCH before
16861 calling expand_deferred_fns.
16862 * c-common.h (ridpointers): Mark for GTY machinery.
16863 * Makefile.in (stringpool.o): Update dependencies.
16864 (c-pch.o): Update dependencies.
16865 (ggc-common.o): Update dependencies.
16866 * stringpool.c: Include gt-stringpool.h.
16867 (gt_pch_p_S): New.
16868 (gt_pch_n_S): New.
16869 (struct string_pool_data): New.
16870 (spd): New.
16871 (gt_pch_save_stringpool): New.
16872 (gt_pch_restore_stringpool): New.
16873 * tree.c (init_ttree): Make type_hash_table allocated using GC.
16874
16875 2002-10-04 Geoffrey Keating <geoffk@apple.com>
16876
16877 * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
16878 (output_mangled_typename): Don't pass size_t to printf.
16879
16880 * tree.h (union tree_type_symtab): Add tag to `address' field.
16881 (union tree_decl_u2): Add tag to 'i' field.
16882 * varasm.c (union rtx_const_un): Add tags to all fields.
16883 * gengtype.c (struct walk_type_data): New.
16884 (output_escaped_param): Take struct walk_type_data parameter.
16885 (write_gc_structure_fields): Delete.
16886 (walk_type): New.
16887 (write_gc_marker_routine_for_structure): Delete.
16888 (write_func_for_structure): New.
16889 (gc_mark_process_field): New.
16890 (gc_mark_func_name): New.
16891 (gc_counter): Delete.
16892 (write_gc_types): Use write_func_for_structure.
16893 (write_gc_roots): Use walk_type.
16894
16895 2002-10-02 Geoffrey Keating <geoffk@apple.com>
16896
16897 * ggc-common.c (ggc_mark_roots): Delete 'x'.
16898 (ggc_splay_dont_free): Fix warning about unused 'x'.
16899 (ggc_print_common_statistics): Remove warnings.
16900
16901 2002-10-01 Mike Stump <mrs@apple.com>
16902
16903 * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
16904 * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
16905
16906 2002-09-01 Geoffrey Keating <geoffk@redhat.com>
16907 Catherine Moore <clm@redhat.com>
16908
16909 * Makefile (c-pch.o): Update dependencies.
16910 (LIBCPP_OBJS): Add cpppch.o.
16911 (cpppch.o): New.
16912 * c-common.c (c_common_init): Don't call pch_init here.
16913 * c-common.h (c_common_read_pch): Update prototype.
16914 * c-lex.c (c_common_parse_file): Call pch_init here.
16915 * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
16916 (c_common_decode_option): Handle them.
16917 * c-pch.c: Include c-pragma.h.
16918 (save_asm_offset): Delete.
16919 (pch_init): Move contents of save_asm_offset into here, call
16920 cpp_save_state.
16921 (c_common_write_pch): Call cpp_write_pch.
16922 (c_common_valid_pch): Warn only when -Winvalid-pch. Call
16923 cpp_valid_state.
16924 (c_common_read_pch): Add NAME parameter. Call cpp_read_state.
16925 * cppfiles.c (stack_include_file): Update for change to
16926 parameters of cb.read_pch.
16927 * cpphash.h (struct cpp_reader): Add `savedstate' field.
16928 * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
16929 `restore_pch_deps' fields.
16930 (struct cpp_callbacks): Add NAME parameter to `read_pch'.
16931 (cpp_save_state): Prototype.
16932 (cpp_write_pch): Prototype.
16933 (cpp_valid_state): Prototype.
16934 (cpp_read_state): Prototype.
16935 * cpppch.c: New file.
16936 * flags.h (version_flag): Remove prototype.
16937 * mkdeps.c (deps_save): New.
16938 (deps_restore): New.
16939 * mkdeps.h (deps_save): Prototype.
16940 (deps_restore): Prototype.
16941 * toplev.c (late_init_hook): Delete.
16942 (version_flag): Make static again.
16943 (compile_file): Don't call late_init_hook.
16944 * toplev.h (late_init_hook): Delete.
16945 * doc/cppopts.texi: Document -fpch-deps.
16946 * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
16947
16948 2002-08-27 Geoffrey Keating <geoffk@redhat.com>
16949
16950 * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
16951 callers.
16952 (c_common_valid_pch): Rename from c_valid_pch, change callers.
16953 (c_common_read_pch): Rename from c_read_pch, change callers.
16954
16955 * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
16956 a space between it and its argument.
16957
16958 2002-08-24 Geoffrey Keating <geoffk@redhat.com>
16959
16960 * c-pch.c: New file.
16961 * toplev.h (late_init_hook): Declare.
16962 * toplev.c (late_init_hook): Define.
16963 (version_flag): Make globally visible.
16964 (compile_file): Call late_init_hook.
16965 (init_asm_output): Make output file seekable.
16966 * gcc.c (default_compilers): Update c-header rule.
16967 * flags.h (version_flag): Declare.
16968 * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
16969 fields.
16970 * cppfiles.c (struct include_file): Add 'pch' field.
16971 (INCLUDE_PCH_P): New.
16972 (open_file_pch): New.
16973 (stack_include_file): Handle PCH files specially.
16974 (find_include_file): Call open_file_pch instead of open_file.
16975 (_cpp_read_file): Explain why open_file is used instead of
16976 open_file_pch.
16977 * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
16978 * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
16979 * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
16980 in cpplib callbacks.
16981 * c-common.c (pch_file): Correct comment.
16982 (allow_pch): Define.
16983 (c_common_init): Call pch_init.
16984 * c-common.h (allow_pch): Declare.
16985 (pch_init): Declare.
16986 (c_valid_pch): Declare.
16987 (c_read_pch): Declare.
16988 (c_write_pch): Declare.
16989 * Makefile.in (c-pch.o): New.
16990 (C_AND_OBJC_OBJS): Add c-pch.o.
16991 * doc/invoke.texi (Precompiled Headers): Add index entries,
16992 complete truncated paragraph.
16993
16994 2002-08-17 Geoffrey Keating <geoffk@redhat.com>
16995
16996 * c-common.c: (pch_file): Define.
16997 * c-common.h (pch_file): Declare.
16998 * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
16999 (missing_arg): Require --output-pch= to have an argument.
17000 (c_common_decode_option): Handle --output-pch=.
17001 * gcc.c: Document new %V.
17002 (default_compilers): Handle compiling C header files.
17003 (do_spec_1): Implement %V.
17004 (main): Handle "gcc foo.h" without trying to run linker.
17005 * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
17006 (Overall Options): Document what the driver does with header files,
17007 document new -x option possibilities.
17008 (Invoking G++): More documentation for PCH.
17009 (Precompiled Headers): New.
17010
17011 2002-08-09 Geoffrey Keating <geoffk@redhat.com>
17012
17013 * ggc.h: Don't include varray.h. Rearrange functions to be more
17014 organized.
17015 (ggc_add_root): Delete.
17016 (ggc_mark_rtx): Delete.
17017 (ggc_mark_tree): Delete.
17018 (struct ggc_statistics): Remove contents.
17019 * ggc-common.c: Remove unneeded includes.
17020 (struct ggc_root): Delete.
17021 (roots): Delete.
17022 (ggc_add_root): Delete.
17023 (ggc_mark_roots): Don't mark `roots'. Call ggc_mark_stringpool.
17024 (ggc_print_common_statistics): Remove most of the contents.
17025 * Makefile.in (GGC_H): No longer uses varray.h.
17026 (ggc-common.o): Update dependencies.
17027 (c-parse.o): Add varray.h to dependencies.
17028 (c-common.o): Add varray.h.
17029 * stringpool.c (mark_ident): Use mangled name for tree marker routine.
17030 (mark_ident_hash): Rename to ggc_mark_stringpool.
17031 (init_stringpool): Don't use ggc_add_root.
17032 * c-parse.in: Include varray.h.
17033 * c-common.c: Include varray.h.
17034 * objc/Make-lang.in (objc-act.o): Add varray.h.
17035 * objc/objc-act.c: Include varray.h.
17036
17037 2002-07-25 Geoffrey Keating <geoffk@redhat.com>
17038
17039 * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
17040 (dw_cfi_oprnd1_desc): Likewise.
17041
17042 2002-07-17 Geoffrey Keating <geoffk@redhat.com>
17043
17044 * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
17045 move out of ifdef.
17046 (alpha_links): Use gengtype to mark; move out of ifdef.
17047 (mark_alpha_links_node): Delete.
17048 (mark_alpha_links): Delete.
17049 (alpha_need_linkage): Use GGC to allocate splay tree, struct
17050 alpha_links, strings. Don't use ggc_add_root.
17051 * ggc-common.c (ggc_splay_alloc): New.
17052 (ggc_splay_dont_free): New.
17053 * ggc.h (ggc_mark_rtx): Update for changed name mangling.
17054 (ggc_mark_tree): Likewise.
17055 (splay_tree_new_ggc): New.
17056 (ggc_splay_alloc): Declare.
17057 (ggc_splay_dont_free): Declare.
17058 * dwarf2asm.c: Include gt-dwarf2asm.h.
17059 (mark_indirect_pool_entry): Delete.
17060 (mark_indirect_pool): Delete.
17061 (indirect_pool): Use gengtype to mark.
17062 (dw2_force_const_mem): Don't use ggc_add_root.
17063 * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
17064 (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
17065 (gt-dwarf2asm.h): Depend on s-gtype.
17066
17067 2002-07-08 Geoffrey Keating <geoffk@redhat.com>
17068
17069 * tree.h (union tree_type_symtab): Mark `die' field.
17070 * Makefile.in (dwarf2out.o): Update dependencies.
17071 * dwarf2out.c: Use GGC to allocate all structures. Convert to htab_t
17072 hash tables.
17073 (dw_cfi_oprnd1_desc): New function.
17074 (dw_cfi_oprnd2_desc): New function.
17075 (indirect_string_alloc): Delete.
17076 (debug_str_do_hash): New function.
17077 (debug_str_eq): New function.
17078 (mark_limbo_die_list): Delete.
17079 (dwarf2out_init): Don't call ggc_add_root.
17080
17081 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>
17082
17083 The following changes are merged from itanium-sched-branch:
17084
17085 2003-01-08 David Edelsohn <edelsohn@gnu.org>
17086
17087 * doc/md.texi: Clarify assignment of units to automata description.
17088
17089 2003-01-08 Vladimir Makarov <vmakarov@redhat.com>
17090
17091 * genautomata.c (unit_decl): Remove members
17092 `the_same_automaton_unit' and
17093 `the_same_automaton_message_reported_p'.
17094 (process_unit_to_form_the_same_automaton_unit_lists,
17095 form_the_same_automaton_unit_lists_from_regexp,
17096 form_the_same_automaton_unit_lists, the_same_automaton_lists):
17097 Remove them.
17098 (annotation_message_reported_p): New global variable.
17099 (check_unit_distribution_in_reserv,
17100 check_regexp_units_distribution): New functions.
17101 (check_unit_distributions_to_automata): Rewrite it.
17102
17103 2003-01-04 Vladimir Makarov <vmakarov@redhat.com>
17104
17105 * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
17106 Use continue instead of break if cycle is too big.
17107
17108 2002-12-20 Vladimir Makarov <vmakarov@redhat.com>
17109
17110 * genautomata.c (check_unit_distributions_to_automata): Output at
17111 most one message for a unit.
17112 (process_unit_to_form_the_same_automaton_unit_lists): Check
17113 automaton of units instead of units themself.
17114
17115 * doc/md.texi: Describe the constraint about assigning unit to
17116 automata.
17117
17118 2002-12-20 Jan Hubicka <jH@suse.cz>
17119 Vladimir Makarov <vmakarov@redhat.com>
17120
17121 * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
17122 and `in_set_p'.
17123 (gen_cpu_unit): Initialize the new members.
17124 (process_regexp_cycles): Calculate minimal finish cycle too. Set
17125 up `min_occ_cycle_num'.
17126 (evaluate_max_reserv_cycles): Change the function call.
17127 (CLEAR_BIT): New macro.
17128 (states_union, state_shift): Use the mask.
17129 (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
17130 (form_reservs_matter): New function.
17131 (make_automaton): Call the function and use the mask.
17132 (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
17133 account.
17134
17135 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
17136
17137 * config/ia64/itanium2.md (lfetch): Change the insn reservation.
17138
17139 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
17140
17141 * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
17142 for Itanium.
17143
17144 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
17145
17146 * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
17147 default cpu.
17148
17149 2002-12-17 Vladimir Makarov <vmakarov@redhat.com>
17150 2002-10-31 Dale Johannesen <dalej@apple.com>
17151
17152 * haifa-sched.c (find_set_reg_weight): New function.
17153 (find_insn_reg_weight): Use the new function.
17154 (schedule_block): Do sorting ready queue always
17155 after insn issue.
17156
17157 2002-11-27 Vladimir Makarov <vmakarov@redhat.com>
17158
17159 * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
17160
17161 2002-11-19 Vladimir Makarov <vmakarov@redhat.com>
17162
17163 * haifa-sched.c (choice_entry): New structure.
17164 (choice_stack, cycle_issued_insns): New variables.
17165 (max_issue): Rewrite it.
17166 (choose_ready): Set up ready_try for unknown insns too.
17167 (schedule_block): Allocate and free choice_stack. Set up
17168 and modify cycle_issued_insns.
17169
17170 * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
17171 with and without filling the bundle.
17172 (bundling): Combine calls of issue_nops_and_insn.
17173
17174 2002-10-17 Vladimir Makarov <vmakarov@redhat.com>
17175
17176 * config/ia64/itanium1.md: New file.
17177
17178 * config/ia64/itanium2.md: New file.
17179
17180 * config/ia64/ia64.md: Move DFA descriptions into the new files.
17181 Remove the old pipeline description.
17182
17183 * config/ia64/ia64.c (ia64_override_options): Add aliases of
17184 itanium processor names.
17185
17186 2002-10-16 Vladimir Makarov <vmakarov@redhat.com>
17187
17188 * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
17189 (ia64_reorg): Set up queried unit codes for Itanium2 too.
17190
17191 * config/ia64/ia64.md: Add descriptions for Itanium2.
17192
17193 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
17194
17195 * config/ia64/ia64.h (processor_type): New enumeration.
17196 (ia64_tune, ia64_tune_string): New external declarations.
17197 (TARGET_OPTIONS): Add option `tune='.
17198
17199 * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
17200 variables.
17201 (ia64_override_options): Set up `ia64_tune'.
17202 (ia64_sched_reorder2): Set up `clocks' only for Itanium.
17203 (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
17204 (bundling): Add nops for MM-insns only for Itanium.
17205 (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
17206 Itanium.
17207
17208 * config/ia64/ia64.md (cpu): New attribute.
17209 (DFA description): Enable it only for Itanium.
17210
17211 2002-10-08 Vladimir Makarov <vmakarov@redhat.com>
17212 Richard Henderson <rth@redhat.com>
17213
17214 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
17215 MASK_EARLY_STOP_BITS.
17216 (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
17217 (TARGET_SWITCHES): Rename option `tune-stop-bits' to
17218 `early-stop-bits'.
17219
17220 * config/ia64/ia64.c (ia64_dfa_new_cycle,
17221 final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
17222 instead of TARGET_TUNE_STOP_BITS.
17223
17224 * doc/invoke.texi: Rename option `-mtune-stop-bits' to
17225 `-mearly-stop-bits'.
17226
17227 * config/ia64/ia64.c (automata_option "v"): Comment it.
17228
17229 2002-10-07 Vladimir Makarov <vmakarov@redhat.com>
17230
17231 * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
17232 New macros.
17233 (TARGET_SWITCHES): Add entries for the new option.
17234
17235 * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
17236 dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
17237 (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
17238 global variables.
17239 (ia64_sched_reorder2): Set up `clocks'.
17240 (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
17241 (ia64_dfa_new_cycle): Set up add_cycle. Permit sorting ready
17242 queue when TARGET_TUNE_STOP_BITS.
17243 (bundling): Insert additional nops for MM-insns.
17244 (final_emit_insn_group_barriers): Add insertion of stop bits
17245 according `stops_p'.
17246 (ia64_reorg): Initiate the new varibales.
17247
17248 * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
17249
17250 2002-10-02 Vladimir Makarov <vmakarov@redhat.com>
17251
17252 * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
17253 insns at the end of block insn scheduling.
17254
17255 2002-09-30 Vladimir Makarov <vmakarov@redhat.com>
17256
17257 * sched-deps.c (remove_dependence, group_leader): Remove it.
17258 (add_dependence): Add dependence to group leader to.
17259 (set_sched_group_p): Add dependence to the first insn of the
17260 schedule group too.
17261 (sched_analyze_insn): Make dependence to jump as anti-dependence.
17262 Change true dependence by anti-dependence when
17263 `reg_pending_barrier'.
17264
17265 * sched-rgn.c (init_ready_list, can_schedule_ready_p,
17266 add_branch_dependences): Ignore schedule groups.
17267
17268 * sched-ebb.c (init_ready_list): Ditto.
17269
17270 * (move_insn, set_priorities): Ditto.
17271
17272 * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
17273 flag is clear after reload.
17274 (adjust_cost): Change cost only for output dependencies.
17275
17276 * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
17277
17278 2002-09-26 Vladimir Makarov <vmakarov@redhat.com>
17279
17280 * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
17281
17282 * target.h (gcc_target): Add member
17283 `dependencies_evaluation_hook'.
17284
17285 * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
17286 macro.
17287 (TARGET_SCHED): Add initiatialization of the new member.
17288
17289 * sched-ebb.c: Include `target.h'.
17290 (schedule_ebb): Call `dependencies_evaluation_hook'.
17291
17292 * sched-rgn.c (schedule_region): Call
17293 `dependencies_evaluation_hook'.
17294
17295 * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
17296 New macro.
17297 (ia64_dependencies_evaluation_hook): New function.
17298
17299 * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
17300 Describe the new hook.
17301
17302 2002-09-25 Vladimir Makarov <vmakarov@redhat.com>
17303
17304 * target.h (gcc_target): Add members
17305 `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
17306
17307 * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
17308 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
17309 macros.
17310 (TARGET_SCHED): Add initiatialization of the new members.
17311
17312 * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
17313 insn scheduling too.
17314 (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
17315 initialize `ready_try'.
17316 (schedule_block): Use `dfa_new_cycle'. Sort `ready' only unless
17317 `dfa_new_cycle' says not to do it.
17318
17319 * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
17320 bundling.
17321
17322 * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
17323
17324 * config/ia64/ia64.c: Include `hashtab.h'.
17325 (ia64_first_cycle_multipass_dfa_lookahead_guard,
17326 ia64_dfa_new_cycle, final_emit_insn_group_barriers,
17327 ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
17328 initiate_bundle_states, finish_bundle_states, bundle_state_hash,
17329 bundle_state_eq_p, insert_bundle_state,
17330 initiate_bundle_state_table, finish_bundle_state_table,
17331 try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
17332 get_template, get_next_important_insn, bundling): New functions.
17333 (ia64_internal_sched_reorder): Remove it.
17334 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
17335 TARGET_SCHED_DFA_NEW_CYCLE): New macros.
17336 (ia64_safe_itanium_requires_unit0): Remove it.
17337 (group_barrier_needed_p): Place group barrier right before a real
17338 insn.
17339 (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
17340 Remove them.
17341 (bundle_name): New variable.
17342 (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
17343 _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
17344 _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
17345 pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
17346 temp_dfa_state, prev_cycle_state): New global variables.
17347 (insn_matches_slot, maybe_rotate, finish_last_head,
17348 rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
17349 cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
17350 find_best_packet, itanium_reorder, dump_current_packet,
17351 schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
17352 (sched_data, sched_ready, sched_types): Remove them.
17353 (ia64_sched_init): Initiate only `last_scheduled_insn' and call
17354 `init_insn_group_barriers'.
17355 (ia64_sched_reorder, ia64_sched_reorder2): Call
17356 ia64_dfa_sched_reorder.
17357 (ia64_variable_issue): Rewrite it.
17358 (bundle_state): New structure.
17359 (index_to_bundle_states, bundle_states_num,
17360 allocated_bundle_states_chain, free_bundle_state_chain): New
17361 global variables.
17362 (ia64_sched_finish): Add stop bits and call `bundling' after the
17363 2nd insn scheduling.
17364 (ia64_use_dfa_pipeline_interface): Return zero always.
17365 (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
17366 insn scheduling.
17367 (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
17368 `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
17369 (ia64_reorg): Add bundling insns.
17370
17371 * doc/tm.texi
17372 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
17373 TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
17374
17375 2002-09-23 Vladimir Makarov <vmakarov@redhat.com>
17376
17377 * config/ia64/ia64.md: Add Itanium1 DFA description.
17378 (itanium_class): Add `nop' and `pre_cycle'. Add
17379 define_function_unit for `nop'.
17380 (nop): Change attribute `itanium_class'.
17381 (pre_cycle): New define_insn.
17382
17383 * config/ia64/ia64-protos.h (bundling_p): New external variable.
17384 (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
17385 ia64_produce_address_p): New function prototypes.
17386
17387 * config/ia64/ia64.c (bundling_p): New global variable.
17388 (ia64_use_dfa_pipeline_interface,
17389 ia64_first_cycle_multipass_dfa_lookahead,
17390 ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
17391 functions.
17392 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
17393 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
17394 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
17395 TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
17396 (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
17397 ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
17398 (dfa_pre_cycle_insn): New variable.
17399
17400 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
17401
17402 * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
17403 constructions.
17404
17405 * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
17406 New function prototypes.
17407
17408 * genattrtab.c (main): Process the new constructions.
17409
17410 * genautomata.c (gen_presence_absence_set,
17411 process_presence_absence_names, process_presence_absence_patterns,
17412 add_presence_absence, check_absence_pattern_sets): Add parameter
17413 `final_p'.
17414 (unit_decl): Add new members `final_presence_list' and
17415 `final_absence_list'.
17416 (unit_pattern_rel_decl): Add new member `final_p'.
17417 (gen_final_presence_set, gen_final_absence_set): New functions.
17418 (process_decls): Use member `final_p'.
17419 (temp_reserv): New global variable.
17420 (reserv_sets_are_intersected): Add processing `final_presence_set'
17421 and `final_absence_set'.
17422 (initiate_states): Allocate `temp_reserv'.
17423 (unit_final_presence_set_table, unit_final_absence_set_table): New
17424 gloabal variables.
17425 (initiate_presence_absence_pattern_sets): Initiate them.
17426 (NDFA_to_DFA): Fix typo.
17427 (output_description): Output `final_presence_set' and
17428 `final_absence_set'.
17429
17430 * doc/md.texi (final_presence_set, final_absence_set): Describe
17431 them.
17432
17433 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
17434
17435 * genautomata.c (transform_3): Process a missing case (nothing on
17436 unit place).
17437
17438 2002-09-20 Vladimir Makarov <vmakarov@redhat.com>
17439
17440 * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
17441 comments about queried units and the minimization.
17442
17443 * doc/md.texi: Ditto.
17444
17445 * genautomata.c (create_composed_state): Return nonzero if the new
17446 state has been created.
17447 (first_cycle_unit_presence): New function.
17448 (state_is_differed): Add new parameter. Use the new function.
17449 Take queried units into account.
17450 (partition_equiv_class): Pass additional parameter to
17451 `state_is_differed'.
17452 (merge_states): Process composed states too.
17453 (build_automaton, create_automata, output_min_issue_delay_table,
17454 output_tables, output_statistics): Output more information.
17455 (output_reserved_units_table): Use function
17456 `first_cycle_unit_presence'.
17457 (output_tables): Output table of queried units even if the
17458 minimization is switched on.
17459 (write_automata): Output code for querying units even if the
17460 minimization is switched on.
17461
17462 2002-09-19 Vladimir Makarov <vmakarov@redhat.com>
17463
17464 * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
17465 syntax of the constructions.
17466
17467 * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
17468 extended syntax of the constructions.
17469
17470 * genautomata.c (unit_rel_decl): Rename it to
17471 `unit_pattern_rel_decl'.
17472 (pattern_set_el, pattern_reserv): New structures.
17473 (pattern_set_el_t, pattern_reserv_t): New types.
17474 (gen_presence_absence_set): New function.
17475 (process_presence_absence): Remove it.
17476 (process_presence_absence_names,
17477 process_presence_absence_patterns): New functions.
17478 (get_presence_absence_set): Remove it.
17479 (initiate_presence_absence_sets): Rename it on
17480 `initiate_presence_absence_pattern_sets'. Use new function
17481 `form_reserv_sets_list'.
17482 (form_reserv_sets_list, check_presence_pattern_sets,
17483 check_absence_pattern_sets, output_pattern_set_el_list): New
17484 functions.
17485 (unit_decl): Change types of members `presence_list' and
17486 `absence_list'.
17487 (unit_rel_decl): Rename member `names_num' to `all_names_num'.
17488 (decl): Change types of members `excl', `presence', and `absence'.
17489 (get_str_vect): Rename `par_flag' to `paren_p'. Add null element
17490 at the end of the vector.
17491 (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
17492 gen_automaton, gen_regexp_repeat, gen_regexp_allof,
17493 gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
17494 (gen_presence_set, gen_absence_set): Use new function
17495 `gen_presence_absence_set'.
17496 (add_presence_absence): Process `pattern_list' instead of
17497 `source_list'.
17498 (process_decls): USe new functions
17499 `process_presence_absence_names' and
17500 `process_presence_absence_patterns'.
17501 (reserv_sets_are_intersected): Use new function
17502 `check_presence_pattern_sets'.
17503 (presence_set, absence_set): Remove them.
17504 (unit_presence_set_table, unit_absence_set_table): New global
17505 variables.
17506 (output_description): Use new function
17507 `output_pattern_set_el_list'.
17508 (generate): Use `initiate_presence_absence_pattern_sets'.
17509
17510 2002-09-18 Vladimir Makarov <vmakarov@redhat.com>
17511
17512 * genattr.c (main): Add output of prototype of new interface
17513 function `dfa_clean_insn_cache'.
17514
17515 * genautomata.c (output_dfa_clean_insn_cache_func): New function.
17516 (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
17517 (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
17518 the generated code.
17519 (write_automata): Call the new function.
17520
17521 2003-01-09 Jan Hubicka <jh@suse.cz>
17522
17523 * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
17524 correctly.
17525
17526 2003-01-09 Paolo Carlini <pcarlini@unitus.it>
17527
17528 * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
17529
17530 2003-01-09 J"orn Rennecke <joern.rennecke@superh.com>
17531
17532 * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
17533 (EXTRA_ADDRESS_CONSTRAINT): Likewise.
17534 (CONSTRAINT_LEN): Provide default definition.
17535 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
17536 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
17537 (EXTRA_CONSTRAINT_STR): Likewise.
17538 (REG_CLASS_FROM_CONSTRAINT): Define.
17539 * genoutput.c (check_constraint_len, constraint_len): New functions.
17540 (validate_insn_alternatives): Check CONSTRAINT_LEN for each
17541 constraint / modifier.
17542 (gen_insn): Call check_constraint_len.
17543 * local-alloc.c (block_alloc): Update to use new macros / pass
17544 second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
17545 * ra-build.c (handle_asm_insn): Likewise.
17546 * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
17547 (constrain_operands, peep2_find_free_register): Likewise.
17548 * regclass.c (record_operand_costs, record_reg_classes): Likewise.
17549 * regmove.c (find_matches): Likewise.
17550 * reload.c (push_secondary_reload, find_reloads): Likewise.
17551 (alternative_allows_memconst): Likewise.
17552 * reload1.c (maybe_fix_stack_asms): Likewise.
17553 (reload_cse_simplify_operands): Likewise.
17554 * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
17555 * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
17556 (CONST_OK_FOR_CONSTRAINT_P): Likewise.
17557 (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
17558 (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
17559 * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
17560
17561 * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
17562
17563 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
17564
17565 * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
17566 length.
17567 (*extzv_1_r_h8300hs): Likewise.
17568 (*extzv_1_r_inv_h8300): Likewise.
17569 (*extzv_1_r_inv_h8300hs): Likewise.
17570
17571 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
17572
17573 * config/h8300/h8300.h (PREDICATE_CODES): New.
17574
17575 2003-01-09 Kazu Hirata <kazu@cs.umass.edu>
17576
17577 * config/h8300/h8300.md (*addsi3_upper): New.
17578 (*iorsi3_shift): Likewise.
17579 (two splitters): Likewise.
17580 (*addsi3_shift): Likewise.
17581 (two splitters): Likewise.
17582
17583 2003-01-09 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
17584
17585 * Makefile.in (optabs.o): Add dependency on basic-block.h.
17586 * basic-block.h (control_flow_insn_p): Fuction was exported.
17587 * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
17588 * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
17589 notes only when the region is contained in a single basic block.
17590
17591 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
17592
17593 PR inline-asm/8832
17594 * tree.h (expand_asm): New prototype.
17595 * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
17596 to do so.
17597 * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
17598 down to expand_asm.
17599 * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
17600 * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
17601 (volatile_refs_p) [ASM_INPUT]: Likewise.
17602 (side_effects_p) [ASM_INPUT]: Likewise.
17603
17604 2003-01-09 Jan Hubicka <jh@suse.cz>
17605
17606 * i386.md (*mul*): FIx constraints; remove confused comment; fix
17607 athlon_decode attributes
17608 (imul/k8 optimization peep2s): New.
17609
17610 * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
17611 * i386.md (type attribute): Add ssecomi.
17612 (unit, memory, prefix attributes): Handle ssecomi.
17613 (cvt?2? patterns): Fix athlon_decode attribute
17614 (comi patterns): Set attribute to ssecomi.
17615
17616 PR target/8343
17617 * m68k.md (umulsidi, mulsidi expanders): Use register operand.
17618
17619 2003-01-09 Richard Sandiford <rsandifo@redhat.com>
17620
17621 * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
17622 that match register_operands.
17623 * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
17624 register_operand the default case.
17625
17626 2003-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
17627
17628 PR c/8032
17629 * c-typeck.c (process_init_element) [RECORD_TYPE]: For
17630 an empty element, do not advance the pointer to unfilled
17631 fields if there are pending initializers.
17632
17633 2003-01-09 Christian Cornelssen <ccorn@cs.tu-berlin.de>
17634
17635 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
17636 (install-gcc-tooldir, install-cpp, installdirs,
17637 install-common, install-driver, install-info, install-man,
17638 install-headers, install-include-dir, install-headers-tar,
17639 install-headers-cpio, install-headers-cp, install-mkheaders,
17640 install-collect2, uninstall): Prepend $(DESTDIR) to
17641 destination paths in all (un)installation commands.
17642 (install-driver): Rewrite $(LN) commands to support DESTDIR
17643 with "ln" as well as with "ln -s".
17644 (installdirs): Simply use mkinstalldirs.
17645 (install-libgcc, install-multilib): Also pass DESTDIR.
17646 * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
17647 installation destination variable ldir.
17648 * config/alpha/t-osf4, config/arm/t-netbsd,
17649 config/ia64/t-hpux, config/mips/t-iris5-6,
17650 config/pa/t-hpux-shlib, config/rs6000/t-aix43,
17651 config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
17652 config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
17653 in the definition of SHLIB_INSTALL.
17654 * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
17655 $(libsubdir) in the installation commands.
17656
17657 2003-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
17658
17659 * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
17660 non-optimizing compile.
17661 (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
17662 compile.
17663
17664 2003-01-08 Douglas B Rupp <rupp@gnat.com>
17665
17666 * config/i386/i386.c (ix86_attribute_table): Add new attributes
17667 ms_struct and gcc_struct.
17668 (ix86_handle_struct_attribute): New function.
17669 (ix86_ms_bitfield_layout_p): Update to take new attributes
17670 into account.
17671 * doc/extend.texi: Document new attributes.
17672 * testsuite/gcc.dg/bf-ms-attrib.c: New test.
17673
17674 2003-01-08 Danny Smith <dannysmith@users.sourceforge.net>
17675
17676 PR optimization/8750
17677 * config/i386/i386.c (ix86_expand_prologue): Don't allow
17678 scheduling pass to move insns across __alloca call.
17679
17680 2003-01-08 Dale Johannesen <dalej@apple.com>
17681
17682 * config/rs6000/rs6000.md: Replace *store_multiple_string
17683 with *stmsi[3-8].
17684
17685 2003-01-08 Jeff Sturm <jsturm@one-point.com>
17686
17687 PR target/9210
17688 * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
17689 Set SYMBOL_REF_FLAG on local data sym_ref.
17690
17691 2003-01-08 Dale Johannesen <dalej@apple.com>
17692
17693 * function.c (assign_parms): Don't set pretend_args_size if
17694 REG_PARM_STACK_SPACE.
17695 config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
17696 pretend_args_size.
17697
17698 2003-01-08 Nathanael Nerode <neroden@gcc.gnu.org>
17699
17700 * gcc.hlp: Delete.
17701
17702 2003-01-09 Jan Hubicka <jh@suse.cz>
17703
17704 * i386.c (ix86_expand_int_addcc): Fix thinko.
17705
17706 2003-01-08 David Edelsohn <edelsohn@gnu.org>
17707
17708 * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
17709 * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
17710 as hook_bool_tree_hwi_hwi_tree_true.
17711 (rs6000_emit_allocate_stack): Use TARGET_32BIT.
17712 (rs6000_emit_epilogue): Same.
17713 (rs6000_output_mi_thunk): Re-implement as RTL.
17714 * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
17715 xcoffout_declare_function if any debugging enabled.
17716
17717 2003-01-08 Chris Demetriou <cgd@broadcom.com>
17718
17719 * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
17720 targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
17721 * config/mips/mips.h (enum processor_type): Rename
17722 PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
17723 PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
17724 Add PROCESSOR_M4K.
17725 (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
17726 (ISA_MIPS32R2): New define.
17727 (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
17728 (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
17729 (ISA_HAS_PREFETCH): Add support for MIPS32R2.
17730 (MIPS_ISA_DEFAULT): Likewise. Also, fix indentation.
17731 (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2. Add new
17732 predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
17733 (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
17734 compiling MIPS16 code.
17735 (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
17736 comment.
17737 (ISA_HAS_SEB_SEH): New define.
17738 (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
17739 * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
17740 processor_type value renaming. Add support for MIPS32R2.
17741 Clean up comments, and move "sb1" entry with other MIPS64 CPU
17742 entries.
17743 (override_options): Reimplement -mipsN option handling so that
17744 it will work correctly for -mips32r2. Avoid branch-likely
17745 instructions on MIPS32R2.
17746 * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
17747 (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
17748 (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
17749 (extendhisi2_hw, extendqisi2_hw): New.
17750 * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
17751 for MIPS32R2. Add new predefine __mips_isa_rev for MIPS32,
17752 MIPS32R2, and MIPS64.
17753 (LINK_SPEC): Pass -mips32r2 to linker.
17754 * config/mips/t-isa3264: Built -mips32r2 multilibs.
17755 * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
17756 for mips32r2 in the -march description. Alphabetically sort
17757 CPU names in the -march description. Add long-missed -mips32
17758 and -mips64 to MIPS option summary.
17759
17760 * config.gcc: Update copyright years to include 2003.
17761 * config/mips/mips.c: Likewise.
17762 * config/mips/mips.h: Likewise.
17763 * config/mips/mips.md: Likewise.
17764 * config/mips/netbsd.h: Likewise.
17765 * doc/invoke.texi: Likewise.
17766
17767 2003-01-08 Andreas Schwab <schwab@suse.de>
17768
17769 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
17770 variable.
17771 * configure: Regenerated.
17772
17773 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
17774
17775 * config/h8300/h8300.c (output_logical_op): Replace byte/word
17776 extraction of det with b0, b1, w0, w2, etc.
17777 (compute_logical_op_length): Likewise.
17778 (compute_logical_op_cc): Likewise.
17779
17780 2003-01-08 Kazu Hirata <kazu@cs.umass.edu>
17781
17782 * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
17783 HIGH on all variants.
17784
17785 2003-01-08 Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
17786
17787 * Makefile.in (PARTITION_H): New.
17788 (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
17789 * basic-block.h: Include hard-reg-set.h.
17790
17791 2003-01-08 Richard Earnshaw <rearnsha@arm.com>
17792
17793 * arm.h (ENABLE_XF_PATTERNS): Delete.
17794 * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
17795 (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
17796 (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
17797 (cmpxf_trap): Delete.
17798 (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
17799
17800 2003-01-08 Jan Hubicka <jh@suse.cz>
17801
17802 * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
17803 (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
17804 (add??cc): New expanders.
17805 * i386.c (expand_int_addcc): New function.
17806 * i386-protos.h (expand_int_addcc): Declare.
17807
17808 * alias.c (memory_modified_1): New static function.
17809 (memory_modified): New static varaible.
17810 (memory_modified_in_insn_p): New global function.
17811 * rtl.h (memory_modified_in_insn_p): Declare.
17812 * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
17813 references.
17814
17815 * expr.h (emit_conditional_add): Declare.
17816
17817 2003-01-07 Janis Johnson <janis187@us.ibm.com>
17818
17819 PR other/8947
17820 * doc/invoke.texi (-malign-double): Explain that the option breaks
17821 binary compatibility.
17822
17823 2003-01-08 Andreas Schwab <schwab@suse.de>
17824
17825 * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
17826 should come from the generic *-*-linux* entry.
17827
17828 2003-01-07 Jan Hubicka <jh@suse.cz>
17829
17830 * cselib.c (cselib_current_insn_in_libcall): New static variable.
17831 (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
17832 we are inside libcall.
17833 * cselib.h (elt_loc_list): Add in_libcall.
17834 * gcse.c (do_local_cprop): Do not copy propagate using insns
17835 in libcalls.
17836
17837 2003-01-07 David Edelsohn <edelsohn@gnu.org>
17838
17839 * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
17840 not normally affect to issue rate.
17841
17842 2003-01-07 Jan Hubicka <jh@suse.cz>
17843
17844 * genopinit.c (optabs): Add addc_optab.
17845 * ifcvt.c (noce_try_store_flag): Rename to ...
17846 (noce_try_addcc): ... this one; handle generic conditional increment.
17847 (noce_process_if_block): Update noce_try_addcc call.
17848 * optabs.c (emit_conditional_add): New.
17849 (init_obtabs): Initialize addc_optab.
17850 * optabs.h (optab_index): Add OTI_addcc.
17851 (addcc_optab): New macro.
17852 * md.texi: Document addMcc
17853
17854 PR target/8322
17855 * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
17856 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
17857 * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
17858
17859 * reload1.c (delete_output_reload): Avoid repeated attempts
17860 to delete insn.
17861
17862 2003-01-07 Andreas Schwab <schwab@suse.de>
17863
17864 * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
17865 Move --enable-initfini-array check ...
17866 * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here. Define
17867 HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
17868 Don't AC_SUBST gcc_cv_initfinit_array. Use AC_TRY_RUN.
17869 * configure: Rebuild.
17870
17871 2003-01-07 Richard Henderson <rth@redhat.com>
17872
17873 * alias.c (find_base_value): Only use new_reg_base_value shortcut
17874 if the register is set once.
17875
17876 2003-01-07 Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
17877
17878 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
17879 __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
17880 * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
17881
17882 2003-01-07 Benjamin Kosnik <bkoz@redhat.com>
17883 Sunil Davasam <sunil.k.davasam@intel.com>
17884
17885 PR libstdc++/9076
17886 * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
17887 DW_CFA_same_value, read next and ignore.
17888
17889 2003-01-07 Richard Henderson <rth@redhat.com>
17890
17891 * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
17892
17893 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
17894
17895 * cfg.c: Include alloc-pool.h
17896 (edge_pool): New pool.
17897 (bb_pool): New pool.
17898 (first_deleted_edge): Remove.
17899 (first_deleted_block): Remove.
17900 (init_flow): Alloc/free the pools.
17901 (free_edge): Use pools.
17902 (alloc_block): Ditto.
17903 (expunge_block): Ditto.
17904 (cached_make_edge): Ditto.
17905
17906 * Makefile.in (cfg.o): Add alloc-pool.h dependency.
17907
17908 2003-01-07 Daniel Berlin <dberlin@dberlin.org>
17909
17910 * et-forest.c: Include alloc-pool.h.
17911 (struct et_forest): Add node_pool and occur_pool.
17912 (et_forest_create): Create the new pools.
17913 (et_forest_delete): Delete them.
17914 (et_forest_add_node): Allocate and free using pools.
17915 (et_forest_add_edge): Ditto.
17916 (et_forest_remove_node): Ditto.
17917 (et_forest_remove_edge): Ditto.
17918
17919 * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
17920
17921 2003-01-07 Kazu Hirata <kazu@cs.umass.edu>
17922
17923 * config/h8300/h8300.c (output_logical_op): Simplify and
17924 optimize the handling of SImode.
17925 * config/h8300/h8300.c (compute_logical_op_length): Update
17926 accordingly.
17927 * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
17928
17929 2003-01-07 Richard Sandiford <rsandifo@redhat.com>
17930
17931 * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
17932 big-endian correction to indirect arguments too.
17933
17934 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
17935
17936 Segher Boessenkool <segher@koffie.nl>
17937
17938 * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
17939 (alt_reg_names): Ditto, fix formatting.
17940 * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
17941
17942 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17943
17944 * config/h8300/h8300.c (final_prescan_insn): Constify uid.
17945 (output_logical_op): Constify intval and det.
17946 (compute_logical_length): Likewise.
17947 (compute_logical_cc): Likewise.
17948 (output_a_shift): Constify mask.
17949 (h8300_encode_label): Constify len.
17950
17951 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17952
17953 * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
17954 (h8300_expand_epilogue): Likewise.
17955
17956 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
17957
17958 Segher Boessenkool <segher@koffie.nl>
17959
17960 * config/rs6000/altivec.md: Remove spaces from assembler
17961 instruction argument lists.
17962
17963 2003-01-07 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
17964
17965 * config/c4x/c4x.c (c4x_naked_function_p): Rename from
17966 c4x_assembler_function_p.
17967 (c4x_null_epilogue_p): Complement return value, all uses updated.
17968 (c4x_insert_attributes): Add naked.
17969 * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
17970 * doc/extend.texi: Update C4x function attributes.
17971
17972 2003-01-06 Richard Henderson <rth@redhat.com>
17973
17974 * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
17975 properly when changing "local-ness".
17976 * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
17977
17978 2003-01-06 Dale Johannesen <dalej@apple.com>
17979
17980 * config/darwin-protos.h: Add prototypes for new section functions.
17981
17982 2003-01-06 Chris Demetriou <cgd@broadcom.com>
17983
17984 * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
17985 to EABI.
17986
17987 2003-01-06 Zack Weinberg <zack@codesourcery.com>
17988
17989 * hwint.h: If the current compiler has no 64-bit type at all,
17990 make HOST_WIDEST_INT 32 bits.
17991
17992 2003-01-06 Eric Christopher <echristo@redhat.com>
17993
17994 * config/mips/mips.md (movdf_internal2): Fix constraints.
17995
17996 2003-01-06 Kazu Hirata <kazu@cs.umass.edu>
17997
17998 * config/h8300/h8300.md (*twoshifts_l16_r1): New.
17999
18000 2003-01-06 Richard Sandiford <rsandifo@redhat.com>
18001
18002 * config/mips/mips.md (leadi): Use dla rather than la.
18003
18004 2003-01-06 Svein E. Seldal <Svein.Seldal@solidas.com>
18005
18006 * config/c4x/c4x.h: Updated specs for new gas format. Fixed bug
18007 in C33_FLAG. Added proper C33 support in ASM_FILE_START macro.
18008
18009 2003-01-06 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
18010
18011 * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
18012 redefinition.
18013
18014 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
18015
18016 * config/h8300/h8300.md (*extzv_8_23): New.
18017
18018 2003-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
18019
18020 * pa64-hpux.h (JCR_SECTION_NAME): Define.
18021 (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
18022 USE_EH_FRAME_REGISTRY when defining.
18023
18024 2003-01-05 Kazu Hirata <kazu@cs.umass.edu>
18025
18026 * config/h8300/h8300.c (output_a_shift): Do not output a
18027 variable shift.
18028 * config/h8300/h8300.md (two splitters): New.
18029
18030 2003-01-05 Richard Sandiford <rsandifo@redhat.com>
18031
18032 * config/mips/mips.md: Disable the movstrsi define_split.
18033
18034 2003-01-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18035
18036 * alloc-pool.c: Don't include "libiberty.h".
18037 * config/sparc/gmon-sol2.c: Include <fcntl.h>.
18038 * convert.c (convert_to_real): Hide unused variable.
18039
18040 2003-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
18041
18042 * Makefile.in (gtyp-gen.h): Const-ify.
18043 * gcov-dump.c (tag_table): Likewise.
18044
18045 2003-01-04 Bruce Korb <bkorb@gnu.org>
18046
18047 * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
18048 of *both* the file name and the fix name.
18049
18050 2003-01-04 John David Anglin <dave.anglin@nrc.ca>
18051
18052 * config.gcc (hppa*64*-*-hpux11*): Define extra_parts. Don't use
18053 collect2.
18054 * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
18055 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
18056 * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
18057 GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
18058 GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
18059 (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
18060 elfos.h.
18061 (EH_FRAME_IN_DATA_SECTION): Delete define.
18062 (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
18063 (STARTFILE_SPEC): Use crtbegin.o.
18064 (ENDFILE_SPEC): Use crtend.o.
18065 (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
18066 SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
18067 PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
18068 DTOR_LIST_BEGIN): Define.
18069 * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
18070 (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
18071 * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
18072
18073 2002-12-31 Larin Hennessy <larin@science.oregonstate.edu>
18074
18075 * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
18076 * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
18077 m88k-*-sysv3*, Sony NewsOS. Remove references to i860.
18078 Cleanup handling of replacement text.
18079 * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
18080
18081 2003-01-04 Bruce Korb <bkorb@gnu.org>
18082
18083 * fixinc/tests/base/math.h: removed obsolete results
18084 * fixinc/tests/base/stdlib.h: ditto
18085 * fixinc/tests/base/sys/param.h: ditto
18086 * fixinc/tests/base/sys/stat.h: ditto
18087 * fixinc/tests/base/time.h: ditto
18088 * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
18089 * fixinc/tests/base/sys/byteorder.h: ditto
18090 * fixinc/inclhack.def: Remove superfluous backslashes
18091
18092 2003-01-04 Kazu Hirata <kazu@cs.umass.edu>
18093
18094 * config/h8300/h8300-protos.h: Add prototypes for
18095 the new functions defined below.
18096 * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
18097 define.
18098 (dosize): Emit RTL instead of assembly code.
18099 (push): Likewise.
18100 (pop): Likewise.
18101 (h8300_output_function_prologue): Remove.
18102 (h8300_expand_prologue): New.
18103 (h8300_expand_epilogue): New.
18104 (h8300_output_function_epilogue): Do only the reset of
18105 pragma_saveall.
18106 * config/h8300/h8300.md (push_h8300): New.
18107 (push_h8300hs): Likewise.
18108 (pop_h8300): Likewise.
18109 (pop_h8300hs): Likewise.
18110 (*stm_h8300s_2): Change the name to stm_h8300s_2.
18111 (*stm_h8300s_3): Change the name to stm_h8300s_3.
18112 (*stm_h8300s_4): Change the name to stm_h8300s_4.
18113 (*ldm_h8300s_2): New.
18114 (*ldm_h8300s_3): Likewise.
18115 (*ldm_h8300s_4): Likewise.
18116 (return): Likewise.
18117 (*return_1): Likewise.
18118 (prologue): Likewise.
18119 (epilogue): Likewise.
18120 (monitor_prologue): Likewise.
18121
18122 2003-01-03 Dale Johannesen <dalej@apple.com>
18123
18124 * config/darwin.h: (EXTRA_SECTIONS): Add machopic_symbol_stub1,
18125 machopic_picsymbol_stub1.
18126 (EXTRA_SECTION_FUNCTIONS): Ditto.
18127 * rs6000/rs6000.c: Update copyright.
18128 (machopic_output_stub): Use them. Remove an insn from stub code.
18129
18130 2003-01-02 Jason Merrill <jason@redhat.com>
18131
18132 * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
18133
18134 * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
18135 static/external decls.
18136
18137 * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
18138 outermost scope.
18139 * c-decl.c (c_make_fname_decl): Push the decls there, too.
18140
18141 2003-01-03 Kazu Hirata <kazu@cs.umass.edu>
18142
18143 * config/h8300/h8300-protos.h: Add a prototype for
18144 h8300_current_function_interrupt_function_p.
18145 * config/h8300/h8300.c (interrupt_handler): Remove.
18146 (os_task): Likewise.
18147 (monitor): Likewise.
18148 (pragma_interrupt): New.
18149 (WORD_REG_USED): Use
18150 h8300_current_function_interrupt_function_p.
18151 (dosize): Likewise.
18152 (h8300_output_function_prologue): Likewise.
18153 Do not set interrupt_handler, os_task, monitor.
18154 (h8300_output_function_prologue): Use
18155 h8300_current_function_interrupt_function_p.
18156 Do not set interrupt_handler, os_task, monitor.
18157 (h8300_current_function_interrupt_function_p): New.
18158 (h8300_pr_interrupt): Set pragma_interrupt.
18159 (h8300_insert_attributes): Reset pragma_interrupt.
18160
18161 2003-01-03 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
18162
18163 * doc/install.texi (Configuration): Fix markup for reference to
18164 gcc/config.gcc.
18165
18166 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
18167
18168 * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
18169 (*iorhi3_two_qi): Likewise.
18170 (*iorsi3_zexthi): Likewise.
18171 (*xorhi3_zextqi): Likewise.
18172 (*xorsi3_zexthi): Likewise.
18173 (*xorsi3_zextqi): Likewise.
18174
18175 2003-01-02 Kazu Hirata <kazu@cs.umass.edu>
18176
18177 * config/h8300/h8300.c (stack_pointer_operand): New.
18178 (const_int_gt_2_operand): Likewise.
18179 (const_int_ge_8_operand): Likewise.
18180 * config/h8300/h8300.md (a splitter): Likewise.
18181 (a peephole2): Likewise.
18182 * config/h8300/h8300-protos.h: Add prototypes for the new
18183 functions above.
18184
18185 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
18186
18187 * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
18188 objc/objc-act.h: Fix copyright years.
18189
18190 2003-01-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
18191
18192 * doc/passes.texi: Fix documentation for -fssa-ccp
18193
18194 2003-01-02 Neil Booth <neil@daikokuya.co.uk>
18195
18196 * gccbug.in: Update for new categories.
18197
18198 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
18199
18200 * config/h8300/h8300.md: Reorder some patterns.
18201
18202 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
18203
18204 * config/h8300/h8300.c (output_logical_op): Fix a warning.
18205
18206 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
18207
18208 * config/darwin-protos.h, config/c4x/c4x-protos.h,
18209 config/cris/cris-protos.h, config/i370/i370-protos.h,
18210 config/i960/i960-protos.h, config/ia64/ia64-protos.h,
18211 config/v850/v850-protos.h: Use struct, and don't conditionally
18212 compile on GCC_C_PRAGMA_H.
18213
18214 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
18215
18216 * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
18217 * config/h8300/h8300-protos.h: Likewise.
18218 * config/sh/sh-protos.h: Likewise.
18219
18220 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
18221
18222 * config/arm/arm-protos.h: Use struct cpp_reader instead of
18223 cpp_reader.
18224 * config/h8300/h8300-protos.h: Likewise.
18225 * config/sh/sh-protos.h: Likewise.
18226
18227 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
18228
18229 * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
18230 arm_pr_long_calls_off): Use struct.
18231 * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
18232 : Similarly.
18233 Don't include cpplib.h.
18234 * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
18235 sh_pr_nosave_low_regs): Similarly.
18236
18237 2003-01-01 Kazu Hirata <kazu@cs.umass.edu>
18238
18239 * config/h8300/h8300.c: Include cpplib.h.
18240
18241 2003-01-01 Steven Bosscher <s.bosscher@student.tudelft.nl>
18242
18243 * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
18244 objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
18245 objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
18246 "GCC" in the copyright header.
18247
18248 2003-01-01 Neil Booth <neil@daikokuya.co.uk>
18249
18250 * c-pragma.c (c_register_pragma): New.
18251 (init_pragma): Use it.
18252 * c-pragma.h (cpp_register_pragma): Don't declare.
18253 (c_register_pragma): New.
18254 * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
18255 * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
18256 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
18257 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
18258 * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
18259 * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
18260 * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
18261 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
18262 * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
18263 * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
18264 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
18265 * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
18266
18267 See ChangeLog.8 for earlier changes.