]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
ChangeLog.0, [...]: Fix spelling errors.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
2
3 * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
4 FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
5 cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
6 dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
7 explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
8 sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
9
10 * predict.c, reg-stack.c: Fix spelling errors.
11
12 2001-10-09 Andrew Haley <aph@redhat.com>
13
14 * calls.c (check_sibcall_argument_overlap): Use slot_offset for
15 start of stack slot.
16
17 2001-11-22 Graham Stott <grahams@redhat.com>
18
19 * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
20 replacement jump after original jump.
21
22 (verify_flow_info): Remove redundent initialisation.
23 Handle reaching end of insn list before finding a BARRIER.
24 Only issue one missing barrier diagnostic.
25
26 2001-11-22 Graham Stott <grahams@redhat.com>
27
28 * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
29
30 Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
31
32 * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
33 insn actually does.
34
35 2001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
36
37 * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
38 Fix typo -mm32rx=> -m32rx.
39
40 * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
41 targets.
42
43 * config.gcc (xscale-coff): Add necessary header files to
44 tm_file variable.
45
46 2001-11-20 Zack Weinberg <zack@codesourcery.com>
47
48 * rs6000.c (output_cbranch): Use $, not %$, in output template.
49
50 2001-11-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
51
52 * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
53 (lang_type_quals): Declare.
54 (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
55 retrieve language-specific qualifiers for a type node, instead of
56 C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
57 lang_dump_tree.
58 * tree-dump.h: Rename from c-dump.h.
59 * c-common.h (C_TYPE_QUALS): Removed.
60 Move declarations for tree-dump.c interface to...
61 * tree.h: ... here. Remove lang_dump_tree.
62 * langhooks.h (struct lang_hooks_for_tree_dump): New.
63 (struct lang_hooks): Add tree_dump hooks.
64 * langhooks.c (lhd_tree_dump_dump_tree): New function.
65 (lhd_tree_dump_type_quals): New function.
66 * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
67 Declare.
68 (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
69 * Makefile.in: Move tree-dump.o to language-independent back-end.
70
71 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
72
73 * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
74 * alpha.h (DBX_REGISTER_NUMBER): Likewise.
75 * arc.h (DBX_REGISTER_NUMBER): Likewise.
76 * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
77 * avr.h (DBX_REGISTER_NUMBER): Likewise.
78 * c4x.h (DBX_REGISTER_NUMBER): Likewise.
79 * clipper.h (DBX_REGISTER_NUMBER): Likewise.
80 * convex.h (DBX_REGISTER_NUMBER): Likewise.
81 * cris.h (DBX_REGISTER_NUMBER): Likewise.
82 * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
83 * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
84 * fr30.h (DBX_REGISTER_NUMBER): Likewise.
85 * h8300.h (DBX_REGISTER_NUMBER): Likewise.
86 * i370.h (DBX_REGISTER_NUMBER): Likewise.
87 * i860.h (DBX_REGISTER_NUMBER): Likewise.
88 * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
89 * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
90 * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
91 * m32r.h (DBX_REGISTER_NUMBER): Likewise.
92 * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
93 * m88k.h (DBX_REGISTER_NUMBER): Likewise.
94 * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
95 * mcore.h (DBX_REGISTER_NUMBER): Likewise.
96 * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
97 * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
98 * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
99 * romp.h (DBX_REGISTER_NUMBER): Likewise.
100 * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
101 * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
102 * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
103 * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
104 * v850.h (DBX_REGISTER_NUMBER): Likewise.
105 * vax.h (DBX_REGISTER_NUMBER): Likewise.
106 * we32k.h (DBX_REGISTER_NUMBER): Likewise.
107
108 * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
109 * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
110
111 2001-11-21 H.J. Lu <hjl@gnu.org>
112
113 * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
114
115 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
116
117 * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
118 emit_cmp_and_jump_insns.
119
120 * stormy16.c (xstormy16_expand_builtin_va_arg,
121 xstormy16_expand_casesi): Likewise.
122
123 Wed Nov 21 17:37:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
124
125 * function.c (keep_stack_depressed): Major rework.
126 (handle_epilogue_set, emit_equiv_load): New functions.
127 (thread_prologue_and_epilogue_insns): keep_stack_depressed now
128 has return value.
129 * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
130 * rtl.h (SET_IS_RETURN_P): New macro.
131
132 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
133 and also support TREE_ADDRESSABLE.
134 * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
135
136 2001-11-21 David Edelsohn <edelsohn@gnu.org>
137
138 * rs6000.md (cmptf_internal1): Replace %$ with $.
139
140 Wed Nov 21 16:44:01 2001 Douglas B. Rupp <rupp@gnat.com>
141
142 * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
143 (read_include_file): Use STAT_SIZE_TOO_BIG.
144
145 * cppinit.c (INO_T_COPY): Define.
146 (INO_T_EQ): Uppercase parameters.
147 (append_include_chain): Use INO_T_COPY.
148
149 2001-11-21 Richard Sandiford <rsandifo@redhat.com>
150
151 * cfg.c: Fix typos and formatting in the introductory comment.
152
153 Wed Nov 21 12:38:37 CET 2001 Jan Hubicka
154
155 * profile.c (compute_branch_probabilites): Compute probabilities
156 for entry/exit edges; estimate probabilities for zero counts.
157
158 2001-11-21 Jakub Jelinek <jakub@redhat.com>
159
160 * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
161 to emit_library_call.
162 * function.c (expand_main_function, expand_function_start,
163 expand_function_end): Likewise.
164 * profile.c (output_func_start_profiler): Likewise.
165 * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
166 second argument to emit_library_call.
167 * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
168 as second argument to emit_library_call.
169 * calls.c (emit_library_call): Update fn_type description.
170
171 2001-11-21 Jakub Jelinek <jakub@redhat.com>
172
173 * c-decl.c (c_expand_deferred_function): Only call c_expand_body
174 if fndecl is still DECL_INLINE and has DECL_RESULT.
175
176 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
177
178 * clipper.c (clipper_movstr): Avoid uninitialized warning.
179 * i960.c (is_mask, legitimize_address): Likewise.
180 * m88k.c (m88k_expand_prologue): Likewise.
181 * m88k.md: Likewise.
182 * mcore.c (emit_new_cond_insn): Likewise.
183 * stormy16.c (xstormy16_emit_cbranch): Likewise.
184
185 2001-11-20 Zack Weinberg <zack@codesourcery.com>
186
187 * config.gcc: Delete powerpcle-*-solaris2* stanza.
188 * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
189 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
190 config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
191 config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
192 config/rs6000/t-ppcos: Expunge all references to Solaris.
193
194 * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
195
196 * config/rs6000/rs6000.md: Replace '%$' with '$' in all
197 output templates.
198 * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
199 and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
200
201 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
202
203 * sh.md: Avoid uninitialized warnings.
204 * vax.c (vax_rtx_cost): Likewise.
205
206 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
207
208 * rs6000.c (direct_return): Check if we are saving altivec
209 registers.
210 (first_altivec_reg_to_save): New.
211 Updated stack frame layout comments.
212 (rs6000_stack_info): Calculate altivec register save size.
213 Save link register if we saved some altivec registers.
214 (rs6000_stack_info): Align save size to 16 if altivec abi or
215 abi_darwin.
216 (rs6000_stack_info): Calculate altivec register offsets.
217 (rs6000_stack_info): Add altivec info to save_size.
218 (debug_stack_info): Add altivec debug info.
219 (rs6000_emit_prologue): Save altivec registers and vrsave.
220 (compute_vrsave_mask): New.
221 (altivec_expand_builtin): Remove unused variables.
222 (rs6000_parse_abi_options): Add static qualifier.
223 (rs6000_expand_builtin): Remove unused parameters.
224 (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
225 (altivec_init_builtins): Same.
226 (is_altivec_return_reg): New.
227 (vrsave_operation): New.
228 (ALTIVEC_REG_BIT): New.
229 (generate_set_vrsave): New.
230
231 * rs6000.md (get_vrsave): New.
232 (set_vrsave): New.
233 (*set_vrsave_internal): New.
234
235 * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
236 altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
237 altivec_padding_size, vrsave_mask.
238 (TOTAL_ALTIVEC_REGS): New.
239 (EPILOGUE_USES): Add VRSAVE_REGNO.
240
241 2001-11-20 Jeff Law <law@redhat.com>
242
243 * unroll.c (copy_loop_body): Update LABEL_NUSES for the
244 exit label as necessary.
245
246 2001-11-20 Brad Kaiser <bkaiser@acelink.net>
247
248 * reload1.c (elimination_effects): Use function_invariant_p
249 instead of CONSTANT_P when considering register equivalences.
250
251 2001-11-20 David O'Brien <obrien@FreeBSD.org>
252
253 * config.gcc: Add FreeBSD/PowerPC target.
254 (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
255 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
256 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
257 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
258 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
259 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
260 freebsd-spec.h to tm_file.
261 (rs6000-*-lynxos*): Add lynx.h to tm_file.
262 * config/freebsd.h: Tidy up.
263 (USING_CONFIG_FREEBSD): Define.
264 (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
265 FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
266 FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
267 (TARGET_HAS_F_SETLKW): Define.
268 (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
269 * config/freebsd-spec.h: New file.
270 * config/rs6000/freebsd.h: New file.
271 * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
272 * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
273 USING_SVR4_H to know when to turn on ELF support.
274 * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
275 define only if not already defined.
276 Add FreeBSD support.
277 * config/rs6000/aix.h (TARGET_VERSION): Define.
278 * config/rs6000/beos.h: Likewise.
279 * config/rs6000/darwin.h: Likewise.
280 * config/rs6000/mach.h: Likewise.
281 * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
282 Don't include lynx.h directly.
283
284 2001-11-20 Graham Stott <grahams@redhat.com>
285
286 * unwind-dw2-fde.c (__deregister_frame_info_bases):
287 Fix lossage in last change return OB.
288
289 Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com>
290
291 * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
292 Remove unneeded exit related macros.
293
294 2001-11-20 David Edelsohn <edelsohn@gnu.org>
295
296 * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
297
298 * rs6000.c (rs6000_emit_move): Add TFmode case.
299 * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
300 LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
301 LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
302 * rs6000.h: ... to here.
303 * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
304 trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
305 fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
306
307 Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
308
309 * emit-rtl.c (get_mem_attrs): Fix typo.
310
311 2001-11-20 Jakub Jelinek <jakub@redhat.com>
312
313 * c-lang.c (finish_file): Backout 2001-11-16
314 changes, instead set DECL_DEFER_OUTPUT for static inline functions
315 before calling c_expand_deferred_function.
316
317 2001-11-20 Jakub Jelinek <jakub@redhat.com>
318
319 * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
320 Don't register empty .eh_frame sections.
321 (__deregister_frame_info_bases, __deregister_frame): Don't
322 unregister them either.
323
324 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
325
326 * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
327 (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
328 * configure: Regenerate.
329 * config.in: Add dummy definitions of new flags.
330 * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
331 * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
332 * gcc.c (ASM_DEBUG_SPEC): New macro.
333 (asm_debug): New static variable.
334 (default_compilers): Add asm_debug when assembling from
335 user input.
336 (static_specs): Add asm_debug.
337
338 2001-11-20 Loren J. Rittle <ljrittle@acm.org>
339
340 * config.gcc (*-*-freebsd*): Remove configuration block.
341
342 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
343
344 bootstrap/4422
345 * configure.in: Setup ability to run ./stage[1234]/xgcc in
346 fixinc *as if* it were a proper lang subdirectory.
347 * configure: Rebuilt.
348
349 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
350
351 * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
352
353 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
354
355 * 1750a.md: Don't use hex format for a const_int.
356
357 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
358
359 * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
360
361 2001-11-19 Zack Weinberg <zack@codesourcery.com>
362
363 * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
364 defined (prevents link errors when gettext isn't in the system
365 library).
366
367 2001-11-19 DJ Delorie <dj@redhat.com>
368
369 * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
370 (validate_const_int): New.
371 (read_rtx): Validate constant integers.
372 * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
373
374 2001-11-19 Jakub Jelinek <jakub@redhat.com>
375
376 * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
377
378 Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
379
380 * toplev.c (DUMPFILE_FORMAT): Define default.
381 (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
382 (close_dump_file, compile_file): Likewise.
383 * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
384 * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
385
386 2001-11-19 Jeff Law <law@redhat.com>
387
388 * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
389 a nop-jump.
390
391 2000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
392
393 * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
394 Don't fall off the base token run.
395
396 2001-11-19 Jason Wilkins <fenix@io.com>
397
398 * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
399
400 Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
401
402 * tree.def (VIEW_CONVERT_EXPR): New tree code.
403 * tree.h (handled_component_p): New declaration.
404 * alias.c (handled_component_p): Move function from here ...
405 * expr.c (handled_component_p): ... to here and non longer static.
406 (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
407 (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
408 (get_inner_reference): Handle VIEW_CONVERT_EXPR.
409 (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
410 (expand_expr, case VIEW_CONVERT_EXPR): New case.
411 (expand_expr, cse ADDR_EXPR): No need to copy if already
412 BIGGEST_ALIGNMENT.
413 * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
414 * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
415 (output_constant): Handle VIEW_CONVERT_EXPR.
416 * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
417 Add new case for VIEW_CONVERT_EXPR.
418
419 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
420
421 * a29k/unix.h (ASM_FILE_START): Const-ify.
422 * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
423 * i386/isc.h (ASM_FILE_START): Const-ify.
424 * i386/sun386.h (ASM_FILE_START): Likewise.
425 * m32r.md: Likewise.
426 * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
427 * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
428 * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
429 * mn10200.md: Initialize variable.
430
431 Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
432
433 * gcse.c (try_replace_reg): Copy RTX before creating note.
434
435 * df.h (df_ref_flags): New uenum.
436 (DF_REF_FLAGS): New macro.
437 (struct ref): Add field "flags".
438 * df.c (HANDLE_SUBREG): Remove.
439 (df_ref_create): Likewise; set flags field of ref.
440 (df_def_record_1): Strip down read_write subreg; remove
441 commented out code; set READ_WRITE flag.
442 (read_modify_subreg_p): New static function.
443 (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
444 new argument "flags".
445 (df_insn_refs_record): Update call of df_uses_record.
446 (df_insn_modify): Avoid #if 0 around comment.
447 (df_dump): Dump the read/write flag.
448
449 * predict.c (propagate_freq): Make cyclic_probability and frequency
450 volatile
451
452 * i386.c (ix86_cc_mode): Accept USE.
453
454 * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
455 jump is turned into simplejump.
456
457 2001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
458
459 * doc/fragments.texi, doc/trouble.texi: Remove links to old
460 installation chapter.
461 * doc/gcc.texi: Don't claim that this manual documents
462 installation. Mark Installation menu entry as being out of date.
463
464 Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
465
466 * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
467 (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
468 * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
469
470 2001-11-19 Jason Merrill <jason@redhat.com>
471
472 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
473 cur_token, not after.
474
475 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
476 Lose ASM_OUTPUT_CONSTRUCTOR.
477 * system.h: Poison it and INT_ASM_OP.
478 * c-lang.c (finish_file): Don't check for it.
479 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
480
481 2001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
482
483 * mmix.c (mmix_cc1_ignored_option): Const-ify.
484 (mmix_init_machine_status): Make static to match declaration.
485 (mmix_unique_section): Const-ify.
486 (mmix_output_quoted_string): Avoid automatic aggregate
487 initialization.
488 (mmix_output_register_setting): Likewise.
489 (mmix_output_shiftvalue_op_from_str): Likewise.
490
491 * mmix.h (mmix_cc1_ignored_option): Const-ify.
492 (ASM_OUTPUT_BYTE): Fix format specifier warning.
493 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
494
495 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
496
497 PR c/4448
498 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
499 name __objc_thread_exit_status so that it matches the
500 variable defined in objc/thr.h.
501
502 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
503
504 PR bootstrap/4020
505 * mklibgcc.in: Add missing semi-colons.
506 * Makefile.in: Same.
507
508 Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
509
510 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
511 after re-laying out decl in incomplete case.
512 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
513
514 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
515
516 * doc/install-old.texi: Move some sections out to ...
517 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
518 ... here. New files. Make into chapters rather than sections.
519 * doc/gcc.texi: Include the new files and add menu entries for
520 them.
521 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
522
523 Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
524
525 * tree.h (TYPE_ALIGN_OK): New flag.
526 * emit-rtl.c (set_mem_attributes): Handle it.
527 * expr.c (emit_single_push_insn): Only set to alias set 0 if
528 doing sibcall optimization.
529 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
530 when make temporary.
531 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
532 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
533
534 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
535
536 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
537
538 * c-decl.c (c_decode_option): Give deprecation warning for
539 -traditional.
540 * doc/invoke.texi (-traditional): Note that this option is
541 deprecated.
542
543 Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
544
545 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
546 arg to HOST_WIDE_INT, not long.
547
548 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
549 (HAS_INIT_SECTION): Define.
550 (REAL_ARITHMETIC): Don't undefine.
551
552 2001-11-18 Egor Duda <deo@logos-m.ru>
553
554 * config/i386/cygwin.h: Strip leading '*' from name, if any.
555
556 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
557
558 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
559 * c-common.c: Include diagnostic.h.
560 (c_common_finish): New.
561 * c-common.h (c_common_finish): New.
562 * c-lang.c (LANG_HOOKS_FINISH): Override.
563 * c-parse.in: Don't include diagnostic.h.
564 (finish_parse): Remove.
565 * langhooks.h: Update comments.
566 * toplev.c (lang_dependent_init): New prototype.
567 (finalize): New.
568 (compile_file): Split cleanup code out to finalize.
569 (lang_dependent_init): Stop if lang_hooks.init fails.
570 (toplev_main): Update.
571 * tree.h (finish_parse): Remove.
572 objc:
573 * objc-act.c (LANG_HOOKS_FINISH): Override.
574
575 Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
576
577 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
578 * config/alpha/vms_tramp.asm: New file.
579 * config/alpha/vms-tramp.asm: Removed.
580
581 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
582
583 * c-common.c (struct disabled_builtin, disabled_builtins,
584 disable_builtin_function, builtin_function_disabled_p): New.
585 (builtin_function_2): Check for disabled built-in functions.
586 * c-common.h (disable_builtin_function): Declare.
587 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
588 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
589 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
590
591 2001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
592
593 PR target/4606
594 * config.gcc: Remove reference to va-clipper.h.
595
596 2001-11-17 Stan Shebs <shebs@apple.com>
597
598 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
599 AltiVec-related bitfields.
600
601 Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
602
603 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
604 (mark_eh_region, case ERT_UKNONW): New case.
605
606 2001-11-17 Christopher Faylor <cgf@redhat.com>
607 Corinna Vinschen <vinschen@redhat.com>
608
609 * config/i386/cygwin.h: Search target specific include directory for
610 w32api stuff, if appropriate.
611
612 Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
613
614 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
615
616 2001-11-16 Aldy Hernandez <aldyh@redhat.com>
617
618 * config/rs6000/rs6000.md: Change all ldvx to lvx.
619
620 2001-11-16 Alexandre Oliva <aoliva@redhat.com>
621
622 * gensupport.c (process_rtx): Don't assume filename is the first
623 argument of any rtl.
624
625 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
626
627 * vax-protos.h (reg_was_0_p): New prototype.
628 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
629 * vax.c (follows_p, reg_was_0_p): New functions.
630
631 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
632
633 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
634 (casesi1): Likewise. Define new pattern which arises by simplification
635 when operand 1 is a constant int. Correct pattern which arises by
636 simplification when operand 1 is zero.
637
638 2001-11-16 David O'Brien <obrien@FreeBSD.org>
639
640 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
641 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
642 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
643 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
644 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
645 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
646 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
647 * config/arm/aof.h: Don't include arm.h.
648 * config/arm/aout.h: Likewise.
649 * config/arm/coff.h: Don't include semi.h and aout.h.
650 * config/arm/elf.h: Don't include aout.h.
651 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
652 (TARGET_VERSION): Undef before defining.
653 (ARM_OS_NAME): Likewise
654 (TARGET_DEFAULT): Likewise
655 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
656 * config/arm/pe.h: Don't include arm/coff.h.
657 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
658 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
659 * config/arm/riscix1-1.h: Likewise.
660 * config/arm/rix-gas.h: Don't include riscix.h.
661 (DBX_CONTIN_LENGTH): Undef before defining.
662 * config/arm/semi.h: Don't include aout.h.
663 * config/arm/semiaof.h: Don't include aof.h.
664 * config/arm/strongarm-coff.h: Don't include coff.h.
665 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
666 * config/arm/vxarm.h: Don't include arm/coff.h.
667 * config/arm/xscale-coff.h: Don't include coff.h.
668
669 Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
670
671 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
672 emit_cmp_insn.
673
674 2001-11-16 Andreas Jaeger <aj@suse.de>
675
676 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
677 to ....
678 (fixup_fallthru_exit_predecessor): ... this.
679 Change callers and prototype.
680
681 2001-11-16 Bernd Schmidt <bernds@redhat.com>
682
683 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
684 hand; don't use gen_setcc_2.
685 (ix86_expand_builtin): Fix pshufw.
686 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
687 case UNORDERED to emit the right assembler instruction.
688 (mmx_pshufw): Lose operand 2.
689 (cvtsi2ss): Fix representation.
690 From Graham Stott:
691 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
692
693 2001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
694
695 * doc/include/linux-and-gnu.texi: Remove.
696 * doc/gnu.texi: New.
697 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
698 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
699
700 2001-11-16 Kazu Hirata <kazu@hxi.com>
701
702 * config/a29k/a29k.c: Fix comment formatting.
703 * config/a29k/a29k.h: Likewise.
704 * config/arc/arc.c: Likewise.
705 * config/arc/arc.h: Likewise.
706 * config/vax/vax.c: Likewise.
707 * config/vax/vax.h: Likewise.
708 * config/we32k/we32k.c: Likewise.
709 * config/we32k/we32k.h: Likewise.
710
711 2001-11-16 Jeff Law <law@redhat.com>
712
713 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
714 creating a new jump insn.
715
716 Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
717
718 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
719 copy misaligned data.
720 * varasm.c (assemble_variable): Set alignment into MEM when changed.
721
722 2001-11-16 Graham Stott <grahams@redhat.com>
723
724 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
725 OPALIGN type.
726
727 2001-11-16 Olivier Hainque <hainque@act-europe.fr>
728
729 * except.c: Support for catching a list of types with a single handler
730 (struct eh_region): Change type and filter to lists for catch regions.
731 (mark_eh_region): Mark the filter list for GC also.
732 (expand_start_catch): Always build a list if argument not NULL and
733 register each type of the list through add_type_for_runtime.
734 (duplicate_eh_region_1): Change type into type_list for catch regions.
735 (assign_filter_values): Assign a filter to each type associated with a
736 catch region. Assign filter for NULL types in a unique entry in the
737 filter list.
738 (build_post_landing_pads): Emit compare and jump for each filter of
739 the list associated with a catch region.
740 (reachable_next_level): When the type thrown is known, stop the search
741 as soon as one type within a catch list matches. Also, a handler is
742 potentially reachable only if at least one of the types it catches
743 has not been previously caught.
744 (collect_one_action_chain): Retrieve the filter for a NULL type list
745 from the first filter list entry. For non NULL type lists, add an
746 action record for every filter assigned.
747 * except.h: Reflect changes in comment before expand_start_catch.
748
749 Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
750
751 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
752 BLKmode.
753
754 Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
755
756 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
757
758 2001-11-16 Jakub Jelinek <jakub@redhat.com>
759
760 * c-lang.c (finish_file): Don't emit static inline functions if
761 they weren't referenced.
762
763 2001-11-15 Stan Shebs <shebs@apple.com>
764
765 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
766
767 2001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
768
769 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
770 call.
771 * config/i386/i386.md: Likewise.
772
773 Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
774
775 * timevar.c (rtl.h): Include so get fancy abort.
776
777 2001-11-15 Dale Johannesen <dalej@apple.com>
778
779 * config/darwin.h (SELECT_RTX_SECTION): Force address
780 initializers into 'const' section
781 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
782 if_then_else to match result, not operands
783
784 Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
785
786 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
787 * emit-rtl.c (change_address): Fix typo in default alignment.
788 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
789 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
790 * rtl.h (REGNO_PTR_FRAME_P): New macro.
791
792 * expr.c (store_field): Pass tree instead of max size; callers changed.
793 Change handling of alignment.
794 Only copy to_rtx if is TARGET.
795 (expand_expr_unaligned): Delete; callers now use expand_expr.
796 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
797 (expand_assignment): Change handling of alignment.
798 Only copy to_rtx if was original.
799 (get_inner_reference): No longer return alginment; callers changed.
800 (expand_expr, case COMPONENT_REF): Change handling of alignment.
801 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
802 (compare_from_rtx): Delete ALIGN parm; all callers changed.
803 (do_compare_rtx_and_jump): Likewise.
804 * expr.h: Reflect above changes.
805 * tree.h: Likewise.
806 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
807 to get_inner_reference.
808 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
809 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
810 * optabs.c: Likewise.
811 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
812 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
813 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
814 compare_rtx_and_jump, and emit_cmp_jump_insns.
815 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
816 * function.c (assign_stack_temp_for_type): No longer static.
817 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
818 (prepare_cmp_insn): Delete declaration.
819 * rtl.h (assign_stack_temp_for_type): Add declaration.
820 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
821 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
822 * config/i386/i386.c,config/mips/mips.c: Likewise.
823 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
824 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
825
826 2001-11-15 Stan Shebs <shebs@apple.com>
827
828 * config/rs6000/rs6000.h: Fix a comment typo.
829 (RTX_COSTS): Sort processor versions better.
830
831 2001-11-15 Kazu Hirata <kazu@hxi.com>
832
833 * config/h8300/h8300.md: Fix insn length of bit insns.
834
835 2001-11-15 Jason Merrill <jason@redhat.com>
836
837 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
838 DIEs if there were errors in the source.
839
840 * config/alpha/alpha-interix.h, config/alpha/elf.h,
841 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
842 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
843 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
844 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
845 config/elfos.h, config/lynx.h, config/netware.h,
846 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
847 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
848 uses to use ASM_LONG.
849
850 2001-11-15 Alan Matsuoka <alanm@redhat.com>
851
852 * gensupport.c process_include : Change call to alloca to
853 xmalloc.
854
855 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
856
857 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
858 templates.
859
860 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
861
862 * final.c (alter_subreg): If simplify_subreg can't do anything,
863 handle REG ourselves and abort for others.
864
865 2001-11-15 Richard Hodson <hodsonr@dionecorp.com>
866
867 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
868 routines.
869
870 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
871
872 * fix-header.c (read_scan_file): Update.
873
874 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
875
876 * toplev.c (toplev_main): Don't start timing until after
877 command-line options are parsed.
878
879 2001-11-15 Andreas Schwab <schwab@suse.de>
880
881 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
882 makefile frag, not host makefile frag.
883 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
884 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
885 used.
886 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
887 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
888 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
889 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
890 * config/i386/t-dgux (STMP_FIXPROTO): Define.
891 * config/x-interix: Don't define STMP_FIXPROTO and
892 FIXPROTO_DEFINES.
893 * config/t-interix: New file, define STMP_FIXPROTO.
894 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
895 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
896 * config/t-svr4 (FIXPROTO_DEFINES): Define.
897 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
898 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
899 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
900 * config/m68k/t-hp3200: Renamed from x-hp3200.
901 * config/i370/t-oe: Renamed from x-oe.
902 * config/mips/t-iris: Renamed from x-iris.
903 * config/pa/t-bsd: Renamed from x-pa.
904 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
905 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
906 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
907 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
908 config/rs6000/x-cygwin: Remove files.
909
910 * configure.in: Check for target objdump and use that in eh_frame
911 optimization test.
912 * configure: Regenerated.
913
914 2001-11-15 Jakub Jelinek <jakub@redhat.com>
915
916 * jump.c (squeeze_notes): Return true if no real insns were found.
917 * rtl.h (squeeze_notes): Adjust prototype.
918 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
919 squeeze_notes finds no real instructions, abort.
920 (merge_blocks_move_successor_nojumps): Likewise.
921 * loop.c (find_and_verify_loops): Likewise.
922 * stmt.c (expand_end_case): Likewise.
923 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
924 find any real instructions.
925
926 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
927
928 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
929 conditional jump, request updating life into for the block
930 containing it. Fix a typo which prevented life info update.
931 Clear blocks bitmap before using it.
932
933 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
934
935 * c-common.c: Include c-lex.h.
936 (c_common_lang_init): Change prototype. Call init_c_lex and
937 init_pragma from here.
938 * c-common.h (c_common_lang_init): Change prototype.
939 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
940 * c-lang.c (c_init): Change prototype. Update.
941 (c_init_options): Update.
942 * c-lex.c (cpp_filename): Remove.
943 (init_c_lex): Update. Read the main file, and get the original
944 file name.
945 (yyparse): Finish the command line options.
946 * c-parse.in (c_parse_init): Call init_reswords here.
947 (init_parse): Remove.
948 * c-tree.h (c_init_decl_processing): New.
949 * cpphash.c (_cpp_init_hashtable): After initializing the hash
950 table, populate it.
951 * cppinit.c (read_original_filename, cpp_finish_options): New.
952 (cpp_create_reader): New prototype. Defer hash table initialization.
953 (cpp_start_read): Rename cpp_read_main_file. Initialize the
954 hash table. Get the original filename.
955 * cpplib.h (cpp_create_reader): Update.
956 (cpp_start_read): Remove.
957 (cpp_read_main_file, cpp_finish_options): New.
958 * cppmain.c (main, do_preprocessing): Update.
959 * langhooks.h (struct langhooks): Update init prototype.
960 * toplev.c (general_init, parse_options_and_default_flags,
961 process_options, lang_indpendent_init, lang_dependent_init,
962 init_asm_output): New; perform the bulk of initialization.
963 (compile_file): Move most of initialization to above functions.
964 (debug_hooks): Initialize statically.
965 (set_Wunused): Relocate.
966 (toplev_main): Move most of initialization to other init functions.
967 Have a clear logic flow.
968 * tree.h (init_parse, init_decl_processing): Remove.
969 objc:
970 * objc-act.c (objc_init): Update prototype, combine with old
971 init_parse.
972 (objc_init_options): Update.
973
974
975 2001-11-15 Andreas Jaeger <aj@suse.de>
976
977 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
978 portability.
979 * basic-block.h: Adjust prototype.
980
981 2001-11-15 Kazu Hirata <kazu@hxi.com>
982
983 * config/rs6000/aix31.h: Fix comment formatting.
984 * config/rs6000/beos.h: Likewise.
985 * config/rs6000/darwin.h: Likewise.
986 * config/rs6000/eabi.asm: Likewise.
987 * config/rs6000/linux.h: Likewise.
988 * config/rs6000/linux64.h: Likewise.
989 * config/rs6000/lynx.h: Likewise.
990 * config/rs6000/netbsd.h: Likewise.
991 * config/rs6000/rs6000.c: Likewise.
992 * config/rs6000/rs6000.h: Likewise.
993 * config/rs6000/rs6000.md: Likewise.
994 * config/rs6000/sol2.h: Likewise.
995 * config/rs6000/tramp.asm: Likewise.
996 * config/rs6000/xcoff.h: Likewise.
997 * config/rs6000/xm-beos.h: Likewise.
998
999 2001-11-14 Alan Matsuoka <alanm@redhat.com>
1000
1001 * rtl.def (INCLUDE) : Define.
1002 * gensupport.c (init_include_reader, process_include,
1003 save_string) : New functions to implement an include facility
1004 in .md files.
1005 * gensupport.h : Add prototype for init_md_reader_args.
1006 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
1007 genextract.c genflags.c genopinit.c genoutput.c
1008 genpeep.c genrecog.c: Change call to init_md_reader to
1009 init_md_reader_args.
1010 * md.texi: Document (include "path") and -I directives for RTL
1011 generation tools.
1012
1013 2001-11-14 DJ Delorie <dj@redhat.com>
1014
1015 * integrate.c (get_hard_reg_initial_reg): New.
1016 * integrate.h (get_hard_reg_initial_reg): Prototype.
1017 * local-alloc.c (block_alloc): Don't tie pseudos that
1018 represent call-saved hard regs' initial values.
1019
1020 2001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1021
1022 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
1023 recursion.
1024
1025 2001-11-14 Roger Sayle <roger@eyesopen.com>
1026
1027 * fold-const.c (fold): Optimize strlen comparisons against zero.
1028
1029 2001-11-14 David O'Brien <obrien@FreeBSD.org>
1030
1031 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
1032 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
1033 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
1034 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
1035 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
1036 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
1037 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
1038 Include various CPU headers via tm_file. a.out based platforms now
1039 properly include sparc/aout.h. sol2.h usage now implies including
1040 elfos.h, svr4.h, and sparc/sysv4.h.
1041 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
1042 Also define to '1'.
1043 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
1044 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1045 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
1046 Remove. They are a.out specific and belong in sparc/aout.h.
1047 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
1048 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
1049 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
1050 sparc/sparc.h.
1051 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
1052 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
1053 Moved here from sparc/sparc.h.
1054 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
1055 defining.
1056 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
1057 * config/sparc/lynx.h: Don't include lynx.h.
1058 (SELECT_SECTION): Do not undef.
1059 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
1060 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
1061 and sparc/sysv4.h.
1062 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
1063 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
1064 sparc/aout.h now.
1065 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
1066 Don't undef, there is no need.
1067 * config/sparc/splet.h (CPP_PREDEFINES): Define.
1068 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
1069 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
1070 Don't include sparc/sparc.h.
1071 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
1072 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
1073 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
1074 elfos.h and svr4.h.
1075 (TARGET_VERSION): Define.
1076 * config/sparc/vxsim.h (TARGET_VERSION): Define.
1077
1078 Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
1079
1080 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
1081 (cfg_layout_finalize): Use it.
1082 * bb-reorder.c (HAVE_epilogue): Remove.
1083 (make_reorder_chain): Do not care special placement of
1084 last basic block.
1085
1086 * predict.c (expected_value_to_br_prob): Delete the note
1087 once transformed.
1088
1089 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
1090 measure integration time separately.
1091
1092 Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1093
1094 * function.c (struct temp_slot): ALIGN now unsigned.
1095
1096 2001-11-14 Kazu Hirata <kazu@hxi.com>
1097
1098 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
1099 * config/dsp16xx/dsp16xx.h: Likewise.
1100 * config/dsp16xx/dsp16xx.md: Likewise.
1101
1102 2001-11-14 Kazu Hirata <kazu@hxi.com>
1103
1104 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
1105 that deals with 7-bit shifts in HImode.
1106
1107 Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
1108
1109 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
1110 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
1111 (final_scan_insn): Update call of alter_subreg.
1112 (cleanup_subreg_operands): Likewise.
1113 (alter_subreg): Rewrite using simplify_subreg.
1114 (output_address, output_operand): Update call of alter_subreg.
1115 * output.h (alter_subreg): Update prototype.
1116 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
1117 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
1118 * Makefile.in (final.o): Add dependency on expr.h
1119
1120 Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1121
1122 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
1123
1124 2001-11-13 Jeff Sturm <jsturm@one-point.com>
1125
1126 * doc/install.texi (sparc-*-linux*): Mention requirements for
1127 binutils and glibc.
1128
1129 2001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
1130
1131 * Makefile.in (POD2MAN): Don't include --section=1.
1132 (manext): Rename to man1ext. All users changed.
1133 (man7ext): New.
1134 (man7dir): New.
1135 (generated-manpages): Also depend on $(docdir)/gfdl.7,
1136 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
1137 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
1138 --section=1 in calls to $(POD2MAN).
1139 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
1140 (maintainer-clean, install, uninstall): Handle the new man pages.
1141 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
1142 (installdirs): Create man7dir.
1143 * doc/cpp.texi: Include GFDL in this manual. In the man page,
1144 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
1145 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
1146 the SEE ALSO man page section.
1147 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
1148 and fsf-funding(7) in the SEE ALSO man page section.
1149 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
1150 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
1151 * doc/include/fdl.texi, doc/include/funding.texi,
1152 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
1153 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
1154
1155 2001-11-13 Richard Henderson <rth@redhat.com>
1156
1157 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
1158 as appropriate for the artificial decl.
1159
1160 2001-11-13 Richard Henderson <rth@redhat.com>
1161
1162 * loop.c (combine_movables): Turn off combination until
1163 move_movables validation bugs are fixed.
1164
1165 2001-11-13 DJ Delorie <dj@redhat.com>
1166
1167 * config.gcc (powerpc|rs6000): Set default cpp options based
1168 on --with-cpu settings.
1169 * config/rs6000/softfloat.h: New.
1170
1171 2001-11-13 Kazu Hirata <kazu@hxi.com>
1172
1173 * config/h8300/h8300.c (shift_alg_si): Use special code for
1174 25-bit shifts on H8/S.
1175 (get_shift_alg): Generate special code for 25-bit shifts on
1176 H8/S.
1177
1178 2001-11-13 Jakub Jelinek <jakub@redhat.com>
1179
1180 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
1181 (adjust_automodify_address_1): New.
1182 * expr.h (adjust_address, adjust_address_nv): Adjust.
1183 (adjust_automodify_address, adjust_automodify_address_nv): Define.
1184 (adjust_address_1): Update prototype.
1185 (adjust_automodify_address_1): Add prototype.
1186 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
1187 (store_by_pieces_2): Likewise.
1188
1189 Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1190
1191 * Makefile.in (explow.o): Now depends on ggc.h.
1192 * explow.c (ggc.h): Include.
1193 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
1194
1195 * Makefile.in (expr.o): Depends on insn-attr.h.
1196 * expr.c (insn-attr.h): New include.
1197 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
1198 of MEM.
1199 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
1200 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
1201 clean up related usage in ADDR_EXPR.
1202 (expand_expr_unaligned): Likewise.
1203
1204 * emit-rtl.c (change_address): Fix typo in alias setting.
1205
1206 2001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1207
1208 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
1209
1210 2001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
1211
1212 PR bootstrap/3451
1213 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
1214 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
1215
1216 2001-11-12 David O'Brien <obrien@FreeBSD.org>
1217
1218 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
1219 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
1220 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
1221 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
1222 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
1223 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
1224 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
1225 sparc64-*-linux*): Include various CPU headers via tm_file.
1226 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
1227 (SELECT_SECTION): Likewise.
1228 (SELECT_RTX_SECTION): Likewise.
1229 * config/sparc/sparc_bi.h: New file.
1230 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
1231 * config/sparc/linux-aout.h: Likewise.
1232 * config/sparc/linux.h: Don't include sparc/sysv4.h.
1233 * config/sparc/linux64.h: Likewise.
1234 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
1235 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
1236 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
1237 and dbxcoff.h
1238 (ASM_OUTPUT_IDENT): Do not #undef.
1239 (SELECT_SECTION): Likewise.
1240 (SELECT_RTX_SECTION): Likewise.
1241 * config/sparc/liteelf.h: Don't include gofast.h.
1242 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
1243 * config/sparc/lynx.h: Don't include sparc/sparc.h.
1244 * config/sparc/pbd.h: Likewise.
1245 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
1246 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
1247 * config/sparc/rtemself.h: Don't include rtems.h.
1248 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
1249 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
1250 sparc_bi.h instead.
1251 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
1252 * config/sparc/sol2.h: Include sparc/sparc.h directly.
1253 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
1254 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
1255 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
1256 * config/sparc/sp86x-elf.h: Don't include gofast.h.
1257 * config/sparc/splet.h: Don't include sparc/aout.h.
1258 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
1259 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
1260 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
1261 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
1262 * config/sparc/vxsparc64.h: Don't include gofast.h.
1263 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
1264
1265 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
1266
1267 * doc/standards.texi: Mention C99 TC1.
1268
1269 2001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1270
1271 * mips-protos.h (mips_output_conditional_branch): Const-ify.
1272 * mips.c (mips_output_conditional_branch): Likewise.
1273
1274 2001-11-12 Kazu Hirata <kazu@hxi.com>
1275
1276 * config/h8300/h8300.c (shift_alg_si): Use special code for
1277 15-bit logical shifts and 31-bit logical shifts.
1278 (get_shift_alg): Generate special code for 15-bit and 31-bit
1279 logical shifts.
1280
1281 2001-11-12 Kazu Hirata <kazu@hxi.com>
1282
1283 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
1284 doing 6-bit logical shifts on H8/S.
1285 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
1286 (get_shift_alg): Generate special code for 21-bit shifts on
1287 H8/S.
1288
1289 2001-11-12 Kazu Hirata <kazu@hxi.com>
1290
1291 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
1292 label.
1293
1294 Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1295
1296 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
1297 if both size and offset known.
1298
1299 2001-11-12 David O'Brien <obrien@FreeBSD.org>
1300
1301 * config/ia64/freebsd.h: Fix misspelling.
1302
1303 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
1304
1305 * doc/gcc.texi: Move several chapters out to ...
1306 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
1307 doc/include/linux-and-gnu.texi, doc/interface.texi,
1308 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
1309 ... here. New files.
1310 * doc/gcc.texi, doc/contrib.texi: Move section headings into
1311 contrib.texi.
1312 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1313
1314 2001-11-12 Kazu Hirata <kazu@hxi.com>
1315
1316 * config/alpha/alpha-interix.h: Fix comment formatting.
1317 * config/alpha/alpha.c: Likewise.
1318 * config/alpha/alpha.h: Likewise.
1319 * config/alpha/alpha32.h: Likewise.
1320 * config/alpha/freebsd.h: Likewise.
1321 * config/alpha/unicosmk.h: Likewise.
1322 * config/alpha/vms.h: Likewise.
1323
1324 2001-11-12 Kazu Hirata <kazu@hxi.com>
1325
1326 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
1327
1328 2001-11-12 Jakub Jelinek <jakub@redhat.com>
1329
1330 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
1331 numbers.
1332
1333 Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1334
1335 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
1336 from type.
1337 (replace_equiv_address): Call update_temp_slot_address.
1338
1339 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
1340
1341 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
1342
1343 2001-11-12 Kazu Hirata <kazu@hxi.com>
1344
1345 * config/h8300/h8300.c (shift_alg_qi): New.
1346 (shift_alg_hi): Likewise.
1347 (shift_alg_si): Likewise.
1348 (get_shift_alg): Change the type of count to unsigned int.
1349 Use the tables.
1350
1351 2001-11-11 Alexandre Oliva <aoliva@redhat.com>
1352
1353 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
1354 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
1355 to decide whether to defer a function.
1356 (finish_function): Adjust.
1357 (c_expand_deferred_function): New function.
1358 * c-lang.c (deferred_fns): New variable.
1359 (c_init): Initialize it, and mark it as a root.
1360 (defer_fn): New function.
1361 (finish_file): Expand all deferred functions.
1362 * c-tree.h (defer_fn): Declare.
1363 (c_expand_deferred_function): Likewise.
1364 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
1365 * objc-act.c (deferred_fns): New variable.
1366 (objc_init): Initialize it, and mark it as a root.
1367 (defer_fn): New function.
1368 (finish_file): Expand all deferred functions.
1369
1370 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1371
1372 * alpha.c (unicosmk_special_name): Prototype.
1373 (unicosmk_ssib_name): Delete unused variable.
1374 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
1375 * alpha/vms.h (PREFIX): Undef before defining.
1376 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
1377 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
1378 controlling usage. Const-ify.
1379 (alias_number): Delete unused variable.
1380 * m32r/m32r.c (m32r_sched_init): Add missing argument.
1381 (m32r_expand_block_move): Fix uninitialized warnings.
1382 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
1383 always true' warnings.
1384 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
1385 * sh/sh.c: Include "integrate.h".
1386 (output_far_jump): Fix uninitialized warning.
1387 * final.c (shorten_branches): Avoid automatic aggregate
1388 initialization.
1389 * integrate.c (subst_constants): Likewise.
1390
1391 2001-11-11 Kazu Hirata <kazu@hxi.com>
1392
1393 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
1394 (get_shift_alg): Remove redundant code.
1395
1396 2001-11-11 Kazu Hirata <kazu@hxi.com>
1397
1398 * config/pa/milli64.S: Fix comment formatting.
1399 * config/pa/pa-64.h: Likewise.
1400 * config/pa/pa-linux.h: Likewise.
1401 * config/pa/pa-protos.h: Likewise.
1402 * config/pa/pa.c: Likewise.
1403 * config/pa/pa.h: Likewise.
1404 * config/pa/pa32-linux.h: Likewise.
1405 * config/pa/pa32-regs.h: Likewise.
1406 * config/pa/pa64-hpux.h: Likewise.
1407 * config/pa/pa64-regs.h: Likewise.
1408 * config/pa/som.h: Likewise.
1409
1410 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1411
1412 * doc/gcc.texi: Move several chapters out to ...
1413 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
1414 doc/service.texi, doc/standards.texi, doc/trouble.texi,
1415 doc/vms.texi: ... here. New files.
1416 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
1417
1418 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
1419
1420 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
1421 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
1422 collect2.c, combine.c, config.in, configure, configure.in,
1423 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
1424 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
1425 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
1426 spelling errors.
1427
1428 Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1429
1430 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
1431 Adjust operand number in CONST_DOUBLE.
1432
1433 * expmed.c (extract_bit_field): No longer pass in alignment.
1434 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
1435 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
1436 Likewise.
1437 * expr.c (store_constructor, store_constructor_field): Likewise.
1438 (store_field, emit_group_load, emit_group_store): Likewise.
1439 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
1440 (store_bit_field, extract_bit_field): Likewise.
1441 * calls.c, expr.c, function.c: Change calls to above functions.
1442 * ifcvt.c, stmt.c: Likewise.
1443
1444 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
1445 constant and one is on frame.
1446 If know memref offset, adjust size from decl.
1447
1448 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1449
1450 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
1451 format specifier warning.
1452 * convex.h (ASM_OUTPUT_BYTE): Likewise.
1453 * elfos.h (ALIGN_ASM_OP): Undef before defining.
1454 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
1455 warning.
1456 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1457 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1458 * i386-interix.h (gen_stdcall_suffix): Prototype.
1459 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1460 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1461 ASM_OUTPUT_LONG_DOUBLE): Likewise.
1462 * i386/interix.c (gen_stdcall_suffix): Const-ify.
1463 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1464 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
1465 specifier warnings.
1466 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1467 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
1468 ASM_OUTPUT_LONG_DOUBLE): Likewise.
1469 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1470 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1471 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1472 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1473 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
1474 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
1475 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1476 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1477 Likewise.
1478 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
1479 Likewise.
1480 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
1481 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1482 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
1483 Likewise.
1484 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
1485 Likewise.
1486 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1487 Likewise.
1488 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
1489 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
1490 * m68k/news.h (PRINT_OPERAND): Likewise.
1491 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
1492 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
1493 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1494 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
1495 definition.
1496 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
1497 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
1498 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
1499 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
1500 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
1501 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
1502 PRINT_OPERAND): Likewise.
1503 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
1504 Likewise.
1505 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1506 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
1507 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
1508 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1509 * mips.c (mips_output_external_libcall): Mark parameter with
1510 ATTRIBUTE_UNUSED.
1511 (mips_asm_file_start): Move variable into the scope where it's
1512 used.
1513 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
1514 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
1515 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
1516 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1517 * ns32k.c (print_operand): Likewise.
1518 * pa.c (print_operand, output_div_insn): Likewise.
1519 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
1520 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
1521 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
1522 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1523 specifier warnings.
1524 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1525 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1526 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
1527 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
1528 specifier warnings.
1529 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1530
1531 * sdbout.c (sdbout_end_epilogue): Mark parameter with
1532 ATTRIBUTE_UNUSED.
1533 * varasm.c (assemble_global): Likewise.
1534
1535 2001-11-11 H.J. Lu <hjl@gnu.org>
1536
1537 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
1538
1539 Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
1540
1541 * final.c (*_MAX_SKIP): Use *_max_skip variables.
1542 * flags.h (align_loops_max_skip, align_jumps_max_skip,
1543 align_labels_max_skip): New global variables.
1544 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
1545 align_labels_max_skip): New global variables.
1546 (toplev_main): Set new variables.
1547 * i386.c (override_options): Set max_skip values.
1548
1549 2001-11-10 Geoffrey Keating <geoffk@redhat.com>
1550
1551 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
1552 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
1553 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
1554 don't print an @fptr for labels either.
1555 (xstormy16_output_addr_vec): Don't print @fptr here.
1556 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
1557
1558 Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
1559
1560 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
1561 an ANSI/ISO definitino.
1562 (ssa_const_prop): Likewise.
1563
1564 2001-11-10 Aldy Hernandez <aldyh@redhat.com>
1565
1566 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
1567 altivec registers.
1568
1569 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1570
1571 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
1572 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
1573 * cppmain.c (general_init): Call hex_init.
1574 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
1575
1576 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
1577
1578 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
1579 of dgux.c:output_file_start().
1580
1581 * i386/dgux.c: Delete file.
1582
1583 2001-11-09 Richard Henderson <rth@redhat.com>
1584
1585 * config/alpha/alpha.c (decl_in_text_section): New.
1586 (current_file_function_operand): Use it.
1587 (alpha_encode_section_info, alpha_end_function): Likewise.
1588
1589 2001-11-07 David O'Brien <obrien@FreeBSD.org>
1590
1591 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
1592 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
1593 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
1594 so OS specific files and use CPP_PREDEFINES for their needs.
1595 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
1596 target headers to tm_file.
1597 * config/ia64/aix.h (TARGET_VERSION): Likewise.
1598 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
1599 * config/ia64/linux.h (TARGET_VERSION): Likewise.
1600 (FUNCTION_PROFILER): Remove.
1601 * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
1602 version in config/ia64/linux.h.
1603 * config/ia64/freebsd.h: New file.
1604 * config/freebsd.h: Tidy up.
1605 (_USING_CONFIG_FREEBSD): Define.
1606 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
1607 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
1608 (FBSD_STARTFILE_SPEC): Likewise.
1609 (FBSD_ENDFILE_SPEC): Likewise.
1610 (FBSD_LIB_SPEC): Likewise.
1611 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
1612 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
1613 set an ELF-improper one.
1614
1615 2001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
1616
1617 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
1618 constant can be loaded in a single instruction to a register. When
1619 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
1620 depdi for insertion of most significant 32-bits on 64-bit hosts.
1621 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
1622 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
1623 * pa.md: New addmove pattern for adding constant_int to HImode
1624 register and moving result to HImode register. Remove HImode HIGH
1625 and LO_SUM patterns.
1626
1627 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1628
1629 * Makefile.in: Update.
1630 * c-decl.c (print_lang_decl, print_lang_type): Remove.
1631 (print_lang_identifier): Rename c_print_identifier.
1632 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1633 (print_lang_statistics, lang_print_xnode): Remove.
1634 * c-parse.in (set_yydebug): Rename c_set_yydebug.
1635 * c-tree.h (c_set_yydebug, c_print_identifier): New.
1636 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
1637 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
1638 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
1639 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
1640 (LANG_HOOKS_INITIALIZER): Update.
1641 * langhooks.h (struct lang_hooks): New members.
1642 (lang_print_tree_hook): New.
1643 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
1644 * print-tree.c: Include langhooks.h.
1645 (print_node): Update.
1646 * toplev.c (decode_d_option): Update.
1647 * tree.c: Include langhooks.h.
1648 (dump_tree_statistics): Update.
1649 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
1650 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
1651 objc:
1652 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
1653 LANG_HOOKS_SET_YYDEBUG): Override.
1654 (lang_print_xnode, print_lang_statistics): Remove.
1655
1656 2001-11-09 Richard Henderson <rth@redhat.com>
1657
1658 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
1659 on the symbol string.
1660
1661 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1662
1663 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
1664 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
1665 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
1666
1667 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
1668
1669 * tlink.c (recompile_files): Copy strings passed to `putenv'.
1670
1671 2001-11-09 Geoffrey Keating <geoffk@redhat.com>
1672
1673 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
1674 (TYPE_READONLY): Likewise.
1675
1676 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
1677
1678 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
1679 don't pass --gdwarf2 to the assembler if the compiler will also
1680 provide debug info.
1681
1682 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
1683 Don't change INDEX.
1684
1685 Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1686
1687 * alias.c (nonoverlapping_memrefs_p): New function.
1688 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
1689
1690 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
1691
1692 2001-11-09 Aldy Hernandez <aldyh@redhat.com>
1693
1694 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
1695 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
1696 generating altivec code.
1697 (FIXED_REGISTERS): VRSAVE is fixed.
1698 (CALL_USED_REGISTERS): VRSAVE is call used.
1699
1700 2001-11-09 Jason Eckhardt <jle@rice.edu>
1701
1702 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
1703 code the branch target as ".+16/.+12", but rather use labels.
1704
1705 Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
1706
1707 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
1708 to work around limitations of certain versions of GAS.
1709
1710 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
1711 (muldi3): Update due to SUBREG_BYTE changes.
1712 (casesi): Similarly.
1713
1714 2001-11-09 Zack Weinberg <zack@codesourcery.com>
1715
1716 * doc/invoke.texi: Remove comment referring to -xf77-version.
1717
1718 2001-11-09 Kazu Hirata <kazu@hxi.com>
1719
1720 * config/convex/convex.c: Fix comment formatting.
1721 * config/convex/convex.h: Likewise.
1722
1723 2001-11-08 Zack Weinberg <zack@codesourcery.com>
1724
1725 * Makefile.in (.po.pox): Look both in srcdir and builddir
1726 for $(PACKAGE).pot.
1727 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
1728 to the source directory.
1729
1730 2001-11-09 Ben Elliston <bje@redhat.com>
1731 Michael Meissner <meissner@redhat.com>
1732 Andrew MacLeod <amacleod@redhat.com>
1733 Richard Henderson <rth@redhat.com>
1734 Nick Clifton <nickc@redhat.com>
1735 Catherine Moore <clm@redhat.com>
1736
1737 * m32r.c: Add support for m32rx processor.
1738 * m32r.h: Ditto.
1739 * m32r.md: Ditto.
1740 * t-m32r: Ditto.
1741 * m32r-protos.h: Add prototypes for m32rx functions.
1742 * doc/invoke.texi: Document -m32rx option.
1743
1744 2001-11-09 Jakub Jelinek <jakub@redhat.com>
1745
1746 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
1747 or after reload.
1748
1749 2001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1750
1751 * doc/install.texi2html: Use $MAKEINFO --no-split.
1752
1753 2001-11-09 Andreas Schwab <schwab@suse.de>
1754
1755 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
1756 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
1757 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1758 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
1759 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
1760
1761 2001-11-09 H.J. Lu <hjl@gnu.org>
1762
1763 * config/mips/mips.c (mips_output_function_prologues): Cast
1764 `tsize' to long for output.
1765
1766 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
1767
1768 * c-lang.c (LANG_HOOKS_NAME): New.
1769 (lang_hooks): Constify.
1770 (c_init_options): Update.
1771 (lang_identify): Remove.
1772 * c-parse.in (language_string): Remove.
1773 * dbxout.c: Include langhooks.h.
1774 (dbxout_symbol_location): Update.
1775 * dwarf2out.c: Include langhooks.h.
1776 (gen_compile_unit_die): Update.
1777 * dwarfout.c: Include langhooks.h.
1778 (prototyped_attribute, output_compile_unit_die): Update.
1779 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
1780 (LANG_HOOKS_INITIALIZER): Update.
1781 * langhooks.h (struct lang_hooks): New members. Constify.
1782 * stringpool.c: Don't include toplev.h.
1783 (set_identifier_size): Remove.
1784 * toplev.c (toplev_main): Initialize identifier size.
1785 (print_version): Update.
1786 * tree.h (language_string, init_lex, lang_identify,
1787 set_identifier_size): Remove.
1788 * Makefile.in: Update dependencies.
1789 * config/darwin.c: Include langhooks.h.
1790 (func_name_maybe_scoped): Update.
1791 * config/darwin.h (ASM_END_FILE): Update.
1792 * config/nextstep.h (ASM_END_FILE): Update.
1793 * config/nextstep21.h (ASM_END_FILE): Update.
1794 * config/i386/sun386.h (ASM_END_FILE): Update.
1795 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
1796 (rs6000_output_function_epilogue): Update.
1797 objc:
1798 * objc-act.c (LANG_HOOKS_NAME): Override.
1799 (struct lang_hooks): Constify.
1800 (objc_init_options): Update.
1801 (lang_identify): Remove.
1802
1803 Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
1804
1805 * fold-const.c (lshift_double): Honor PREC.
1806 (rshift_double): Likewise.
1807
1808 2001-11-08 Kazu Hirata <kazu@hxi.com>
1809
1810 * config/1750a/1750a.c: Fix comment formatting.
1811 * config/1750a/1750a.h: Likewise.
1812
1813 2001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
1814
1815 * configure.in (--enable-languages): Be more permissive about
1816 syntax. Check for empty lists better. Warn about $LANGUAGES.
1817 * configure: Regenerated.
1818
1819 2001-11-08 Richard Henderson <rth@redhat.com>
1820
1821 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
1822
1823 2001-11-08 Geoffrey Keating <geoffk@redhat.com>
1824
1825 * config.gcc: Rename stormy16 to xstormy16.
1826 * config/stormy16/stormy-abi: Likewise.
1827 * config/stormy16/stormy16-protos.h: Likewise.
1828 * config/stormy16/stormy16.c: Likewise.
1829 * config/stormy16/stormy16.h: Likewise.
1830 * config/stormy16/stormy16.md: Likewise.
1831
1832 2001-11-06 Geoffrey Keating <geoffk@redhat.com>
1833
1834 * tree.h (TYPE_VOLATILE): Add enable-checking code.
1835 (TYPE_READONLY): Likewise.
1836
1837 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1838
1839 * reload1.c (reload): Don't delete equiv insn if can throw.
1840
1841 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
1842 (clear_storage): Likewise, for OBJECT.
1843
1844 Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
1845
1846 * pa.c (emit_move_sequence): Fix SUBREG expression to
1847 use proper byte offset when extending a constant from
1848 SImode to DImode.
1849
1850 2001-11-09 Jakub Jelinek <jakub@redhat.com>
1851
1852 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
1853 which cannot throw.
1854
1855 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1856
1857 * explow.c (convert_memory_address, case SUBREG): Only return
1858 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
1859
1860 2001-11-08 Richard Henderson <rth@redhat.com>
1861
1862 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
1863 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
1864 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
1865
1866 2001-11-08 Aldy Hernandez <aldyh@redhat.com>
1867
1868 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
1869
1870 2001-11-08 Jakub Jelinek <jakub@redhat.com>
1871
1872 * dwarf2out.c (debug_str_hash): New.
1873 (struct indirect_string_node): New.
1874 (struct dw_val_struct): Change type of val_str to it.
1875 (DEBUG_STR_SECTION_FLAGS): Define.
1876 (add_AT_string): Push string into hashtable, increment reference
1877 counter.
1878 (AT_string): Return string from ht_identifier.
1879 (AT_string_form): New.
1880 (free_AT): For dw_val_class_str, just decrement reference counter.
1881 (size_of_string): Remove.
1882 (size_of_die): Use AT_string_form to decide what size the string
1883 occupies in DIE.
1884 (size_of_pubnames): Use strlen instead of size_of_string.
1885 (value_format): Use AT_string_form for dw_val_class_str.
1886 (output_die): Output DW_FORM_strp strings using
1887 dw2_asm_output_offset.
1888 (indirect_string_alloc, output_indirect_string): New.
1889 (dwarf2out_finish): Emit .debug_str strings if there are any.
1890
1891 2001-11-08 Andreas Franck <afranck@gmx.de>
1892
1893 * configure.in: Add AC_ARG_PROGRAM to support program name
1894 transformation with --program-prefix, --program-suffix and
1895 --program-transform-name.
1896 * configure: Regenerated.
1897 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
1898 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
1899 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
1900 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
1901 program_transform_name the way suggested by autoconf.
1902 (GCC_TARGET_INSTALL_NAME): Define.
1903 (install-driver): Use the transformed target alias name.
1904
1905 2001-11-08 Richard Henderson <rth@redhat.com>
1906
1907 * config/mips/mips.c (save_restore_insns): Remove GP from the
1908 restore registers mask early instead of special casing it inside
1909 the loop.
1910
1911 2001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
1912
1913 * cp/decl.c (shadow_warning): New function.
1914 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
1915 and an error when a block scope decl shadows a parameter.
1916
1917 2001-11-08 Richard Henderson <rth@redhat.com>
1918
1919 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
1920 case as well.
1921
1922 2001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
1923
1924 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
1925 to implement floating negation on processors prior to PA 2.0.
1926
1927 2001-11-08 Jakub Jelinek <jakub@redhat.com>
1928
1929 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
1930 (USE_LINKONCE_INDIRECT): Define.
1931 (dw2_output_indirect_constant_1): Try to output indirect constants
1932 into linkonce sections if possible.
1933 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
1934 (dw2_output_indirect_constants): Likewise.
1935
1936 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
1937
1938 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
1939
1940 2001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
1941
1942 * c-decl.c (pushdecl): Remove file and line.
1943 * c-typeck.c (pop_init_level): Remove size.
1944
1945 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
1946
1947 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
1948 for rs6000.
1949
1950 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
1951 (TARGET_ALTIVEC): New.
1952 (TARGET_SWITCHES): Add altivec.
1953 (FIRST_PSEUDO_REGISTER): Change to 109.
1954 (CALL_USED_REGISTERS): Same.
1955 (FIRST_ALTIVEC_REGNO): New.
1956 (LAST_ALTIVEC_REGNO): New.
1957 (ALTIVEC_REGNO_P): New.
1958 (UNITS_PER_ALTIVEC_WORD): New.
1959 (ALTIVEC_VECTOR_MODE): New.
1960 (FIXED_REGISTERS): Add altivec registers.
1961 (REG_ALLOC_ORDER): Same.
1962 (HARD_REGNO_NREGS): Adjust for altivec registers.
1963 (HARD_REGNO_MODE_OK): Same.
1964 (MODES_TIEABLE_P): Same.
1965 (REGISTER_MOVE_COST): Same.
1966 (REGNO_REG_CLASS): Same.
1967 (reg_class): Add ALTIVEC_REGS.
1968 (REG_CLASS_NAMES): Same.
1969 (REG_CLASS_CONTENTS): Same.
1970 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
1971 (ALTIVEC_ARG_RETURN): New.
1972 (FUNCTION_VALUE): Handle VECTOR_TYPE.
1973 (LIBCALL_VALUE): Handle altivec vector modes.
1974 (VECTOR_MODE_SUPPORTED_P): New.
1975 (ALTIVEC_ARG_MIN_REG): New.
1976 (ALTIVEC_ARG_MAX_REG): New.
1977 (ALTIVEC_ARG_NUM_REG): New.
1978 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
1979 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
1980 (REGISTER_NAMES): Add altivec regs.
1981 (DEBUG_REGISTER_NAMES): Same.
1982 (ADDITIONAL_REGISTER_NAMES): Same.
1983 (rs6000_builtins): New.
1984 (MD_EXPAND_BUILTIN): New.
1985 (MD_INIT_BUILTINS): New.
1986 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
1987 for AltiVec instructions.
1988 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
1989 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
1990 registers.
1991 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
1992 (TARGET_SWITCHES): Add no-altivec.
1993 (DATA_ALIGNMENT): Align vectors to 128 bits.
1994 (TARGET_OPTIONS): Add abi= option.
1995 Add rs6000_abi_string extern.
1996 (LOCAL_ALIGNMENT): New.
1997 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
1998 (MASK_ALTIVEC_ABI): New.
1999 (TARGET_ALTIVEC_ABI): New.
2000 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
2001 call-saved.
2002 (STACK_BOUNDARY): Adjust for altivec.
2003 (BIGGEST_ALIGNMENT): Same.
2004 (rs6000_args): Add vregno.
2005 (USE_ALTIVEC_FOR_ARG_P): New.
2006 (FIXED_REGISTERS): Add vrsave register.
2007 (CALL_USED_REGISTERS): Same.
2008 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
2009 (VRSAVE_REGNO): New.
2010 (reg_class): Add VRSAVE_REGS.
2011 (REG_CLASS_NAMES): Same.
2012 (REG_CLASS_CONTENTS): Same.
2013 (REGNO_REG_CLASS): Same.
2014
2015 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
2016 (ABI_STACK_BOUNDARY): Same.
2017 (BIGGEST_ALIGNMENT): Same.
2018 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
2019 (ROUND_TYPE_ALIGN): Same.
2020
2021 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2022 to 64.
2023
2024 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2025 to 64.
2026
2027 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
2028 to 64.
2029
2030 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
2031 (altivec_expand_builtin): New.
2032 (altivec_init_builtins): New.
2033 (TARGET_EXPAND_BUILTIN): New.
2034 (TARGET_INIT_BUILTINS): New.
2035 (rs6000_init_builtins): New.
2036 (struct builtin_description): New.
2037 (bdesc_2arg): New.
2038 (rs6000_reg_names): Add altivec registers.
2039 (alt_reg_names): Same.
2040 (secondary_reload_class): Altivec regs can hold altivec regs and
2041 memory.
2042 (rs6000_emit_move): Force constants into memory for AltiVec moves.
2043 (print_operand): Add 'y' case for printing altivec memory
2044 operands.
2045 (rs6000_legitimize_address): Legitimize vector addresses into
2046 [REG+REG] or [REG].
2047 (altivec_expand_binop_builtin): New.
2048 New string rs6000_current_abi.
2049 (rs6000_override_options): Call rs6000_parse_abi_options.
2050 (rs6000_parse_abi_options): New.
2051 (function_arg_boundary): Vector arguments must be 16
2052 byte aligned.
2053 (function_arg_advance): Handle vector arguments.
2054 (function_arg_partial_nregs): Same.
2055 (init_cumulative_args): Same.
2056 (function_arg): Same.
2057
2058 * config/rs6000/rs6000.md (altivec_lvx): New.
2059 (type): Add altivec attribute.
2060 (movv4si): New.
2061 (*movv4si_internal): New.
2062 (movv16qi): New.
2063 (*movv16qi_internal): New.
2064 (movv8hi): New.
2065 (*movv8hi_internal1): New.
2066 (movv4sf): New.
2067 (*movv4sf_internal1): New.
2068 (altivec_stvx): New.
2069 (vaddubm): New.
2070 (vadduhm): New.
2071 (vadduwm): New.
2072 (vaddfp): New.
2073 (vaddcuw): New.
2074 (vaddubs): New.
2075 (vaddsbs): New.
2076 (vadduhs): New.
2077 (vaddshs): New.
2078 (vadduws): New.
2079 (vaddsws): New.
2080 (vand): New.
2081 (vandc): New.
2082 (vavgub): New.
2083 (vavgsb): New.
2084 (vavguh): New.
2085 (vavgsh): New.
2086 (vavguw): New.
2087 (vavgsw): New.
2088 (vcmpbfp): New.
2089 (vcmpequb): New.
2090 (vcmpequh): New.
2091 (vcmpequw): New.
2092 (vcmpeqfp): New.
2093 (vcmpgefp): New.
2094 (vcmpgtub): New.
2095 (vcmpgtsb): New.
2096 (vcmpgtuh): New.
2097 (vcmpgtsh): New.
2098 (vcmpgtuw): New.
2099 (vcmpgtsw): New.
2100 (vcmpgtfp): New.
2101 (vcmpgefp): New.
2102 (vcmpgtub): New.
2103 (vcmpgtsb): New.
2104 (vcmpgtuh): New.
2105 (vcmpgtsh): New.
2106 (vcmpgtuw): New.
2107 (vcmpgtsw): New.
2108 (vcmpgtfp): New.
2109 (vmaxub): New.
2110 (vmaxsb): New.
2111 (vmaxuh): New.
2112 (vmaxsh): New.
2113 (vmaxuw): New.
2114 (vmaxsw): New.
2115 (vmaxfp): New.
2116 (vmrghb): New.
2117 (vmrghh): New.
2118 (vmrghw): New.
2119 (vmrglb): New.
2120 (vmrglh): New.
2121 (vmrglw): New.
2122 (vminub): New.
2123 (vminsb): New.
2124 (vminuh): New.
2125 (vminsh): New.
2126 (vminuw): New.
2127 (vminsw): New.
2128 (vminfp): New.
2129 (vmuleub): New.
2130 (vmulesb): New.
2131 (vmuleuh): New.
2132 (vmulesh): New.
2133 (vmuloub): New.
2134 (vmulosb): New.
2135 (vmulouh): New.
2136 (vmulosh): New.
2137 (vnor): New.
2138 (vor): New.
2139 (vpkuhum): New.
2140 (vpkuwum): New.
2141 (vpkpx): New.
2142 (vpkuhss): New.
2143 (vpkshss): New.
2144 (vpkuwss): New.
2145 (vpkswss): New.
2146 (vpkuhus): New.
2147 (vpkshus): New.
2148 (vpkuwus): New.
2149 (vpkswus): New.
2150 (vrlb): New.
2151 (vrlh): New.
2152 (vrlw): New.
2153 (vslb): New.
2154 (vslh): New.
2155 (vslw): New.
2156 (vsl): New.
2157 (vslo): New.
2158 (vsrb): New.
2159 (vrsh): New.
2160 (vrsw): New.
2161 (vsrab): New.
2162 (vsrah): New.
2163 (vsraw): New.
2164 (vsr): New.
2165 (vsro): New.
2166 (vsububm): New.
2167 (vsubuhm): New.
2168 (vsubuwm): New.
2169 (vsubfp): New.
2170 (vsubcuw): New.
2171 (vsububs): New.
2172 (vsubsbs): New.
2173 (vsubuhs): New.
2174 (vsubshs): New.
2175 (vsubuws): New.
2176 (vsubsws): New.
2177 (vsum4ubs): New.
2178 (vsum4sbs): New.
2179 (vsum4shs): New.
2180 (vsum2sws): New.
2181 (vsumsws): New.
2182 (vxor): New.
2183
2184 2001-11-07 Daniel Berlin <dan@cgsoftware.com>
2185
2186 * Makefile.in (df.o): Add fibheap.h to dependencies.
2187
2188 * df.h: Add prototypes for transfer functions, iterative_dataflow
2189 functions.
2190 (enum df_flow_dir): New enum.
2191 (enum df_confluence_op): New enum.
2192 (struct df): Add inverse_rts_map.
2193
2194 * df.c: Add sbitmap.h to the list of includes.
2195 (df_rd_global_compute): Removed.
2196 (df_ru_global_compute): Removed.
2197 (df_lr_global_compute): Removed.
2198 (df_rd_transfer_function): New function.
2199 (df_ru_transfer_function): New function.
2200 (df_lr_transfer_function): New function.
2201 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
2202 Use iterative_dataflow_bitmap instead of df_*_global_compute.
2203 (iterative_dataflow_sbitmap): New function.
2204 (iterative_dataflow_bitmap): New function.
2205
2206 2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
2207
2208 * doc/gcc.texi: Move terminology and spelling conventions to
2209 htdocs/codingconventions.html.
2210
2211 2001-11-07 Graham Stott <grahams@redhat.com>
2212
2213 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
2214
2215 Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
2216
2217 * expmed.c (expand_mult): Force operand to register before computing
2218 cost.
2219 * i386.c (x86_decompose_lea): New global vairable.
2220 * i386.h (x86_decompose_lea): Declare.
2221 (TARGET_DECOMPOSE_LEA): New macro.
2222 (RTX_COST): Handle leas properly.
2223
2224 2001-11-06 Richard Henderson <rth@redhat.com>
2225
2226 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
2227 defined for a CONSTRUCTOR; don't check it.
2228
2229 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
2230
2231 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
2232 test for absolute pathnames.
2233
2234 2001-11-06 Olivier Hainque <hainque@act-europe.fr>
2235
2236 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
2237 instructions up to the target pc inclusive.
2238
2239 2001-11-06 Steve Christiansen <smc@us.ibm.com>
2240
2241 * loop.c (loop_regs_scan): Don't invalidate PIC register.
2242
2243 2001-11-06 Eric Christopher <echristo@redhat.com>
2244
2245 * config/mips/mips.md(movdf_internal2): Add constraints for float
2246 to general register move.
2247 * config/mips/elf64.h: Add default ABI.
2248
2249 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2250
2251 * alias.c:: Include langhooks.h.
2252 * emit-rtl.c: Similarly.
2253 * toplev.c: Similarly.
2254 * tree-inline.c: Similarly.
2255 * langhooks-def.h: New, the old langhooks.h. Give the default
2256 hooks a common prefix.
2257 * langhooks.h: Contents extracted from toplev.h.
2258 * toplev.h: Move langhook stuff to langhooks.h.
2259 * langhooks.c: Give default hooks a common prefix.
2260
2261 * c-lang.c: Include langhooks-def.h.
2262 * objc/objc-act.c: Similarly.
2263 * Makefile.in: Update.
2264 * objc/Make-lang.in: Update.
2265
2266 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
2267
2268 * doc/install.texi: Document that configure options not listed in
2269 this file are unsupported. Document --with-system-zlib.
2270
2271 Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2272
2273 * rtl.h (mem_for_const_double): New declaration.
2274 * varasm.c (mem_for_const_double): New function.
2275 * config/convex/convex.md (movdf): Use it.
2276 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
2277 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
2278 * config/m68k/m68kv4.h: Likewise.
2279
2280 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
2281 of new GP reg classes.
2282
2283 * expr.c (store_field): When making temp object for unaligned
2284 component, set it to alias set 0.
2285
2286 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
2287
2288 * c-common.c (c_expand_expr_stmt): Apply default conversions to
2289 non-lvalue arrays if C99.
2290 * c-typeck.c (default_conversion): Split out code handling
2291 array-to-pointer and function-to-pointer conversions into a
2292 separate default_function_array_conversion function.
2293 (default_function_array_conversion): New function. Keep track of
2294 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
2295 arrays unchanged outside C99 mode instead of giving an error for
2296 them.
2297 (build_component_ref): Use pedantic_non_lvalue when handling
2298 COMPOUND_EXPR. Don't handle COND_EXPR specially.
2299 (convert_arguments): Use default_function_array_conversion.
2300 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
2301 non-lvalues are OK.
2302 (unary_complex_lvalue): Likewise.
2303 (internal_build_compound_expr): Use
2304 default_function_array_conversion. Apply default conversions to
2305 function in compound expression.
2306 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
2307 Use default_function_array_conversion.
2308 * doc/extend.texi: Update documentation of subscripting non-lvalue
2309 arrays.
2310 Fixes PR c/461.
2311
2312 2001-11-05 Zack Weinberg <zack@codesourcery.com>
2313
2314 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
2315 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
2316 corresponding to the complete set of .po and .gmo files in
2317 the source directory's po subdir, modified by LINGUAS. Don't
2318 look at ALL_LINGUAS.
2319 * configure.in: Don't set ALL_LINGUAS.
2320 * configure: Regenerate.
2321
2322 * Makefile.in (.po.gmo): Don't move into source directory.
2323 (.po.pox): Clarify comments.
2324 (install-po): Look for .gmo files in both srcdir and objdir;
2325 don't fail if a file is totally missing.
2326 (distclean): rmdir ada subdirectory too.
2327
2328 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
2329
2330 * config/rs6000/rs6000.c (rs6000_select_section): Handle
2331 CONSTRUCTORs _correctly_.
2332
2333 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2334
2335 * c-decl.c (delete_block): Remove.
2336 * c-tree.h (delete_block): Remove.
2337
2338 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2339
2340 * cppexp.c (lex, parse_defined): Update warning about defined.
2341
2342 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
2343
2344 * config/rs6000/rs6000.c (rs6000_select_section): Handle
2345 CONSTRUCTORs too.
2346
2347 2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
2348
2349 * config/arm/arm.c (arm_return_in_memory): Cope with
2350 int_size_in_bytes returning -1.
2351
2352 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
2353 DECL being NULL.
2354
2355 Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
2356
2357 * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
2358 remove unneeded dependencies;
2359 (cfglayout.o): New.
2360 * cfglayout.c, cfglayout.h: New files; break out from ...
2361 * bb-reorder.c: ... here; Remove unneeded includes;
2362
2363 2001-11-04 Alan Modra <amodra@bigpond.net.au>
2364
2365 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
2366
2367 2001-11-04 David Edelsohn <edelsohn@gnu.org>
2368
2369 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
2370 mode as well. Do not explicitly create intermediate regs.
2371
2372 2001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2373
2374 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
2375 (common_section): Delete unused variable.
2376 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
2377 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
2378 * arm-protos.h (arm_poke_function_name, aof_add_import,
2379 aof_delete_import): Const-ify.
2380 * arm.c (legitimize_pic_address): Wrap variables in the macro
2381 controlling their usage.
2382 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
2383 (arm_poke_function_name, pic_chain, import, aof_add_import,
2384 aof_delete_import): Const-ify.
2385 * i386.c (ix86_osf_output_function_prologue): Const-ify.
2386 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
2387 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
2388 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
2389 * i860/sysv3.h: Add missing comment closure.
2390 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
2391 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
2392 to symbolic_operand.
2393
2394 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
2395 (i960-*-*): Set tmake_file.
2396 (sparc86x-*-elf*): Fix typo in header name.
2397
2398 * sched-rgn.c (schedule_insns): Delete unused variable.
2399
2400 2001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
2401
2402 PR c/2820
2403 * c-typeck.c (lookup_field): Rework to return a chain down to
2404 the looked-up field.
2405 (build_component_ref): Use the new lookup_field to handle
2406 nested anonymous entities correctly.
2407
2408 Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2409
2410 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
2411 Change parameters to gen_rtx_CONST_DOUBLE.
2412 (GEN_INT64, sparc_emit_set_const64): Likewise.
2413 * config/sparc/sparc.md (movdf split): Likewise.
2414
2415 2001-11-03 Geoffrey Keating <geoffk@redhat.com>
2416
2417 * unroll.c (calculate_giv_inc): Use find_last_value rather
2418 than just hoping the last instruction is the right SET.
2419 [Fixes 990604-1.c on stormy16.]
2420
2421 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
2422 library at all if -T is used.
2423
2424 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
2425 some uses of uninitialized variables in error cases.
2426
2427 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
2428 look at 'temp' if we won't be using it.
2429
2430 * config/stormy16/stormy16.h (CONST_COSTS): Define.
2431 (RTX_COSTS): Define.
2432 (ADDRESS_COST): Define.
2433 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
2434
2435 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
2436
2437 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
2438 stormy16_asm_output_mi_thunk.
2439 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
2440 function.
2441 * config/stormy16/stormy16-protos.h
2442 (stormy16_asm_output_mi_thunk): New prototype.
2443
2444 2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
2445
2446 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
2447 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
2448 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
2449 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
2450 sched-int.h, toplev.c, config/alpha/alpha.c,
2451 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
2452 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
2453 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
2454 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
2455 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
2456 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
2457 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
2458
2459 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2460
2461 * Makefile.in (dbxout.o): Depend on function.h.
2462 * collect2.c (is_in_list): Hide unused function.
2463 * dbxout.c: Include function.h.
2464 (source_label_number, dbxout_source_line, dbxout_source_file,
2465 dbxout_function_end, dbxout_begin_function): Wrap/move inside
2466 macros controlling usage.
2467 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
2468 * output.h (exports_section): Prototype.
2469
2470 * convex.c (convex_output_function_prologue): Fix format specifier
2471 warning.
2472 (asm_declare_function_name): Fix signed/unsigned warning.
2473 (print_operand): Fix format specifier warning.
2474 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
2475 * dsp16xx-protos.h (uns_comparison_operator,
2476 num_1600_core_shifts): Prototype.
2477 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
2478 (frame_size, frame_pointer_offset): Delete.
2479 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
2480 Make static. Fix format specifier warnings.
2481 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
2482 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
2483 * dsp16xx.md: Add default case in switches.
2484 * fr30.h (IN_RANGE): Delete.
2485 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
2486 * mcore-protos.h (mcore_output_cmov): Const-ify.
2487 * mcore.c (mcore_output_cmov): Likewise.
2488 * mcore.h (switch_to_section): Make static and prototype.
2489 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
2490 unsigned>=0 warnings.
2491 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
2492 * rs6000-protos.h (read_only_data_section,
2493 read_only_private_data_section): Prototype.
2494 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
2495 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
2496 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
2497
2498 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2499
2500 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
2501 ATTRIBUTE_UNUSED.
2502 * final.c (final_scan_insn): Add brackets around body of if-stmt.
2503 * gcc.c (convert_filename): Add static prototype. Const-ify.
2504 Wrap variable in macros controlling its use.
2505 * output.h (sdata_section): Add prototype.
2506
2507 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2508 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
2509 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
2510 (ASM_FILE_START): Const-ify.
2511 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
2512 specifier warning.
2513 * c4x.md: Don't use the 'U' integer suffix.
2514 * clipper.md (clipper_movstr): Delete declaration.
2515 * d30v-protos.h (d30v_move_2words): Const-ify.
2516 (debug_stack_info): Add prototype.
2517 * d30v.c: Include "integrate.h".
2518 (d30v_function_arg_boundary, d30v_function_arg,
2519 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
2520 signed/unsigned warnings.
2521 (d30v_print_operand_memory_reference, d30v_move_2words):
2522 Const-ify.
2523 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
2524 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
2525 * fr30.md: Const-ify.
2526 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2527 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
2528 (mvs_get_label_page): Hide unused static function.
2529 * i860.c (current_function_original_name): Const-ify.
2530 * i860/sysv3.h (current_function_original_name): Likewise.
2531 * i860/sysv4.h (current_function_original_name): Likewise.
2532 * i960.md: Add default case in switches. Remove unused variable.
2533 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
2534 * m32r.md: Const-ify.
2535 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
2536 * m68hc11.c: Include "reload.h".
2537 (static_chain_reg, print_options, m68hc11_asm_file_start):
2538 Const-ify.
2539 * m68hc11.md: Delete unused variable. Const-ify. Add parens
2540 around & in comparison.
2541 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
2542 * mn10200.c (shift_mode): Remove trailing comma.
2543 * mn10300-protos.h (output_tst): Const-ify.
2544 * mn10300.c (output_tst): Likewise.
2545 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
2546 warnings.
2547 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
2548 * pa.c (output_ascii): Likewise.
2549 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
2550 * pdp11.md (expand_unop): Delete declarations.
2551 * pj-protos.h (pj_output_addsi3): Const-ify.
2552 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
2553 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
2554 unique_src_operand): Add prototypes.
2555 (pj_output_store_into_lval): Make definition static.
2556 (pj_function_incoming_arg): Don't use unary plus.
2557 (pj_output_addsi3): Const-ify.
2558 * romp.md (get_symref): Delete declarations.
2559 * v850-c.c (mark_current_function_as_interrupt): Don't return
2560 value from void function.
2561 * v850.c: Include "integrate.h".
2562 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
2563 * vax-protos.h (const_section): Add prototype.
2564
2565 2001-11-03 Aldy Hernandez <aldyh@redhat.com>
2566
2567 * machmode.def: Add documentation for the seventh argument in
2568 vector modes.
2569
2570 2001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
2571
2572 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
2573 consistently.
2574 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
2575 <-melf>: Don't have markup for ELF acronym.
2576
2577 2001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
2578
2579 * config.gcc (mmix-*-*): New target.
2580 * doc/invoke.texi: Document MMIX options.
2581 * doc/contrib.texi: Add note about MMIX port to my entry.
2582 * config/mmix/t-mmix: New file.
2583 * config/mmix/mmix.h: New file.
2584 * config/mmix/mmix-protos.h: New file.
2585 * config/mmix/mmix.c: New file.
2586 * config/mmix/mmix.md: New file.
2587 * config/mmix/crti.asm: New file.
2588 * config/mmix/crtn.asm: New file.
2589
2590 2001-11-03 Kazu Hirata <kazu@hxi.com>
2591
2592 * config/sparc/linux-aout.h: Fix comment formatting.
2593 * config/sparc/linux.h: Likewise.
2594 * config/sparc/linux64.h: Likewise.
2595 * config/sparc/lynx.h: Likewise.
2596 * config/sparc/pbd.h: Likewise.
2597 * config/sparc/sol2-sld-64.h: Likewise.
2598 * config/sparc/sol2.h: Likewise.
2599 * config/sparc/sparc.c: Likewise.
2600 * config/sparc/sparc.h: Likewise.
2601 * config/sparc/sparc.md: Likewise.
2602 * config/sparc/sunos4.h: Likewise.
2603 * config/sparc/vxsim.h: Likewise.
2604 * config/sparc/vxsparc.h: Likewise.
2605 * config/sparc/vxsparc64.h: Likewise.
2606
2607 Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2608
2609 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
2610 reference to CONST_DOUBLE_MEM in comment.
2611 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
2612 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
2613 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
2614 * function.c (pop_function_context_from): Don't call
2615 restore_varasm_status.
2616 * function.h (restore_varasm_status): Delete declaration.
2617 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
2618 * rtl.c: Likewise.
2619 * rtl.def (CONST_DOUBLE): Update comment.
2620 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
2621 (CONST_DOUBLE_CHAIN): Likewise.
2622 (CONST_DOUBLE_MEM): Delete.
2623 (gen_rtx_CONST_DOUBLE): Update parameters.
2624 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
2625 Remove reference to CONST_DOUBLE_MEM.
2626 (const_alias_set): New variable.
2627 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
2628 (immed_real_const_1): Adjust tests for 0, 1, and 2.
2629 Don't set CONST_DOUBLE_MEM.
2630 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
2631 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
2632 Put constant in const_alias_set.
2633 (struct pool_constant): ALIGN now unsigned.
2634 OFFSET now HOST_WIDE_INT.
2635 Delete LABEL.
2636 (restore_varasm_status): Deleted.
2637 (mark_pool_constant): Mark desc->rtl.
2638 (force_const_mem): Rework to store rtl in hash table,
2639 not CONST_DOUBLE_MEM.
2640 Put constant in const_alias_set.
2641 (find_pool_constant): Check desc->rtl.
2642 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
2643 (init_varasm_once): Initialize const_alias_set.
2644
2645 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
2646 force_const_mem.
2647
2648 * reload.c (combine_reloads): Don't combine an output reload if there
2649 are other reloads around for part of the output.
2650
2651 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
2652 constant expression.
2653 (set_mem_decl): New function.
2654 * expr.h (set_mem_decl): New declaration.
2655 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
2656 (output_asm_operand_names): Add tab.
2657 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
2658
2659 * builtins.c (get_memory_rtx): Properly set MEM alias set and
2660 attributes.
2661
2662 2001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
2663
2664 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
2665 Use "invalid" instead of "illegal". Use @r in comments in
2666 examples.
2667
2668 2001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
2669
2670 * c-decl.c (pushdecl): Move block inside if conditional to remove
2671 possibility of a segfault. Lookup block-level extern
2672 variables in enclosing scopes correctly.
2673
2674 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
2675
2676 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
2677
2678 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
2679 SUBREG so we avoid SUBREGing memory.
2680
2681 * expmed.c (store_bit_field): Same.
2682
2683 2001-11-02 DJ Delorie <dj@redhat.com>
2684
2685 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
2686 using FP registers for DImode mem-mem moves is acceptable.
2687
2688 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
2689
2690 * builtins.c (apply_args_size): Handle vector arguments.
2691 (apply_result_size): Same.
2692
2693 * machmode.def: Set WIDER mode field for all vector entries.
2694
2695 2001-11-02 Graham Stott <grahams@redhat.com>
2696
2697 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
2698
2699 2001-11-01 Eric Christopher <echristo@redhat.com>
2700
2701 * config.gcc: Revert part of earlier patch.
2702 * config/mips/linux.h: Ditto.
2703 * df.c: Include tm_p.h to avoid warnings.
2704 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
2705 #if/#endif.
2706 * config/mips/mips.c: Define mips_abi regardless.
2707 (mips_output_function_prologues): Add long casts for .frame
2708 output.
2709 (override_options): Allow use of ABI_32.
2710
2711 2001-11-01 Kazu Hirata <kazu@hxi.com>
2712
2713 * config/m68hc11/m68hc11.c: Fix comment formatting.
2714 * config/m68hc11/m68hc11.h: Likewise.
2715 * config/m68hc11/m68hc11.md: Likewise.
2716
2717 2001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
2718
2719 * c-typeck.c (default_conversion): Retain the original expression
2720 codes.
2721 * gcc.dg/Wparentheses.c: New tests.
2722
2723 2001-11-01 David S. Miller <davem@redhat.com>
2724
2725 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
2726 64-bit Sparc description more in line with reality.
2727
2728 2001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
2729
2730 * Makefile.in (GCOV_OBJS): Add version.o.
2731 * gcov.c: Include "version.h" and <getopt.h>.
2732 (gcov_version_string): Remove.
2733 (print_usage): Take a parameter to determine whether this is a
2734 call from --help or an error message. Give fuller output that
2735 follows the GNU Coding Standards for --help.
2736 (print_version): New function.
2737 (options): New.
2738 (process_args): Use getopt_long. Support long options. Follow
2739 GNU Coding Standards for --help and --version.
2740 * doc/gcov.texi: Document long options.
2741 Addresses part of PR other/704.
2742
2743 2001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
2744
2745 * pa.c (output_move_double): Fix typo in double load.
2746
2747 2001-11-01 Kazu Hirata <kazu@hxi.com>
2748
2749 * config/h8300/h8300.c (h8300_encode_label): Compute a string
2750 before passing it to ggc_alloc_string.
2751
2752 2001-11-01 Kazu Hirata <kazu@hxi.com>
2753
2754 * config/m68k/3b1.h: Fix comment formatting.
2755 * config/m68k/3b1g.h: Likewise.
2756 * config/m68k/a-ux.h: Likewise.
2757 * config/m68k/amix.h: Likewise.
2758 * config/m68k/apollo68.h: Likewise.
2759 * config/m68k/atari.h: Likewise.
2760 * config/m68k/aux-exit.c: Likewise.
2761 * config/m68k/ccur-GAS.h: Likewise.
2762 * config/m68k/crds.h: Likewise.
2763 * config/m68k/dpx2.h: Likewise.
2764 * config/m68k/dpx2g.h: Likewise.
2765 * config/m68k/hp310.h: Likewise.
2766 * config/m68k/hp320.h: Likewise.
2767 * config/m68k/isi.h: Likewise.
2768 * config/m68k/linux.h: Likewise.
2769 * config/m68k/lynx.h: Likewise.
2770 * config/m68k/m68k-psos.h: Likewise.
2771 * config/m68k/m68k.c: Likewise.
2772 * config/m68k/m68k.h: Likewise.
2773 * config/m68k/m68k.md: Likewise.
2774 * config/m68k/m68kelf.h: Likewise.
2775 * config/m68k/m68kv4.h: Likewise.
2776 * config/m68k/mot3300.h: Likewise.
2777 * config/m68k/news.h: Likewise.
2778 * config/m68k/next.h: Likewise.
2779 * config/m68k/pbb.h: Likewise.
2780 * config/m68k/plexus.h: Likewise.
2781 * config/m68k/sgs.h: Likewise.
2782 * config/m68k/sun3.h: Likewise.
2783 * config/m68k/tower.h: Likewise.
2784 * config/m68k/vxm68k.h: Likewise.
2785
2786 2001-10-31 DJ Delorie <dj@redhat.com>
2787
2788 * config/mips/mips.h (mips_cache_flush_func): Prototype.
2789 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
2790 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
2791 * config/mips/mips.c (mips_cache_flush_func): New.
2792 * doc/invoke.texi: Document the new options.
2793
2794 2001-10-31 Hans-Peter Nilsson <hp@axis.com>
2795
2796 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
2797 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
2798
2799 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
2800
2801 * config/cris/cris.c: Include output.h after tree.h but before
2802 target.h.
2803
2804 2001-10-31 Zack Weinberg <zack@codesourcery.com>
2805
2806 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
2807 (INTL_SUBDIRS): Just intl.
2808 (.SUFFIXES): Add .gmo .po .pox.
2809 (native): Also depend on build-@POSUB@.
2810 (intl.all, intl.install): Depend on config.h and things it includes.
2811 (po-generated): New target; depend on c-parse.c and tradcif.c.
2812 (install-normal): Also depend on install-@POSUB@.
2813 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
2814 (build-, install-, build-po, update-po, install-po,
2815 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
2816
2817 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
2818 * configure.in: Don't munge XGETTEXT. Don't generate
2819 po/Makefile.in.
2820 * configure: Regenerate.
2821
2822 * exgettext: Delete.
2823 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
2824 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
2825
2826 2001-10-31 Kazu Hirata <kazu@hxi.com>
2827
2828 * config/h8300/h8300.md (two anonymous patterns): New.
2829
2830 2001-10-31 Aldy Hernandez <aldyh@redhat.com>
2831
2832 * tree.h (tree_index): Add support for V16QI and V8HI.
2833 (V8HI_type_node): New.
2834 (V16QI_type_node): New.
2835
2836 * tree.c (build_common_tree_nodes_2): Same.
2837
2838 * c-common.c (type_for_mode): Same.
2839
2840 2001-10-31 Kazu Hirata <kazu@hxi.com>
2841
2842 * config/i386/att.h: Fix comment formatting.
2843 * config/i386/beos-elf.h: Likewise.
2844 * config/i386/bsd.h: Likewise.
2845 * config/i386/bsd386.h: Likewise.
2846 * config/i386/crtdll.h: Likewise.
2847 * config/i386/cygwin.asm: Likewise.
2848 * config/i386/cygwin.h: Likewise.
2849 * config/i386/djgpp.h: Likewise.
2850 * config/i386/freebsd-aout.h: Likewise.
2851 * config/i386/freebsd.h: Likewise.
2852 * config/i386/gas.h: Likewise.
2853 * config/i386/i386-interix.h: Likewise.
2854 * config/i386/i386-protos.h: Likewise.
2855 * config/i386/i386.c: Likewise.
2856 * config/i386/i386.h: Likewise.
2857 * config/i386/i386.md: Likewise.
2858 * config/i386/i386elf.h: Likewise.
2859 * config/i386/interix.c: Likewise.
2860 * config/i386/isc.h: Likewise.
2861 * config/i386/isccoff.h: Likewise.
2862 * config/i386/iscdbx.h: Likewise.
2863 * config/i386/linux.h: Likewise.
2864 * config/i386/lynx.h: Likewise.
2865 * config/i386/mingw32.h: Likewise.
2866 * config/i386/netbsd-elf.h: Likewise.
2867 * config/i386/next.h: Likewise.
2868 * config/i386/osf1elf.h: Likewise.
2869 * config/i386/osfrose.h: Likewise.
2870 * config/i386/sco5.h: Likewise.
2871 * config/i386/seq-gas.h: Likewise.
2872 * config/i386/seq-sysv3.h: Likewise.
2873 * config/i386/sequent.h: Likewise.
2874 * config/i386/sol2.h: Likewise.
2875 * config/i386/sun386.h: Likewise.
2876 * config/i386/uwin.asm: Likewise.
2877 * config/i386/uwin.h: Likewise.
2878 * config/i386/vxi386.h: Likewise.
2879 * config/i386/win32.h: Likewise.
2880 * config/i386/winnt.c: Likewise.
2881 * config/i386/xm-cygwin.h: Likewise.
2882 * config/i386/xm-mingw32.h: Likewise.
2883
2884 2001-10-31 Kazu Hirata <kazu@hxi.com>
2885
2886 * builtins.def: Fix comment typos.
2887 * config/alpha.c: Likewise.
2888 * config/arm/arm.c: Likewise.
2889 * config/avr/avr.h: Likewise.
2890 * config/d30v/d30v.c: Likewise.
2891 * config/d30v/d30v.h: Likewise.
2892 * config/d30v/d30v.md: Likewise.
2893 * config/dsp16xx/dsp16xx.c: Likewise.
2894 * config/fr30/fr30.c: Likewise.
2895 * config/fr30/fr30.md: Likewise.
2896 * config/i386/i386.c: Likewise.
2897 * config/i860/i860.c: Likewise.
2898 * config/i960/i960.c: Likewise.
2899 * config/ia64/ia64.c: Likewise.
2900 * config/mips/mips.c: Likewise.
2901 * config/pa/pa.c: Likewise.
2902 * config/rs6000/rs6000.c: Likewise.
2903 * config/s390/s390.c: Likewise.
2904 * config/sparc/sparc.c: Likewise.
2905
2906 2001-10-30 Kazu Hirata <kazu@hxi.com>
2907
2908 * config/mips/elf.h: Fix comment formatting.
2909 * config/mips/elf64.h: Likewise.
2910 * config/mips/iris5.h: Likewise.
2911 * config/mips/iris5gas.h: Likewise.
2912 * config/mips/iris6.h: Likewise.
2913 * config/mips/isa3264.h: Likewise.
2914 * config/mips/linux.h: Likewise.
2915 * config/mips/mips.c: Likewise.
2916 * config/mips/mips.h: Likewise.
2917 * config/mips/mips.md: Likewise.
2918 * config/mips/mips16.S: Likewise.
2919 * config/mips/netbsd.h: Likewise.
2920 * config/mips/osfrose.h: Likewise.
2921 * config/mips/r3900.h: Likewise.
2922 * config/mips/sni-svr4.h: Likewise.
2923 * config/mips/svr4-t.h: Likewise.
2924 * config/mips/ultrix.h: Likewise.
2925
2926 2001-10-30 Daniel Berlin <dan@cgsoftware.com>
2927
2928 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
2929 when we update head->current.
2930
2931 2001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
2932
2933 * tree.c (id_string_size): Remove.
2934 (dump_tree_statistics): Update.
2935 * toplev.c (compile_file): If dumping stats, dump tree stats too.
2936
2937 Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
2938
2939 * sched-rgn.c (schedule_insns): Fix comment.
2940
2941 2001-10-30 Zack Weinberg <zack@codesourcery.com>
2942
2943 * configure.in: Correct previous change: don't assume that
2944 gas's version number _isn't_ the last thing on the line, or
2945 isn't the only number on the line, either.
2946 * configure: Regenerate.
2947
2948 2001-10-30 Kazu Hirata <kazu@hxi.com>
2949
2950 * cfgcleanup.c: Fix a comment typo.
2951
2952 2001-10-30 Kazu Hirata <kazu@hxi.com>
2953
2954 * alias.c: Fix comment formatting.
2955 * recog.c: Likewise.
2956 * config/cris/cris.c: Likewise.
2957 * config/cris/cris.h: Likewise.
2958 * config/i960/i960.c: Likewise.
2959 * config/i960/i960.h: Likewise.
2960
2961 2001-10-30 Kazu Hirata <kazu@hxi.com>
2962
2963 * config/arm/arm.c: Fix a comment typo.
2964 * config/arm/arm.h: Likewise.
2965 * config/ia64/ia64.c: Likewise.
2966
2967 2001-10-30 Jakub Jelinek <jakub@redhat.com>
2968
2969 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
2970 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
2971 * rtl.h (set_unique_reg_note): Change return value.
2972 * gcse.c (try_replace_reg): Use set_unique_reg_note.
2973 * cse.c (cse_insn): Likewise.
2974 * expr.c (emit_move_insn): Likewise.
2975 * explow.c (force_reg): Likewise.
2976 * local-alloc (update_equiv_regs): Likewise.
2977 * loop.c (move_moveables, load_mems): Likewise.
2978 * reload (find_reloads): Likewise.
2979
2980 2001-10-30 Paolo Bonzini <bonzini@gnu.org>
2981
2982 Localization fixes.
2983 * c-decl.c (parmlist_tags_warning, start_struct,
2984 check_for_loop_decls): Separate messages for struct, union and
2985 enum cases to allow for languages in which they have different
2986 genders.
2987 * c-format.c (scanf_flag_specs): Separate short and long name of
2988 the assignment suppression feature.
2989 (check_format_types): Localize "pointer" and "different types"
2990 strings.
2991 * c-lex.c (lex_number): Localize "an unsigned long int" and
2992 related strings.
2993 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
2994 warning message.
2995 * c-typeck.c (build_unary_up): Separate messages for increment and
2996 decrement cases to allow for languages in which they use different
2997 articles. Localize the strings "increment" and "decrement" in one
2998 case.
2999
3000 Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
3001
3002 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
3003 when no changes has been made.
3004
3005 * gcse.c (reg_set_bitmap): Turn into reg_set.
3006 (modify_mem_list_set, canon_modify_mem_list_set)
3007 (clear_modify_mem_tables, free_modify_mem_tables): New.
3008 (gcse_main); Use free_modify_mem_tables.
3009 (free_gcse_mem): Likewise; free the bitmaps.
3010 (alloc_gcse_main): Initialize the bitmaps.
3011 (canon_list_insert): Set canon_modify_mem_list_set.
3012 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
3013 (compute_hash_table): Use clear_modify_mem_tables.
3014 (reset_opr_set_tables): Likewise.
3015 (oprs_not_set_p): reg_set_bitmap is regset.
3016 (mark_set, mark_clobber): Likewise.
3017
3018 * df.h (DF_EQUIV_NOTES): New constant.
3019 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
3020 when asked for.
3021
3022 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
3023 (init_regions, schedule_insns): Conditionalize the checking
3024 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
3025
3026 Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
3027
3028 * i386.md (movti_rex64 splitter): Fix condition.
3029
3030 2001-10-29 Zack Weinberg <zack@codesourcery.com>
3031
3032 * configure.in: Do not assume that gas's version number is the
3033 last thing on the first line of as --version output.
3034 * configure: Regenerate.
3035
3036 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
3037 MT_WARNING, MT_ERROR, MT_FATAL.
3038 (main): Call gcc_init_libintl.
3039 (v_message): Call gettext on msgid and "warning: "
3040 * tradcif.y: Include intl.h.
3041 (yyerror): Make parameter definition consistent with
3042 prototype. Call gettext on msgid argument.
3043
3044 2001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3045
3046 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
3047 warnings.
3048
3049 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
3050
3051 Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3052
3053 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
3054 before referencing it.
3055
3056 2001-10-26 DJ Delorie <dj@redhat.com>
3057
3058 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
3059 override -G, and force -G0.
3060
3061 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
3062
3063 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
3064 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
3065 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
3066 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
3067
3068 * loop.h (struct induction): Rename ext_dependant to
3069 ext_dependent.
3070 * loop.c: Change all uses.
3071 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
3072 All callers changed.
3073 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
3074
3075 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
3076
3077 * c-parse.in (expr_no_commas, primary), c-typeck.c
3078 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
3079
3080 2001-10-29 David Edelsohn <edelsohn@gnu.org>
3081
3082 Undo assemble_name change in earlier patch.
3083
3084 Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
3085
3086 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
3087 determining the type of the receiver, do not check that TREE_CODE
3088 of receiver is CALL_EXPR before calling receiver_is_class_object().
3089 (receiver_is_class_object): For the GNU runtime: recognize
3090 the case that the receiver is self in a class method context.
3091 Check that TREE_CODE of receiver is CALL_EXPR when checking that
3092 the receiver is a call to objc_get_class.
3093
3094 2001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
3095
3096 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
3097
3098 Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3099
3100 * Makefile.in (OBJS): Put all files in alphabetical order.
3101
3102 * dwarf2out.c (add_const_value_attribute): Fix error in last
3103 change.
3104
3105 Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
3106
3107 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
3108 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
3109 fix warning.
3110 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
3111 (life_analysis): call purge_all_dead_edges after deleting noops.
3112 (delete_noop_move): Do not purge CFG.
3113 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
3114
3115 2001-10-28 David Edelsohn <edelsohn@gnu.org>
3116
3117 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
3118 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
3119 (ASM_GLOBALIZE_LABEL): Use assemble_name.
3120 (ASM_OUTPUT_COMMON): Likewise.
3121 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
3122 (rs6000_output_function_epilogue): Likewise.
3123 (output_mi_thunk): Fix typo.
3124 (rs6000_output_symbol_ref): Use assemble_name.
3125 (output_toc): Likewise.
3126 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
3127 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
3128 assemble_name calls STRIP_NAME_ENCODING.
3129 (ASM_OUTPUT_LABEL): Use assemble_name.
3130 (ASM_GLOBALIZE_LABEL): Likewise.
3131 (ASM_DECLARE_FUNCTION_NAME): Likewise.
3132 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
3133 (ASM_OUTPUT_LOCAL): Likewise.
3134
3135 Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3136
3137 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
3138 (expand_builtin_apply, expand_builtin_return): Likewise.
3139 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
3140
3141 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
3142
3143 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3144 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
3145 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
3146 configure, configure.in, except.c, except.h, flow.c, function.c,
3147 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
3148 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
3149 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
3150 unroll.c: Fix spelling errors.
3151
3152 * doc/extend.texi, doc/invoke.texi: Fix spelling.
3153
3154 * doc/gcc.texi: Document use of "dependent" and American spelling.
3155
3156 Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
3157
3158 * expr.c (emit_group_load): Support CONCATs by storing them to memory
3159 and reloading.
3160
3161 Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3162
3163 * expr.c (store_constructor_field): Only call adjust_address on MEM.
3164
3165 Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
3166
3167 * genrecog.c (write_switch): Output if before switch for
3168 DT_elt_zero_wide_safe.
3169
3170 2001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3171
3172 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
3173 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
3174 (FUNCTION_PROFILER): Const-ify.
3175 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
3176 (eliminate_constant_term, assemble_name, output_addr_const):
3177 Remove declarations.
3178 (ptr_half_pic_address_p, half_pic_hash): Prototype.
3179 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
3180 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
3181 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
3182 (half_pic_declare, half_pic_external): Const-ify.
3183 * toplev.c: Include "halfpic.h".
3184
3185 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
3186
3187 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
3188 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
3189 config/i386/i386.c, config/i386/i386-interix.h,
3190 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
3191 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
3192 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
3193 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
3194 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
3195 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
3196 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
3197 spelling errors.
3198
3199 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
3200 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
3201 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
3202 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
3203 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
3204 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
3205 system.h, toplev.c: Fix spelling errors.
3206
3207 Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3208
3209 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
3210
3211 * dwarf2out.c (reg_number): Abort if pseudo.
3212 (reg_loc_descriptor): Return 0 if pseudo.
3213 (is_based_loc): Return 0 if pseudo.
3214 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
3215 recursive calls.
3216 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
3217 (loc_descriptor): Return 0 if can't find location and handle 0
3218 return from recursive calls.
3219 (loc_descriptor_from_tree): Likewise.
3220 Fix handling of indirect.
3221 Also return 0 for PLACEHOLDER_EXPR.
3222 Clean up COMPONENT_REF cases.
3223 (add_AT_location_descriptor): Simplify, but handle 0 return from
3224 loc_descriptor.
3225 (add_const_value_attribute): Avoid shift count warning.
3226 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
3227 Set comp_unit_die as context if not in function.
3228
3229 * config/mips/mips-protos.h: Break up long lines.
3230 Remove needless #ifdef/#endif blocks.
3231 Don't declare functions declared in file made by genpreds or recog.h.
3232 * config/mips/mips.c (mips_output_function_prologue): TSIZE
3233 is now HOST_WIDE_INT; delete unneeded casts.
3234 * config/mips/mips.h: Don't use #elif.
3235
3236 * expr.c (stor_constructor_field): Always call adjust_address.
3237 Copy TARGET before changing its alias set.
3238 (store_field): Likewise, for TO_RTX.
3239 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
3240 replacement.
3241 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
3242 (find_placeholder): Return 0 if can't find object.
3243 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
3244 returns 0.
3245
3246 Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
3247
3248 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
3249
3250 Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
3251
3252 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
3253 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
3254 (merge_blocks): Properly udpate life after making edge nonfallthru.
3255 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
3256
3257 2001-10-26 Kazu Hirata <kazu@hxi.com>
3258
3259 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3260
3261 2001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
3262
3263 * c-typeck.c (convert_arguments): When comparing for enumeral
3264 type equality, use TYPE_MAIN_VARIANT.
3265 * gcc.dg/Wconversion.c: New tests.
3266
3267 2001-10-26 Kazu Hirata <kazu@hxi.com>
3268
3269 * s390/s390.c: Fix comment typos.
3270 * s390/s390.h: Likewise.
3271 * s390/s390.md: Likewise.
3272
3273 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
3274
3275 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
3276 (walk_tree): Use it for tail calls where appropriate.
3277
3278 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
3279
3280 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
3281 non-local label_refs.
3282
3283 2001-10-26 Kazu Hirata <kazu@hxi.com>
3284
3285 * config/h8300/h8300.md (4 anonymous patterns): New.
3286
3287 2001-10-26 Kazu Hirata <kazu@hxi.com>
3288
3289 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
3290 algorithm through the shift_info structure.
3291 (emit_a_shift): Update the use of get_shift_alg.
3292
3293 2001-10-27 Daniel Berlin <dan@cgsoftware.com>
3294
3295 * sched-rgn.c: Remove bitset typedef.
3296 Change bitset to sbitmap in prototypes / variable types.
3297 Remove bbset_size.
3298 Remove edgeset_bits.
3299 Remove edgeset_size.
3300 s/BITSET_ADD/SET_BIT/g
3301 s/BITSET_INVERT/sbitmap_ones/g
3302 s/BITSET_INTER/sbitmap_a_and_b/g
3303 s/BITSET_UNION/sbitmap_a_or_b/g
3304 s/BITSET_DIFFER/sbitmap_difference/g
3305 s/bitset_member/TEST_BIT/g
3306 (BITSET_*): Removed.
3307 (bitset_member): Removed.
3308 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
3309 EXECUTE_IF_SET_IN_SBITMAP.
3310 (split_edges): Rewrite, use sbitmap functions instead of bitset
3311 operations.
3312 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
3313
3314 2001-10-26 Andreas Schwab <schwab@suse.de>
3315
3316 * reload1.c (emit_input_reload_insns): Fix parens in last
3317 (undocumented) change that was supposed to change only whitespace.
3318
3319 Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3320
3321 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
3322
3323 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
3324 ASM_OPERANDS.
3325
3326 2001-10-26 Andreas Jaeger <aj@suse.de>
3327
3328 * flow.c (clear_log_links): Remove unused variable.
3329 * cfgcleanup.c (cleanup_cfg): Likewise.
3330
3331 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
3332
3333 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
3334 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
3335
3336 2001-10-26 Richard Henderson <rth@redhat.com>
3337
3338 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
3339 rename PV_REG to R27_REG.
3340 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
3341 (REG_CLASS_FROM_LETTER): Update.
3342 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
3343 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
3344 (udivsi3, modsi3, umodsi3): Likewise.
3345 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
3346
3347 2001-10-26 Richard Henderson <rth@redhat.com>
3348
3349 * cfg.c (clear_aux_for_blocks): Split out of ...
3350 (free_aux_for_blocks): here.
3351 (clear_aux_for_edges): Split from ...
3352 (free_aux_for_edges): here.
3353 * basic-block.h: Declare them.
3354 * lcm.c (compute_antinout_edge): Use them.
3355 (compute_laterin, compute_available, compute_nearerout): Likewise.
3356 (optimize_mode_switching): Likewise.
3357
3358 2001-10-26 Richard Henderson <rth@redhat.com>
3359
3360 * Makefile.in (unstage*): Remove as, ld, collect-ld before
3361 moving everything back to the main build directory.
3362
3363 2001-10-26 Christopher Faylor <cgf@redhat.com>
3364
3365 * config/i386/cygwin.h: Search target specific include directory, if
3366 appropriate.
3367
3368 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3369
3370 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
3371 of macro guards. Fix #endif comment.
3372
3373 * output.h (default_exception_section, default_eh_frame_section):
3374 Move prototypes outside of macro guard.
3375
3376 * crtstuff.c: Fix #endif comment.
3377
3378 Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
3379
3380 * doc/md.texi (movMM): Clarify semantics of storing into a
3381 non-paradoxical SUBREG.
3382
3383 2001-10-25 Zack Weinberg <zack@codesourcery.com>
3384
3385 * langhooks.c (lang_hook_default_clear_binding_stack): New.
3386 (lang_hook_default_get_alias_set): Move next to other alias
3387 hooks.
3388 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
3389 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
3390 (LANG_HOOKS_INITIALIZER): Add it.
3391 * toplev.h (struct lang_hooks): Add clear_binding_stack.
3392 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
3393 instead of a loop calling poplevel.
3394
3395 2001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
3396
3397 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
3398 occurrences of #elif with #if...#endif.
3399
3400 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3401
3402 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
3403
3404 Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3405
3406 * alias.c (can_address_p): No longer static.
3407 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
3408 Return 0 if all parameters are default values.
3409 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
3410 (adjust_address_1): Try harder to compute a size.
3411 * expr.c (expand_assignment, store_constructor): If can't address,
3412 set MEM_KEEP_ALIAS_SET_P.
3413 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
3414 (store_field): Likewise.
3415 (store_constructor): Simplify call to store_constructor_field.
3416 * expr.h (can_address_p): New declaration.
3417 * gensupport.c (gen_rtx_CONST_INT): New function.
3418 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
3419 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
3420 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
3421
3422 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
3423
3424 2001-10-24 Christopher Faylor <cgf@redhat.com>
3425
3426 * config/i386/cygwin.h: Use proper path for mingw crt files when
3427 -mno-cygwin.
3428
3429 Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3430
3431 * dwarf2out.c (file_info_cmp): Always return consistent results.
3432
3433 2001-10-24 Roger Sayle <roger@eyesopen.com>
3434
3435 * stmt.c (expand_end_case): Index jumptables from zero for
3436 suitably small values of minval.
3437
3438 2001-10-24 Jakub Jelinek <jakub@redhat.com>
3439
3440 * stor-layout.c (place_union_field): If any field was aligned with
3441 attribute aligned, set record type's TYPE_USER_ALIGN.
3442 (place_field): Likewise.
3443 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
3444 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
3445
3446 2001-10-24 Zack Weinberg <zack@codesourcery.com>
3447
3448 * c-common.h (struct c_common_identifier): Remove rid_code field.
3449 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
3450
3451 * c-typeck.c (constructor_designated): New local flag.
3452 (struct constructor_stack): Add "designated" field to match.
3453 (start_init): Clear it.
3454 (really_start_incremental_init, push_init_level): Push and
3455 clear it.
3456 (pop_init_level): Pop it.
3457 (set_designator): Set it.
3458
3459 (pop_init_level): Suppress "missing initializer" warnings if
3460 constructor_designated is true.
3461 (process_init_element): Suppress warning about union
3462 initialization under traditional C, if constructor_designated
3463 is true.
3464
3465 Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3466
3467 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
3468 change.
3469
3470 Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
3471
3472 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
3473
3474 2001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
3475
3476 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
3477 the node was already a set to a constant.
3478
3479 Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3480
3481 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
3482 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
3483
3484 2001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3485
3486 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
3487 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
3488 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
3489 * s390.c (s390_final_chunkify): Don't use string concatenation.
3490 (s390_function_prologue, s390_function_epilogue): Const-ify.
3491 * s390.h (FUNCTION_PROFILER): Remove unused variable.
3492
3493 2001-10-24 Jakub Jelinek <jakub@redhat.com>
3494
3495 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
3496 prototypes.
3497
3498 2001-10-23 Stan Shebs <shebs@apple.com>
3499
3500 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
3501 -traditional-cpp in first-stage compilation.
3502
3503 Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3504
3505 * gensupport.c (target_flags): Add.
3506
3507 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
3508
3509 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
3510 if needed.
3511 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
3512 * except.c (expand_builtin_frob_return_addr): Likewise.
3513 (expand_builtin_eh_return): Likewise.
3514 * stmt.c (expand_computed_goto): Likewise.
3515 * explow.c (memory_address): Likewise.
3516 (allocate_dynamic_stack_space): Clean up predicate testing.
3517 (probe_stack_range): Convert SIZE to Pmode.
3518 * calls.c (rtx_for_function_call): Only call convert_memory_address
3519 if needed.
3520 Pass function call operand as ptr_mode, not Pmode.
3521 * expr.c (expand_assignment): Clean up calls to convert_memory
3522 address by only doing so when needed and making offsets Pmode.
3523 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
3524 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
3525 is in Pmode, not ptr_mode.
3526
3527 2001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3528
3529 * darwin-protos.h (constructor_section, destructor_section,
3530 mod_init_section, mod_term_section): Prototype.
3531 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
3532 Const-ify.
3533 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
3534 Likewise.
3535 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
3536 objc_section_init declaration.
3537 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
3538 (objc_section_init, try_section_alias): Make static.
3539 (alias_section): Make static and hide unused function.
3540 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
3541
3542 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3543
3544 * alias.c (can_address_p): Compnonents are not addressable if
3545 the containing type has alias set 0.
3546 (get_alias_set): Rework to use STRIP_NOPS.
3547 Only call front-end routine on object, type, or object with
3548 NOPs stripped, not inner values.
3549 Use language hook to call front-end routine.
3550 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
3551 (expand_builtin_apply): Call set_mem_align on MEMs we make.
3552 Don't pass alignment to emit_block_move.
3553 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
3554 (expand_builtin_memset): Likewise, but for clear_storage.
3555 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
3556 and remove C++ specific parts.
3557 * c-common.h (c_common_get_alias_set): Add declaration.
3558 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
3559 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
3560 (save_fixed_argument_area): Call set_mem_align.
3561 Remove alignment in call to emit_block_move.
3562 (emit_library_call_value_1, store_one_arg): Likewise.
3563 (target_for_arg): Remove; disabled long ago.
3564 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
3565 once and similar cleanups.
3566 (offset_address): Use proper introductory comment.
3567 * expr.c (emit_block_move): Use alignment from that of MEM args, not
3568 from explicit operand; all callers changed.
3569 (clear_storage): Likewise.
3570 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
3571 (store_field): Remove kludge on alias set used for to_rtx.
3572 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
3573 (expand_expr_unaligned): Call set_mem_attributes instead of
3574 set_mem_alias_set.
3575 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
3576 * function.c (assign_stack_temp_for_type): Set MEM alignment.
3577 (expand_function_end): Track MEM attributes of trampolines.
3578 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
3579 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
3580 attributes from original.
3581 * langhooks.c (lang_hook_default_get_alias_set): New function.
3582 (hook_get_alias_set_0): New function.
3583 * langhooks.h (hook_get_alias_set_0): New declaration.
3584 (lang_hook_default_get_alias_set): Likewise.
3585 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
3586 * reload1.c (alter_reg): Use adjust_address_nv.
3587 * rtl.c (get_mode_alignment): Moved to here.
3588 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
3589 change default if unknown from 1 to BITS_PER_UNIT.
3590 * stor-layout.c (get_mode_alignment): Remove from here.
3591 * toplev.h (struct lang_hoks): Add get_alias_set field.
3592 * tree.h (lang_get_alias_set): Delete declaration.
3593 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
3594 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
3595 (ix86_va_arg): Likewise.
3596 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
3597 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
3598 * config/sparc/sparc.c (sparc_va_arg): Likewise.
3599 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
3600 (expand_block_move_mem): Remove dead code.
3601
3602 2001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
3603
3604 * c-common.c (warn_div_by_zero): New.
3605 * c-common.h (warn_div_by_zero): New.
3606 * c-decl.c (c_decode_option): Take it on the command line.
3607 * c-typeck.c (build_binary_op): Warn about division by zero.
3608 * doc/invoke.texi: Document the new command line option, fix
3609 documentation of -Wmultichar.
3610 * testsuite/gcc.dg/divbyzero.c: New tests.
3611 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
3612
3613 Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
3614
3615 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
3616
3617 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
3618 to avoid update_life_info call.
3619 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
3620 * cfgcleanup.c (bb_flags): New enum.
3621 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
3622 (notice_new_block, update_forwarder_flag): New functions.
3623 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
3624 (try_forward_edges): Likewise; update flags.
3625 (merge_blocks): Likewise.
3626 (outgoing_edges_match): Likewise.
3627 (try_crossjump_to_edge): Likewise.
3628 (try_optimize_cfg): Likewise; initialize and clear the flags;
3629 recompute life info if needed.
3630 (cleanup_cfg): No need to clear aux pointers.
3631
3632 2001-10-23 Alexandre Oliva <aoliva@redhat.com>
3633
3634 * config/i386/i386.c (override_options): Default to minimum
3635 stack alignment when optimizing for code size.
3636 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
3637 change.
3638
3639 * config/i386/i386.c (override_options): Set upper limit of
3640 -mpreferred-stack-boundary to 12.
3641
3642 2001-10-22 Zack Weinberg <zack@codesourcery.com>
3643
3644 * recog.c (peephole2_optimize): Add default case to switch.
3645
3646 2001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
3647
3648 * doc/gcc.texi (Sending Patches): Remove.
3649
3650 2001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
3651
3652 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
3653 fields when comparing.
3654
3655 2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3656
3657 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
3658 * arm.c (HOST_INT, HOST_UINT): Likewise.
3659
3660 2001-10-22 Stan Shebs <shebs@apple.com>
3661
3662 * config/darwin-protos.h (darwin_exception_section): Declare.
3663 (darwin_eh_frame_section): Declare.
3664
3665 Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
3666
3667 * i386.md (movti_rex64): Fix mode.
3668
3669 2001-10-22 Stan Shebs <shebs@apple.com>
3670
3671 * target.h (struct gcc_target): Add asm_out.exception_section,
3672 asm_out.eh_frame_section.
3673 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
3674 (TARGET_ASM_EH_FRAME_SECTION): New.
3675 (TARGET_INITIALIZER): Update.
3676 * output.h (default_exception_section): Declare.
3677 (default_eh_frame_section): Declare.
3678 * dwarf2out.c: Include target.h.
3679 (output_call_frame_info): Call target hook for eh frames.
3680 (default_eh_frame_section): New function.
3681 * except.c: Include target.h.
3682 (output_function_exception_table): Call target hook for exception
3683 section.
3684 * varasm.c (default_exception_section): Rename from
3685 exception_section, remove EXCEPTION_SECTION macro.
3686
3687 * config/darwin.h (darwin_eh_frame_section): New function.
3688 (EXCEPTION_SECTION): Remove.
3689 (TARGET_ASM_EXCEPTION_SECTION): Define.
3690 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
3691 (nextstep_exception_section): New function.
3692 (nextstep_eh_frame_section): New function.
3693 (TARGET_ASM_EXCEPTION_SECTION): Define.
3694 (TARGET_ASM_EH_FRAME_SECTION): Define.
3695
3696 * config/pa/som.h (EXCEPTION_SECTION): Remove.
3697 (TARGET_ASM_EXCEPTION_SECTION): Define.
3698 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
3699 (EXCEPTION_SECTION): Remove.
3700 (TARGET_ASM_EXCEPTION_SECTION): Define.
3701 * config/stormy16/stormy16.h: Remove comments referencing
3702 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
3703
3704 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
3705 TARGET_ASM_EH_FRAME_SECTION.
3706
3707 2001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
3708
3709 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
3710 terms.
3711
3712 * c-format.c: Fix spelling typo in comment.
3713
3714 * sched-int.h: Fix typo in GCC preamble.
3715
3716 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
3717
3718 PR debug/4252
3719 * doc/invoke.texi: Remove references to -fdump-translation-unit.
3720
3721 2001-10-22 Richard Henderson <rth@redhat.com>
3722
3723 * config/i386/i386.c (ix86_expand_clear): New.
3724 * config/i386/i386-protos.h: Declare it.
3725 * config/i386/i386.md (setcc peep2s): Use it.
3726 (movsi_xor): Unexport.
3727
3728 2001-10-22 Richard Henderson <rth@redhat.com>
3729
3730 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
3731 free_EXPR_LIST_list for LOG_LINKS.
3732
3733 2001-10-21 Robert Lipe <robertlipe@usa.net>
3734
3735 * config/i386/i386.c (sco_asm_named_section): Delete.
3736 (sco_asm_out_constructor): Delete.
3737 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
3738 (ASM_OUTPUT_DOUBLE_INT): Likewise.
3739 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
3740 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
3741 (EXCEPTION_SECTION): Delete EH scn renaming hack.
3742
3743 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3744
3745 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
3746 and/or fold extra calls into fewer ones.
3747 * collect2.c (dump_file): Likewise.
3748 * cppexp.c (parse_number): Likewise.
3749 * cpplex.c (_cpp_lex_direct): Likewise.
3750 * final.c (output_asm_insn, asm_fprintf): Likewise.
3751 * fix-header.c (inf_scan_ident, main): Likewise.
3752 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
3753 Likewise.
3754 * fold-const.c (real_hex_to_f): Likewise.
3755 * gen-protos.c (parse_fn_proto): Likewise.
3756 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
3757 * genrecog.c (change_state, write_action): Likewise.
3758 * gensupport.c (shift_output_template): Likewise.
3759 * local-alloc.c (requires_inout): Likewise.
3760 * mips-tfile.c (IS_ASM_IDENT): Likewise.
3761 * protoize.c (is_id_char, main): Likewise.
3762 * real.c (asctoeg): Likewise.
3763 * recog.c (asm_operand_ok): Likewise.
3764 * reload.c (find_reloads): Likewise.
3765 * scan.c (scan_identget_token): Likewise.
3766 * sched-vis.c (print_value): Likewise.
3767 * stringpool.c (ggc_alloc_string): Likewise.
3768 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
3769 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
3770 * tradcpp.c (rescan): Likewise.
3771 * tree.c (clean_symbol_name): Likewise.
3772 * varasm.c (decode_reg_name): Likewise.
3773
3774 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
3775 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
3776 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
3777 * m88k.c (output_ascii): Likewise.
3778 * m88k.h (OVERRIDE_OPTIONS): Likewise.
3779 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
3780 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
3781 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
3782
3783 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
3784
3785 * langhooks.c (lang_hook_default_do_nothing,
3786 lang_hook_default_decode_option): New defaults.
3787 * langhooks.h: Make hooks unconditional and non-NULL.
3788 * toplev.c (compile_file, toplev_main): Update.
3789 * toplev.h: Update comments.
3790 * objc/objc-act.c (lang_hooks): Update to new paradigm.
3791
3792 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3793
3794 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
3795
3796 * system.h (IN_RANGE): New macro.
3797
3798 2001-10-21 Zack Weinberg <zack@codesourcery.com>
3799
3800 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
3801 INTLDEPS variable, which does not include $LIBICONV.
3802 * Makefile.in: Use INTLDEPS in LIBDEPS.
3803 * configure: Regenerate.
3804
3805 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
3806
3807 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
3808 * cpplex.c (lex_percent, lex_dot): Remove.
3809 (get_effective_char, skip_block_comment, skip_line_comment,
3810 parse_identifier_slow, parse_number, parse_string, save_comment,
3811 _cpp_lex_direct): Update to do lookback freely.
3812 (IF_NEXT_IS, BACKUP): New macros.
3813 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
3814 * cppmacro.c (paste_tokens): Update.
3815
3816 2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
3817
3818 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
3819
3820 2001-10-20 Hans-Peter Nilsson <hp@axis.com>
3821
3822 * reload1.c (reload): Check CONSTANT_P before calling
3823 LEGITIMATE_PIC_OPERAND_P.
3824 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
3825 workaround of 2001-10-13.
3826
3827 Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
3828
3829 * i386.c (split_di): Handle splitting of DFmode.
3830
3831 Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3832
3833 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
3834 (adjust_address_1, offset_address): Likewise.
3835
3836 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
3837 (output_asm_insn): Call it for each line output.
3838 Don't record an operand more than once.
3839
3840 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
3841 * main.c: Include config.h and system.h, but not ansidecl.h.
3842 * Makefile.in (main.o): Update accordingly.
3843
3844 Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
3845
3846 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
3847
3848 Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
3849
3850 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
3851 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
3852 Break out from ...
3853 (find_sub_basic_blocks): ... here;
3854 (find_many_sub_basic_blocks): New.
3855 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
3856
3857 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
3858
3859 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
3860
3861 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
3862
3863 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
3864 * flow.c (update_life_info): Measure time.
3865 * c-decl.c: Include timevar.h
3866 (c_expand_body): Measure time.
3867 * toplev.c (rest_of_compilation): Measure time of mode switching
3868 separately.
3869 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
3870
3871 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
3872 (lang_independent_options): Add asynchronous-unwind-tables
3873 (toplev_main): flag_asynchronous_unwind_tables implies
3874 flag_unwind_tables.
3875 * flags.h (flag_asynchronous_unwind_tables): Declare.
3876 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
3877 flag_asynchronous_unwind_tables.
3878 (output_call_frame_info): Likewise.
3879 * invoke.texi (-fasynchronous-unwind-tables): Document.
3880 * i386.c (optimization_options): Enable
3881 flag_asynchronous_unwind_tables.
3882
3883 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
3884 * i386.md (s* expanders): Destination is QImode.
3885
3886 * toplev.c (rest_of_compilation): Do not call clear_log_links.
3887 * rtl.h (clear_log_links): Kill.
3888 * flow.c (clear_log_links): Make static; accept blocks parameter;
3889 do no clear life info.
3890 (update_life_info): Call clear_log_links.
3891
3892 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
3893
3894 2001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
3895
3896 * cpplex.c (handle_newline, skip_escaped_newlines,
3897 get_effective_char, skip_block_comment, skip_line_comment,
3898 parse_identifier_slow, parse_number, parse_string,
3899 _cpp_lex_direct): Update to do more stepping back.
3900 (trigraph_ok): Similarly. Rename trigraph_p.
3901 (SAVE_STATE, RESTORE_STATE): Remove.
3902 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
3903
3904 * cpplib.c (destringize): Rename destringize_and_run, and
3905 call run_directive directly.
3906 (_cpp_do__Pragma): Simplify.
3907
3908 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3909
3910 * pe.c (arm_pe_unique_section): Const-ify.
3911 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
3912 (switch_to_section): Add static prototype.
3913
3914 * output.h (drectve_section): Prototype.
3915
3916 2001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3917
3918 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
3919 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
3920 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
3921 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
3922 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
3923 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
3924 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
3925 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
3926 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
3927 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
3928 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
3929 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
3930 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
3931 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
3932 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3933 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3934 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3935 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3936 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3937 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
3938 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
3939 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
3940 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
3941 cris-*-none, cris-*-linux*: Update ${tmfile} list.
3942 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
3943 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
3944 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
3945 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
3946 v850-*-*): Delete superflous ${cpu_type} setting.
3947 * config/linux.h: Delete svr4.h include.
3948 (SET_ASM_OP): Delete.
3949 * config/netware.h (INT_ASM_OP): Undef before define.
3950 * config/ptx4.h: Delete elfos.h include.
3951 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
3952 * config/svr4.h: Delete elfos.h include. Update commentary.
3953 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
3954 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
3955 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
3956 config/v850/v850.h: Delete svr4.h include.
3957 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
3958 config/m68k/m68kv4.h, config/m88k/sysv4.h,
3959 config/sparc/sysv4.h: Update includes.
3960 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
3961 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
3962 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
3963 config/m88k/dguxbcs.h: Delete includes.
3964 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
3965 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
3966 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
3967 it.
3968 * config/m88k/dgux.h: Delete include.
3969 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
3970 defining it.
3971 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
3972 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
3973 * config/sh/elf.h: Update include.
3974 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
3975 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
3976
3977 2001-10-19 Catherine Moore <clm@redhat.com>
3978
3979 * config/stormy16/stormy-abi: Updates to varargs descriptions.
3980 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
3981 base and count fields.
3982 (stormy16_expand_builtin_va_start): last_reg_count changed to
3983 size_of_reg_args. Use count + size in first comparison.
3984
3985 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3986
3987 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
3988 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
3989 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
3990 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
3991 Set alignment from type if INDIRECT_REF.
3992 (adjust_address_1, offset_address): Simplify alignment compuitation.
3993 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
3994 here; done by set_mem_attributes.
3995
3996 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3997
3998 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
3999 * arm-protos.h (rdata_section, zero_init_section, common_section):
4000 Prototype.
4001 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
4002 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
4003 traditional mode stringification.
4004 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
4005 in macros controling its use.
4006 * rtlanal.c: Include tm_p.h.
4007 * varasm.c (asm_output_aligned_bss): Mark parameter with
4008 ATTRIBUTE_UNUSED.
4009 (assemble_constant_align, assemble_start_function, assemble_align,
4010 assemble_variable, assemble_trampoline_template,
4011 output_constant_def_contents): Wrap potentially empty if-stmt body
4012 in brackets.
4013
4014 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4015
4016 * a29k-protos.h (literal_section): Prototype.
4017 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
4018 * a29k.md: Ensure function pointers are prototyped.
4019 * genattrtab.c (write_eligible_delay): Mark parameter with
4020 ATTRIBUTE_UNUSED.
4021
4022 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4023
4024 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
4025 * 1750a.c (print_operand): Fix format specifier warning.
4026 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
4027 * 1750a.md: Likewise.
4028 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
4029 * genemit.c (output_add_clobbers): Mark parameter with
4030 ATTRIBUTE_UNUSED.
4031 * genrecog.c (write_subroutine): Likewise.
4032 * integrate.c (expand_inline_function): Delete unused variable.
4033 * varasm.c (remove_from_pending_weak_list): Wrap with
4034 ASM_WEAKEN_LABEL.
4035
4036 2001-10-19 Jakub Jelinek <jakub@redhat.com>
4037
4038 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
4039 field is different to previous argument's neg field.
4040
4041 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
4042
4043 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4044
4045 * final.c (get_decl_from_op): New function.
4046 (output_asm_insn): Call it; write "*" when item with decl is address.
4047
4048 2001-10-19 Janis Johnson <janis187@us.ibm.com>
4049
4050 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
4051 about 64-bit support from the 3.0_branch version.
4052
4053 2001-10-19 Zack Weinberg <zack@codesourcery.com>
4054
4055 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
4056 USE_INCLUDED_LIBINTL when appropriate.
4057 * configure, config.in: Regenerate.
4058 * Makefile.in (datadir): Set to @datadir@.
4059 (intl.o): Also depend on $(CONFIG_H) and system.h.
4060
4061 * intl.c: Factor out common gettext initialization sequence.
4062 (gcc_init_libintl): New function.
4063 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
4064 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
4065 off NLS. Add multiple include guard. No need to #ifdef-guard
4066 an #undef. Prototype gcc_init_libintl here.
4067
4068 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
4069 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
4070 Use gcc_init_libintl.
4071
4072 2001-10-19 Catherine Moore <clm@redhat.com>
4073
4074 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
4075
4076 * config/stormy16/stormy16.c (stormy16_split_move): Make
4077 sure that REG_INC notes are present for auto_inc operands.
4078
4079 2001-10-19 Andreas Jaeger <aj@suse.de>
4080
4081 * configure: Regenerated.
4082 * configure.in: Add x86_64 to switch statements.
4083
4084 2001-10-18 Richard Henderson <rth@redhat.com>
4085
4086 * config/alpha/alpha.md (sibcall_osf_1): Load destination
4087 address into $27 explicitly.
4088 (sibcall_value_osf_1): Likewise.
4089
4090 Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4091
4092 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
4093 (offset_address): New function.
4094 (free_emit_status): Free regno_decl.
4095 (init_emit): Pass proper number of elements to xcalloc.
4096 Allocate regno_decl.
4097 (mark_emit_status): Mark regno_decl values.
4098 * expr.c (highest_pow2_factor): New function.
4099 (expand_assigment): Use it and offset_address.
4100 Properly handle ptr_mode vs. Pmode in offset calculation.
4101 (store_constructor, expand_expr_unaligned): Likewise.
4102 (expand_expr, case COMPONENT_EXPR): Likewise.
4103 * expr.h (offset_address): New decl.
4104 * function.h (struct emit_status): Add regno_decl.
4105 (REGNO_DECL): New macro.
4106 * final.c (output_asm_name): Move in file and don't conditionalize
4107 on flag_print_asm_name.
4108 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
4109 Output names of operands, if known.
4110 * function.c (assign_parms): Set REGNO_DECL.
4111 * integrate.c (integrate_decl_tree): Likewise.
4112 * stmt.c (expand_decl): Likewise.
4113 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
4114
4115 2001-10-18 Alexandre Oliva <aoliva@redhat.com>
4116
4117 * attribs.c (handle_noinline_attribute): New function.
4118 (handle_used_attribute): Likewise.
4119 (c_common_attribute_table): Added noinline and used.
4120 * doc/extend.texi (Function Attributes): Document them.
4121 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
4122 Warn when merging inline with attribute noinline.
4123 (start_decl, start_function): Warn if inline and attribute
4124 noinline appear in the same declaration.
4125
4126 2001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
4127
4128 * config.gcc: Update c4x and i370 for C front end-specific
4129 dependencies.
4130 * config/c4x/c4x-c.c: New.
4131 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
4132 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4133 New declarations.
4134 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
4135 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
4136 Make extern.
4137 (c4x_init_pragma): Remove.
4138 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
4139 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
4140 c4x_pr_ignored): Move to c4x-c.c.
4141 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
4142 * config/c4x/t-c4x: Update.
4143 * config/i370/i370-c.c: New.
4144 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
4145 (i370_pr_map): Move to i370-c.c.
4146 * config/i370/t-i370: New.
4147
4148 * doc/tm.texi: Update.
4149
4150 2001-10-17 Stan Shebs <shebs@apple.com>
4151
4152 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
4153 typo fixes throughout.
4154 (machopic_output_stub): Remove some dead code.
4155
4156 2001-10-17 Richard Earnshaw <rearnsha@arm.com>
4157
4158 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
4159 leak.
4160
4161 Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4162
4163 * Makefile.in (print-rtl.o): Depend on TREE_H.
4164 * alias.c (get_alias_set): Make two passes over objects to first
4165 see if inner object is access via restricted pointer.
4166 Defer allocating alias set for restricted pointer until here.
4167 Call find_placeholder with second arg nonzero.
4168 Minor cleanups.
4169 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
4170 set for restricted pointer types.
4171 * emit-rtl.c (set_mem_attributes): Set more attributes.
4172 (set_mem_align, change_address, adjust_address_1): New functions.
4173 (change_address_1): Now static.
4174 (adjust_address, adjust_address_nv): Deleted.
4175 (replace_equiv_address): Call change_address_1.
4176 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
4177 (find_placeholder): Get starting point from PLIST arg.
4178 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
4179 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
4180 (adjust_address, adjust_address_nv): New macros.
4181 * print-rtl.c (tree.h): New include.
4182 (print_rtx, case MEM): Print all memory attributes.
4183
4184 2001-10-17 Richard Henderson <rth@redhat.com>
4185
4186 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
4187
4188 2001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
4189
4190 * c-tree.texi: Eliminate duplicated word.
4191 * cpp.texi: Likewise.
4192 * install.texi: Likewise.
4193 * invoke.texi: Likewise.
4194 * tm.texi: Likewise.
4195
4196 2001-10-17 Michael Collison <collison@isisinc.net>
4197
4198 * dsp16xx.c: Fix comment formatting to match GNU standards.
4199 (dsp16xx_output_function_prologue): Change type of 'size'
4200 parameter from 'int' to HOST_WIDE_INT.
4201 (dsp16xx_output_function_epilogue): Change type of 'size'
4202 parameter from 'int' to HOST_WIDE_INT.
4203
4204 2001-10-16 Richard Henderson <rth@redhat.com>
4205
4206 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
4207 * configure, config.in: Rebuild.
4208
4209 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
4210 (ix86_output_addr_diff_elt): New.
4211 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
4212 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4213 (JUMP_TABLES_IN_TEXT_SECTION): New.
4214 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
4215 * config/i386/i386-protos.h: Update.
4216
4217 * config/i386/386bsd.h, config/i386/beos-elf.h,
4218 config/i386/freebsd-aout.h, config/i386/freebsd.h,
4219 config/i386/i386-interix.h, config/i386/i386elf.h,
4220 config/i386/linux.h, config/i386/netbsd-elf.h,
4221 config/i386/netbsd.h, config/i386/openbsd.h,
4222 config/i386/ptx4-i.h, config/i386/rtemself.h,
4223 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
4224 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
4225
4226 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
4227
4228 * stmt.c (expand_asm_operands): Update commentary.
4229
4230 2001-10-16 Stan Shebs <shebs@apple.com>
4231
4232 * config/darwin.h (GCC_NAME): Remove, no longer used.
4233 (NO_MATH_LIBRARY): Ditto.
4234 (MATH_LIBRARY): Define to emptiness.
4235 (DWARF2_DEBUGGING_INFO): Define.
4236 (PREFERRED_DEBUGGING_TYPE): Define.
4237 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
4238 (EXCEPTION_SECTION): Define.
4239 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
4240 * config/darwin.c (darwin_encode_section_info): Handle case of
4241 DECL_INITIAL being error_mark_node.
4242
4243 2001-10-16 Richard Henderson <rth@redhat.com>
4244
4245 * alpha.c (current_file_function_operand): Don't fail for profiling.
4246 (direct_call_operand): New.
4247 * alpha-protos.h: Declare it.
4248 * alpha.h (EXTRA_CONSTRAINT): Use it.
4249 (PREDICATE_CODES): Add it.
4250 (ASM_OUTPUT_MI_THUNK): Remove.
4251 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
4252 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
4253
4254 2001-10-16 Krister Walfridsson <cato@df.lth.se>
4255
4256 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
4257 (JUMP_TABLES_IN_TEXT_SECTION): Define.
4258
4259 Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
4260
4261 * cfg.c (free_edge): Break out from ....
4262 (remove_edge): ... here.
4263 (clear_edges): Use free_edge.
4264
4265 * att.h (ASM_QUAD): Add comment.
4266 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
4267
4268 Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
4269
4270 * i386.c (split_ti): New function.
4271 (ix86_split_to_parts): Support TImodes.
4272 * i386.h (VALID_INT_MODE_P): Add TImode.
4273 * i386.md (movdi splitter): Fix.
4274 (movti): Support 64bit integer registers.
4275 (movti_rex64): New function and splitter.
4276
4277 * i386.c (*_cost): Add movsx/movzx cost.
4278 * i386.h (struct processor_costs): Add movsx/movzx fields.
4279 (RTX_COSTS): Handle zero/sign extend + avoid believing that
4280 64bit operations require split on 64bit machine.
4281 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
4282
4283 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
4284 (ix86_expand_move): Avoid pushes of memory if size does not match;
4285 move long constants to register.
4286 (x86_initialize_trampoline): Fix mode.
4287 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
4288 Use ASM_QUAD on 64bit.
4289 * i386.md (test pattern): Disallow impossible constants.
4290 (tablejump PIC expander): Fix emitting of sum.
4291 (movdicc_rex64): Rename to movdicc.
4292 * linux64.h (LINK_SPEC): Add missing '%'.
4293
4294 2001-10-16 Alexandre Oliva <aoliva@redhat.com>
4295
4296 * tree-inline.c (inlinable_function_p): Leave it up to the
4297 front-end to turn -finline-functions into DECL_INLINE set for all
4298 functions.
4299
4300 2001-10-16 Stan Shebs <shebs@apple.com>
4301
4302 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
4303
4304 2001-10-16 Alan Modra <amodra@bigpond.net.au>
4305
4306 * recog.c: Formatting and comment typo fixes.
4307
4308 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
4309 version in single tree build.
4310 * configure: Regenerate.
4311
4312 2001-10-15 David Edelsohn <edelsohn@gnu.org>
4313
4314 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
4315 MODE arguments to gen_rtx and compare operand with const0_rtx.
4316
4317 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
4318
4319 * system.h: Poison old unused target macros.
4320 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
4321 * config/stormy16/stormy16.c: Update references to obsolete macros.
4322 * config/stormy16/stormy16.h: Similarly.
4323 * config/stormy16/stormy16.md: Similarly.
4324 * config/cris/cris.h: Similarly.
4325
4326 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
4327
4328 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
4329 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
4330 cpp_register_pragma): Update accordingly.
4331
4332 2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
4333
4334 * c-pragma.h (cpp_register_pragma_space): Remove.
4335 * cpplib.h (cpp_register_pragma_space): Remove.
4336 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
4337 (cpp_register_pragma_space): Remove.
4338 (cpp_register_pragma): Simplify using lookup_pragma_entry,
4339 add sanity checks.
4340 (do_pragma): Similarly.
4341 (_cpp_init_internal_pragmas): Don't register namespaces.
4342
4343 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
4344 Don't register namespaces.
4345 * cp/lex.c (init_cp_pragma): Similarly.
4346 * doc/tm.texi: Update.
4347
4348 2001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
4349
4350 PR c/4157
4351 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
4352
4353 2001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
4354
4355 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
4356 add scheduling support.
4357 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
4358 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
4359 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
4360
4361
4362 2001-10-13 Hans-Peter Nilsson <hp@axis.com>
4363
4364 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
4365 missing CONSTANT_P test in core GCC.
4366
4367 2001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
4368
4369 * cppmain.c (struct printer): New member source.
4370 (scan_translation_unit): Fix spacing at start of lines.
4371 (cb_line_change): Update.
4372
4373 * gcc.dg/cpp/spacing2.c: New test.
4374
4375 2001-10-12 Hans-Peter Nilsson <hp@axis.com>
4376
4377 * config/cris/arit.c: Use __builtin_labs, not abs.
4378
4379 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
4380
4381 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
4382 misplaced sprintf and fprintf argument.
4383
4384 2001-10-12 Zack Weinberg <zack@codesourcery.com>
4385
4386 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
4387 * configure.in, Makefile.in: Take out obsolete check-po logic.
4388 * configure, config.in: Regenerate.
4389
4390 2001-10-12 Ziemowit Laski <zlaski@apple.com>
4391
4392 * objc/objc-act.c (finish_objc): Correct precondition for emitting
4393 symtab declarations.
4394
4395 2001-10-12 Stan Shebs <shebs@apple.com>
4396
4397 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
4398 declarations of arguments and local variables.
4399
4400 2001-10-12 Christopher Faylor <cgf@redhat.com>
4401
4402 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
4403 ENDFILE_SPEC definition.
4404
4405 2001-10-12 Kazu Hirata <kazu@hxi.com>
4406
4407 * gthr-dce.h: Fix comment formatting.
4408 * gthr-posix.h: Likewise.
4409 * gthr-single.h: Likewise.
4410 * gthr-solaris.h: Likewise.
4411 * gthr-vxworks.h: Likewise.
4412 * gthr-win32.h: Likewise.
4413
4414 2001-10-12 Jakub Jelinek <jakub@redhat.com>
4415
4416 * final.c (output_asm_insn): Make sure assembly dialects are
4417 terminated, not nested. Output `|' and `}' characters if they
4418 don't appear inside assembly dialect selection.
4419 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
4420 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
4421 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
4422 strsetsi_rex_1): Add {} braces.
4423
4424 2001-10-11 Zack Weinberg <zack@codesourcery.com>
4425
4426 * toplev.c (compile_file): Ignore return value from yyparse.
4427 Always pop any nested binding levels after yyparse returns.
4428
4429 2001-10-11 Richard Henderson <rth@redhat.com>
4430
4431 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
4432
4433 2001-10-11 Richard Henderson <rth@redhat.com>
4434
4435 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
4436 fall back to add_AT_long_long for large CONST_INT.
4437
4438 2001-10-11 Richard Henderson <rth@redhat.com>
4439
4440 * config/i386/i386.md (setcc splitters): Add four splitters to
4441 simplify compound compares that simplify_comparison can't handle.
4442
4443 2001-10-11 Zack Weinberg <zack@codesourcery.com>
4444
4445 * cpplex.c (digraph_spellings, token_spellings): Make static.
4446
4447 2001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4448
4449 * unroll.c (loop_iterations): Fixup last patch.
4450
4451 2001-10-11 Richard Henderson <rth@redhat.com>
4452
4453 * rtl.h (REG_VTABLE_REF): New.
4454 * rtl.c (reg_note_name): Add it.
4455 * combine.c (distribute_notes): Handle it.
4456 * final.c (final_scan_insn): Handle it.
4457 * tree.def (VTABLE_REF): New.
4458 * expr.c (expand_expr): Handle it.
4459 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
4460 * output.h: Declare them.
4461
4462 2001-10-11 Richard Henderson <rth@redhat.com>
4463
4464 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
4465 for a DECL_INITIAL.
4466
4467 2001-10-11 David Edelsohn <edelsohn@gnu.org>
4468
4469 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
4470 available in 64-bit mode.
4471
4472 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
4473
4474 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
4475 cris-*-linux* cases.
4476 * config/cris/cris-protos.h: New file.
4477 * config/cris/cris.c: New file.
4478 * config/cris/cris.h: New file.
4479 * config/cris/cris.md: New file.
4480 * config/cris/linux.h: New file.
4481 * config/cris/aout.h: New file.
4482 * config/cris/arit.c: New file.
4483 * config/cris/cris_abi_symbol.c: New file.
4484 * config/cris/mulsi3.asm: New file.
4485 * config/cris/t-aout: New file.
4486 * config/cris/t-cris: New file.
4487 * config/cris/t-elfmulti: New file.
4488 * config/cris/t-linux: New file.
4489 * doc/invoke.texi: Add CRIS options.
4490 * doc/install.texi (Specific): Add blurb for CRIS.
4491
4492 2001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
4493
4494 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
4495 before using it.
4496 * config/float/i32.h: Likewise.
4497 * config/float-i386.h: Likewise.
4498 * config/float-i64.h: Likewise.
4499 * config/float-m68k.h: Likewise.
4500 * config/float-sh.h: Likewise.
4501 * config/float-sparc.h: Likewise.
4502
4503 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
4504
4505 * doc/contrib.texi: Add note about CRIS port to my entry.
4506
4507 2001-10-11 Kazu Hirata <kazu@hxi.com>
4508
4509 * basic-block.h: Fix formatting.
4510 * bitmap.h: Likewise.
4511 * cpplib.h: Likewise.
4512 * c-tree.h: Likewise.
4513 * diagnostic.h: Likewise.
4514 * flags.h: Likewise.
4515 * ggc.h: Likewise.
4516 * longlong.h: Likewise.
4517 * real.h: Likewise.
4518 * reload.h: Likewise.
4519 * rtl.h: Likewise.
4520 * tree.h: Likewise.
4521
4522 2001-10-10 Richard Henderson <rth@redhat.com>
4523
4524 * c-parse.in (asm_operand): Allow named operands.
4525 * genconfig.c (max_recog_operands): Set to 29.
4526 * local-alloc.c (requires_inout): Skip multiple digits.
4527 * recog.c (asm_operand_ok): Likewise.
4528 (preprocess_constraints): Use strtoul for matching constraints.
4529 (constrain_operands): Likewise.
4530 * regmove.c (find_matches): Likewise.
4531 * reload.c (find_reloads): Likewise.
4532 * stmt.c (parse_output_constraint): Don't reject in-out
4533 constraint on operands > 9. Reject '[' in constraint.
4534 (expand_asm_operands): Handle named operands. Use strtoul
4535 for matching constraints.
4536 (check_operand_nalternatives): Split out from expand_asm_operands.
4537 (check_unique_operand_names): New.
4538 (resolve_operand_names, resolve_operand_name_1): New.
4539
4540 * doc/extend.texi (Extended Asm): Document named operands.
4541 * doc/md.texi (Simple Constraints): Document matching constraints
4542 on operands > 9.
4543
4544 2001-10-10 Richard Henderson <rth@redhat.com>
4545
4546 * combine.c (try_combine): Handle a SEQUENCE of one insn.
4547
4548 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
4549 (jcc splitters): Add two splitters to simplify compound compares
4550 that simplify_comparison can't handle.
4551
4552 2001-10-10 Richard Henderson <rth@redhat.com>
4553
4554 * langhooks.c: Include langhooks.h.
4555 * Makefile.in (langhooks.o): Depend on it.
4556
4557 Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
4558
4559 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
4560 should not be considered as a no-op.
4561 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
4562
4563 2001-10-10 Stan Shebs <shebs@apple.com>
4564
4565 * alias.c: Remove uses of "register" specifier in declarations
4566 of arguments and local variables.
4567 * c-common.c: Ditto.
4568 * c-convert.c: Ditto.
4569 * c-decl.c: Ditto.
4570 * c-format.c: Ditto.
4571 * c-semantics.c: Ditto.
4572 * c-typeck.c: Ditto.
4573 * caller-save.c: Ditto.
4574 * calls.c: Ditto.
4575 * cfg.c: Ditto.
4576 * cfgbuild.c: Ditto.
4577 * cfgrtl.c: Ditto.
4578 * collect2.c: Ditto.
4579 * combine.c: Ditto.
4580 * convert.c: Ditto.
4581 * cppexp.c: Ditto.
4582 * cppfiles.c: Ditto.
4583 * cse.c: Ditto.
4584 * dbxout.c: Ditto.
4585 * defaults.h: Ditto.
4586 * df.c: Ditto.
4587 * dwarf2out.c: Ditto.
4588 * dwarfout.c: Ditto.
4589 * emit-rtl.c: Ditto.
4590 * explow.c: Ditto.
4591 * expmed.c: Ditto.
4592 * expr.c: Ditto.
4593 * final.c: Ditto.
4594 * fix-header.c: Ditto.
4595 * floatlib.c: Ditto.
4596 * flow.c: Ditto.
4597 * fold-const.c: Ditto.
4598 * function.c: Ditto.
4599 * gcc.c: Ditto.
4600 * gcse.c: Ditto.
4601 * gen-protos.c: Ditto.
4602 * genattrtab.c: Ditto.
4603 * gencheck.c: Ditto.
4604 * genconfig.c: Ditto.
4605 * genemit.c: Ditto.
4606 * genextract.c: Ditto.
4607 * genflags.c: Ditto.
4608 * gengenrtl.c: Ditto.
4609 * genoutput.c: Ditto.
4610 * genpeep.c: Ditto.
4611 * genrecog.c: Ditto.
4612 * gensupport.c: Ditto.
4613 * global.c: Ditto.
4614 * gmon.c: Ditto.
4615 * graph.c: Ditto.
4616 * haifa-sched.c: Ditto.
4617 * hard-reg-set.h: Ditto.
4618 * hash.c: Ditto.
4619 * integrate.c: Ditto.
4620 * jump.c: Ditto.
4621 * lists.c: Ditto.
4622 * local-alloc.c: Ditto.
4623 * loop.c: Ditto.
4624 * mips-tdump.c: Ditto.
4625 * mips-tfile.c: Ditto.
4626 * optabs.c: Ditto.
4627 * prefix.c: Ditto.
4628 * print-rtl.c: Ditto.
4629 * read-rtl.c: Ditto.
4630 * real.c: Ditto.
4631 * recog.c: Ditto.
4632 * reg-stack.c: Ditto.
4633 * regclass.c: Ditto.
4634 * regmove.c: Ditto.
4635 * reload.c: Ditto.
4636 * reload1.c: Ditto.
4637 * reorg.c: Ditto.
4638 * resource.c: Ditto.
4639 * rtl.c: Ditto.
4640 * rtlanal.c: Ditto.
4641 * scan.c: Ditto.
4642 * sched-deps.c: Ditto.
4643 * sched-rgn.c: Ditto.
4644 * sdbout.c: Ditto.
4645 * simplify-rtx.c: Ditto.
4646 * stmt.c: Ditto.
4647 * stor-layout.c: Ditto.
4648 * toplev.c: Ditto.
4649 * tradcif.y: Ditto.
4650 * tradcpp.c: Ditto.
4651 * tree.c: Ditto.
4652 * unroll.c: Ditto.
4653 * varasm.c: Ditto.
4654 * xcoffout.c: Ditto.
4655
4656 2001-10-10 Richard Henderson <rth@redhat.com>
4657
4658 * rtl.h (can_reverse_comparison_p): Remove.
4659
4660 2001-10-10 Christopher Faylor <cgf@redhat.com>
4661
4662 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
4663 used.
4664
4665 2001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4666
4667 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
4668 (Thanks to Chris Faylor for suggesting macro name).
4669 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
4670 WIN32 defines.
4671 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
4672 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
4673 (MATH_LIBRARY): Undef before definition.
4674 (OUTPUT_QUOTED_STRING): Likewise.
4675 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
4676
4677 2001-10-10 Richard Henderson <rth@redhat.com>
4678
4679 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
4680 (fde_unencoded_compare): Likewise. Don't use subtraction to get
4681 a tristate comparison value.
4682 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
4683
4684 2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4685
4686 PR c++/4512
4687 * unroll.c (loop_iterations): Ignore insns generated by loop
4688 unrolling.
4689
4690 * config.gcc (mips*-*-gnu*): Delete support.
4691 * config/mips/gnu.h: Remove.
4692
4693 2001-10-10 Kazu Hirata <kazu@hxi.com>
4694
4695 * calls.c: Fix formatting.
4696 * c-decl.c: Likewise.
4697 * cfgcleanup.c: Likewise.
4698 * combine.c: Likewise.
4699 * cppfiles.c: Likewise.
4700 * cpplib.c: Likewise.
4701 * cppmacro.c: Likewise.
4702 * crtstuff.c: Likewise.
4703 * cse.c: Likewise.
4704 * dwarf2out.c: Likewise.
4705 * expmed.c: Likewise.
4706 * expr.c: Likewise.
4707 * fold-const.c: Likewise.
4708 * function.c: Likewise.
4709 * gcse.c: Likewise.
4710 * genattrtab.c: Likewise.
4711 * ggc-page.c: Likewise.
4712 * integrate.c: Likewise.
4713 * libgcc2.c: Likewise.
4714 * loop.c: Likewise.
4715 * optabs.c: Likewise.
4716 * profile.c: Likewise.
4717 * protoize.c: Likewise.
4718 * real.c: Likewise.
4719 * recog.c: Likewise.
4720 * reload1.c: Likewise.
4721 * reload.c: Likewise.
4722 * reorg.c: Likewise.
4723 * resource.c: Likewise.
4724 * sched-rgn.c: Likewise.
4725 * sdbout.c: Likewise.
4726 * stmt.c: Likewise.
4727 * toplev.c: Likewise.
4728 * varasm.c: Likewise.
4729
4730 2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
4731
4732 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
4733 * Makefile.in (langhooks.o): Add dependencies.
4734
4735 Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
4736
4737 * rs6000.c (rs6000_emit_load_toc_table): Don't
4738 strdup the toc label.
4739 (create_TOC_reference): Likewise.
4740
4741 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4742
4743 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
4744 version default.
4745
4746 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
4747
4748 * config/i386/i386.c (ix86_attribute_table): Correct
4749 min_len, max_len fields for dllimport, dllexport and shared.
4750
4751 2001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
4752
4753 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
4754 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
4755 Consistently use "nonzero" instead of "non-zero".
4756
4757 2001-10-09 Kazu Hirata <kazu@hxi.com>
4758
4759 * acconfig.h: Fix comment formatting.
4760 * c-dump.h: Likewise.
4761 * c-tree.h: Likewise.
4762 * conditions.h: Likewise.
4763 * expr.h: Likewise.
4764 * function.h: Likewise.
4765 * gthr.h: Likewise.
4766 * hwint.h: Likewise.
4767 * integrate.h: Likewise.
4768 * intl.h: Likewise.
4769 * loop.h: Likewise.
4770 * optabs.h: Likewise.
4771
4772 2001-10-09 Kazu Hirata <kazu@hxi.com>
4773
4774 * c-common.h: Fix comment formatting.
4775 * c-dump.c: Likewise.
4776 * cfg.c: Likewise.
4777 * diagnostic.h: Likewise.
4778 * except.c: Likewise.
4779 * gcc.h: Likewise.
4780 * gcov-io.h: Likewise.
4781 * genattrtab.c: Likewise.
4782 * output.h: Likewise.
4783 * predict.h: Likewise.
4784 * reload1.c: Likewise.
4785 * reload.h: Likewise.
4786 * resource.h: Likewise.
4787 * scan.h: Likewise.
4788 * system.h: Likewise.
4789 * tree.h: Likewise.
4790 * tree-inline.c: Likewise.
4791 * tsystem.h: Likewise.
4792 * varasm.c: Likewise.
4793 * xcoffout.h: Likewise.
4794
4795 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
4796
4797 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
4798
4799 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
4800
4801 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
4802 config/i386/i386elf.h, config/i386/netbsd-elf.h,
4803 config/i386/netware.h, config/mcore/gfloat.h,
4804 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
4805 config/netware.h, gccbug.in: Update FSF address.
4806
4807 2001-10-09 Kazu Hirata <kazu@hxi.com>
4808
4809 * c-common.c: Fix comment typos.
4810 * cfgrtl.c: Likewise.
4811 * collect2.c: Likewise.
4812 * cpplex.c: Likewise.
4813 * doloop.c: Likewise.
4814 * dwarf2out.c: Likewise.
4815 * dwarfout.c: Likewise.
4816 * expr.c: Likewise.
4817 * fold-const.c: Likewise.
4818 * gcc.c: Likewise.
4819 * gcov.c: Likewise.
4820 * gcse.c: Likewise.
4821 * global.c: Likewise.
4822 * ifcvt.c: Likewise.
4823 * loop.c: Likewise.
4824 * optabs.c: Likewise.
4825 * protoize.c: Likewise.
4826 * regclass.c: Likewise.
4827 * reorg.c: Likewise.
4828 * rtl.h: Likewise.
4829 * stmt.c: Likewise.
4830 * tree.h: Likewise.
4831 * doc/cpp.texi: Likewise.
4832 * doc/c-tree.texi: Likewise.
4833 * doc/extend.texi: Likewise.
4834 * doc/invoke.texi: Likewise.
4835 * doc/objc.texi: Likewise.
4836 * doc/tm.texi: Likewise.
4837
4838 2001-10-08 Richard Henderson <rth@redhat.com>
4839
4840 * varasm.c (set_named_section_flags): Initialize "declared".
4841
4842 2001-10-08 Robert Lipe <robertlipe@usa.net>
4843
4844 * varasm.c (struct in_named_entry): Add declared.
4845 (named_section_first_declaration): New function.
4846 (default_elf_asm_named_section): Use it.
4847 * output.h (named_section_first_declaration): New.
4848
4849 2001-10-08 Richard Henderson <rth@redhat.com>
4850
4851 * i386.md (movsi_xor): Export.
4852 (setcc peep2): Use it when available; add an alternative to
4853 match zero_extendhisi2_and.
4854
4855 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4856
4857 * romp-protos.h (romp_initialize_trampoline): New function.
4858 * romp.c (romp_initialize_trampoline): Likewise.
4859 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
4860 romp_initialize_trampoline.
4861
4862 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4863
4864 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
4865 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4866 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4867 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
4868
4869 2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4870
4871 * unroll.c (loop_iterations): Extend check for multiple back edges.
4872
4873 2001-10-08 Alexandre Oliva <aoliva@redhat.com>
4874
4875 * langhooks.h: New file.
4876 * Makefile.in (OBJS): Added langhooks.o.
4877 (c-lang.o): Depend on langhooks.h.
4878 (c-common.o): Don't depend on tree-inline.h.
4879 (tree-inline.o): Depend on toplev.h.
4880 (langhooks.o): New rule.
4881 * c-common.c: Don't include tree-inline.h.
4882 (c_mark_lang_decl): Mark argument c as unused.
4883 (c_common_lang_init): Don't initialize hooks here.
4884 * c-lang.c: Include langhooks.h, then override some macros.
4885 (lang_hooks): Initialize with macros in langhooks.h.
4886 (c_init): Don't initialize hooks here.
4887 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
4888 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
4889 * tree-inline.c: Include toplev.h. Don't define hook variables.
4890 * tree-inline.h: Don't define hook types nor declare hook
4891 variables. Move macros to...
4892 * langhooks.c: ... new file, as functions. Adjust all callers.
4893
4894 2001-10-08 Jeffrey A Law <law@cygnus.com>
4895
4896 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
4897 purge_mem_unchanging_flag on all instructions, not just on those
4898 before NOTE_INSN_FUNCTION_BEG.
4899
4900 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4901
4902 * cppmacro.c (_cpp_create_definition): Leave comments off.
4903
4904 * doc/cpp.texi: Update.
4905
4906 2001-10-08 DJ Delorie <dj@redhat.com>
4907
4908 * c-decl.c (grokfield): Make sure the only unnamed fields
4909 we're allowing are either structs or unions.
4910 * doc/extend.texi: Add documentation for the unnamed field
4911 extension.
4912
4913 2001-10-08 Zack Weinberg <zack@codesourcery.com>
4914
4915 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
4916 * configure.in: Use it.
4917 * configure: Regenerated.
4918 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
4919 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
4920
4921 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4922
4923 * cppfiles.c (open_file): Don't mark zero-length files
4924 never-reread here. Don't output diagnostics here either.
4925 (stack_include_file): Mark them never-reread here.
4926 (_cpp_read_file): Update.
4927
4928 2001-10-08 Richard Henderson <rth@redhat.com>
4929
4930 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
4931
4932 2001-10-08 Richard Henderson <rth@redhat.com>
4933
4934 * expr.c (store_expr): When converting a CONST_INT for storage
4935 in a SUBREG, convert it to both SUBREG modes before stripping
4936 the SUBREG.
4937
4938 2001-10-08 Richard Henderson <rth@redhat.com>
4939
4940 * varasm.c (restore_varasm_status): New.
4941 * function.h: Declare it.
4942 * function.c (pop_function_context_from): Call it.
4943
4944 2001-10-08 Richard Henderson <rth@redhat.com>
4945
4946 * c-common.h (struct c_lang_decl): Add declared_inline.
4947 * c-tree.h (DECL_DECLARED_INLINE_P): New.
4948 * c-lang.c (c_disregard_inline_limits): Use it.
4949 * c-decl.c (duplicate_decls): Likewise.
4950 (pushdecl, redeclaration_error_message): Likewise.
4951 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
4952 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
4953 Set DECL_INLINE if -finline-functions.
4954 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
4955
4956 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
4957
4958 * cppmacro.c (funlike_invocation_p): Move some logic to caller
4959 in enter_macro_context. Create a padding token in its own context
4960 if necessary when the search for '(' fails.
4961 (enter_macro_context): Update.
4962
4963 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4964
4965 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
4966 genmultilib, toplev.c: Fix spelling errors of "separate" as
4967 "seperate", and corresponding spelling errors of related words.
4968
4969 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4970
4971 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
4972 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
4973 Likewise.
4974 * c-dump.c (dump_option_value_info): Likewise.
4975 * c-format.c (format_length_info, format_char_info,
4976 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
4977 * collect2.c (names): Likewise.
4978 * cppdefault.h (default_include): Likewise.
4979 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
4980 * flow.c (life_analysis): Likewise.
4981 * gcc.c (dir_separator_str, modify_target, option_map,
4982 target_option_translations, spec_list_1, extra_specs_1,
4983 init_spec): Likewise.
4984 * gcov.c (gcov_version_string): Likewise.
4985 * genattr.c (write_units): Likewise.
4986 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
4987 * gengenrtl.c (rtx_definition, defs): Likewise.
4988 * genrecog.c (pred_table): Likewise.
4989 * global.c (global_alloc): Likewise.
4990 * lcm.c (optimize_mode_switching): Likewise.
4991 * local-alloc.c (find_free_reg): Likewise.
4992 * params.h (param_info): Likewise.
4993 * predict.c (predictor_info): Likewise.
4994 * protoize.c (unexpansion_struct): Likewise.
4995 * real.c (bmask): Likewise.
4996 * recog.h (insn_operand_data, insn_data): Likewise.
4997 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
4998 * stmt.c (expand_nl_goto_receiver): Likewise.
4999 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
5000 target_switches, target_options): Likewise.
5001 * tradcif.y (token, tokentab2, yylex): Likewise.
5002 * tree.h (attribute_spec): Likewise.
5003
5004 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
5005 Likewise.
5006 * arc.c (arc_output_function_epilogue): Likewise.
5007 * arm.c (processors, all_cores, all_architectures,
5008 arm_override_options, isr_attribute_arg, isr_attribute_args,
5009 arm_isr_value): Likewise.
5010 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
5011 Likewise.
5012 * c4x.c (c4x_int_reglist): Likewise.
5013 * d30v.c (override_options): Likewise.
5014 * h8300.c (shift_insn): Likewise.
5015 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
5016 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
5017 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
5018 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
5019 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
5020 * i386.h (processor_costs, ix86_cost): Likewise.
5021 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
5022 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
5023 * m68k.c (codes_68881, codes_FPA): Likewise.
5024 * m88k.c (mode_from_align, max_from_align, all_from_align,
5025 best_from_align, m_options): Likewise.
5026 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
5027 * mcore.c (mode_from_align): Likewise.
5028 * mips/elf64.h (UNIQUE_SECTION): Likewise.
5029 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
5030 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
5031 * mips.h (mips_regno_to_class): Likewise.
5032 * ns32k.c (scales): Likewise.
5033 * pa.c (import_string, magic_milli): Likewise.
5034 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
5035 * sparc.c (leaf_reg_remap, sparc_override_options,
5036 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
5037 Likewise.
5038 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
5039
5040 2001-10-07 Dale Johannesen <dalej@apple.com>
5041
5042 * reload1.c (reload_reg_free_p): Teach register interference
5043 checking that multiple output reloads are emitted in
5044 reverse order.
5045 reload1.c (reload_reg_reaches_end_p): Ditto.
5046 reload1.c (reloads_conflict): Ditto.
5047
5048 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5049
5050 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
5051 NULL_TREE inside @code.
5052
5053 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5054
5055 * doc/gcc.texi: Document consistent style of "32-bit",
5056 "Objective-C", and "@code{NULL}".
5057
5058 2001-10-06 Zack Weinberg <zack@codesourcery.com>
5059
5060 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
5061 (cpp_token_len, cpp_spell_token, cpp_output_token,
5062 _cpp_equiv_tokens): Handle it.
5063 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
5064 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
5065 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
5066 error messages.
5067
5068 Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5069
5070 * gcc.c (default_compilers): Remove .ada.
5071
5072 2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
5073
5074 * doc/cppinternals.texi: Update.
5075
5076 2001-10-06 Zack Weinberg <zack@codesourcery.com>
5077
5078 * gcc.c (main): Set this_file_error if the appropriate
5079 compiler for a language has not been installed.
5080
5081 2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
5082
5083 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
5084
5085 2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
5086
5087 * gccbug.in (CATEGORIES): Add ada.
5088
5089 2001-10-05 Catherine Moore <clm@redhat.com>
5090
5091 * config/stormy16/stormy-abi: Document abi changes.
5092 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
5093 (ICALL_REGS): New register class.
5094 (NUM_ARGUMENT_REGISTERS): Now 6.
5095 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
5096 in registers.
5097 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
5098 * config/stormy16.md (call_internal, call_value_internal,
5099 indirect_jump): Use new 'z' constraint.
5100
5101 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
5102
5103 * doc/cppinternals.texi: Update.
5104
5105 2001-10-05 Richard Henderson <rth@redhat.com>
5106
5107 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
5108 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
5109 the gas section-name-as-label feature.
5110
5111 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
5112
5113 * doc/cppinternals.texi: Update.
5114
5115 Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5116
5117 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
5118 to ensure valid SImode constants.
5119
5120 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
5121
5122 * Makefile.in (c-decl.o): Depend on tree-inline.h.
5123 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
5124 * c-decl.c: Include tree-inline.h.
5125 (c_expand_body): Call optimize_inline_calls. Determine whether
5126 a function is inlinable upfront, and only clear
5127 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
5128 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
5129 (c_disregard_inline_limits): New function.
5130 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
5131 (c_post_options): Enable tree inlining if inlining is enabled.
5132 Don't inline trees when instrumenting functions.
5133 (c_init): Initialize lang_disregard_inline_limits and
5134 lang_cannot_inline_tree_fn.
5135 * tree-inline.c (initialize_inlined_parameters): Handle calls
5136 with fewer arguments than declared parameters, and fewer
5137 parameters than passed arguments. Don't assume value is a
5138 DECL.
5139 (declare_return_variable): Convert return value back to the
5140 original type, if it was promoted.
5141 (tree_inlinable_function_p): New function.
5142 (inlinable_function_p): Don't look at DECL_INLINE if we're
5143 inlining all functions. Make it work with a NULL id.
5144 Re-check DECL_UNINLINABLE after language-specific checks.
5145 * tree-inline.h (tree_inlinable_function_p): Declare it.
5146 * integrate.c (save_for_inline): Don't bother to prepare argvec
5147 when not inlining.
5148 * cse.c (check_for_label_ref): Don't check deleted labels.
5149
5150 * Makefile.in (tree-inline.o): Depend on newly-included headers.
5151 * tree-inline.c: Include headers needed for the functions moved in.
5152 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
5153 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
5154 (copy_body, initialize_inlined_parameters): Likewise.
5155 (declare_return_variable, inlinable_function_p): Likewise.
5156 (expand_call_inline, expand_calls_inline): Likewise.
5157 (optimize_inline_calls, clone_body): Likewise.
5158 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
5159 (copy_tree_r, remap_save_expr): Likewise.
5160
5161 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
5162
5163 * Makefile.in (OBJS): Added tree-inline.o.
5164 (c-common.o): Depend on tree-inline.h.
5165 (tree-inline.o): New target.
5166 * c-common.c: Include tree-inline.h.
5167 (c_mark_lang_decl): Don't mark saved_tree.
5168 (c_common_lang_init): Set lang_anon_aggr_type_p.
5169 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
5170 (struct c_lang_decl): Moved saved_tree to tree_decl.
5171 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
5172 * integrate.h (function_attribute_inlinable_p): Declare it.
5173 * integrate.c (function_attribute_inlinable_p): Export it.
5174 * tree-inline.c: New file. Define variables declared in...
5175 * tree-inline.h: New file. Declare functions to be moved to
5176 tree-inline.c. Define macros and declare types and hooks for
5177 language-specific tree inlining.
5178 (flag_inline_trees): Moved definition from cp/decl2.c.
5179 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
5180 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
5181 (struct tree_decl): Moved saved_tree from c_lang_decl and
5182 inlined_fns from C++'s lang_decl.
5183
5184 2001-10-04 Loren J. Rittle <ljrittle@acm.org>
5185
5186 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
5187 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
5188
5189 2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
5190
5191 * doc/cppinternals.texi: Update.
5192
5193 2001-10-04 Eric Christopher <echristo@redhat.com>
5194
5195 * config/mips/mips.c (init_cumulative_args): Remember to set
5196 cum->prototype.
5197 * config.gcc: Redo linux configuration. Add target_cpu_default
5198 of soft-float to all mipsisa32 combinations and tx39.
5199 * config/mips/linux.h: Remove include of mips.h.
5200
5201 2001-10-03 Loren J. Rittle <ljrittle@acm.org>
5202
5203 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
5204 HOST_LDFLAGS and HOST_CPPFLAGS.
5205
5206 2001-10-03 Ziemowit Laski <zlaski@apple.com>
5207
5208 * c-parse.in (objc_inherit_code, objc_pq_context,
5209 objc_public_flag): Make static.
5210 (objc_interface_context, objc_implementation_context,
5211 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
5212 global tree array in objc/objc-act.[ch].
5213 (methoddef): Remove unnecessary code.
5214
5215 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
5216 Hoist struct definitions to objc-act.h.
5217 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
5218 cat_count): Place declaration in objc-act.h.
5219 (objc_tree_index): Move enumeration to objc-act.h.
5220 (objc_global_trees): Place declaration and macro accessors in
5221 objc-act.h.
5222 (implementation_context): Remove duplicate; use
5223 objc_implementation_context instead:
5224 (method_context): Remove duplicate; use objc_method_context
5225 instead.
5226 (objc_ellipsis_node, objc_method_prototype_template,
5227 implemented_classes, function_type): Move global vars to
5228 objc_global_trees.
5229 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
5230 (build_message_expr): Move actual construction of ObjC message
5231 send nodes to finish_message_expr.
5232 (finish_message_expr): New routine, contains code formerly in
5233 build_message_expr.
5234 * objc/objc-act.h (finish_message_expr): New prototype.
5235 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
5236 declarations; these vars are now part of objc_global_trees.
5237 (objc_tree_index, objc_global_trees): Move definitions from
5238 objc-act.c.
5239 * objc/objc-tree.def: Update copyright info.
5240
5241 Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
5242
5243 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
5244 op is NULL.
5245 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
5246 only if TARGET_ARCH64.
5247
5248 2001-10-02 Bernd Schmidt <bernds@redhat.com>
5249
5250 * doc/extend.texi: Fix some problems with previous checkin.
5251 * doc/invoke.texi: Likewise.
5252
5253 2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
5254
5255 * cpphash.h: Update comments.
5256 (cpp_context): Update.
5257 (spec_nodes): Remove n__Pragma.
5258 * cppinit.c (cpp_create_reader): Update.
5259 (builtin_array): Add _Pragma.
5260 * cpplib.h: Update comments.
5261 (NODE_DISABLED, BT_PRAGMA): New.
5262 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
5263 * cppmacro.c (struct cpp_macro): Remove disabled.
5264 (builtin_macro): Return int, handle _Pragma, push the new token
5265 on the context stack.
5266 (funlike_invocation_p): Unconstify, update.
5267 (enter_macro_context): Handle builtins here.
5268 (replace_args, push_token_context, push_ptoken_context):
5269 Update for prototype changes.
5270 (_cpp_pop_context): Update.
5271 (cpp_get_token): Don't handle buitins, nor _Pragma here.
5272 (cpp_sys_macro_p): Update.
5273 (_cpp_free_definition): Clear disabled flag.
5274 (_cpp_create_definition): Upate.
5275 * cppmain.c: Update comments.
5276
5277 Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
5278 Andreas Jaeger <aj@suse.de>,
5279 Jan Hubicka <jh@suse.cz>
5280
5281 * doc/invoke.texi (i386 Options): Document x86-64 options.
5282 (i386 and x86-64 Options): Rename i386 options section.
5283
5284 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
5285 (TARGET_SWITCHES): Add -munwind-info.
5286 (MASK_NO_UNWIND_INFO): New.
5287 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
5288 biarch compilation.
5289 (ASM_OUTPUT_DOUBLE_INT): New.
5290
5291 * config/i386/linux64.h: New spec file for Linux x86-64 support.
5292 * config.gcc: Fix tm_file settings for x86-64.
5293 * config/i386/x86-64.h: New file with OS independent x86-64
5294 definitions.
5295 * config/i386/biarch64.h: New file used to configure compiler
5296 to biarch/64bit compilation.
5297
5298 * config/i386/i386.c: (override_options): Set flags default
5299 for 64bit compilation.
5300
5301 Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
5302
5303 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
5304 (ix86_expand_int_movcc): Optimize DImode conditional moves with
5305 constants on x86_64.
5306 (ix86_attr_length_immediate_default): Support MODE_DI.
5307 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
5308 condition.
5309 (indirect_jump, tablejump): Turn into expander.
5310
5311 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
5312
5313 * c-common.c (c_format_attribute_table): Make format and
5314 format_arg attributes apply to function types rather than to
5315 decls.
5316 (is_valid_printf_arglist): Construct an attribute list and pass
5317 that to check_function_format rather than a name.
5318 * c-common.h (check_function_format): Adjust prototype.
5319 * c-decl.c (duplicate_decls): Preserve attributes from type of
5320 built-in decl when allowing for harmless conflict in types.
5321 * c-format.c (record_function_format,
5322 record_international_format, function_format_list,
5323 international_format_info, international_format_list): Remove.
5324 (function_format_info): Remove next, name and assembler_name.
5325 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
5326 (decode_format_attr): New.
5327 (handle_format_attribute): Handle receiving a type rather than a
5328 decl. Call decode_format_attr. Store format information in a
5329 function_format_info.
5330 (handle_format_arg_attribute): Correct comment. Handle receiving
5331 a type rather than a decl. Use unsigned HOST_WIDE_INT for
5332 arg_num.
5333 (check_format_info_recurse, check_format_info_main): Take argument
5334 numbers as unsigned HOST_WIDE_INT.
5335 (check_function_format): Take a list of attributes from the
5336 function type rather than a name or assembler name. Check for
5337 format attributes in that list and the attributes on the type of
5338 the current function rather than looking through
5339 function_format_list.
5340 (check_format_info): Use unsigned HOST_WIDE_INT for argument
5341 numbers.
5342 (check_format_info_recurse): Take format_arg attributes from the
5343 type of the function calls rather than using
5344 international_format_list. Allow for multiple format_arg
5345 attributes.
5346 * c-typeck.c (build_function_call): Pass type attributes to
5347 check_function_format rather than name or assembler name. Don't
5348 require there to be a name or assembler name to check formats.
5349
5350 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
5351
5352 * attribs.c (decl_attributes): Possibly call
5353 insert_default_attributes to insert default attributes on
5354 functions in a lazy manner.
5355 * builtin-attrs.def: New file; define the default format and
5356 format_arg attributes.
5357 * c-common.c (c_format_attribute_table): Move to earlier in the
5358 file.
5359 (c_common_nodes_and_builtins): Initialize format_attribute_table.
5360 (enum built_in_attribute, built_in_attributes,
5361 c_attrs_initialized, c_init_attributes,
5362 c_common_insert_default_attributes): New.
5363 (c_common_lang_init): Don't initialize format_attribute_table. Do
5364 call c_init_attributes.
5365 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
5366 * c-common.h (init_function_format_info): Don't declare.
5367 (c_common_insert_default_attributes): Declare.
5368 * c-decl.c (implicitly_declare, builtin_function): Call
5369 decl_attributes.
5370 (init_decl_processing): Don't call init_function_format_info.
5371 (insert_default_attributes): New.
5372 * c-format.c (handle_format_attribute,
5373 handle_format_arg_attribute): Be quiet about inappropriate
5374 declaration when applying default attributes.
5375 (init_function_format_info): Remove.
5376 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
5377 (insert_default_attributes): Declare.
5378
5379 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
5380
5381 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
5382
5383 2001-10-01 Jim Wilson <wilson@redhat.com>
5384
5385 * sched-deps.c (add_dependence): When elide conditional dependence,
5386 check that insn doesn't modify cond2.
5387
5388 2001-10-01 Dale Johannesen <dalej@apple.com>
5389
5390 * config/rs6000/rs6000.h (enum processor_type): Add support
5391 for 7400 (G4) and 7450.
5392 (RTX_COSTS): Ditto.
5393 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
5394 (rs6000_issue_rate): Ditto.
5395 (rs6000_adjust_cost): Fix cycle counts for compares.
5396 (debug_stack_info): Fix an obvious typo.
5397 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
5398 * doc/invoke.texi: Document.
5399 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
5400 for Darwin.
5401 (PROCESSOR_DEFAULT): Ditto.
5402
5403 2001-10-01 Loren J. Rittle <ljrittle@acm.org>
5404
5405 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
5406 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
5407 later recursive make invocation.
5408
5409 2001-10-01 Hans Boehm <boehm@acm.org>
5410
5411 * optabs.c (emit_libcall_block): When using non-call exceptions,
5412 don't add REG_LIBCALL reg notes to trapping calls.
5413
5414 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
5415
5416 * flow.c (propagate_block_delete_libcall): Remove unused first arg
5417 (propagate_one_insn): Update for above change
5418
5419 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
5420
5421 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
5422 _Unwind_GetTextRelBase): Argument is unused.
5423
5424 Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5425
5426 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
5427 Loop through NOPs, placeholders, and components.
5428 Don't go through NOPs if change mode.
5429 (record_alias_subset): Do nothing if SUBSET and SET are the same.
5430 * emit-rtl.c (set_mem_alias_set): Enable check.
5431 * expr.c (find_placeholder): New function.
5432 (expand_expr, case PLACEHOLDER_EXPR): Use it.
5433 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
5434 to modify it and avoid unneeded copies.
5435 * expr.h (expand_expr): Always define.
5436 (find_placeholder): New declaration.
5437
5438 2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5439
5440 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
5441 operand 2 is the stack pointer.
5442 ("addr-peephole"): Fix address computation peephole when operand 2
5443 is the stack pointer.
5444
5445 Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5446
5447 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
5448 (ix86_setup_incoming_varargs): Likewise.
5449
5450 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
5451
5452 * stor-layout.c (layout_type): Don't complain about too-large
5453 array here.
5454
5455 Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5456
5457 * function.c (keep_stack_depressed): Don't use delete_insn.
5458
5459 * expr.h (set_mem_alias_set): Move decl to here.
5460 * rtl.h (mem_attrs): New typedef and struct.
5461 (union rtunion_def): Add field for mem_attrs.
5462 (X0MEMATTR, MEM_ATTRS): New macros.
5463 (MEM_ALIAS_SET): Use MEM_ATTRS.
5464 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
5465 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
5466 (set_mem_alias_set): Delete decl from here.
5467
5468 * alias.c (set_mem_alias_set): Delete from here.
5469 * emit-rtl.c (mem_attrs_htab): New variable.
5470 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
5471 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
5472 (mem_attrs_mark, get_mem_attrs): Likewise.
5473 (gen_rtx_MEM): Clear MEM_ATTRS.
5474 (set_mem_attributes): Move to here.
5475 (set_mem_alias_set): Likewise, and call get_mem_attrs.
5476 (init_emit_once): const_int_htab now deletable htab.
5477 Initialize mem_attrs_htab.
5478 * explow.c (set_mem_attributes): Delete from here.
5479 * function.c (put_var_into_stack): Clear MEM_ATTRS.
5480 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
5481 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
5482 * reload1.c (reload): Rework changing REG to MEM.
5483
5484 2001-09-30 H.J. Lu <hjl@gnu.org>
5485
5486 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
5487 * config.in: Rebuild.
5488
5489 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5490
5491 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
5492 ("tsthi_1"): Avoid allocation in register y.
5493 ("*movqi_68hc12"): Reorganize and fix constraints.
5494 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
5495 ("addqi3"): Likewise.
5496 ("addhi3"): Fix constraints.
5497 ("*logicalhi3_zexthi"): Disparage soft registers.
5498
5499 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5500
5501 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
5502 to tmp reg.
5503
5504 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5505
5506 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
5507 that we use setjmp/longjmp exceptions.
5508
5509 2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
5510
5511 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
5512 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
5513 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5514 _cpp_pool_alloc, _cpp_next_chunk): Remove.
5515 (_cpp_extend_buff, BUFF_ROOM): Update.
5516 (_cpp_append_extend_buff): New.
5517 (struct cpp_reader): Remove macro_pool, add a_buff.
5518 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
5519 macro_pool.
5520 (cpp_destroy): Free a_buff instead of macro_pool.
5521 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
5522 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
5523 _cpp_pool_alloc, ): Remove.
5524 (parse_number, parse_string): Update use of _cpp_extend_buff.
5525 (_cpp_extend_buff): Update.
5526 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
5527 * cpplib.c (glue_header_name, parse_answer):
5528 Update use of _cpp_extend_buff.
5529 (cpp_register_pragma, cpp_register_pragma_space): Use
5530 _cpp_aligned_alloc.
5531 (do_assert, do_unassert): Check for EOL, update.
5532 * cppmacro.c (stringify_arg, collect_args): Update to use
5533 _cpp_extend_buff and _cpp_append_extend_buff.
5534 (save_parameter, parse_params, alloc_expansion_token,
5535 _cpp_create_definition): Rework memory management.
5536
5537 2001-09-29 Andris Pavenis <pavenis@lanet.lv>
5538
5539 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
5540 update md_exec_prefix.
5541 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
5542 to string constant.
5543
5544 2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
5545
5546 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
5547 (SELECT_CC_MODE): Use s390_select_ccmode.
5548 * config/s390/s390-protos.h (s390_select_ccmode): Add.
5549 * config/s390/s390.c (s390_select_ccmode): New.
5550 (s390_match_ccmode): Add CCLmode.
5551 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
5552 (output_branch_condition, output_inverse_branch_condition): Removed.
5553 (print_operand): Use s390_branch_condition_mnemonic.
5554 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
5555 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
5556 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
5557
5558 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
5559 when converting conditional branches to far branches.
5560 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
5561 cmpint_di): Use CCSmode instead of CCUmode.
5562
5563 * config/s390/s390.c (legitimate_la_operand_p): New.
5564 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
5565 * config/s390/s390.md (movsi): Convert load address patterns to
5566 arithmetic operations when necessary.
5567 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
5568 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
5569 (*do_la_reg_0): Don't use before reload.
5570
5571 * config/s390/s390.c (legitimize_address): Make more efficient
5572 use of two-register addressing mode.
5573
5574 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
5575 with -mno-backchain in some corner cases.
5576
5577 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
5578
5579 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
5580
5581 * reload.c (find_reloads): Mark new USE insns with QImode.
5582 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
5583 find_reloads_subreg_address): Likewise.
5584 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
5585 encountered.
5586 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
5587 CLOBBERs.
5588 (reload): Make sure there are no USEs with mode other than
5589 VOIDmode. At the end, remove those marked with QImode.
5590
5591 2001-09-29 Per Bothner <per@bothner.com>
5592
5593 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
5594 * Makefile.in (includedir): Rename to local_includedir.
5595 (includedir): Define as $(prefix)/include.
5596 * config.in (PREFIX_INCLUDE_DIR): New variable.
5597 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
5598
5599 2001-09-29 Bernd Schmidt <bernds@redhat.com>
5600
5601 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
5602 storehps builtins.
5603 * doc/extend.texi (Vector Extensions): New node.
5604 * doc/invoke.texi (Machine Dependent Options): Add documentation for
5605 i386 -mmmx, -msse, -m3dnow.
5606
5607 Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
5608
5609 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
5610
5611 2001-09-29 Hans-Peter Nilsson <hp@axis.com>
5612
5613 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
5614
5615 * doc/invoke.texi (Optimize Options): Delete spurious @table.
5616
5617 2001-09-28 Richard Henderson <rth@redhat.com>
5618
5619 * varasm.c (assemble_integer): Bound alignment check by
5620 BIGGEST_ALIGNMENT.
5621
5622 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
5623
5624 2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5625
5626 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
5627
5628 2001-09-25 Bernd Schmidt <bernds@redhat.com>
5629
5630 Mostly from Graham Stott <grahams@redhat.com>
5631 * c-common.c (type_for_mode): Add support for V2SFmode.
5632 * tree.c (build_common_tree_nodes_2): Likewise.
5633 * tree.h (enum tree_index, global_trees): Likewise.
5634 * config/i386/i386.c (x86_3dnow_a): New variable.
5635 (override_options): Support 3Dnow extensions.
5636 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
5637 Athlon's version of 3Dnow.
5638 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
5639 (ix86_expand_builtin): Handle them.
5640 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
5641 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
5642 TARGET_3DNOW_A): New macros.
5643 (TARGET_SWITCHES): Add 3Dnow switches.
5644 (VALID_MMX_REG_MODE_3DNOW): New macro.
5645 (VECTOR_MODE_SUPPORTED_P): Use it.
5646 (enum ix86_builtins): Add entries for 3Dnow builtins.
5647 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
5648 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
5649 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
5650 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
5651 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
5652 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
5653 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
5654 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
5655 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
5656 sfence_insn, prefetch): Make these available if TARGET_SSE or
5657 TARGET_3DNOW_A.
5658
5659 Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
5660
5661 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
5662 ix86_va_start, ix86_build_va_list): Declare.
5663 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
5664 ix86_va_start, ix86_build_va_list): New global functions.
5665 * i386.md (sse_prologue_save_insn): New insn.
5666 (sse_prologue_save): New expander.
5667 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
5668 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
5669
5670 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
5671
5672 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
5673 Use size_t everywhere, make definitions consistent with
5674 prototypes.
5675
5676 Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
5677
5678 * gcse.c (replace_store_insn): Use delete_insn.
5679 * loop.c (move_movables): Likewise; avoid delete_insn
5680 from clobbering notes moved elsewhere.
5681 (check_dbra_loop): Use delete_insn.
5682 * ssa.c (convert_from_ssa): Likewise.
5683 * cse.c (cse_insn): Use delete_insn.
5684
5685 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
5686
5687 * cpphash.h (struct cpp_buff): Make unsigned.
5688 (_cpp_get_buff): Take length of size_t.
5689 (_cpp_unaligned_alloc): New.
5690 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
5691 (struct cpp_reader): Remove ident_pool. Add u_buff.
5692 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
5693 (cpp_destroy): Destroy u_buff, not ident_pool.
5694 * cpplex.c (parse_number, parse_string, save_comment,
5695 cpp_token_as_text): Update to use the unaligned buffer.
5696 (new_buff): Make unsigned.
5697 (_cpp_unaligned_alloc): New.
5698 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
5699 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
5700 Similarly.
5701 (collect_args): Make unsigned.
5702
5703 2001-09-27 Zack Weinberg <zack@codesourcery.com>
5704
5705 * cpplex.c (cpp_output_token): Use a putc loop for
5706 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
5707
5708 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
5709 * configure, config.in: Regenerate.
5710 * system.h: Replace fwrite and fprintf with their unlocked
5711 variants if available.
5712
5713 2001-09-27 Richard Henderson <rth@redhat.com>
5714
5715 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
5716 in favour of .eh_frame.
5717
5718 2001-09-27 Aldy Hernandez <aldyh@redhat.com>
5719
5720 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
5721 to macros.
5722 (LIBCALL_VALUE): Likewise.
5723
5724 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
5725
5726 * cpphash.h: Update comment.
5727 * cpplex.c: Update comments.
5728 (_cpp_can_paste): Remove.
5729 * cpplib.h (_cpp_can_paste): Remove.
5730 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
5731 lexer rather than _cpp_can_paste.
5732
5733 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
5734
5735 * doc/cppinternals.texi: Update.
5736
5737 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
5738
5739 * cpphash.h (struct cpp_pool): Remove locks and locked.
5740 (struct cpp_context): Add member buff.
5741 (struct cpp_reader): Remove member argument_pool.
5742 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5743 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
5744 * cpplex.c (chunk_suitable): Remove pool argument.
5745 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
5746 (new_buff, _cpp_extend_buff): Update.
5747 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
5748 which buffer is returned.
5749 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
5750 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
5751 * cppmacro.c (lock_pools, unlock_pools): Remove.
5752 (push_ptoken_context): Take a _cpp_buff.
5753 (enter_macro_context): Pool locking removed.
5754 (replace_args): Use a _cpp_buff for the replacement list with
5755 arguments replaced.
5756 (push_token_context): Clear buff.
5757 (expand_arg): Use _cpp_pop_context.
5758 (_cpp_pop_context): Free a context's buffer, if any.
5759
5760 2001-09-26 DJ Delorie <dj@redhat.com>
5761
5762 * c-typeck.c (digest_init): Check for sizeless arrays.
5763
5764 2001-09-26 Richard Henderson <rth@redhat.com>
5765
5766 * optabs.c (init_one_libfunc): Create a dummy function type
5767 instead of using error_mark_node.
5768
5769 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
5770
5771 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
5772 _cpp_extend_buff, _cpp_free_buff): New.
5773 (struct cpp_reader): New member free_buffs.
5774 * cppinit.c (cpp_destroy): Free buffers.
5775 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
5776 _cpp_extend_buff, _cpp_free_buff): New.
5777 * cpplib.h (struct cpp_options): Remove unused member.
5778 * cppmacro.c (collect_args): New. Combines the old parse_arg
5779 and parse_args. Use _cpp_buff for memory allocation.
5780 (funlike_invocation_p, replace_args): Update.
5781
5782 Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
5783
5784 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
5785
5786 2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
5787
5788 * except.c (sjlj_mark_call_sites): Change address inside sequence.
5789
5790 2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
5791
5792 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
5793 glibc.
5794
5795 2001-09-25 Janis Johnson <janis187@us.ibm.com>
5796 Jim Wilson <wilson@redhat.com>
5797
5798 * doc/install.texi (Specific, ia64-*-linux): Document.
5799
5800 Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
5801
5802 * Makefile.in (cfgrtl.o): Add.
5803 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5804 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5805 free_aux_for_edge): Declare.
5806 * cfg.c
5807 (HAVE_return): Undefine.
5808 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
5809 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
5810 free_aux_for_edge): New global functions.
5811 (first_delete_block): New static variable.
5812 (init_flow): Clear first_delete_block.
5813 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
5814 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
5815 try_redirect_by_replacing_jump, last_loop_beg_note,
5816 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
5817 delete_insn, delete_insn_chain, create_basic_block_structure,
5818 create_basic_block, flow_delete_block, compute_bb_for_insn,
5819 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
5820 set_block_for_new_insns, split_block, merge_blocks_nomove,
5821 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
5822 redirect_edge_and_branch, force_nonfallthru_and_redirect,
5823 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
5824 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
5825 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
5826 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
5827 purge_all_dead_edges): Move to ....
5828 * cfgrtl.c: New file; .... Here.
5829
5830 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
5831 (reroder_basic_block): Use alloc_aux_for_blocks.
5832 * predict.c (estimate_bb_frequencies): Likewise; use
5833 alloc_aux_for_edges.
5834 * profile.c (compute_branch_probabilities): Likewise.
5835 (branch_prob): Likewise.
5836 * reg-stack.c (reg_to_stack): Likewise.
5837
5838 * emit-rtl.c (emit_insns_after): Never return NULL.
5839
5840 * basic-block.h (set_block_for_new_insns): Delete.
5841 * cfgrtl.c (set_block_for_new_insns): Delete.
5842
5843 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
5844 calls when crossjumping.
5845
5846 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
5847 * unroll.c (copy_loop_body): Use delete_insn.
5848
5849 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
5850 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
5851 keep_stack_depressed): Likewise.
5852 * gcse.c (cprop_cc0_jump): Likewise.
5853 * local-alloc.c (update_equiv_regs): Likewise.
5854 * loop.c (scan_loop, loop_delete_insns): Likewise.
5855 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
5856 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
5857 delete_output_reload, delete_address_reloads_1,
5858 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
5859 Likewise.
5860 * sibcall.c (replace_call_placeholder): Likewise.
5861 * cse.c (cse_insn): Likewise.
5862
5863 2001-09-25 Bernd Schmidt <bernds@redhat.com>
5864
5865 From Graham Stott <grahams@redhat.com>
5866 (def_builtin): Only define builtins appropriate for target_flags. All
5867 callers changed.
5868 (builtin_decsription): Add new field mask which is used to determine
5869 when to define the builtin via the macro def_builtin.
5870
5871 (bdesc_comi): Initialise new mask fields.
5872 (bdesc_2srg): Likewise.
5873 (bdesc_1arg): Likewise.
5874
5875 * config/i386/i386.c (ix86_init_builtins): Correct return type
5876 building v4hi_ftype_v4hi_int_int tree node.
5877 (ix86_expand_sse_comi): Fix typo swapping operands.
5878 Don't swap comparision condition, it is already swapped.
5879 (ix86_expand_sse_compare): Before swapping operands
5880 move operand 1 into new rtx and not the target rtx.
5881 Don't swap comparison condition, it is already swapped.
5882 Always check whether we need to create a new TARGET.
5883
5884 * config/i386/i386.md: (sse_comi) Fix typos.
5885 (sse_ucomi): Likewise.
5886 (cvtss2si): Fix operand 0 contraint.
5887 (cvttss2si): Likewise.
5888 (sse_unpckhps): Fix mode for operand 2.
5889 (sse_unpcklps): Likewise.
5890
5891 2001-09-25 Graham Stott <grahams@redhat.com>
5892
5893 * sibcall.c (skip_copy_to_return_value): Tighten return value
5894 copy check.
5895
5896 2001-09-24 David Edelsohn <edelsohn@gnu.org>
5897
5898 * rs6000.c (lwa_operand): Address must be word aligned.
5899
5900 Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5901
5902 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
5903 number has been set.
5904 (type_hash_mark): Mark type itself.
5905
5906 2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
5907
5908 * c-lex.c (cb_def_pragma): Update.
5909 (c_lex): Update, and skip padding.
5910 * cppexp.c (lex, parse_defined): Update, remove unused variable.
5911 * cpphash.h (struct toklist): Delete.
5912 (union utoken): New.
5913 (struct cpp_context): Update.
5914 (struct cpp_reader): New members eof, avoid_paste.
5915 (_cpp_temp_token): New.
5916 * cppinit.c (cpp_create_reader): Update.
5917 * cpplex.c (_cpp_temp_token): New.
5918 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
5919 (cpp_output_token): Don't print leading whitespace.
5920 (cpp_output_line): Update.
5921 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
5922 do_include_common, do_line, do_ident, do_pragma,
5923 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
5924 parse_assertion): Update.
5925 (get_token_no_padding): New.
5926 * cpplib.h (CPP_PADDING): New.
5927 (AVOID_LPASTE): Delete.
5928 (struct cpp_token): New union member source.
5929 (cpp_get_token): Update.
5930 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
5931 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
5932 replace_args, quote_string, stringify_arg, parse_arg, next_context,
5933 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
5934 _cpp_backup_tokens, _cpp_create_definition): Update.
5935 (push_arg_context): Delete.
5936 (padding_token, push_token_context, push_ptoken_context): New.
5937 (make_string_token, make_number_token): Update, rename.
5938 (cpp_get_token): Update to handle tokens as pointers to const,
5939 and insert padding appropriately.
5940 * cppmain.c (struct printer): New member prev.
5941 (check_multiline_token): Constify.
5942 (do_preprocessing, cb_line_change): Update.
5943 (scan_translation_unit): Update to handle spacing.
5944 * scan-decls.c (get_a_token): New.
5945 (skip_to_closing_brace, scan_decls): Update.
5946 * fix-header.c (read_scan_file): Update.
5947
5948 * doc/cpp.texi: Update.
5949
5950 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5951
5952 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
5953 leak by passing malloc'ed pointer to reconcat, not concat.
5954
5955 2001-09-24 DJ Delorie <dj@redhat.com>
5956
5957 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
5958
5959 2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
5960
5961 * flow.c (delete_dead_jumptables): Delete jumptable if the only
5962 reference is from the literal pool.
5963
5964 2001-09-24 Janis Johnson <janis187@us.ibm.com>
5965
5966 * doc/install.texi (Final install): Request additional information
5967 in mail about successful builds.
5968
5969 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5970
5971 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
5972 initial value of return pointer register instead of value in frame-20.
5973 Revise comments.
5974
5975 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5976
5977 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
5978 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
5979 the libcall if there isn't a referenced identifier for the symbol.
5980
5981 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5982
5983 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
5984 non 64-bit machines. Use these as a plabel for the trampoline.
5985 (TRAMPOLINE_SIZE): Adjust size for new words.
5986 (INITIALIZE_TRAMPOLINE): Initialize new words.
5987 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
5988 pointer to the plabel in the trampoline.
5989
5990 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
5991
5992 * pa.c (function_arg): Pass floating arguments in both general and
5993 floating registers in indirect (dynamic) calls when generating code
5994 for the 32 bit ABI and the HP assembler.
5995
5996 2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5997
5998 * doc/install.texi: Markup fixes.
5999 Use Solaris 2, SunOS 4 as appropriate.
6000 (Specific, *-*-solaris2*): Explain this.
6001 Unconditionally warn against /usr/ucb tools.
6002 Remove Sun as warning, obsolete.
6003 Move X11 header bug workaround here, update patches.
6004 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
6005 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
6006
6007 2001-09-23 Zack Weinberg <zack@codesourcery.com>
6008
6009 * errors.h (warning, error, fatal, internal_error): Don't mark
6010 with ATTRIBUTE_PRINTF_n.
6011 * toplev.h (internal_error, fatal_io_error, warning, error,
6012 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
6013 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
6014 Likewise.
6015
6016 Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6017
6018 * function.c (pop_function_context_from): var_refs_queue
6019 and temp slots now in GC memory.
6020 (mark_function_status, free_after_compilation): Likewise;
6021 also struct function now in GC memory.
6022 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
6023 (combine_temp_slots): Likewise.
6024 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
6025 (prepare_function_start): Use GC memory for struct function.
6026 (mark_temp_slot): Deleted.
6027 (gcc_mark_struct_function): struct function now in GC memory.
6028
6029 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
6030 code for division, not modulus.
6031
6032 * rtl.def (MEM): Remove obsolete part of comment.
6033
6034 2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
6035
6036 * c-format.c (init_function_format_info): Check __builtin_printf
6037 and __builtin_fprintf even if -ffreestanding. Check C99 functions
6038 in gnu89 mode.
6039
6040 Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6041
6042 * c-common.c (format_attribute_table): Remove decl.
6043 * tree.h (format_attribute_table, lang_attribute_table): New decls.
6044 (lang_attribute_common): Likewise.
6045
6046 * function.c (fix_lexical_address): Use set_mem_alias_set.
6047 (expand_function_start): Likewise.
6048 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
6049
6050 * varasm.c (output_constant): Fix unused variable warning.
6051
6052 * attribs.c: New file, from c-common.c.
6053 (attribute_tables): Now four elements.
6054 (format_attribute_table, lang_attribute_common): New variables.
6055 (init_attributes): Reflect above changes.
6056 (handle_mode_attribute): Delete check for wider than uintmax.
6057 * c-common.c: Delete parts moved to attribs.c.
6058 (enum attrs): Deleted; unused.
6059 (c_format_attribute_table): New variable.
6060 (c_common_lang_init): Initialize format_attribute_table with it.
6061 * c-common.h (decl_attributes): Remove decl.
6062 * tree.h (decl_attribute): Move it to here.
6063 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
6064 (attribs.o): New rule.
6065
6066 2001-09-22 Andreas Jaeger <aj@suse.de>
6067
6068 * builtins.c (c_getstr): Remove unused variable.
6069
6070 2001-09-21 Richard Henderson <rth@redhat.com>
6071
6072 * reload1.c (reload): Use delete_insn instead of splatting
6073 NOTE_INSN_DELETED.
6074
6075 2001-09-21 Richard Henderson <rth@redhat.com>
6076
6077 * reload.c (push_secondary_reload): Don't check for "=" in output
6078 constraint after ""->ALL_REGS check.
6079
6080 2001-09-21 Richard Henderson <rth@redhat.com>
6081
6082 * predict.c (expected_value_to_br_prob): Use pc_set.
6083
6084 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
6085 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
6086
6087 2001-09-21 Richard Henderson <rth@redhat.com>
6088
6089 * rtl.h (LCT_RETURNS_TWICE): New.
6090 * calls.c (emit_call_1): Set current_function_calls_setjmp for
6091 ECF_RETURNS_TWICE.
6092 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
6093 to ECF_RETURNS_TWICE.
6094 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
6095 call to setjmp.
6096
6097 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
6098
6099 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
6100 (JMP_BUF_SIZE): New.
6101
6102 2001-09-21 Richard Henderson <rth@redhat.com>
6103
6104 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
6105 to R8_REGS.
6106
6107 2001-09-21 Richard Henderson <rth@redhat.com>
6108
6109 * tree.def (FDESC_EXPR): New.
6110 * expr.c (expand_expr): Handle it.
6111 * varasm.c (initializer_constant_valid_p): Likewise.
6112 (output_constant): Likewise.
6113 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6114 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
6115 (ASM_OUTPUT_FDESC): New.
6116 * doc/tm.texi: Document the new macros.
6117
6118 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
6119
6120 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
6121 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
6122 once merging is complete.
6123
6124 Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6125
6126 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
6127
6128 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
6129
6130 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
6131 that would be invalid after a merge.
6132
6133 Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
6134
6135 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
6136 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
6137 remove some labels.
6138 (flow_delete_insn): This one.
6139 (delete_insn_chain): Rename from ...; do not care labels.
6140 (flow_delete_insn_chain): ... this one.
6141 (flow_delete_block): Remove the insns one BB has been expunged.
6142 (merge_blocks_nomove): Likewise.
6143 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
6144 updating BB boundaries.
6145 (tidy_fallthru_edge): Likewise.
6146 (commit_one_edge_insertion): Likewise.
6147 * cfgbuild.c (find_basic_block): Likewise.
6148 (find_basic_blocks_1): Likewise.
6149 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
6150 (try_crossjump_to_edge): Likewise.
6151 (try_optimize_cfg): Likewise.
6152 * cse.c (delete_trivially_dead_insns): Likewise.
6153 * df.c (df_insn_delete): Likewise.
6154 * doloop.c (doloop_modify): Use delete_related_insns.
6155 * emit-rtl.c (try_split): Likewise.
6156 (remove_insn): Update BB boundaries.
6157 * expect.c (connect_post_landing_pads): Use delete_related_insns.
6158 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
6159 updating BB boundaries.
6160 (propagate_block_delete_insn): Likewise.
6161 (propagate_block_delete_libcall): Likewise.
6162 * function.c (delete_handlers): Use delete_related_insns.
6163 (thread_prologue_and_epilogue_insns): Likewise.
6164 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
6165 * genpeep.c (gen_peephole): Use delete_related_insns.
6166 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
6167 BB boundaries.
6168 (find_cond_trap): Likewise.
6169 * integrate.c (save_for_inline): Use delete_related_insns.
6170 (copy_insn_list): Likewise.
6171 * jump.c (pruge_linie_number_notes): Likewise.
6172 (duplicate_loop_exit_test): Likewise.
6173 (delete_computation): Likewise.
6174 (delete_related_insn): Rename from ...; use delete_insn
6175 (delete_insn): ... this one.
6176 (redirect_jump): Use delete_related_insns.
6177 * loop.c (scan_loop): Likewise.
6178 (move_movables): Likewise.
6179 (find_and_verify_loops): Likewise.
6180 (check_dbra_loop): Likewise.
6181 * recog.c (peephole2_optimize): Likewise.
6182 * reg-stack.c (delete_insn_for_stacker): Remove.
6183 (move_for_stack_reg): Use delete_insn.
6184 * regmove.c (combine_stack_adjustments_for_block): Likewise.
6185 * reload1.c (delete_address_reloads): Use delete_related_insns.
6186 (fixup_abnormal_edges): Use delete_insn.
6187 * recog.c (emit_delay_sequence): Use delete_related_insns.
6188 (delete_from-delay_slot): Likewise.
6189 (delete_scheduled_jump): likewise.
6190 (optimize_skip): Likewise.
6191 (try_merge_delay_insns): Likewise.
6192 (full_simple_delay_slots): Likewise.
6193 (fill_slots_from_thread): Likewise.
6194 (relax_delay_slots): Likewise.
6195 (make_return_insns): Likewise.
6196 (dbr_schedule): Likewise.
6197 * rtl.h (delete_insn): Rename to delete_related_insns.
6198 (delete_insn, delete_insn_chain): New prototypes.
6199 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
6200 by df_insn_delete already.
6201 * ssa-dce.c (delete_insn_bb): Use delete_insn.
6202 * ssa.c (convert_from_ssa): Use delete_related_insns.
6203 * unroll.c (unroll_loop): Likewise.
6204 (calculate_giv_inc): Likewise.
6205 (copy_loop_body): Likewise.
6206
6207 * i386-protos.h (ix86_libcall_value, ix86_function_value,
6208 ix86_function_arg_regno_p, ix86_function_arg_boundary,
6209 ix86_return_in_memory, ix86_function_value): Declare.
6210 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
6211 new static valurables.
6212 (x86_64_reg_class): New enum
6213 (x86_64_reg_class_name): New array.
6214 (classify_argument, examine_argument, construct_container,
6215 merge_classes): New static functions.
6216 (optimization_options): Enable flag_omit_frame_pointer and disable
6217 flag_pcc_struct_return on 64bit.
6218 (ix86_libcall_value, ix86_function_value,
6219 ix86_function_arg_regno_p, ix86_function_arg_boundary,
6220 ix86_return_in_memory, ix86_function_value): New global functions.
6221 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
6222 (function_arg_advance): Handle x86_64 passing conventions.
6223 (function_arg): Likewise.
6224 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
6225 (RETURN_IN_MEMORY): Move offline.
6226 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
6227 (FUNCTION_VALUE_REGNO_P): New macro.
6228 (FUNCTION_ARG_REGNO_P): Move offline.
6229 (struct ix86_args): Add maybe_vaarg.
6230 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
6231 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
6232
6233 2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
6234
6235 * s390.md: Changed attributes for scheduling.
6236 * s390.c: (s390_adjust_cost, s390_adjust_priority)
6237 Changed scheduling
6238
6239 2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
6240
6241 Table-driven attributes.
6242 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
6243 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
6244 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
6245 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
6246 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
6247 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
6248 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
6249 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
6250 * tree.h (struct tree_decl): Change machine_attributes to
6251 attributes.
6252 * doc/c-tree.texi: Document that all attributes are now attached
6253 to decls and types.
6254 * c-common.c (add_attribute, attrtab, attrtab_idx,
6255 default_valid_lang_attribute, valid_lang_attribute): Remove.
6256 (attribute_tables, attributes_initialized,
6257 c_common_attribute_table, default_lang_attribute_table): New
6258 variables.
6259 (handle_packed_attribute, handle_nocommon_attribute,
6260 handle_common_attribute, handle_noreturn_attribute,
6261 handle_unused_attribute, handle_const_attribute,
6262 handle_transparent_union_attribute, handle_constructor_attribute,
6263 handle_destructor_attribute, handle_mode_attribute,
6264 handle_section_attribute, handle_aligned_attribute,
6265 handle_weak_attribute, handle_alias_attribute,
6266 handle_no_instrument_function_attribute,
6267 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
6268 handle_no_limit_stack_attribute, handle_pure_attribute): New
6269 functions.
6270 (init_attributes, decl_attributes): Rewrite to implement
6271 table-driven attributes.
6272 * c-common.h (enum attribute_flags): Move to tree.h.
6273 * c-format.c (decl_handle_format_attribute,
6274 decl_handle_format_arg_attribute): Rename to
6275 handle_format_attribute and handle_format_arg_attribute. Update
6276 for table-driven attributes.
6277 * c-common.h (decl_handle_format_attribute,
6278 decl_handle_format_arg_attribute): Remove prototypes.
6279 (handle_format_attribute, handle_format_arg_attribute): Add
6280 prototypes.
6281 * c-decl.c (grokdeclarator): Handle attributes nested inside
6282 declarators.
6283 * c-parse.in (setattrs, maybe_setattrs): Remove.
6284 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
6285 Update to handle nested attributes properly.
6286 (maybe_resetattrs, after_type_declarator,
6287 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
6288 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
6289 properly.
6290 (make_pointer_declarator): Update to handle nested attributes
6291 properly.
6292 * doc/extend.texi: Update documentation of limits of attributes
6293 syntax. Warn about problems with attribute semantics in C++.
6294 * target.h (struct target): Remove valid_decl_attribute and
6295 valid_type_attribute. Add attribute_table and
6296 function_attribute_inlinable_p.
6297 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
6298 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
6299 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
6300 Add.
6301 (TARGET_INITIALIZER): Update.
6302 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
6303 definition.
6304 (function_attribute_inlinable_p): New function. Check for the
6305 presence of any machine attributes before using
6306 targetm.function_attribute_inlinable_p.
6307 (function_cannot_inline_p): Update.
6308 * Makefile.in (integrate.o): Update dependencies.
6309 * doc/tm.texi: Update documentation of target attributes and
6310 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
6311 * tree.c (default_valid_attribute_p, valid_machine_attribute):
6312 Remove.
6313 (default_target_attribute_table,
6314 default_function_attribute_inlinable_p): New.
6315 (lookup_attribute): Update comment to clarify handling of multiple
6316 attributes with the same name.
6317 (merge_attributes, attribute_list_contained): Allow multiple
6318 attributes with the same name but different arguments to appear in
6319 the same attribute list.
6320 * tree.h (default_valid_attribute_p): Remove prototype.
6321 (struct attribute_spec): New.
6322 (default_target_attribute_table): Declare.
6323 (enum attribute_flags): Move from c-common.h. Add
6324 ATTR_FLAG_TYPE_IN_PLACE.
6325 (default_function_attribute_inlinable_p): Declare.
6326 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
6327 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6328 (TARGET_ATTRIBUTE_TABLE): Define.
6329 (vms_attribute_table): New.
6330 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
6331 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6332 (TARGET_ATTRIBUTE_TABLE): Define.
6333 (arc_attribute_table, arc_handle_interrupt_attribute): New.
6334 * config/arm/arm.c (arm_valid_type_attribute_p,
6335 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
6336 Remove.
6337 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6338 define.
6339 (TARGET_ATTRIBUTE_TABLE): Define.
6340 (arm_attribute_table, arm_handle_fndecl_attribute,
6341 arm_handle_isr_attribute): New.
6342 * config/avr/avr.c (avr_valid_type_attribute,
6343 avr_valid_decl_attribute): Remove.
6344 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
6345 define.
6346 (TARGET_ATTRIBUTE_TABLE): Define.
6347 (avr_attribute_table, avr_handle_progmem_attribute,
6348 avr_handle_fndecl_attribute): New.
6349 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
6350 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6351 (TARGET_ATTRIBUTE_TABLE): Define.
6352 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
6353 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
6354 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6355 (TARGET_ATTRIBUTE_TABLE): Define.
6356 (h8300_attribute_table, h8300_handle_fndecl_attribute,
6357 h8300_handle_eightbit_data_attribute,
6358 h8300_handle_tiny_data_attribute): New.
6359 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
6360 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
6361 Remove prototypes.
6362 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
6363 declarations.
6364 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
6365 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
6366 define.
6367 (TARGET_ATTRIBUTE_TABLE): Define.
6368 (ix86_attribute_table, ix86_handle_cdecl_attribute,
6369 ix86_handle_regparm_attribute): New.
6370 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
6371 i386_pe_valid_type_attribute_p): Remove.
6372 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
6373 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
6374 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6375 (TARGET_ATTRIBUTE_TABLE): Define.
6376 (ia64_attribute_table): New.
6377 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
6378 interrupt_ident2, model_ident1, model_ident2): Remove.
6379 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6380 (TARGET_ATTRIBUTE_TABLE): Define.
6381 (init_idents): Update.
6382 (m32r_attribute_table, m32r_handle_model_attribute): New.
6383 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
6384 Remove.
6385 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6386 (TARGET_ATTRIBUTE_TABLE): Define.
6387 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
6388 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
6389 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6390 (TARGET_ATTRIBUTE_TABLE): Define.
6391 (mcore_attribute_table, mcore_handle_naked_attribute): New.
6392 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
6393 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6394 (TARGET_ATTRIBUTE_TABLE): Define.
6395 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
6396 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
6397 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
6398 (TARGET_ATTRIBUTE_TABLE): Define.
6399 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
6400 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
6401 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6402 (TARGET_ATTRIBUTE_TABLE): Define.
6403 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
6404 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
6405 New.
6406 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
6407 Remove.
6408 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
6409 (TARGET_ATTRIBUTE_TABLE): Define.
6410 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
6411 New.
6412 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
6413 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
6414 (TARGET_ATTRIBUTE_TABLE): Define.
6415 (v850_attribute_table, v850_handle_interrupt_attribute,
6416 v850_handle_data_area_attribute): New.
6417 * config/v850/v850-c.c (mark_current_function_as_interrupt):
6418 Return void. Call decl_attributes instead of
6419 valid_machine_attribute.
6420
6421 Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
6422
6423 * sh-protos.h (sh_pr_n_sets): Declare.
6424 * sh.c (calc_live_regs): If the initial value for PR has been copied,
6425 look at the copy to determine if PR needs to be saved.
6426 sh_pr_n_sets: New function.
6427 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
6428 (ALLOCATE_INITIAL_VALUE): Define.
6429
6430 * sh.c (initial_elimination_offset):
6431 Fix RETURN_ADDRESS_POINTER_REGNUM case.
6432
6433 Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
6434
6435 * integrate.c (allocate_initial_values): New function.
6436 * integrate.h (allocate_initial_values): Declare.
6437 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
6438 here...
6439 * reload1.c (reload): And initialization of reg_equiv_memory_loc
6440 from here...
6441 * toplev.c (rest_of_compilation): To here.
6442 Call allocate_initial_values.
6443 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
6444
6445 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6446
6447 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
6448
6449 2001-09-20 DJ Delorie <dj@redhat.com>
6450
6451 * c-typeck.c (really_start_incremental_init): Discriminate
6452 between zero-length arrays and flexible arrays.
6453 (push_init_level): Detect zero-length arrays and handle them
6454 like fixed-sized arrays.
6455 * expr.c (store_constructor): Handle zero-length arrays and
6456 flexible arrays correctly.
6457 * doc/extend.texi: Update zero-length array notes.
6458
6459 2001-09-20 Jim Wilson <wilson@redhat.com>
6460
6461 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
6462 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
6463 for issue port conflicts.
6464 (cycle_end_fill_slots): TYPE_L instructions take two slots.
6465
6466 2001-09-20 Andrew MacLeod <amacleod@redhat.com>
6467
6468 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
6469 on ia64.
6470
6471 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6472
6473 * fold-const.c (hashtab.h): Include.
6474 (int_const_binop): Remove FORSIZE arg and compute from type; all
6475 callers changed.
6476 Call size_int_type_wide for all single-word constants.
6477 (size_htab_hash, size_htab_eq): New functions.
6478 (size_int_type_wide): Rework to use hash table.
6479 * ggc-common.c (hashtab.h): Include.
6480 (struct d_htab_root): New struct.
6481 (d_htab_roots): New variable.
6482 (ggc_add_deletable_htab, ggc_htab_delete): New functions
6483 (ggc_mark_roots): Handle deletable htabs.
6484 * ggc-page.c (ggc_marked_p): New function.
6485 * ggc-simple.c (ggc_marked_p): Likewise.
6486 * ggc.h: Reformatting throughout.
6487 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
6488 * tree.c (init_obstacks): Make type_hash_table a deletable root.
6489 (type_hash_add): Allocate struct type_hash from GC memory.
6490 (mark_hash_entry, mark_type_hash): Deleted.
6491 (type_hash_marked_p, type_hash_mark): New functions.
6492 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
6493
6494 Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
6495
6496 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
6497 than SImode.
6498
6499 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6500
6501 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
6502 array-too-large test for signed sizetype.
6503
6504 Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
6505
6506 * i386.md (indirect_jump): Allow Pmode operand.
6507 (tablejump): LIkewise; perform expansion to 64bit mode.
6508 * i386.c (symbolic_operand): Allow 64bit PIC references.
6509 (pic_symbolic_operand): Likewise.
6510 (ix86_find_base_term): Strip the 64bit PIC references.
6511 (legitimate_pic_address_disp_p): Handle 64bit PIC.
6512 (legitimize_pic_address): Likewise.
6513 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
6514 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
6515
6516 2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
6517
6518 * stringpool.c (get_identifier_with_length): New function.
6519 * tree.h (get_identifier_with_length): New prototype.
6520
6521 2001-09-19 Alan Modra <amodra@bigpond.net.au>
6522 David Edelsohn <edelsohn@gnu.org>
6523
6524 Revert:
6525 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
6526 already sign-extended.
6527
6528 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
6529 * config/rs6000/rs6000.c (logical_operand): Always compare op as
6530 HOST_WIDE_INT.
6531 (rs6000_emit_set_long_const): Avoid unnecessary shift.
6532 (output_profile_hook): Declare label_name const.
6533 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
6534 to match constraints.
6535
6536 2001-09-19 Stan Shebs <shebs@apple.com>
6537
6538 * alias.c: Fix typos in comments.
6539 * sched-rgn.c (init_ready_list): Ditto.
6540 * unwind-dw2.c (uw_frame_state_for): Ditto.
6541 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
6542 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
6543 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
6544
6545 2001-09-19 Richard Henderson <rth@redhat.com>
6546
6547 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
6548 to the exit block.
6549 * Makefile.in (cfg.o): Depend on TM_P_H.
6550
6551 2001-09-19 Richard Henderson <rth@redhat.com>
6552
6553 * config/alpha/alpha.c (local_symbol_p): Split out from ...
6554 (local_symbolic_operand): ... here.
6555 (small_symbolic_operand): Check mode.
6556 (global_symbolic_operand): New.
6557 (input_operand): Reject symbolics if explicit relocs.
6558 (call_operand): Tidy.
6559 (alpha_legitimize_address): Use movdi_er_high_g.
6560 (alpha_expand_mov): Likewise.
6561 * config/alpha/alpha-protos.h: Update.
6562 * config/alpha/alpha.h (PREDICATE_CODES): Update.
6563 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
6564 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
6565 (UNSPECV_LDGP2): Remove.
6566 (all call patterns): Use 's' not 'i' for symbolic constraint.
6567 (call_osf call_value_osf): Use call_operand.
6568 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
6569 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
6570 (prologue_ldgp_1_er): Remove.
6571 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
6572 (builtin_setjmp_receiver_er patterns): Use them.
6573 (exception_receiver_er): Likewise.
6574
6575 2001-09-19 Richard Henderson <rth@redhat.com>
6576
6577 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
6578
6579 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
6580 and NON_LOCAL_GOTO notes.
6581 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
6582 copy over CALL_INSN_FUNCTION_USAGE.
6583
6584 2001-09-18 Catherine Moore <clm@redhat.com>
6585
6586 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
6587 Define as 0.
6588
6589 2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
6590
6591 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
6592 new-style tm_file specification. Specify correct tm_p_file,
6593 md_file, and out_file for s390x.
6594
6595 * config/s390/linux.h, linux64.h: Don't include other target
6596 macro header files. Now handled via tm_file.
6597
6598 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
6599 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
6600 are defined before use.
6601
6602 Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
6603
6604 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
6605 code generation only for Gnu assembler.
6606
6607 2001-09-18 Catherine Moore <clm@redhat.com>
6608
6609 * config/stormy16 (LIB_SPEC): Remove -lnosys.
6610
6611 2001-09-18 Richard Sandiford <rsandifo@redhat.com>
6612
6613 * config/mips/mips.c (mips_frame_set): New.
6614 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
6615 a parallel frame-related expression with a set for each register.
6616
6617 2001-09-18 Philip Blundell <philb@gnu.org>
6618
6619 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
6620 header files.
6621
6622 2001-09-17 Dale Johannesen <dalej@apple.com>
6623
6624 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
6625 * config/rs6000/aix.h (FIXED_R2): Define.
6626 * config/rs6000/darwin.h (FIXED_R2): Define.
6627 * config/rs6000/sysv4.h (FIXED_R2): Define.
6628
6629 2001-09-17 Jeff Sturm <jsturm@one-point.com>
6630
6631 * except.c (dw2_build_landing_pads): New local
6632 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
6633 barrier after clobbers. Fixes c++/4012.
6634
6635 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6636
6637 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
6638
6639 2001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
6640
6641 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
6642 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
6643
6644 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6645
6646 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
6647 alloca/strcpy.
6648
6649 2001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
6650
6651 * cpphash.h (_cpp_lex_direct): New.
6652 * cpplex.c (_cpp_lex_token): Update.
6653 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
6654 and increment that pointer.
6655 * cppmacro.c (alloc_expansion_token): New.
6656 (lex_expansion_token): Lex macro expansion directly into
6657 macro storage.
6658
6659 2001-09-16 Brad Lucier <lucier@math.purdue.edu>
6660
6661 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
6662
6663 Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
6664
6665 * basic-block.h (free_bb_for_insn): Declare.
6666 * bb-reorder.c (label_for_bb): Use block_label.
6667 (emit_jump_to_block_after): Remove.
6668 (insert_intra_1): Do not update block_for_insn.
6669 (insert_inter_bb_scope_notes): Likewise; update bb->end
6670 * cfg.c (free_bb_for_insn): New.
6671 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
6672 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
6673 (commit_one_edge_insertion): Likewise.
6674 (commit_one_edge_insertion): Do not update BB boundary.
6675 (commit_edge_insertions): Do not call compute_bb_for_insn.
6676 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
6677 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
6678 (merge_blocks_move_successor_nojumps): Likewise.
6679 (try_crossjump_to_edge): Do not update block_for_insn.
6680 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
6681 * df.c (df_pattern_emit_later): Do not update BB boundary.
6682 (df_jump_pattern_emit_after): Likewise.
6683 (df_insn_move_before): Use emit_insn_before.
6684 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
6685 properly.
6686 (add_insn_after, add_insn_before, emit_insns_after): Update BB
6687 boundaries and basic_block_for_insn.
6688 (reorder_insns_nobb): Rename from reorder_insns.
6689 (reorder_insns): New.
6690 (emit_block_insn_before, emit_block_insn_after): Kill.
6691 * flow.c (check_function_return_warnings): Do not call
6692 compute_bb_for_insn; Do not free basic_block_for_insn.
6693 (attempt_auto_inc): Do not update basic_block_for_insn.
6694 * function.c (emit_return_into_block): Likewise;
6695 do not update BB boundaries.
6696 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
6697 (insert_insn_end_bb): Use emit_insn_before; Likewise.
6698 (pre_insert_copy_insn): Likewise.
6699 (update_ld_motion_notes): Likewise.
6700 (insert_insn_start_bb): Likewise.
6701 (replace_store_insn): Likewise.
6702 * ifcvt.c (noce_process_if_block): Likewise.
6703 (if_convert): Do not call compute_bb_for_insn.
6704 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
6705 Use emit_insn_before and emit_insn_after.
6706 * recog.c (split_all_insns): Do not update BB boundaries;
6707 Do not call compute_bb_for_insn.
6708 (peephole2_optimize): Do not update BB boundaries.
6709 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
6710 emit_insn_before.
6711 (emit_swap_insn): Likewise.
6712 (convert_regs_1): Likewise.
6713 * reload1.c (reload): Call compute_bb_for_insn.
6714 * rtl.h (reorder_insns_nobb): Declare.
6715 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
6716 * toplev.c (rest_of_compilation): Call free_bb_for_insn
6717 at places CFG is invalidated; do not call compute_bb_for_insn.
6718
6719 * cfg.c (expunge_block): Invalidate BB structure.
6720
6721 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
6722 array.
6723
6724 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
6725
6726 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
6727
6728 * cpphash.h (_cpp_lex_token): Update prototype.
6729 * cpplex.c (_cpp_lex_token): New prototype.
6730 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
6731 lex_macro_node, read_flag, do_pragma_poison): Update.
6732 * cppmacro.c (cpp_get_token, parse_params,
6733 lex_expansion_token): Update.
6734
6735 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
6736
6737 * cppmain.c (scan_translation_unit): Don't worry about
6738 putting a space after hashes.
6739 * cpplib.c (directive_diagnostics): New.
6740 (_cpp_handle_directive): Update to use directive_diagnostics.
6741 (run_directive): Don't toggle prevent_expansion.
6742 (do_line): Backup in case of the line extension.
6743 * cpplib.h (cpp_lexer_pos): Remove.
6744 * cppmacro.c (_cpp_create_definition): Precede a leading #
6745 with whitespace.
6746
6747 2001-09-15 Richard Henderson <rth@redhat.com>
6748
6749 * c-typeck.c (comptypes): Handle zero-length arrays properly.
6750
6751 2001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6752
6753 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
6754
6755 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6756
6757 PR preprocessor/3571
6758 * tradcpp.c (handle_directive): Skip non-vertical space.
6759
6760 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6761
6762 * cppmain.c (setup_callbacks): Set line callback only
6763 if outputting preprocessed source.
6764
6765 2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6766
6767 * collect2.c (main): Const-ification.
6768 * gcc.c (translate_options, process_command): Use xstrdup in
6769 lieu of xmalloc/strcpy.
6770 (main): Use concat in lieu of xmalloc/strcpy/strcat.
6771
6772 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6773
6774 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
6775 example.
6776
6777 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6778
6779 * scan-decls.c (scan_decls): Fix typo.
6780
6781 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
6782
6783 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
6784 Split mlstring_pos into mls_line and mls_col.
6785 * cppinit.c (cpp_create_reader): Initialize line to 1.
6786 (cpp_destroy): Free tokenruns.
6787 (push_include): Don't update lexer_pos.
6788 * cpplex.c (unterminated, parse_string): Update.
6789 (lex_token): Don't update lexer_pos, update.
6790 * cpplib.c (if_stack): Save line instead of line + col.
6791 (start_directive, _cpp_do__Pragma, do_else, do_elif,
6792 push_conditional, _cpp_pop_buffer): Update.
6793 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
6794 (_cpp_create_definition): Update.
6795
6796 2001-09-15 Eric Christopher <echristo@redhat.com>
6797
6798 * config/mips/abi64.h: Add support for MEABI.
6799
6800 2001-09-15 Eric Christopher <echristo@redhat.com>
6801
6802 * config/mips/mips.md: Add unspec #2.
6803 (reload_indi): Use.
6804 (reload_outdi): Ditto.
6805 (reload_outsi): Ditto.
6806 (HILO_delay): New.
6807
6808 2001-09-15 Eric Christopher <echristo@redhat.com>
6809 Jason Eckhardt <jle@redhat.com>
6810
6811 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
6812 * config/mips/isa32-linux.h: New file.
6813 * config/mips/isa3264.h: Ditto.
6814 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
6815 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
6816 (output_block_mode): Support MEABI.
6817 (function_arg): Ditto. Fix floating point arg passing.
6818 (mips_va_start): Ditto.
6819 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
6820 processors.
6821 (mips_asm_file_start): Add new section to pass abi to gdb.
6822 (function_arg_pass_by_reference): Support MEABI.
6823 (mips_parse_cpu): Support mips32 and mips64 processors.
6824 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
6825 TARGET_MIPS5KC. Support isa32 and isa64.
6826 (processor_type): Add r4kc, r5kc, r20kc.
6827 (GENERATE_MULT3_SI): New.
6828 (GENERATE_MULT3_DI): Ditto.
6829 (GENERATE_MULT3): Remove.
6830 (ISA_HAS_64BIT_REGS): Add isa == 64.
6831 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
6832 (ISA_HAS_MADD_MSUB): New.
6833 (ISA_HAS_CLZ_CLO): Ditto.
6834 (ISA_HAS_DCLZ_DCLO): Ditto.
6835 (ABI_GAS_ASM_SPEC): New.
6836 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
6837 (ASM_SPEC): Ditto.
6838 (LINK_SPEC): Ditto.
6839 (SUBTARGET_CC1_SPEC): Ditto.
6840 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
6841 (PAD_VARARGS_DOWN): Support MEABI.
6842 (HARD_REGNO_NREGS): Move to mips.c.
6843 (ASM_OUTPUT_IDENT): Add #undef.
6844 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
6845 (mulsi3): Use GENERATE_MULT3_SI.
6846 (mulsi3_mult3): Ditto. Support mips32, mips64.
6847 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
6848 (mul_sub_si): New pattern.
6849 (unnamed splitters): New.
6850 (muldi3): Use GENERATE_MULT3_DI.
6851 (muldi3_internal2): Ditto.
6852 (movdicc): Support mips32.
6853 * config/mips/t-isa3264: New file.
6854
6855 2001-09-15 Hans-Peter Nilsson <hp@axis.com>
6856
6857 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
6858 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
6859 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
6860
6861 * reorg.c (fill_slots_from_thread): After call to
6862 steal_delay_list_from_target, update own_thread as new_thread may
6863 have branched.
6864
6865 2001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
6866
6867 * cpperror.c (print_location): Take line and column, for
6868 default positioning use the previously lexed token.
6869 (_cpp_begin_message): Take line and column.
6870 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
6871 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
6872 * cpphash.h (_cpp_begin_message): Update prototype.
6873 * cppinit.c (push_include): Don't set output line.
6874 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
6875 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
6876 (do_pragma): Kludge for front ends. Don't expand macros at all.
6877 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
6878 (struct cpp_token): Remove output_line.
6879 (struct cpp_callbacks): New member line_change.
6880 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
6881 cpp_get_token): Preserve BOL flag.
6882 (cpp_get_line): Remove.
6883 (_cpp_backup_tokens): Remove useless abort().
6884 * cppmain.c (cb_line_change): New.
6885 (scan_translation_unit): Don't worry about starting new lines here.
6886 * scan-decls.c (scan_decls): Update.
6887 * c-lex.c (c_lex, init_c_lex): Update.
6888 (cb_line_change, src_lineno): New.
6889
6890 Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
6891
6892 * tree.c (append_random_chars): Generate the random
6893 characters in a reproducable fashion.
6894
6895 2001-09-14 Richard Henderson <rth@redhat.com>
6896
6897 * config/i386/i386.c (internal_label_prefix): New.
6898 (internal_label_prefix_len): New.
6899 (override_options): Set them.
6900 (local_symbolic_operand): New.
6901 (legitimate_pic_address_disp_p): Use it.
6902 (legitimize_pic_address): Likewise.
6903
6904 2001-09-14 Marc Espie <espie@openbsd.org>
6905
6906 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
6907 correctly.
6908
6909 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
6910
6911 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
6912 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
6913
6914 2001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
6915
6916 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
6917 invocation of SUBREG_REGNO_OFFSET.
6918
6919 * haifa-sched.c: Fix typo in FSF copyright statement.
6920 * sched-deps.c: Fix typo in FSF copyright statement.
6921 * sched-ebb.c: Fix typo in FSF copyright statement.
6922 * sched-rgn.c: Fix typo in FSF copyright statement.
6923 * sched-vis.c: Fix typo in FSF copyright statement.
6924
6925 * config.gcc: Move inclusion of arm elf specific header files
6926 from the files themselves into the tm_file variable. Make
6927 sure that elfos.h is included before target specific elf
6928 headers.
6929 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
6930 already defined.
6931 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
6932 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
6933 ASM_OUTPUT_CASE_LABEL): Protect definition.
6934 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
6935 not already defined.
6936 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
6937 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
6938 Remove duplicate definition.
6939 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
6940 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
6941 (RDATA_SECTION_FUNCTION): Remove redundant definition.
6942 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
6943 Remove inclusion of arm/elf.h.
6944 * config/arm/unknown-elf.h: as for conix-elf.h.
6945 (STARTFILE_SPEC): Include crti.o and crtn.o.
6946 * config/arm/linux-elf.h: as for conix-elf.h.
6947 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
6948 * config/arm/strongarm-elf.h: Remove inclusion of
6949 unknown-elf.h.
6950 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
6951 * config/arm/unknown-elf-oabi.h: Remove inclusion of
6952 unknown-elf.h and elf.h.
6953 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
6954 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
6955 ASM_WEAKEN_LABEL): Remove redundant definition.
6956 * config/arm/elf.h: Test for inclusion of elfos.h
6957 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
6958 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
6959 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
6960 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
6961 redundant definition.
6962 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
6963 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
6964 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
6965 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
6966 Add rules to build crti.o and crtn.o
6967 * crti.asm: New file.
6968 * crtn.asm: New file.
6969
6970 2001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
6971
6972 * c-parse.in (_yylex): Use _cpp_backup_tokens.
6973 * cpphash.h (struct tokenrun): Add prev.
6974 (struct lexer_state): Remove bol.
6975 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
6976 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
6977 : Remove.
6978 * cppinit.c (cpp_create_reader): Don't set bol.
6979 (cpp_destroy): Don't free lookaheads.
6980 * cpplex.c (lex_directive): Remove.
6981 (next_tokenrun): Update.
6982 (_cpp_lex_token): Clean up logic.
6983 (lex_token): Update to return a pointer to lexed token, since it
6984 can move to the start of the buffer. Simpify newline handling.
6985 * cpplib.c (SEEN_EOL): Update.
6986 (skip_rest_of_line): Remove lookahead stuff.
6987 (end_directive): Line numbers are already incremented. Revert
6988 to start of lexed token buffer if we can.
6989 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
6990 parse_answer): Use _cpp_backup_tokens.
6991 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
6992 instead. Don't check for EOL.
6993 (do_include_common, do_line, do_pragma_system_header): Use
6994 skip_rest_of_line.
6995 * cpplib.h (BOL, _cpp_backup_tokens): New.
6996 * cppmacro.c (save_lookahead_token, take_lookahead_token,
6997 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
6998 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
6999 (builtin_macro): Don't use cpp_get_line.
7000 (cpp_get_line): Short term kludge.
7001 (parse_arg): Handle directives in arguments here. Back up when
7002 appropriate. Store EOF at end of argument list.
7003 (funlike_invocation_p): Use _cpp_backup_tokens.
7004 (push_arg_context): Account for EOF at end of list.
7005 (cpp_get_token): Remove lookahead stuff. Update.
7006
7007 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7008
7009 * c-parse.in (yyerror): Const-ification and/or static-ization.
7010 * c-typeck.c (push_member_name): Likewise.
7011 * collect2.c (main): Likewise.
7012 * dbxout.c (dbxout_parms): Likewise.
7013 * diagnostic.c (format_with_decl): Likewise.
7014 * dwarf2out.c (output_ranges): Likewise.
7015 * dwarfout.c (fundamental_type_code): Likewise.
7016 * except.c (dw2_output_call_site_table): Likewise.
7017 * gcc.c (do_spec_1): Likewise.
7018 * genopinit.c (optabs): Likewise.
7019 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
7020 gen_declaration_1, handle_impent): Likewise.
7021 * protoize.c (default_include, in_system_include_dir, abspath):
7022 Likewise.
7023 * sched-vis.c (visualize_stall_cycles): Likewise.
7024 * sdbout.c (plain_type_1, sdbout_end_function,
7025 sdbout_end_epilogue): Likewise.
7026 * varasm.c (decode_reg_name): Likewise.
7027
7028 * 1750a.c (mod_regno_adjust): Likewise.
7029 * alpha.c (alpha_write_one_linkage,
7030 unicosmk_output_default_externs): Likewise.
7031 * arm.c (arm_condition_codes): Likewise.
7032 * arm.h (arm_condition_codes): Likewise.
7033 * avr.c (output_movsisf, encode_section_info): Likewise.
7034 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
7035 Likewise.
7036 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7037 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
7038 * m88k.c (output_function_profiler): Likewise.
7039 * mips.c (mips_output_conditional_branch): Likewise.
7040 * ns32k.c (ns32k_out_reg_names): Likewise.
7041 * ns32k.h (ns32k_out_reg_names): Likewise.
7042 * pj.c (pj_output_rval): Likewise.
7043 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
7044 * sparc.c (sparc_flat_function_prologue,
7045 sparc_flat_function_epilogue): Likewise.
7046
7047 2001-09-13 Markus Werle <numerical.simulation@web.de>
7048 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
7049
7050 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
7051 Aachen University of Technology".
7052
7053 2001-09-13 Andreas Schwab <schwab@suse.de>
7054
7055 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
7056 C99.
7057
7058 2001-09-13 Richard Henderson <rth@redhat.com>
7059
7060 * config/alpha/alpha.c (small_symbolic_operand): New.
7061 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
7062 (some_operand, input_operand): Don't handle HIGH.
7063 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
7064 (alpha_expand_mov): Likewise.
7065 (print_operand) [H]: Just print HIGH symbol.
7066 (print_operand_address): Handle small data.
7067 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
7068 (TARGET_SWITCHES): Add -msmall-data/large-data.
7069 (PIC_OFFSET_TABLE_REGNUM): New.
7070 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
7071 (PREDICATE_COES): Update.
7072 * config/alpha/alpha.md (adddi_er_high): New.
7073 (adddi_er_low): Handle small data.
7074 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
7075 prefer .sdata to .rodata.
7076 (SELECT_RTX_SECTION): Likewise.
7077
7078 2001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
7079
7080 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
7081 defining __size_t and leaving size_t undefined.
7082
7083 2001-09-12 Diego Novillo <dnovillo@redhat.com>
7084
7085 * basic-block.h (expunge_block): Declare.
7086 * cfg.c (expunge_block): Remove static declaration.
7087
7088 2001-09-12 Richard Henderson <rth@redhat.com>
7089
7090 * integrate.c (copy_insn_list): Copy label name from
7091 NOTE_INSN_DELETED_LABEL.
7092
7093 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7094
7095 * c-common.c (c_tree_code_name): Const-ification.
7096 * c-decl.c (c_decode_option): Likewise.
7097 * c-typeck.c (warn_for_assignment): Likewise.
7098 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
7099 Likewise.
7100 * cppinit.c (output_deps): Likewise.
7101 * dependence.c (dependence_string, direction_string): Likewise.
7102 * dwarf2out.c (output_ranges): Likewise.
7103 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
7104 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
7105 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
7106 standard_startfile_prefix, standard_startfile_prefix_1,
7107 standard_startfile_prefix_2, tooldir_base_prefix,
7108 standard_bindir_prefix, find_a_file): Likewise.
7109 * genattrtab.c (make_length_attrs): Likewise.
7110 * gencheck.c (tree_codes): Likewise.
7111 * genemit.c (gen_split): Likewise.
7112 * genrecog.c (special_mode_pred_table): Likewise.
7113 * graph.c (graph_ext): Likewise.
7114 * protoize (default_include): Likewise.
7115 * reload.c (reload_when_needed_name): Likewise.
7116 * sched-vis.c (visualize_stall_cycles): Likewise.
7117 * tlink.c (recompile_files): Likewise.
7118 * toplev.c (decode_g_option): Likewise.
7119 * tradcpp.c (output_deps): Likewise.
7120 * varasm.c (decode_reg_name): Likewise.
7121
7122 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
7123 Const-ification.
7124 * arm.md: Likewise.
7125 * avr.c (avr_regnames, encode_section_info): Likewise.
7126 * c4x.c (float_reg_names): Likewise.
7127 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
7128 * elfos.h (const_section): Likewise.
7129 * i386.c (ix86_comp_type_attributes): Likewise.
7130 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
7131 * ia64/aix.h (UNIQUE_SECTION): Likewise.
7132 * ia64.c (type_names): Likewise.
7133 * m68hc11.c (reg_class_names): Likewise.
7134 * m88k.c (m_options): Likewise.
7135 * mips.c (mips_output_conditional_branch, mips_unique_section):
7136 Likewise.
7137 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
7138 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
7139 ultra_code_names): Likewise.
7140 * sparc.h (OVERRIDE_OPTIONS): Likewise.
7141
7142 2001-09-12 Jakub Jelinek <jakub@redhat.com>
7143
7144 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
7145 Use --fatal-warnings option for gas.
7146 * configure: Rebuilt.
7147
7148 2001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7149
7150 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
7151
7152 2001-09-11 Jim Wilson <wilson@redhat.com>
7153
7154 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
7155
7156 2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
7157
7158 * builtins.c (c_strlen): Treat an offset too large for a
7159 HOST_WIDE_INT as out of range.
7160
7161 Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
7162
7163 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
7164 (EDGE_CRITICAL_P): New predicate.
7165 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
7166 handling.
7167 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
7168 (dump_edge_info): Remove "crit".
7169 * cfganal.c (mark_critical_edges): Kill.
7170 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
7171 * cfgcleanup.c (cleanup_cfg): Likewise.
7172 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
7173 (find_spanning_tree): Likewise.
7174 * reg-stack.c (convert_regs_1): Likewise.
7175 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
7176
7177 * basic-block.h (create_basic_block_structure): New.
7178 (create_basic_block): Update prototype.
7179 (force_nonfallthru): New.
7180 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
7181 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
7182 handle updating of block_for_insn, creating of empty BBs and BBs at
7183 the end of INSN chain.
7184 (create_basic_block): New function.
7185 (split_block): Use create_basic_block.
7186 (force_nonfallthru_and_redirect): Break out from ...; cleanup
7187 (redirect_edge_and_branch_force): ... here.
7188 (force_nonfallthru): New.
7189 (split_edge): Rewrite to use force_nonfallthru and create_block.
7190 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
7191 (find_basic_blocks): Free basic_block_for_insn.
7192 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
7193
7194 * cfg.c: Fix formating.
7195 * cfgcleanup.c: Fix formating.
7196 (merge_blocks, tail_recursion_label_p): Return bool.
7197 (merge_blocks_move_predecessor_nojumps,
7198 merge_blocks_move_successor_nojumps): Return void.
7199
7200 2001-09-11 Jakub Jelinek <jakub@redhat.com>
7201
7202 * configure.in: Check whether assembler supports section merging.
7203 * config.in: Rebuilt.
7204 * configure: Rebuilt.
7205 * varasm.c (variable_section, output_constant_pool): Pass alignment
7206 to SELECT_SECTION and SELECT_RTX_SECTION.
7207 (mergeable_string_section): New.
7208 (mergeable_constant_section): New.
7209 (default_elf_asm_named_section): Output SECTION_MERGE and
7210 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7211 * output.h (mergeable_string_section): New.
7212 (mergeable_constant_section): New.
7213 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
7214 * toplev.c (flag_merge_constants): New.
7215 (f_options): Add -fmerge-constants and -fmerge-all-constants
7216 options.
7217 (toplev_main): Default to -fno-merge-constants if not optimizing.
7218 * flags.h (flag_merge_constants): Add extern.
7219 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
7220 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
7221 argument.
7222 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
7223 Define if assembler has working .subsection -1 support.
7224 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
7225 Put constant into special SHF_MERGE sections if the linker should
7226 attempt to merge duplicates.
7227 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
7228 macro argument.
7229 Put constant into special SHF_MERGE sections if the linker should
7230 attempt to merge duplicates.
7231 * config/alpha/elf.h: Likewise.
7232 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
7233 has working .subsection -1 support.
7234 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
7235 SELECT_SECTION.
7236 * config/svr3.h: Likewise.
7237 * config/darwin.h: Likewise.
7238 * config/arm/aof.h: Likewise.
7239 * config/arm/linux-elf.h: Likewise.
7240 * config/avr/avr.h: Likewise.
7241 * config/c4x/c4x.h: Likewise.
7242 * config/d30v/d30v.h: Likewise.
7243 * config/i386/dgux.h: Likewise.
7244 * config/i386/osfrose.h: Likewise.
7245 * config/i386/sco5.h: Likewise.
7246 * config/i386/svr3gas.h: Likewise.
7247 * config/ia64/aix.h: Likewise.
7248 * config/m32r/m32r.h: Likewise.
7249 * config/m68k/m68k.h: Likewise.
7250 * config/m88k/dgux.h: Likewise.
7251 * config/m88k/m88k.h: Likewise.
7252 * config/mcore/mcore-pe.h: Likewise.
7253 * config/mips/mips.h: Likewise.
7254 * config/pa/pa.h: Likewise.
7255 * config/pa/pa-linux.h: Likewise.
7256 * config/romp/romp.h: Likewise.
7257 * config/rs6000/sysv4.h: Likewise.
7258 * config/rs6000/xcoff.h: Likewise.
7259 * config/s390/linux.h: Likewise.
7260 * config/sparc/sparc.h: Likewise.
7261 * config/sparc/sysv4.h: Likewise.
7262 * config/stormy16/stormy16.h: Likewise.
7263 * config/v850/v850.h: Likewise.
7264 * config/vax/vms.h: Likewise.
7265 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
7266 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
7267 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
7268 default_elf_asm_named_section for SHF_MERGE sections.
7269
7270 Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
7271
7272 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
7273 is OK.
7274
7275 2001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
7276
7277 * c-common.c (split_specs_attrs): Allow for empty attributes with
7278 empty TREE_PURPOSE. Fixes PR c/4294.
7279
7280 Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
7281
7282 * basic-block.h (cached_make_edge, make_single_succ): New.
7283 (make_edge): Remove first parameter.
7284 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
7285 * cfg.c (cached_make_edge): Rename from make_edge; return newly
7286 created edge; use obstack allocation.
7287 (make_edge, make_single_succ_edge): New.
7288 (first_removed_edge): New static variable.
7289 (init_flow): Initialize first_removed_edge and n_edges.
7290 (clear_edges): Use remove_edge.
7291 (flow_delete_block): Likewise.
7292 (remove_edge): Add removed edges to the removed edges list.
7293 (split_block, redirect_edge_and_branch_force, split_edge):
7294 Use make_edge.
7295 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
7296 (add_noreturn_fake_exit_edges): Likewise.
7297 (connect_infinite_loops_to_exit): Liekwise.
7298 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
7299 Use cached_make_edge.
7300 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
7301 * profile.c (branch_prob): Update make_edge call.
7302 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
7303
7304 2001-09-11 Richard Henderson <rth@redhat.com>
7305
7306 * config/alpha/alpha.c: Tidy formatting.
7307 (local_symbolic_operand): Verify mode.
7308 (alpha_sa_mask): Ignore unicos for eh_return.
7309 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
7310 * config/alpha/alpha.md (umk divsi patterns): Remove.
7311 (extendsfdf2): Remove unicos check.
7312 (tablejump): Merge vms and unicos code; always use direct set
7313 plus label_ref use.
7314
7315 2001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7316
7317 * config.gcc (alpha*-*-unicosmk*): New target.
7318
7319 * config/alpha/alpha-protos.h (symbolic_operand,
7320 unicosmk_add_call_info_word, unicosmk_add_extern,
7321 unicosmk_defer_case_vector, unicosmk_unique_section,
7322 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
7323 unicosmk_asm_file_start, unicosmk_asm_file_end,
7324 unicosmk_output_common): Declare.
7325
7326 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
7327 direct_return, function_arg, alpha_va_start, alpha_va_arg,
7328 alpha_does_function_need_gp, alpha_end_function): Support Cray
7329 Unicos/Mk.
7330 (alpha_init_machine_status, alpha_mark_machine_status,
7331 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
7332 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
7333 unicosmk_asm_named_section, unicosmk_insert_attributes,
7334 unicosmk_section_type_flags, symbolic_operand,
7335 unicosmk_output_module_name, unicosmk_output_default_externs,
7336 unicosmk_output_dex, unicosmk_output_externs,
7337 unicosmk_output_addr_vec, unicosmk_ssib_name,
7338 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
7339 unicosmk_asm_file_end, unicosmk_output_common,
7340 unicosmk_section_type_flags, unicosmk_unique_section,
7341 unicosmk_add_call_info_word, unicosmk_text_section,
7342 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
7343 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
7344 unicosmk_dex_count, unicosmk_special_name): New.
7345 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
7346 TARGET_ABI_UNICOSMK.
7347 (get_aligned_mem, alpha_expand_unaligned_load,
7348 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
7349 alpha_expand_unaligned_store_words): Support big-endian mode.
7350 (print_operand): Likewise. New format specifier 't'. Use
7351 TARGET_AS_SLASH_BEFORE_SUFFIX.
7352 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
7353 (alpha_pv_save_size): Update with above change.
7354 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
7355 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
7356 Unicos/Mk.
7357
7358 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
7359 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
7360 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
7361 (EXTRA_CONSTRAINT): New constraint 'U'.
7362 (PREDICATE_CODES): Add symbolic_operand.
7363
7364 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
7365 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
7366 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
7367 (integer division and modulus patterns): Split in default and
7368 Unicos/Mk versions.
7369 (*divmodsi_internal, *divmoddi_internal): Disable for
7370 TARGET_ABI_UNICOSMK.
7371 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
7372 little-endian and big-endian versions.
7373 (ext, ins, msk): Likewise.
7374 (extv, extzv, insv): Support big-endian mode.
7375 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
7376 (call_umk, call_value_umk, *call_umk, tablejump_umk,
7377 *tablejump_umk_internal, *call_value_umk): New.
7378 (*movdi_nofix): Add pattern for loading an address into a register on
7379 TARGET_ABI_UNICOSMK.
7380 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
7381 (umk_mismatch_args, arg_home_umk): New.
7382 (various insns): Don't use mov, fmov, nop, fnop and unop.
7383 (realign): Support TARGET_ABI_UNICOSMK.
7384
7385 * config/alpha/unicosmk.h: New file.
7386 * config/alpha/t-unicosmk: New file.
7387
7388 * fixinc/inclhack.def (unicosmk_restrict): New.
7389 * fixinc/fixincl.x: Regenerate.
7390
7391 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
7392 (wchar_t): Check for and define __WCHAR_T__.
7393
7394 2001-09-11 Richard Sandiford <rsandifo@redhat.com>
7395
7396 * combine.c (simplify_shift_const): Treat shifts by the mode
7397 size as undefined.
7398
7399 2001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
7400
7401 * cpphash.h (struct tokenrun): New.
7402 (struct cpp_context): New member bol.
7403 (struct cpp_reader): New members.
7404 (_cpp_init_tokenrun): New.
7405 * cppinit.c (cpp_create_reader): Set up the token runs.
7406 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
7407 (lex_token): New internalised version of _cpp_lex_token. Don't
7408 handle directives or the multiple include optimization here any
7409 more. Simply lex a token.
7410 * cpplib.c (run_directive): Clear bol.
7411 (_cpp_pop_buffer): Set bol.
7412 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
7413 arguments.
7414
7415 2001-09-11 Michael Meissner <meissner@redhat.com>
7416
7417 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
7418 give an error if the user uses -mfp32.
7419 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
7420 default options.
7421 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
7422 floating point register size.
7423 (EXTRA_SPECS): Add CPP_FPR_SPEC.
7424
7425 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
7426 HOST_WIDE_INT_PRINT_DEC to properly print the result of
7427 int_size_in_bytes.
7428 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7429 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
7430
7431 2001-09-11 Hans-Peter Nilsson <hp@axis.com>
7432
7433 * dbxout.c (dbxout_parms): Fix typo in comment.
7434 * unroll.c (loop_find_equiv_value): Ditto.
7435 * toplev.c (rest_of_compilation): Ditto.
7436 * loop.c (scan_loop): Ditto.
7437 * dwarf2out.c (struct dw_fde_struct): Ditto.
7438
7439 2001-09-10 Zack Weinberg <zackw@panix.com>
7440
7441 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
7442 copying identifier when we're just going to throw it away.
7443 (parse_identifier_slow): New routine to handle abnormal cases.
7444 (_cpp_lex_token): Update call site.
7445
7446 * hashtable.c (ht_lookup): Don't assume that the string we've
7447 been given is NUL-terminated.
7448 * system.h: #define __builtin_expect(a, b) to (a) if not
7449 GCC >=3.0.
7450
7451 2001-09-10 Michael Meissner <meissner@redhat.com>
7452
7453 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
7454 binutils, gdb.
7455
7456 2001-09-10 David Edelsohn <edelsohn@gnu.org>
7457
7458 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
7459
7460 Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7461
7462 * builtins.c (c_getstr): Correct thinko in last change and further
7463 cleanup.
7464
7465 2001-09-10 Tim Freeman <tim@fungibole.com>
7466
7467 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
7468 into varray's and register them as roots with the garbage
7469 collector so they are not collected too soon.
7470
7471 Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
7472
7473 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
7474 New.
7475 * basic-block.h (flow_obstack, label_value_list,
7476 tail_recursion_label_list): Declare
7477 (tidy_fallthru_edges): Declare.
7478 (expunge_block, last_loop_beg_note): Delete.
7479 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
7480 * cfg.c: New file
7481 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
7482 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
7483 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
7484 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
7485 expunge_block, flow_delete_block, compute_bb_for_insn,
7486 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
7487 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
7488 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
7489 try_redirect_by_replacing_jump, last_loop_beg_note,
7490 redirect_edge_and_branch, redirect_edge_and_branch_force,
7491 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
7492 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
7493 commit_edge_insertions, dump_flow_info, debug_flow_info,
7494 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
7495 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
7496 Move here from flow.c
7497 * cfganal.c: New file.
7498 (forwarder_block_p, can_fallthru, mark_critical_edges,
7499 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
7500 find_unreachable_blocks, create_edge_list, free_edge_list,
7501 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
7502 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
7503 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
7504 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
7505 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
7506 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
7507 Move here from flow.c
7508 * cfgbuild.c: New file
7509 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
7510 make_edges, find_basic_blocks_1, find_basic_blocks,
7511 find_sub_basic_blocks): Move here from flow.c
7512 * cfgcleanup.c: New file.
7513 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
7514 merge_blocks_move_predecessor_nojumps,
7515 merge_blocks_move_successor_nojumps, merge_blocks,
7516 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
7517 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
7518 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
7519 if succeeded.
7520 * cfgloop.c: New file
7521 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
7522 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
7523 flow_loop_exit_edges_find, flow_loop_nodes_find,
7524 flow_loop_pre_header_scan, flow_loop_pre_header_find,
7525 flow_loop_tree_node_add, flow_loops_tree_build,
7526 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
7527 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
7528 Move here from flow.c
7529 * flow.c: Remove everything moved elsewhere
7530 * output.h (cleanup_cfg): Return bool.
7531
7532 * bb-reorder.c (reorder_block_def): Remove 'index'.
7533 (insert_intra_1): Add argument BB, set block for new note.
7534 (make_reorder_chain): Do not depdent on BB indexes.
7535 (make_reorder_chain_1): Do not use BB indexes.
7536 (label_for_bb): Likewise; set BB for new insn.
7537 (emit_jump_to_block_after): Likewise.
7538 (fixup_reorder_chain): Sanity check that all basic blocks
7539 are chained; verify newly created insn chain; remove
7540 undocnitional jump simplifying; Do not use BB indexes;
7541 properly initialize count and frequency information;
7542 dump reordered sequence.
7543 (insert_intra_bb_scope_notes): update call of insert_intra_1.
7544 (insert_inter_bb_scope_notes): Set block for new insn.
7545 (reorder_basic_blocks): Dump flow info before reoredering.
7546
7547 Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7548
7549 * alias.c (clear_reg_alias_info): Use K&R format definition.
7550 Avoid unsigned warning.
7551 * builtins.c: Use "unsigned int", not "unsigned".
7552 (target_char_cast): Use host_integerp and tree_low_cst.
7553 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
7554 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
7555 (c_getstr): Likewise.
7556 (std_expand_builtin_va_arg): Use int_size_in_bytes.
7557 (builtin_memcpy_read_str): Avoid unsigned warning.
7558 (expand_builtin_memcpy): Alignments are unsigned.
7559 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
7560 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
7561 * predict.c (expensive_function_p): LIMIT now unsigned.
7562 * resource.c (mark_target_live_regs): Make some vars unsigned.
7563 * sdbout.c: Use "unsigned int", not "unsigned".
7564 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
7565 (sdbout_source_line): Likewise.
7566 (sdbout_record_type_name): Remove "const" for NAME declaration.
7567 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
7568
7569 2001-09-10 Richard Sandiford <rsandifo@redhat.com>
7570
7571 * calls.c (store_one_arg): Expand comment.
7572
7573 2001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7574
7575 * calls.c (store_one_arg): Make sure that the entire argument is
7576 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
7577
7578 2001-09-09 Richard Henderson <rth@redhat.com>
7579
7580 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
7581
7582 Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
7583
7584 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
7585
7586 2001-09-09 Richard Henderson <rth@redhat.com>
7587
7588 * config/alpha/alpha.c (alpha_next_sequence_number): New.
7589 (alpha_this_literal_sequence_number): New.
7590 (alpha_this_gpdisp_sequence_number): New.
7591 (some_operand, input_operand): Add HIGH.
7592 (local_symbolic_operand): New.
7593 (alpha_encode_section_info): New.
7594 (alpha_legitimate_address_p): Allow LO_SUM.
7595 (alpha_legitimize_address): Generate HIGH+LO_SUM.
7596 (alpha_expand_mov): Likewise.
7597 (secondary_reload_class): Check memory_operand not general_operand
7598 for FP_REGS test.
7599 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
7600 (alpha_expand_unaligned_store): Likewise.
7601 (alpha_expand_unaligned_load_words): Likewise.
7602 (alpha_expand_unaligned_store_words): Likewise.
7603 (alpha_expand_block_clear): Likewise.
7604 (print_operand): Handle %#, %*, %H.
7605 (print_operand_address): Handle LO_SUM.
7606 (find_lo_sum): New.
7607 (alpha_does_function_need_gp): Use it.
7608 (alpha_expand_block_move): Fix signed compare warnings.
7609 (alpha_sa_mask, alpha_align_insns): Likewise.
7610 * config/alpha/alpha-protos.h: Update.
7611 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
7612 (MASK_EXPLICIT_RELOCS): New.
7613 (TARGET_SWITCHES): Add -mexplicit-relocs.
7614 (EXTRA_CONSTRAINT): Add 'T'.
7615 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
7616 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
7617 (ENCODE_SECTION_INFO): Out line.
7618 (REDO_SECTION_INFO_P): New.
7619 (STRIP_NAME_ENCODING): New.
7620 (ASM_OUTPUT_LABELREF): New.
7621 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
7622 (PREDICATE_CODES): Update.
7623 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
7624 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
7625 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
7626 builtin_setjmp_receiver_er, exception_receiver_1_er,
7627 call_value_osf_1_er): New patterns.
7628 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
7629 (movqi, movhi, movsi): Add explicit $31 base register to lda.
7630 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
7631 (FINAL_PRESCAN_INSN): New.
7632
7633 Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
7634
7635 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
7636
7637 2001-09-08 Andreas Jaeger <aj@suse.de>
7638
7639 * i386.h (TARGET_SWITCHES): Fix description.
7640
7641 2001-09-07 David Edelsohn <edelsohn@gnu.org>
7642
7643 * rs6000.c (num_insns_constant): Compute number of instructions
7644 more accurately.
7645
7646 * doc/install.texi: Explain AIX exception handling work-around.
7647 Update URL for AIX fixes.
7648
7649 2001-09-07 Jim Wilson <wilson@redhat.com>
7650
7651 * alias.c (clear_reg_alias_info): New.
7652 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
7653 * rtl.h (clear_reg_alias_info): Declare.
7654
7655 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7656
7657 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
7658 available.
7659 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
7660 (m16m,edivm,emulm): Change declaration to match definition.
7661
7662 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7663
7664 * reload.c (push_reload): Check for subreg_lowpart_p instead of
7665 SUBREG_BYTE being 0 when determining if the inner part of a subreg
7666 can be reloaded.
7667
7668 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
7669
7670 * c-common.c (signed_or_unsigned_type): Handle machine mode types
7671 which have no corresponding C type.
7672 * fold_const.c (target_isinf,target_isnan,target_negative): Update
7673 the representation of 64-bit doubles to work with 64-bit ints.
7674
7675 2001-09-07 Aldy Hernandez <aldyh@redhat.com>
7676
7677 * config/mips/mips.c (override_options): Do not override ISA when ABI
7678 specified if MIPS_CPU_STRING_DEFAULT was specified.
7679
7680 2001-09-07 Richard Henderson <rth@redhat.com>
7681
7682 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
7683 (express_from_1): Wrap lines.
7684 * rtlanal.c (commutative_operand_precedence): Rename from
7685 operand_preference; export.
7686 * rtl.h: Declare it.
7687 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
7688 (simplify_binary_operation): Invoke simplify_plus_minus on
7689 (CONST (PLUS ...)) as well.
7690 (struct simplify_plus_minus_op_data): New.
7691 (simplify_plus_minus_op_data_cmp): New.
7692 (simplify_plus_minus): Use them. Avoid infinite recursion with
7693 simplify_binary_operation wrt CONST.
7694
7695 Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
7696
7697 * h8300-protos.h (general_operand_dst_push): Remove.
7698 * h8300.c (general_operand_dst_push): Likewise.
7699 * h8300.h (OK_FOR_T): Likewise.
7700 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
7701 * h8300.md (pushqi_h8300): New.
7702 (pushqi_h8300hs): Likewise.
7703 (pushqi): Likewise.
7704 (pushhi_h8300): Likewise.
7705 (pushhi_h8300hs): Likewise.
7706 (pushhi): Likewise.
7707
7708 Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7709
7710 * genattrtab.c (attr_printf): First arg is unsigned.
7711 Clean up formatting of callers.
7712
7713 2001-09-06 Aldy Hernandez <aldyh@redhat.com>
7714
7715 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
7716 registers.
7717
7718 2001-09-07 Andreas Jaeger <aj@suse.de>
7719
7720 * i386.h (TARGET_SWITCHES): Fix descriptions.
7721
7722 2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
7723
7724 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
7725
7726 2001-09-06 Ira Ruben <ira@apple.com>
7727
7728 Remove OP_IDENTIFIER.
7729 * tree.def (OP_IDENTIFIER): Remove.
7730 * tree.c (tree_node_kind enum): Remove op_id_kind.
7731 (tree_node_kind_names): Remove "op_identifiers".
7732 (make_node): Remove OP_IDENTIFIER test.
7733 (build_op_identifier): Removed because it isn't being used.
7734 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
7735 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
7736
7737 2001-09-06 Richard Henderson <rth@redhat.com>
7738
7739 * simplify-rtx.c (simplify_binary_operation): Revert last change.
7740
7741 2001-09-06 Richard Henderson <rth@redhat.com>
7742
7743 * simplify-rtx.c (simplify_binary_operation): Simplify contents
7744 of CONST.
7745
7746 2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7747
7748 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
7749 number used for CR register.
7750
7751 Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
7752 Joern Rennecke (amylaar@cygnus.com)
7753
7754 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
7755 * h8300.c (initial_offset): Handle offset between RP and FP.
7756 (h8300_return_addr_rtx): New function.
7757 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
7758 return register.
7759 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
7760 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
7761 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
7762 (CAN_ELIMINATE, REGISTER_NAMES):
7763 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
7764
7765 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
7766
7767 Remove TYPE_NONCOPIED_PARTS.
7768 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
7769 (struct tree_type): Remove noncopied_parts.
7770 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
7771 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
7772 (fixed_type_p): Remove.
7773 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
7774 (expand_expr, MODIFY_EXPR): Likewise.
7775 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
7776 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
7777
7778 2001-09-06 Alan Modra <amodra@bigpond.net.au>
7779
7780 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
7781 compiler warnings.
7782 (mask64_operand): Likewise.
7783 (includes_rldic_lshift_p): Likewise.
7784 (includes_rldicr_lshift_p): Likewise.
7785
7786 2001-09-05 Ziemowit Laski <zlaski@apple.com>
7787
7788 * objc/objc-act.c (build_message_expr): If a class method cannot
7789 be found, do not issue a warning if a corresponding instance
7790 method exists in the root class.
7791
7792 2001-09-05 Richard Henderson <rth@redhat.com>
7793
7794 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
7795
7796 2001-09-05 Zack Weinberg <zack@codesourcery.com>
7797
7798 * function.c (ggc_mark_struct_function): Mark f->outer.
7799 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
7800 * integrate.c (output_inline_function): ... not here.
7801
7802 Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
7803
7804 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
7805
7806 * i386.c (size_cost): New static variable.
7807 (override_function): Use size_cost when -Os is specified.
7808
7809 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
7810 properly; Use current_function_calls_eh_return.
7811 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
7812 use leave to avoid dependency chain.
7813
7814 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
7815 get BB loop_depth instead of computing it from LOOP notes.
7816
7817 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
7818
7819 2001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
7820
7821 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7822 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
7823 UNALIGNED_DOUBLE_INT_ASM_OP): Define
7824
7825 2001-09-05 Jeffrey A Law (law@cygnus.com)
7826 Jason Merrill (jason@redhat.com)
7827
7828 * stor-layout.c (layout_type): Complain if an array's size can
7829 not be represented in a size_t.
7830
7831 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
7832
7833 2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
7834
7835 * gcc.c: (process_command) Add parentheses around assignment
7836 used as truth value.
7837
7838 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
7839
7840 * config/mips/mips.c (save_restore_insns): Don't mark any register
7841 save slots as unchanging if current_function_calls_eh_return.
7842
7843 2001-09-05 Richard Henderson <rth@redhat.com>
7844
7845 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
7846 * config/alpha/alpha-protos.h: Declare it.
7847 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
7848 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
7849 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
7850 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
7851 (REG_OK_FOR_BASE_P): Select one of the above.
7852
7853 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
7854
7855 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
7856 (crti.o): Prefix name of object file with $(T).
7857 (crtn.o): Likewise.
7858
7859 2001-09-05 David S. Miller <davem@redhat.com>
7860
7861 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
7862 * config/sparc/linux64.h: Likewise.
7863
7864 2001-09-05 Andreas Jaeger <aj@suse.de>
7865
7866 * doc/invoke.texi (i386 Options): -mwide-multiply is not
7867 available anymore, remove the documentation.
7868 (i386 Options): Fix typo, cleanup index entries.
7869
7870 * prefix.c (concat): Remove, we can use the version from liberty.
7871
7872 2001-09-05 Richard Henderson <rth@redhat.com>
7873
7874 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
7875 New functions split out of md file expanders.
7876 * config/alpha/alpha-protos.h: Declare them.
7877 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
7878
7879 2001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
7880
7881 * cppmacro.c (funlike_invocation_p): No need to restore context.
7882
7883 2001-09-04 Richard Henderson <rth@redhat.com>
7884
7885 * reload.c (push_reload): Export.
7886 * reload.h (push_reload): Declare it.
7887
7888 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
7889 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
7890 * config/alpha/alpha.c (alpha_legitimize_address): New.
7891 (alpha_legitimize_reload_address): Likewise.
7892 * config/alpha/alpha-protos.h: Declare them.
7893
7894 2001-09-04 Stan Shebs <shebs@apple.com>
7895
7896 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
7897 * config/darwin.c (machopic_stub_name): Account for internally
7898 generated lib calls such as memcpy.
7899
7900 2001-09-04 Richard Henderson <rth@redhat.com>
7901
7902 * unwind.h (_UA_END_OF_STACK): New flag.
7903 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
7904
7905 Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
7906
7907 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
7908
7909 2001-09-04 Richard Sandiford <rsandifo@redhat.com>
7910
7911 * config/mips/mips.c (save_restore_insns): Change base_offset to
7912 fp_offset in second call to mips_emit_frame_related_store.
7913
7914 2001-09-04 Hans-Peter Nilsson <hp@axis.com>
7915
7916 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
7917 sometimes be represented as a NOTE of type
7918 NOTE_INSN_DELETED_LABEL.
7919 (Insns): Document NOTE_INSN_DELETED_LABEL.
7920
7921 2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
7922
7923 * c-common.h (tree_dump_index): Add more comments.
7924 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
7925 (dump_option_value_info): New struct.
7926 (dump_options): New array.
7927 (dump_switch_p): Parse switch options symbolically.
7928 * doc/invoke.texi (-fdump-ast): Rename to ...
7929 (-fdump-tree): ... here. Document that options are symbolic, and
7930 not all are applicable.
7931
7932 2001-09-04 David S. Miller <davem@redhat.com>
7933
7934 * config/sparc/sparc.md (define_splits): Kill constraints.
7935
7936 Cleanup redundant and unused insn attributes.
7937 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
7938 binary, and move. Mark ialu as default.
7939 (commented out define_function_unit "alu"): Kill.
7940 (define_attr "use_clobbered"): Kill.
7941 (whole file): Kill address insn type references. Replace
7942 all unary/binary/move references with ialu.
7943 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
7944 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
7945 TYPE_IALU.
7946
7947 Simplify length insn attribute and make more judicious use
7948 of insn attribute defaulting.
7949 * config/sparc/sparc.md (all insns with length > one): Mark as
7950 insn type multi if real instructions, else use default if
7951 it is a forced splitter.
7952 (all insns with length == one): Use default insn length.
7953 (all insns of type ialu): Use default insn type.
7954
7955 Fix erroneous insn attribute settings.
7956 (addx): Set insn type to misc.
7957 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
7958 const_umulsidi3_sp64): Set insn type to imul.
7959
7960 Track SFmode vs DFmode insns according to UltraSPARC
7961 scheduling rules.
7962 * config/sparc/sparc.md ("fptype"): New attribute, default
7963 to "single".
7964 (all DFmode single insns): Mark as fptype "double".
7965
7966 2001-09-03 Jakub Jelinek <jakub@redhat.com>
7967
7968 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
7969
7970 2001-09-03 Richard Henderson <rth@redhat.com>
7971
7972 * function.h (struct function): Add arg_pointer_save_area_init.
7973 * function.c (expand_function_end): Init arg_pointer_save_area.
7974 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
7975 when called from a nested function.
7976
7977 2001-09-02 Angela Marie Thomas <angela@cygnus.com>
7978
7979 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
7980 is enabled.
7981
7982 Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
7983
7984 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
7985
7986 2001-09-01 Geoffrey Keating <geoffk@redhat.com>
7987
7988 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
7989 (emit_push_insn): Use specified padding direction when
7990 STACK_PUSH_CODE is POST_INC.
7991
7992 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
7993
7994 2001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7995
7996 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
7997
7998 2001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
7999
8000 * cppinit.c (cpp_start_read): Free the imacros list as we
8001 traverse it. Don't free the chains before returning.
8002 (_cpp_push_next_buffer): Only try pushing buffers if we've
8003 completed -imacros handling.
8004
8005 2001-08-31 Eric Christopher <echristo@redhat.com>
8006
8007 * gcc.c (handle_braces): Add explaination for abort.
8008
8009 2001-08-30 Roman Zippel <zippel@linux-m68k.org>
8010
8011 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
8012 move adjustment of bitpos instead.
8013
8014 2001-08-31 Zack Weinberg <zack@codesourcery.com>
8015
8016 * function.c: Remove all_functions. Make outer_function_chain
8017 static.
8018 (init_function_start): Don't add new function structure to
8019 all_functions.
8020 (find_function_data, push_function_context_to,
8021 pop_function_context_from, put_var_into_stack,
8022 trampoline_address): Update for changed structure element names.
8023 (push_function_context_to): Disentangle.
8024 (free_after_compilation): Also free F.
8025 (expand_dummy_function_end): Don't free cfun here.
8026 (put_var_into_stack): Comment why we can't use find_function_data here.
8027 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
8028 (mark_function_chain): Split into maybe_mark_struct_function and
8029 ggc_mark_struct_function. Export the latter.
8030 (init_function_once): Mark from cfun and outer_function_chain;
8031 not all_functions.
8032
8033 * function.h (struct function): Kill next_global. Rename next
8034 to outer. All users updated to match.
8035 (all_functions, outer_function_chain): Don't declare.
8036
8037 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
8038 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
8039 don't touch f->inlinable, after calling rest_of_compilation.
8040
8041 * tree.h: Forward-declare struct function. Prototype
8042 ggc_mark_struct_function.
8043
8044 2001-08-31 Kazu Hirata <kazu@hxi.com>
8045
8046 * config/h8300/h8300.md (*andorhi3): Fix typos.
8047
8048 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8049
8050 * calls.c (emit_library_call_value): Don't use a fixed
8051 argument after VA_CLOSE, i.e. out of scope in traditional C.
8052
8053 * emit-rtl.c (gen_rtvec): Likewise.
8054
8055 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8056
8057 * Makefile.in (c-pragma.o): Depend on output.h.
8058 (reorg.o): Depend on except.h.
8059
8060 * c-pragma.c: Include output.h.
8061
8062 * reorg.c: Include except.h.
8063
8064 * unwind-dw2.c: Call __builtin_alloca, not alloca.
8065
8066 2001-08-31 Richard Henderson <rth@redhat.com>
8067
8068 * sched-deps.c (add_dependence): Don't elide dependency if the
8069 conditional used by insn is modified in elem.
8070
8071 2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
8072
8073 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
8074
8075 2001-08-31 Diego Novillo <dnovillo@redhat.com>
8076
8077 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
8078 dump_switch_p.
8079
8080 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
8081
8082 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
8083 function.
8084 (stormy16_asm_out_constructor): New function.
8085 (TARGET_ASM_CONSTRUCTOR): Define.
8086 (TARGET_ASM_DESTRUCTOR): Define.
8087
8088 2001-08-31 Andreas Jaeger <aj@suse.de>
8089
8090 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
8091 * loop.c (add_label_notes): Likewise.
8092 * reload.c (find_reloads): Likewise.
8093 * config/sh/sh.c (machine_dependent_reorg): Likewise.
8094
8095 2001-08-31 Jason Merrill <jason_merrill@redhat.com>
8096
8097 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
8098 code here. Take _Unwind_{W,Sw}ord*.
8099 (read_encoded_value_with_base): Use them.
8100 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
8101 words.
8102 (extract_cie_info): Simplify read_?leb128 handling.
8103 (execute_stack_op, execute_cfa_program): Likewise.
8104 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
8105
8106 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
8107
8108 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
8109 the frame pointer to pop the stack if convenient.
8110
8111 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
8112 Don't use post-increment before combine.
8113 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
8114 a call-saved register.
8115
8116 2001-08-31 Andreas Jaeger <aj@suse.de>
8117
8118 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
8119 code was correct.
8120
8121 2001-08-30 Geoffrey Keating <geoffk@redhat.com>
8122
8123 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
8124 not DIV/MOD, of course.
8125
8126 2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
8127
8128 * rtl.def: Undo my patch commited 2001-08-27.
8129
8130 * genattrtab.c: Ditto.
8131
8132 * rtl.h: Ditto.
8133
8134 * sched-int.h: Ditto.
8135
8136 * target-def.h: Ditto.
8137
8138 * target.h: Ditto.
8139
8140 * haifa-sched.c: Ditto.
8141
8142 * sched-rgn.c: Ditto.
8143
8144 * sched-vis.c: Ditto.
8145
8146 * Makefile.in: Ditto.
8147
8148 * doc/md.texi: Ditto.
8149
8150 * doc/tm.texi: Ditto.
8151
8152 * doc/contrib.texi: Ditto.
8153
8154 * doc/gcc.texi: Ditto.
8155
8156 * genattrtab.h: Remove it.
8157
8158 * genautomata.c: Remove it.
8159
8160 * genattr.c: Undo my patch and Richard Henderson's patch commited
8161 2001-08-27.
8162
8163 Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
8164
8165 * config.gcc (h8300-*-elf*): New case.
8166 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
8167 (SUBTARGET_CPP_SPEC): Define.
8168 (EXTRA_SPECS): Define.
8169 (SUBTARGET_EXTRA_SPECS): Define.
8170 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
8171 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
8172
8173 Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
8174
8175 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
8176 (LIB2FUNCS_EXTRA): Define.
8177 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
8178 config/h8300/fixunssfsi.c: New file.
8179
8180 2001-08-30 Kazu Hirata <kazu@hxi.com>
8181
8182 * config/h8300/h8300.md (zero_extendqihi2): Changes to
8183 define_expand to accommodate target-specific attributes.
8184 (anonymous zero_extendqihi2 patterns): New.
8185
8186 Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
8187
8188 * h8300.md (*andorhi3): New pattern.
8189
8190 Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
8191
8192 * h8300.c (dosize): Fix test for "sub".
8193
8194 Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
8195
8196 * c-typeck.c (pointer_diff): Try to eliminate common term before
8197 doing conversions.
8198
8199 2001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
8200
8201 * config/arm/arm.c (arm_compute_initial_elimination_offset):
8202 Account for the saves of the FP registers.
8203
8204 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
8205 (TEXT_SECTION_ASM_OP): Define.
8206 (INIT_SECTION_ASM_OP): Define.
8207 (FINI_SECTION_ASM_OP): Define.
8208 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
8209 (RDATA_SECTION_FUNCITON): Provide prototype.
8210
8211 2001-08-29 Geoffrey Keating <geoffk@redhat.com>
8212
8213 * reload1.c (move2add_note_store): Correct typo checking for
8214 argument pushes.
8215
8216 2001-08-29 Andrew MacLeod <amacleod@redhat.com>
8217
8218 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
8219 note should not be considered outside the libcall block.
8220
8221 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8222
8223 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
8224
8225 2001-08-29 Kazu Hirata <kazu@hxi.com>
8226
8227 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
8228
8229 2001-08-29 Kazu Hirata <kazu@hxi.com>
8230
8231 * config/h8300/h8300-protos.h: Add a prototype for
8232 emit_logical_op.
8233 * config/h8300/h8300.c (emit_logical_op): New.
8234 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
8235 (andsi3): Likewise.
8236 (iorhi3): Likewise.
8237 (iorsi3): Likewise.
8238 (xorhi3): Likewise.
8239 (xorsi3): Likewise.
8240
8241 2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
8242
8243 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
8244 comparison with rtx INTVAL.
8245 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
8246 expression.
8247 * pa.h (FUNCTION_ARG_SIZE): Likewise.
8248
8249 2001-08-29 Kazu Hirata <kazu@hxi.com>
8250
8251 * config/h8300/lib1funcs.asm: Update the copyright. Fix
8252 comment typos.
8253
8254 2001-08-29 Kazu Hirata <kazu@hxi.com>
8255
8256 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
8257 (reg n) to (mem (pre_dec (reg n))
8258 (anonymous movsi pattern): Likewise.
8259
8260 2001-08-29 Kazu Hirata <kazu@hxi.com>
8261
8262 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
8263
8264 2001-08-29 Kazu Hirata <kazu@hxi.com>
8265
8266 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
8267 several special constants.
8268
8269 2001-08-29 Kazu Hirata <kazu@hxi.com>
8270
8271 * config/h8300/lib1funcs.asm: Fix comment typos.
8272
8273 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8274
8275 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
8276 Fix format specifier warnings.
8277
8278 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
8279 inet_makeaddr, semctl): Prototype.
8280
8281 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
8282 (save_restore_insns): Use base_offset, not gp_offset.
8283
8284 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
8285 (ASM_OUTPUT_BYTE): Fix format specifier warning.
8286
8287 2001-08-29 Richard Henderson <rth@redhat.com>
8288
8289 * bb-reorder.c (function_tail_eff_head): New.
8290 (record_effective_endpoints): Set it.
8291 (fixup_reorder_chain): Use it.
8292
8293 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8294
8295 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
8296
8297 2001-08-28 Dale Johannesen <dalej@apple.com>
8298
8299 * config/darwin.c (machopic_function_base_name): Add const
8300 qualifier to a string.
8301 (darwin_encode_section_info): Ditto.
8302
8303 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8304
8305 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
8306 function definition.
8307
8308 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
8309
8310 * df.h (struct df): Add rts_order variable.
8311
8312 * df.c (df_visit_next_rts): New function.
8313 (df_visit_next): Renamed to df_visit_next_rc
8314 (df_analyse_1): Allocate/compute/free rts_order as well.
8315 (df_rd_global_compute): Use df_visit_next_rc instead of
8316 df_visit_next.
8317 (df_ru_global_compute): Use df_visit_next_rts instead of
8318 df_visit_next.
8319
8320 * flow.c (flow_reverse_top_sort_order_compute): New function.
8321
8322 * basic-block.h: Add prototype.
8323
8324 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
8325
8326 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
8327 blocks, the BB_REACHABLE is now set, rather than aux being
8328 non-NULL. Update the test to reflect this.
8329
8330 2001-08-28 Eric Christopher <echristo@redhat.com>
8331
8332 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
8333 config/mips/crti.asm: Ditto.
8334
8335 2001-08-28 Eric Christopher <echristo@redhat.com>
8336 Richard Henderson <rth@redhat.com>
8337
8338 * c-pragma.h (add_weak): Move prototype from here...
8339 * output.h (add_weak): ... to here.
8340 * varasm.c (add_weak): Fix typo.
8341 * config/mips/crti.asm: New file.
8342 * config/mips/crtn.asm: Ditto.
8343 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
8344 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
8345 (INVOKE__main): Ditto.
8346 (INIT_SECTION_ASM_OP): New.
8347 (FINI_SECTION_ASM_OP): Ditto.
8348 (STARTFILE_SPEC): Add crti.
8349 (ENDFILE_SPEC): Add crtn.
8350 * config/mips/elf64.h: Same.
8351 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
8352 Remove.
8353 * config/mips/vxworks.h: Ditto.
8354 * config/mips/t-elf: Support crti and crtn.
8355
8356 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
8357
8358 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
8359 INSN_LIST.
8360
8361 2001-08-28 Richard Henderson <rth@redhat.com>
8362
8363 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
8364 (one_cmplbi2 splitter): Remove redundant test.
8365
8366 2001-08-28 Dale Johannesen <dalej@apple.com>
8367
8368 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
8369
8370 2001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
8371
8372 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
8373
8374 2001-08-28 Stan Shebs <shebs@apple.com>
8375
8376 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
8377 (UNALIGNED_SHORT_ASM_OP): Define.
8378 (UNALIGNED_INT_ASM_OP): Define.
8379
8380 2001-08-28 Will Cohen <wcohen@redhat.com>
8381
8382 * config/rs6000/rs6000.md (store_multiple): Correct RTL
8383 generation for first set.
8384
8385 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
8386
8387 * flow.c (redirect_edge_succ_nodup): Return new edge.
8388 (try_simplify_condjump): Use new edge.
8389 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
8390
8391 * cse.c (cse_basic_block): Skip note instructions.
8392
8393 2001-08-27 Richard Henderson <rth@redhat.com>
8394
8395 * combine.c (combine_simplify_rtx): Don't reverse condition
8396 if there is no reverse for the condition.
8397 (simplify_comparison): Don't simplify subregs from INT to FP.
8398
8399 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
8400 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
8401 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
8402 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
8403 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
8404 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
8405
8406 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
8407
8408 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
8409 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
8410 (pushqi1): New.
8411 (adddi_dilshr32, adddi_dishl32): Only data register can be
8412 source for mem destination.
8413
8414 * expmed.c (store_bit_field): Ignore adjustment to bitpos
8415 and use bitnum to decide about register move.
8416
8417 2001-08-27 Richard Henderson <rth@redhat.com>
8418
8419 * genattr.c (main): Emit state_t even when not doing scheduling.
8420
8421 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
8422 Richard Henderson <rth@redhat.com>
8423
8424 * gcse.c (reg_first_set, reg_last_set): Replace with ...
8425 (reg_avail_info, current_bb): ... these.
8426 (oprs_unchanged_p, record_last_reg_set_info): Use them.
8427 (compute_hash_table): Likewise.
8428
8429 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
8430
8431 * flow.c (verify_flow_info): Use checksums to verify edges.
8432
8433 2001-08-27 Richard Henderson <rth@redhat.com>
8434
8435 * genautomata.c (expand_automata): Always create a description.
8436
8437 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
8438
8439 * optabs.c (expand_binop): Correctly handle the carry in multiword
8440 add/subtract operations.
8441
8442 2001-08-27 Fred Fish <fnf@be.com>
8443
8444 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
8445 __SIZE_TYPE__.
8446
8447 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
8448
8449 * reload.c (find_reloads_toplev): Back out this change:
8450
8451 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
8452
8453 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
8454 mem if the address is a mode_dependent_address_p.
8455
8456 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
8457
8458 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
8459 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
8460 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
8461 RTL constructions.
8462
8463 * genattr.c (main): New variable num_insn_reservations. Increase
8464 it if there is DEFINE_INSN_RESERVATION. Output automaton based
8465 pipeline hazard recognizer interface.
8466
8467 * genattrtab.h: New file.
8468
8469 * genattrtab.c: Include genattrtab.h.
8470 (attr_printf, check_attr_test, make_internal_attr,
8471 make_numeric_value): Move protypes into genattrtab.h. Define them
8472 as external.
8473 (num_dfa_decls): New global variable.
8474 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
8475 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
8476 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
8477 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
8478
8479 * genautomata.c: New file.
8480
8481 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
8482
8483 * sched-int.h: (curr_state): Add the external definition for
8484 automaton pipeline interface.
8485 (haifa_insn_data): Add comments for members blockage and units.
8486
8487 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8488 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8489 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8490 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8491 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8492 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8493 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
8494 macros.
8495 (TARGET_SCHED): Use the new macros.
8496
8497 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
8498 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
8499 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
8500 dfa_bubble): New members in gcc_target.sched.
8501
8502 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
8503 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
8504 (insn_queue): Redefine it as pointer to array.
8505 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
8506 INSN_QUEUE_SIZE.
8507 (max_insn_queue_index_macro_value): New variable.
8508 (curr_state, dfa_state_size, ready_try): New varaibles for
8509 automaton interface.
8510 (ready_element, ready_remove, max_issue): New function prototypes
8511 for automaton interface.
8512 (choose_ready): New function prototype.
8513 (insn_unit, blockage_range): Add comments.
8514 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
8515 FUNCTION_UNITS_SIZE == 0.
8516 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
8517 actual_hazard, potential_hazard): Add comments.
8518 (insn_cost): Use cost -1 as undefined value. Remove
8519 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
8520 pipeline interface.
8521 (ready_element, ready_remove): New functions for automaton
8522 interface.
8523 (schedule_insn): Add new code for automaton pipeline interface.
8524 (queue_to_ready): Add new code for automaton pipeline interface.
8525 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
8526 (debug_ready_list): Print newline when the queue is empty.
8527 (max_issue): New function for automaton pipeline interface.
8528 (choose_ready): New function.
8529 (schedule_block): Add new code for automaton pipeline interface.
8530 Print ready list before scheduling each insn.
8531 (sched_init): Add new code for automaton pipeline interface.
8532 Initiate insn cost by -1.
8533 (sched_finish): Free the current automaton state and finalize
8534 automaton pipeline interface.
8535
8536 * sched-rgn.c: Include target.h.
8537 (init_ready_list, new_ready, debug_dependencies): Add new code for
8538 automaton pipeline interface.
8539
8540 * sched-vis.c: Include target.h.
8541 (get_visual_tbl_length): Add code for automaton interface.
8542 (target_units, print_block_visualization): Add comments.
8543
8544 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
8545 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
8546 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
8547 (getruntime.o, genautomata.o): New entries.
8548 (genattrtab.o): Add new dependency file genattrtab.h.
8549 (genattrtab): Add new dependencies. Link it with `libm.a'.
8550 (getruntime.o, hashtab.o): New entries for canadian cross.
8551
8552 * doc/md.texi: Description of automaton based model.
8553
8554 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
8555 Add comments.
8556 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
8557 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
8558 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
8559 TARGET_SCHED_DFA_POST_CYCLE_INSN,
8560 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
8561 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
8562 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
8563 hook descriptions.
8564 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
8565 MAX_DFA_ISSUE_RATE): New macro descriptions.
8566
8567 * doc/contrib.texi: Add dfa based scheduler contribution.
8568
8569 * doc/gcc.texi: Add more information about genattrtab.
8570
8571 2001-08-27 Diego Novillo <dnovillo@redhat.com>
8572
8573 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
8574 an RTL basic block.
8575
8576 2001-08-27 Richard Henderson <rth@redhat.com>
8577
8578 * function.c (expand_function_end): Don't init arg_pointer_save_area.
8579 (get_arg_pointer_save_area): New. Create an init it here.
8580 (fix_lexical_addr): Use it.
8581 * function.h: Declare it.
8582 * builtins.c (expand_builtin_setjmp_receiver): Use it.
8583 * stmt.c (expand_nl_goto_receiver): Use it.
8584
8585 2001-08-27 Richard Henderson <rth@redhat.com>
8586
8587 * final.c (final_scan_insn): Don't enter APP_ON mode for
8588 empty asm strings.
8589
8590 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
8591 alignment for assemble_integer for DW_EH_PE_aligned.
8592 * except.c (output_function_exception_table): Likewise.
8593
8594 2001-08-26 Andreas Jaeger <aj@suse.de>
8595
8596 * c-tree.h: Add prototyp for c_sizeof_nowarn.
8597
8598 2001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
8599
8600 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
8601
8602 2001-08-27 Alan Modra <amodra@bigpond.net.au>
8603
8604 * config/rs6000/rs6000.c (mask_operand): Rewrite without
8605 bit-shifting loop.
8606 (mask64_operand): Likewise.
8607 (rldic_operand): Delete.
8608 (includes_lshift64_p): Delete.
8609 (includes_rldic_lshift_p): New function.
8610 (includes_rldicr_lshift_p): New function.
8611 (print_operand): Don't call rldic_operand in case 'W'.
8612 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
8613 (includes_lshift64_p): Remove.
8614 (includes_rldic_lshift_p): Declare.
8615 (includes_rldicr_lshift_p): Declare.
8616 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
8617 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
8618 Replace match_operand rldic_operand predicate with
8619 const_int_operand. Replace includes_lshift64_p condition with
8620 includes_rldic_lshift_p.
8621 <ashldi3_internal 64 bit rldicr patterns>: New.
8622
8623 2001-08-27 Andreas Jaeger <aj@suse.de>
8624
8625 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
8626 * errors.c: Likewise.
8627 * final.c: Likewise.
8628 * dwarf2asm.c: Likewise.
8629 * doprint.c (checkit): Likewise.
8630 * diagnostic.c: Likewise.
8631 * collect2.c: Likewise.
8632 * calls.c: Likewise.
8633 * c-semantics.c (build_stmt): Likewise.
8634 * c-format.c (status_warning): Likewise.
8635 * c-errors.c (pedwarn_c99): Likewise.
8636 * builtins.c (validate_arglist): Likewise.
8637 * config/pj/pj.c (pj_printf): Likewise.
8638 * fix-header.c: Likewise.
8639 * gcc.c: Likewise.
8640 * gcov.c (fnotice): Likewise.
8641 * gensupport.c (message_with_line): Likewise.
8642 * mips-tfile.c: Likewise.
8643 * protoize.c (notice): Likewise.
8644 * read-rtl.c (fatal_with_file_and_line): Likewise.
8645 * rtl-error.c: Likewise.
8646 * tradcpp.c: Likewise.
8647 * tree.c: Likewise.
8648 * cp/tree.c (build_min_nt): Likewise.
8649 (build_min): Likewise.
8650 * cp/lex.c: Likewise.
8651 * cp/errfn.c: Likewise.
8652 * cp/rtti.c (create_pseudo_type_info): Likewise.
8653
8654 Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
8655
8656 * df.c (df_uses_record): Return after recording all uses
8657 in ASM_OPERANDS.
8658
8659 2001-08-26 Daniel Berlin <dan@cgsoftware.com>
8660
8661 * df.c (df_insn_modify): Realloc the INSN table here, if
8662 necessary, here, too.
8663
8664 2001-08-26 Aldy Hernandez <aldyh@redhat.com>
8665
8666 * config/mips/mips.c (mips_function_value): Handle complex return
8667 values.
8668
8669 2001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
8670
8671 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
8672 unshared.
8673 * reload.c (make_memloc): Copy result if it is still
8674 reg_equiv_memory_loc[regno] on return.
8675 (subst_reloads) [ENABLE_CHECKING]: Check that none of
8676 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
8677 reg_equiv_mem are modified by the substitutions.
8678
8679 Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
8680
8681 * predict.c (expensive_function_p): New.
8682 * rtl.h (expensive_function_p): Declare.
8683 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
8684 (use_fast_prologue_epilogue): New static variable.
8685 (expand_prologue): Set it; emit short prologues if unset.
8686 (expand_epilogue): Likewise.
8687
8688 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
8689
8690 * config.gcc: Add stormy16-*-elf case.
8691 * config/stormy16/stormy-abi: New file.
8692 * config/stormy16/stormy16-lib2.c: New file.
8693 * config/stormy16/stormy16-protos.h: New file.
8694 * config/stormy16/stormy16.c: New file.
8695 * config/stormy16/stormy16.h: New file.
8696 * config/stormy16/stormy16.md: New file.
8697 * config/stormy16/t-stormy16: New file.
8698
8699 Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
8700
8701 * i386.h (no-accumulate-outgoing-args): Use proper mask.
8702
8703 2001-08-24 David Edelsohn <edelsohn@gnu.org>
8704
8705 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
8706 descriptor members are pointer size, not constant 4.
8707 * config/rs6000/rs6000.md (define_splits): Remove more unused
8708 constraints.
8709
8710 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8711
8712 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
8713
8714 2001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
8715
8716 * cp/rtti.c (VPARAMS): Fix parameter.
8717
8718 2001-08-24 Zack Weinberg <zackw@panix.com>
8719
8720 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
8721 to zero.
8722 (mode_for_extraction): No need for #ifdefs. Add default-case abort
8723 to switch.
8724 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
8725 in if controlling use of insv.
8726 (extract_bit_field): Likewise, for extv and extzv.
8727
8728 Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
8729
8730 * i386.md (movcc peep2): Fix load of 0.
8731
8732 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8733
8734 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
8735 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
8736
8737 2001-08-23 Jason Merrill <jason_merrill@redhat.com>
8738
8739 * c-pragma.h: Move weak_syms and weak_decls...
8740 * varasm.c: ...here. Now static.
8741 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
8742 depend on HANDLE_PRAGMA_WEAK.
8743
8744 * c-common.c (c_alignof, c_alignof_expr): Move here...
8745 * c-typeck.c: ...from here.
8746 * c-tree.h, c-common.h: Adjust.
8747
8748 2001-08-23 Bernd Schmidt <bernds@redhat.com>
8749
8750 * config/ia64/ia64.c (rws_update): If !pred, set write_count
8751 instead of incrementing it.
8752
8753 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
8754 asm ready, don't try to move them all into the same array element.
8755
8756 Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
8757
8758 * function.c (thread_prologue_and_epilogue_insns): Avoid
8759 fallthru flag on edge to exit.
8760
8761 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
8762
8763 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
8764 dead edges.
8765
8766 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
8767
8768 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
8769 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
8770 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
8771 Remove prototype.
8772
8773 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
8774
8775 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
8776 replace "GNU CC" with "GCC".
8777
8778 2001-08-23 Richard Henderson <rth@redhat.com>
8779
8780 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
8781 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
8782 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
8783 Need GR between FR and not GR_AND_FR.
8784 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
8785 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
8786 AR regs before GR regs.
8787 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
8788 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
8789 (REGISTER_MOVE_COST): Update.
8790 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
8791
8792 2001-08-23 Richard Henderson <rth@redhat.com>
8793
8794 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
8795 a register class.
8796
8797 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
8798
8799 * reload1.c (emit_reload_insns): Don't look for notes
8800 on a NULL store_insn.
8801
8802 2001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8803
8804 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
8805 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
8806 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
8807 format specifier warnings.
8808 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
8809
8810 2001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
8811
8812 * config/i386/i386-protos.h: Correct declaration of
8813 i386_pe_asm_named_section.
8814
8815 2001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
8816
8817 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
8818 variable i.
8819 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
8820
8821 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
8822
8823 * cpperror.c (print_location): Don't show _Pragma.
8824 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
8825 and file change callback generation here.
8826 (stack_include_file): Update use of cpp_push_buffer.
8827 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
8828 (struct cpp_buffer): Remove type, pfile members.
8829 * cppinit.c (cpp_handle_option): Use free_chain.
8830 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
8831 (skip_escaped_newlines, get_effective_char, lex_percent): Take
8832 a cpp_reader rather than a cpp_buffer.
8833 (skip_escaped_newlines, get_effective_char, skip_block_comment,
8834 skip_line_comment, parse_string, lex_percent, lex_dot,
8835 _cpp_lex_token): Update accordingly.
8836 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
8837 generation here.
8838 (cpp_push_buffer): Update prototype.
8839 (run_directive): Update use of cpp_push_buffer.
8840 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
8841 handle_assertion): Update use of run_directive.
8842 * cpplib.h (enum cpp_buffer_type): Remove.
8843 (cpp_push_buffer): Update prototype.
8844 * fix-header.c (read_scan_file): Update.
8845
8846 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8847
8848 * gcc.c (struct prefix_list): Change prefix to const char *.
8849
8850 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
8851
8852 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
8853
8854 2001-08-22 Jason Merrill <jason_merrill@redhat.com>
8855
8856 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
8857 from a new MEM.
8858
8859 * jump.c (squeeze_notes): Take parms by reference. Handle END being
8860 a squeezable note.
8861 * rtl.h: Adjust.
8862 * ifcvt.c (dead_or_predicable): Adjust.
8863 * loop.c (find_and_verify_loops): Adjust.
8864 * stmt.c (expand_end_case): Adjust.
8865 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
8866 head and end insn pointers in the basic block, not just local copies.
8867 (merge_blocks_move_predecessor_nojumps): Likewise.
8868
8869 2001-08-22 Lars Brinkhoff <lars@nocrew.org>
8870
8871 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
8872 bitmap.h, builtin-types.def, builtins.c, builtins.def,
8873 c-aux-info.c, c-common.c, c-common.def, c-common.h,
8874 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
8875 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
8876 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
8877 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
8878 conditions.h, config.gcc, configure.frag, configure.in,
8879 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
8880 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
8881 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
8882 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
8883 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
8884 emit-rtl.c, errors.c, errors.h, except.c, except.h,
8885 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
8886 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
8887 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
8888 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
8889 gencheck.c, gencodes.c, genconfig.c, genemit.c,
8890 genextract.c, genflags.c, gengenrtl.c, genmultilib,
8891 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
8892 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
8893 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
8894 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
8895 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
8896 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
8897 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
8898 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
8899 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
8900 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
8901 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
8902 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
8903 params.h, predict.c, predict.def, predict.h, prefix.c,
8904 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
8905 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
8906 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
8907 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
8908 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
8909 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
8910 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
8911 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
8912 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
8913 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
8914 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
8915 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
8916 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
8917 xcoffout.h: replace "GNU CC" with "GCC".
8918
8919 2001-08-21 Richard Henderson <rth@redhat.com>
8920
8921 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
8922 (final_scan_insn): Consider jump tables data even if we have no
8923 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
8924 ADDR_VEC_ALIGN.
8925 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
8926 (ASM_OUTPUT_CASE_END): Remove.
8927 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
8928 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
8929 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
8930
8931 2001-08-21 Richard Henderson <rth@redhat.com>
8932
8933 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
8934 at barrier insns. Emit stop bits before barriers.
8935
8936 * flow.c (flow_find_cross_jump): Don't consider unconditional
8937 return insns for commoning.
8938
8939 * final.c (compute_alignments): Fix typo.
8940
8941 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
8942 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
8943 (store_bit_field): Use mode_for_extraction more places.
8944 (extract_bit_field): Likewise.
8945
8946 2001-08-21 Zack Weinberg <zackw@panix.com>
8947
8948 * caller-save.c: Don't include insn-codes.h.
8949 (reg_save_code, reg_restore_code): Make arrays of int.
8950 All uses updated to match.
8951 (insert_save, insert_restore): No need to initialize "code"
8952 variable upon declaration.
8953 * Makefile.in: update dependencies; fix typo in clean rule.
8954
8955 2001-08-21 Richard Henderson <rth@redhat.com>
8956
8957 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
8958 (merge_if_block): Handle fallout from same.
8959
8960 2001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8961
8962 * builtins.c (type_to_class): Fix typo in last change.
8963
8964 2001-08-21 Richard Henderson <rth@redhat.com>
8965
8966 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
8967 ia64_asm_output_label.
8968
8969 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
8970 copy of gp while the real gp register contains garbage.
8971
8972 2001-08-21 Zack Weinberg <zackw@panix.com>
8973
8974 * expmed.c (mode_for_extraction): New function.
8975 (store_bit_field, extract_bit_field): Use it.
8976 * expr.h: Prototype it and provide an enum for its first argument.
8977
8978 * combine.c, function.c, recog.c: Don't include insn-codes.h.
8979 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
8980 and digging through the insn_data tables.
8981 * Makefile.in: Update dependencies.
8982
8983 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
8984
8985 * cppfiles.c (stack_include_file): line-map.c now handles include
8986 depth.
8987 (handle_missing_handler): Similarly.
8988 (_cpp_execute_include): Similarly.
8989 (_cpp_pop_file_buffer): Similarly.
8990 * cpphash.h (struct cpp_reader): Remove system_include_depth,
8991 buffer_stack_depth and include_depth.
8992 * cpplib.c (do_include_common): line-map.c now handles include depth.
8993 (cpp_push_buffer): Similarly.
8994 (_cpp_pop_buffer): Similarly.
8995 * cppmacro.c (builtin_macro): Update.
8996 * line-map.c (init_line_maps): Set depth.
8997 (add_line_map): Increment "used" earlier. Update and use the
8998 include depth.
8999 (trace_include): Use the include depth.
9000 * line-map.h (struct line_maps): New member depth.
9001
9002 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
9003
9004 * cppfiles.c (stack_include_file): Don't handle -H here.
9005 * cppinit.c (cpp_start_read): Set include tracing after
9006 cpp_post_options and after stacking the main file.
9007 * line-map.c (trace_include): New.
9008 (init_line_maps, add_line_map): Update.
9009 * line-map.h (struct line_maps): New member trace_includes.
9010
9011 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
9012
9013 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
9014 * cppfiles.c (stack_include_file): Only stack a file if there
9015 is something to do. Return a boolean indicating whether a
9016 buffer was stacked or not.
9017 (_cpp_execute_include): Similarly.
9018 (_cpp_read_file): Similarly.
9019 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
9020
9021 2001-08-21 Sam Steingold <sds@gnu.org>
9022
9023 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
9024 (RECACHE): keep obufp_before_macroname up to date
9025
9026 2001-08-21 Zack Weinberg <zackw@panix.com>
9027
9028 * stmt.c: Don't include insn-codes.h.
9029 (expand_end_case): Machine specific logic moved to expr.c.
9030 No need to worry about __builtin_classify_type.
9031 (check_for_full_enumeration_handling, emit_case_nodes):
9032 Kill #if 0 blocks.
9033
9034 * builtins.o (expand_builtin_classify_type): Split up so code
9035 can be shared with fold_builtin_classify_type.
9036 (type_to_class, fold_builtin_classify_type): New functions.
9037 (fold_builtins): Handle __builtin_classify_type.
9038
9039 * expr.c (do_tablejump): Now static.
9040 (case_values_threshold, try_casesi, try_tablejump): New;
9041 code mostly from stmt.c (expand_end_case).
9042 (expr.h): Update prototypes.
9043
9044 * Makefile.in (stmt.o): Update dependencies.
9045
9046 2001-08-21 Will Cohen <wcohen@redhat.com>
9047
9048 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
9049 declaration of variable i.
9050 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
9051 declaration of variable i.
9052
9053 2001-08-21 Richard Henderson <rth@redhat.com>
9054
9055 * crtstuff.c: Fix thinko last change. Move list tails to start
9056 of CRT_END section. Tidy ifdefs.
9057 (__EH_FRAME_BEGIN__): Always static for ELF.
9058 (__do_global_ctors_1): Rename from __frame_dummy.
9059 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
9060 name change; don't hide __EH_FRAME_BEGIN__.
9061
9062 2001-08-21 Richard Henderson <rth@redhat.com>
9063
9064 * gdbinit.in: Move break on exit after break on fancy_abort.
9065
9066 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
9067 sized types.
9068
9069 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
9070
9071 * cpphash.h (_cpp_push_next_buffer): New.
9072 * cppinit.c (do_includes): Remove.
9073 (push_include, free_chain, _cpp_push_next_buffer): New.
9074 (cpp_start_read): Use them to rework command line option handling.
9075 (cpp_handle_option): Combine handling of -include and -imacros.
9076 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
9077 appropriate. Always insert missing \n at EOF.
9078 * cpplib.c (start_directive): Get the directive position right.
9079 * cppmain.c (cb_file_change): Always print the first line, unless
9080 preprocessed.
9081
9082 2001-08-20 Andreas Jaeger <aj@suse.de>
9083
9084 * profile.c (compute_branch_probabilities): Remove extra new-line
9085 in error message.
9086 * flow.c (verify_flow_info): Likewise.
9087
9088 2001-08-20 Diego Novillo <dnovillo@redhat.com>
9089
9090 * basic-block.h (basic_block): Add new field 'flags'.
9091 (BB_REACHABLE): Define.
9092 (expunge_block): Declare.
9093 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
9094 (EXIT_BLOCK_PTR): Ditto.
9095 (expunge_block): Remove static declaration.
9096 (cleanup_cfg): Clear bb->aux on every basic block.
9097 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
9098 computing reachability.
9099 (delete_unreachable_blocks): Delete block b if b->flags has
9100 BB_REACHABLE unset.
9101
9102 2001-08-20 Diego Novillo <dnovillo@redhat.com>
9103
9104 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
9105
9106 2001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9107
9108 * sparc.c (sparc_variable_issue): Fix typo in last change.
9109
9110 2001-08-20 Richard Henderson <rth@redhat.com>
9111
9112 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
9113
9114 2001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
9115
9116 * pa.h (RETURN_IN_MEMORY): Improve comment.
9117
9118 2001-08-20 Janis Johnson <janis187@us.ibm.com>
9119
9120 * doc/invoke.texi (Profiling options): Clarify the interactions
9121 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
9122
9123 2001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
9124
9125 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
9126 command.
9127
9128 2001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9129
9130 * gcc.c (make_relative_prefix): Allocate a sufficiently large
9131 buffer.
9132
9133 2001-08-20 Richard Henderson <rth@redhat.com>
9134
9135 * final.c (end_final): Fix typo last change.
9136
9137 2001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
9138
9139 * cppinit.c (init_standard_includes): The returned buffer
9140 is already malloc-ed.
9141 * gcc.c (add_prefix): Similarly.
9142 * prefix.c (translate_name): Update to support clear buffer
9143 ownership rules.
9144 (update_path): Similarly. Be sure to free any newly allocated
9145 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
9146 (tr): New function.
9147 * prefix.h (update_path): Update prototype and document.
9148 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
9149 up and update to new buffer ownership rules.
9150 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
9151
9152 Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
9153
9154 * final.c (compute_alignments): New function.
9155 (init_insn_lengths): Do not care label_align.
9156 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
9157 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
9158 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
9159 (shorted_branches): Realloc label_align array; do
9160 not call init_insn_lengths; Do not care about loop alignments.
9161 * output.h (compute_alignments): Declare.
9162 * toplev.c (rest_of_compilation): Call compute_alignments.
9163 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
9164
9165 * predict.c (block_info_def): Add npredecesors, remove nvisited;
9166 change visited to tovisit.
9167 (propagate_freq): Use faster traversing algorithm.
9168 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
9169 to tovisit; reverse meaning.
9170
9171 * predict.c (struct block_info_def): Remove nvisited.
9172 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9173 (estimate_bb_frequencies): Call mark_dfs_back_edges.
9174
9175 2001-08-19 Geoffrey Keating <geoffk@redhat.com>
9176
9177 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
9178 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
9179 (TARGET_FUSED_MADD): New.
9180 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
9181 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
9182 the multiply-add instructions.
9183
9184 2001-08-19 Richard Henderson <rth@redhat.com>
9185
9186 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
9187 is aligned to pointer size.
9188
9189 2001-08-19 Richard Henderson <rth@redhat.com>
9190
9191 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
9192 display markers during final schedule.
9193
9194 2001-08-19 Richard Henderson <rth@redhat.com>
9195
9196 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
9197
9198 2001-08-19 Richard Henderson <rth@redhat.com>
9199
9200 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
9201 in the same string.
9202 (ASM_NAME_TO_STRING): Remove.
9203 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
9204 in the same string. Remove support for expressions.
9205
9206 2001-08-19 Richard Henderson <rth@redhat.com>
9207
9208 * config/i386/i386.md (tablejump): Make an expander; handle
9209 pic relative addressing here.
9210 (tablejump_1): Rename from tablejump_pic.
9211 (casesi): Remove.
9212
9213 2001-08-19 Richard Henderson <rth@redhat.com>
9214
9215 * regclass.c (fix_register): Fix typo.
9216
9217 2001-08-18 Richard Henderson <rth@redhat.com>
9218
9219 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
9220 (struct _Unwind_Context): Expand br_loc to hold it.
9221 (uw_frame_state_for): Handle leaf functions better.
9222 (uw_update_reg_address): Update for br_loc change.
9223
9224 2001-08-18 Richard Henderson <rth@redhat.com>
9225
9226 * crtstuff.c: Move list heads before code that uses them.
9227 (__JCR_LIST__): Remove initial null.
9228 (frame_dummy, __frame_dummy): Do java registration here ...
9229 (__do_global_ctors_aux): ... not here.
9230
9231 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
9232 (__do_global_dtors_aux): Update to match.
9233 (__JCR_LIST__, __do_jv_register_classes): New.
9234 (.init): Call it.
9235 * config/ia64/crtend.asm (__JCR_END__): New.
9236 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
9237 instead of an indirect LTOFF22 reloc.
9238
9239 2001-08-18 Richard Henderson <rth@redhat.com>
9240
9241 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
9242 * regclass.c (init_reg_sets_1): Fix typo.
9243 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
9244 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
9245 (ia64_compute_frame_size): Make ar.unat live when in use.
9246 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
9247 for ar.pfs; remove ar.unat handling.
9248 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
9249 call-saved.
9250 (PREDICATE_CODES): Add ar_pfs_reg_operand.
9251 * config/ia64/ia64-protos.h: Update decls.
9252 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
9253 (sibcall_pic): Likewise.
9254
9255 2001-08-18 Richard Henderson <rth@redhat.com>
9256
9257 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
9258 pred_rel_mutex when searching for insn_group_barrier.
9259 * config/ia64/ia64.md (cycle_display): Combine the expander
9260 and insn patterns.
9261
9262 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
9263 bit before asm as needed.
9264
9265 2001-08-18 Richard Henderson <rth@redhat.com>
9266
9267 * timevar.def (TV_MACH_DEP): New.
9268 * toplev.c (rest_of_compilation): Use it.
9269 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
9270
9271 2001-08-18 Zack Weinberg <zackw@panix.com>
9272
9273 * unwind-dw2.c (execute_stack_op): Add default aborts to
9274 the inner switches to prevent warnings.
9275
9276 2001-08-18 Richard Henderson <rth@redhat.com>
9277
9278 * timevar.h (struct timevar_time_def): Change element type to float.
9279 (ticks_to_msec, clocks_to_msec): Likewise.
9280 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
9281 (get_time): Likewise.
9282 (timevar_print): Adjust zero check and printing to match.
9283
9284 2001-08-18 Zack Weinberg <zackw@panix.com>
9285
9286 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
9287 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
9288 Eliminate overfull or underfull hboxes.
9289
9290 2001-08-18 Zack Weinberg <zackw@panix.com>
9291
9292 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
9293
9294 2001-08-18 Zack Weinberg <zackw@panix.com>
9295
9296 * haifa-sched.c: Convert to target hooks. Macros replaced
9297 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
9298 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
9299 MD_SCHED_FINISH, and HAVE_cycle_display.
9300 * target-def.h (TARGET_SCHED_ADJUST_COST,
9301 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
9302 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
9303 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
9304 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
9305 New hook #defines to be overridden.
9306 (TARGET_SCHED): Bring them all together.
9307 (TARGET_INITIALIZER): Update.
9308 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
9309 instead of 'struct rtx_def *' throughout.
9310 (struct sched): New set of hooks for the scheduler.
9311 * Makefile.in (haifa-sched.o): Depend on target.h.
9312 * doc/tm.texi: Document the new scheduler hooks, together in
9313 their own section, instead of scattered around.
9314 Fix a bunch of underfull/overfull hboxes.
9315
9316 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
9317 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
9318 sparc.h: Don't define any of the old scheduler macros.
9319
9320 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
9321 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
9322 sparc.c: Create hook functions from code extracted from
9323 corresponding target header, or make existing hooks static, as
9324 appropriate. Set the appropriate entries in targetm.
9325
9326 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
9327 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
9328 rs6000-protos.h, s390-protos.h, sparc-protos.h:
9329 Remove prototypes for functions which are now static.
9330
9331 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
9332 related gunk; the Haifa scheduler is now the only choice.
9333
9334 2001-08-18 Zack Weinberg <zackw@panix.com>
9335
9336 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
9337 * genopinit.c: Put floating point divide insns in sdiv_optab.
9338 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
9339 * config/gofast.h, config/c4x/c4x.h,
9340 config/ia64/hpux_longdouble.h, config/mips/mips.h,
9341 config/pa/long_double.h, config/rs6000/sysv4.h,
9342 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
9343 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
9344 (init_optabs): Use init_optabv for overflow-trapping optabs.
9345 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
9346 cmp_optab RTX codes so have_insn_for can find them.
9347
9348 * optabs.c (expand_simple_binop, expand_simple_unop,
9349 have_insn_for, gen_sub3_insn): New interfaces.
9350 * expr.h: Prototype new functions.
9351 (enum optab_methods): Move here from optabs.h.
9352
9353 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
9354 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
9355 Use new functions instead of working directly with optabs.
9356 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
9357 unroll.c: Don't include optabs.h.
9358 * caller-save.c, combine.c, function.c, stmt.c: Just include
9359 insn-codes.h, not optabs.h.
9360 * Makefile.in: Update dependencies.
9361
9362 * combine.c (make_compound_operation, simplify_comparison):
9363 Fix typos testing for this or that instruction.
9364
9365 2001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
9366
9367 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
9368 generating libgcc.a.
9369
9370 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9371
9372 * except.c (TYPE_HASH): Delete.
9373
9374 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
9375 HOST_WIDE_INT.
9376
9377 * tree.c (TYPE_HASH): Delete.
9378
9379 * tree.h (TYPE_HASH): Define.
9380
9381 2001-08-18 Graham Stott <grahams@redhat.com>
9382
9383 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
9384 define_split.
9385 (adddi3_internal_2+2): Likewise.
9386 (eh_set_lr_di+1): Likewise.
9387
9388 2001-08-17 Richard Henderson <rth@redhat.com>
9389
9390 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
9391 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
9392 * dwarf2asm.c: ... here.
9393 * dwarfout.c: Remove them.
9394
9395 * varasm.c (assemble_integer): Add align parameter.
9396 (assemble_real, output_constant, output_constructor): Likewise.
9397 * output.h: Update decls.
9398 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
9399 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
9400 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
9401 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
9402 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
9403 Update all callers.
9404
9405 * final.c (end_final): Abort profile block generation if we
9406 haven't layed it out properly.
9407 * output.h (assemble_eh_integer): Remove stale decl.
9408 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
9409 (min_align): New.
9410 (assemble_integer): Handle unaligned data.
9411 (assemble_real): Abort on unaligned data.
9412 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
9413 anything useful.
9414 (default_dtor_section_asm_out_destructor): Use assemble_align.
9415 (default_named_section_asm_out_constructor): Likewise.
9416 (default_ctor_section_asm_out_constructor): Likewise.
9417 * config/darwin.c (machopic_asm_out_constructor): Likewise.
9418 (machopic_asm_out_destructor): Likewise.
9419 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
9420 (nextstep_asm_out_destructor): Likewise.
9421 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
9422 (vms_asm_out_destructor): Likewise.
9423
9424 2001-08-17 Richard Henderson <rth@redhat.com>
9425
9426 * config/mips/iris6.h (TARGET_IRIX6): New.
9427 (current_section_name, current_section_flags): New.
9428 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
9429 (MAX_OFILE_ALIGNMENT): New.
9430 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
9431 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
9432 (copy_file_data): Split out from
9433 (mips_asm_file_end): ... here.
9434 (mips_asm_file_start): Remove extra .section directive. Use
9435 tmpfile instead of mips_make_temp_file.
9436 (mips_unique_section): Use const char * as needed for warnings.
9437 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
9438 re-add align parameter.
9439 (iris6_asm_named_section): New.
9440 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
9441 (iris6_asm_output_align, iris6_section_align_1): New.
9442 (iris6_asm_file_start, iris6_asm_file_end): New.
9443 * config/mips/mips-protos.h: Update decls.
9444
9445 2001-08-17 Janis Johnson <janis187@us.ibm.com>
9446
9447 * doc/install.texi (Install GCC): Add links to build status pages.
9448 (Specific): Ditto.
9449 (Final install): Ditto; request updates for specific info
9450
9451 2001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
9452
9453 * cpperror.c (print_location): Don't take a file name; use the
9454 line map instead.
9455 (_cpp_begin_message): Similarly.
9456 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9457 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9458 (cpp_pedwarn_with_file_and_line): Remove.
9459 * cppfiles.c (stack_include_file): Update; set filename to stdin
9460 here when appropriate.
9461 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
9462 (_cpp_begin_message): Don't take a file name.
9463 * cppinit.c: Add comment.
9464 * cpplex.c: Fix end-of-directive indicator.
9465 * cpplib.c: Don't include intl.h.
9466 (run_directive, do_diagnostic): Update.
9467 (do_line): Update to not use nominal_fname.
9468 (cpp_push_buffer): Don't take a filename.
9469 * cpplib.h (struct ht): Remove.
9470 (cpp_push_buffer): Don't take a filename.
9471 (cpp_pedwarn_with_file_and_line): Remove.
9472 * cppmacro.c (struct cpp_macro): Remove file.
9473 (builtin_macro): Update.
9474 (_cpp_create_definition): Update.
9475 * cppmain.c: Correct comment.
9476 * fix-header.c (read_scan_file): Update.
9477
9478 2001-08-17 Kazu Hirata <kazu@hxi.com>
9479
9480 * sbitmap.c: Fix comment formatting.
9481 * sched-deps.c: Likewise.
9482 * sibcall.c: Likewise.
9483 * simplify-rtx.c: Likewise.
9484 * ssa.c: Likewise.
9485 * ssa-ccp.c: Likewise.
9486 * stor-layout.c: Likewise.
9487 * timevar.c: Likewise.
9488 * toplev.c: Likewise.
9489 * unwind-dw2.c: Likewise.
9490 * unwind-dw2-fde.c: Likewise.
9491 * varasm.c: Likewise.
9492
9493 2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
9494
9495 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
9496 or larger than an integer in memory.
9497
9498 2001-08-17 Zack Weinberg <zackw@panix.com>
9499
9500 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
9501 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
9502 * rtl.h: Don't forward-declare union tree_node here. Don't
9503 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
9504 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9505 and tree respectively.
9506 * tree.h: Don't forward-declare struct rtx_def here. Don't
9507 typedef tree here. Change all uses of struct rtx_def *,
9508 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
9509 and tree respectively.
9510
9511 2001-08-17 Richard Henderson <rth@redhat.com>
9512
9513 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
9514 config/mips/openbsd.h: Fix typos last change.
9515
9516 2001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9517
9518 * doc/invoke.texi (Optimize Options): The default for
9519 -finline-limit is 600.
9520
9521 2001-08-17 Richard Henderson <rth@redhat.com>
9522
9523 * varasm.c (text_section): Allow TEXT_SECTION to override the
9524 printing of TEXT_SECTION_ASM_OP.
9525 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
9526 (DATA_SECTION, BSS_SECTION): Remove.
9527 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
9528 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
9529 Rename from s/_NAME//.
9530 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
9531 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
9532 (TEXT_SECTION): ... here. New.
9533 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
9534 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
9535 * config/mips/openbsd.h: Likewise.
9536 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
9537 (mips_asm_file_end): Likewise test.
9538 (mips_output_function_epilogue): Likewise. Switch back to data
9539 section after emitting the function.
9540
9541 * doc/tm.texi (Sections): Document TEXT_SECTION.
9542
9543 2001-08-17 Richard Henderson <rth@redhat.com>
9544
9545 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
9546 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
9547
9548 2001-08-17 Richard Henderson <rth@redhat.com>
9549
9550 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
9551 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
9552 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
9553 Add aligned attribute.
9554
9555 2001-08-17 Andrew Haley <aph@cambridge.redhat.com>
9556
9557 * config/sh/sh.md: Add modes to unspecs in first insn to match
9558 those in the second.
9559
9560 * Makefile.in: Fix collect2 copy for Cygwin.
9561
9562 Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
9563
9564 Install the proper patch.
9565 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9566 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9567 (expand_function_start): Likewise.
9568 * stmt.c (expand_decl): Likewise.
9569 * varasm.c (make_decl_rtx): Likewise.
9570
9571 Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
9572
9573 * final.c: Undo my previous accidental checkin.
9574 * output.h: Likewise.
9575 * tm.texi: Likewise.
9576
9577 2001-08-16 Richard Henderson <rth@redhat.com>
9578
9579 * varasm.c (named_section_flags): Remove align parameter.
9580 * varasm.c, dwarf2out.c: Update all callers.
9581 * output.h: Update prototypes.
9582
9583 * target.h (target.asm_out.named_section): Remove align parameter.
9584 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
9585 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
9586 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
9587 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
9588 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
9589
9590 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
9591 (get_named_section_flags, set_named_section_flags): New.
9592 (named_section_flags): Use them.
9593 (named_section): Do decl vs section flags check here...
9594 (default_section_type_flags): ... not here.
9595 (init_varasm_once): Create in_named_htab.
9596 (resolve_unique_section): Mark reloc unused.
9597
9598 2001-08-16 Richard Henderson <rth@redhat.com>
9599
9600 * varasm.c (force_const_mem): Keep pool alignment in bits.
9601 (output_constant_pool): Use assemble_align.
9602
9603 2001-08-16 Zack Weinberg <zackw@panix.com>
9604
9605 * doc/tm.texi: Remove extra @table command.
9606
9607 2001-08-16 Zack Weinberg <zackw@panix.com>
9608
9609 * final.c (shorten_branches): Clear the end of the label_align
9610 array only if we made it larger. Break up messy expressions
9611 for clarity.
9612
9613 * diagnostic.c (internal_error): Check for error recursion
9614 before doing ICE suppression.
9615
9616 * timevar.c: Timing variables now count in milliseconds.
9617 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
9618 (get_time): Not here.
9619 (timevar_print): Don't print any timer whose user, cpu, and
9620 wall times are all zero as displayed.
9621 * timevar.h: Update comment aboout units. Make timevar
9622 counters unsigned.
9623
9624 Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
9625
9626 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
9627 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
9628 (expand_function_start): Likewise.
9629 * stmt.c (expand_decl): Likewise.
9630 * varasm.c (make_decl_rtx): Likewise.
9631
9632 2001-08-16 Jason Merrill <jason_merrill@redhat.com>
9633
9634 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
9635 (finalize_record_size): Don't set TYPE_USER_ALIGN.
9636
9637 2001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9638
9639 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
9640 variables.
9641
9642 2001-08-16 Andreas Jaeger <aj@suse.de>
9643
9644 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
9645 prototype.
9646
9647 Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
9648
9649 * rtl.h (only_sets_cc0_p): New prototype.
9650 * jump.c (sets_cc0_p): Handle INSN.
9651 (only_sets_cc0_p): New function.
9652 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
9653 (tidy_fallthru_edge): Likewise.
9654 * integrate.c (copy_insn_list): Likewise.
9655 * unroll.c (unroll_loop): Likewise.
9656 (copy_loop_body): Likewise.
9657
9658 2001-08-15 Jason Eckhardt <jle@redhat.com>
9659
9660 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
9661
9662 Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
9663
9664 * predict.c (struct block_info_def): Remove nvisited.
9665 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
9666 (estimate_bb_frequencies): Call mark_dfs_back_edges.
9667
9668 * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
9669 (ix86_adjust_cost): Teach scheduler that latency to load operand can
9670 be masked.
9671
9672 Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
9673
9674 * predict.def: Update hitrates.
9675
9676 2001-08-15 Richard Henderson <rth@redhat.com>
9677
9678 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
9679
9680 Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
9681
9682 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
9683 note from its associated jump.
9684
9685 2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
9686
9687 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
9688 also on 64-bit s390x targets.
9689
9690 2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
9691
9692 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
9693 function.
9694 (arm_expand_prologue): Handled nested functions which take a
9695 variable argument list.
9696 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
9697 macro with an invocation of
9698 arm_compute_initial_elimination_offset.
9699 * config/arm/arm-protos.h: Prototype
9700 arm_compute_initial_elimination_offset.
9701
9702 2001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9703
9704 * doc/install.texi (Specific, avr): Fix markup.
9705 (Specific, c4x): Ditto.
9706
9707 2001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9708
9709 * predict.c (dump_prediction): Change `bool' parameter to `int'.
9710
9711 2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
9712
9713 * Makefile.in (OBJS): Add rtl-error.o
9714 (rtl-error.o): New rule.
9715 (diagnostic.o): Adjust dependency.
9716 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
9717 error_for_asm, _fatal_insn, _fatal_insn_not_found,
9718 warning_for_asm): Move to...
9719 rtl-error.c: ...here. New file.
9720
9721 2001-08-14 Richard Henderson <rth@redhat.com>
9722
9723 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
9724 if USING_SJLJ_EXCEPTIONS.
9725
9726 2001-08-14 Steve Ellcey <sje@cup.hp.com>
9727
9728 * tlink.c (scan_linker_output): Check string for unsatisfied in
9729 addition to undefined and unresolved.
9730
9731 2001-08-14 Graham Stott <grahams@redhat.com>
9732
9733 * libgcc2.c (*): Replace EH_FRAME_SECTION with
9734 EH_FRAME_SECTION_NAME.
9735
9736 Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
9737
9738 * genattrtab.c (simplify_test_exp_in_temp): New function.
9739 (simplify_test_exp): Avoid explicit use of temporary obstack.
9740 (simplify_cond, insert_right_side, evaluate_eq_attr,
9741 simplify_and_tree, simplify_or_tree, eliminate_known_true):
9742 Use simplify_test_exp_in_temp.
9743 (optimize_attrs): Iterate until expression stabilizes.
9744
9745 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
9746
9747 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
9748 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
9749
9750 2001-08-13 Richard Henderson <rth@redhat.com>
9751
9752 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
9753 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
9754 * config/arm/conix-elf.h: Likewise.
9755
9756 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
9757
9758 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
9759 in gcc.c.
9760 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9761
9762 * gcse.c (hash_scan_set): Expressions that are set as part of
9763 jump instructions are not available.
9764
9765 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
9766
9767 * config/s390/s390.c (print_operand, s390_function_prologue,
9768 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
9769
9770 2001-08-13 Richard Henderson <rth@redhat.com>
9771
9772 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
9773 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
9774 * doc/tm.texi (Exception Region Output): Document it.
9775
9776 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
9777
9778 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
9779 DWARF2 instead of stabs by default.
9780
9781 2001-08-13 David Edelsohn <edelsohn@gnu.org>
9782
9783 * config/rs6000/rs6000.c: Include optabs.h.
9784
9785 2001-08-13 David Edelsohn <edelsohn@gnu.org>
9786
9787 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
9788 save/restore routines.
9789 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
9790
9791 2001-08-13 Andreas Jaeger <aj@suse.de>
9792
9793 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
9794 the english is correct.
9795
9796 2001-08-13 Zack Weinberg <zackw@panix.com>
9797
9798 * expr.h: Split out optab- and libfunc-related code to...
9799 * optabs.h, libfuncs.h: ... these new headers.
9800
9801 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
9802 (OPTABS_H): New.
9803 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
9804 dependencies.
9805 * mkconfig.sh: Don't include insn-codes.h from config.h.
9806
9807 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
9808 enum insn_code is available. Move reload_in_optab and
9809 reload_out_optab array declarations to optabs.h.
9810 * regmove.c (gen_add3_insn): Move to optabs.c, export from
9811 there, prototype in expr.h.
9812 * gencodes.c: Cleanup: zap global variables, don't use
9813 printf where puts will do, don't bother defining MAX_INSN_CODE
9814 which nothing uses, let CODE_FOR_nothing get its value implicitly.
9815
9816 * genemit.c, genopinit.c: Include optabs.h in generated file.
9817 * genoutput.c: Include insn-codes.h in generated file.
9818 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
9819 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
9820 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
9821 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
9822 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
9823 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
9824 Include optabs.h.
9825 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
9826 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
9827 config/m88k/m88k.c, config/sparc/sparc.c:
9828 Include libfuncs.h.
9829 * reload.c: Include expr.h and optabs.h before reload.h.
9830 * config/alpha/alpha.c: Include tree.h before reload.h.
9831 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
9832 and reload.h in that order.
9833 * config/sparc/sparc.c: Include debug.h.
9834 * recog.c: Include insn-codes.h.
9835
9836 2001-08-13 Andreas Jaeger <aj@suse.de>
9837
9838 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
9839 s390*linux.
9840
9841 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
9842
9843 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
9844 * gcc.c (init_spec): Fix typo in comment.
9845 * varasm.c (data_section): Fix typo in comment.
9846
9847 Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
9848
9849 * predict.c (dump_prediction): New argument "USED".
9850 (combine_predictions_for_insn): Determine the used heuristics,
9851 output the case no heuristic applied.
9852 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
9853
9854 2001-08-13 Andreas Jaeger <aj@suse.de>
9855
9856 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
9857 register %rip.
9858
9859 2001-08-13 Kazu Hirata <kazu@hxi.com>
9860
9861 * jump.c: Fix formatting.
9862
9863 2001-08-13 Kazu Hirata <kazu@hxi.com>
9864
9865 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
9866 length.
9867
9868 2001-08-12 Geoffrey Keating <geoffk@redhat.com>
9869
9870 * loop.c (check_dbra_loop): Use condjump_label to compute
9871 jump_label.
9872
9873 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
9874 to better document the files they're in.
9875
9876 2001-08-12 Zack Weinberg <zackw@panix.com>
9877
9878 * recog.h (struct insn_operand_data): Shrink 'mode' field
9879 to 16 bits.
9880
9881 2001-08-12 Kazu Hirata <kazu@hxi.com>
9882
9883 * gcc.c: Fix comment formatting.
9884 * gccspec.c: Likewise.
9885 * gcov.c: Likewise.
9886 * gcse.c: Likewise.
9887 * genemit.c: Likewise.
9888 * gengenrtl.c: Likewise.
9889 * genrecog.c: Likewise.
9890 * gensupport.c: Likewise.
9891 * ggc-page.c: Likewise.
9892 * global.c: Likewise.
9893 * graph.c: Likewise.
9894 * ifcvt.c: Likewise.
9895 * integrate.c: Likewise.
9896 * lcm.c: Likewise.
9897 * libgcc2.c: Likewise.
9898 * loop.c: Likewise.
9899 * mbchar.c: Likewise.
9900 * optabs.c: Likewise.
9901 * predict.c: Likewise.
9902 * prefix.c: Likewise.
9903 * profile.c: Likewise.
9904 * protoize.c: Likewise.
9905 * real.c: Likewise.
9906 * recog.c: Likewise.
9907 * regclass.c: Likewise.
9908 * regmove.c: Likewise.
9909 * reg-stack.c: Likewise.
9910 * reload1.c: Likewise.
9911 * resource.c: Likewise.
9912 * rtlanal.c: Likewise.
9913 * rtl.c: Likewise.
9914
9915 2001-08-12 Kazu Hirata <kazu@hxi.com>
9916
9917 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
9918 a tree representing a constant is passed to the macro.
9919
9920 2001-08-12 Richard Henderson <rth@redhat.com>
9921
9922 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
9923 (rs6000_elf_asm_out_destructor): New.
9924 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
9925 (DTORS_SECTION_ASM_OP): Remove.
9926 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
9927 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
9928
9929 2001-08-12 David Edelsohn <edelsohn@gnu.org>
9930
9931 Revert:
9932 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9933 * gcc.c (set_collect_gcc_options): New function, split out from
9934 main.
9935 Ignore elided switches.
9936 (do_spec_1): Invoke before executing command.
9937 (set_input): Export.
9938 Move declaration ...
9939 * gcc.h (set_input): ... here.
9940 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
9941 file.
9942
9943 2001-08-12 Richard Henderson <rth@redhat.com>
9944
9945 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
9946 thinko wrt TARGET_RELOCATABLE.
9947
9948 2001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
9949
9950 * fix-header.c (cb_file_change): Update prototype.
9951
9952 2001-08-11 Zack Weinberg <zackw@panix.com>
9953
9954 * toplev.c (set_float_handler): Make static.
9955 * toplev.h: Don't prototype set_float_handler.
9956
9957 * simplify-rtx.c: Don't include setjmp.h.
9958 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
9959 New functions.
9960 (simplify_unary_operation, simplify_binary_operation): Use them,
9961 via do_float_handler.
9962
9963 * fold-const.c: Don't include setjmp.h.
9964 (exact_real_inverse_1): New function.
9965 (exact_real_inverse): Use it, via do_float_handler.
9966
9967 * varasm.c: Don't include setjmp.h.
9968 (assemble_real_1): New function.
9969 (assemble_real): Use it, via do_float_handler.
9970 Call internal_error if we get a trap here.
9971
9972 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
9973 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
9974
9975 2001-08-11 Zack Weinberg <zackw@panix.com>
9976
9977 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
9978 STACK_BOUNDARY if not already defined.
9979
9980 * calls.c, function.c, reload1.c, explow.c: Don't default
9981 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
9982 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
9983
9984 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
9985 to run-time test.
9986
9987 * doc/tm.texi: Document that STACK_BOUNDARY is required;
9988 clarify difference between it and PREFERRED_STACK_BOUNDARY.
9989
9990 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
9991
9992 * cppmacro.c (enter_macro_context): Push macro expansions even
9993 if empty.
9994
9995 2001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9996
9997 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
9998 (rs6000_elf_section_type_flags): Actually return a value.
9999
10000 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
10001
10002 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
10003 Clean up code: add missing comments and prototypes, fix warnings,
10004 remove obsolete code, fix spacing to conform to coding style.
10005
10006 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
10007
10008 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
10009 and TARGET_ASM_CLOSE_PAREN.
10010 (regclass_map): CC register belongs to class NO_REGS.
10011 (legitimize_pic_address): Don't generate unnecessary moves
10012 (to avoid confusing loop optimization).
10013 (check_and_change_labels): Replace jump_long by indirect_jump.
10014 (s390_final_chunkify): Don't start a new literal pool on section
10015 switch in 64-bit code.
10016 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
10017
10018 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
10019 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
10020 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
10021 modes correctly.
10022 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
10023 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
10024 (CONST_COSTS): Fixed incorrect costs.
10025
10026 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
10027 Use emit_jump instead of emit_jump_insn (gen_jump).
10028 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
10029 (to avoid confusing flow analysis).
10030 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
10031 (casesi, casesi_jump): New.
10032 (jump_long): Removed. Functionality merged into indirect_jump.
10033 (indirect_jump): Accept address_operand, not just register_operand.
10034 (cjump_long, icjump_long): Use same logic as indirect_jump.
10035 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
10036 Fixed broken setjmp/longjmp handling.
10037 (do_builtin_setjmp_setup): Removed.
10038
10039 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
10040 broken GNU as versions that don't accept .quad with large
10041 negative values. Use hexadecimal output instead.
10042 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
10043 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
10044 FUNCTION_EPILOGUE): Removed. Now in targetm.
10045
10046 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
10047
10048 * config/s390/fixdfdi.h: Add missing copyright statement.
10049 Fix type conflicts on 64-bit. Add missing SFmode routines.
10050
10051 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
10052 email address.
10053
10054 2001-08-11 Richard Henderson <rth@redhat.com>
10055
10056 * rtl.h (REG_EH_RETHROW): Remove.
10057 * rtl.c (reg_note_name): Update.
10058 * combine.c (distribute_notes): Don't check for it.
10059
10060 2001-08-11 Richard Henderson <rth@redhat.com>
10061
10062 * combine.c (distribute_notes): Place REG_SETJMP.
10063
10064 2001-08-11 Richard Henderson <rth@redhat.com>
10065
10066 * doc/extend.texi (Arrays and pointers implementation): Discourage
10067 relying on sign-extension of pointers.
10068
10069 2001-08-11 H.J. Lu <hjl@gnu.org>
10070
10071 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
10072 in_dtors.
10073 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
10074 RDATA_SECTION_ASM_OP.
10075
10076 2001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10077
10078 * doc/install.texi (Specific, c4x): Fix cross-reference to the
10079 main manual to work both for info and HTML versions.
10080
10081 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
10082 Matt Kraai <kraai@alumni.carnegiemellon.edu>
10083
10084 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
10085 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
10086 (struct cpp_pool): New member first.
10087 * cppinit.c (append_include_chain): Plug memory leaks.
10088 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
10089 Allocate pragma structures from the (aligned) macro pool to
10090 avoid leaking memory.
10091 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
10092 so we don't leak memory.
10093 * hashtable.c (ht_destroy): New.
10094 * hashtable.h (ht_destroy): New.
10095
10096 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
10097 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10098
10099 * c-lex.c (map): Make const.
10100 (cb_file_change): Update for callback passing a line map.
10101 Don't assume we have a previous map. Remove sanity check
10102 about popping too many files.
10103 * cpperror.c (print_location): Make map const.
10104 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
10105 (cpp_make_system_header): Similarly.
10106 (search_from): Similarly.
10107 (_cpp_execute_include): Don't remember where we came from.
10108 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
10109 (struct cpp_reader): Make map const.
10110 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
10111 * cpplib.c (do_line): Update; line maps now hold sysp.
10112 (cpp_push_buffer): Similarly.
10113 (_cpp_do_file_change): Similarly; callback with map instead.
10114 (cpp_get_line_maps): Constify return value.
10115 (_cpp_pop_buffer): Update.
10116 * cpplib.h (struct cpp_file_change): Remove.
10117 (struct cpp_callbacks): Update.
10118 (cpp_get_line_maps): Constify return value.
10119 * cppmacro.c (_cpp_create_definition): Update.
10120 * cppmain.c (struct printer): Constify map.
10121 (maybe_print_line): Similarly.
10122 (print_line): Similarly. Deduce flags 1 and 2 here.
10123 (cb_file_change): Update.
10124 * line-map.c (free_line_maps): Warn regardless.
10125 (add_line_map): Return pointer to const. When passed NULL to_file
10126 with LC_LEAVE, use the obvious values for the return point so the
10127 caller doesn't have to figure them out.
10128 (lookup_line): Return pointer to const.
10129 (print_containing_files): Take pointer to const.
10130 * line-map.h (struct line_map): New members reason, sysp.
10131 (add_line_map): Return pointer to const.
10132 (lookup_line): Similarly.
10133 (print_containing_files): Take pointer to const.
10134
10135 2001-08-10 Roman Zippel <zippel@linux-m68k.org>
10136 Richard Henderson <rth@redhat.com>
10137
10138 * regmove.c (regmove_optimize): Avoid setting a register twice in
10139 a parallel set.
10140
10141 2001-08-10 Richard Henderson <rth@redhat.com>
10142
10143 * doc/extend.texi (Arrays and pointers implementation): Document
10144 behavior of pointer/integer conversion.
10145
10146 2001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
10147
10148 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
10149
10150 2001-08-10 Richard Henderson <rth@redhat.com>
10151
10152 * doc/extend.texi (C Implementation): New chapter.
10153 * doc/gcc.texi (Top): Link it in.
10154
10155 2001-08-10 Andrew Cagney <ac131313@redhat.com>
10156
10157 * doc/install.texi (Specific): Fix CVS merge botch.
10158
10159 2001-08-10 Richard Henderson <rth@redhat.com>
10160
10161 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
10162 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
10163
10164 2001-08-10 Zack Weinberg <zackw@stanford.edu>
10165
10166 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
10167 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
10168 this macro is now required.
10169
10170 * cselib.c (cselib_process_insn), flow.c (propagate_block),
10171 loop.c (find_and_verify_loops), reload.c (reload): Check
10172 for rtx code of CALL_INSN, not CALL, when deciding if we
10173 need to check for REG_SETJMP note.
10174
10175 * gcse.c (compute_hash_table, compute_store_table): Update
10176 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
10177 logic.
10178
10179 * config/avr/avr.c: Fix typo.
10180 * config/convex/convex.c (expand_movstr): Use adjust_address.
10181 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
10182 variable.
10183 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
10184 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
10185 Fix typo.
10186 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
10187 Do define STACK_BOUNDARY.
10188 * config/i370/i370.c: Include expr.h.
10189 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
10190 config/pa/som.h, config/v850/v850.h: Take in_ctors and
10191 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
10192 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
10193 * config/m88k/m88k.c: Include c-tree.h after expr.h.
10194 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
10195 * config/romp/romp.c: Include expr.h after tree.h.
10196 Include toplev.h.
10197 (output_fpop): Use xmalloc, not oballoc.
10198 * config/we32k/we32k.c: Include expr.h.
10199
10200 2001-08-10 Kazu Hirata <kazu@hxi.com>
10201
10202 * config/h8300/h8300.h: Fix formatting.
10203
10204 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
10205
10206 * c-common.h (RETURN_NULLIFIED_P): Lose.
10207 * c-semantics.c (genrtl_return_stmt): Don't check it.
10208
10209 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
10210
10211 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
10212 (mips_annotate_frame_insn): New function.
10213 (mips_emit_frame_related_store): New function.
10214 (save_restore_insns): Don't mark instructions that set up the base
10215 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
10216 the store instructions instead.
10217 (mips_expand_prologue): If the stack size is moved into a temporary
10218 register, do not mark that move as frame-related. Add a
10219 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
10220
10221 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
10222
10223 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
10224 stack slot as unchanging if current_function_calls_eh_return.
10225
10226 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
10227
10228 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
10229 access the second half of the TFmode scratch operand.
10230
10231 2001-08-10 Anthony Green <green@redhat.com>
10232
10233 * java/class.c (emit_register_classes): Conditionalize code on
10234 JCR_SECTION_NAME.
10235
10236 2001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
10237
10238 * doc/install.texi (Specific, avr): Fix cross-reference to the
10239 main manual to work both for info and HTML versions.
10240
10241 2001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
10242
10243 * stmt.c (expand_null_return_1): Remove code to generate simple returns
10244 and "use_goto" argument.
10245 (expand_null_return, expand_value_return): Update all callers.
10246 * function.c (expand_function_end): Remove code to generate simple
10247 return.
10248 * config/vax/vax.md (epilogue): New expander for function return.
10249 * doc/md.texi (epilogue): Remove "if defined".
10250
10251 2001-08-09 Zack Weinberg <zackw@stanford.edu>
10252
10253 * Makefile.in: Partially revert my previous change:
10254 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
10255 of the hashtab.o and safe-ctype.o rules.
10256
10257 2001-08-09 Richard Henderson <rth@redhat.com>
10258
10259 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
10260 (USE_COLLECT2): Remove duplicate definition.
10261 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
10262 (use_collect2): Remove dead code.
10263 * configure.in (use_collect2): Remove will_use_collect2 and
10264 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
10265 * configure: Rebuild.
10266
10267 * target.h (targetm.asm_out.constructor): New.
10268 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
10269 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
10270 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
10271 * varasm.c (in_ctors, in_dtors): New.
10272 (assemble_constructor, assemble_destructor): Remove.
10273 (default_stabs_asm_out_destructor): New.
10274 (default_named_section_asm_out_destructor): New.
10275 (dtors_section, default_dtor_section_asm_out_destructor): New.
10276 (default_stabs_asm_out_constructor): New.
10277 (default_named_section_asm_out_constructor): New.
10278 (ctors_section, default_ctor_section_asm_out_constructor): New.
10279 * output.h: Update declarations.
10280 * c-decl.c (c_expand_body): Use target hooks instead of
10281 assemble_constructor and assemble_destructor.
10282 * profile.c (output_func_start_profiler): Likewise.
10283 * objc/objc-act.c (finish_objc): Likewise.
10284 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
10285 for the constructor.
10286 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
10287
10288 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
10289 (DTORS_SECTION_ASM_OP): Likewise.
10290 (__CTOR_LIST__): Use attribute section when possible.
10291 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
10292
10293 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
10294 ASM_OUTPUT_CONSTRUCTOR.
10295
10296 * config/darwin.c (machopic_asm_out_constructor): New.
10297 (machopic_asm_out_destructor): New.
10298 * config/darwin-protos.h: Update declarations.
10299 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10300 (ASM_OUTPUT_DESTRUCTOR): Remove.
10301 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10302 * config/nextstep.c (nextstep_asm_out_constructor): New.
10303 (nextstep_asm_out_destructor): New.
10304 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10305 (ASM_OUTPUT_DESTRUCTOR): Remove.
10306 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10307 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
10308 ASM_OUTPUT_*STRUCTOR.
10309 * config/i386/aix386ng.h: Likewise.
10310
10311 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
10312 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
10313 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10314 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10315 * config/lynx.h: Likewise.
10316 * config/netware.h: Likewise.
10317 * config/psos.h: Likewise.
10318 * config/alpha/alpha-interix.h: Likewise.
10319 * config/alpha/elf.h: Likewise.
10320 * config/arc/arc.h: Likewise.
10321 * config/arm/aof.h: Likewise.
10322 * config/arm/coff.h: Likewise.
10323 * config/arm/elf.h: Likewise.
10324 * config/c4x/c4x.h: Likewise.
10325 * config/h8300/h8300.h: Likewise.
10326 * config/i386/cygwin.h: Likewise.
10327 * config/i386/djgpp.h: Likewise.
10328 * config/i386/i386-coff.h: Likewise.
10329 * config/i386/i386-interix.h: Likewise.
10330 * config/i386/sco5.h: Likewise.
10331 * config/i386/vsta.h: Likewise.
10332 * config/i386/win32.h: Likewise.
10333 * config/i960/i960-coff.h: Likewise.
10334 * config/ia64/sysv4.h: Likewise.
10335 * config/m68hc11/m68hc11.h: Likewise.
10336 * config/m68k/coff.h: Likewise.
10337 * config/m68k/mot3300.h: Likewise.
10338 * config/m88k/m88k.h: Likewise.
10339 * config/mcore/mcore-pe.h: Likewise.
10340 * config/mcore/mcore.h: Likewise.
10341 * config/mips/elf.h: Likewise.
10342 * config/mips/elf64.h: Likewise.
10343 * config/mips/iris6.h: Likewise.
10344 * config/pa/pa64-hpux.h: Likewise.
10345 * config/rs6000/sysv4.h: Likewise.
10346 * config/sh/sh.h: Likewise.
10347 * config/sparc/litecoff.h: Likewise.
10348
10349 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
10350 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
10351 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10352 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10353 (ASM_OUTPUT_DESTRUCTOR): Remove.
10354 * config/a29k/a29k.c: Move include of tree.h.
10355 * config/a29k/udi.h: Delete file.
10356 * config/alpha/alpha.c (vms_asm_out_constructor): New.
10357 (vms_asm_out_destructor): New.
10358 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
10359 (EXTRA_SECTION_FUNCTIONS): Likewise.
10360 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10361 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10362 * config/c4x/c4x.c: Move include of tree.h.
10363 * config/clipper/clipper.c (clix_asm_out_constructor): New.
10364 (clix_asm_out_destructor): New.
10365 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10366 (ASM_OUTPUT_DESTRUCTOR): Remove.
10367 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10368 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10369 (TARGET_ASM_CONSTRUCTOR): New.
10370 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
10371 (sco_asm_out_constructor): New.
10372 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
10373 * config/i386/svr3gas.h: Remove stack grows up code.
10374 Remove code duplicated from i386/sysv3.h.
10375 (TARGET_ASM_CONSTRUCTOR): New.
10376 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
10377 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
10378 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10379 (TARGET_ASM_CONSTRUCTOR): New.
10380 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
10381 (m68hc11_asm_out_destructor): New.
10382 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
10383 (TARGET_ASM_DESTRUCTOR): New.
10384 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
10385 * config/m68k/dpx2.h: Properly undef all the bits inherited from
10386 config/svr3.h pertaining to section manipulation.
10387 * config/m68k/dpx2g.h: Remove #if 0 code.
10388 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
10389 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
10390 (ASM_OUTPUT_CONSTRUCTOR): Remove.
10391 (TARGET_ASM_CONSTRUCTOR): New.
10392 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
10393 (m88k_svr3_asm_out_constructor): New.
10394 (m88k_svr3_asm_out_destructor): New.
10395 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10396 (ASM_OUTPUT_DESTRUCTOR): Remove.
10397 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10398 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
10399 * config/rs6000/aix.h: Likewise.
10400 * config/mips/rtems64.h: Don't undef removed constructor related bits.
10401 * config/mips/vxworks.h: Likewise.
10402 * config/rs6000/lynx.h: Likewise.
10403 * config/sh/elf.h: Likewise.
10404 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
10405 (DTORS_SECTION_ASM_OP): New.
10406 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10407 (ASM_OUTPUT_DESTRUCTOR): Remove.
10408 * config/sparc/sol2-sld-64.h: Likewise.
10409 * config/vax/vax.c (vms_asm_out_constructor): New.
10410 (vms_asm_out_destructor): New.
10411 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
10412 (ASM_OUTPUT_DESTRUCTOR): Remove.
10413 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
10414
10415 * doc/tm.texi (@node Initialization): Update.
10416
10417 2001-08-09 Richard Henderson <rth@redhat.com>
10418
10419 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
10420 (__do_global_dtors_aux): Use gp-relative static data to avoid
10421 one dynamic relocation.
10422 (__do_frame_setup): Register Java classes.
10423 * config/alpha/crtend.asm (__JCR_END__): New.
10424
10425 2001-08-09 Zack Weinberg <zackw@stanford.edu>
10426
10427 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
10428 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
10429 (GEN, STAGESTUFF): Add new files.
10430 (insn-constants.h, s-constants, tm-preds.h, s-preds,
10431 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
10432 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
10433 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
10434 as well as insn-codes.h and insn-flags.h in config.h; and no
10435 extra headers in tconfig.h and hconfig.h.
10436
10437 * gencodes.c: Eliminate code to generate predicate declarations
10438 or #defines for md-file constants.
10439 * genconstants.c, genpreds.c: New files.
10440
10441 * i386.md: Re-order guard expressions such that TARGET_64BIT
10442 comes first, when this permits better optimization. Add
10443 TARGET_64BIT to more x86-64 patterns. Add comment explaining
10444 why this is desirable.
10445
10446 2001-08-09 Jakub Jelinek <jakub@redhat.com>
10447
10448 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
10449 (find_fde_for_dso): Remove.
10450 (_Unwind_IteratePhdrCallback): New.
10451 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
10452 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
10453
10454 Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10455
10456 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
10457 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
10458
10459 2001-08-09 Graham Stott <grahams@redhat.com>
10460
10461 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
10462 (vis_no_unit): Use it.
10463 (visualize_no_unit): Add the insn only if room exists.
10464
10465 2001-08-09 Graham Stott <grahams@redhat.com>
10466
10467 * predict.c (estimate_probability): Replace magic numbers with
10468 appropriate enumeration.
10469
10470 2001-08-09 Graham Stott <grahams@redhat.com>
10471
10472 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
10473 parameter.
10474 (EXTRACT_FLAGS): Likewise.
10475
10476 2001-08-09 Aldy Hernandez <aldyh@redhat.com>
10477
10478 * config/mips/mips.c (mips_legitimate_address_p): Check for
10479 CONST_INT in last patch.
10480
10481 2001-08-08 Anthony Green <green@redhat.com>
10482
10483 * java/class.c (emit_register_classes): Use assemble_jcr if
10484 possible. Keep the original mechanism as a fallback.
10485 * defaults.h (JCR_SECTION_NAME): Define if we have named section
10486 and weak symbol support.
10487 * crtstuff.c (__JCR_LIST__): Define.
10488 (__JCR_END__): Define.
10489 (_Jv_RegiserClasses): Define weak symbol if possible.
10490 (__do_global_ctors_aux): Register classes for ELF targets with
10491 weak symbol support.
10492
10493 2001-08-08 Kazu Hirata <kazu@hxi.com>
10494
10495 * dbxout.c: Fix comment formatting.
10496 * dependence.c: Likewise.
10497 * df.c: Likewise.
10498 * diagnostic.c: Likewise.
10499 * dominance.c: Likewise.
10500 * doprint.c: Likewise.
10501 * dwarf2out.c: Likewise.
10502 * dwarfout.c: Likewise.
10503 * emit-rtl.c: Likewise.
10504 * except.c: Likewise.
10505 * explow.c: Likewise.
10506 * expmed.c: Likewise.
10507 * expr.c: Likewise.
10508 * flow.c: Likewise.
10509 * fold-const.c: Likewise.
10510 * function.c: Likewise.
10511
10512 2001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10513
10514 * global.c (retry_global_alloc): Avoid shadowing allocno.
10515
10516 2001-08-08 Mark Mitchell <mark@codesourcery.com>
10517
10518 * except.c (remove_fixup_regions): Fix typo.
10519
10520 2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
10521
10522 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
10523 unsigned HOST_WIDE_INT to avoid warning.
10524 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
10525 * flow.c (set_block_for_new_insns): Likewise.
10526
10527 Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
10528
10529 * sibcall.c (return_value_pseudo): New static variable.
10530 (skip_copy_to_return_value): Handle return_value_pseudo.
10531 (call_ends_block_p): Ensure that return_value_pseudo is set.
10532 (optimize_sibling_and_tail_recursive_call): Discover the
10533 load of pseudo return value in alternate exit block.
10534
10535 Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
10536
10537 * calls.c (ECF_ALWAYS_RETURN): New constant.
10538 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
10539 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
10540 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
10541 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
10542 * rtl.c (reg_note_name): New name.
10543 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
10544
10545 2001-08-07 Aldy Hernandez <aldyh@redhat.com>
10546
10547 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
10548
10549 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
10550
10551 * alias.c (get_alias_set): Return a previously calculated
10552 alias set for a VAR_DECL.
10553 * function.c (gen_mem_addressof): Calculate the alias set before
10554 touching the RTL.
10555
10556 Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
10557
10558 * predict.def: Set hitrates according our experimental run.
10559
10560 Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
10561
10562 * i386.h (HARD_REGNO_RENAME_OK): New macro.
10563
10564 2001-08-08 H.J. Lu <hjl@gnu.org>
10565
10566 * config/mips/mips.c (mips_unique_section): New. Copied from
10567 config/mips/elf.h.
10568
10569 * config/mips/mips-protos.h (mips_unique_section): New
10570 prototype.
10571
10572 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
10573
10574 * config/mips/little.h: New. Generic little endian mips
10575 targets. Only mips*-*-linux* is converted to use it so far.
10576
10577 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
10578 (WCHAR_TYPE): Defined
10579 (WCHAR_TYPE_SIZE): Likewise.
10580 (INIT_SUBTARGET_OPTABS): Likewise.
10581 (BSS_SECTION_ASM_OP): Likewise.
10582 (SBSS_SECTION_ASM_OP): Likewise.
10583 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
10584 (ASM_DECLARE_OBJECT_NAME): Likewise.
10585 (UNIQUE_SECTION): Likewise.
10586 (EXTRA_SECTIONS): Likewise.
10587 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
10588 (ASM_OUTPUT_DESTRUCTOR): Likewise.
10589 (ASM_OUTPUT_DEF): Likewise.
10590 (HANDLE_SYSV_PRAGMA): Removed.
10591 (NO_IMPLICIT_EXTERN_C): Likewise.
10592 (TARGET_MEM_FUNCTIONS): Likewise.
10593 (STARTFILE_SPEC): Likewise.
10594 (ENDFILE_SPEC): Likewise.
10595 (LIB_SPEC): Likewise.
10596 (INVOKE__main): Likewise.
10597 (CTOR_LIST_BEGIN): Likewise.
10598 (CTOR_LIST_END): Likewise.
10599 (DTOR_LIST_BEGIN): Likewise.
10600 (DTOR_LIST_END): Likewise.
10601 (SET_ASM_OP): Likewise.
10602 (ASM_OUTPUT_SOURCE_LINE): Likewise.
10603 (ASM_OUTPUT_DEF): Likewise.
10604 (ASM_OUTPUT_IDENT): Likewise.
10605
10606 * config/mips/mips.h (ASM_SPEC): Undefine before define.
10607 (CPLUSPLUS_CPP_SPEC): Likewise.
10608 (ASM_APP_ON) Redefine only if not defined.
10609 (ASM_APP_OFF): Likewise.
10610 (ASM_OUTPUT_SOURCE_LINE): Likewise.
10611 (ASM_OUTPUT_IDENT): Likewise.
10612
10613 * config.gcc: Update tm_file for Linux/mips.
10614
10615 2001-08-08 Bernd Schmidt <bernds@redhat.com>
10616
10617 * cselib.c (cselib_record_sets): If insn is predicated, turn
10618 sources into IF_THEN_ELSEs.
10619
10620 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
10621 Turn into define_insn_and_split.
10622
10623 * sched-deps.c: Include "cselib.h".
10624 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
10625 Use cselib to turn memory addresses into VALUEs.
10626 (sched_analyze): Call cselib_init/cselib_finish if necessary.
10627 * sched-int.h (struct sched_info): New member USE_CSELIB.
10628 * sched-ebb.c (ebb_sched_info): Initialize it.
10629 * sched-rgn.c (rgn_sched_info): Likewise.
10630 * Makefile.in (sched-deps.o): Update dependencies.
10631
10632 * cselib.h (cselib_subst_to_values): Declare.
10633 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
10634 that have no value and autoincs to be handled by generating a new
10635 dummy value.
10636
10637 2001-08-08 Graham Stott <grahams@redhat.com>
10638
10639 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
10640 within fixed length SEQUENCE.
10641
10642 2001-08-08 Graham Stott <grahams@redhat.com>
10643
10644 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
10645 (diagnostic_prefixing_rule): Likewise.
10646 (diagnostic_line_cutoff): Likewise.
10647 (diagnostic_kind_count): Likewise.
10648
10649 2001-08-08 Graham Stott <grahams@redhat.com>
10650
10651 * alias.c (find_base_decl): Delete redundent assignment.
10652
10653 2001-08-08 Graham Stott <grahams@redhat.com>
10654
10655 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
10656 (abs): Uppercase and paranthesize macro parameter.
10657 (MEM_DEPENDENCY): Add whitespace.
10658
10659 2001-08-08 Graham Stott <grahams@redhat.com>
10660
10661 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
10662 failure check for CONST_INT
10663
10664 2001-08-08 Graham Stott <grahams@redhat.com>
10665
10666 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
10667 (libcall_dead_p): Likewise.
10668
10669 (mark_used_regs): Constify fmt.
10670 (find_use_as_address): Likewise.
10671
10672 2001-08-08 Graham Stott <grahams@redhat.com>
10673
10674 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
10675 parameter.
10676
10677 2001-08-08 Graham Stott <grahams@redhat.com>
10678
10679 * combine.c (combine_simplify_rtx): Update comment and
10680 remove erroneous test.
10681
10682 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
10683
10684 * cppinit.c (cpp_finish): Pop the final buffer without comment.
10685 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
10686 take care to avoid multiple no-newline at EOF warnings in that
10687 case.
10688
10689 Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
10690
10691 * calls.c (expand_call): Do not emit INSN_SETJMP note.
10692 (emit_library_call_value_1): Likewise.
10693 (emit_call_1): Emit REG_SETJMP note.
10694 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
10695 of INSN_SETJMP
10696 * cselib.c (cselib_process_insn): Likewise.
10697 * flow.c (propagate_block): Likewise.
10698 * loop.c (find_and_verify_loops): Likewise.
10699 * reload.c (find_equiv_regs): Likewise.
10700 * reload1.c (reload): Likewise.
10701 * resource.c (mark_referenced_resources,
10702 mark_set_resources): Likewise.
10703 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
10704 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
10705 * haifa-sched.c (unlink_other_notes): Likewise.
10706 (reemit_notes): Likewise.
10707 * sched-ebb.c (sched_ebb): Likewise.
10708 * sched-rgc.c (sched_region): Likewise.
10709 * rtl.c (note_insn_name): Likewise.
10710 (reg_note_name): Add REG_SETJMP
10711 * rtl.h (reg_note): Add REG_SETJMP.
10712 (insn_note): Remove NOTE_INSN_SETJMP.
10713
10714 * profile.c (branch_prob): Add fake edges for setjmp.
10715
10716 2001-08-07 Daniel Jacobowitz <drow@mvista.com>
10717
10718 * config.gcc: Quote target_cpu_default2 correctly for
10719 powerpc*-*-* targets.
10720
10721 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
10722
10723 * cpplib.h, line-map.h: Update comments.
10724 * cppmain.c (printer_init): Move inline.
10725 (maybe_print_line, print_line): Take a map pointer.
10726 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
10727 (cb_file_change): Don't use prior value of print.map.
10728
10729 2001-08-07 David Edelsohn <edelsohn@gnu.org>
10730
10731 * doc/install.texi: Document fine-grained multilib configuration.
10732
10733 Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10734
10735 * rtlanal.c (find_first_parameter_load): Call note_stores
10736 only on the instructions.
10737
10738 Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
10739
10740 * alias.c (nonlocal_mentioned_p):
10741 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
10742 * calls.c (emit_call_1): Likewise.
10743 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
10744 * cselib.c (cselib_process_insn): Likewise.
10745 * df.c (df_insns_modify): Likewise.
10746 * flow.c (need_fake_edge_p): Likewise.
10747 (propagate_one_insn): Likewise.
10748 * haifa-sched.c (reemit_notes): Likewise.
10749 * integrate.c (copy_insn_list): Likewise.
10750 * jump.c (delete_prior_computation): Likewise.
10751 * local-alloc.c (validate_equiv_mem): Likewise.
10752 * loop.c (scan_loop): Likewise.
10753 * predict.c (estimate_probability): Likewise.
10754 * reload.c (reload): Likewise.
10755 * sched-deps (sched_analyze): Likewise.
10756 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
10757 * gcse.c (compute_hash_table): Likewise.
10758 (mark_call): Likewise.
10759 (store_killed_in_insn): Likewise.
10760
10761 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
10762
10763 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
10764
10765 2001-08-06 Richard Henderson <rth@redhat.com>
10766
10767 * varasm.c (assemble_gc_entry): Remove.
10768 * output.h: Likewise.
10769
10770 2001-08-06 Richard Henderson <rth@redhat.com>
10771
10772 * varasm.c (assemble_constructor): Take a symbol_ref and a
10773 priority instead of a bare string. Move priority handling
10774 here from cp/decl2.c.
10775 * output.h: Update decls.
10776
10777 * c-decl.c (c_expand_body): Update calls to assemble_constructor
10778 and assemble_destructor.
10779 * profile.c (output_func_start_profiler): Likewise.
10780 * objc/objc-act.c (finish_objc): Likewise.
10781 (build_module_descriptor): Return the symbol not the symbol name.
10782
10783 2001-08-06 David Edelsohn <edelsohn@gnu.org>
10784
10785 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
10786 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
10787 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
10788 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
10789 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
10790 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
10791
10792 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
10793
10794 * cpperror.c (print_containing_files): Moved to line-map.c.
10795 (print_location): line-map.c handles re-listing or otherwise.
10796 * cpphash.h (struct lexer_state): Remove next_bol.
10797 (struct cpp_buffer): Remove include_stack_listed.
10798 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
10799 Remove faked buffer handling.
10800 (_cpp_do_file_change): Tweak.
10801 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
10802 * cppmain.c (struct printer): Remove filename.
10803 (print_line, cb_file_change): Update accordingly.
10804 * line-map.c: Include intl.h.
10805 (init_line_maps): Initialize last_listed.
10806 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
10807 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
10808 (print_containing_files): New.
10809 * line-map.h (struct line_maps): New member last_listed.
10810 (print_containing_files, INCLUDED_FROM): New.
10811 * Makefile.in: Update.
10812 * po/POTFILES.in: Add line-map.c.
10813
10814 2001-08-06 Richard Henderson <rth@redhat.com>
10815
10816 * except.c (convert_from_eh_region_ranges_1): Never mark
10817 USE or CLOBBER insns as throwing.
10818
10819 * expr.c (store_constructor): Don't clobber memory targets.
10820
10821 2001-08-06 Andreas Jaeger <aj@suse.de>
10822
10823 * profile.c (branch_prob): Remove unused variable insn.
10824
10825 * Makefile.in (local-alloc.o): Add dependency on except.h.
10826
10827 * local-alloc.c: Include except.h for can_throw_internal prototype.
10828
10829 2001-08-06 Richard Henderson <rth@redhat.com>
10830
10831 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
10832 * function.c (expand_main_function): Implement it.
10833 * doc/tm.texi: Document it.
10834
10835 2001-08-06 Stan Shebs <shebs@apple.com>
10836
10837 * doc/install.texi: Document powerpc-*-darwin* details.
10838
10839 2001-08-06 Daniel Berlin <dan@cgsoftware.com>
10840
10841 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
10842 (ASM_CPU_SPEC): Move back to rs6000.h
10843 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
10844
10845 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
10846
10847 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
10848 readded.
10849
10850 * config/rs6000/linux64.h: Ditto.
10851
10852 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10853 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
10854 nothing.
10855
10856 Remove accidently readded definitions of FUNCTION_PROLOGUE,
10857 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
10858
10859 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
10860 to rs6000.h
10861
10862 2001-08-05 Richard Henderson <rth@redhat.com>
10863
10864 * local-alloc.c (update_equiv_regs): Do not move insns that
10865 can throw.
10866
10867 2001-08-05 Jan Hubicka <jh@suse.cz>
10868
10869 * Makefile.in (reload1.o): Add dedendancy on except.h
10870 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
10871 prototypes.
10872 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
10873 indicating wehther edges has been cleaned up.
10874 * reload1.c: Inlucde except.h
10875 (fixup_abnormal_edges): Accept deleted insns.
10876 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
10877 after combine.
10878
10879 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
10880
10881 * cpplib.c (do_line): Correct line number after pop_buffer.
10882
10883 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
10884
10885 PR preprocessor/3824
10886 * line-map.c: Update comments.
10887 * line-map.h: Update comments.
10888 * tradcif.y: Don't consider large numbers unsigned.
10889
10890 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
10891
10892 PR preprocessor/3081
10893 * c-lex.c (map): New.
10894 (cb_file_change): Update map and use it.
10895 (cb_def_pragma, cb_define, cb_undef): Use map and line.
10896 (c_lex): Update to use map.
10897 * cpperror.c (print_location): Move to using logical line numbers.
10898 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
10899 (cpp_make_system_header): Similarly.
10900 (_cpp_execute_include): Stop line numbering hacks. Store the
10901 line we will return to.
10902 * cpphash.h (CPP_BUF_LINE): Remove.
10903 (struct cpp_buffer): Remove lineno and pseudo_newlines.
10904 Add map and return_to_line.
10905 (_cpp_do_file_change): Update.
10906 * cppinit.c (cpp_start_read): Update line kludge.
10907 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
10908 (trigraph_ok): Use logical line numbers for diagnostics.
10909 (skip_block_comment): Likewise.
10910 (skip_whitespace): Likewise.
10911 (skip_line_comment): Use pfile->line instead.
10912 (_cpp_lex_token): Update to use logical line numbering exclusively.
10913 Handle BOL locally. Accept new lines in directives, but keep
10914 pfile->line decremented. Diagnostics use logical lines. Update
10915 directive handling.
10916 * cpplib.c (SEEN_EOL): New.
10917 (skip_rest_of_line, check_eol): Use it.
10918 (end_directive): Increase line number when accepting the newline
10919 at the end of a directive.
10920 (run_directive): Simplify.
10921 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
10922 (_cpp_do_file_change): Update to take buffer line number as an
10923 argument, and store the current map in the cpp_reader. Remove
10924 line number kludges.
10925 (_cpp_do__Pragma): Restore output position after a _Pragma.
10926 (cpp_push_buffer): Don't set output line or lineno.
10927 (_cpp_pop_buffer): Transfer more info from a faked buffer.
10928 Remove line kludge. Set output_line.
10929 * cppmacro.c (builtin_macro): Update handling of __LINE__.
10930 (parse_arg): Use logical lines.
10931 (save_lookahead_token): Save EOFs too now.
10932 * cppmain.c (struct printer): Fix comments.
10933 (printer_init): Simplify, let caller do errors.
10934 (scan_translation_unit, check_multiline_token, dump_macro): Update.
10935 (maybe_print_line): Simplify.
10936 (print_line): Don't print a linemarker if -P.
10937 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
10938 (cb_file_change): Simplify.
10939 * line-map.h (LAST_SOURCE_LINE): Fix.
10940 (CURRENT_LINE_MAP): New.
10941
10942 2001-08-05 Bernd Schmidt <bernds@redhat.com>
10943
10944 * doloop.c (doloop_modify_runtime): Properly compute number of
10945 iterations if loop was unrolled.
10946
10947 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
10948 if their CSELIB_VAL_PTRs are.
10949
10950 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
10951 (setup_spill_pointers): Initialize it.
10952 (spill_restore_mem): Set it.
10953 (do_spill, do_restore): Use it to add REG_INC note.
10954 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
10955
10956 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
10957 asms if other insns are available.
10958
10959 * config/ia64/ia64.c (condop_operator): New predicate.
10960 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
10961 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
10962 patterns.
10963
10964 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
10965 temporary register than directly using a MEM.
10966
10967 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10968
10969 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
10970 parameter in last change.
10971
10972 2001-08-04 Zack Weinberg <zackw@panix.com>
10973
10974 * sparc.md: Don't use #if inside C test expression.
10975
10976 2001-08-04 Richard Henderson <rth@redhat.com>
10977
10978 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
10979
10980 2001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
10981
10982 * cpphash.h (struct cpp_reader): New member directive_line.
10983 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
10984 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
10985 do_pragma): Pass line to callbacks.
10986 (start_directive): Record line of directive.
10987 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
10988 cb_include): Similarly.
10989 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
10990 Similarly.
10991
10992 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
10993
10994 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
10995 comment.
10996
10997 Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
10998
10999 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
11000
11001 * reload1.c (fixup_abnormal_edges): New static function.
11002 (reload): Use it.
11003
11004 * flow.c (need_fake_edge_p): New function.
11005 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
11006 avoid call insn to be very last insn in the insn stream.
11007
11008 * profile.c (branch_prob): Call flow_call_edges_add instead of
11009 doing that by hand; cleanup cfg to re-merge basic blocks once
11010 we are done.
11011
11012 2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11013
11014 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
11015 are also on line-map.h.
11016 * cppfiles.c (stack_include_file): Update.
11017 * cpphash.h (struct cpp_buffer): New member return_at_eof.
11018 (_cpp_pop_buffer): New.
11019 * cppinit.c (cpp_destroy, cpp_finish): Update.
11020 (do_includes): Mark each buffer to return at EOF.
11021 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
11022 return as requested.
11023 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
11024 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
11025 * cpplib.h (cpp_pop_buffer): Remove.
11026 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
11027 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
11028 buffers.
11029 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
11030 to pop buffers.
11031 (do_preprocessing): Update.
11032 * fix-header.c (read_scan_file): Update. No need to pop buffers.
11033 * c-parse.in (_yylex): Similarly.
11034 * scan-decls.c (scan_decls): Similarly.
11035 * line-map.h: Update comments.
11036
11037 * objc/Make-lang.in (objc-act.o): Update dependencies.
11038
11039 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11040
11041 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
11042 and soft register for operand 0.
11043 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
11044
11045 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11046
11047 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
11048 register for operand 0.
11049 ("bitcmpqi_z_used"): Allow memory for operand 0.
11050 (split "bitcmpqi"): New split to handle address reg as operand 1.
11051
11052 2001-08-04 Andreas Jaeger <aj@suse.de>
11053
11054 * gcse.c: Revert Daniel's last patch.
11055
11056 2001-08-03 Zack Weinberg <zackw@stanford.edu>
11057
11058 * sparc-protos.h: Add prototypes for fp_zero_operand and
11059 reg_or_0_operand.
11060 * sh-protos.h: Add prototype for fpul_operand.
11061
11062 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
11063
11064 * doc/extend.texi (Other Builtins): Fix typo in last change.
11065
11066 2001-08-03 Richard Henderson <rth@redhat.com>
11067
11068 * target.h (gcc_target): Add asm_out.named_section,
11069 section_type_flags, have_named_sections.
11070 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
11071 (TARGET_HAVE_NAMED_SECTIONS): New.
11072 (TARGET_SECTION_TYPE_FLAGS): New.
11073
11074 * Makefile.in (toplev.o): Depend on TARGET_H.
11075 (varasm.o, dbxout.o): Likewise.
11076 * c-common.c (decl_attributes): Check targetm.have_named_sections
11077 instead of ifdef ASM_OUTPUT_SECTION_NAME.
11078 * dbxout.c (dbxout_function_decl): Likewise.
11079 (dbxout_function_end): Likewise.
11080 * toplev.c (compile_file): Likewise.
11081 * varasm.c (exception_section): Likewise.
11082 * cp/decl2.c (finish_objects): Likewise.
11083
11084 * defaults.h (EH_FRAME_SECTION): Remove.
11085 (EH_FRAME_SECTION_ASM_OP): Remove.
11086 (EH_FRAME_SECTION_NAME): New.
11087 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
11088 (UNIQUE_SECTION_P): Remove.
11089 * dwarf2out.c (SECTION_FORMAT): Remove.
11090 (ASM_OUTPUT_SECTION): Remove.
11091 (output_call_frame_info): Use named_section_flags.
11092 (output_comp_unit, dwarf2out_start_source_file): Likewise.
11093 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
11094 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
11095 * varasm.c (in_eh_frame, eh_frame_section): Remove.
11096 (named_section_flags): New.
11097 (named_section): Use it and targetm.section_type_flags.
11098 (resolve_unique_section): New.
11099 (assemble_start_function): Use it.
11100 (asm_emit_uninitialised, assemble_variable): Likewise.
11101 (default_section_type_flags): New.
11102 (default_no_named_section, default_elf_asm_named_section): New.
11103 (default_coff_asm_named_section, default_pe_asm_named_section): New.
11104 * output.h: Update varasm.c decls.
11105 (SECTION_*): New flags.
11106
11107 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
11108 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
11109
11110 * config/elfos.h (UNIQUE_SECTION_P): Remove.
11111 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
11112 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
11113 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11114 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
11115 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
11116 * config/mips/elf.h, config/mips/elf64.h: Likewise.
11117 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
11118 * config/pa/pa64-hpux.h,
11119
11120 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
11121 (TARGET_ASM_NAMED_SECTION): New.
11122 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
11123 * config/alpha/vms.h, config/arm/coff.h: Likewise.
11124 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
11125 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
11126 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
11127 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
11128 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
11129 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
11130 * config/i386/sco5.h, config/i386/win32.h: Likewise.
11131 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
11132 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
11133 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
11134 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
11135 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
11136 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
11137 * config/sparc/sysv4.h: Likewise.
11138
11139 * config/nextstep.h: Error until named sections implemented.
11140
11141 * config/a29k/a29k.c (a29k_asm_named_section): New.
11142 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
11143 (vms_section_type_flags, vms_asm_named_section): New.
11144 * config/arm/arm.c (arm_elf_asm_named_section): New.
11145 * config/avr/avr.c (asm_output_section_name): Remove.
11146 * config/avr/avr-protos.h: Update.
11147 * config/c4x/c4x.c (c4x_asm_named_section): New.
11148 * config/h8300/h8300.c (h8300_asm_named_section): New.
11149 * config/i386/i386.c (sco_asm_named_section): New.
11150 * config/i386/winnt.c (SECTION_PE_SHARED): New.
11151 (i386_pe_section_type_flags): New.
11152 (i386_pe_asm_named_section): New.
11153 * config/i386/i386-protos.h: Update.
11154 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
11155 * config/mcore/mcore.c (mcore_asm_named_section): New.
11156 * config/mips/mips.c (iris6_asm_named_section): New.
11157 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
11158 instead of UNIQUE_SECTION_P.
11159 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
11160 (xcoff_asm_named_section): New.
11161 * config/sh/sh.c (sh_asm_named_section): New.
11162 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
11163
11164 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
11165 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
11166 (EH_FRAME_SECTION_NAME): New.
11167 (EXCEPTION_SECTION): New.
11168 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
11169 (DEBUG_*_SECTION): Remove.
11170 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
11171 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
11172 (EH_FRAME_SECTION_ASM_OP): Remove.
11173
11174 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
11175 (ASM_OUTPUT_SECTION_NAME): Remove.
11176 (TARGET_ASM_NAMED_SECTION): New.
11177 (TARGET_HAVE_NAMED_SECTIONS): New.
11178 (TARGET_SECTION_TYPE_FLAGS): New.
11179 (EH_FRAME_SECTION_ASM_OP): Remove.
11180 (EH_FRAME_SECTION_NAME): New.
11181
11182 2001-08-03 Zack Weinberg <zackw@stanford.edu>
11183
11184 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
11185 for complex expressions when cfun == 0.
11186 * doc/extend.texi: Document that __builtin_constant_p can be
11187 used in data initializers as well as functions.
11188
11189 2001-08-03 Alexandre Oliva <aoliva@redhat.com>
11190
11191 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
11192 variable I locally, instead of expecting a declaration in the
11193 calling context.
11194
11195 2001-08-03 Richard Henderson <rth@redhat.com>
11196
11197 * except.c (collect_one_action_chain): Add an explicit cleanup
11198 action if regions surrounding a catch were encoded entirely
11199 within the call-site entry.
11200
11201 2001-08-03 Richard Henderson <rth@redhat.com>
11202
11203 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
11204 don't take REGNO of a non-register.
11205
11206 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
11207
11208 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
11209 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
11210 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
11211 (__gthread_mutex_init_function): New function for mutex initialization.
11212
11213 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
11214
11215 * Makefile.in: Revert screwed up commit.
11216
11217 2001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
11218
11219 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
11220 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
11221 merged by linker script to get a final _exit().
11222 (__do_global_dtors): New for destructor handling in specific exit
11223 section.
11224 (__do_global_ctors): New for constructors in specific install section.
11225 (__map_data_section): Map data sections before running constructors.
11226 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
11227 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
11228 (DTORS_SECTION_ASM_OP): Likewise.
11229 (CTORS_SECTION_FUNCTION): Define to force a reference to
11230 __do_global_ctors.
11231 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
11232
11233 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
11234
11235 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
11236
11237 * Makefile.in: Add df.h to gcse.c dependencies.
11238
11239 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
11240
11241 * varasm.c (output_constant_def_contents): Use for the length of a
11242 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
11243 depending on which is larger.
11244
11245 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
11246
11247 * gcse.c: Include df.h for use as a dataflow analyzer.
11248 Remove regvec.
11249 Declaration of reg_set_info: gone.
11250 New df_analyzer variable used by store motion.
11251 (reg_set_info): Deleted.
11252 (mark_mem_regs): New function, analyze regs used by a mem.
11253 (store_ops_ok): Use dataflow analyzer results to determine if
11254 necessary regs are changed in the block.
11255 (find_moveable_store): Remove check for symbol ref, we can handle
11256 much more complex expressions now.
11257 (compute_store_table): Remove most of the code, it's unnecessary
11258 now that the dataflow analyzer records the info for us.
11259 (store_killed_after): Add parameter to say whether to do the
11260 store_ops_okay test, used to speed up testing when we already know
11261 the answer, and just want to know if the store itself was killed.
11262 (build_store_vector): Largely rewritten to calculate the various
11263 vectors properly, and somewhat optimized.
11264 (store_motion): Init the df_analyzer, get REG_DEF chains.
11265 Also handle trapping expressions (since mems almost always trap)
11266 (simple_mem): Redefine what a simple mem is.
11267
11268 2001-08-03 DJ Delorie <dj@redhat.com>
11269
11270 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
11271 set from a constant part of the condition.
11272
11273 2001-08-01 Andrew Cagney <ac131313@redhat.com>
11274
11275 * mkdeps.c (deps_add_default_target): Make local variable
11276 ``start'' a const char pointer.
11277 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
11278
11279 2001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11280
11281 * doc/install.texi (Configuration): Fix markup.
11282 (Specific, i?86-*-udk): Likewise.
11283 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
11284 --with-gnu-ld.
11285 Document --enable-threads and --enable-libgcj status.
11286 (Specific, mips-sgi-irix*): Canonicalize triples.
11287 (Specific, mips-sgi-irix5): Warn about problems with this config.
11288 Mention required GNU as patch.
11289 Native assembler problems are fixed.
11290 (Specific, mips-sgi-irix6): Update O32 ABI support status.
11291 Document --enable-threads and --enable-libgcj status.
11292
11293 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11294
11295 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
11296 of mkinstalldirs.
11297
11298 2001-08-03 Richard Henderson <rth@redhat.com>
11299
11300 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
11301 constant data.
11302
11303 2001-08-03 Richard Henderson <rth@redhat.com>
11304
11305 * rtlanal.c (find_first_parameter_load): Stop if we
11306 reach a CODE_LABEL at BOUNDARY.
11307
11308 2001-08-03 Richard Henderson <rth@redhat.com>
11309
11310 * config/alpha/alpha.md (force_movdi): New insn.
11311 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
11312 Tweek FRP marking of VMS prologue insns.
11313 * config/alpha/vms.h (EPILOGUE_USES): New.
11314
11315 2001-08-02 Richard Henderson <rth@redhat.com>
11316
11317 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
11318
11319 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
11320
11321 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
11322 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
11323 config/convex/convex.h, config/d30v/d30v.c,
11324 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
11325 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
11326 config/mips/mips.h, config/mn10200/mn10200.h,
11327 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
11328 config/v850/v850.h, config/vax/openbsd.h,
11329 config/vax/openbsd1.h, config/vax/ultrix.h,
11330 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
11331 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
11332 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
11333 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
11334 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
11335 in comments and documentation.
11336
11337 2001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11338
11339 * line-map.c: New.
11340 * line-map.h: New.
11341 * Makefile.in (line-map.o): New.
11342 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
11343 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
11344 * cpperror.c (print_containing_files): Similarly.
11345 (print_location): Update. Don't output a space before _Pragma.
11346 * cppfiles.c (stack_include_file): Set to line 1 immediately.
11347 (stack_include_filee, cpp_make_system_header): Update.
11348 (_cpp_execute_include): Get logical line number right for calling
11349 as-yet-unterminated #include.
11350 * cpphash.h (struct cpp_reader): Add line_maps.
11351 (_cpp_do_file_change): Update.
11352 * cppinit.c (cpp_create_reader): Initialize line maps.
11353 (cpp_destroy): Destroy line maps.
11354 (cpp_start_read): Get logical line number right.
11355 * cpplex.c (parse_string): Only warn once for multi-line strings.
11356 Use boolean variable for null warning.
11357 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
11358 already.
11359 (do_include_common): End the directive early.
11360 (do_line): Don't warn about out-of-range lines in preprocessed
11361 source. Update. Remove unused variables.
11362 (_cpp_do_file_change): Update for new line mapping.
11363 (pragma_cb): New typedef.
11364 (cpp_register_pragma): Stop looking ahead before calling the
11365 handler. Clean up.
11366 (do_pragma_system_header): End directive early.
11367 (cpp_get_line_maps): New.
11368 (cpp_pop_buffer): Fudge logical line. Update.
11369 * cpplib.h: Include line-map.h
11370 (enum cpp_fc_reason): Remove.
11371 (struct cpp_file_change): Update.
11372 (cpp_get_line_maps): New.
11373 * cppmain.c (struct_printer): New member map.
11374 (cb_file_change): Update for new mappings.
11375 * fix-header.c (cb_file_change): Similarly.
11376
11377 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11378
11379 * Makefile.in (libgcc.mk): Define mkinstalldirs.
11380 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
11381
11382 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
11383
11384 * config/vax/vax.c: include expr.h.
11385
11386 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
11387
11388 * Makefile.in ($(srcdir)/configure): Only rebuild in
11389 maintainer mode.
11390 ($(srcdir)/config.in): Only define in maintainer mode.
11391 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
11392
11393 2001-08-02 David Edelsohn <edelsohn@gnu.org>
11394
11395 * doc/install.texi (Install GCC: Binaries): Update Bull info.
11396
11397 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11398
11399 * gcc.c (set_collect_gcc_options): New function, split out from
11400 main.
11401 Ignore elided switches.
11402 (do_spec_1): Invoke before executing command.
11403 (set_input): Export.
11404 Move declaration ...
11405 * gcc.h (set_input): ... here.
11406 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
11407 file.
11408
11409 2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
11410
11411 Kill -fhonor-std.
11412 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
11413 interaction.
11414 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
11415
11416 2001-08-02 Richard Sandiford <rsandifo@redhat.com>
11417
11418 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
11419 for the unnamed instructions it expands to.
11420
11421 2001-08-02 Richard Henderson <rth@redhat.com>
11422
11423 * regclass.c (call_really_used_regs): Conditionally define.
11424 (init_reg_sets_1): Don't use it if not defined.
11425 (fix_register): Similarly, don't set it.
11426
11427 2001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11428
11429 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
11430 Correct comment that had been missed in the previous change.
11431
11432 2001-08-01 Stan Shebs <shebs@apple.com>
11433
11434 * config/darwin.c (machopic_stub_name): Try matching by name.
11435 (update_stubs): New function.
11436 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
11437 unconditionally.
11438
11439 2001-08-01 Richard Henderson <rth@redhat.com>
11440
11441 * except.c (output_function_exception_table): Use assemble_align.
11442 * varasm.c (assemble_eh_label): Remove.
11443 (assemble_eh_align, assemble_eh_integer): Remove.
11444
11445 2001-08-01 Robert Lipe <robertl@caldera.com>
11446
11447 * dwarfout.c: Remove reference to README.DWARF.
11448
11449 2001-08-01 Andrew MacLeod <amacleod@redhat.com>
11450
11451 * regclass.c (call_really_used_regs): New array for registers which
11452 are actually used by a call.
11453 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
11454 new array.
11455 (fix_register): Set call_really_used too.
11456 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
11457 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
11458
11459 2001-08-01 Richard Henderson <rth@redhat.com>
11460
11461 * read-rtl.c (read_name): Consider \r whitespace.
11462
11463 2001-07-11 Andrew Cagney <ac131313@redhat.com>
11464
11465 * config.gcc: Recognize powerpc-*-netbsd*.
11466
11467 * doc/install.texi (Host/target specific installation notes for
11468 GCC): Mention powerpc-*-netbsd*.
11469
11470 * config/rs6000/netbsd.h: New file.
11471 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
11472 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
11473 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
11474 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
11475 (TARGET_VERSION): Redefine.
11476
11477 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
11478 mcall-netbsd as a match for mcall-sysv.
11479 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
11480 (ncrti.S, ncrtn.S): New targets.
11481 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
11482
11483 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
11484 "netbsd' as a V4 ABI.
11485 (ASM_SPEC): Check for -mcall-netbsd.
11486 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
11487 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
11488 (LIB_SPEC, ENDFILE_SPEC): Ditto.
11489 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
11490 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
11491 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
11492 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
11493
11494 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
11495 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
11496
11497 2001-08-01 Mark Kettenis <kettenis@gnu.org>
11498
11499 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
11500 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
11501 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
11502 including "unwind-pe.h".
11503
11504 Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
11505
11506 * rs6000.md (define_splits): Kill unused constraints.
11507
11508 Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
11509 Jan Hubicka <jh@suse.cz>
11510
11511 * function.c (thread_prologue_and_epilogue_insns): Kill code
11512 dealing with non-existent CFG.
11513
11514 2001-08-01 Kazu Hirata <kazu@hxi.com>
11515
11516 * alias.c: Fix comment formatting.
11517 * bitmap.c: Likewise.
11518 * builtins.c: Likewise.
11519 * calls.c: Likewise.
11520 * c-common.c: Likewise.
11521 * c-decl.c: Likewise.
11522 * c-dump.c: Likewise.
11523 * c-lex.c: Likewise.
11524 * collect2.c: Likewise.
11525 * combine.c: Likewise.
11526 * conflict.c: Likewise.
11527 * cppfiles.c: Likewise.
11528 * cppinit.c: Likewise.
11529 * cpplex.c: Likewise.
11530 * cpplib.c: Likewise.
11531 * cppmacro.c: Likewise.
11532 * cppspec.c: Likewise.
11533 * c-pragma.c: Likewise.
11534 * crtstuff.c: Likewise.
11535 * cse.c: Likewise.
11536 * cselib.c: Likewise.
11537 * c-semantics.c: Likewise.
11538 * c-typeck.c: Likewise.
11539
11540 2001-08-01 H.J. Lu <hjl@gnu.org>
11541
11542 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
11543
11544 2001-08-01 H.J. Lu <hjl@gnu.org>
11545
11546 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
11547
11548 2001-08-01 Ziemowit Laski <zlaski@apple.com>
11549
11550 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
11551 contextualizing Objective-C class name lookup by the lexer.
11552 (typespec_reserved_nonattr): Disable ObjC class name lookup after
11553 seeing a TYPESPEC.
11554 (protocoldef): Add support for forward @protocol declarations.
11555 (yylexname): Suppress ObjC class name lookup in certain contexts;
11556 re-enable after lookup is complete.
11557 (_yylex): Re-enable ObjC class name lookup when certain
11558 punctuation marks are seen.
11559
11560 * objc/objc-act.c (check_protocol_recursively): New function used
11561 for finding circular dependencies in protocols.
11562 (objc_declare_protocols): New function for handling forward
11563 @protocol declarations.
11564 (receiver_is_class_object): Detect the case when 'self' is used
11565 inside of a class method.
11566 (build_message_expr): Issue a warning if class method is desired
11567 but instance method is found instead.
11568 (conforms_to_protocol): Streamline.
11569 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
11570 protocol Foo, even if 'Bar foo' does not.
11571 (check_protocols): Streamline.
11572 (start_protocol): Add checks for circular and duplicate protocol
11573 definitions.
11574 (encode_aggregate_within): For typedefs of structs, encode the
11575 underlying struct.
11576 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
11577 (objc_declare_protocols): New prototype.
11578
11579 2001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11580
11581 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
11582 * cpplex.c (handle_newline): Update prototype. Maintain logical
11583 line number.
11584 (skip_escaped_newlines, skip_block_comment, parse_string):
11585 Update accordingly.
11586 (_cpp_lex_token): Update, and store token position within the token.
11587 * cpplib.h (struct cpp_token): Add line and column entries.
11588 * cppmacro.c (replace_args): Position stringified tokens correctly.
11589
11590 2001-08-01 Andreas Jaeger <aj@suse.de>
11591
11592 * basic-block.h: Add prototype for last_loop_beg_note.
11593
11594 2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
11595
11596 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
11597 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
11598 comment.
11599 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
11600 while handling WITH_CLEANUP_EXPR node. Use second operand calling
11601 expand_decl_cleanup.
11602 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
11603 the first RTX.
11604 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
11605 operand while calling simple_cst_equal.
11606 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
11607 operand is the cleanup expression, the third is the RTL_EXPR.
11608 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
11609
11610 2001-07-31 Jeff Sturm <jsturm@one-point.com>
11611
11612 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
11613
11614 2001-07-31 matthew green <mrg@eterna.com.au>
11615
11616 * config.gcc (i386-*-netbsdelf): New description.
11617 * config/i386/netbsd-elf.h: New file.
11618
11619 2001-07-30 Geoffrey Keating <geoffk@redhat.com>
11620
11621 * loop.c (check_dbra_loop): Use single_set to compute
11622 jump_label.
11623
11624 2001-07-31 Daniel Berlin <dan@cgsoftware.com>
11625
11626 PowerPC reorg and support for powerpc64-*-linux*.
11627
11628 Also fixes emitting of constants on 32 bit and 64 bit
11629 platforms.
11630
11631 * config.gcc: powerpc64-*-linux* is a new target.
11632 Things that needed aix.h now also include xcoff.h
11633
11634 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
11635 xcoff.h.
11636 Move AIX specific stuff into aix.h.
11637 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
11638 with more than just XCOFF now.
11639 (SET_ASM_OP): Remove, now defined where needed.
11640 (FUNCTION_PROLOGUE): New macro definition.
11641 (FUNCTION_EPILOGUE): New macro definition.
11642 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
11643
11644 * config/rs6000/xcoff.h: New file.
11645
11646 * config/rs6000/linux64.h: New file.
11647
11648 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
11649
11650 2001-07-31 Alan Modra <amodra@bigpond.net.au>
11651
11652 * rs6000.c (print_operand_address): Handle ELF syntax.
11653 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
11654 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
11655 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
11656
11657 2001-07-31 David Edelsohn <edelsohn@gnu.org>
11658
11659 * rs6000.c (rs6000_override_options): Only disable
11660 flag_function_sections for XCOFF.
11661 (exact_log2_cint_operand): New predicate.
11662 (reg_or_{add,sub}_cint64_operand): New predicates.
11663 (add_operand): Compare CONST_INT with fewer function calls.
11664 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
11665 (print_operand, case 'p'): Ensure positive operand.
11666 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
11667 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
11668 (PREDICATE_CODES): Add new predicates.
11669 * rs6000.md (addsi3): Split 32-bit constants more correctly.
11670 (divsi3, modsi3): Ensure positive power-of-2.
11671 (adddi3): Use new predicate. Split 32-bit constants more
11672 correctly. Re-arrange splitter to handle any constant.
11673 (subdi3): Use new predicate.
11674 (divdi3, moddi3): Ensure positive power-of-2.
11675 (movdi): Use rs6000_emit_set_const.
11676 (load_toc_v4_pic_di): Delete.
11677
11678 2001-07-31 Graham Stott <grahams@redhat.com>
11679
11680 * function.c (pad_below): Revert 2001-07-26 patch.
11681
11682 Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
11683
11684 * reg-stack (convert_regs_1): Fix best edge condition.
11685
11686 Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
11687
11688 * jump.c (duplicate_loop_exit_test): Better test for jumps
11689 entering the loop; create loop pre_header.
11690
11691 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
11692
11693 * doc/install.texi: Add s390 and s390x as new targets.
11694 * doc/invoke.texi: Add documentation of S/390 and zSeries
11695 target options.
11696 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
11697
11698 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
11699
11700 * config/m68k/m68k.md: Replace all general_operand with
11701 nonimmediate_operand for all destinations.
11702 * config/m68k/m68k.c (not_sp_operand): Likewise.
11703
11704 Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
11705
11706 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
11707
11708 2001-07-30 Richard Henderson <rth@redhat.com>
11709
11710 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
11711 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
11712
11713 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
11714
11715 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
11716 Add missing doc strings
11717 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
11718 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
11719
11720 Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
11721
11722 * i386.c (ix86_output_main_function_alignment_hack): New function.
11723 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
11724
11725 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
11726 edges by EDGE_DFS_BACK flag.
11727 (dump_edge_info): Add dfs_back flag.
11728 * basic-block.h (EDGE_DFS_BACK): New constant.
11729 (mark_dfs_back_edges): Declare.
11730 * alias.c (loop_p): Remove.
11731 (mark_constant_function): Use mark_dfs_back_edges.
11732
11733 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
11734 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
11735 (compensate_edge): Break out from ...
11736 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
11737 (convert_regs_2): Set block_done once block is really done;
11738 Do updating of the predecessors counts.
11739
11740 * toplev.c (rest_of_compilation): Recompute block_for_insn
11741 before post-reload cfg_cleanup.
11742 * function.c (thread_prologue_epilogue_insns):
11743 Call set_block_for_new_insns when emitting prologue directly.
11744
11745 2001-07-30 Andreas Jaeger <aj@suse.de>
11746
11747 * jump.c: Add prototype for mark_modified_reg.
11748
11749 * cse.c (set_live_p): Add unused attribute.
11750
11751 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
11752 overflow.
11753 (scan_for_source_files): Use long for count to avoid overflow.
11754 (output_data): Likewise.
11755 (output_data): Don't use string concatatenation to silence gcc
11756 -traditional.
11757
11758 * predict.c: Fix typos and grammar.
11759
11760 * gcse.c (insert_insn_end_bb): Remove unused variables.
11761
11762 Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
11763
11764 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
11765 (attempt_auto_inc): LIkewise.
11766 (mark_used_reg): Likewise.
11767 (try_pre_increment_1): Likewise.
11768 * regclass.c (regclass): Likewise.
11769 * global.c (allocno_compare): Update comment; change scaling factor.
11770 * local-alloc.c (QTY_CMP_PRI): Likewise.
11771 * regs.h (REG_FREQ_FROM_BB): New.
11772 (REG_FREQ_MAX): Likewise.
11773
11774 2001-07-30 H.J. Lu <hjl@gnu.org>
11775
11776 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
11777 -D_GNU_SOURCE.
11778
11779 2001-07-30 H.J. Lu (hjl@gnu.org)
11780
11781 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
11782 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
11783 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
11784
11785 2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
11786
11787 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
11788 as -mthumb-interwork when -mcpu=arm7 is specified.
11789
11790 Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
11791
11792 * predict.def (noreturn, loop branch, loop exit): Mark as first
11793 match heuristics.
11794
11795 Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
11796
11797 * combine.c (try_combine): Avoid barrier after noop jumps.
11798
11799 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11800
11801 * cpphash.h (struct cpp_reader): Remove import_warning.
11802 * cpplib.c (skip_rest_of_line): Don't bother turning off
11803 macro expansion.
11804 (parse_include): Move include handling to...
11805 (do_include_common): ... here. Move import warning from...
11806 (do_import): ... here.
11807 (do_pragma_poison): Don't do a callback for poison identifiers.
11808 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
11809 * cppmain.c (setup_callbacks): Similarly.
11810
11811 Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
11812
11813 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
11814 handle multiple sets.
11815 * except.c (sjlj_mark_call_sites): .... here.
11816 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
11817
11818 Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
11819
11820 Suggested by Richard Henderson and Richard Kenner:
11821 * combine.c (recog_for_combine): Use the fake recog
11822 only if instruction does not match.
11823 * rtl.h (NOOP_MOVE_INSN_CODE): New.
11824 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
11825
11826 * combine.c (try_combine): Discover noop jump as direct jump.
11827
11828 2001-07-29 Daniel Berlin <dan@cgsoftware.com>
11829
11830 * df.c (df_rd_global_compute): Add successors to worklist, not
11831 current item.
11832 (df_ru_global_compute): Ditto.
11833
11834 2001-07-27 Daniel Berlin <dan@cgsoftware.com>
11835
11836 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
11837 increment REG_N_SETS.
11838
11839 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
11840
11841 * sbitmap.h: New prototype for sbitmap_a_xor_b.
11842
11843 * sbitmap.c (sbitmap_a_xor_b): New function.
11844 ifdef the basic block stuff on IN_GCC.
11845
11846 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
11847
11848 * cppexp.c (parse_defined): Always record the macro name.
11849 (lex): Don't worry about identifiers, or special-case
11850 CPP_NOT here.
11851 (_cpp_parse_expr): Figure out at the end of the routine
11852 whether we saw a valid !defined() expression.
11853 * cppfiles.c (stack_include_file): Update for mi_valid.
11854 (_cpp_pop_file_buffer): Similarly.
11855 * cpplex.c (_cpp_lex_token): Similarly.
11856 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
11857 mi_if_not_defined, mi_lexed): Remove.
11858 (mi_valid): New.
11859 * cpplib.c (do_if): Simplify.
11860 (do_endif, push_conditional, _cpp_handle_directive): Update
11861 for renaming of mi_state to mi_valid.
11862 doc:
11863 * cpp.texi: Add index entries for digraphs, and add comment
11864 that C++ refers to them as alternative tokens.
11865
11866 Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
11867
11868 * basic-block.h (CLEANUP_PRE_LOOP): New.
11869 * except.c (finish_eh_generation): Update call of cleanup_cfg.
11870 * sibcall.c (optimize_sibling_calls): Likewise.
11871 * toplev.c (rest_of_compilation): Likewise.
11872 * flow.c (try_forward_edges): Take argument MODE;
11873 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
11874 (try_optimize_cfg): Update call of try_forward_edges.
11875
11876 Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
11877 Jan Hubicka <jh@suse.cz>
11878
11879 * (validate_replace_rtx_1): Fix simplification of MINUS.
11880
11881 2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
11882
11883 PR preprocessor/3669
11884 * cppinit.c (init_dependency_output): Turn off dump requests
11885 if sending dependencies to stdout.
11886
11887 2001-07-28 Richard Henderson <rth@redhat.com>
11888
11889 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
11890 not optimizing.
11891
11892 2001-07-28 Golubev I. N. <gin@mo.msk.ru>
11893
11894 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
11895
11896 2001-07-28 Kazu Hirata <kazu@hxi.com>
11897
11898 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
11899 is VAR_DECL first to prevent an ICE.
11900
11901 2001-07-28 Richard Henderson <rth@redhat.com>
11902
11903 * varasm.c (immed_real_const_1): Don't elide special cases for
11904 nested functions.
11905 (clear_const_double_mem): Clear const_tiny_rtx too.
11906
11907 2001-07-28 Richard Henderson <rth@redhat.com>
11908
11909 * dwarf2out.c (dw_val_class_offset): New.
11910 (struct dw_ranges_struct, dw_ranges_ref): New.
11911 (ranges_table, ranges_table_allocated): New.
11912 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
11913 (add_AT_offset, add_ranges, output_ranges): New.
11914 (print_die, output_die): Handle dw_val_class_offset.
11915 (attr_checksum, size_of_die, value_format): Likewise.
11916 (gen_lexical_block_die): Handle non-contiguous blocks.
11917 (gen_block_die): Likewise.
11918 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
11919 if needed. Dump the ranges table.
11920 * final.c (final_start_function): Remove unnecessary notes and
11921 rebuild the block tree before numbering the blocks.
11922 * function.c (reorder_blocks_0): Walk the existing block tree
11923 to unmark all blocks.
11924 (reorder_blocks_1): Create block fragments when duplicate block
11925 notes are seen.
11926 (reorder_fix_fragments): New.
11927 (reorder_blocks): Call it.
11928 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
11929
11930 2001-07-28 Richard Henderson <rth@redhat.com>
11931
11932 * emit-rtl.c (adjust_address): Make a copy of the memory address.
11933
11934 2001-07-28 Richard Henderson <rth@redhat.com>
11935
11936 * flow.c (add_to_mem_set_list): New function.
11937 (init_propagate_block_info): Use it.
11938 (mark_set_1): Likewise.
11939 (insn_dead_p): Canonicalize memory address for dead store
11940 comparison. Allow wider mode stores to kill narrower mode stores.
11941 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
11942 (invalidate_mems_from_set): Don't handle MEMs.
11943
11944 2001-07-28 Kazu Hirata <kazu@hxi.com>
11945
11946 * config/h8300/h8300.h: Fix formatting.
11947
11948 Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
11949
11950 * basic-block.h (EDGE_FREQUENCY): New macro.
11951 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
11952 for new BB/edges.
11953 * flow.c (find_sub_basic_blocks): Likewise.
11954 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
11955 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
11956
11957 * predict.c (DEF_PREDICTOR): New argument FLAGS.
11958 (HITRATE): New macro.
11959 (PRED_FLAG_FIRST_MATCH): New constant.
11960 (predictor_info): New field flgags.
11961 (combine_predictions_for_insn): Use DS theory to combine
11962 probabilities; set the edge probabilities when finished.
11963 (estimate_probability): Avoid duplicated matches
11964 of LOOP_BRANCH heuristics for nested loops; update comment.
11965 * predict.def: Add flags for each prediction, set probabilities
11966 according to B&L paper.
11967 * predict.h (DEF_PREDICTOR): New argument FLAGS.
11968
11969 * profile.c (compute_branch_probabilities): Cleanup way the edge
11970 probabilities are computed and REG_BR_PROB notes are dropped; if
11971 values does not match, emit error.
11972 (init_branch_prob): Do error instead of warning when profile driven
11973 feedback is missing or corrupt.
11974
11975 2001-07-27 DJ Delorie <dj@redhat.com>
11976
11977 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
11978 against a constant, try to adjust the compare to have the desired
11979 constant in it so that min/max optimizations happen more often.
11980
11981 Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
11982
11983 * flow.c (last_loop_beg_note): New function.
11984 (redirect_edge_and_branch): Use it.
11985 (split_edge): Likewise.
11986
11987 * alias.c (loop_p): Avoid uninitialized memory access.
11988
11989 * flow.c (try_forward_edges): Avoid accessing freed memory.
11990
11991 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
11992 variable access.
11993
11994 2001-07-26 Andrew Haley <aph@redhat.com>
11995 Joern Rennecke <amylaar@redhat.com>
11996
11997 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
11998 (SUBTARGET_CPP_ENDIAN_SPEC): New.
11999 (SUBTARGET_CPP_SPEC): New.
12000 (CPP_SPEC): Remove.
12001 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
12002 (SUBTARGET_CPP_PTR_SPEC): New.
12003 (CPP_DEFAULT_CPU_SPEC): New.
12004 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
12005 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12006 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
12007 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
12008 (SUBTARGET_CPP_SPEC): Define as an empty string.
12009
12010 2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12011
12012 * doc/install.texi (Configuration): Properly link the host
12013 specific instructions also when generating HTML.
12014
12015 Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
12016
12017 * flow.c (redirect_edge_and_branch_force): Test
12018 target->global_live_at_start.
12019
12020 2001-07-26 Richard Henderson <rth@redhat.com>
12021
12022 * simplify-rtx.c (avoid_constant_pool_reference): Export.
12023 * rtl.h (avoid_constant_pool_reference): Declare it.
12024 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
12025 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
12026
12027 Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
12028
12029 * rtl.h (cleanup_barriers): Declare.
12030 * jump.c (cleanup_barriers): New function.
12031 * toplev.c (rest_of_compilation): Call cleanup_barriers
12032 before loop optimizer and after bb_reorder.
12033
12034 * flow.c (back_edge_of_syntactic_loop_p): New.
12035 (split_edge): Use it.
12036
12037 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12038
12039 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
12040
12041 Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
12042
12043 * cse.c (cse_process_notes): Replace any registers if the address
12044 remains valid.
12045
12046 Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
12047
12048 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
12049 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
12050 (propagate_block): Update prototype.
12051 * flow.c (update_life_info): Simplify the CFG and
12052 recalculate the global regs which are alive when
12053 removing dead code during a global update.
12054 (propagate_block): Return non-zero if an INSN is
12055 deleted.
12056
12057 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12058
12059 * Makefile.in (LIBICONV): Define.
12060
12061 2001-07-26 Catherine Moore <clm@redhat.com>
12062
12063 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
12064 of conditional to avoid tree checking errors.
12065
12066 2001-07-26 Kazu Hirata <kazu@hxi.com>
12067
12068 * regmove.c (regmove_optimize): Don't replace a reg with
12069 another reg of a different mode.
12070
12071 2001-07-26 Andrew MacLeod <amacleod@redhat.com>
12072
12073 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
12074 limit length of dependency flush list.
12075 * params.h (MAX_PENDING_LIST_LENGTH): Define.
12076 * sched-int.h (struct deps): Add pending_flush_length field.
12077 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
12078 has 1 element in it.
12079 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
12080 (sched_analyze): After a jump, if the pending memory flush list is too
12081 large, flush the pending lists.
12082 (init_deps): Initialize pending_flush_length to 0.
12083 * doc/invoke.texi (max_pending_list_length): Document parameter.
12084
12085 2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
12086
12087 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
12088 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
12089 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
12090
12091 2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12092
12093 * cpphash.h (struct_lexer_state): Delete was_skipping.
12094 Move skipping here from struct cpp_reader.
12095 * cpplex.c (parse_identifier): Update.
12096 (_cpp_lex_token): Don't skip tokens in a directive.
12097 * cpplib.c (struct if_stack): Update.
12098 (start_directive, end_directive): Don't change skipping state.
12099 (_cpp_handle_directive): Update.
12100 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
12101 (do_else, do_endif): Update; only check for excess tokens if not
12102 in a skipped conditional block.
12103 (push_conditional): Update for new struct if_stack.
12104
12105 2001-07-26 Graham Stott <grahams@redhat.com>
12106
12107 * function.c (locate_and_pad_parm): Also pad initial offset
12108 so that the total argument size also includes the padding.
12109
12110 2001-07-26 Graham Stott <grahams@redhat.com>
12111
12112 * gensupport.c (alter_output_for_insn): Correct enable checking failure
12113 change XSTR to XTMPL.
12114
12115 (process_one_cond_exec): Likewise
12116
12117 2001-07-25 Richard Henderson <rth@redhat.com>
12118
12119 * varasm.c (assemble_variable): Create DECL_RTL before setting
12120 TREE_ASM_WRITTEN.
12121
12122 Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
12123
12124 * predict.c (estimate_probability): Avoid duplicated predictions.
12125
12126 * loop.c (find_and_verify_loops): Grok multiple barriers.
12127
12128 Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12129
12130 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
12131
12132 * dbxout.c: Consistently use putc instead of fputc.
12133 (print_wide_int): New function; call instead of direct fprintf.
12134 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
12135 (dbxout_type_fields, dbxout_type_method_1): Likewise.
12136 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
12137 (print_int_cst_octal): Likewise.
12138 (print_octal): Show we wrote characters.
12139 (dbxout_type): Set have_used_extensions in more places.
12140
12141 2001-07-25 Catherine Moore <clm@redhat.com>
12142
12143 * config/v850/v850.c (v850_va_arg): Use addr
12144 instead of valist to build incr.
12145
12146 Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
12147
12148 * flow.c (delete_dead_jumptables): New function.
12149 (life_analyzis): Call it.
12150 * bb-reorder.c (skip_insns_after_block): Handle contradictory
12151 sequences.
12152
12153 2001-07-25 Richard Henderson <rth@redhat.com>
12154
12155 * except.c (reachable_handlers): Handle a region being removed
12156 out from under a RESX.
12157
12158 2001-07-25 Richard Henderson <rth@redhat.com>
12159
12160 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
12161 swap GE/GT if it is an fp comparison.
12162
12163 2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
12164
12165 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
12166 operands.
12167
12168 Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
12169
12170 * ssa.c (rename_insn_1): Do not wrap an assignment to a
12171 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
12172 glitch.
12173
12174 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
12175 throw an exception.
12176 (visit_expression): When attempting to simplify an expression,
12177 retrieve any modes for arguments before they are simplified
12178 to constants.
12179
12180 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
12181 Janis Johnson <janis@us.ibm.com>
12182
12183 * stmt.c (expand_goto): A nonlocal goto can be a call too.
12184 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
12185 pointer parameters to match documented usage of nonlocal_goto.
12186 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
12187 parameters to their correct order.
12188 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
12189 parameters to their correct order.
12190
12191 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
12192
12193 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
12194
12195 2001-07-25 Jan Hubicka <jh@suse.cz>
12196 Richard Henderson <rth@redhat.com>
12197
12198 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
12199 the sequence.
12200 (make_edges): New argument update_p; populate the edge cache if set.
12201 (find_basic_blocks): Update make_edges invocation.
12202
12203 2001-07-24 Joel Sherrill <joel@OARcorp.com>
12204
12205 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
12206
12207 2001-07-24 Joel Sherrill <joel@OARcorp.com>
12208
12209 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
12210 -Acpu and -Amachine.h.
12211 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
12212 Corrected header to say ELF not a.out.
12213 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
12214 when given -msoft-float.
12215
12216 2001-07-24 Joel Sherrill <joel@OARcorp.com>
12217
12218 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
12219 extra multilib parts like arm-elf.
12220 (i960-*-coff*, i960-*-rtems): Should not use collect2.
12221 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
12222 crtfini.o as extra multilib parts.
12223
12224 2001-07-24 Joel Sherrill <joel@OARcorp.com>
12225
12226 * configure.in: Add rtems as a supported thread model.
12227 * gthr-rtems.h: Add missing entry point __gthread_active_p.
12228 * configure: Rebuilt.
12229
12230 2001-07-24 Lars Brinkhoff <lars@nocrew.org>
12231
12232 * stor-layout.c (get_mode_alignment): make it work when
12233 BITS_PER_UNIT is not a power of two.
12234 * builtins.c (get_pointer_alignment): Likewise.
12235
12236 2001-07-24 Richard Henderson <rth@redhat.com>
12237
12238 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
12239 the retrieved constant into the expected mode.
12240
12241 Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
12242
12243 * flow.c (try_simplify_condjump): Avoid duplicated edges.
12244 (verify_flow_info): Check for duplicated edges; clarify
12245 error reporting.
12246
12247 * flow.c (block_label): Update basic_block_for_insn.
12248 (commit_edge_insertions): Call compute_bb_for_insn.
12249
12250 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
12251 returns too.
12252
12253 * flow.c (redirect_edge_and_branch,
12254 try_optimize_cfg): Use redirect_edge_succ_nodup
12255 (redirect_edge_succ_nodup): New.
12256 * basic_block.h (redirect_edge_succ_nodup): Declare.
12257
12258 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
12259 after gcse.
12260
12261 Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
12262
12263 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
12264 (try_crossjump_to_edge): Update commetns.
12265 (try_crossjump_bb): Likewise.
12266
12267 2001-07-24 Richard Henderson <rth@redhat.com>
12268
12269 * combine.c (distribute_notes): Move set of need_refresh
12270 for noop_move_p down to catch all cases.
12271
12272 Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
12273
12274 * recog.c (split_all_insns_noflow): New.
12275 * rtl.h (split_all_insns_noflow): Declare.
12276 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
12277 * m68hc11.c (m68hc11_reorg): Likewise.
12278 * sh.c (machine_dependent_reorg): Likewise.
12279 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
12280 call.
12281
12282 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
12283
12284 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
12285 (ashlsi3_n splitter): Likewise.
12286 (lshrsi3_n splitter): Likewise.
12287
12288 (GOTaddr2picreg): Make const SImode.
12289 (sym_label2reg): Likewise.
12290 (symGOT2reg): Likewise.
12291 (symGOTOFF2reg) Likewise.
12292
12293 (casesi_worker_0): Make unspec SImode.
12294
12295 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
12296
12297 * config/sh/sh.c (barrier_align): Check that an operand really is
12298 an insn before extracting its INSN_CODE.
12299
12300 2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
12301
12302 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
12303 dangling else.
12304
12305 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
12306 for SImode to prevent overflow.
12307
12308 2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12309
12310 * config/mips/irix6-libc-compat.c: New file.
12311 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
12312 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
12313 passing workaround.
12314
12315 2001-07-24 lars brinkhoff <lars@nocrew.org>
12316
12317 * rtl.texi (REG_POINTER): Document.
12318 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
12319 QFmode, HFmode, TQFmode, QCmode, and HCmode.
12320
12321 Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
12322
12323 * flow.c (delete_noop_moves): Do not confuse libcall regions.
12324
12325 2001-07-23 Richard Henderson <rth@redhat.com>
12326
12327 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
12328
12329 2001-07-23 Kazu Hirata <kazu@hxi.com>
12330
12331 * config/h8300/h8300-protos.h: Add a prototype for
12332 general_operand_dst_push.
12333 * config/h8300/h8300.c (general_operand_dst_push): New.
12334 * config/h8300/h8300.h (OK_FOR_T): New.
12335 (EXTRA_CONSTRAINT): Use it.
12336 * config/h8300/h8300.md (movqi_push): Remove and integrate into
12337 the existing movqi pattern.
12338 (movhi_push): Likewise.
12339
12340 * reload.c: Fix comment typos.
12341
12342 Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
12343
12344 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
12345
12346 2001-07-23 H.J. Lu (hjl@gnu.org)
12347
12348 * doc/extend.texi: Update __builtin_return_address and
12349 __builtin_frame_address.
12350
12351 2001-07-23 Richard Henderson <rth@redhat.com>
12352
12353 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
12354 before CSE.
12355 * config/i386/i386.md: New setcc+movzbl peephole2.
12356
12357 2001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12358
12359 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
12360 * objc/objc-act.c: Include debug.h.
12361 (synth_module_prologue): Save and restore debug hooks too.
12362
12363 2001-07-23 lars brinkhoff <lars@nocrew.org>
12364
12365 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
12366 and C4X_FLOAT_FORMAT.
12367 (BOOL_TYPE_SIZE): Document.
12368
12369 Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
12370
12371 * unroll.c (loop_iterations): Fix miscalculation of initial
12372 giv offset.
12373
12374 2001-07-13 Andrew Haley <aph@redhat.com>
12375
12376 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
12377 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
12378 * config/sh/sh.c (sh_can_redirect_branch): New function.
12379 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
12380 * reorg.c (steal_delay_list_from_target): Use
12381 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
12382
12383 Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
12384
12385 * flow.c (try_simplify_condjump): Unlink insn chain on
12386 fallthru edge; use can_fallthru.
12387
12388 Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
12389
12390 * basic-block.h (find_sub_basic_block): Declare.
12391 * flow.c (make_edges): New arguments MIN and MAX;
12392 (find_sub_basic_blocks): Revamp to use make_edges
12393 and purge_dead_edges.
12394 (find_basic_blocks): Update call of find_sub_basic_block.
12395
12396 * recog.c (split_all_insns): Always expect CFG to be consistent;
12397 call find_sub_basic_blocks in case something has changed.
12398 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
12399 has been built.
12400
12401 * basic-block.h (delete_noop_moves): Declare.
12402 * combine.c (combine_instructions): Call it.
12403 (recog_for_combine): Tolerate noop moves
12404 (distribute_notes): Force refresh when register dies at noop move.
12405 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
12406 too.
12407 (life_analysis): Update delete_noop_moves call.
12408 (set_noop_p): Move too ...
12409 * rtlanal.c (noop_move_p): ... here.
12410 * rtl.h (noop_move_p): Declare.
12411
12412 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
12413 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
12414 after combine.
12415 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
12416 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
12417
12418 2001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
12419
12420 * reload.c (push_reload): Fix typo in comment.
12421 (find_reloads_address): Ditto.
12422 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
12423
12424 2001-07-22 Richard Henderson <rth@redhat.com>
12425
12426 * flow.c: Grammar check and clarify a lot of comments.
12427 (try_simplify_condjump): Rename variables to be clearer.
12428 (try_forward_edges): Skip complex and fallthru edges.
12429 Rearrange tests to avoid duplicate checks.
12430 (flow_find_cross_jump): Likewise.
12431 (outgoing_edges_match): Allow match if neither branch has
12432 probability data. Loosen probability match to 5%.
12433 (try_crossjump_to_edge): Hoist repeated indirection into
12434 local variables.
12435 (try_crossjump_bb): Don't check complex edges. Eliminate
12436 redundant crossjump tests.
12437 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
12438 checks before more expensive checks.
12439
12440 2001-07-22 Richard Henderson <rth@redhat.com>
12441
12442 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
12443 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
12444 arguments.
12445
12446 2001-07-22 Richard Henderson <rth@redhat.com>
12447
12448 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
12449 (const_sint32_operand): Likewise.
12450 * m68k.md (anon mulsi pattern): Use const_int_operand not
12451 const_sint32_operand.
12452 (umulsi3_highpart): Zero extend a constant input.
12453 (smulsi3_highpart): Don't bother checking SImode constant.
12454 (const_umulsi3_highpart): Give op3 DImode.
12455 (const_smulsi3_highpart): Likewise.
12456
12457 2001-07-22 Richard Henderson <rth@redhat.com>
12458
12459 * flow.c (split_block): Make sure bb_note is included in the
12460 new block when splitting before a label.
12461
12462 Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
12463
12464 * basic-block.h (redirect_edge_and_branch_force,
12465 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
12466 * flow.c (redirect_edge_and_branch_force,
12467 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
12468 (redirect_edge_and_branch_force): Fix copying of lifeness information.
12469 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
12470 * ifcvt.c (dead_or_predictable): Take BB as an new destination
12471 instead of label; update CFG after transformation.
12472 (find_if_case_1): Update call, use redirect_edge_and_branch_force
12473 for finishing the transformation; handle even case where ELSE
12474 does not follow THEN.
12475 (find_if_case_2): Update call of dead_or_predictable; simplify
12476 CFG update.
12477
12478 * emit-rtl.c (split_branch_probability): New global variable.
12479 (try_split): Take care to set split_branch_probability and
12480 create REG_BR_PROB note for new jump insns.
12481 * md.texi (define_split): Document new feature.
12482
12483 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
12484
12485 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
12486
12487 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
12488 (asm_out_file): Remove redundant declaration.
12489 (assemble_asm): Remove old #if 0 block.
12490 (assemble_variable): Remove end of function; debug output is
12491 now handled with global_decl. Remove old #if 0 block. Update.
12492 Remove saved_in_section and associated no-op code.
12493 * Makefile.in (varasm.o): Correct dependencies.
12494
12495 Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
12496
12497 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
12498 the definition in defaults.h.
12499
12500 Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
12501
12502 * jump.c: Update comments.
12503 (delete_barrier_successors, delete_unreferenced_labels,
12504 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
12505 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
12506 jump_optimize, jump_optimize_minimal): Kill.
12507 (rebuild_jump_labels): Move code from jump_optimize_1.
12508 (purge_line_number_notes): Likewise.
12509 (copy_loop_headers): Likewise.
12510 * reg-stack.c: Update comment.
12511 * stmt.c: Likewise.
12512 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
12513 JUMP_AFTER_REGSCAN): Kill.
12514 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
12515 purge_line_number_notes and copy_loop_headers.
12516
12517 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
12518 Richard Henderson <rth@redhat.com>
12519
12520 * dbxout.c (dbxout_global_decl): New.
12521 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12522 * sdbout.c (sdbout_finish): New.
12523 (sdbout_debug_hooks): Use it, add comments.
12524 (sdbout_global_decl): Defer initialised public vars to
12525 sdbout_finish.
12526 * varasm.c (assemble_variable): Don't output debug information
12527 for file-scope variables.
12528
12529 2001-07-22 Richard Henderson <rth@redhat.com>
12530
12531 * config/alpha/alpha.c (get_trap_mode_suffix): New.
12532 (get_round_mode_suffix): New.
12533 (print_operand): Use them for [/]. Remove support for [&'`()+].
12534 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
12535 * config/alpha/alpha.md (attr round_suffix): New.
12536 (attr trap_suffix): New.
12537 (all insns): Set them appropriately. Use %/ instead of the
12538 myriad punctuators.
12539
12540 2001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
12541
12542 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
12543
12544 2001-07-22 Richard Henderson <rth@redhat.com>
12545
12546 * regrename.c (regrename_optimize): Compute nregs for each
12547 potential target register.
12548
12549 2001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
12550 Richard Henderson <rth@redhat.com>
12551
12552 * dbxout.c (dbxout_global_decl): New.
12553 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
12554 * sdbout.c (sdbout_finish): New.
12555 (sdbout_debug_hooks): Use it, add comments.
12556 (sdbout_global_decl): Defer initialised public vars to
12557 sdbout_finish.
12558 * varasm.c (assemble_variable): Don't output debug information
12559 for file-scope variables.
12560
12561 2001-07-21 H.J. Lu (hjl@gnu.org)
12562
12563 * config/mips/mips.c (mips_cpu): Moved into ...
12564 (override_options): Here.
12565
12566 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
12567 mips_tune.
12568 (mips_cpu): Removed.
12569
12570 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12571
12572 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
12573 ("iorqi3"): Likewise.
12574 ("xorqi3"): Likewise.
12575 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
12576 ("*subhi3_sp): Likewise.
12577 ("*subhi3"): Likewise.
12578 ("extendhisi2"): Accept D, X and Y as source operand to avoid
12579 reload problems.
12580
12581 2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
12582
12583 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
12584 * config/freebsd.h: Likewise.
12585 * config/linux.h: Likewise.
12586 * config/openbsd.h: Likewise.
12587 * config/alpha/linux-elf.h: Likewise.
12588 * config/arm/linux-elf.h: Likewise.
12589 * config/d30v/d30v.h: Likewise.
12590 * config/fr30/fr30.h: Likewise.
12591 * config/ia64/aix.h: Likewise.
12592 * config/ia64/ia64.h: Likewise.
12593 * config/mips/linux.h: Likewise.
12594 * config/pj/pj.h: Likewise.
12595 * config/rs6000/linux.h: Likewise.
12596 * config/sparc/linux.h: Likewise.
12597 * config/sparc/linux64.h: Likewise.
12598
12599 2001-07-20 Bruce Korb <bkorb@gnu.org>
12600
12601 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
12602 because getc() and char* may disagree on signedness.
12603
12604 2001-07-20 Richard Henderson <rth@redhat.com>
12605
12606 * doc/rtl.texi (REG_DEAD): Update for current semantics.
12607
12608 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
12609 insns to delete in the presence of cc0 in a jump insn.
12610
12611 Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
12612 Jan Hubicka <jh@suse.cz>
12613
12614 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
12615 of doing the change by hand.
12616
12617 Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
12618
12619 * rtlanal.c (set_noop_p): Return true for noop jumps.
12620
12621 * expr.c (emit_single_push_insn): Add call to push expander.
12622 * expr.h (optab_index): Add OTI_push
12623 (push_optab): New constant.
12624 * genopinit.c (optabs): Add push_optab.
12625 * optabs.c (init_optab): Init push optab.
12626 * md.texi (push??1): Document
12627
12628 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12629
12630 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
12631 expand to emit the pattern; put a REG_INC note for push/pop
12632 instructions.
12633 ("movdf", "movdf_internal"): Likewise.
12634 ("movsi", "movsi_internal"): Likewise.
12635 ("movsf", "movsf_internal"): Likewise.
12636 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
12637
12638 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
12639
12640 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
12641 gen_highpart.
12642
12643 2001-07-20 Daniel Berlin <dan@cgsoftware.com>
12644
12645 * params.def: Change default max inline insns to 100.
12646
12647 2001-07-20 Diego Novillo <dnovillo@redhat.com>
12648
12649 * combine.c (combine_simplify_rtx): Generate a new shift operation
12650 when simplifying the first operand of a (neg (ashift)) expression.
12651
12652 2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
12653
12654 * regclass.c (N_REG_INTS): Use only 32 bits per element.
12655
12656 2001-07-20 Kelley Cook <kelley.cook@home.com>
12657
12658 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
12659 information. Move rest into ...
12660 (*-*-solaris): ... here. Eliminate redundant information and
12661 reword necessary packages section. Delete 4.x assembler bug info.
12662 (sparc-sun-*): Merge into ...
12663 (sparc-sun-sunos*): here.
12664
12665 2001-07-20 Catherine Moore <clm@redhat.com>
12666
12667 * config/v850/v850.md (casesi): Generate LABEL_REF
12668 with Pmode.
12669
12670 Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
12671
12672 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
12673 * i386.c (ix86_zero_extend_to_Pmode): Make global.
12674 * i386.md (strclrsi expander): Use it.
12675
12676 Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
12677
12678 * integrate.c (copy_insn_list): handle
12679 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
12680 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
12681 identically as to CODE_LABEL.
12682
12683 * fold-const (fold): Convert A/B/C to A/(B*C) and
12684 A/(B/C) to (A/B)*C
12685
12686 * except.c (connect_post_landing_pads): Delete the RESX insns.
12687
12688 2001-07-20 Aldy Hernandez <aldyh@redhat.com>
12689
12690 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
12691
12692 * config/mips/mips.md (nmadd/nmsub): Use macro.
12693
12694 2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
12695
12696 * cppinit.c (remove_dup_dir): Make static.
12697 (remove_dup_dirs): Make static. Only warn about preempting a
12698 system directory with a non-system directory.
12699
12700 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
12701
12702 * ifcvt.c (noce_try_store_flag_constants): Correct order
12703 of parameters to trunc_int_for_mode.
12704
12705 2001-07-19 Mark Mitchell <mark@codesourcery.com>
12706
12707 * reorg.c (fill_simple_delay_slots): If an instruction might throw
12708 an exception that will be caught within this function, do not fill
12709 its delay slot with any subsequent instruction.
12710
12711 2001-07-19 Steve Ellcey <sje@cup.hp.com>
12712
12713 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
12714 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
12715 pointer extension instruction.
12716 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
12717 * simplify-rtx.c (simplify_unary_operation) Likewise.
12718 * explow.c (convert_memory_address) Check value of
12719 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
12720 less than zero.
12721 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
12722 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
12723 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
12724 Add Multilib Support.
12725 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
12726 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
12727 Add Multilib Support.
12728 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
12729 support.
12730 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
12731 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
12732 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
12733
12734 2001-07-19 Alexandre Oliva <aoliva@redhat.com>
12735
12736 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
12737 old and new operands in `<', `3' and `b'.
12738
12739 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12740
12741 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
12742 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
12743 (toplev.o): Don't depend on xcoffout.h.
12744 * c-decl.c: Include debug.h
12745 (duplicate_decls): Use debug hook.
12746 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
12747 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12748 (dbxout_types): Remove.
12749 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
12750 * debug.c (do_nothing_debug_hooks): Update.
12751 (debug_true_tree, debug_nothing_rtx): New.
12752 * debug.h (struct rtx_def): New.
12753 (struct gcc_debug_hooks): New hooks ignore_block,
12754 outlining_inline_function and label.
12755 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
12756 dwarf2out_frame_finish): New.
12757 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
12758 Make static, update prototype.
12759 (dwarf2_debug_hooks): Update.
12760 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
12761 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
12762 * dwarfout.c (dwarf_debug_hooks): Update.
12763 * emit-rtl.c: Include debug.h.
12764 (remove_unnecessary_notes): Use debug hook.
12765 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
12766 (final_scan_insn): Use debug hook.
12767 * integrate.c (output_inline_function): Use debug hook.
12768 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
12769 (sdb_debug_hooks): Update.
12770 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
12771 * toplev.c: Don't include xcoffout.h.
12772 (note_outlining_of_inline_function, debug_ignore_block): Remove.
12773 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
12774 Remove.
12775 * tree.h (dwarf2out_do_frame): Remove.
12776
12777 2001-07-19 Catherine Moore <clm@cygnus.com>
12778
12779 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
12780
12781 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
12782
12783 * reload1.c (eliminate_regs_in_insn): When updating a set
12784 to the frame pointer to the hardware frame pointer, perform
12785 the update always not just when REPLACE is set.
12786
12787 * reload1.c (choose_reload_regs): Don't inherit a reload
12788 that crosses multiple registers if registers past the first
12789 don't fit in the desired class.
12790
12791 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
12792 when negating constants.
12793
12794 2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
12795
12796 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
12797 * doc/tree.texi: Ditto.
12798
12799 2001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
12800 Jakub Jelinek <jakub@redhat.com>
12801
12802 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
12803 (extract_cie_info): Handle "eh" augmentation properly,
12804 remember eh_ptr.
12805 (struct frame_state, __frame_state_for): New.
12806
12807 2001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12808
12809 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
12810 HANDLE_SYSV_PRAGMA): Define.
12811 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
12812 previous args.
12813 (copy_object): Caller changed.
12814
12815 2001-07-19 Andreas Schwab <schwab@suse.de>
12816
12817 * configure.in (assembler dwarf2 debug_line support): Define nop
12818 insn for m68k.
12819 * configure: Regenerated.
12820
12821 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12822
12823 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
12824 dwarfout.h.
12825 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
12826 to conditionally compiled block.
12827 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12828 * dbxout.h (dbxout_function): Remove.
12829 * debug.c (do_nothing_debug_hooks): Update.
12830 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
12831 global_decl, deferred_inline_function.
12832 * dwarf2out.c (dwarf2_debug_hooks): Update.
12833 (dwarf2out_global_decl): New.
12834 * dwarfout.c: Don't include dwarfout.h.
12835 (dwarfout_global_decl, dwarfout_function_decl,
12836 dwarfout_deferred_inline_function): New.
12837 (dwarf_debug_hooks): Update.
12838 * dwarfout.h: Remove.
12839 * final.c: Don't include dwarfout.h.
12840 * sdbout.c (sdbout_global_decl): New.
12841 (sdbout_debug_hooks): Update.
12842 * toplev.c: Don't include dwarfout.h.
12843 (check_global_declarations, rest_of_compilation): Use new debug hooks.
12844 (note_deferral_of_defined_inline_function): Remove.
12845 * toplev.h (note_deferral_of_defined_inline_function): Remove.
12846 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
12847 * ch/lex.c: Don't include dwarfout.h.
12848 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
12849 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
12850 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
12851 * cp/optimize.c: Include debug.h.
12852 (maybe_clone_body): Use debug hook.
12853 * cp/semantics.c: Include debug.h.
12854 (expand_body): Use debug hook.
12855 * po/POTFILES.in: Remove dwarfout.h.
12856
12857 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
12858
12859 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
12860 * c-parse.in (yyerror, _yylex): Similarly.
12861 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
12862 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
12863 Update comments.
12864 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
12865 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
12866
12867 2001-07-18 Jeff Sturm <jsturm@one-point.com>
12868
12869 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
12870 in-class declaration at -g1. Fixes c++/2814.
12871
12872 2001-07-18 Richard Henderson <rth@redhat.com>
12873
12874 * doc/md.texi (reload_in/out): Document restrictions in predicates
12875 and constraints for these patterns. Document empty string matching
12876 ALL_REGS.
12877
12878 2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12879
12880 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
12881
12882 Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
12883
12884 * cse.c: Undo my previous patch.
12885
12886 2001-07-18 Tom Tromey <tromey@redhat.com>
12887
12888 For PR java/2812:
12889 * configure: Rebuilt.
12890 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
12891 instead.
12892 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
12893
12894 Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
12895 Jan Hubicka <jh@suse.cz>
12896
12897 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
12898 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
12899 * jump.c (mark_jump_label): Do not forward branches.
12900
12901 Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
12902
12903 * cse.c (delete_trivially_dead_insns): Delete the libcall block
12904 when return value is unused.
12905
12906 Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
12907
12908 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
12909
12910 Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
12911
12912 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
12913 on error. We can't blindly return the result of
12914 pthread_mutex_trylock because it returns a positive number on
12915 error, while we must return -1 on error.
12916 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
12917 fixes.
12918 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
12919
12920 2001-07-18 Andreas Jaeger <aj@suse.de>
12921
12922 * integrate.c (output_inline_function): Correct type of debug_hooks.
12923
12924 2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
12925
12926 * combine.c (combine_simplify_rtx): DIV can be treated
12927 associatively for floats if unsafe math optimisations are enabled.
12928
12929 2001-07-17 Richard Henderson <rth@redhat.com>
12930
12931 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
12932
12933 2001-07-17 Richard Henderson <rth@redhat.com>
12934
12935 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
12936 don't force the function address into a register.
12937 (expand_call, emit_library_call_value_1): Update callers.
12938 * builtins.c (expand_builtin_apply): Likewise.
12939 * expr.h (prepare_call_address): Update decl.
12940
12941 2001-07-17 Chandrakala Chavva <cchavva@redhat.com>
12942
12943 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
12944 config directory.
12945 * config/i386/chorus.h: Move up.
12946 * config/sparc/chorus.h: Likewise.
12947 * config/rs6000/chorus.h: Likewise.
12948 * config/chorus.h: Moved here.
12949
12950 2001-07-17 Andreas Schwab <schwab@suse.de>
12951
12952 * configure.in (assembler eh_frame optimization): Handle big
12953 endian.
12954 * configure: Regenerated.
12955
12956 Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
12957
12958 * expr.c (epxand_expr): Convert divisions into multiplications by
12959 reciprocals if -ffast-math.
12960
12961 2001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
12962
12963 * dbxout.c (dbxout_really_begin_function): Rename to
12964 dbxout_begin_function.
12965 (dbx_debug_hooks, xcoff_debug_hooks): Update.
12966 (dbxout_begin_function): Remove.
12967 (dbxout_function): Update.
12968 (dbxout_source_line): Update prototype.
12969 * dbxout.h (dbxout_begin_function): Remove.
12970 * debug.c (do_nothing_debug_hooks): Update.
12971 (debug_nothing_tree): Update.
12972 (debug_nothing_charstar_rtx): Remove.
12973 * debug.h (union tree_node): Declare.
12974 (struct rtx_def): Remove.
12975 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
12976 begin_function. Change source_line prototype.
12977 (debug_nothing_tree): New.
12978 (debug_nothing_charstar_rtx): Delete.
12979 (dwarf2out_begin_prologue): Moved from ...
12980 * tree.h: ... here.
12981 * dwarf2out.c (dwarf2_debug_hooks): Update.
12982 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
12983 debug info, call dwarf2out_source_line.
12984 (dwarf2out_souce_line): Update prototype.
12985 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
12986 Change prototype, make static.
12987 (dwarfout_source_line): Update prototype.
12988 (dwarf_debug_hooks): Update.
12989 * dwarfout.h (dwarfout_begin_function): Remove.
12990 * final.c (final_start_function, final_scan_insn): Use appropriate
12991 debug hooks, update to use notice_source_line.
12992 (output_source_line): Rename notice_source_line. Don't call the
12993 source_line debug hook.
12994 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
12995 make static, update prototype.
12996 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
12997 prototype.
12998 (sdbout_end_prologue): New.
12999 (sdbout_source_line): Update prototype.
13000 (sdbout_debug_hooks): Update.
13001 (sdbout_symbol): Remove unused var.
13002 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
13003 Delete.
13004 * varasm.c: Include debug.h.
13005 (assemble_start_function): Use begin_function debug_hook.
13006 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13007 update with prototype.
13008 (xcoffout_source_line): Update prototype.
13009 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
13010 update prototype.
13011 (xcoffout_source_line): Update prototype.
13012
13013 2001-07-17 Richard Henderson <rth@redhat.com>
13014
13015 * c-typeck.c (build_binary_op): Do not shorten unsigned
13016 right shift after sign extension.
13017
13018 Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
13019
13020 * combine.c (combine_simplify_rtx): Attempt to simplify
13021 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
13022
13023 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
13024 (simplify_binary_operation, simplify_unary_operation,
13025 simplify_relational_operation): Use it.
13026
13027 * combine.c (combine_simplify_rtx): Don't do associative law
13028 on divisions; allow associative law on floats.
13029
13030 2001-07-17 H.J. Lu <hjl@gnu.org>
13031 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13032
13033 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
13034 ASM_OUTPUT_WEAK_ALIAS are defined.
13035 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
13036 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
13037 Moved ...
13038 * config/mips/iris5.h: ... here.
13039 (HANDLE_SYSV_PRAGMA): Defined as 1.
13040 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
13041 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
13042 symbol.
13043
13044 2001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
13045
13046 * c-parse.in (all_prefix_attributes): New variable.
13047 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
13048 (maybe_resetattrs): New production.
13049 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
13050 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
13051 notype_initdcl, nested_function, notype_nested_function,
13052 component_decl, components, components_notype,
13053 component_declarator, component_notype_declarator,
13054 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
13055 ivars, mydecl, myparm): Update. Avoid prefix attributes just
13056 after a comma being applied to more than one declarator.
13057 * doc/extend.texi (Attribute Syntax): Update. Remove
13058 documentation of bugs that are no longer present.
13059
13060 2001-07-13 Eric Christopher <echristo@redhat.com>
13061
13062 * config/mips/mips.h: Change TUNE_MIPS* options to use
13063 mips_tune.
13064 (EXTRA_SPECS): Add cc1_cpu_spec.
13065 * config/mips/mips.md (muldf3): Fix typo.
13066
13067 2001-07-16 Richard Henderson <rth@redhat.com>
13068
13069 * config/m68k/m68k.c: Include expr.h and reload.h.
13070 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
13071 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
13072
13073 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
13074 Richard Henderson <rth@redhat.com>
13075
13076 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
13077 (insn_live_p): Fix fall off end of function.
13078 (dead_libcall_p): Remove COUNTS argument; update callers.
13079 (delete_trivially_dead_insns): Remove unused variables.
13080
13081 2001-07-17 Andreas Jaeger <aj@suse.de>
13082
13083 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
13084 x86-64 pic support.
13085
13086 * lcm.c (optimize_mode_switching): Avoid warning for unused
13087 variable if !NORMAL_MODE.
13088
13089 * flow.c (try_crossjump_to_edge): Remove unused variable.
13090
13091 2001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
13092
13093 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
13094 atexit declaration in stdlib.h.
13095
13096 2001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
13097
13098 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
13099
13100 Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
13101
13102 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
13103 * except.c (finish_eh_generation): Update call of cleanup_cfg;
13104 do rebuild_jump_labels instead of jump_optimize
13105 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
13106 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
13107 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
13108
13109 * flow.c: Include timevar.h
13110 (find_basic_block): Push/pop timevar;
13111 (cleanup_cfg): Likewise.
13112 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
13113 * Makefile: Add dependencies on timevar.h
13114
13115 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
13116 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
13117
13118 * rtl.h (delete_trivially_dead_insns): Add new parameter.
13119 * toplev.c (rest_of_compilation): Update calls.
13120 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
13121 (delete_trivially_dead_insns): ... here; accept new argument
13122 preserve_basic_blocks; preserve basic blocks if set.
13123
13124 * reg-stack.c (stack_regs_mentioned): Return 0 if
13125 stack_regs_mentioned_data is not initialized.
13126 (reg_to_stack): Make stack_regs_mentioned survive after the
13127 reg-stack is completted; do not call cleanup_cfg.
13128 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
13129 make cleanup_cfg after bb-reorder to output to debug file.
13130
13131 2001-07-16 Richard Henderson <rth@redhat.com>
13132
13133 * regclass.c (init_reg_sets): Use only 32 bits per initializer
13134 from int_reg_class_contents.
13135
13136 2001-07-16 Richard Henderson <rth@redhat.com>
13137
13138 * hard-reg-set.h (regs_invalidated_by_call): Declare.
13139 * regclass.c (regs_invalidated_by_call): Move from cse.c.
13140 (init_reg_sets_1): Move initialization from cse_main.
13141 * cse.c (regs_invalidated_by_call): Move to regclass.c.
13142 (cse_main): Move its initialization also.
13143 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
13144 * flow.c (propagate_one_insn): Likewise.
13145 * gcse.c (compute_hash_table): Likewise.
13146 (compute_kill_rd, compute_store_table): Likewise.
13147 * sched-deps.c (sched_analyze_1): Likewise.
13148
13149 Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
13150
13151 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
13152 gen_rtx_SET.
13153
13154 2001-07-16 Steve Ellcey <sje@cup.hp.com>
13155
13156 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
13157 in if statement so we don't access undefined memory.
13158
13159 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
13160
13161 * gcse.c: Update comment at top.
13162 Update comment on mem handling.
13163 mem_last_set, mem_first_set, mem_set_in_block: gone.
13164 Declaration of reg_set_info: gone.
13165 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
13166 pointless with load_killed_in_block_p (they are *more*
13167 conservative then it, not less, and less accurate).
13168 (oprs_not_set_p): Ditto.
13169 (alloc_gcse_mem): Don't allocate mem_set_in_block
13170 (free_gcse_mem): Don't free it, either.
13171 (record_last_mem_set_info): Update comment in front, remove
13172 mem_*set_* stuff. Note the reason we don't handle stores directly
13173 here.
13174 (compute_hash_table): Update comments to reflect reality. Remove
13175 mem_*set_* references.
13176 (reset_opr_set_tables): Remove mem_*set_* references.
13177 (mark_call): Ditto.
13178 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
13179 (mark_clobber): Ditto (on both parts, we double set here too).
13180 (expr_killed_p): Remove mem_set_in_block test.
13181 (compute_transp): Remove mem_set_in_block test.
13182
13183 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
13184 of edge, and removal of phi alternative to dump file.
13185 (ssa_ccp_substitute_constants): Add note about register now being
13186 constant, and which uses were replaced in what insns to dump file.
13187
13188 2001-07-16 Andreas Jaeger <aj@suse.de>
13189
13190 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
13191 variables of type HOST_WIDEST_INT.
13192
13193 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
13194 (__bb_exit_func): Correct type of count_max to avoid overflow.
13195 (num_digits): Handle long long argument.
13196
13197 * combine.c (gen_lowpart_for_combine): Remove unused variable.
13198
13199 2001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13200
13201 * output.h (sdb_begin_function_line): Restore as an extern
13202 variable.
13203 * sdbout.c (sdb_begin_function_line): Make extern.
13204
13205 2001-07-15 Richard Henderson <rth@redhat.com>
13206
13207 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
13208 * genrecog.c (maybe_both_true_mode): New.
13209 (maybe_both_true_2): Use it.
13210 (write_switch): Don't put Pmode in a switch.
13211 * rtl.c (mode arrays): Don't explicitly size them.
13212
13213 Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
13214
13215 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
13216 handling; move unconditional splitting before mode switching.
13217
13218 * i386.md (type): Add fistp type.
13219 (i387, length_attr, scheduling definitions): Handle this type.
13220 (fix_trunc?f?i2): Revamp to use mode switching.
13221 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
13222 * i386.h (fp_cw_mode): New enum
13223 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
13224 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
13225
13226 Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13227
13228 * Makefile.in (integrate.o): Add debug.h.
13229 * integrate.c (debug.h): Add.
13230 (output_inline_function): Save, reset, and restore debug_hooks.
13231
13232 2001-07-15 Richard Henderson <rth@redhat.com>
13233
13234 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
13235 instead of COMPARE for the EQUIV expression.
13236
13237 2001-07-15 Richard Henderson <rth@redhat.com>
13238
13239 * flow.c (redirect_edge_and_branch_force): Initialize
13240 global_live_at_start and global_live_at_end.
13241 (allocate_bb_life_data): Export.
13242 * basic-block.h (allocate_bb_life_data): Declare.
13243 * toplev.c (rest_of_compilation): Call it.
13244
13245 2001-07-15 Richard Henderson <rth@redhat.com>
13246
13247 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
13248 (alpha_tablejump_best_label): New.
13249 * config/alpha/alpha-protos.h: Declare them.
13250 * config/alpha/alpha.md: Use braced strings for code blocks.
13251 (tablejump_osf): Break out add with r29.
13252 (tablejump_osf_internal): Remove.
13253 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
13254 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
13255
13256 Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
13257
13258 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
13259 of the movable.
13260
13261 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
13262
13263 * i386-protos.h (ix86_split_fp_branch): Update prototype.
13264 (ix86_fp_jump_nontrivial_p): New.
13265 * i386.md (fp_jcc_?): Update call of split_fp_branch;
13266 use ix86_fp_jump_nontrivial_p.
13267 * i386.c (ix86_fp_jump_nontrivial_p): New.
13268 (ix86_split_fp_branch): Accept code instead of rtx.
13269 (ix86_expand_compare): Expand comparison early in case
13270 doing so is resonably cheap.
13271
13272 2001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
13273
13274 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
13275 not 'machine'.
13276 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
13277 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
13278
13279 2001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
13280
13281 * dbxout.c (dbxout_source_line): Make static, update prototype.
13282 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
13283 (dbxout_init, dbxout_finish, dbxout_source_line,
13284 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
13285 * dbxout.h (dbxout_source_line): Delete.
13286 * debug.c (debug_nothing_file, debug_nothing_file_int,
13287 debug_nothing_file_charstar_rtx): New.
13288 (do_nothing_debug_hooks): Update.
13289 (debug_nothing_void, debug_nothing_charstar_rtx,
13290 dwarf2out_end_epilogue): New.
13291 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13292 * debug.h (struct rtx_def): Declare.
13293 (gcc_debug_hooks): New hooks source_line, end_epilogue
13294 and end_function.
13295 (debug_nothing_void, debug_nothing_charstar_rtx,
13296 dwarf2out_end_epilogue): New.
13297 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
13298 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
13299 (dwarf2_debug_hooks): Update.
13300 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
13301 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
13302 * dwarf2out.h (dwarf2out_source_line): Remove.
13303 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
13304 Make static, update prototype.
13305 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
13306 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
13307 (dwarf_debug_hooks): Update.
13308 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
13309 dwarfout_end_function): Remove.
13310 * final.c (profile_function): Use debug hooks for ending functions
13311 and epilogues.
13312 (output_source_line, final_end_function): Update prototype,
13313 use debug hooks.
13314 (final_start_function, final_scan_insn): Update.
13315 * output.h (sdb_begin_function_line): Remove.
13316 (final_end_function): Update prototype.
13317 * sdbout.c (sdb_begin_function_line): Make static.
13318 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
13319 (sdbout_source_line): New.
13320 (sdbout_end_epilogue, sdbout_end_function): Make static, update
13321 prototypes.
13322 (sdb_debug_hooks): Update.
13323 (sdbout_init, sdbout_source_line,
13324 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
13325 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
13326 * toplev.c (compile_file, rest_of_compilation): Update.
13327 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
13328 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
13329 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
13330 Update for prototype changes.
13331 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
13332 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
13333
13334 2001-07-15 Richard Henderson <rth@redhat.com>
13335
13336 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
13337 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
13338 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
13339 * config/alpha/alpha.c: Likewise.
13340 * config/alpha/alpha.md: Likewise.
13341 * config/alpha/alpha32.h: Likewise.
13342 * config/alpha/vms.h: Likewise.
13343 (OPEN_VMS): Remove.
13344
13345 2001-07-14 Richard Henderson <rth@redhat.com>
13346
13347 * config/alpha/alpha.md: Use define_constants for unspec values.
13348 Substitute throughout.
13349
13350 2001-07-14 Tim Josling <tej@melbpc.org.au>
13351
13352 * tree.def (EXPON_EXPR) remove. Never supported anyway.
13353
13354 2001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
13355
13356 * pa.md: Remove unused constraints from define_split's.
13357
13358 2001-04-14 Richard Henderson <rth@redhat.com>
13359
13360 * ifcvt.c (find_cond_trap): Test for exit block.
13361
13362 Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
13363
13364 Re-install recently reverted patch.
13365 * emit-rtl.c (try_split): Update mark_jump_label call.
13366 * flow.c (find_sub_basic_blocks): Likewise.
13367 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13368 jump_back_p): Kill.
13369 (mark_all_labels): Kill second parameter.
13370 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13371 (rebuild_jump_labels, jump_optimize_minimal): Update call
13372 of jump_optimize_1.
13373 (jump_optimize_1): Kill crossjumping code.
13374 (mark_jump_label): Kill cross_jump parameter.
13375 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13376 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13377 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13378 splitting.
13379 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13380 DFI_bpro.
13381 (dump_file_info): Likewise.
13382 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13383 reorganize passes to do reg-stack first, bb-reorder second.
13384 * invoke.texi (-d letters doc): Remove the jump2 pass.
13385
13386 2001-07-14 Richard Henderson <rth@redhat.com>
13387
13388 * ifcvt.c (find_cond_trap): New.
13389 (find_if_header): Call it.
13390 (merge_if_block): Relax existing jump sanity check.
13391 * jump.c (jump_optimize_1): Remove conditional trap handling.
13392
13393 2001-07-14 Alan Modra <amodra@bigpond.net.au>
13394
13395 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
13396 millicode.
13397 (insn_refs_are_delayed): Correct comment.
13398 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
13399 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
13400 instead of r31. Make associated insn !TARGET_64BIT, and
13401 provide an additional 64-bit insn that clobbers r2.
13402 (divsi3): Likewise.
13403 (udivsi3): Likewise.
13404 (modsi3): Likewise.
13405 (umodsi3): Likewise.
13406
13407 Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
13408
13409 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
13410
13411 * flow.c (redirect_edge_and_branch_force, split_edge,
13412 try_crossjump_to_edge): Use set_block_for_new_insns.
13413 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
13414
13415 2001-07-13 H.J. Lu (hjl@gnu.org)
13416
13417 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
13418 the correct patch.
13419
13420 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
13421
13422 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
13423
13424 2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
13425
13426 * c-common.c (decl_attributes): Take a pointer to the node to
13427 which attributes are to be attached, and a flags argument.
13428 * c-common.h (enum attribute_flags): New.
13429 (decl_attributes): Update prototype.
13430 * c-decl.c (start_decl, push_parm_decl, finish_struct,
13431 finish_enum, start_function): Update calls to decl_attributes.
13432 * c-parse.in (component_declarator, component_notype_declarator,
13433 label): Update calls to decl_attributes.
13434
13435 Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
13436
13437 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
13438 * config/avr/avr.c (legitimate_address_p): Return value changed
13439 from letter to register classes. For better debugging.
13440
13441 2001-07-13 Kazu Hirata <kazu@hxi.com>
13442
13443 * jump.c (reversed_comparison_code_parts): Fix comment typos.
13444
13445 2001-07-13 H.J. Lu (hjl@gnu.org)
13446
13447 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
13448
13449 2001-07-13 Marc Espie <espie@cvs.openbsd.org>
13450
13451 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
13452 correctly for shared configurations.
13453 * config/t-libgcc-pic: New.
13454 * config/{i386,m68k,sparc}/t-openbsd: New.
13455 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
13456 Support -shared. Support debugging libraries with -g.
13457 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
13458 frame information does not emit pointer diffs.
13459 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
13460 emit pointer diffs.
13461
13462 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
13463
13464 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
13465
13466 2001-07-13 David Edelsohn <edelsohn@gnu.org>
13467
13468 * combine.c (try_combine): Ensure const_int pow2 is positive.
13469
13470 2001-07-13 Hartmut Penner <hpenner@de.ibm.com>
13471
13472 * config.gcc: Add configuration for s/390.
13473 * config/s390/s390.c: New. Subroutines for code generation.
13474 * config/s390/s390.h: New. Definitions for s/390.
13475 * config/s390/s390-protos.h: New. Prototypes.
13476 * config/s390/linux.h: New. Definitions for linux for s/390.
13477 * config/s390/linux64.h: New. Definitions for linux for zSeries.
13478 * config/s390/t-linux: New. Makefile fragment.
13479 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
13480 * config/s390/fixdfdi.h: New. Fix L_fix*di.
13481
13482 Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
13483
13484 * emit-rtl.c (try_split): Update mark_jump_label call.
13485 * flow.c (find_sub_basic_blocks): Likewise.
13486 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
13487 jump_back_p): Kill.
13488 (mark_all_labels): Kill second parameter.
13489 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
13490 (rebuild_jump_labels, jump_optimize_minimal): Update call
13491 of jump_optimize_1.
13492 (jump_optimize_1): Kill crossjumping code.
13493 (mark_jump_label): Kill cross_jump parameter.
13494 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
13495 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
13496 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
13497 splitting.
13498 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
13499 DFI_bpro.
13500 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
13501 reorganize passes to do reg-stack first, bb-reorder second.
13502 * invoke.texi (-d letters doc): Remove the jump2 pass.
13503
13504 2001-07-12 Steve Ellcey <sje@cup.hp.com>
13505
13506 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
13507
13508 Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
13509
13510 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
13511 basic blocks.
13512 (verify_flow_info): Make diagnostics prettier.
13513
13514 Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
13515
13516 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
13517
13518 * flow.c (outgoing_edges_match): Return early if condition reversal
13519 failed.
13520
13521 2001-07-06 Richard Sandiford <rsandifo@redhat.com>
13522
13523 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
13524 (mips_move_2words): When splitting a move into two instructions,
13525 prefix the second address operand with '%D'.
13526
13527 2001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
13528
13529 * Makefile.in (final.o): Depend on debug.h.
13530 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
13531 (dbx_debug_hooks): Add new hooks.
13532 (xcoff_debug_hooks): New.
13533 * debug.c (debug_nothing_file_int_int): New.
13534 (do_nothing_debug_hooks): Update.
13535 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
13536 (debug_nothing_file_int_int): New.
13537 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
13538 static, update prototype.
13539 (dwarf2_debug_hooks): Update.
13540 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
13541 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
13542 static, update prototype.
13543 (dwarf_debug_hooks): Update.
13544 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
13545 * final.c: Include debug.h.
13546 (final_scan_insn): Use debug hooks when beginning and ending blocks.
13547 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
13548 static, update prototype.
13549 (sdb_debug_hooks): Update.
13550 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
13551 * toplev.c: Distinguish between xcoff and dbx.
13552
13553 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
13554 Call all debug hooks, not just dwarf ones.
13555
13556 2001-07-11 Timothy Wall <twall@redhat.com>
13557
13558 * config.gcc: Add configuration for AIX5/IA64.
13559 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
13560 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
13561 support prefix/suffix code.
13562 * config/ia64/t-aix: New. Makefile fragment.
13563 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
13564
13565 2001-07-11 Kazu Hirata <kazu@hxi.com>
13566
13567 * recog.c (validate_change): Fix a comment typo.
13568
13569 2001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
13570
13571 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
13572 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
13573 hooks directly.
13574 * dbxout.c (dbx_debug_hooks): Add new hooks.
13575 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
13576 make static.
13577 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
13578 make static.
13579 * dbxout.h (dbxout_start_new_source_file,
13580 dbxout_resume_previous_source_file): Delete.
13581 * debug.c (do_nothing_debug_hooks): Add new hooks.
13582 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13583 (debug_nothing_int_charstar, debug_nothing_int): New.
13584 * debug.h (gcc_debug_hooks): New hooks define, undef,
13585 start_source_file and end_source_file.
13586 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
13587 (debug_nothing_int_charstar, debug_nothing_int): New.
13588 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
13589 the conditionally compiled section.
13590 (dwarf2out_start_source_file, dwarf2out_end_source_file,
13591 dwarf2out_define, dwarf2out_undef): Make static.
13592 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
13593 dwarf2out_define, dwarf2out_undef): Remove.
13594 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
13595 (dwarfout_start_source_file, dwarfout_end_source_file,
13596 dwarfout_define, dwarfout_undef): Make static.
13597 (dwarfout_start_source_file_check,
13598 dwarfout_end_source_file_check): New.
13599 (dwarfout_define, dwarfout_finish): Update.
13600 * dwarfout.h (dwarfout_start_new_source_file,
13601 dwarfout_resume_previous_source_file, dwarfout_define,
13602 dwarfout_undef): Remove.
13603 * sdbout.c (sdb_debug_hooks): Add new hooks.
13604 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
13605 make static.
13606 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
13607 make static, take an arg.
13608 * sdbout.h (sdbout_start_new_source_file,
13609 sdbout_resume_previous_source_file): Delete.
13610 * toplev.c (debug_start_source_file, debug_end_source_file,
13611 debug_define, debug_undef): Delete.
13612 * toplev.h (debug_start_source_file, debug_end_source_file,
13613 debug_define, debug_undef): Delete.
13614
13615 * java/jcf-parse.c: Include debug.h.
13616 (parse_class_file): Update to use debug hooks directly.
13617 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
13618
13619 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13620
13621 * alias.c (set_mem_alias_set): New function.
13622 * rtl.h (set_mem_alias_set): Declare it.
13623 * builtins.c (expand_builtin_return_addr): Call it instead of
13624 using MEM_ALIAS_SET accessor.
13625 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
13626 (get_memory_rtx, expand_builtin_va_arg): Likewise.
13627 (expand_builtin_va_copy):Likewise.
13628 * caller-save.c (setup_save_areas): Likewise.
13629 * calls.c (compute_argument_addresses): Likewise.
13630 * explow.c (set_mem_attributes): Likewise.
13631 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
13632 (expand_assignment, store_constructor_field, store_field): Likewise.
13633 (expand_expr_unaligned): Likewise.
13634 * function.c (assign_stack_temp_for_type): Likewise.
13635 (put_reg_into_stack, gen_mem_addressof): Likewise.
13636 * ifcvt.c (noce_try_cmove_arith): Likewise.
13637 * reload1.c (reload, alter_reg): Likewise.
13638 * config/alpha/alpha.c (get_aligned_mem): Likewise.
13639 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
13640 (alpha_expand_unaligned_store): Likewise
13641 (alpha_expand_unaligned_load_words): Likewise.
13642 (alpha_expand_unaligned_store_words): Likewise.
13643 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
13644 (alpha_expand_epilogue): Likewise.
13645 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
13646 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
13647 * config/i386/i386.c (legitimize_pic_address): Likewise.
13648 * config/i960/i960.c (setup_incoming_varargs): Likewise.
13649 * config/ia64/ia64.c (spill_restore_mem): Likewise.
13650 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
13651 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
13652 * config/mips/mips.c (mips_va_arg): Likewise.
13653 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
13654 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
13655 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
13656 (setup_incoming_varargs, rs6000_va_arg): Likewise.
13657 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
13658 (rs6000_emit_epilogue): Likewise.
13659 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
13660 * config/sparc/sparc.c (sparc_va_arg): Likewise.
13661 * config/v850/v850.c (v850_va_arg): Likewise.
13662
13663 Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
13664
13665 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
13666 when fallthru edge is present.
13667 (mege_blocks): Handle case where creation of jump insn
13668 is required.
13669
13670 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
13671 CLEANUP_POST_REGSTACK): New constants.
13672 * except.c (finish_eh_generation): Update call of cleanup_cfg,
13673 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
13674 * output.h (cleanup_cfg): Update prototype.
13675 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
13676 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
13677 cleanup_cfg call; kill missleading comment.
13678 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
13679 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
13680 parameter; control optimizations performed using it.
13681 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
13682 try_crossjump_bb): New functions.
13683
13684 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13685
13686 * pa.c (pa_output_function_prologue): Delete prototype. Make function
13687 extern.
13688 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
13689 pa_output_function_prologue.
13690 * pa-protos.h (pa_output_function_prologue): New prototype.
13691
13692 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
13693
13694 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
13695 and low to get correct sign extension in low+high test.
13696
13697 2001-07-11 Janis Johnson <janis@us.ibm.com>
13698
13699 * gcov.c (arcdata): Use gcov_type to fix branch percentage
13700 for large hit count.
13701
13702 * profile.c (branch_prob): Fix .bbg info for computed gotos
13703 and C++ EH code.
13704
13705 2001-07-11 Mark Mitchell <mark@codesourcery.com>
13706
13707 * stmt.c (parse_output_constraint): New function, split out
13708 from ...
13709 (expand_asm_operands): ... here. Use parse_output_constraint.
13710 * tree.h (parse_output_constraint): Declare it.
13711
13712 2001-07-11 Richard Henderson <rth@redhat.com>
13713
13714 * bitmap.c: Comment some functions; fiddle whitespace.
13715 (bitmap_free): Don't export.
13716 (bitmap_element_allocate): Use memset.
13717 * bitmap.h (bitmap_free): Don't declare.
13718
13719 2001-07-11 Daniel Berlin <dan@cgsoftware.com>
13720
13721 * gcse.c, lcm.c, sched-deps.c:
13722 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
13723
13724 * flow.c (flow_loops_find): Free dom if we found no loops, since
13725 we aren't going to save it.
13726
13727 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
13728 done.
13729
13730 Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
13731
13732 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
13733
13734 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13735
13736 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
13737 #ifndef DWARF2_DEBUGGING_INFO.
13738
13739 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
13740
13741 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
13742
13743 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
13744
13745 * config/mips/mips.c (gen_int_relational): Tell the caller not to
13746 reverse a branch if a NE comparison is implemented with GTU.
13747
13748 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
13749 H.J. Lu <hjl@gnu.org>
13750
13751 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
13752 constant addresses.
13753 (call_internal2): Likewise.
13754 (call_value_internal1): Likewise.
13755 (call_value_internal2): Likewise.
13756 (call_value_multiple_internal1): Likewise.
13757 (call_value_multiple_internal2): Likewise.
13758
13759 2001-07-10 Kazu Hirata <kazu@hxi.com>
13760
13761 * calls.c (emit_library_call_value_1): Fix a comment typo.
13762 * dwarf2out.c (mem_loc_descriptor): Likewise.
13763 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
13764
13765 2001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
13766
13767 * simplify-rtx.c (simplify_subreg): Fix typo in comment
13768
13769 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13770
13771 * recog.c (offsettable_address_p): Handle LO_SUM case.
13772 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
13773 instead of plus_constant.
13774
13775 2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13776
13777 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
13778 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
13779
13780 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13781
13782 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
13783 adjust_address_nv instead of plus_constant.
13784
13785 2001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
13786
13787 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
13788 dwarf2out.o): Depend on debug.h, wrap long lines.
13789 * dbxout.c: Include debug.h.
13790 (dbx_debug_hooks): New.
13791 (dbxout_init): Make static, take just 2 args.
13792 (dbxout_finish): Make static.
13793 * dbxout.h (dbxout_init, dbxout_finish): Delete.
13794 * debug.c: New file.
13795 * debug.h: New file.
13796 * dwarf2out.c: Include debug.h.
13797 (dwarf2_debug_hooks): New.
13798 (dwarf2out_init): Make static.
13799 (dwarf2out_finish): Make static, take 2 args.
13800 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
13801 * dwarfout.c: Include debug.h.
13802 (dwarf_debug_hooks): New.
13803 (dwarfout_init): Make static.
13804 (dwarfout_finish): Make static, take 2 args.
13805 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
13806 * sdbout.c: Include debug.h.
13807 (sdb_debug_hooks): New.
13808 (sdbout_init): Make static, take 2 args.
13809 * sdbout.h (sdbout_init): Delete.
13810 * toplev.c: Include debug.h.
13811 (debug_hooks): New.
13812 (compile_file): Set deubg_hooks based on command line options.
13813 Use the hooks unconditionally rather than conditional compilation.
13814
13815 Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
13816
13817 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
13818 first_insn_after_basic_block_note instead.
13819
13820 * df.c (df_bb_refs_unlink): #if 0 out for now.
13821
13822 2001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
13823
13824 * ssa.h: Add prototype for ssa_const_prop
13825 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
13826 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
13827 (ssa_fast_dce): Remove unused variable
13828
13829 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13830
13831 * diagnostic.c (finish_diagnostic): Rename to
13832 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
13833 calls thourghout.
13834
13835 2001-07-10 Jason Merrill <jason_merrill@redhat.com>
13836
13837 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
13838 .loc support.
13839
13840 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
13841 (dump_file): Only pad the demangled name with spaces if the
13842 mangled name was padded with spaces.
13843
13844 2001-07-10 Bernd Schmidt <bernds@redhat.com>
13845
13846 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
13847 edge detection.
13848
13849 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13850
13851 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
13852 extraction if no direct load if either EXPAND_CONST_ADDRESS or
13853 EXPAND_INITIALIZER.
13854
13855 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
13856 whether can put offset inside LO_SUM to check mode alignment, not size.
13857
13858 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
13859
13860 * doc/tm.texi (Misc): Fix thinko.
13861
13862 2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
13863
13864 * regmove.c (replace_in_call_usage): Fix warnings.
13865 * sched-deps.c (add_dependence): Fix warnings.
13866 * simplify-rtx.c (simplify_subreg): Likewise.
13867 Return NULL_RTX instead of NULL.
13868
13869 * reg-stack.c (emit_swap_insn): Eliminate warnings.
13870 (subst_asm_stack_regs): Likewise.
13871
13872 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
13873 warnings.
13874
13875 * dwarf2out.c (output_call_frame_info): Declare i as int.
13876 (build_abbrev_table): Declare n_alloc as int.
13877 (dwarf2out_finish): Initialize die.
13878 * except.c: Declare sjlj_funcdef_number as unsigned.
13879 (connect_post_landing_pads): Declare j as unsigned.
13880 (convert_to_eh_region_ranges): Initialize call_site.
13881 (output_function_exception_table): Initialize tt_format_size.
13882 * expr.c (move_by_pieces_1): Initialize to1.
13883 (store_constructor): Initialize minelt and maxelt.
13884 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
13885 * function.c (instantiate_decls): Avoid signed/unsigned warning.
13886
13887 * c-decl.c (combine_parm_decls): Unused, remove.
13888 * c-tree.h: Remove prototype for combine_parm_decls.
13889
13890 * reload.c (push_reload): Fix warning.
13891 (regno_clobbered_p): Likewise.
13892 * reload1.c (replace_pseudos_in_call_usage): Likewise.
13893 (reload_combine): Likewise.
13894
13895 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
13896 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
13897 warnings.
13898 * bitmap.c (bitmap_operation): Change user.
13899 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
13900
13901 2001-07-10 Eric Christopher <echristo@redhat.com>
13902
13903 * config/mips/mips.c (override_options): Fix typo.
13904
13905 2001-07-09 Stan Shebs <shebs@apple.com>
13906
13907 * target.h (struct gcc_target): New fields init_builtins and
13908 expand_builtin.
13909 * target-def.h (TARGET_INIT_BUILTINS): New macro.
13910 (TARGET_EXPAND_BUILTIN): New macro.
13911 (TARGET_INITIALIZER): Add them.
13912 * builtins.c: Include target.h.
13913 (expand_builtin): Use targetm.expand_builtin.
13914 (default_init_builtins): New function.
13915 (default_expand_builtin): New function.
13916 * expr.h (default_init_builtins): Declare.
13917 (default_expand_builtin): Declare.
13918 * c-common.c (c_common_nodes_and_builtins): Use
13919 targetm.init_builtins.
13920 * defaults.h (MD_INIT_BUILTINS): Remove.
13921 * Makefile.in (builtins.o): Depend on target.h.
13922
13923 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
13924 (TARGET_EXPAND_BUILTIN): Define.
13925 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
13926 (MD_EXPAND_BUILTIN): Remove.
13927
13928 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
13929 (TARGET_EXPAND_BUILTIN): Define.
13930 (c4x_init_builtins): Make endlink arg a local.
13931 (c4x_print_operand): Fix typos in adjust_address usages.
13932 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
13933 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
13934 (MD_EXPAND_BUILTIN): Remove.
13935
13936 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
13937 (TARGET_EXPAND_BUILTIN): Define.
13938 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
13939 (ix86_init_builtins): Call new function only if TARGET_MMX.
13940 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
13941 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
13942 (MD_EXPAND_BUILTIN): Remove.
13943
13944 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
13945 (TARGET_EXPAND_BUILTIN): Define.
13946 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
13947 (MD_EXPAND_BUILTIN): Remove.
13948
13949 * doc/tm.texi: Document these changes.
13950
13951 2001-07-09 Diego Novillo <dnovillo@redhat.com>
13952
13953 * basic-block.h (tree_node): Forward declare if needed.
13954 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
13955 (BLOCK_HEAD_TREE): Define.
13956 (BLOCK_END_TREE): Define.
13957 (struct loops): Rename field 'tree' to 'tree_root'.
13958 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
13959 'end_tree'.
13960 (flow_loops_tree_build): Rename reference to field 'tree' to
13961 'tree_root'.
13962 (flow_loops_level_compute): Ditto.
13963 * predict.c (estimate_bb_frequencies): Ditto.
13964 * tree.h (struct tree_common): Add field 'aux'.
13965
13966 2001-07-09 Stan Shebs <shebs@apple.com>
13967
13968 * config/darwin.c (darwin_encode_section_info): Don't mark any
13969 DECL_EXTERNAL node as defined.
13970
13971 2001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13972
13973 * pa.c (pa_init_machine_status, pa_mark_machine_status,
13974 pa_free_machine_status, hppa_init_pic_save): Delete.
13975 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
13976 (hppa_profile_hook): Use hppa_pic_save_rtx.
13977 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
13978 hppa_init_pic_save): Delete.
13979 (hppa_pic_save_rtx): Declare.
13980 * pa.md (call, call_value, sibcall, sibcall_value,
13981 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
13982
13983 2001-07-09 Kazu Hirata <kazu@hxi.com>
13984
13985 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
13986 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
13987
13988 2001-07-09 Andreas Jaeger <aj@suse.de>
13989
13990 * output.h: Add declaration of final_forward_branch_p.
13991
13992 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
13993
13994 * varray.c: Include errors.h for internal_error and trim_filename
13995 declarations.
13996
13997 * Makefile.in (varray.o): Add errors.h.
13998
13999 2001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
14000
14001 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
14002 * optabs.c (have_add2_insn): Check whether the add insn chosen
14003 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
14004 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
14005
14006 Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
14007
14008 * Makefile.in (OBJS): Add ssa-ccp.o
14009 (ssa-ccp.o): Add dependencies.
14010 * toplev.c (DFI_ssa_ccp): New dump file enum.
14011 (dump_file): Add entry for dumping after SSA CCP.
14012 (flag_ssa_ccp): New flag variable.
14013 (f_options): Add -fssa-ccp.
14014 (rest_of_compilation): Run SSA CCP if requested.
14015 * timevar.def (TV_SSA_CCP): New timevar.
14016 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
14017 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
14018 Fix minor typo in SSA DCE documentation.
14019 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
14020 Add documentation for new dump option. Renumber dump files
14021 appropriately.
14022
14023 Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14024
14025 * emit-rtl.c (gen_highpart_mode): New.
14026 * rtl.h (gen_highpart_mode): Declare.
14027 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
14028 operand can be VOIDmode constant.
14029
14030 Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
14031
14032 * flow.c (redirect_edge_and_branch_force): New.
14033 (can_fallthru): Ensure that basic blocks are succeeding.
14034 (try_optimize_cfg): Do not delete basic block if it is the last one.
14035
14036 * flow.c (try_redirect_by_replacing_jump): Do not remove
14037 jumps with side effects, unlink chain on fallthru edge;
14038 set block for new jump instruction; avoid basic block to
14039 over by line number note.
14040
14041 * flow.c (try_simplify_condjump): Verify that the condjump
14042 is not always falling through.
14043
14044 Re-install patch:
14045 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14046
14047 * flow.c (forwarder_block_p): Fix for fallthru blocks.
14048 (try_redirect_by_replacing_jump): Update properly the count
14049 and frequency information.
14050
14051 Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14052
14053 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
14054 address that is a LO_SUM specially.
14055 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
14056
14057 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
14058
14059 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
14060 (operand_subword): Use them.
14061 (change_address_1): Renamed from change_address; new arg VALIDATE.
14062 * expr.h: Reflect above changes; change_address now macro.
14063 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
14064 making MEM.
14065 * cselib.c (add_mem_for_addr): Likewise.
14066 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
14067 * regmove.c (try_apply_stack_adjustment): Likewise.
14068 * reload.c (push_reload, make_memloc): Likewise.
14069 * reload1.c (eliminate_regs): Likewise.
14070 * simplify-rtx.c (simplify_replace_rtx): Likewise.
14071 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
14072 adjust_addess.
14073 * combine.c (make_extraction, simplify_shift_const): Likewise.
14074 (gen_lowpart_for_combine): Likewise.
14075 * cse.c (gen_lowpart_if_possible): Likewise.
14076 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
14077 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
14078 * optabs.c (gen_move_insn): Likewise.
14079 * reload1.c (alter_reg): Likewise.
14080 * simplify-rtx.c (simplify_subreg): Likewise.
14081 * stmt.c (expand_anon_union_decl): Likewise.
14082 * recog.c (validate_replace_rtx_1): Likewise.
14083 (expr.h): Include.
14084 * Makefile.in (recog.o): Add $(EXPR_H).
14085 * explow.c (stabilize): Call replace_equiv_address.
14086 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
14087 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
14088
14089 2001-07-03 Andrew Haley <aph@redhat.com>
14090
14091 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
14092 the mode of the memory location.
14093
14094 2001-07-09 Bo Thorsen <bo@suse.co.uk>
14095
14096 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
14097
14098 2001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
14099
14100 * final.c (output_addr_const): Use target opening and
14101 closing parentheses.
14102 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
14103 defaults, add to TARGET_ASM_OUT.
14104 * target.h (struct gcc_target): Add open_paren and close_paren.
14105 * doc/md.texi: Update.
14106 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
14107 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
14108 TARGET_ASM_CLOSE_PAREN.
14109 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14110 Override.
14111 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
14112 Override.
14113 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
14114 * config/a29k/a29k.h: Similarly.
14115 * config/alpha/alpha.h: Similarly.
14116 * config/arc/arc.h: Similarly.
14117 * config/arm/aof.h: Similarly.
14118 * config/arm/aout.h: Similarly.
14119 * config/avr/avr.h: Similarly.
14120 * config/c4x/c4x.h: Similarly.
14121 * config/clipper/clipper.h: Similarly.
14122 * config/convex/convex.h: Similarly.
14123 * config/d30v/d30v.h: Similarly.
14124 * config/dsp16xx/dsp16xx.h: Similarly.
14125 * config/elxsi/elxsi.h: Similarly.
14126 * config/fr30/fr30.h: Similarly.
14127 * config/h8300/h8300.h: Similarly.
14128 * config/i370/i370.h: Similarly.
14129 * config/i386/i386.h: Similarly.
14130 * config/i860/i860.h: Similarly.
14131 * config/i960/i960.h: Similarly.
14132 * config/ia64/ia64.h: Similarly.
14133 * config/m32r/m32r.h: Similarly.
14134 * config/m68hc11/m68hc11.h: Similarly.
14135 * config/m68k/m68k.h: Similarly.
14136 * config/m88k/m88k.h: Similarly.
14137 * config/mcore/mcore.h: Similarly.
14138 * config/mips/mips.h: Similarly.
14139 * config/mn10200/mn10200.h: Similarly.
14140 * config/mn10300/mn10300.h: Similarly.
14141 * config/ns32k/ns32k.h: Similarly.
14142 * config/pa/pa.h: Similarly.
14143 * config/pdp11/pdp11.h: Similarly.
14144 * config/pj/pj.h: Similarly.
14145 * config/romp/romp.h: Similarly.
14146 * config/rs6000/rs6000.h: Similarly.
14147 * config/sh/sh.h: Similarly.
14148 * config/sparc/sparc.h: Similarly.
14149 * config/v850/v850.h: Similarly.
14150 * config/vax/vax.h: Similarly.
14151 * config/we32k/we32k.h: Similarly.
14152
14153 2001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
14154
14155 * doc/c-tree.texi: Document representation of attributes.
14156
14157 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
14158
14159 * doc/tm.texi: Update some places for the rename of target to
14160 targetm. Fix typo.
14161
14162 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
14163
14164 * target.h (struct gcc_target): Add insert_attributes.
14165 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
14166 (TARGET_INITIALIZER): Update.
14167 * tree.c, tree.h (default_insert_attributes): New function.
14168 Update comments on other default functions to refer to targetm,
14169 not target.
14170 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
14171 TARGET_INSERT_ATTRIBUTES.
14172 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
14173 * c-common.c (decl_attributes): Use targetm.insert_attributes.
14174 Don't use PRAGMA_INSERT_ATTRIBUTES.
14175 * Makefile.in (c-common.o): Depend on $(TARGET_H).
14176 * c-decl.c (start_decl, start_function): Don't call
14177 SET_DEFAULT_DECL_ATTRIBUTES.
14178 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14179 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
14180 declare.
14181 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
14182 (c4x_check_attribute): Avoid modifying attribute list itself.
14183 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
14184 Make static.
14185 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
14186 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
14187 declare.
14188 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
14189 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
14190 Make static.
14191 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
14192 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
14193 declare.
14194 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
14195 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
14196 Adjust parameters. Make static.
14197
14198 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
14199
14200 * c-common.c (decl_attributes): Only take a single attributes
14201 parameter.
14202 * c-common.h (decl_attributes): Update prototype.
14203 * c-decl.c (start_decl, start_function): Only take a single
14204 attributes parameter. Update calls to decl_attributes.
14205 (finish_struct, finish_enum): Update calls to decl_attributes.
14206 (push_parm_decl): Expect unified list of attributes. Update call
14207 to decl_attributes.
14208 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
14209 notype_nested_function, component_declarator,
14210 component_notype_declarator, label): Update calls to
14211 decl_attributes.
14212 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
14213 lists that are passed to push_parm_decl.
14214 * c-tree.h (start_function, start_decl): Update prototypes.
14215 * config/sh/sh-protos.h, config/sh/sh.c
14216 (sh_pragma_insert_attributes): Only take a single attributes
14217 parameter.
14218 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
14219 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
14220 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
14221 build_module_descriptor, generate_static_references,
14222 generate_strings, build_selector_translation_table,
14223 generate_descriptor_table, generate_protocols,
14224 generate_ivars_list, generate_dispatch_table,
14225 generate_protocol_list, generate_category,
14226 generate_shared_structures, really_start_method, add_objc_decls,
14227 generate_classref_translation_entry): Update calls to start_decl
14228 and start_function.
14229 (build_tmp_function_decl, start_method_def): Unify attribute lists
14230 that are passed to push_parm_decl.
14231
14232 2001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
14233
14234 * final.c (no_asm_to_stream): New.
14235 (final_scan_insn): Use target structures for prologue ends
14236 and epilogue starts.
14237 * output.h (no_asm_to_stream): New.
14238 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
14239 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
14240 (TARGET_ASM_OUT): Update.
14241 * target.h (struct gcc_target): New members function_end_prologue
14242 and function_begin_epilogue.
14243 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
14244 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
14245 * config/alpha/alpha.c (output_end_prologue): Rename to
14246 alpha_output_function_end_prologue. Use in target struct
14247 and make static.
14248 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
14249 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
14250 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
14251 ia64_output_function_end_prologue. Use in target struct
14252 and make static.
14253 (ia64_function_prologue, ia64_funciton_epilogue): Rename
14254 mistyped prototypes.
14255 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
14256 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
14257 Delete.
14258 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
14259 an use in target struct, make static.
14260 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
14261 Delete.
14262
14263 2001-07-08 Richard Henderson <rth@redhat.com>
14264
14265 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
14266
14267 2001-07-08 Richard Henderson <rth@redhat.com>
14268
14269 * config/i386/i386.md: Remove constraints strings from define_split
14270 and define_peephole2 patterns.
14271 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
14272 (eh_return): Use them.
14273
14274 2001-07-08 Richard Henderson <rth@redhat.com>
14275
14276 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
14277 Document MD_FALLBACK_FRAME_STATE_FOR.
14278
14279 2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14280
14281 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
14282 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
14283 elimination.
14284 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
14285
14286 2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
14287
14288 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
14289 of the label inside NAME as opposed to just the end of NAME.
14290
14291 2001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
14292
14293 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
14294 * config/alpha/alpha.c (alpha_init_machine_status,
14295 alpha_mark_machine_status, alpha_free_machine_status): Delete.
14296 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
14297 (vms_valid_decl_attribute_p): Make static, conditionally compile.
14298 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
14299
14300 2001-07-06 Stan Shebs <shebs@apple.com>
14301
14302 * target.h (targetm): Rename global from "target", so as not to
14303 conflict with local variables.
14304 * c-decl.c: Ditto.
14305 * c-typeck.c: Ditto.
14306 * final.c: Ditto.
14307 * tree.c: Ditto.
14308 * cp/decl.c: Ditto.
14309 * cp/decl2.c: Ditto.
14310 * cp/typeck.c: Ditto.
14311 * 1750a/1750a.c: Ditto.
14312 * a29k/a29k.c: Ditto.
14313 * arc/arc.c: Ditto.
14314 * arm/arm.c: Ditto.
14315 * avr/avr.c: Ditto.
14316 * clipper/clipper.c: Ditto.
14317 * convex/convex.c: Ditto.
14318 * d30v/d30v.c: Ditto.
14319 * dsp16xx/dsp16xx.c: Ditto.
14320 * elxsi/elxsi.c: Ditto.
14321 * fr30/fr30.c: Ditto.
14322 * h8300/h8300.c: Ditto.
14323 * i370/i370.c: Ditto.
14324 * i386/i386.c: Ditto.
14325 * i860/i860.c: Ditto.
14326 * i960/i960.c: Ditto.
14327 * ia64/ia64.c: Ditto.
14328 * m32r/m32r.c: Ditto.
14329 * m68hc11/m68hc11.c: Ditto.
14330 * m68k/m68k.c: Ditto.
14331 * m88k/m88k.c: Ditto.
14332 * mips/mips.c: Ditto.
14333 * ns32k/ns32k.c: Ditto.
14334 * pa/pa.c: Ditto.
14335 * pdp11/pdp11.c: Ditto.
14336 * romp/romp.c: Ditto.
14337 * rs6000/rs6000.c: Ditto.
14338 * sh/sh.c: Ditto.
14339 * sparc/sparc.c: Ditto.
14340 * vax/vax.c: Ditto.
14341 * we32k/we32k.c: Ditto.
14342 * doc/tm.texi: Update the manual to match.
14343
14344 2001-07-06 Richard Henderson <rth@redhat.com>
14345
14346 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
14347 DWARF2_UNWIND_INFO not just whether it is defined.
14348
14349 2001-07-06 Diego Novillo <dnovillo@redhat.com>
14350
14351 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
14352 call to simplify_binary_operation returns a new pattern.
14353
14354 2001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
14355
14356 * glimits.h (__SHRT_MAX__): New.
14357 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
14358 (SHRT_MAX): Define in terms of __SHRT_MAX__.
14359
14360 2001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
14361
14362 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
14363 avoid warnings.
14364
14365 2001-07-06 Richard Henderson <rth@redhat.com>
14366
14367 * bitmap.c (bitmap_release_memory): Move adjacent to the
14368 allocation functions.
14369 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
14370 the implementation. Binary search for the set bit.
14371 (bitmap_union_of_diff): Allocate the temporary on the stack
14372 instead of using xmalloc.
14373
14374 2001-07-06 Richard Henderson <rth@redhat.com>
14375
14376 * genrecog.c (validate_pattern): Warn for constraints in
14377 define_{expand,split,peephole2}. Remove strict_low_part
14378 before looking up match_dup.
14379
14380 2001-07-06 DJ Delorie <dj@redhat.com>
14381
14382 * doc/gcc.texi (Makefile): Rename to be a more general purpose
14383 chapter about various build hints and history. Add section
14384 talking about the various types of native and cross builds.
14385
14386 2001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
14387
14388 * Makefile.in (final.o): Depend on target.h.
14389 * final.c: Include target.h.
14390 (default_function_pro_epilogue): New.
14391 (final_start_function): Use target structure for function prologues.
14392 (final_end_function): Use target structure for function epilogues.
14393 * fold-const.c (real_hex_to_f): Constify s and p.
14394 * output.h (default_function_pro_epilogue): New.
14395 * real.h (real_hex_to_f): Update prototype.
14396 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
14397 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
14398 (TARGET_INITIALIZER): Update.
14399 * target.h (gcc_target): Add struct asm_out.
14400 * doc/tm.texi: Update.
14401
14402 config:
14403 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
14404 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
14405 in cpu/cpu.c, or rename old functions consistently. Take
14406 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
14407 redundant macros and prototypes. Make new functions static.
14408
14409 * 1750a/1750a.c: Similarly.
14410 * 1750a/1750a.h: Similarly.
14411 * a29k/a29k-protos.h: Similarly.
14412 * a29k/a29k.c: Similarly.
14413 * a29k/a29k.h: Similarly.
14414 * arc/arc-protos.h: Similarly.
14415 * arc/arc.c: Similarly.
14416 * arc/arc.h: Similarly.
14417 * arm/arm-protos.h: Similarly.
14418 * arm/arm.c: Similarly.
14419 * arm/arm.h: Similarly.
14420 * avr/avr-protos.h: Similarly.
14421 * avr/avr.c: Similarly.
14422 * avr/avr.h: Similarly.
14423 * clipper/clipper-protos.h: Similarly.
14424 * clipper/clipper.c: Similarly.
14425 * clipper/clipper.h: Similarly.
14426 * convex/convex.c: Similarly.
14427 * convex/convex.h: Similarly.
14428 * d30v/d30v-protos.h: Similarly.
14429 * d30v/d30v.c: Similarly.
14430 * d30v/d30v.h: Similarly.
14431 * d30v/d30v.md: Similarly.
14432 * dsp16xx/dsp16xx-protos.h: Similarly.
14433 * dsp16xx/dsp16xx.c: Similarly.
14434 * dsp16xx/dsp16xx.h: Similarly.
14435 * elxsi/elxsi.c: Similarly.
14436 * elxsi/elxsi.h: Similarly.
14437 * fr30/fr30.c: Similarly.
14438 * fr30/fr30.md: Similarly.
14439 * h8300/h8300-protos.h: Similarly.
14440 * h8300/h8300.c: Similarly.
14441 * h8300/h8300.h: Similarly.
14442 * i370/i370-protos.h: Similarly.
14443 * i370/i370.c: Similarly.
14444 * i370/i370.h: Similarly.
14445 * i386/i386.c: Similarly.
14446 * i386/osf1elf.h: Similarly.
14447 * i386/osfrose.h: Similarly.
14448 * i860/i860-protos.h: Similarly.
14449 * i860/i860.c: Similarly.
14450 * i860/i860.h: Similarly.
14451 * i960/i960-protos.h: Similarly.
14452 * i960/i960.c: Similarly.
14453 * i960/i960.h: Similarly.
14454 * ia64/ia64-protos.h: Similarly.
14455 * ia64/ia64.c: Similarly.
14456 * ia64/ia64.h: Similarly.
14457 * m32r/m32r-protos.h: Similarly.
14458 * m32r/m32r.c: Similarly.
14459 * m32r/m32r.h: Similarly.
14460 * m68hc11/m68hc11-protos.h: Similarly.
14461 * m68hc11/m68hc11.c: Similarly.
14462 * m68hc11/m68hc11.h: Similarly.
14463 * m68k/crds.h: Similarly.
14464 * m68k/dpx2.h: Similarly.
14465 * m68k/m68k-protos.h: Similarly.
14466 * m68k/m68k.c: Similarly.
14467 * m68k/m68k.h: Similarly.
14468 * m68k/news.h: Similarly.
14469 * m88k/m88k-protos.h: Similarly.
14470 * m88k/m88k.c: Similarly.
14471 * m88k/m88k.h: Similarly.
14472 * mips/mips-protos.h: Similarly.
14473 * mips/mips.c: Similarly.
14474 * mips/mips.h: Similarly.
14475 * ns32k/merlin.h: Similarly.
14476 * ns32k/ns32k.c: Similarly.
14477 * ns32k/ns32k.h: Similarly.
14478 * ns32k/tek6000.h: Similarly.
14479 * pa/pa-protos.h: Similarly.
14480 * pa/pa.c: Similarly.
14481 * pa/pa.h: Similarly.
14482 * pdp11/2bsd.h: Similarly.
14483 * pdp11/pdp11-protos.h: Similarly.
14484 * pdp11/pdp11.c: Similarly.
14485 * pdp11/pdp11.h: Similarly.
14486 * romp/romp-protos.h: Similarly.
14487 * romp/romp.c: Similarly.
14488 * romp/romp.h: Similarly.
14489 * rs6000/rs6000-protos.h: Similarly.
14490 * rs6000/rs6000.c: Similarly.
14491 * rs6000/rs6000.h: Similarly.
14492 * rs6000/sysv4.h: Similarly.
14493 * sh/sh-protos.h: Similarly.
14494 * sh/sh.c: Similarly.
14495 * sh/sh.h: Similarly.
14496 * sparc/sparc-protos.h: Similarly.
14497 * sparc/sparc.c: Similarly.
14498 * sparc/sparc.h: Similarly.
14499 * vax/vax.c: Similarly.
14500 * vax/vax.h: Similarly.
14501 * vax/vms.h: Similarly.
14502 * we32k/we32k.c: Similarly.
14503 * we32k/we32k.h: Similarly.
14504
14505 Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
14506
14507 * basic-block.h (first_insn_after_basic_block_note): Declare.
14508 * flow.c (first_insn_after_basic_block_note): Define. Moved
14509 from...
14510 * ssa.c (first_insn_after_basic_block_note): Remove.
14511 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
14512 necessary.
14513 (ssa_eliminate_dead_code): Properly update the CFG and PHI
14514 nodes when we find a dead conditional branch. Insert BARRIERs
14515 after any blocks with no successors, but which do not have
14516 any BARRIERs.
14517
14518 2001-07-06 Zack Weinberg <zackw@stanford.edu>
14519
14520 * varray.c (varray_check_failed): Use internal_error.
14521
14522 2001-07-05 Andrew Haley <aph@redhat.com>
14523
14524 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
14525 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
14526 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
14527
14528 2001-07-02 Jason Merrill <jason_merrill@redhat.com>
14529
14530 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
14531 reference if the target constant is also a SYMBOL_REF.
14532
14533 2001-07-05 Eric Christopher <echristo@redhat.com>
14534
14535 * config/mips/mips.h (MASK_MIPS3900): Remove.
14536 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
14537 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
14538 (TARGET_MIPS3900): Change to use mips_arch.
14539 (TARGET_MIPS4000): New.
14540 (TARGET_MIPS4100): New.
14541 (TARGET_MIPS4300): New.
14542 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
14543 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
14544 for -mipsX.
14545 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
14546 (ISA_HAS_BRANCHLIKELY): To here.
14547 (CC1_CPU_SPEC): New.
14548 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
14549 (mips_arch_string): Declare.
14550 (mips_arch): Declare.
14551 (TARGET_OPTIONS): Add -march and -mtune.
14552
14553 * config/mips/mips.c (mips_arch_string): New.
14554 (mips_arch): New.
14555 (override_options): Handle -march for codegen and -mtune
14556 for scheduling. Use mips_arch. Move tx39 target default here.
14557 (mips_parse_cpu): Move error message to override_options.
14558
14559 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
14560
14561 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
14562
14563 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
14564 (MIPS Options): Ditto. Change mcpu entry to historical text.
14565
14566 2001-07-05 H.J. Lu (hjl@gnu.org)
14567
14568 * config/mips/mips.c (mips_parse_cpu): New function to parse
14569 -march=*/-mcpu=*.
14570
14571 2001-07-05 Jim Wilson <wilson@redhat.com>
14572
14573 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
14574 * config/ia64/t-ia64: Likewise.
14575 (LIB1ASMFUNCS): Update comment.
14576
14577 2001-07-05 David Edelsohn <edelsohn@gnu.org>
14578
14579 * doc/install.texi (Install GCC: Binaries): Fix typo.
14580
14581 2001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14582
14583 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
14584 reference using the stack pointer, adjust it since we push Y
14585 temporarily.
14586 ("*ashrsi3"): Likewise.
14587 ("*lshrsi3"): Likewise.
14588
14589 2001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14590
14591 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
14592 when -fomit-frame-pointer is used.
14593
14594 2001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
14595
14596 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
14597 (try_redirect_by_replacing_jump): Reverse updating properly the
14598 count and frequency information. Reverse removing cc0 setter.
14599 (forwarder_block_p): Reverse fixing for fallthru blocks.
14600
14601 2001-07-05 DJ Delorie <dj@redhat.com>
14602
14603 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
14604 (translate_options): If the above is defined, use it to map
14605 given options to new options.
14606 * doc/tm.texi: Document it.
14607
14608 2001-07-05 Brad Lucier <lucier@math.purdue.edu>
14609 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14610
14611 * doc/invoke.texi (Optimize Options): Document that -fgcse may
14612 cause programs using computed gotos to run more slowly.
14613
14614 2001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14615
14616 * doc/install.texi (Specific): Markup, spelling and typo fixes.
14617 Fixed sorting.
14618 Consistently require binutils 2.11.2, not prereleases.
14619 (Specific, decstation-*): Canonicalize as mips-dec-*.
14620 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
14621 always necessary.
14622 (Specific, m68k-altos): Removed reference to README.altos, deleted.
14623 (Specific, mips-*): Reword MIPS C compiler requirements.
14624 (Specific, powerpc*-*-*): New, mention --with-cpu once.
14625 (Specific, sunv5): Removed, obsolete.
14626
14627 2001-07-05 Nathan Sidwell <nathan@codesourcery.com>
14628
14629 * dwarf2out.c (output_loc_list): Use an all ones mask for
14630 .text asm output and don't rely on long long
14631 literals. Reformat some long lines.
14632
14633 2001-07-05 Andreas Jaeger <aj@suse.de>
14634
14635 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
14636 section.
14637
14638 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
14639
14640 * dwarf2out.c (dwarf2out_define): Update comment.
14641 (dwarf2out_undef): Ditto.
14642 (dwarf2out_start_source_file): Ditto.
14643 (dwarf2out_end_source_file): Ditto.
14644 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
14645 since we never call the start/end debug hook for the primary file.
14646
14647 2001-07-04 Kazu Hirata <kazu@hxi.com>
14648
14649 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
14650 from shll.
14651
14652 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
14653
14654 * cppinit.c (remove_dup_dirs): Inform if a system include
14655 directory is being reordered.
14656 * doc/invoke.texi (Directory Options): GCC warns if you hide a
14657 system include.
14658 * doc/cpp.texi (Search Paths): Likewise.
14659 * doc/gcc.texi (Interoperation): Remove information about
14660 -I/usr/include.
14661
14662 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
14663
14664 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
14665 (VARRAY_TOP_CHAR_PTR): Likewise.
14666
14667 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14668
14669 * gcc.c (process_command): Don't assign elements of a const char*.
14670
14671 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14672
14673 * emit-rtl.c (change_address): Don't abort if invalid address while
14674 reload is in progress.
14675
14676 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
14677
14678 * c-lex.c (cb_file_change): Pass line number to
14679 debug_start_source_file.
14680 (cb_undefine): Pass correct line number to debug_undef.
14681
14682 * toplev.c (debug_start_source_file): Add line number to
14683 parameters. Pass it along to dwarf2out_start_source_file.
14684 (decode_g_option): Stop resetting debug level back to normal when
14685 we change debug formats, unless the current level is
14686 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
14687 3).
14688
14689 * toplev.h (debug_start_source_file): Add line number to
14690 parameters.
14691
14692 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
14693 parameters.
14694
14695 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
14696 parameters.
14697 Output debug_macinfo data for starting file if requested.
14698 (dwarf2out_end_source_file): Output debug_macinfo data for ending
14699 file if requested.
14700 (dwarf2out_define): Output debug_macinfo data for defining a macro
14701 if requested.
14702 (dwarf2out_undef): Output debug_macinfo data for undefining a
14703 macro if requested.
14704 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
14705 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
14706 (macinfo_section_label): New. DWARF2 macro info section label.
14707 (dwarf2out_init): If we want macro info, output the start label
14708 for the section.
14709 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
14710 attribute to the compilation unit die pointing to the macro info.
14711
14712 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
14713
14714 * dwarf2out.c (new_loc_list): Move to inside #ifdef
14715 DWARF2_DEBUGGING_INFO.
14716 (add_loc_descr_to_loc_list): Ditto.
14717 (output_loc_list): Ditto.
14718 Also, fix thinko in curr not being initialized.
14719 (gen_internal_sym): Ditto.
14720
14721 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14722
14723 * emit-rtl.c (replace_equiv_address): New function.
14724 * expr.h (replace_equiv_address): New declaration.
14725 * explow.c (validize_mem): Call it instead of change_address and
14726 also call if -fforce-addr and address is constant.
14727 * expr.c: Replace more calls to change_address with adjust_address
14728 and/or replace_equiv_address or to validize_mem.
14729 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
14730 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
14731 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14732 * config/i370/i370.md, config/i860/i860.md: Likewise.
14733 * config/i960/i960.md, config/mips/mips.c: Likewise.
14734 * config/mips/mips.md, config/pa/pa.md: Likewise.
14735 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
14736 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
14737
14738 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
14739
14740 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
14741
14742 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
14743 function.
14744
14745 2001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
14746
14747 * doc/include: New directory.
14748 * doc/fdl.texi: Move to doc/include/fdl.texi.
14749 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
14750 * doc/include/funding.texi, doc/include/gpl.texi: New files.
14751 * doc/gcc.texi: Use funding.texi and gpl.texi.
14752 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
14753 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
14754 Update dependencies and use -I $(docdir)/include.
14755
14756 2001-07-04 Anthony Green <green@redhat.com>
14757
14758 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
14759
14760 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14761
14762 * doc/install.texi (sparc64-*-*): Remove garbage.
14763
14764 Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
14765
14766 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
14767 Fix typo in last change to use adjust_address.
14768
14769 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14770
14771 * doc/install.texi (Specific): Update information for *-*-solaris*.
14772
14773 Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14774
14775 * explow.c (plus_constant_wide): Reinitialize Y for restart.
14776
14777 2001-07-03 Stan Shebs <shebs@apple.com>
14778
14779 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
14780 case for flag_no_mach_text_sections.
14781 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
14782 * config/darwin.c (flag_no_mach_text_sections): Remove.
14783 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
14784
14785 Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14786
14787 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
14788 and avoid checking for constant as first operand.
14789 * recog.c (find_constant_term_loc): No longer static.
14790 (adj_offettable_operand): Delete.
14791 * rtl.h (adj_offsettable_operand): Delete declaration.
14792 (find_constant_term): Add declaration.
14793 * caller-save.c: Replace calls to adj_offsettable_operand with calls
14794 to adjust_address.
14795 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
14796 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
14797 * config/i386/i386.c, config/i386/i386.md: Likewise.
14798 * config/i860/i860.c, config/i960/i960.c: Likewise.
14799 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
14800 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
14801 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
14802 * config/mips/mips.c, config/mips/mips.md: Likewise.
14803 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
14804 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
14805 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
14806 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
14807 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
14808 * config/ns32k/ns32k.md: Likewise.
14809
14810 2001-07-03 Zack Weinberg <zackw@stanford.edu>
14811
14812 * rtl.c (copy_rtx): Handle 'T' format letter.
14813 * gensupport.c (collect_insn_data): Likewise.
14814 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
14815
14816 2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
14817
14818 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
14819 -B option. Use 'dir' not 'foo' as example directory name.
14820
14821 2001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14822
14823 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14824 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
14825
14826 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
14827
14828 * doc/cppinternals.texi: Improve formatting and logical markup.
14829
14830 2001-07-03 Andreas Jaeger <aj@suse.de>
14831
14832 * Makefile.in (insn-recog.o): Add dependency on reload.h.
14833
14834 * genrecog.c (write_header): Include reload.h for prototypes in
14835 insn-recog.c.
14836
14837 2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
14838
14839 config:
14840 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
14841 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
14842 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
14843 i386_pe_valid_type_attribute_p): Add.
14844 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
14845 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
14846
14847 Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14848
14849 * explow.c (plus_constant_wide, case LO_SUM): New case.
14850 (plus_constant_for_output_wide): Delete.
14851 * rtl.h (plus_constant_for_output): Delete.
14852 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
14853 instead of plus_constant_for_output.
14854 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
14855 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
14856 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
14857 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
14858 * config/sparc/sparc.md: Likewise.
14859 Convert some change_address calls to adjust_address.
14860
14861 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
14862
14863 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
14864 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
14865 documentation of -std and -Wwrite-strings.
14866
14867 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
14868
14869 * cse.c (canon_hash): Don't register registers in very small
14870 register classes, as extending their lifetime might cause
14871 reload to fail.
14872
14873 Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14874
14875 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
14876
14877 * flow.c (forwarder_block_p): Fix for fallthru blocks.
14878 (try_redirect_by_replacing_jump): Update properly the count
14879 and frequency information.
14880
14881 Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
14882
14883 * toplev.c (dump_file_index): Move SSA dumps just after first
14884 jump dump.
14885 (dump_file): Corresponding changes.
14886 (rest_of_compilation): Move SSA path to just after the first
14887 jump pass.
14888 * doc/gcc.texi (Passes): Update due to movement of SSA path.
14889 * doc/invoke.texi: Update dump file #s as they were completely
14890 out of date with reality.
14891
14892 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
14893
14894 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
14895
14896 * expr.c (emit_move_insn_1): Deal with non-default
14897 STACK_PUSH_CODE.
14898
14899 * expr.c (emit_single_push_insn): Fix warning.
14900
14901 2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
14902
14903 * expr.c (emit_move_insn_1): Avoid modifying
14904 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
14905
14906 Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14907
14908 * emit-rtl.c (adjust_address): New function.
14909 * expr.h (adjust_address): Add declaration.
14910 * builtins.c: Replace some calls to change_address with calls to it
14911 or to validize_mem.
14912 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
14913 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
14914 * config/arm/arm.c, config/convex/convex.c: Likewise.
14915 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
14916 * config/i386/i386.c, config/i386/i386.md: Likewise.
14917 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
14918 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
14919 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
14920 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
14921 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
14922
14923 2001-07-02 Jim Wilson <wilson@redhat.com>
14924
14925 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
14926
14927 2001-07-02 Steve Ellcey <sje@cup.hp.com>
14928
14929 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
14930 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
14931
14932 2001-07-02 Zack Weinberg <zackw@stanford.edu>
14933
14934 * cppinit.c (lang_defaults): New table.
14935 (set_lang): Just read from lang_defaults into the live options
14936 structure.
14937
14938 2001-07-02 Zack Weinberg <zackw@stanford.edu>
14939
14940 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
14941 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
14942 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
14943
14944 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14945
14946 * doc/install.texi: Various spelling and markup fixes.
14947 (Installing GCC): Component specific installation instructions are
14948 gone.
14949 Fix reference.
14950 Warn about removing old install dir in the presence of shared libs.
14951 (Configuration): Invoke with options target to match configure
14952 --help.
14953 Consistently refer to gas, gld pathnames.
14954 Invert --enable-multilib documentation.
14955 Remove references to old compiler versions.
14956
14957 Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14958
14959 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
14960
14961 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14962
14963 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
14964 section.
14965 (Specific, mips*-sgi-irix5): Note IDO download.
14966 Reworded MIPS C hints.
14967 Use GNU as instead of GAS.
14968 Markup fixes.
14969 Removed SGI Freeware reference, IRIX 6 only.
14970 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
14971 Note N64 library requirement/workaround.
14972 Update O32 hints.
14973 Complete list of structure passing bug victims.
14974
14975 2001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14976
14977 * doc/install.texi: Remove CVS Id.
14978
14979 2001-07-02 Andreas Jaeger <aj@suse.de>
14980
14981 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
14982 (find_inherently_necessary): Remove unused variable.
14983
14984 2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
14985
14986 * c-common.h (TDI_inlined): New ast dump phase.
14987 (dump_flag_name): New function.
14988 * c-dump.c (dump_files): Add inlined phase.
14989 (dump_flag_name): Define.
14990 * doc/invoke.texi (-fdump-ast-inlined): Document.
14991
14992 Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14993
14994 * stor-layout.c (layout_decl): Revert change to handling of alignment
14995 in packed types.
14996
14997 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14998
14999 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
15000 for FIELD_DECL.
15001
15002 2001-07-01 Geoffrey Keating <geoffk@redhat.com>
15003
15004 * doc/tm.texi (FUNCTION_ARG): Document that the last call
15005 is special.
15006
15007 2001-07-01 Nathan Sidwell <nathan@codesourcery.com>
15008
15009 * tlink.c (recompile_files): Remove COMPILER_PATH and
15010 LIBRARY_PATH from the environment.
15011
15012 2001-07-01 Zack Weinberg <zackw@stanford.edu>
15013
15014 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
15015 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
15016 enumerators.
15017 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
15018
15019 * c-parse.in (OBJC_STRING): Kill.
15020 (objc_string): Decompose to [objc_string] '@' STRING.
15021 (reswords): Take the leading '@' off all the Objective C keywords.
15022 (objc_rid_sans_at): Kill.
15023 (init_reswords): Don't initialize it.
15024 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
15025 (_yylex): Kill reconsider label. Look ahead one token after
15026 an '@'; if we get an identifier, check whether it's an
15027 Objective C @-keyword. If so, return the keyword. Otherwise,
15028 put back the token and return the '@' as a terminal.
15029
15030 * cpplib.c (lex_macro_node): Remove unnecessary check for
15031 leading '@' on identifier. Clarify control flow and commentary.
15032
15033 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15034
15035 * cse.c (new_label_ref): Variable deleted.
15036 (insert): Remove set of new_label_ref.
15037 (check_for_label_ref): New function.
15038 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
15039
15040 See ChangeLog.5 for earlier changes.