OSDN Git Service

Use 'a' operand code for prefetch instruction.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
2
3         * config/arm/arm.md (prefetch): Use 'a' operand code.
4
5 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6
7         * aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
8         subshells.
9         * configure.in: Likewise for perl Pod::Man.
10
11         * configure: Regenerated.
12
13 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14
15         * builtin-attrs.def (__builtin_printf_unlocked,
16         __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
17         Mark with the __printf__ attribute.
18         
19         * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
20         and set the replacement function depending on it.
21         (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
22         Handle BUILT_IN_*_UNLOCKED when optimizing.
23         
24         * builtins.def (DEF_EXT_FALLBACK_BUILTIN,
25         DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
26         Declare the "unlocked" stdio functions.
27         
28         * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
29         Add an `unlocked' parameter and set the replacement function
30         depending on it.
31         (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
32         BUILT_IN_FPRINTF_UNLOCKED.
33
34         * doc/extend.texi (printf_unlocked, fprintf_unlocked,
35         fputs_unlocked): Document.
36
37 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
38
39         * cfgloop.c (flow_loops_find): Use the information of the depth
40         first search order of the CFG correctly when finding natural loops.
41
42 2001-12-20  Richard Henderson  <rth@redhat.com>
43
44         * config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
45
46 2001-12-20  Richard Henderson  <rth@redhat.com>
47
48         * config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
49         * config/alpha/alpha.md (call_osf, call_value_osf): Don't force
50         operand into $27.
51
52 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
53
54         * configure.in (all_headers, all_lib2funcs): Remove.
55         * configure: Regenerate.
56         * Makefile.in (LANG_EXTRA_HEADERS): Remove.
57         (USER_H): Don't include $(LANG_EXTRA_HEADERS).
58         * config/alpha/t-interix (USER_H): Don't include
59         $(LANG_EXTRA_HEADERS).
60         * config/i386/t-interix: Likewise.
61         * config/t-openbsd: Likewise.
62
63 2001-12-20  Andreas Jaeger  <aj@suse.de>
64
65         * libgcc2.c (__bb_exit_func): Remove unused variable.
66         (num_digits): Remove unused function.
67
68 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
69
70         * config/arm/arm.c (arm_output_epilogue): Changed IP restore
71         to use ldmfd instead of ldmea.
72         * config/arm/arm.c (arm_compute_initial_elimination_offset):
73         Modified to reflect behavior of arm_expand_prologue when generating
74         interrupt handlers
75
76 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
77
78         * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
79         function. Compute which of registers r0 through r12 should be
80         saved onto the stack during a function's prologue.
81         (arm_compute_save_reg_mask): Use
82         arm_compute_save_reg0_reg12_mask.
83         (arm_compute_initial_elimination_offset): Use
84         arm_compute_save_reg0_reg12_mask.
85
86         (arm_expand_prologue): Do not mark as save of the IP register
87         for an interrupt handler as being part of the frame creation
88         code.
89
90 2001-12-20  Richard Henderson  <rth@redhat.com>
91
92         * varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
93         to emit floating point values.
94         (assemble_real_1): Remove.
95
96         * 1750a/1750a.c (real_value_to_target_single): New.
97         (real_value_to_target_double): New.
98         * 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
99         (REAL_VALUE_TO_TARGET_SINGLE): New.
100         (REAL_VALUE_TO_TARGET_DOUBLE): New.
101         * 1750a/1750a-protos.h: Update.
102
103         * 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
104         alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
105         avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
106         d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
107         fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
108         i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
109         i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
110         i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
111         m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
112         m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
113         m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
114         m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
115         mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
116         mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
117         ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
118         romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
119         sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
120         vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
121         ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
122         ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
123         associated support routines.
124
125 Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
126
127         * cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
128         if one of block does not contain jump.
129         (outgoing_edge_math): Revert last path; require edges to be noncomplex
130         nonfake to match single exit edge; require conditional jumps to not
131         have side effect.
132
133 2001-12-20  Turly O'Connor  <turly@apple.com>
134
135         * tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
136         "recog_operand" to "recog_data.operand".
137         * rtl.def: Likewise.
138
139 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
140
141         * simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
142         narrower mode than op0, only return the bits in DIV's mode.
143
144 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
145
146         * combine.c (distribute_notes): Avoid adding REG_LABEL notes
147         to JUMP_INSNs with JUMP_LABEL.
148
149 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
150
151         * doc/install.texi: Add documentation for --enable-altivec.
152
153         * config.gcc: Add support for --enable-altivec.
154
155         * config/rs6000/altivec.h: New.
156
157         * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
158         Define.  Fix typo.
159
160         * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
161         unspec_volatile.
162         (generate_set_vrsave): Generate the unspec here instead of calling
163         an .md pattern.
164         (generate_set_vrsave): Use gen_rtvec.
165         (rs6000_emit_prologue): Replace call to gen_get_vrsave with
166         gen_rtx_SET.
167
168         * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
169         for setting special registers.
170         ("*set_vrsave_internal"): Use unspec_volatile.
171         ("set_vrsave"): Remove.
172         ("get_vrsave"): Remove.
173
174         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
175         SPECIAL_REGS.
176
177 2001-12-19  Bruce Korb  <bkorb@gnu.org>
178
179         * gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
180         (strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
181         * gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
182         * gcc/fixinc/base/...: adjust for changes in fixes
183
184 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
185
186         * po/gcc.pot: Regenerate.
187
188         * configure.in (all_diff_excludes, diff_excludes): Remove.
189         * configure: Regenerate.
190         * Makefile.in (LANG_DIFF_EXCLUDES): Remove.
191         * objc/config-lang.in (diff_excludes): Remove.
192
193 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
194
195         * config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
196         the destination register as a parameter to mems_ok_for_ldd_peep.
197         For store peepholes pass NULL_RTX.  Move all volatile checks ...
198         * config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
199         register parameter, check it's not the same as base for an address.
200         * config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
201
202 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
203
204         * config/ia64/ia64.c (ia64_single_set): Return first set for
205         prologue_allocate_stack and epilogue_deallocate_stack instructions.
206
207 2001-12-19  Dale Johannesen  <dalej@apple.com>
208
209          * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
210          redefine in terms of rs6000_legitimize_reload_address().
211          * config/rs6000/rs6000-protos.h: Add this function.
212          * config/rs6000/rs6000.c: Add this function.  Includes
213          handling for Darwin FP constants.
214
215 Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
216
217         * config/pa/t-hpux-shlib: New file.
218         * config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
219         for 32bit hpux10 & hpux11 configurations.
220
221 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
222
223         * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
224         -mno-fpu onto gas unless -mhard-float is specified.
225         (MULTILIB_DEFAULTS): Include msoft-float.
226
227         * config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
228
229         * config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
230         * config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
231
232 Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
233
234         * dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
235         descriptor output.
236
237 2001-12-18  Stan Shebs  <shebs@apple.com>
238
239         * rs6000.h (LOCAL_ALIGNMENT): Fix parens.
240
241 Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
242
243         * emit-rtl.c (widen_memory_access): Only call compare_tree_int
244         on an INTEGER_CST.
245
246 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
247
248         * rs6000.c (rs6000_override_options): Only use DI ops when
249         TARGET_64BIT.  Fix typo.
250
251 Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
252
253         * att.h (ASM_FILE_START): Use asm_dialect.
254         * linux.h (ASM_FILE_START): Likewise.
255         * gas.h (ASM_FILE_START): Likewise.
256         * i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
257         ix86_asm_string, ix86_asm_dialect): New.
258         (override_options): Set asm_dialect.
259         * i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
260         MASK_DEBUG_ADDR): Kill.
261         (MASK_64BIT, MASK_NO_RED_ZONE): renumber.
262         (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
263         (ASSEMBLER_DIALECT): Use asm_dialect.
264         (TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
265         remove debug-addr and debug-arg.
266         (TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
267         (asm_dialect): New enum.
268         (ix86_debug_arg_string, ix86_debug_addr_string,
269         ix86_asm_string, ix86_asm_dialect): Declare.
270         * invoke.texi (-mintel-syntax): Remove.
271         (-masm): Document.
272
273 Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
274
275         * libgcc2.c (__bb_exit_func): Kill -ax dumping code.
276
277 2001-12-18  Jason Merrill  <jason@redhat.com>
278
279         C++ ABI change: destroy value arguments in caller.
280         * calls.c (initialize_argument_information): Pass the address of
281         the TARGET_EXPR temporary rather than storing it into another.
282
283 Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
284
285         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
286         * config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
287
288 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
289
290         * config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
291         * config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
292         * config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
293         (CC1_SPEC): Don't default to -gstabs+ if -m32.
294
295 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
296
297         * elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
298
299 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
300
301         * po/gcc.pot: Regenerate.
302
303 2001-12-18  Kazu Hirata  <kazu@hxi.com>
304
305         * config/h8300/h8300.c: Fix comment typos.
306         * config/h8300/h8300.h: Fix comment formatting.
307
308 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
309
310         * machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
311         mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
312         declaration to NUM_MACHINE_MODES.
313         (mode_size, mode_unit_size): Set array type to unsigned char.
314         (mode_bitsize): Set array type to unsigned short.
315
316         * rtl.c (rtx_length): Set array type to unsigned char.
317         (rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
318         NUM_RTX_CODE.
319         (mode_bitsize): Set array type to unsigned short.
320         (mode_size, mode_unit_size): Set array type to unsigned char.
321         (mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
322         mode_wider_mode, mode_mask_array): Set array size to
323         NUM_MACHINE_MODES.
324
325         * rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
326         size in declaration to NUM_RTX_CODE.
327
328 2001-12-17  Richard Henderson  <rth@redhat.com>
329
330         * config/alpha/alpha.md (unop): Encode RB as $sp.
331
332 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
333
334         * Makefile.in: Update dependencies.
335         * c-lang.c: Remove unnecessary includes.
336         (deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
337         c-objc-common.c.
338         (finish_file): Move body to c_common_finish_file.
339         * c-objc-common.c: Include varray.h and ggc.h.
340         (deferred_fns, start_cdtor, finish_cdtor, defer_fn,
341         expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
342         (c_objc_common_init): Initialize deferred function array.
343         * c-tree.h (c_objc_common_finish_file,
344         static_ctors, static_dtors): New.
345 objc:
346         * Make-lang.in: Update dependencies.
347         * objc/objc-act.c: Don't include varray.h.
348         (defer_fn, deferred_fns): Move to c-objc-common.c.
349         (objc_init): Similarly for initialization of it.
350         (finish_file): Move some to c-objc-common.c, use
351         c_objc_common_finish_file.
352
353 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
354
355         * config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
356
357 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
358
359         * doc/cppinternals.texi: Update.
360
361 Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
362
363         * expmed.c (emit_store_flag): Extract updated comparison code
364         from the return value of compare_from_rtx.
365         * expr.c (do_store_flag): Similarly.
366
367 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
368
369         * caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
370         preference to BASE_REG_CLASS.
371         * recog.c (preprocess_constraints): Ditto.
372         * regclass.c (record_operand_costs, scan_one_insn, regclass,
373         record_reg_classes, record_address_regs): Ditto.
374         * regrename.c (scan_rtx_address, scan_rtx,
375         replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
376         * reload.c (find_reloads, find_reloads_address,
377         find_reloads_address_1): Ditto.
378         * reload1.c (maybe_fix_stack_asms): Ditto.
379         * defaults.h (MODE_BASE_REG_CLASS): Provide default
380         definition.
381         * doc/tm.texi: Document MODE_BASE_REG_CLASS.
382
383         * config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
384
385 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
386
387         * doc/install.texi2html: Use -I $SOURCEDIR.
388
389         Separate user and internals manuals.
390         * Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
391         dependencies.
392         ($(docdir)/gccint.info, gccint.dvi): New targets.
393         (maintainer-clean, install-info, uninstall): Update.
394         * doc/.cvsignore: Add gccint.info*.
395         * doc/include/gcc-common.texi: New file.
396         * doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
397         copyright notice in a macro.  Don't include ISBN unless FSFPRINT
398         is defined.
399         * doc/gccint.texi: New file.
400         * doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
401         doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
402         Update for separate user and internals manuals.
403
404 2001-12-17  Dale Johannesen  <dalej@apple.com>
405
406          * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
407          ASM_CPU_SPEC: Ditto.
408          RTX_COSTS: Fix timing info for 7450 multiply.
409          * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
410          Allow floats to be kept in int regs in movsf_low,
411          movsf_low_st (Darwin only)
412
413 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
414
415         * config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
416         parallel.
417         (is_gpr_return_reg): New.
418         (rs6000_emit_prologue): Call generate_set_vrsave with additional
419         argument.  Save only registers in the mask.  Attach
420         REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
421         rs6000_frame_related when saving VRSAVE.
422         (rs6000_emit_epilogue): Call generate_set_vrsave with additional
423         argument.  Restore only registers in the mask.  Restore altivec
424         registers after we restore CR.
425         (generate_set_vrsave): New parameter epiloguep.  Generate unspec
426         sets instead of clobbers for call saved registers.
427         (altivec_frame_fixup): New.
428
429 2001-12-17  Richard Henderson  <rth@redhat.com>
430
431         * config/sparc/sparc.md (movdi_zero): Remove.
432         (movdi_insn_sp32_v9): New.
433
434 2001-12-17  Richard Henderson  <rth@redhat.com>
435
436         * cfgcleanup.c (outgoing_edges_match): Check for insn match with
437         a single outgoing edge too.
438
439 Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
440
441         * cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
442         edges resulting from computed jump
443
444 Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
445
446         * Makefile.in (cfgcleanup.o): Add cselib.h dependancy.
447         * basic-block.h (CLEANUP_THREADING): New constant.
448         * cfgcleanup.c: Include cselib.h
449         (thread_jump, mark_effect): New functions.
450         (try_forward_edges): Do jump threading when asked for.
451         * jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
452         modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
453         * rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
454         * toplev.c (rest_of_compilation): Do now call thread_jumps; use
455         CLEANUP_THREAD instead.
456
457 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
458
459         * sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
460
461 2001-12-17  Tom Rix  <trix@redhat.com>
462
463         * config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
464         of bytes.
465
466 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
467
468         * target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
469         asm_out.integer): New fields.
470         * target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
471         TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initialisers.
472         (TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
473         the individual initialisers together.
474         (TARGET_ASM_OUT): Add the new initialisers.
475         * output.h (assemble_integer): Return bool.
476         (integer_asm_op): Declare.
477         (default_assemble_integer): Declare.
478         (assemble_aligned_integer): New interface to assemble_integer.
479         * varasm.c (integer_asm_op): New function to select pseudo-op.
480         (default_assemble_integer): Default implementation of asm_out.integer.
481         (assemble_integer): Use the new target hook.  Split objects into
482         words or bytes if the target hook fails.  Return bool.
483         * doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
484         ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
485         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
486         UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
487         Document new target hooks.
488
489         * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
490         * dwarf2asm.c (unaligned_integer_asm_op): Remove.
491         (dw2_assemble_integer): New.
492         (dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
493         dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
494         dw2_asm_output_encoded_addr_rtx): Use it.
495         (dw2_asm_output_nstring): Use assemble_integer for the null terminator.
496         (dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
497         integer_asm_op to get the byte pseudo-op.  Use assemble_integer
498         if it returns NULL.
499         * dwarf2asm.h (dw2_assemble_integer): Declare.
500         * dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
501         default implementation of most macros.
502         (output_unsigned_leb128): Use dw2_asm_output_data.
503         (output_signed_leb128, dwarfout_source_line): Likewise.
504         (output_reg_number): Use dw2_assemble_integer.
505         (generate_macinfo_entry): Separate the type and offset arguments.
506         Use assemble_integer to write the value.
507         (dwarfout_start_source_file): Update generate_macinfo_entry usage.
508         (dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
509         * final.c (output_addr_const): Don't put brackets round a subtracted
510         symbol value or ".".
511         * halfpic.c (half_pic_finish): Use assemble_aligned_integer.
512
513         * config/1750a/1750a.c (assemble_integer_1750a): New,
514         * config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
515         * config/arc/arc.c (arc_assemble_integer): New.
516         * config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
517         * config/arm/arm.c (arm_poke_function_name): Likewise.
518         (arm_assemble_integer): New, extracted from...
519         * config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
520         (ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
521         (ARM_FUNCTION_PROFILER): Likewise.
522         * config/avr/avr-protos.h (asm_output_byte): Remove.
523         (asm_output_char, asm_output_short): Remove.
524         * config/avr/avr.c (avr_assemble_integer): New.
525         (asm_output_byte, asm_output_char, asm_output_short): Remove.
526         * config/clipper/clipper.h (ASM_LONG): Remove.
527         * config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
528         * config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
529         * config/elxsi/elxsi.c (elxsi_assemble_integer): New.
530         * config/i370/i370.c (i370_hlasm_assemble_integer): New.
531         * config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
532         (ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
533         * config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
534         * config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
535         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
536         * config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
537         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
538         * config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
539         ASM_LONG instead of UNALIGNED_INT_ASM_OP.
540         * config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
541         * config/i860/i860.c (i860_output_function_epilogue): Likewise.
542         * config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
543         (ASM_SHORT, ASM_LONG): Undefine.
544         * config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
545         * config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
546         * config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
547         * config/ia64/ia64.c (ia64_assemble_integer): New.
548         * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
549         (ASM_OUTPUT_DWARF_PCREL): Likewise.
550         * config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
551         ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
552         (ASM_SHORT, ASM_LONG): Remove.
553         * config/m68k/m68k.h (INT_OP_GROUP): New macro.
554         (INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
555         macros, the allowed values for INT_OP_GROUP.
556         * config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
557         * config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
558         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
559         * config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
560         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
561         * config/m68k/dpx2.h (ASM_LONG): Undefine.
562         (INT_OP_GROUP): Define to INT_OP_DC.
563         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
564         * config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
565         * config/m68k/lynx.h (ASM_LONG): Undefine.
566         * config/m68k/dpx2g.h (ASM_LONG): Undefine.
567         * config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
568         * config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
569         (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
570         * config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
571         for GAS and INT_OP_NO_DOT otherwise.
572         (ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
573         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
574         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
575         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
576         * config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
577         (INT_OP_GROUP): Define to INT_OP_STANDARD.
578         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
579         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
580         (ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
581         * config/m68k/tower-as.h (ASM_LONG): Remove.
582         (INT_OP_GROUP): Define to INT_OP_NO_DOT.
583         * config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
584         * config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
585         (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
586         * config/mips/iris5.h (TARGET_IRIX5): Define.
587         * config/mips/mips.c (mips_assemble_integer): New.
588         * config/mips/sni-svr4.h (ASM_LONG): Undefine.
589         * config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
590         * config/mmix/mmix.c (mmix_assemble_integer): New.
591         (mmix_asm_output_double_int): Remove.
592         (mmix_print_operand): Call mmix_output_octa directly.
593         * config/mmix/mmix.h (ASM_LONG): Remove.
594         * config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
595         * config/pa/pa.c (pa_assemble_integer): New.
596         (pa_override_options): Only use aligned DI ops on 64-bit targets.
597         Only use the unaligned ops if TARGET_GAS.
598         * config/pdp11/pdp11.c (pdp11_assemble_integer): New.
599         * config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
600         * config/pj/pj.h (ASM_LONG): Undefine.
601         * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
602         * config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
603         extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
604         and in_toc_section() rather than the in_section variable.
605         (rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
606         * config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
607         (RELOCATABLE_NEEDS_FIXUP): Define.
608         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
609         * config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
610         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
611         to get the word directive.
612         (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
613         * config/s390/s390.c (s390_assemble_integer): New.
614         * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
615         integer_asm_op to get the word directive.
616         * config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
617         * config/sparc/sparc-protos.h (output_double_int): Remove.
618         * config/sparc/sparc.c (output_double_int): Move to...
619         (sparc_assemble_integer): ...this new function.
620         (sparc_override_options): Only use .uaxword if TARGET_ARCH64.
621         * config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
622         * config/sparc/sysv4.h (ASM_LONG): Remove.
623         (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
624         ASM_LONG.
625         * config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
626         * config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
627
628         * config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
629         config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
630         config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
631         config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
632         config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
633         config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
634         config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
635         config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
636         config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
637         config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
638         config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
639         config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
640         (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
641         TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
642         TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
643         TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
644         appropriate.
645
646         * config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
647         config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
648         config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
649         config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
650         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
651         config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
652         config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
653         config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
654         config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
655         config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
656         config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
657         config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
658         config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
659         config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
660         config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
661         config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
662         config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
663         config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
664         config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
665         config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
666         config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
667         config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
668         config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
669         ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
670         UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
671         UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
672
673 2001-12-17  Stan Shebs  <shebs@apple.com>
674
675         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
676         (STACK_BOUNDARY): Remove definition.
677         (CPP_PREDEFINES): Define __POWERPC__.
678
679 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
680
681         * doc/c-tree.texi (Trees): Only refer to GCC.
682
683 2001-12-17  Andreas Jaeger  <aj@suse.de>
684
685         * c-common.def: Fix typo in comment.
686
687 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
688
689         * config.gcc (sparc64-*-freebsd*): Add target.
690         * config/sparc/freebsd.h: New file.
691         * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
692         * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
693         * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
694
695 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
696
697         * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
698         PLUS operands into registers for altivec mode.
699
700 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
701
702         * builtins.c (apply_args_size): Change regno to unsigned.
703
704 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
705
706         * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
707         ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
708
709 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
710
711         * c-typeck.c (error_init, pedwarn_init, warning_init): Call
712         gettext on argument before printing.
713
714         * fold-const.c (negate_expr): Always call fold on new
715         NEGATE_EXPR.
716
717 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
718
719         * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
720         a DECL directly.
721         * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
722         (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
723         * c-decl.c (build_compound_literal): Put the decl inside a
724         DECL_STMT.
725         * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
726         Fixes PR c/5105.
727
728 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
729
730         * config.gcc: Add powerpc-*-eabisimaltivec*.
731
732 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
733
734         * c-common.c, c-common.h (back_end_hook): Remove.
735         * c-lang.c (finish_file): Remove back_end_hook.
736
737 Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
738
739         * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
740         last change.
741
742 2001-12-16  Richard Henderson  <rth@redhat.com>
743
744         * toplev.c (parse_options_and_default_flags): Don't enable
745         flag_cprop_registers at -O1.
746
747 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
748
749         * avr.c (avr_simplify_comparision_p, adjust_insn_length,
750         mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
751         * avr.h (reg_class): Likewise.
752         * avr.md: Likewise.
753         * mcore.c (try_constant_tricks, mcore_byte_offset,
754         mcore_halfword_offset): Likewise.
755         * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
756         * v850.c (not_power_of_two_operand): Likewise.
757
758         * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
759         warnings.
760         * convex.h (ASM_OUTPUT_ASCII): Likewise.
761         * i370.h (ASM_OUTPUT_ASCII): Likewise.
762         * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
763         * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
764         * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
765         * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
766         * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
767         * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
768         * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
769         * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
770         * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
771         * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
772         * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
773         * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
774         * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
775         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
776         * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
777         * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
778         * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
779         * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
780         * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
781         * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
782         * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
783         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
784         * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
785         * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
786
787         * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
788         * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
789         * psos.h (CPP_PREDEFINES): Likewise.
790         * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
791         * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
792         ASM_OUTPUT_EXTERNAL): Likewise.
793         * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
794         Likewise.
795         * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
796         * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
797         Likewise.
798         * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
799
800         * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
801         * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
802         * fold-const.c (real_hex_to_f): Use hex_value.
803         * real.c (asctoeg): Use hex_value & ISXDIGIT.
804         * toplev.c (toplev_main): Call hex_init.
805         * tradcpp.c (main): Call hex_init.
806
807         * nextstep-protos.h: New file.
808         * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
809         * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
810         STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
811         (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
812         handle_pragma): Move prototypes to nextstep-protos.h.
813         * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
814         m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
815
816 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
817
818         PR other/3725
819         * configure.in: Add AC_SUBST(target_alias).
820         * configure: Regenerated.
821
822 2001-12-15  Richard Henderson  <rth@redhat.com>
823
824         * config/alpha/alpha.md (sibcall_osf_1_er): New.
825         (sibcall_value_osf_1_er): New.
826
827 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
828
829         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
830         addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
831         addrs; eliminate restriction of only using fp and sp as base
832         registers.
833         * config/sparc/sparc-protos.h: Update.
834         * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
835         (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
836         from old define_peepholes.
837         Convert all the ldd/std peepholes to peephole2.
838
839 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
840
841         * s390.md (prologue, epilogue, *return_si, *return_di): New.
842         s390.c (find_unused_clobbered_reg, s390_frame_info,
843         save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
844         s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
845         s390.c (s390_arg_frame_offset): Use s390_frame_info.
846         (leaf_function_flag, cur_is_leaf_function,
847         save_fprs, restore_fprs, force_const_mem_late): Remove.
848         (s390_function_prologue, s390_function_epilogue): Mostly remove.
849         s390.md (lit): New.  Uses ...
850         s390.c (s390_output_constant_pool): ... this, so adapt and make global.
851         s390-protos.h (s390_output_constant_pool): Declare.
852         s390.md (load_multiple, store_multiple): Allow use after reload.
853         s390.c (load_multiple_operation, store_multiple_operation): Likewise.
854         s390.h (INCOMING_FRAME_SP_OFFSET): Define.
855         s390.h (CALL_REALLY_USED_REGISTERS): Define.
856         config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
857         s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
858         s390.c (s390_sr_alias_set): New global variable, initialized ...
859         (override_options): ... here.  New.
860         s390-protos.h (override_options): Declare.
861         s390.h (OVERRIDE_OPTIONS): Call it.
862         s390.c (s390_function_profiler): New.
863         s390-protos.h (s390_function_profiler): Declare.
864         s390.h (FUNCTION_PROFILER): Call it.
865         s390.c (s390_profile): Remove.
866
867         * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
868         (addr_generation_dependency_p): Consider literal pool register loads.
869         (s390_adjust_priority): Do not schedule load_multiple.
870         s390.md (attribute "type"): Define some additional types.
871         (function_unit "integer"): Adapt.
872         (many insns): Adapt "type" attribute setting.
873
874         * s390.c (general_s_operand, s_imm_operand): New.
875         (s_operand): Remove old definition, call general_s_operand instead.
876         s390-protos.h (s_imm_operand): Declare.
877         s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
878         r_or_x_or_im16_operand, r_or_im8_operand): Remove.
879         s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
880         r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
881         s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
882         s390.md (many insns): Rework insn predicates.
883
884         * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
885         non-symbolic constants.  Reload will force them because of ...
886         (s390_preferred_reload_class): ... this.  New.
887         s390-protos.h (s390_preferred_reload_class): Declare.
888         s390.h (PREFERRED_RELOAD_CLASS): Call it.
889         s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
890         *reload_la_31 splitters): Handle constants after reload.
891         (many insns): no longer force all constants immediately.
892         s390.c (legitimate_reload_constant_p): New helper routine.
893         s390-protos.h (legitimate_reload_constant_p): Declare.
894         s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
895
896         * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
897         HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
898         (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
899         (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
900         (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
901         (DWARF_FRAME_REGISTERS): Define.
902         s390.c (regclass_map): Add virtual frame pointer.
903         (legitimate_la_operand_p): Allow use of virtual frame pointer.
904         s390.md (*la_ccclobber, *addaddr_ccclobber): New.
905         (addaddr, addsi_64): Delete.
906
907         * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
908         floating point registers.
909         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
910         (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
911         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
912
913         * s390.md (movti): Replace multi-insn output with splitters.
914         (movdi_31, movdf_31): Likewise.
915         (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
916         (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
917         (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
918         (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
919         (movsf_64, movsf_31): Remove, replace by ...
920         (movsf): ... this.
921         (movqi_64): Use lhi instead of llill.
922         (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
923
924         * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
925         extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
926         extendqihi2 and associated splitters): Reworked.
927         (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
928         zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
929         zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
930         *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
931         *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
932         zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
933         zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
934         and associated splitters): Likewise.
935         (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
936         and associated splitters): New.
937         (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
938         *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
939         (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
940         s390.h (PROMOTE_PROTOTYPES): Remove.
941         config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
942
943         * s390.md (muldi3): Delete, use instead ...
944         (mulsidi3): ... this.
945         (*muldi3_64): Rename to muldi3.
946         (mulsi_6432): Fix template.
947         (divdi3, moddi3): Delete, replace by ...
948         (divmoddi4): ... this.
949         (divmodtidi3): Fix template.
950         (divmodtisi3): New.
951         (udivdi3, umoddi3): Delete, replace by ...
952         (udivmoddi4): ... this.
953         (udivmodtidi3): Fix template.
954         (divsi3, modsi3): Delete, replace by ...
955         (divmodsi4): ... this.
956         (divmoddisi3): Fix template.
957         (udivsi3, umodsi3): Adapt.
958
959         * s390.md (anddi3): Remove SS alternative, use instead ...
960         (anddi3_ss, anddi3_ss_inv): ... these.
961         (anddi3_ni): New.
962         (andsi3*, andhi3*, andqi3*): Likewise.
963         (iordi3): Remove SS alternative, use instead ...
964         (iordi3_ss, iordi3_ss_inv): ... these.
965         (iordi3_oi): New.
966         (iorsi3*, iorhi3*, iorqi3*): Likewise.
967         (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
968         (xordi3): Remove SS alternative, use instead ...
969         (xordi3_ss, xordi3_ss_inv): ... these.
970         (xordi3_oi): New.
971         (xorsi3*, xorhi3*, xorqi3*): Likewise.
972         (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
973         (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
974         Expand to XOR with -1.
975         (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
976         (cmpdi_tm): Delete, replace by ...
977         (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
978         (cmpsi_cct): Delete, replace by ...
979         (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
980         (cmpdi_tm2, cmpsi_tm2): Improve.
981         (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
982         s390.c (s390_single_hi, s390_extract_hi,
983         s390_single_qi, s390_extract_qi): New helper routines.
984         s390-protos.h (s390_single_hi, s390_extract_hi,
985         s390_single_qi, s390_extract_qi): Declare.
986         s390.c (tmxx_operand, const1_operand): Remove.
987         s390-protos.h (tmxx_operand, const1_operand): Likewise.
988         s390.h (PREDICATE_CODES): Likewise.
989
990         * s390.md (sqrtdf2, sqrtsf2): New.
991
992         * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
993         (check_and_change_labels): Remove section-change special case.
994
995         * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
996         in leaf functions.  Needs ...
997         (DYNAMIC_CHAIN_RTX):  ... this.  New.
998
999         * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
1000
1001         * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
1002         clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
1003         input operands using a match_dup clause.
1004         (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
1005
1006         * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
1007         floatsisf2, floatsisf2_ieee): Add missing CC clobber.
1008
1009         * s390.md (floatsidf2_ibm): Use correct operand.
1010
1011         * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
1012         fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
1013         non-portable constants.
1014         s390.c (s390_gen_rtx_const_DI): New helper routine.
1015         s390-protos.h (s390_gen_rtx_const_DI): Declare.
1016
1017         * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
1018
1019         * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
1020         ASM_OUTPUT_BYTE): Clean up assembly output.
1021         (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
1022         (ASM_OUTPUT_ASCII): Remove.
1023
1024         * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
1025
1026 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
1027
1028         * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
1029         before including unwind-dw2-fde.c, if we are not using the
1030         special code in this file.
1031
1032 2001-12-15  Richard Henderson  <rth@redhat.com>
1033
1034         * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
1035         MASK_EXPLICIT_RELOCS if the assembler supports it.
1036         * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
1037         * configure, config.in: Rebuild.
1038
1039 Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1040
1041         * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
1042         for rounded_stack_size.
1043
1044 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1045
1046         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
1047         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
1048         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
1049         "bit-field" spellings in messages.
1050         * po/gcc.pot: Regenerate.
1051
1052 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
1053
1054         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
1055         American spelling in messages.
1056         * po/gcc.pot: Regenerate.
1057
1058 2001-12-15  Kazu Hirata  <kazu@hxi.com>
1059
1060         * config/h8300/h8300.md: Adjust whitespacing.  Remove
1061         constraints from expanders.  Replace \@ with @.
1062
1063 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
1064
1065         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
1066
1067 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
1068
1069         * regrename.c (copyprop_hardreg_forward): Do not keep register
1070         value data live across abnormal call or eh egdes.
1071
1072 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1073
1074         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
1075         BIGGEST_ALIGNMENT for 0.
1076
1077 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
1078
1079         * predict.def (PRED_NORETURN): Make probabilities match reality.
1080         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
1081         Likewise.
1082
1083 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
1084
1085         * configure.in: Check for ld.
1086         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
1087         * configure, config.in: Rebuilt.
1088         * config.gcc: Add crtbeginT.o to extra_parts where needed.
1089         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
1090         frame unwinding on Linux.
1091         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
1092         frame unwinding.
1093         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1094         (LINK_EH_SPEC): Define.
1095         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
1096         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
1097         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
1098         iterate further if pc falls into current library, but fde was not
1099         found.
1100         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
1101         if using glibc.
1102         (LINK_EH_SPEC): Define.
1103         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
1104         Use crtbeginT.o for -static.
1105         (LINK_EH_SPEC): Define.
1106         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
1107         * Makefile.in (crtbeginT.o): Add rule.
1108         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
1109         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
1110         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
1111         If none of the above switches are passed, use -lgcc -lgcc_eh.
1112         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
1113         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
1114         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
1115         * unwind-dw2-fde.c: Don't include any headers if this file
1116         is included from other .c file.
1117         * unwind-dw2-fde-glibc.c: New file.
1118         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
1119         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
1120
1121 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1122
1123         * builtins.c (expand_builtin_memcmp): Mark parameter with
1124         ATTRIBUTE_UNUSED.
1125         * cfgcleanup.c (insns_match_p): Likewise.
1126         * regrename.c (mode_change_ok): Likewise.
1127         * gcc.c (execute): Const-ify.
1128
1129 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
1130
1131         * c-parse.in (typename): Do not split attributes.
1132         Remove unsupported attributes warning.
1133
1134         * c-decl.c (groktypename): Apply attributes.
1135
1136 2001-12-14  Richard Henderson  <rth@redhat.com>
1137
1138         * config/ia64/ia64.c (spill_restore_mem): Mark iterator
1139         initialization as possibly dead.
1140
1141 2001-12-14  Richard Henderson  <rth@redhat.com>
1142
1143         * regrename.c (mode_change_ok): New.
1144         (find_oldest_value_reg): Use it.
1145
1146 2001-12-14  Richard Henderson  <rth@redhat.com>
1147
1148         * regrename.c (struct value_data): Add max_value_regs.
1149         (init_value_data): Initialize it.
1150         (kill_value): Kill values that overlap the dying register.
1151         (set_value_regno): New.
1152         (kill_set_value, kill_autoinc_value, copy_value): Use it.
1153         (copyprop_hardreg_forward_1): Kill earlyclobber operands
1154         before looking at inputs.
1155
1156 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
1157
1158         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
1159         DECL_WEAK for function descriptors.
1160         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
1161         weak support present.
1162         (ASM_WEAKEN_LABEL): Same.
1163
1164 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1165
1166         * config/h8300/h8300.md (anonymous pattern): Add a missing
1167         mode.
1168
1169 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1170
1171         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
1172         comment typo.
1173
1174 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1175
1176         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
1177         Remove the initialization requierment.
1178         (h8300_handle_tiny_data_attribute): Likewise.
1179
1180 2001-12-14  Kazu Hirata  <kazu@hxi.com>
1181
1182         * config/h8300/h8300.md (udivqi3): Remove.
1183         (divqi3): Likewise.
1184         (udivhi3): Likewise.
1185         (divhi3): Likewise.
1186         (umodqi3): Likewise.
1187         (modqi3): Likewise.
1188         (umodhi3): Likewise.
1189         (modhi3): Likewise.
1190         (udivmodqi3): New.
1191         (divmodqi3): Likewise.
1192         (udivmodhi3): Likewise.
1193         (divmodhi3): Likewise.
1194
1195 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
1196
1197         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
1198         by active_insn_p; count conditional jump as instruction.
1199
1200 2001-12-14  DJ Delorie  <dj@redhat.com>
1201             Danny Smith  <dannysmith@users.sourceforge.net>
1202
1203         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
1204         at SYM_NAME[0] or SYM_NAME[3].
1205         (STRIP_NAME_ENCODING): Don't check for leading '*'.
1206
1207 2001-12-14  Ira Ruben   <ira@apple.com>
1208
1209         Add -### option (displays driver-generated commands without
1210         executing and quotes all arguments).
1211         * doc/invoke.texi: Add -###.
1212         * gcc.c (verbose_only_flag) - New flag.
1213         * (execute): If -### write quoted arguments and return.
1214         * (display_help): Print meaning of -###.
1215         * (process_command): Handle -###.
1216
1217 2001-12-14  Ira Ruben   <ira@apple.com>
1218
1219         Fix to no allow -save-temps to clobber user's source file.
1220         * gcc.c: Add static globals input_stat and input_stat_set.
1221         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
1222         set, check that user's input file is not overwritten.
1223         (set_input): Reset input_stat_set for each new file.
1224
1225 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
1226
1227         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
1228
1229 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
1230
1231         * combine.c (record_dead_and_set_regs): Use
1232         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
1233
1234 2001-12-14  Roger Sayle <roger@eyesopen.com>
1235
1236         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
1237         __builtin_fsqrt to __builtin_sqrt.
1238
1239         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
1240         * doc/extend.texi: Simplify documentation to match patch.
1241
1242 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
1243
1244         * config.gcc: Revamp target_cpu_default2 to strings;
1245         support new x86 variants.
1246         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
1247         properly; set prefetch_sse.
1248         * i386.h (x86_prefetch_sse): Declare.
1249         (TARGET_PREFETCH_SSE): New.
1250         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
1251         (TARGET_CPU_DEFAULT_*): New.
1252
1253 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
1254                               Jan Hubicka  <jh@suse.cz>
1255
1256         * config/i386/i386.h (struct processor_costs): Add new members
1257           prefetch_block and simultaneous_prefetches.
1258           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
1259         * config/i386/i386.c (processor_costs structs): Add values for
1260           prefetch_block and simultaneous_prefetches.
1261         * config/i386/i386.md (unspec values): Remove values for prefetch
1262           operations, which now use the PREFETCH rtx code.
1263           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
1264           unified prefetch support.
1265
1266 2001-12-14  Jason Merrill  <jason@redhat.com>
1267
1268         * diagnostic.c (sorry): Increment sorrycount before saving the
1269         buffer state.
1270
1271 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
1272
1273         * i386.md (sqrt?f): Fix conditionals.
1274
1275 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
1276
1277         * config.gcc (alpha64-dec-*vms*): New case.
1278         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
1279         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
1280         * config/alpha/xm-vms64.h: Likewise.
1281
1282         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
1283         (alpha_write_linkage): Test for null alpha_links.
1284         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
1285         (vms_section_type_flags, vms_asm_named_section): Handle them.
1286
1287 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
1288
1289         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
1290         (override_option): Set ix86_fpmath.
1291         * i386.h (MASK_MIX_SSE_I387): Remove.
1292         (TARGET_SSE_MATH): New.
1293         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
1294         (TARGET_SWITCHES): Remove "mix-sse-i387".
1295         (fpmath_unit): New enum.
1296         (ix86_fpmath, ix86_fpmath_string): Declare.
1297         * i386.md (swapsf): Fix condition.
1298         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
1299         (fp_?f_*_nosse): New.
1300         (fp_*): Use TARGET_SSE_MATH.
1301         * invoke.texi (-mfpmath): Document.
1302         (-msse2): Add.
1303
1304 2001-12-14  Jason Merrill  <jason@redhat.com>
1305
1306         * dwarf2out.c (output_die): Print the string in the comment for
1307         a DW_FORM_strp.
1308
1309 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
1310
1311         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
1312         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
1313         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1314         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
1315
1316 2001-12-13  Richard Henderson  <rth@redhat.com>
1317
1318         * regrename.c (kill_value_regno): Simplify chain removal.
1319         (kill_value): Kill all of HARD_REGNO_NREGS.
1320         (kill_set_value): Use kill_value not kill_value_regno.
1321         (kill_autoinc_value): Likewise.
1322         (copyprop_hardreg_forward): Don't collect refresh_blocks.
1323         Call delete_noop_moves.
1324
1325 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1326
1327         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
1328         for the mode attribute.
1329         (handle_mode_attribute): Handle types, not decls.
1330
1331 2001-12-13  Jason Merrill  <jason@redhat.com>
1332
1333         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
1334
1335 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
1336
1337         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
1338         constraint to base register.
1339         (eh_set_lr_si): Same.
1340
1341 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
1342
1343         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
1344         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
1345         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
1346
1347 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1348
1349         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
1350         warning and reformat comments.
1351         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
1352         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
1353         if overflow.
1354
1355 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
1356
1357         * config/rs6000/rs6000.c (rs6000_override_options): Add
1358         SUBSUBTARGET_OVERRIDE_OPTIONS.
1359
1360         * config/rs6000/eabialtivec.h: New file.
1361
1362         * config/rs6000/linuxaltivec.h: New file.
1363
1364         * config.gcc: Add powerpc-*-eabialtivec and
1365         powerpc-*-linux-gnualtivec.
1366
1367 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
1368
1369         * toplev.c (process_options, parse_options_and_default_flags):
1370         Set flag_no_inline before the post_options hook.
1371
1372 2001-12-13  Richard Henderson  <rth@redhat.com>
1373
1374         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
1375         is false.
1376
1377 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1378
1379         * collect2.c (COLLECT_SHARED_INIT_FUNC)
1380         (COLLECT_SHARD_FINI_FUNC): Define default values.
1381         (write_c_file_stat): Use them to call construtor and destructor
1382         functions in shared libraries.
1383         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
1384         (COLLECT_SHARD_FINI_FUNC): Document them.
1385         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
1386         (COLLECT_SHARD_FINI_FUNC): Define.
1387
1388         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
1389         shared library.  Pass -shared through to the linker.
1390         * config/arm/netbsd.h (LINK_SPEC): Likewise.
1391
1392         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
1393         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
1394         (SHLIB_INSTALL): Define.
1395
1396 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
1397
1398         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
1399         the same way as we handle SYMBOL_REFS.
1400
1401 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1402
1403         * loop.c (remove_constant_addition): Fix prototype and whitespace.
1404         (emit_prefetch_instructions): Remove warnings and whitespace
1405         changes.
1406
1407 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
1408
1409         * config/alpha/vms-cc.c (preprocess_args): Fix forward
1410         declaration.
1411
1412 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
1413
1414         * predict.c (estimate_probability): Reorganize opcode heuristics.
1415         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
1416         PRED_FPOPCODE): New.
1417
1418         * i386.c (override_options): Recognize various CPU variants and set
1419         SSE/MMX/3dNOW flags accordingly.
1420         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
1421         MASK_3DNOW_A_SET): New.
1422         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
1423         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
1424         (MASK_*): Renumber.
1425         (TARGET_FLAGS): Use new masks.
1426         (CPP_CPU_SPECS): Recognize new CPU variants.
1427         * invoke.texi (-mcpu): Update documentation.
1428
1429         * flags.h (flag_prefetch_loop_arrays): Declare.
1430         * loop.h (LOOP_PREFETCH): Define new constant.
1431         * loop.c (strength_reduce): Call emit_prefetch_instructions.
1432         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
1433         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
1434         constants.
1435         (check_store_data): New structure.
1436         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
1437         New functions.
1438         * toplev.c: Include insn-flags.h.
1439         (flag_prefetch_loop_arrays): New global variable.
1440         (lang_independent_option): Add -fprefetch-loop-arrays.
1441         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
1442         is set.
1443         * Makefile.in (toplev.c): Depend on insn-flags.h.
1444         * invoke.texi (-fprefetch-loop-arrays): Document.
1445
1446         * predict.c (estimate_probability): Distribute the loop exit
1447         probability according to number of exit edges.
1448
1449         * cfgcleanup.c (insns_match_p): Break out from ...;
1450         (flow_find_cross_jump): ... here;
1451         (outgoing_edges_match): Add parameter MODE; attempt to match everything
1452         except for tablejumps.
1453         (try_crossjump_to_edge): Accept complex edges.
1454         (try_crossjump_bb): Likewise.
1455
1456 2001-11-29  Corey Minyard <minyard@acm.org>
1457
1458         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
1459         instead of plus_constant.
1460         * simplify-rtx.c (neg_const_int): New.
1461         (simplify_gen_binary, simplify_plus_minus): Use it.
1462
1463 2001-12-12  Roger Sayle  <roger@eyesopen.com>
1464
1465         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
1466         expand_builtin_strcpy): Additional arguments TARGET and MODE.
1467         (expand_builtin_bzero, expand_builtin_strcpy,
1468         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
1469         TARGET and MODE parameters to the above functions.
1470         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
1471         case where the LEN parameter is constant zero.
1472         (expand_builtin_memcmp): No longer conditional on
1473         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
1474         the cases where len is either constant zero or one.
1475         Optimize to call to memcpy, even if the memcpy isn't inlined.
1476         (expand_builtin_strncpy): Optimize to call memcpy, even if the
1477         memcpy isn't inlined.
1478         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
1479         to optimize to a call to memcmp.
1480         (expand_builtin): expand_builtin_memcmp can always be called,
1481         and pass the required parameters to expand_builtin_memcmp,
1482         expand_builtin_memset, expand_builtin_memcpy and
1483         expand_builtin_strcpy.
1484
1485 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
1486
1487         * config.gcc (arm-*-freebsd*): Add target.
1488         * config/arm/freebsd.h: New file.
1489         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
1490         (CPP_SPEC): #undef before defining.
1491         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
1492         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
1493         -Amachine=arm.
1494         * config/arm/linux-elf.h: Likewise.
1495         * config/arm/netbsd.h: Likewise.
1496         * config/arm/riscix.h: Likewise.
1497         * config/arm/riscix1-1.h: Likewise.
1498         * config/arm/semiaof.h: Likewise.
1499
1500 2001-12-12  Richard Henderson  <rth@redhat.com>
1501
1502         * regrename.c (copyprop_hardreg_forward): New optimization.
1503         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
1504         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
1505         replace_oldest_value_reg, replace_oldest_value_addr,
1506         replace_oldest_value_mem, copyprop_hardreg_forward_1,
1507         debug_value_data, validate_value_data): New.
1508         * rtl.h (copyprop_hardreg_forward): Declare.
1509         * toplev.c (flag_cprop_registers): New.
1510         (f_options): Add -fcprop-registers
1511         (rest_of_compilation): Invoke it.
1512         (parse_options_and_default_flags): Set it at -O1.
1513         * doc/invoke.texi: Document it.
1514
1515 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1516
1517         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
1518         (DEBUG_RANGES_SECTION_LABEL): Define.
1519         (ranges_section_label): Add.
1520         (add_AT_range_list): New.
1521         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
1522         (output_loc_list): Location expression length is always 2-byte.
1523         (output_die): Handle dw_val_class_range_list.
1524         (gen_lexical_block_die): Call add_AT_range_list.
1525         (dwarf2out_init): Initialize ranges_section_label.
1526         (dwarf2out_finish): Emit ranges_section_label.
1527
1528 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
1529
1530         * c-typeck.c (digest_init): Allow initializing
1531         static storage duration objects with compound literals.
1532         * doc/extend.texi (Compound literals): Document the extension.
1533
1534 2001-12-12  Richard Henderson  <rth@redhat.com>
1535
1536         * emit-rtl.c (adjust_address_1): Always copy address to avoid
1537         shared rtl.
1538
1539 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
1540
1541         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
1542         to avoid overflow.
1543
1544 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1545
1546         * cppfiles.c (read_include_file): Set buffer size properly when
1547         file is shorter than expected.
1548
1549 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
1550
1551         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
1552         enumeral types - encode them using 'i'.
1553
1554 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
1555
1556         * doc/extend.texi (Deprecated Features): Deprecate implicit
1557         typename. Document that named return and initializer lists are now
1558         removed.
1559
1560 2001-12-11  Roger Sayle <roger@eyesopen.com>
1561
1562         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
1563         compiler warning about enumeration values not being handled.
1564
1565 2001-12-11  Momchil Velikov  <velco@fadata.bg>
1566
1567         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
1568         shifts.
1569
1570 2001-12-11  Richard Henderson  <rth@redhat.com>
1571
1572         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
1573         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
1574         * config/alpha/alpha.md (prefetch): New.
1575
1576 2001-12-11  Richard Henderson  <rth@redhat.com>
1577
1578         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
1579         if C has only low bits set and doesn't intersect with X or Y.
1580
1581 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
1582
1583         * basic-block.h (flow_preorder_transversal_compute): Declare.
1584         * cfganal.c (flow_preorder_transversal_compute): Implement.
1585
1586 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
1587
1588         * cfganal.c (flow_depth_first_order_compute): Always
1589         increment dfsnum.
1590
1591 2001-11-30 Alan Matsuoka <alanm@redhat.com>
1592
1593         * combine.c (combine_simplify_rtx) : Can't simplify
1594         cases that use mode class MODE_CC.
1595
1596 2001-12-11  Richard Henderson  <rth@redhat.com>
1597
1598         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
1599         which there is no divide expander.
1600
1601 2001-12-11  Richard Henderson  <rth@redhat.com>
1602
1603         * except.c (sjlj_find_directly_reachable_regions): Don't
1604         consider RNL_BLOCKED a directly reachable region.
1605         (sjlj_assign_call_site_values): Trust directly_reachable.
1606         (sjlj_emit_dispatch_table): Likewise.
1607
1608 2001-12-11  Richard Henderson  <rth@redhat.com>
1609
1610         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
1611         we represent the address load's dependency on the gp.
1612         (divmoddi_internal_er): Likewise.
1613         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
1614
1615 2001-12-11  Richard Henderson  <rth@redhat.com>
1616
1617         * emit-rtl.c (widen_memory_access): New.
1618         * expr.h (widen_memory_access): Declare it.
1619         * config/alpha/alpha.c (get_aligned_mem): Use it.
1620
1621 2001-12-11  Richard Henderson  <rth@redhat.com>
1622
1623         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
1624         simplification above out of range check.
1625
1626 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
1627
1628         * config/sparc/sparc.md (prefetch): New.
1629
1630 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1631
1632         * output.h (regno_uninitialized): Make argument unsigned.
1633
1634         * flow.c (regno_uninitialized): Make regno unsigned.
1635
1636 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1637
1638         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
1639         * config/cris/cris.h (ENDFILE_SPEC): Define.
1640         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
1641         * config/pa/elf.h: Likewise.
1642
1643 2001-12-11  Richard Henderson  <rth@redhat.com>
1644
1645         * objc/objc-act.c (build_string_class_template): New.
1646         (build_objc_string_object): Call it.
1647
1648 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
1649
1650         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1651         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
1652         * calls.c (store_unaligned_arguments_into_pseudos): Check
1653         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
1654         are passed/returned.
1655         * expr.c (move_block_from_reg): Ditto.
1656         (move_block_from_reg): Ditto.
1657         (copy_blkmode_from_reg): Ditto.
1658         * stmt.c (expand_return): Ditto.
1659         * stor-layout.c (compute_record_mode): If
1660         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
1661         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
1662         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
1663         so that Structures of one field are still treated as structures.
1664         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
1665         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
1666         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
1667         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
1668         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
1669         to special case handling of structure padding.
1670
1671 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
1672
1673         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
1674         (may_trap_exp): Stores only are risk if they trap, too, not just
1675         if code == MEM.
1676
1677 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1678
1679         * flow.c (find_regno_partial): Indent properly.  Add a default to
1680         switch.
1681
1682 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1683
1684         * c-common.c (combine_strings): Complain if concatenating
1685         __FUNCTION__.
1686         * c-parse.in (yylexname): Flag artificial strings.
1687         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1688 doc:
1689         * extend.texi: Update.
1690
1691 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
1692
1693         * c-common.c (type_for_mode): Handle unsigned vectors.
1694         (type_for_mode): Remove redundant calls to TYPE_MODE.
1695
1696         * tree.c (make_vector): New.
1697         (build_common_tree_nodes_2): Use make_vector for vector types.
1698         Add unsigned vector types.
1699
1700         * tree.h (tree_index): Add unsigned types for vectors.
1701         (unsigned_V16QI_type_node): New.
1702         (unsigned_V4SI_type_node): New.
1703         (unsigned_V8QI_type_node): New.
1704         (unsigned_V8HI_type_node): New.
1705         (unsigned_V4HI_type_node): New.
1706         (unsigned_V2SI_type_node): New.
1707
1708 2001-12-11  Stan Shebs  <shebs@apple.com>
1709
1710         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1711         test of class names.
1712
1713 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
1714
1715         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1716         cpu configuration headers.
1717         * config/h8300/elf.h: Include dbxelf.h.
1718         * config/m68k/linux.h: Likewise.
1719         * config/m68k/m68020-elf.h: Likewise.
1720         * config/m68k/m68kv4.h: Likewise.
1721         * config/sh/elf.h: Likewise.
1722         * config/m68k/m68kemb.h: Add comment about the its purpose.
1723
1724 2001-12-11  Richard Henderson  <rth@redhat.com>
1725
1726         * objc/objc-act.c (build_constructor): Cast initializer values
1727         to the proper field types.
1728
1729 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
1730
1731         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1732
1733 2001-12-10  Roger Sayle <roger@eyesopen.com>
1734
1735         * builtins.c (expand_builtin): Use a switch statement to list
1736         those functions not expanded without optimizations, instead of a
1737         series of equality tests.
1738
1739 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1740
1741         * config/alpha/vms.h (LIB_SPEC): Define.
1742         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1743
1744         * libgcc2.c (_bb): Remove ctime declaration.
1745
1746         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1747         that works if LN_S = cp.
1748
1749         * config/alpha/x-vms (version): Change "." to "_".
1750
1751         * configure.in: Hardcode that vfork works on VMS host.
1752         * configure: Regenerated.
1753
1754 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
1755
1756         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1757         unless do_obj true.
1758         (process_command): Modify calls to convert_filename.
1759
1760 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1761
1762         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1763
1764 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
1765
1766         * combine.c (known_cond): Check mode of each operand to determine
1767         if COND is comparing floating point values.
1768
1769 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
1770
1771         * rs6000.h (processor_type): Add PPC405.
1772         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
1773         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
1774         rios1, rs64, and ppc630 processors.
1775         * rs6000.c (processor_target_table): Add PPC405.
1776
1777 2001-12-10  Richard Henderson  <rth@redhat.com>
1778
1779         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
1780         instead of hardcoding subregs into the _be and _le patterns.
1781
1782 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
1783
1784         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
1785
1786 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1787
1788         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
1789         what insn does.
1790
1791 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
1792
1793         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
1794         copyright notice formerly conditioned on @ifinfo on @ifnottex
1795         instead.
1796
1797 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1798
1799         * vmsdbgout.c (lookup_filename): Remove warning.
1800
1801 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
1802
1803         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
1804
1805         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1806         (exeext, target_alias, prefix, local_prefix): Define.
1807         * config/alpha/x-vms (USE_COLLECT2): Make empty.
1808         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
1809         file specifications. Remove ".".
1810         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
1811         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
1812
1813 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
1814
1815         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
1816
1817 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
1818
1819         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
1820         Add rules for building [vp]crt0.o
1821         * config/alpha/vms.h (START_FILE_SPEC): Define.
1822         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
1823         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
1824         * doc/invoke.texi: Document special Alpha/VMS options.
1825
1826 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1827
1828         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
1829         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
1830         not GNUC.
1831
1832 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1833                           Douglas B. Rupp  <rupp@gnat.com>
1834
1835         * tree.c (append_random_char): Conditionalize INO for VMS.
1836
1837 2001-12-09  Richard Henderson  <rth@redhat.com>
1838
1839         * cfgcleanup.c (label_is_jump_target_p): New function.
1840         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
1841         target of a JUMP_INSN from the preceding block.
1842
1843 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
1844
1845         * vmsdbgout.c (lookup_filename): Assign null string instead
1846         of null pointer to fnam.
1847
1848 2001-12-09  Richard Henderson  <rth@redhat.com>
1849
1850         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
1851         immediately after a call; insert nops before a call.
1852
1853 2001-12-09  Richard Henderson  <rth@redhat.com>
1854
1855         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
1856         not FUNCTION_BOUNDARY.
1857         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
1858         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
1859         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
1860
1861 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
1862
1863         * config/mmix/mmix.c (mmix_function_block_profiler,
1864         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1865         unused functions.
1866         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
1867         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1868         prototypes.
1869
1870         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
1871         Delete obsoleted macros.
1872
1873 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
1874
1875         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
1876         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
1877
1878         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
1879         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
1880         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
1881         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
1882         config/i370/i370.c, config/i386/i386.c,
1883         config/i386/i386-interix.h, config/i386/i386.md,
1884         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
1885         config/m32r/m32r-protos.h, config/mcore/mcore.h,
1886         config/rs6000/rs6000.h, config/sparc/linux64.h,
1887         config/sparc/sparc.c, config/v850/v850-protos.h,
1888         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
1889         spelling errors.
1890
1891 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
1892
1893         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
1894         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
1895
1896         * config/rs6000/rs6000.c: Ditto.
1897
1898         * config/rs6000/rs6000.md: Ditto.
1899
1900 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1901
1902         * 1750a.md: Add default case in switch.
1903         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1904         if-else statement.
1905         * dsp16xx.c (print_operand_address): Likewise.
1906         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
1907         * ia64.md: Add missing braces.
1908         * rs6000-protos.h (s8bit_cint_operand): Prototype.
1909         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1910         if-else statement.
1911         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
1912         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
1913         * dbxout.c (dbxout_source_file): Move a variable into the scope
1914         where it is used.
1915         * final.c (profile_function): Mark parameter with
1916         ATTRIBUTE_UNUSED.
1917         * genemit.c (gen_expand): Likewise for generated file.
1918         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
1919
1920         * vmsdbg.h: Delete spurious close-comment.
1921         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
1922         * vmsdbgout.c (write_modbeg): Define return type.
1923
1924         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
1925         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1926         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1927         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
1928         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
1929         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
1930         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
1931
1932 2001-12-08  Tom Rix  <trix@redhat.com>
1933
1934         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
1935         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
1936         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
1937         for powerpc64.
1938         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
1939         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
1940         * config/rs6000/rs6000.c (expand_block_move): Do not use
1941         gen_movstrsi_2reg and powerpc64.
1942
1943 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
1944
1945         * c-common.h (rid): Add RID_CHOOSE_EXPR and
1946         RID_TYPES_COMPATIBLE_P.
1947
1948         * c-parse.in (reswords): Add __builtin_choose_expr.
1949         Add __builtin_types_compatible_p.
1950         Add CHOOSE_EXPR token.
1951         Add TYPES_COMPATIBLE_P token.
1952         Add production for CHOOSE_EXPR.
1953         Add production for TYPES_COMPATIBLE_P.
1954
1955         * doc/extend.texi (__builtin_choose_expr): Add documentation.
1956         (__builtin_types_compatible_p): Likewise.
1957
1958 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
1959
1960         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1961         to unions.
1962
1963 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1964
1965         * c-parse.in: Take string literals in assembler constructs,
1966         not expressions.
1967         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
1968         check the strings are STRING_CSTs.
1969
1970 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
1971
1972         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
1973         using combine_strings to do the concatenation.
1974         * c-parse.in: Replace uses of the string non-terminal with STRING.
1975         Don't attempt string concatenation.
1976         (OBJC_STRING): New terminal.
1977         (string): Remove non-terminal.
1978         (_yylex): Call combine_strings on function names.  Generate
1979         OBJC_STRING terminals; don't pass '@' on to yacc.
1980         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
1981         (build_asm_stmt): Similarly.
1982
1983 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1984
1985         * rtlanal.c (get_jump_table_offset): Delete unused variable.
1986
1987 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
1988
1989         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
1990         (prefetch): Rewrite using PREFETCH RTL primitive.
1991         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
1992         * arm.c (arm_init_builtins): Don't initialize a builtin for
1993         __builtin_prefetch here.
1994         (arm_expand_builtin): Don't expand __builtin_prefetch here.
1995
1996 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
1997
1998         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
1999         in test for a subreg.
2000
2001 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2002
2003         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
2004         strings.
2005
2006 2001-12-07  Richard Henderson  <rth@redhat.com>
2007
2008         * doc/extend.texi: Fix typo last change.
2009
2010         * c-decl.c (c_language): Remove duplicate.
2011
2012 2001-12-07  Dale Johannesen  <dalej@apple.com>
2013
2014         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
2015         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
2016         specific codegen, eliminate a register copy.
2017         (print_operand_address): Add support for Darwin's lo16(constant)
2018         syntax.
2019         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
2020         generation of addresses within very large data objects.
2021         (s8bit_cint_operand):  New.
2022         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
2023         Move "mtjmpr" to correct functional unit for 750/7400/7450.
2024         Add imul2 and imul3 insn types for multiplication by 16- and
2025         8-bit constants.
2026         Change tablejump patterns to strongly discourage using LR
2027         rather than CTR.
2028         Add %lo16 patterns for Darwin loads and stores.
2029
2030 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2031
2032         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
2033
2034 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
2035
2036         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
2037         with %sp because it can cause the delayed instruction to load
2038         below the stack.
2039
2040 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2041
2042         * alpha.c (alpha_expand_unaligned_store,
2043         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
2044         call to immed_double_const.
2045
2046 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
2047
2048         * doc/extend.texi (Variable Attributes): Document vector_size.
2049
2050         * attribs.c (c_common_attribute_table): Add vector_size.
2051         (handle_vector_size_attribute): New.
2052         (vector_size_helper): New.
2053         (decl_attributes): Relayout the decl after calculating attribs.
2054
2055 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
2056
2057         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
2058         description for Trouble section.
2059         * doc/install-old.texi: Adjust for inclusion as chapter of new
2060         installation manual.
2061         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
2062         Adjust to include old installation chapter as chapter of new
2063         installation manual.
2064
2065 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
2066
2067         * rtl.h (get_jump_table_offset): Declare.
2068         * rtlanal.c (get_jump_table_offset): Implement.
2069
2070 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2071
2072         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
2073         Deleted; were used only by BB profiler code.
2074         (sbb_head, sbb_tail, sbb_label_num): Likewise.
2075         (end_final): Delete now-unused vars I, PTR, and SPTR.
2076
2077         * expr.c (store_field): Remove warning.
2078         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
2079         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
2080         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
2081         divisor constant power of 2.
2082         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
2083
2084 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2085
2086         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
2087         shifting.
2088
2089 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2090
2091         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
2092         (DWARF_FRAME_REGISTERS): Delete.
2093
2094 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
2095
2096         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
2097         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
2098         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
2099         with defaults for read prefetch with high degree of locality.
2100         * doc/extend.texi (__builtin_prefetch): Update documentation.
2101         * doc/md.texi (prefetch): Add documentation.
2102
2103 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2104
2105         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
2106         UNIX V5.1A stdio.h.
2107         * fixinc/fixincl.x: Regenerate.
2108         Fixes PR libf2c/4826.
2109
2110 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
2111             Richard Henderson  <rth@redhat.com>
2112
2113         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
2114         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
2115
2116         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
2117         to PRE_GCC3_DWARF_FRAME_REGISTERS.
2118         (frame_state): Same.
2119         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
2120
2121 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2122
2123         * langhooks.c (lhd_staticp): Mark parameter with
2124         ATTRIBUTE_UNUSED.
2125
2126 2001-12-06  H.J. Lu <hjl@gnu.org>
2127
2128         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
2129         reduce noise.
2130         (.po.pox): Likewise.
2131         (o/$(PACKAGE).pot): Likewise.
2132
2133 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
2134
2135         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
2136         * tree-inline.c (expand_call_inline): ... here.
2137
2138 2001-12-06  H.J. Lu <hjl@gnu.org>
2139
2140         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
2141         (.po.pox): Likewise.
2142         (o/$(PACKAGE).pot): Likewise.
2143
2144 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
2145
2146         * config.gcc: Include dbxelf.h before elfos.h.
2147         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
2148
2149 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
2150
2151         * cppfiles.c (open_file): If we've opened a directory by
2152         mistake, close it.
2153         (find_include_file): Avoid turning / into // or // into ///.
2154
2155 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2156
2157         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
2158         (STRUCT_VALUE_REGNUM): Restore definition.
2159
2160 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
2161
2162         * flow.c (find_regno_partial): Return register, not the expression
2163         the register is in.
2164
2165 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2166
2167         * function.c (handle_epilogue_set): Check for FP setting case when
2168         SP is set from FP in same insn.
2169
2170 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
2171
2172         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
2173         RTX when calling alter_subreg().
2174         (store_multiple_sequence): Pass pointer to RTX when calling
2175         alter_subreg().
2176
2177 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2178
2179         * function.c (assing_parms): Fix typo in last change.
2180         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
2181         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
2182         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
2183         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
2184
2185 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
2186
2187         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
2188         correct code selecting section.
2189
2190 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
2191
2192         * final.c (count_basic_block, add_bb, add_bb_string):
2193         Kill.
2194         (end_final, final_start_function, final, final_scan_insn,
2195         leaf_function_p): Kill BB profiler related code.
2196         * flags.h (profile_block_flag): Kill.
2197         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
2198         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
2199         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
2200         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
2201         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
2202         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
2203         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
2204         __bb_init_trace_func): Kill.
2205         * toplev.c (profile_block_flag): Kill.
2206         (indepdendent_decode_option, process_options): Kill -a related code.
2207         * alpha.c (direct_call_operand): Likewise.
2208         * arm.c (arm_expand_prologue, thumb_expand_prologue,
2209         thumb_expand_epilogue): Likewise.
2210         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
2211         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2212         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2213         MACHINE_STATE_RESTORE): Kill.
2214         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2215         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2216         MACHINE_STATE_RESTORE): Kill.
2217         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2218         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
2219         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
2220         code.
2221         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
2222         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2223         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2224         MACHINE_STATE_RESTORE): Kill.
2225         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
2226         * i960.c (i960_output_function_prologue): Kill BB profiler related
2227         code.
2228         * ia64.c (ia64_compute_frame_size): Likewise.
2229         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2230         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2231         MACHINE_STATE_RESTORE): Kill.
2232         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
2233         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2234         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2235         MACHINE_STATE_RESTORE): Kill.
2236         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
2237         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2238         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2239         MACHINE_STATE_RESTORE): Kill.
2240         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
2241         Kill BB profiler related code.
2242         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2243         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2244         MACHINE_STATE_RESTORE): Kill.
2245         * mips.c (mips_expand_prologue): Kill BB profiler related code.
2246         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2247         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2248         MACHINE_STATE_RESTORE): Kill.
2249         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
2250         * s960.c (s390_function_prologue): Kill BB profiler related code.
2251         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2252         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2253         MACHINE_STATE_RESTORE): Kill.
2254         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2255         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2256         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2257         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2258         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
2259         sparc_nonflat_function_epilogue): Kill BB profiler related code.
2260         (sparc_function_block_profiler, sparc_block_profiler,
2261         sparc_function_block_profiler_exit): Kill.
2262         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
2263         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2264         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2265         MACHINE_STATE_RESTORE): Kill.
2266         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2267         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
2268         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2269         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2270         MACHINE_STATE_RESTORE): Kill.
2271         * doc/invoke.texi: Kill documentation of -a and -ax.
2272         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
2273         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
2274         MACHINE_STATE_RESTORE): Kill.
2275
2276 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
2277
2278         * doc/rtl.texi: Use a table to display RTL format characters.
2279
2280 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
2281
2282         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
2283
2284 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2285
2286         * function.c (keep_stack_depressed): Check global_live_at_start
2287         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
2288
2289 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
2290
2291         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
2292         as set by the generic FreeBSD configure framework.
2293
2294 2001-12-04  Jason Merrill  <jason@redhat.com>
2295
2296         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
2297         start_inlining, end_inlining.
2298         * tree-inline.c (expand_call_inline): Call them.
2299         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
2300         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
2301         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
2302         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
2303         (lhd_tree_inlining_end_inlining): New fn.
2304
2305 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2306
2307         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
2308         * c-common.h (shadow_warning): New.
2309         * c-decl.c: Include c-common.h.
2310         (warn_if_shadowing): New, broken out of pushdecl.
2311         (pushdecl): Use warn_if_shadowing.
2312         (store_parm_decls): Prevent duplicate -Wshadow warnings.
2313
2314 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
2315
2316         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
2317         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
2318         (LIB_SPEC): Remove.
2319
2320 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2321
2322         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
2323         (QUAL_UNION_TYPE): New type.
2324
2325         * varasm.c (output_constant, case ERROR_MARK): New case.
2326
2327         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
2328         (c_com): Delete its reference.
2329         * builtins.c: Delete memory checking code.
2330         * calls.c, expr.c, function.c, stmt.c: Likewise.
2331         * builtins.c (expand_builtin_arg_info): Remove reference to
2332         EXPAND_MEMORY_USE_* modifiers.
2333         * explow.c (expr_size): Likewise.
2334         * expr.c (expand_expr, expand_increment): Likewise.
2335         * expr.h (ARGS_SIZE_RTX): Likewise.
2336         * function.c (assign_parms, expand_pending_sizeso): Likewise.
2337         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
2338         * expr.c (in_check_memory_usage): Delete.
2339         (get_push_address, get_memory_usage_from_modifier): Delete.
2340         (expand_assigment): Use EXPAND_WRITE on destination.
2341         (expand_expr): Delete ro_modifier.
2342         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
2343         add EXPAND_WRITE.
2344         (memory_use_mode): Delete.
2345         * flags.h (flag_check_memory_usage): Deleted.
2346         (flag_prefix_function_name): Likewise.
2347         * function.c (expand_function_start): Don't set
2348         current_function_check_memory_usage.
2349         * function.h (check_memory_usage): Delete.
2350         * libfuncs.h, optabs.c: Delete chkr_* stuff.
2351         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
2352         EXPAND_WRITE.
2353         * toplev.c (flag_check_memory_usage): Deleted.
2354         (flag_prefix_function_name): Likewise.
2355         (f_options, process_options): Delete references to above.
2356         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
2357         * varasm.c (CHKR_PREFIX): Deleted.
2358         (make_decl_rtl): Remove flag_prefix_function_name handling.
2359         (assemble_name): Likewise.
2360         * doc/extend.texi: Remove no_check_memory_usage attribute.
2361         * doc/invoke.texi: Remove -fcheck-memory-usage
2362         and -fprefix-function-name.
2363
2364 2001-12-05  Andreas Schwab  <schwab@suse.de>
2365
2366         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
2367         from autoconf.
2368
2369 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
2370
2371         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
2372
2373 2001-12-05  William Cohen  <wcohen@redhat.com>
2374
2375         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
2376         instruction.
2377
2378 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
2379
2380         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
2381         builtins.
2382
2383         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
2384         better reflect reality (change from Apple's tree).
2385         Add more of altivec instructions.
2386         Add ftruncv4sf2 pattern.
2387         Remove more unspecs (vector merge instructions, etc).
2388
2389         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
2390         builtins.
2391         (bdesc_1arg): New, for 1 argument altivec builtins.
2392         (altivec_expand_builtin): Handle unary and ternary ops.
2393         (altivec_init_builtins): Ditto.
2394
2395 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2396
2397         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
2398         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
2399
2400 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2401
2402         * gcse.c (store_killed_in_insn): Consider pure calls
2403         as potential store killers in addition to normal calls.
2404
2405 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2406
2407         * expr.c (expand_expr): When checking promoted value, use
2408         DECL_MODE (exp) and not mode.
2409
2410 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2411
2412         * c-typeck.c (output_init_element): Call digest_init
2413         just once, not in each if branch and check its return value for
2414         error_mark_node.
2415
2416 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
2417
2418         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
2419         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
2420         (finish_struct): Break the loop if n_incomplete went to 0.
2421         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
2422
2423 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
2424
2425         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
2426
2427 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2428                           Douglas B. Rupp  <rupp@gnat.com>
2429
2430         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
2431         * doc/invoke.texi: Add -gvms.
2432         * doc/passes.texi: Add mention of vmsdbgout.c.
2433         * doc/tm.texi: Document VMS debugging output.
2434
2435 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2436
2437         * function.h (tree, rtx): Remove no-longer-needed definitions.
2438
2439         * function.c (keep_stack_depressed): Refine check for register
2440         clobbered over call.
2441
2442         * expr.c (store_expr): When copying string constant into array,
2443         use functions that update memrefs instead of computations on
2444         addresses to better track MEMs.  Also properly handle 32/64 pointers.
2445         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
2446         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
2447
2448         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
2449         underneath COMPONENT_REFs.
2450         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
2451
2452 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2453
2454         * toplev.c (display_target_options): Don't print twice.
2455
2456 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
2457
2458         * emit-rtl.c (set_unique_reg_note): Don't set
2459         a REG_EQUAL or REG_EQUIV note if multiple sets
2460         are present.
2461
2462 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2463
2464         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
2465         CASE_DROPS_THROUGH.
2466
2467 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2468
2469         * rtl.h (initialize_uninitialized_subregs): New prototype.
2470         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
2471         when optimization is on.
2472         * flow.c (find_regno_partial): Find subregs within an expression.
2473         (initialize_uninitialized_subregs): Initialize live on entry registers
2474         which are used in subreg expressions.
2475
2476 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
2477
2478         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
2479
2480 2001-12-04  DJ Delorie  <dj@redhat.com>
2481
2482         * fixinc/fixincl.c (initialize): Avoid problemsome macro
2483         parameter names (PR 3388).
2484
2485 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
2486
2487         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
2488         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
2489
2490 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2491
2492         * c-common.def (COMPOUND_LITERAL_EXPR): New.
2493         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
2494         (c_staticp): New function.
2495         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
2496         (c_staticp): Declare.
2497         * c-typeck.c (default_function_array_conversion, build_unary_op):
2498         Don't handle CONSTRUCTOR specially.
2499         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
2500         * c-decl.c (build_compound_literal): New function.
2501         * c-tree.h (build_compound_literal): Declare.
2502         * c-parse.in (primary): Use build_compound_literal.
2503         * c-lang.c (LANG_HOOKS_STATICP): Define.
2504         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
2505         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
2506         * doc/extend.texi: Update documentation of compound literals.
2507         Fixes PR c/4787.
2508
2509 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2510
2511         * langhooks.h (struct lang_hooks): Add staticp.
2512         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
2513         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
2514         * langhooks.c (lhd_staticp): New function.
2515         * tree.c (staticp): Call lang_hooks.staticp for language-specific
2516         tree codes.
2517
2518 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2519
2520         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
2521         * gcc.c (process_command): Ensure the cpp driver sees
2522         --help and --target-help, and that the help is printed
2523         exactly once.
2524
2525 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
2526
2527         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
2528
2529 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
2530
2531         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
2532         flag_strict_aliasing.  Use separate assignment statements.
2533
2534 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
2535
2536         * build-make, cross-make: Delete file.
2537         * configure.in: Set and substitute CROSS, ALL,
2538         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
2539         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
2540         whether build == host and host == target.  Do not
2541         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
2542         AC_SUBST cross_defines or extra_c_flags.
2543         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
2544         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
2545         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
2546         partially or completely with autoconf-substituted @variable@
2547         notation.
2548         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
2549         @build_overrides@, @extra_c_flags@, all.build, install-build,
2550         install-cross-rest, install-float-h-cross): Deleted.
2551         (install-normal): Rename to install.  Delete old "install"
2552         indirection rule.
2553
2554 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
2555
2556         * stmt.c (expand_return): Clear destination instead of clobbering it
2557         when setting a return value via bitsets.
2558
2559 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
2560
2561         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
2562         it has DECL_SAVED_TREE.
2563
2564         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
2565         is in a different binding level, get its abstract origin to be
2566         olddecl.
2567         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
2568         check earlier.
2569         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
2570         DECL_INITIAL is NULL.
2571
2572 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2573
2574         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
2575         Return correct value if one of the subexpressions was optimized to
2576         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
2577         (and_reg_cond): Similarly.
2578
2579 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
2580
2581         * function.c (assign_parms): Set last_named only for last named
2582         argument.
2583
2584 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2585
2586         * doc/install.texi: Use the GFDL.  Include years from old install
2587         manual in copyright notice.  Include copyright and GFDL notice on
2588         HTML index page.  Include usual footer on testing.html.
2589         * doc/install.texi2html: Build gfdl.html.  Use -I
2590         $SOURCEDIR/include.
2591         * doc/include/fdl.texi: Adapt for use in the install manual.
2592
2593 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
2594
2595         * doc/install.texi: Document that installed native compiler for
2596         building cross compilers should be GCC 2.95 or later.
2597
2598 2001-12-03  Eric Christopher  <echristo@redhat.com>
2599
2600         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
2601         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
2602         patterns.
2603
2604 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
2605
2606         * rtl.def (PREFETCH): New rtx code.
2607         * doc/rtl.texi (PREFETCH): Add documentation.
2608         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
2609         * rtlanal.c (reg_referenced_p): Ditto.
2610         * sched-vis.c (print_exp):  Ditto.
2611         * ssa-dce.c (find_inherently_necessary):  Ditto.
2612
2613         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
2614           (PREFETCH_BLOCK): Define.
2615         * config/ia64/ia64.md (itanium_class): Add lfetch.
2616           (prefetch, prefetch_internal): New.
2617
2618         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
2619         * builtins.def (BUILT_IN_PREFETCH): New.
2620         * builtins.c (expand_builtin_expect): New.
2621           (expand_builtin): Call it.
2622         * doc/extend.texi: Document __builtin_prefetch.
2623
2624         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
2625           conflicts with new generic prefetch functionality.
2626         * config/i386/i386.c (ix86_expand_builtin): Use new name for
2627           prefetch_sse.
2628
2629 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
2630
2631         * objc/Make-lang.in: Update copyright.
2632         (OBJC_OBJS): Add objc-lang.o.
2633         (objc-lang.o): New rule.
2634         * objc/config-lang.in: Fix file description and update
2635         copyright.
2636         * objc/objc-act.c: Do not include langhooks.h and
2637         langhooks-def.h
2638         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
2639         (objc_post_options): Move to objc-lang.c.
2640         (objc_init_options): Move to objc-lang.c.
2641         (objc_init): Make non-static.
2642         (objc_decode_option): Make non-static.
2643         (HASHFUNCTION): Remove macro.
2644         (hash_func): New function.
2645         (hash_enter): Replace HASHFUNCTION with hash_func.
2646         (hash_lookup): Replace HASHFUNCTION with hash_func.
2647         (maybe_objc_tree_codes): New function.
2648         (init_objc): Move ObjC tree code initialization to
2649         maybe_objc_tree_codes().
2650         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
2651         (objc_init): New public prototype.
2652         (objc_decode_option): New public prototype.
2653         (maybe_add_objc_tree_codes): New public prototype.
2654         * objc/objc-lang.c: New file.
2655         (lang_hooks): Moved from objc-act.c.
2656         (objc_post_options): Moved from objc-act.c.
2657         (objc_init_options): Moved from objc-act.c.
2658
2659 2001-12-03  Geoff Keating  <geoffk@redhat.com>
2660
2661         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
2662         of array elements.
2663
2664 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2665
2666         PR c/4988
2667         * gcc.c (process_command): Don't add a preprocessor option for
2668         --help and --target-help; cc1 is enough.
2669
2670 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
2671
2672         * c-decl.c (grokdeclarator): Use ISO word.
2673         * cppinit.c: Remove leading capital from diagnostic messages, as
2674         per GNU coding standards.
2675         * emit-rtl.c: Similarly.
2676         * final.c: Similarly.
2677         * gcc.c: Similarly.
2678         * tradcpp.c: Similarly.
2679         * config/arm/arm.c: Similarly.
2680         * config/arm/arm.h: Similarly.
2681         * config/avr/avr.c: Similarly.
2682         * config/avr/avr.h: Similarly.
2683         * config/c4x/c4x.c: Similarly.
2684         * config/cris/cris.c: Similarly.
2685         * config/cris/cris.h: Similarly.
2686         * config/d30v/d30v.c: Similarly.
2687         * config/dsp16xx/dsp16xx.c: Similarly.
2688         * config/dsp16xx/dsp16xx.h: Similarly.
2689         * config/h8300/h8300.c: Similarly.
2690         * config/i386/i386.c: Similarly.
2691         * config/i386/xm-djgpp.h: Similarly.
2692         * config/i960/i960.h: Similarly.
2693         * config/m32r/m32r.c: Similarly.
2694         * config/m68hc11/m68hc11.c: Similarly.
2695         * config/m88k/m88k.c: Similarly.
2696         * config/m88k/m88k.h: Similarly.
2697         * config/mcore/mcore.c: Similarly.
2698         * config/mcore/mcore.h: Similarly.
2699         * config/mips/mips.c: Similarly.
2700         * config/mmix/mmix.c: Similarly.
2701         * config/pa/pa.c: Similarly.
2702         * config/rs6000/rs6000.c: Similarly.
2703         * config/rs6000/sysv4.h: Similarly.
2704         * config/s390/s390.c: Similarly.
2705         * config/sparc/sparc.c: Similarly.
2706         * config/v850/v850-c.c: Similarly.
2707         * config/v850/v850.c: Similarly.
2708
2709 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
2710
2711         * rs6000.h (RETURN_IN_MEMORY): Cast result of
2712         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2713
2714 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
2715
2716         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2717         bit twiddling constant.
2718
2719 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
2720
2721         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2722         call purge_dead_edges after removing.
2723         (delete_null_pointer_checks): Do not handle delete_list.
2724
2725         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2726         (count_basic_blocks): ... here.
2727         (find_basic_blocks, find_bb_boundaries): Cleanup.
2728
2729         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2730         overflow for types greater then 2 * HOST_WIDE_INT.
2731
2732         * reload.c (find_reloads): Update the duplicates after swapingg.
2733
2734 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2735
2736         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2737
2738 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
2739
2740         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2741         MASK_LONG_DOUBLE_128): Delete.
2742         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2743         TARGET_AIX_STRUCT_RET): New flags.
2744         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2745         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
2746         and -m(no-)svr4-struct-return.
2747         (TARGET_OPTIONS): Add entry for -mlong-double-.
2748         (rs6000_long_double_size_string, rs6000_long_double_type_size,
2749         rs6000_altivec_abi): Declare.
2750         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2751         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2752         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2753         structures of size <= 8 bytes in registers.
2754         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2755
2756         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2757         rs6000_long_double_type_size, rs6000_altivec_abi): New
2758         globals.
2759         (rs6000_override_options): Set rs6000_long_double_type_size
2760         from rs6000_long_double_size_string, if nonzero.  Set the
2761         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2762         not already set.
2763         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2764         target_flags bit.
2765         (rs6000_init_builtins): This hook now takes no arguments.
2766
2767         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2768         DRAFT_V4_STRUCT_RET to 1.
2769
2770 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
2771
2772         * c-typeck.c (really_start_incremental_init, push_init_level):
2773         Avoid constructor_max_index being other than an INTEGER_CST.
2774
2775 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2776
2777         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
2778         unsigned.
2779         (ASM_GENERATE_INTERNAL_LABEL): Same.
2780         (UNIQUE_SECTION): Fix typo.
2781
2782 2001-12-02  Richard Henderson  <rth@redhat.com>
2783
2784         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2785
2786 2001-12-02  Richard Henderson  <rth@redhat.com>
2787
2788         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
2789         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
2790         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
2791         * expr.h, final.c, reload1.c: Adjust users.
2792
2793         * alias.c (nonoverlapping_component_refs_p): New.
2794         (decl_for_component_ref, adjust_offset_for_component_ref): New.
2795         (nonoverlapping_memrefs_p): Use them.
2796         * emit-rtl.c (component_ref_for_mem_expr): New.
2797         (set_mem_attributes): Use it.
2798         (set_mem_offset): New.
2799         * expr.c (expand_assignment): Call set_mem_attributes for
2800         inner references; adjust the memory offset as needed.
2801         * print-rtl.c (print_mem_expr): New.
2802         (print_rtx): Use it.
2803
2804 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
2805
2806         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
2807
2808         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
2809         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
2810         (ASM_SPEC): Don't redefine.
2811         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
2812         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
2813         * config/alpha/vms-dwarf2.asm: New file.
2814
2815         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
2816         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
2817         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
2818         (vmsdbgout_after_prologue): New declaration.
2819         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
2820         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
2821         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
2822         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
2823         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
2824         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
2825         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
2826         Test VMS_DEBUGGING_INFO.
2827         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
2828         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
2829         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
2830         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
2831         VMS_AND_DWARF2_DEBUG.
2832         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
2833         (decode_g_option): Add "vms" to debug_type_names.
2834         (process_options): Set vmsdbg_debug_hooks if -gvms.
2835         (lang_independent_init): Emit line number for VMS unless -g0.
2836         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
2837         * vmsdbg.h, vmsdbgout.c: New files.
2838
2839 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2840
2841         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
2842
2843 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2844
2845         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
2846         * dwarf2out.c (is_cxx): Prototype.
2847         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
2848         warning.
2849         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
2850
2851 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2852
2853         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
2854
2855 2001-12-02  Geoff Keating  <geoffk@redhat.com>
2856
2857         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
2858         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
2859         rather than simplify_subreg.  Check for volatile-ness.  Check that
2860         we're not splitting one slow operation into two slow operations.
2861
2862 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
2863
2864         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
2865         before shifting.
2866
2867 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
2868
2869         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
2870         capital from diagnostics.
2871         * c-lex.c (cb_file_change): Similarly.
2872         * c-parse.in : Similarly.
2873         * cfgrtl.c (verify_flow_info): Similarly.
2874         * collect2.c: Similarly.
2875         * cppfiles.c (find_include_file): Similarly.
2876         * cppinit.c (cpp_handle_option): Similarly.
2877         * cpplex.c (cpp_spell_token): Similarly.
2878         * cppmain.c (do_preprocessing): Similarly.
2879         * gcc.c (translate_options, process_command, do_spec1,
2880         main, pfatal_execute): Similarly.
2881         * genattr.c (main): Similarly.
2882         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
2883         write_test_expr, main): Similarly.
2884         * gencodes.c (main): Similarly.
2885         * genconfig.c (main): Similarly.
2886         * genconstants.c (main): Similarly.
2887         * genemit.c (main): Similarly.
2888         * genextract.c (main): Similarly.
2889         * genflags.c (main): Similarly.
2890         * genopinit.c (main): Similarly.
2891         * genoutput.c (process_template, main): Similarly.
2892         * genpeep.c (main): Similarly.
2893         * genrecog.c (main): Similarly.
2894         * gensupport.c (is_predicable, identify_predicable_attribute,
2895         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
2896         * ggc-page.c (alloc_anon): Similarly.
2897         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
2898         parse_begin, parse_bend, parse_def, parse_end, parse_file,
2899         parse_stabs_common, parse_stabs, write_varray, write_object,
2900         read_seek, copy_object, main, error): Similarly.
2901         * profile.c (compute_branch_probabilities): Similarly.
2902         * reg-stack.c (check_asm_stack_operands): Similarly.
2903         * reload.c (find_reloads): Similarly.
2904         * reload1.c (spill_failure, failed_reload): Similarly.
2905         * rtl-error.c (_fatal_insn_not_found): Similarly.
2906         * toplev.c (read_integral_parameter, crash_signal,
2907         decode_f_option, set_target_switch, parse_options_and_default_flags)
2908         : Similarly.
2909         * tradcif.y (parse_number, yylex): Similarly.
2910         * tradcpp.c (main, fancy_abort): Similarly.
2911         * tree.c (tree_check_failed): Similarly.
2912         * varray.c (varray_check_failed): Similarly.
2913         * xcoffout.c (xcoff_output_standard_types): Similarly.
2914 objc:
2915         * objc-act.c (get_object_ref, lookup_and_install_protocols,
2916         build_objc_string_object, objc_declare_alias, build_ivar_chain,
2917         finish_message_expr, build_protocol_expr, is_public,
2918         start_class): Similarly.
2919
2920 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
2921
2922         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
2923         trailing period from diagnostics.
2924         * c-lex.c (cb_file_change): Similarly.
2925         * cppmacro.c (check_trad_stringification): Similarly.
2926         * gcc.c (do_spec_1): Similarly.
2927         * genattr.c (main): Similarly.
2928         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
2929         * gencodes.c (main): Similarly.
2930         * genconfig.c (main): Similarly.
2931         * genconstants.c (main): Similarly.
2932         * genemit.c (main): Similarly.
2933         * genextract.c (main): Similarly.
2934         * genopinit.c (main): Similarly.
2935         * genoutput.c (main): Similarly.
2936         * genpeep.c (main): Similarly.
2937         * genrecog.c (main): Similarly.
2938         * mips-tfile.c (add_file, error): Similarly.
2939         * profile.c (init_branch_prob): Similarly.
2940         * reload1.c (spill_failure): Similarly.
2941         * stmt.c (parse_output_constraint): Similarly.
2942         * varasm.c (assemble_variable): Similarly.
2943
2944 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2945
2946         * m68k.c (init_FPA_table): Provide static prototype.
2947         * mips/abi64.h (mips_function_value): Move prototype to ...
2948         * mips-protos.h (mips_function_value): ... here.
2949         * mips.c: Include halfpic.h.
2950         * output.h (rdata_section): Prototype.
2951
2952         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2953         * m88k.c (m88k_svr3_asm_out_constructor,
2954         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
2955         !OBJECT_FORMAT_ELF.
2956         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2957         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2958         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2959
2960 2001-12-01  Geoff Keating  <geoffk@redhat.com>
2961
2962         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
2963         LO_SUM addresses less than word size are not legitimate,
2964         because they lead to invalid SUBREGs.
2965         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
2966
2967 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
2968
2969         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
2970         while scanning for multiple back edges.
2971
2972 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2973
2974         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
2975         * config/rs6000/tramp.asm: Use it.
2976
2977 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
2978
2979         * gencheck.c, gengenrtl.c: Don't define xmalloc.
2980         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
2981         xmalloc.
2982
2983 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2984
2985         * pa.c (output_ascii): Cast `p' to unsigned char.
2986
2987 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2988
2989         * config/rs6000/rs6000.c (altivec_expand_builtin): add
2990         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
2991         *_16qi,_8hi, rename existing V4SI ones to *_4si.
2992         (altivec_init_builtins): Ditto.
2993         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
2994
2995         * config/rs6000/rs6000.md: Add attribute types vecsimple,
2996         veccomplex, vecfloat, and vecperm, for altivec instructions.
2997         Modify altivec patterns to use appropriate attribute type.
2998         Modify altivec patterns to match RTL operations where appropriate
2999         (IE no unspec where we can avoid it).
3000         Add vector unit scheduling for ppc7450.
3001         Rename patterns to what they are where appropriate
3002         (altivec_vaddfp->addv4sf3, etc)
3003
3004         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
3005         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
3006
3007         * config/rs6000/sysv4.h: Add -mcpu=7450.
3008
3009         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
3010         _builtin_altivec_ld_interal function.
3011
3012 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3013
3014         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
3015         strchr, strrchr, isascii, gettimeofday.
3016         * config.in, configure: Regenerate.
3017
3018 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3019
3020         * unroll.c (unroll_loop): Correct special exit cases.
3021
3022 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
3023
3024         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
3025         accept DFmode and DImode only.
3026
3027 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3028
3029         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
3030         (STACK_DYNAMIC_OFFSET): Same.
3031
3032 2001-11-30  Richard Henderson  <rth@redhat.com>
3033
3034         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
3035
3036 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
3037
3038         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
3039         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
3040         the values in call_used_registers.
3041
3042 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
3043
3044         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
3045         gthr-single.
3046
3047 2001-11-30  Jason Merrill  <jason@redhat.com>
3048
3049         * dwarf2out.c (is_cxx): New fn.
3050         (add_data_member_location_attribute): Check it.
3051         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
3052
3053 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3054
3055         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
3056
3057 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
3058
3059         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
3060         MODE_VECTOR_FLOAT as allowed.
3061
3062 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
3063
3064         Purge cruft now we have build libiberty.
3065
3066         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
3067         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
3068         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
3069         USE_HOST_STRSTR): Delete variables.
3070         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
3071         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
3072         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3073         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
3074         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
3075         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
3076         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
3077         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
3078         (HOST_LIBS): Ditto.
3079         (HOST_RTL): Remove hashtab.o safe-ctype.o.
3080         (OBJS): Remove splay-tree.o.
3081         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
3082         (distclean): No need to delete splay-tree.c obstack.c
3083         hashtab.c safe-ctype.c.
3084         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
3085         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
3086         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
3087         Delete.
3088         * configure.in: Don't use them.
3089         Set and substitute @FORBUILD@.
3090         * config.in, configure: Regenerate.
3091         * doprint.c: Move to libiberty/_doprnt.c.
3092         * doc/configterms.texi: Document that libiberty is now built
3093         up to three times.  Fix typo.
3094
3095 2001-11-30  Jason Merrill  <jason@redhat.com>
3096
3097         * dwarf2out.c (add_data_member_location_attribute): Do the
3098         right thing for virtual bases.
3099         * dbxout.c (dbxout_type): For a virtual base, print the offset
3100         within the vtable.
3101
3102 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
3103
3104         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
3105
3106 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
3107
3108         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
3109         go in memory.
3110         Remove unused attribute for named.
3111
3112 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3113
3114         * genattrtab.c (attr_rtx_1): New function containing the
3115         majority of `attr_rtx'.  Move variable declarations into the
3116         scope where they are used.  Eliminate unnecessary gotos.
3117         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
3118         VA_FIXEDARG, and VA_CLOSE.
3119
3120 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
3121
3122         * config/cris/cris.c (cris_notice_update_cc): Check first
3123         destination also against overlap with cc_status.value2 and second
3124         destination against overlap with cc_status.value1.  For overlaps,
3125         clear overlapped value, don't just CC_STATUS_INIT.
3126
3127         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
3128         Fix typo in comment.
3129         (LINK_SPEC): Remove whitespace at end of line.
3130
3131 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3132
3133         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
3134
3135 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
3136
3137         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
3138         macros for the supported debugging types.
3139
3140 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3141
3142         PR other/4932
3143         * config/i386/i386.c (print_operand):  Verify that the
3144           argument to %c is a constant and not a conditional which
3145           needs to be reversed.
3146
3147 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
3148
3149         * emit-rtl.c (gen_lowpart_common): Fix conversion of
3150         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
3151         of low part of those arrays for 32bit and 64bit hosts.
3152
3153 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3154
3155         * Makefile.in (insn-output.o): Depend on insn-codes.h.
3156
3157 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
3158
3159         * configure.in (target_list): Add generated-manpages.
3160         * configure: Regenerate.
3161         * Makefile.in (generated-manpages): Depend on
3162         lang.generated-manpages.
3163         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
3164
3165 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
3166
3167         * config/arm/crti.asm (_init): Add .thumb_func if compiled
3168         with -mthumb.
3169         (_fini): Add .thumb_func if compiled with -mthumb.
3170
3171 2001-11-28  Eric Christopher  <echristo@redhat.com>
3172
3173         * config/mips/mips.c (override_options): Fix thinko in mips_tune
3174         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
3175
3176 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
3177
3178         * alpha.md (tablejump): Use pic_offset_table_rtx
3179         instead of gen_rtx_REG.
3180
3181 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
3182
3183         * expr.c (store_expr): When copying a string constant into an
3184         array, reset the known alignment of the MEM for the section to
3185         be cleared to BITS_PER_UNIT.
3186
3187 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3188
3189         * config/cris/cris.c: Remove whitespace at end of line.
3190
3191 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
3192
3193         * config.gcc (i[34567]86-*-interix3*): New case.
3194         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
3195         New files.
3196
3197 2001-11-28  Richard Henderson  <rth@redhat.com>
3198
3199         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
3200         symbolic_operand as the predicate.
3201
3202 2001-11-28  Richard Henderson  <rth@redhat.com>
3203
3204         * doloop.c (doloop_modify_runtime): Properly select induction
3205         variable; skip late entry test if biv initializer created by loop.
3206
3207 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3208
3209         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
3210         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
3211
3212         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
3213
3214         * tree.h: Add missing checks on some macros; make formatting more
3215         consistent.
3216
3217         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
3218         level; only add to pending_sizes if find it.
3219
3220         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
3221
3222         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
3223         Add casts to remove warnings.
3224
3225         * Makefile.in (OBJS): Sort alphabetically.
3226
3227         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
3228         Also minor cleanups.
3229
3230 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
3231
3232         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
3233         (FLAGS_TO_PASS): Add STAGE_PREFIX.
3234         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
3235         to STAGE_PREFIX.
3236
3237 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
3238
3239         * cse.c (true_dependence_in_rtx): New function.
3240         (invalidate): Use it.
3241
3242         * c-common.h (GOTO_FAKE_P): New macro.
3243         * tree-inline.c (GOTO_FAKE_P): Set.
3244         * c-tree.texi (GOTO_FAKE_P): Document.
3245
3246         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
3247         containing pointers.
3248         (output_addressed_constants): Check for local/external relocations.
3249         * elfos.h (SELECT_SECTION): Classify data section.
3250         * tm.texi (SELECT_SECTION): Update documentation.
3251
3252         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
3253         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
3254
3255 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3256
3257         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
3258         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
3259         OBJECT_FORMAT_ROSE.
3260
3261 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
3262
3263         * config/cris/cris.c: Tweak spacing for prototypes.
3264         (LOSE_AND_RETURN): New macro.
3265         (cris_operand_lossage): New function.
3266         (cris_print_index, cris_print_base): Use cris_operand_lossage
3267         rather than fatal_insn.
3268         (cris_print_operand, cris_print_operand_address): Use
3269         LOSE_AND_RETURN rather than fatal_insn and internal_error.
3270         (cris_output_addr_const): Use LOSE_AND_RETURN and
3271         output_operand_lossage rather than fatal_insn and internal_error
3272         for valid but unexpected rtx expressions.
3273
3274         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
3275         for a SUBREG in src or dest, abort instead.
3276
3277 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3278
3279         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
3280         doc.
3281
3282 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
3283
3284         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
3285         preprocessor define.  If only DBX_DEBUGGING_INFO or only
3286         DWARF2_DEBUGGING_INFO is supported for the target, provide
3287         appropriate definitions.
3288
3289 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3290
3291         * Makefile.in: Update, and add c-objc-common.o dependencies.
3292         * c-lang.c: Remove unnecessary includes.
3293         (c_init): Move bulk of code to c_objc_common_init, and call it.
3294         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
3295         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
3296         c-objc-common.c.
3297         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
3298         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
3299         c_objc_common_init, c_missing_noreturn_ok_p): New.
3300         * toplev.c: Update comment.
3301         * doc/passes.texi: Update.
3302 objc:
3303         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
3304         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
3305         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
3306         (objc_init): Update to use c_objc_common_init.
3307
3308 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
3309
3310         * cpphash.c (_cpp_init_hashtable): Update.
3311         * cpphash.h (struct spec_nodes): Remove n_L.
3312         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
3313
3314 2001-11-17  Richard Henderson  <rth@redhat.com>
3315
3316         * unroll.c (loop_iterations): Move last change ...
3317         * doloop.c (doloop_modify_runtime): ... here.
3318
3319 2001-11-17  Corey Minyard  <minyard@acm.org>
3320             Richard Henderson  <rth@redhat.com>
3321
3322         * unroll.c (loop_iterations): Detect one situation in which we
3323         overestimate the number of iterations.
3324
3325 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3326
3327         * gcc.c (set_input): Export.
3328         Move declaration ...
3329         gcc.h (set_input): ... here.
3330
3331 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3332
3333         * gcc.c (set_collect_gcc_options): New function, split out from
3334         main.
3335         Ignore elided switches.
3336         (do_spec): Invoke before executing command.
3337         (do_spec_1): Likewise.
3338         Fixes PR other/3968.
3339
3340 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
3341
3342         * config/cris/cris.h (INT_ASM_OP): Remove.
3343
3344 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3345
3346         * config/i386/sol2.h (WINT_TYPE): Redefine.
3347         (WINT_TYPE_SIZE): Likewise.
3348
3349 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3350
3351         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
3352         (dup2): Make static and add prototype.
3353         * m68k/plexus.h: Don't define NO_DUP2.
3354         * configure.in (AC_CHECK_FUNCS): Add dup2.
3355         * config.in, configure: Regenerate.
3356
3357         * ia64/aix.h (REG_SIZE): Don't #undef.
3358         * sparc.h (REG_SIZE): Delete.
3359         * flow.c (mark_used_regs): Don't use REG_SIZE.
3360         * regs.h (REG_SIZE): Delete.
3361
3362 2001-11-27  Andreas Schwab  <schwab@suse.de>
3363
3364         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
3365         PREFERRED_DEBUGGING_TYPE.
3366
3367 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3368
3369         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
3370         (expr.o, varasm.o): Depends on langhooks.h.
3371         * c-common.c (c_safe_from_p): Always declare.
3372         (c_expand_expr): Refine when declared.
3373         * c-lang.c (c-common.h): Now include.
3374         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
3375         (c_init): Don't set lang_safe_from_expr.
3376         * expr.c (langhooks.h): Now include.
3377         (lang_safe_from_p): No longer define.
3378         (safe_from_p): Use lang hook.
3379         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
3380         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
3381         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
3382         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
3383         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
3384         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
3385         * langhooks.h (struct lang_hooks): New fields expand_constant
3386         and safe_from_p.
3387         * output.h (output_constant): Size arg is HOST_WIDE_INT.
3388         * stmt.c (expand_decl_init): No longer need to expand constant
3389         for CONST_DECL.
3390         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
3391         * toplev.c (lang_expand_constant): Delete var.
3392         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
3393         operations on SAVE_EXPR.
3394         * varasm.c (langhooks.h): Now include.
3395         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
3396         (record_constant_1, output_addressed_constants): Likewise.
3397         (initializer_constant_valid_p, output_constant): Likewise.
3398         (output_constant_def): Process no-defer of string constant.
3399         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
3400         (output_constant): Strip more conversions.
3401         Track our size and pad for the rest.
3402         (array_size_for_constructor): Remove code for non-byte STRING_CST.
3403         (output_constructor): SIZE now HOST_WIDE_INT.
3404
3405 2001-11-27  Richard Henderson  <rth@redhat.com>
3406
3407         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
3408         in computing DIFF.
3409
3410 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
3411
3412         * cppfiles.c (read_include_file): Add comment.
3413
3414 2001-11-26  Richard Henderson  <rth@redhat.com>
3415
3416         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
3417
3418 2001-11-26  Richard Henderson  <rth@redhat.com>
3419
3420         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
3421         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
3422         commented out override.
3423
3424 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3425
3426         * cppfiles.c (stack_include_file): Don't optimize zero-length
3427         files.
3428         (read_include_file): NUL-terminate read files.
3429         * cpplex.c (handle_newline, skip_escaped_newlines,
3430         get_effective_char, skip_whitespace, parse_identifier,
3431         parse_identifier_slow, parse_number, parse_string,
3432         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
3433         NUL-terminated.
3434         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
3435         Be sure buffers are NUL terminated.
3436         * cppmacro.c (warn_of_redefinition): Kill compile warning.
3437
3438 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3439
3440         * c-common.c: Include tree-inline.h.
3441         (c_language): Move separate definitions here.
3442         (c_common_init_options, c_common_post_options): New.
3443         (c_common_lang_init): Rename c_common_init.
3444         * c-common.h (c_common_lang_init): Similarly.
3445         (c_common_init_options, c_common_post_options): New.
3446         * c-lang.c (c_post_options): Move body to c_common_post_options.
3447         (c_init_options): Use c_common_init_options.
3448         (c_init): Update.
3449         * langhooks.def: Rearrange.
3450         * langhooks.h: Rearrange, and improve comments.
3451         * toplev.c (do_compile): New function.
3452         (toplev_main): Use it.
3453         (lang_independent_f_options, parse_options_and_default_flags,
3454         process_options): Remove trailing periods.
3455         * Makefile.in: Update.
3456 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
3457         functions.
3458         (ojbc_init): Update.
3459
3460 2001-11-26  Richard Henderson  <rth@redhat.com>
3461
3462         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
3463
3464 2001-11-26  DJ Delorie  <dj@redhat.com>
3465
3466         * expr.c (store_constructor): Actually use the value computed
3467         if WORD_REGISTER_OPERATIONS.
3468
3469 2001-11-26  Richard Henderson  <rth@redhat.com>
3470
3471         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
3472         for CONSTRUCTOR.
3473
3474 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3475
3476         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
3477         correct function on AIX.
3478
3479 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
3480
3481         * toplev.c (process_options): Don't force
3482         flag_optimize_sibling_calls to zero just because exceptions are
3483         enabled.
3484
3485 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
3486
3487         * df.h (transfer_function_sbitmap): Use PARAMS around argument
3488         list in function prototypes.
3489         (transfer_function_bitmap): Likewise.
3490
3491 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
3492
3493         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
3494         * config/i386/netbsd-elf.h: Likewise.
3495
3496 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
3497
3498         * doc/trouble.texi: Remove outdated RS/6000 comments.
3499
3500 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
3501
3502         * final.c (walk_alter_subreg): Fix return value.
3503
3504 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
3505
3506         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
3507         alter_subreg.
3508         * sparc.md (post-reload splitters): Do not call alter_subreg.
3509         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
3510
3511 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
3512
3513         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
3514
3515 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
3516
3517         * final.c: (insn_lengths): Make it an int *, so that large jump
3518         tables don't overflow.
3519
3520 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
3521
3522         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
3523         (format_types): Use it for scanf.
3524         (dollar_arguments_pointer_p): New.
3525         (init_dollar_format_checking): Store details of which arguments
3526         are pointers.
3527         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
3528         (finish_dollar_format_checking): Take extra parameter
3529         pointer_gap_ok.  Treat unused arguments differently if
3530         pointer_gap_ok and the unused arguments are pointers.
3531         (check_format_info_main): Pass extra argument to
3532         finish_dollar_format_checking.
3533         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
3534         unused arguments are present between used arguments with operand
3535         numbers.
3536
3537 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
3538
3539         * df.c: Add prototypes for hybrid_search_bitmap and
3540         hybrid_search_sbitmap.
3541         (hybrid_search_bitmap): New function.
3542         (hybrid_search_sbitmap): New function.
3543         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
3544         (iterative_dataflow_bitmap): Ditto.
3545
3546 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3547
3548         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
3549         address computations.
3550
3551 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3552
3553         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
3554         register b (low part of d).
3555
3556 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
3557
3558         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
3559         passed to mcount.
3560
3561 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
3562
3563         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
3564         * config/alpha/x-vms: New file, to compile the above.
3565         * config.gcc (alpha*-dec-vms*): Add x-vms.
3566
3567 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
3568
3569         * genextract.c (main): Set ro_loc for peepholes.
3570
3571 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
3572
3573         * fix-header.c (main): Move inf_buffer termination and inf_limit
3574         calculation to after read.
3575
3576         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
3577         (__UNIX_FOPEN): Define.
3578
3579 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3580
3581         * function.c (assign_stack_temp_for_type): Clear alias set before
3582         setting new one.
3583
3584 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
3585
3586         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
3587         format.
3588         * rs6000.md (cmptf): Fix typo.
3589
3590 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
3591
3592         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
3593         * varasm.c (output_constructor): Use assemble_integer rather
3594         than ASM_OUTPUT_BYTE.
3595
3596 2001-11-23  Andreas Jaeger  <aj@suse.de>
3597
3598         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
3599         extension.
3600
3601 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
3602
3603         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
3604         default definition.
3605         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
3606         (MULTILIB_DEFAULTS): Remove previous definition.
3607
3608 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
3609
3610         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
3611         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
3612
3613 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3614
3615         * cris.h: Revert thinko in last patch.
3616
3617 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
3618
3619         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
3620         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
3621         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
3622         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
3623         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
3624         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
3625
3626         * predict.c, reg-stack.c: Fix spelling errors.
3627
3628 2001-10-09  Andrew Haley  <aph@redhat.com>
3629
3630         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
3631         start of stack slot.
3632
3633 2001-11-22  Graham Stott  <grahams@redhat.com>
3634
3635         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
3636         replacement jump after original jump.
3637
3638         (verify_flow_info): Remove redundent initialisation.
3639         Handle reaching end of insn list before finding a BARRIER.
3640         Only issue one missing barrier diagnostic.
3641
3642 2001-11-22  Graham Stott  <grahams@redhat.com>
3643
3644         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
3645
3646 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3647
3648         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
3649         insn actually does.
3650
3651 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
3652
3653         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
3654         Fix typo -mm32rx=> -m32rx.
3655
3656         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
3657         targets.
3658
3659         * config.gcc (xscale-coff): Add necessary header files to
3660         tm_file variable.
3661
3662 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3663
3664         * rs6000.c (output_cbranch): Use $, not %$, in output template.
3665
3666 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3667
3668         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
3669         (lang_type_quals): Declare.
3670         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
3671         retrieve language-specific qualifiers for a type node, instead of
3672         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
3673         lang_dump_tree.
3674         * tree-dump.h: Rename from c-dump.h.
3675         * c-common.h (C_TYPE_QUALS): Removed.
3676         Move declarations for tree-dump.c interface to...
3677         * tree.h: ... here. Remove lang_dump_tree.
3678         * langhooks.h (struct lang_hooks_for_tree_dump): New.
3679         (struct lang_hooks): Add tree_dump hooks.
3680         * langhooks.c (lhd_tree_dump_dump_tree): New function.
3681         (lhd_tree_dump_type_quals): New function.
3682         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
3683         Declare.
3684         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
3685         * Makefile.in: Move tree-dump.o to language-independent back-end.
3686
3687 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3688
3689         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3690         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3691         * arc.h (DBX_REGISTER_NUMBER): Likewise.
3692         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3693         * avr.h (DBX_REGISTER_NUMBER): Likewise.
3694         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3695         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3696         * convex.h (DBX_REGISTER_NUMBER): Likewise.
3697         * cris.h (DBX_REGISTER_NUMBER): Likewise.
3698         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3699         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3700         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3701         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3702         * i370.h (DBX_REGISTER_NUMBER): Likewise.
3703         * i860.h (DBX_REGISTER_NUMBER): Likewise.
3704         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3705         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3706         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3707         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3708         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3709         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3710         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3711         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3712         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3713         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3714         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3715         * romp.h (DBX_REGISTER_NUMBER): Likewise.
3716         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3717         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3718         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3719         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3720         * v850.h (DBX_REGISTER_NUMBER): Likewise.
3721         * vax.h (DBX_REGISTER_NUMBER): Likewise.
3722         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3723
3724         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3725         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3726
3727 2001-11-21  H.J. Lu <hjl@gnu.org>
3728
3729         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3730
3731 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3732
3733         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3734         emit_cmp_and_jump_insns.
3735
3736         * stormy16.c (xstormy16_expand_builtin_va_arg,
3737         xstormy16_expand_casesi): Likewise.
3738
3739 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3740
3741         * function.c (keep_stack_depressed): Major rework.
3742         (handle_epilogue_set, emit_equiv_load): New functions.
3743         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3744         has return value.
3745         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3746         * rtl.h (SET_IS_RETURN_P): New macro.
3747
3748         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3749         and also support TREE_ADDRESSABLE.
3750         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3751
3752 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
3753
3754         * rs6000.md (cmptf_internal1): Replace %$ with $.
3755
3756 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
3757
3758         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3759         (read_include_file): Use STAT_SIZE_TOO_BIG.
3760
3761         * cppinit.c (INO_T_COPY): Define.
3762         (INO_T_EQ): Uppercase parameters.
3763         (append_include_chain): Use INO_T_COPY.
3764
3765 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
3766
3767         * cfg.c: Fix typos and formatting in the introductory comment.
3768
3769 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
3770
3771         * profile.c (compute_branch_probabilites):  Compute probabilities
3772         for entry/exit edges; estimate probabilities for zero counts.
3773
3774 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3775
3776         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
3777         to emit_library_call.
3778         * function.c (expand_main_function, expand_function_start,
3779         expand_function_end): Likewise.
3780         * profile.c (output_func_start_profiler): Likewise.
3781         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
3782         second argument to emit_library_call.
3783         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
3784         as second argument to emit_library_call.
3785         * calls.c (emit_library_call): Update fn_type description.
3786
3787 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
3788
3789         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
3790         if fndecl is still DECL_INLINE and has DECL_RESULT.
3791
3792 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3793
3794         * clipper.c (clipper_movstr): Avoid uninitialized warning.
3795         * i960.c (is_mask, legitimize_address): Likewise.
3796         * m88k.c (m88k_expand_prologue): Likewise.
3797         * m88k.md: Likewise.
3798         * mcore.c (emit_new_cond_insn): Likewise.
3799         * stormy16.c (xstormy16_emit_cbranch): Likewise.
3800
3801 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
3802
3803         * config.gcc: Delete powerpcle-*-solaris2* stanza.
3804         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
3805         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3806         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
3807         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
3808         config/rs6000/t-ppcos: Expunge all references to Solaris.
3809
3810         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
3811
3812         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
3813         output templates.
3814         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
3815         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
3816
3817 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3818
3819         * sh.md: Avoid uninitialized warnings.
3820         * vax.c (vax_rtx_cost): Likewise.
3821
3822 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
3823
3824         * rs6000.c (direct_return): Check if we are saving altivec
3825         registers.
3826         (first_altivec_reg_to_save): New.
3827         Updated stack frame layout comments.
3828         (rs6000_stack_info): Calculate altivec register save size.
3829         Save link register if we saved some altivec registers.
3830         (rs6000_stack_info): Align save size to 16 if altivec abi or
3831         abi_darwin.
3832         (rs6000_stack_info): Calculate altivec register offsets.
3833         (rs6000_stack_info): Add altivec info to save_size.
3834         (debug_stack_info): Add altivec debug info.
3835         (rs6000_emit_prologue): Save altivec registers and vrsave.
3836         (compute_vrsave_mask): New.
3837         (altivec_expand_builtin): Remove unused variables.
3838         (rs6000_parse_abi_options): Add static qualifier.
3839         (rs6000_expand_builtin): Remove unused parameters.
3840         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
3841         (altivec_init_builtins): Same.
3842         (is_altivec_return_reg): New.
3843         (vrsave_operation): New.
3844         (ALTIVEC_REG_BIT): New.
3845         (generate_set_vrsave): New.
3846
3847         * rs6000.md (get_vrsave): New.
3848         (set_vrsave): New.
3849         (*set_vrsave_internal): New.
3850
3851         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
3852         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
3853         altivec_padding_size, vrsave_mask.
3854         (TOTAL_ALTIVEC_REGS): New.
3855         (EPILOGUE_USES): Add VRSAVE_REGNO.
3856
3857 2001-11-20  Jeff Law <law@redhat.com>
3858
3859         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
3860         exit label as necessary.
3861
3862 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
3863
3864         * reload1.c (elimination_effects): Use function_invariant_p
3865         instead of CONSTANT_P when considering register equivalences.
3866
3867 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
3868
3869         * config.gcc: Add FreeBSD/PowerPC target.
3870         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3871         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3872         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3873         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3874         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3875         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
3876         freebsd-spec.h to tm_file.
3877         (rs6000-*-lynxos*): Add lynx.h to tm_file.
3878         * config/freebsd.h: Tidy up.
3879         (USING_CONFIG_FREEBSD): Define.
3880         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
3881         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
3882         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
3883         (TARGET_HAS_F_SETLKW): Define.
3884         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
3885         * config/freebsd-spec.h: New file.
3886         * config/rs6000/freebsd.h: New file.
3887         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
3888         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
3889         USING_SVR4_H to know when to turn on ELF support.
3890         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
3891         define only if not already defined.
3892         Add FreeBSD support.
3893         * config/rs6000/aix.h (TARGET_VERSION): Define.
3894         * config/rs6000/beos.h: Likewise.
3895         * config/rs6000/darwin.h: Likewise.
3896         * config/rs6000/mach.h: Likewise.
3897         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
3898         Don't include lynx.h directly.
3899
3900 2001-11-20  Graham Stott  <grahams@redhat.com>
3901
3902         * unwind-dw2-fde.c (__deregister_frame_info_bases):
3903         Fix lossage in last change return OB.
3904
3905 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
3906
3907         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
3908         Remove unneeded exit related macros.
3909
3910 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
3911
3912         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
3913
3914         * rs6000.c (rs6000_emit_move): Add TFmode case.
3915         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
3916         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
3917         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
3918         * rs6000.h: ... to here.
3919         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
3920         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
3921         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
3922
3923 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3924
3925         * emit-rtl.c (get_mem_attrs): Fix typo.
3926
3927 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
3928
3929         * c-lang.c (finish_file): Backout 2001-11-16
3930         changes, instead set DECL_DEFER_OUTPUT for static inline functions
3931         before calling c_expand_deferred_function.
3932
3933 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
3934
3935         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
3936         Don't register empty .eh_frame sections.
3937         (__deregister_frame_info_bases, __deregister_frame): Don't
3938         unregister them either.
3939
3940 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
3941
3942         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
3943         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
3944         * configure: Regenerate.
3945         * config.in: Add dummy definitions of new flags.
3946         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
3947         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
3948         * gcc.c (ASM_DEBUG_SPEC): New macro.
3949         (asm_debug): New static variable.
3950         (default_compilers): Add asm_debug when assembling from
3951         user input.
3952         (static_specs): Add asm_debug.
3953
3954 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
3955
3956         * config.gcc (*-*-freebsd*): Remove configuration block.
3957
3958 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
3959
3960         bootstrap/4422
3961         * configure.in: Setup ability to run ./stage[1234]/xgcc in
3962         fixinc *as if* it were a proper lang subdirectory.
3963         * configure: Rebuilt.
3964
3965 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
3966
3967         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
3968
3969 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3970
3971         * 1750a.md: Don't use hex format for a const_int.
3972
3973 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
3974
3975         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
3976
3977 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
3978
3979         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
3980         defined (prevents link errors when gettext isn't in the system
3981         library).
3982
3983 2001-11-19  DJ Delorie  <dj@redhat.com>
3984
3985         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
3986         (validate_const_int): New.
3987         (read_rtx): Validate constant integers.
3988         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
3989
3990 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
3991
3992         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
3993
3994 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
3995
3996         * toplev.c (DUMPFILE_FORMAT): Define default.
3997         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
3998         (close_dump_file, compile_file): Likewise.
3999         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
4000         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
4001
4002 2001-11-19  Jeff Law <law@redhat.com>
4003
4004         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
4005         a nop-jump.
4006
4007 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4008
4009         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
4010         Don't fall off the base token run.
4011
4012 2001-11-19  Jason Wilkins <fenix@io.com>
4013
4014         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
4015
4016 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4017
4018         * tree.def (VIEW_CONVERT_EXPR): New tree code.
4019         * tree.h (handled_component_p): New declaration.
4020         * alias.c (handled_component_p): Move function from here ...
4021         * expr.c (handled_component_p): ... to here and non longer static.
4022         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
4023         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
4024         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
4025         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
4026         (expand_expr, case VIEW_CONVERT_EXPR): New case.
4027         (expand_expr, cse ADDR_EXPR): No need to copy if already
4028         BIGGEST_ALIGNMENT.
4029         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
4030         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
4031         (output_constant): Handle VIEW_CONVERT_EXPR.
4032         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
4033         Add new case for VIEW_CONVERT_EXPR.
4034
4035 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4036
4037         * a29k/unix.h (ASM_FILE_START): Const-ify.
4038         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
4039         * i386/isc.h (ASM_FILE_START): Const-ify.
4040         * i386/sun386.h (ASM_FILE_START): Likewise.
4041         * m32r.md: Likewise.
4042         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
4043         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
4044         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
4045         * mn10200.md: Initialize variable.
4046
4047 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
4048
4049         * gcse.c (try_replace_reg): Copy RTX before creating note.
4050
4051         * df.h (df_ref_flags): New uenum.
4052         (DF_REF_FLAGS): New macro.
4053         (struct ref): Add field "flags".
4054         * df.c (HANDLE_SUBREG): Remove.
4055         (df_ref_create): Likewise; set flags field of ref.
4056         (df_def_record_1): Strip down read_write subreg; remove
4057         commented out code; set READ_WRITE flag.
4058         (read_modify_subreg_p): New static function.
4059         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
4060         new argument "flags".
4061         (df_insn_refs_record): Update call of df_uses_record.
4062         (df_insn_modify): Avoid #if 0 around comment.
4063         (df_dump): Dump the read/write flag.
4064
4065         * predict.c (propagate_freq): Make cyclic_probability and frequency
4066         volatile
4067
4068         * i386.c (ix86_cc_mode): Accept USE.
4069
4070         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
4071         jump is turned into simplejump.
4072
4073 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
4074
4075         * doc/fragments.texi, doc/trouble.texi: Remove links to old
4076         installation chapter.
4077         * doc/gcc.texi: Don't claim that this manual documents
4078         installation.  Mark Installation menu entry as being out of date.
4079
4080 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
4081
4082         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
4083         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
4084         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
4085
4086 2001-11-19  Jason Merrill  <jason@redhat.com>
4087
4088         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
4089         cur_token, not after.
4090
4091         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
4092         Lose ASM_OUTPUT_CONSTRUCTOR.
4093         * system.h: Poison it and INT_ASM_OP.
4094         * c-lang.c (finish_file): Don't check for it.
4095         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
4096
4097 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4098
4099         * mmix.c (mmix_cc1_ignored_option): Const-ify.
4100         (mmix_init_machine_status): Make static to match declaration.
4101         (mmix_unique_section): Const-ify.
4102         (mmix_output_quoted_string): Avoid automatic aggregate
4103         initialization.
4104         (mmix_output_register_setting): Likewise.
4105         (mmix_output_shiftvalue_op_from_str): Likewise.
4106
4107         * mmix.h (mmix_cc1_ignored_option): Const-ify.
4108         (ASM_OUTPUT_BYTE): Fix format specifier warning.
4109         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4110
4111 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4112
4113         PR c/4448
4114         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
4115         name __objc_thread_exit_status so that it matches the
4116         variable defined in objc/thr.h.
4117
4118 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4119
4120         PR bootstrap/4020
4121         * mklibgcc.in: Add missing semi-colons.
4122         * Makefile.in: Same.
4123
4124 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4125
4126         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
4127         after re-laying out decl in incomplete case.
4128         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
4129
4130 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4131
4132         * doc/install-old.texi: Move some sections out to ...
4133         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
4134         ... here.  New files.  Make into chapters rather than sections.
4135         * doc/gcc.texi: Include the new files and add menu entries for
4136         them.
4137         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4138
4139 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4140
4141         * tree.h (TYPE_ALIGN_OK): New flag.
4142         * emit-rtl.c (set_mem_attributes): Handle it.
4143         * expr.c (emit_single_push_insn): Only set to alias set 0 if
4144         doing sibcall optimization.
4145         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
4146         when make temporary.
4147         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
4148         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
4149
4150         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
4151
4152 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4153
4154         * c-decl.c (c_decode_option): Give deprecation warning for
4155         -traditional.
4156         * doc/invoke.texi (-traditional): Note that this option is
4157         deprecated.
4158
4159 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
4160
4161         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
4162         arg to HOST_WIDE_INT, not long.
4163
4164         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
4165         (HAS_INIT_SECTION): Define.
4166         (REAL_ARITHMETIC): Don't undefine.
4167
4168 2001-11-18  Egor Duda  <deo@logos-m.ru>
4169
4170         * config/i386/cygwin.h: Strip leading '*' from name, if any.
4171
4172 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
4173
4174         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
4175         * c-common.c: Include diagnostic.h.
4176         (c_common_finish): New.
4177         * c-common.h (c_common_finish): New.
4178         * c-lang.c (LANG_HOOKS_FINISH): Override.
4179         * c-parse.in: Don't include diagnostic.h.
4180         (finish_parse): Remove.
4181         * langhooks.h: Update comments.
4182         * toplev.c (lang_dependent_init): New prototype.
4183         (finalize): New.
4184         (compile_file): Split cleanup code out to finalize.
4185         (lang_dependent_init): Stop if lang_hooks.init fails.
4186         (toplev_main): Update.
4187         * tree.h (finish_parse): Remove.
4188 objc:
4189         * objc-act.c (LANG_HOOKS_FINISH): Override.
4190
4191 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
4192
4193         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
4194         * config/alpha/vms_tramp.asm: New file.
4195         * config/alpha/vms-tramp.asm: Removed.
4196
4197 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
4198
4199         * c-common.c (struct disabled_builtin, disabled_builtins,
4200         disable_builtin_function, builtin_function_disabled_p): New.
4201         (builtin_function_2): Check for disabled built-in functions.
4202         * c-common.h (disable_builtin_function): Declare.
4203         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
4204         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
4205         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
4206
4207 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4208
4209         PR target/4606
4210         * config.gcc: Remove reference to va-clipper.h.
4211
4212 2001-11-17  Stan Shebs  <shebs@apple.com>
4213
4214         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
4215         AltiVec-related bitfields.
4216
4217 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4218
4219         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
4220         (mark_eh_region, case ERT_UKNONW): New case.
4221
4222 2001-11-17  Christopher Faylor  <cgf@redhat.com>
4223             Corinna Vinschen  <vinschen@redhat.com>
4224
4225         * config/i386/cygwin.h: Search target specific include directory for
4226         w32api stuff, if appropriate.
4227
4228 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
4229
4230         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
4231
4232 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
4233
4234         * config/rs6000/rs6000.md: Change all ldvx to lvx.
4235
4236 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
4237
4238         * gensupport.c (process_rtx): Don't assume filename is the first
4239         argument of any rtl.
4240
4241 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4242
4243         * vax-protos.h (reg_was_0_p): New prototype.
4244         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
4245         * vax.c (follows_p, reg_was_0_p): New functions.
4246
4247 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4248
4249         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
4250         (casesi1): Likewise.  Define new pattern which arises by simplification
4251         when operand 1 is a constant int.  Correct pattern which arises by
4252         simplification when operand 1 is zero.
4253
4254 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
4255
4256         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
4257         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
4258         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
4259         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
4260         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
4261         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
4262         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
4263         * config/arm/aof.h: Don't include arm.h.
4264         * config/arm/aout.h: Likewise.
4265         * config/arm/coff.h: Don't include semi.h and aout.h.
4266         * config/arm/elf.h: Don't include aout.h.
4267         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
4268         (TARGET_VERSION): Undef before defining.
4269         (ARM_OS_NAME): Likewise
4270         (TARGET_DEFAULT): Likewise
4271         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
4272         * config/arm/pe.h: Don't include arm/coff.h.
4273         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
4274         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
4275         * config/arm/riscix1-1.h: Likewise.
4276         * config/arm/rix-gas.h: Don't include riscix.h.
4277         (DBX_CONTIN_LENGTH): Undef before defining.
4278         * config/arm/semi.h: Don't include aout.h.
4279         * config/arm/semiaof.h: Don't include aof.h.
4280         * config/arm/strongarm-coff.h: Don't include coff.h.
4281         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
4282         * config/arm/vxarm.h: Don't include arm/coff.h.
4283         * config/arm/xscale-coff.h: Don't include coff.h.
4284
4285 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4286
4287         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
4288         emit_cmp_insn.
4289
4290 2001-11-16  Andreas Jaeger  <aj@suse.de>
4291
4292         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
4293         to ....
4294         (fixup_fallthru_exit_predecessor): ... this.
4295         Change callers and prototype.
4296
4297 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
4298
4299         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
4300         hand; don't use gen_setcc_2.
4301         (ix86_expand_builtin): Fix pshufw.
4302         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
4303         case UNORDERED to emit the right assembler instruction.
4304         (mmx_pshufw): Lose operand 2.
4305         (cvtsi2ss): Fix representation.
4306         From Graham Stott:
4307         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
4308
4309 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
4310
4311         * doc/include/linux-and-gnu.texi: Remove.
4312         * doc/gnu.texi: New.
4313         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
4314         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4315
4316 2001-11-16  Kazu Hirata  <kazu@hxi.com>
4317
4318         * config/a29k/a29k.c: Fix comment formatting.
4319         * config/a29k/a29k.h: Likewise.
4320         * config/arc/arc.c: Likewise.
4321         * config/arc/arc.h: Likewise.
4322         * config/vax/vax.c: Likewise.
4323         * config/vax/vax.h: Likewise.
4324         * config/we32k/we32k.c: Likewise.
4325         * config/we32k/we32k.h: Likewise.
4326
4327 2001-11-16  Jeff Law  <law@redhat.com>
4328
4329         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
4330         creating a new jump insn.
4331
4332 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4333
4334         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
4335         copy misaligned data.
4336         * varasm.c (assemble_variable): Set alignment into MEM when changed.
4337
4338 2001-11-16  Graham Stott  <grahams@redhat.com>
4339
4340         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
4341         OPALIGN type.
4342
4343 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
4344
4345         * except.c: Support for catching a list of types with a single handler
4346         (struct eh_region): Change type and filter to lists for catch regions.
4347         (mark_eh_region): Mark the filter list for GC also.
4348         (expand_start_catch): Always build a list if argument not NULL and
4349         register each type of the list through add_type_for_runtime.
4350         (duplicate_eh_region_1): Change type into type_list for catch regions.
4351         (assign_filter_values): Assign a filter to each type associated with a
4352         catch region. Assign filter for NULL types in a unique entry in the
4353         filter list.
4354         (build_post_landing_pads): Emit compare and jump for each filter of
4355         the list associated with a catch region.
4356         (reachable_next_level): When the type thrown is known, stop the search
4357         as soon as one type within a catch list matches. Also, a handler is
4358         potentially reachable only if at least one of the types it catches
4359         has not been previously caught.
4360         (collect_one_action_chain): Retrieve the filter for a NULL type list
4361         from the first filter list entry. For non NULL type lists, add an
4362         action record for every filter assigned.
4363         * except.h: Reflect changes in comment before expand_start_catch.
4364
4365 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4366
4367         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
4368         BLKmode.
4369
4370 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
4371
4372         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
4373
4374 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
4375
4376         * c-lang.c (finish_file): Don't emit static inline functions if
4377         they weren't referenced.
4378
4379 2001-11-15  Stan Shebs  <shebs@apple.com>
4380
4381         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
4382
4383 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
4384
4385         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
4386         call.
4387         * config/i386/i386.md: Likewise.
4388
4389 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4390
4391         * timevar.c (rtl.h): Include so get fancy abort.
4392
4393 2001-11-15  Dale Johannesen  <dalej@apple.com>
4394
4395         * config/darwin.h (SELECT_RTX_SECTION):  Force address
4396         initializers into 'const' section
4397         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
4398         if_then_else to match result, not operands
4399
4400 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4401
4402         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
4403         * emit-rtl.c (change_address): Fix typo in default alignment.
4404         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
4405         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
4406         * rtl.h (REGNO_PTR_FRAME_P): New macro.
4407
4408         * expr.c (store_field): Pass tree instead of max size; callers changed.
4409         Change handling of alignment.
4410         Only copy to_rtx if is TARGET.
4411         (expand_expr_unaligned): Delete; callers now use expand_expr.
4412         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
4413         (expand_assignment): Change handling of alignment.
4414         Only copy to_rtx if was original.
4415         (get_inner_reference): No longer return alginment; callers changed.
4416         (expand_expr, case COMPONENT_REF): Change handling of alignment.
4417         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
4418         (compare_from_rtx): Delete ALIGN parm; all callers changed.
4419         (do_compare_rtx_and_jump): Likewise.
4420         * expr.h: Reflect above changes.
4421         * tree.h: Likewise.
4422         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
4423         to get_inner_reference.
4424         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
4425         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
4426         * optabs.c: Likewise.
4427         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
4428         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
4429         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
4430         compare_rtx_and_jump, and emit_cmp_jump_insns.
4431         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
4432         * function.c (assign_stack_temp_for_type): No longer static.
4433         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
4434         (prepare_cmp_insn): Delete declaration.
4435         * rtl.h (assign_stack_temp_for_type): Add declaration.
4436         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
4437         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
4438         * config/i386/i386.c,config/mips/mips.c: Likewise.
4439         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
4440         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
4441
4442 2001-11-15  Stan Shebs  <shebs@apple.com>
4443
4444         * config/rs6000/rs6000.h: Fix a comment typo.
4445         (RTX_COSTS): Sort processor versions better.
4446
4447 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4448
4449         * config/h8300/h8300.md: Fix insn length of bit insns.
4450
4451 2001-11-15  Jason Merrill  <jason@redhat.com>
4452
4453         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
4454         DIEs if there were errors in the source.
4455
4456         * config/alpha/alpha-interix.h, config/alpha/elf.h,
4457         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
4458         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
4459         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
4460         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
4461         config/elfos.h, config/lynx.h, config/netware.h,
4462         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
4463         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
4464         uses to use ASM_LONG.
4465
4466 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
4467
4468         * gensupport.c  process_include : Change call to alloca to
4469         xmalloc.
4470
4471 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
4472
4473         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
4474         templates.
4475
4476 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4477
4478         * final.c (alter_subreg): If simplify_subreg can't do anything,
4479         handle REG ourselves and abort for others.
4480
4481 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
4482
4483         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
4484         routines.
4485
4486 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4487
4488         * fix-header.c (read_scan_file): Update.
4489
4490 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4491
4492         * toplev.c (toplev_main): Don't start timing until after
4493         command-line options are parsed.
4494
4495 2001-11-15  Andreas Schwab  <schwab@suse.de>
4496
4497         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
4498         makefile frag, not host makefile frag.
4499         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
4500         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
4501         used.
4502         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
4503         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
4504         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
4505         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
4506         * config/i386/t-dgux (STMP_FIXPROTO): Define.
4507         * config/x-interix: Don't define STMP_FIXPROTO and
4508         FIXPROTO_DEFINES.
4509         * config/t-interix: New file, define STMP_FIXPROTO.
4510         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
4511         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
4512         * config/t-svr4 (FIXPROTO_DEFINES): Define.
4513         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
4514         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
4515         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
4516         * config/m68k/t-hp3200: Renamed from x-hp3200.
4517         * config/i370/t-oe: Renamed from x-oe.
4518         * config/mips/t-iris: Renamed from x-iris.
4519         * config/pa/t-bsd: Renamed from x-pa.
4520         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
4521         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
4522         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
4523         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
4524         config/rs6000/x-cygwin: Remove files.
4525
4526         * configure.in: Check for target objdump and use that in eh_frame
4527         optimization test.
4528         * configure: Regenerated.
4529
4530 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
4531
4532         * jump.c (squeeze_notes): Return true if no real insns were found.
4533         * rtl.h (squeeze_notes): Adjust prototype.
4534         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
4535         squeeze_notes finds no real instructions, abort.
4536         (merge_blocks_move_successor_nojumps): Likewise.
4537         * loop.c (find_and_verify_loops): Likewise.
4538         * stmt.c (expand_end_case): Likewise.
4539         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
4540         find any real instructions.
4541
4542         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
4543
4544         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
4545         conditional jump, request updating life into for the block
4546         containing it.  Fix a typo which prevented life info update.
4547         Clear blocks bitmap before using it.
4548
4549 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4550
4551         * c-common.c: Include c-lex.h.
4552         (c_common_lang_init): Change prototype.  Call init_c_lex and
4553         init_pragma from here.
4554         * c-common.h (c_common_lang_init): Change prototype.
4555         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
4556         * c-lang.c (c_init): Change prototype.  Update.
4557         (c_init_options): Update.
4558         * c-lex.c (cpp_filename): Remove.
4559         (init_c_lex): Update.  Read the main file, and get the original
4560         file name.
4561         (yyparse): Finish the command line options.
4562         * c-parse.in (c_parse_init): Call init_reswords here.
4563         (init_parse): Remove.
4564         * c-tree.h (c_init_decl_processing): New.
4565         * cpphash.c (_cpp_init_hashtable): After initializing the hash
4566         table, populate it.
4567         * cppinit.c (read_original_filename, cpp_finish_options): New.
4568         (cpp_create_reader): New prototype. Defer hash table initialization.
4569         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
4570         hash table.  Get the original filename.
4571         * cpplib.h (cpp_create_reader): Update.
4572         (cpp_start_read): Remove.
4573         (cpp_read_main_file, cpp_finish_options): New.
4574         * cppmain.c (main, do_preprocessing): Update.
4575         * langhooks.h (struct langhooks): Update init prototype.
4576         * toplev.c (general_init, parse_options_and_default_flags,
4577         process_options, lang_indpendent_init, lang_dependent_init,
4578         init_asm_output): New; perform the bulk of initialization.
4579         (compile_file): Move most of initialization to above functions.
4580         (debug_hooks): Initialize statically.
4581         (set_Wunused): Relocate.
4582         (toplev_main): Move most of initialization to other init functions.
4583         Have a clear logic flow.
4584         * tree.h (init_parse, init_decl_processing): Remove.
4585 objc:
4586         * objc-act.c (objc_init): Update prototype, combine with old
4587         init_parse.
4588         (objc_init_options): Update.
4589
4590
4591 2001-11-15  Andreas Jaeger  <aj@suse.de>
4592
4593         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
4594         portability.
4595         * basic-block.h: Adjust prototype.
4596
4597 2001-11-15  Kazu Hirata  <kazu@hxi.com>
4598
4599         * config/rs6000/aix31.h: Fix comment formatting.
4600         * config/rs6000/beos.h: Likewise.
4601         * config/rs6000/darwin.h: Likewise.
4602         * config/rs6000/eabi.asm: Likewise.
4603         * config/rs6000/linux.h: Likewise.
4604         * config/rs6000/linux64.h: Likewise.
4605         * config/rs6000/lynx.h: Likewise.
4606         * config/rs6000/netbsd.h: Likewise.
4607         * config/rs6000/rs6000.c: Likewise.
4608         * config/rs6000/rs6000.h: Likewise.
4609         * config/rs6000/rs6000.md: Likewise.
4610         * config/rs6000/sol2.h: Likewise.
4611         * config/rs6000/tramp.asm: Likewise.
4612         * config/rs6000/xcoff.h: Likewise.
4613         * config/rs6000/xm-beos.h: Likewise.
4614
4615 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
4616
4617         * rtl.def (INCLUDE) : Define.
4618         * gensupport.c  (init_include_reader, process_include,
4619         save_string) :  New functions to implement an include facility
4620         in .md files.
4621         * gensupport.h : Add prototype for init_md_reader_args.
4622         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
4623         genextract.c genflags.c genopinit.c genoutput.c
4624         genpeep.c genrecog.c: Change call to init_md_reader to
4625         init_md_reader_args.
4626         * md.texi: Document (include "path") and -I directives for RTL
4627         generation tools.
4628
4629 2001-11-14  DJ Delorie  <dj@redhat.com>
4630
4631         * integrate.c (get_hard_reg_initial_reg): New.
4632         * integrate.h (get_hard_reg_initial_reg): Prototype.
4633         * local-alloc.c (block_alloc): Don't tie pseudos that
4634         represent call-saved hard regs' initial values.
4635
4636 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4637
4638         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
4639         recursion.
4640
4641 2001-11-14  Roger Sayle <roger@eyesopen.com>
4642
4643         * fold-const.c (fold): Optimize strlen comparisons against zero.
4644
4645 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
4646
4647         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
4648         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
4649         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
4650         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
4651         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
4652         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
4653         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
4654         Include various CPU headers via tm_file.  a.out based platforms now
4655         properly include sparc/aout.h.  sol2.h usage now implies including
4656         elfos.h, svr4.h, and sparc/sysv4.h.
4657         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
4658         Also define to '1'.
4659         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
4660         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4661         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
4662         Remove.  They are a.out specific and belong in sparc/aout.h.
4663         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
4664         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
4665         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
4666         sparc/sparc.h.
4667         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
4668         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
4669         Moved here from sparc/sparc.h.
4670         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
4671         defining.
4672         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
4673         * config/sparc/lynx.h:  Don't include lynx.h.
4674         (SELECT_SECTION): Do not undef.
4675         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
4676         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
4677         and sparc/sysv4.h.
4678         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
4679         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
4680         sparc/aout.h now.
4681         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
4682         Don't undef, there is no need.
4683         * config/sparc/splet.h (CPP_PREDEFINES): Define.
4684         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
4685         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4686         Don't include sparc/sparc.h.
4687         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4688         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4689         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
4690         elfos.h and svr4.h.
4691         (TARGET_VERSION): Define.
4692         * config/sparc/vxsim.h (TARGET_VERSION): Define.
4693
4694 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
4695
4696         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4697         (cfg_layout_finalize): Use it.
4698         * bb-reorder.c (HAVE_epilogue): Remove.
4699         (make_reorder_chain): Do not care special placement of
4700         last basic block.
4701
4702         * predict.c (expected_value_to_br_prob): Delete the note
4703         once transformed.
4704
4705         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4706         measure integration time separately.
4707
4708 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4709
4710         * function.c (struct temp_slot): ALIGN now unsigned.
4711
4712 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4713
4714         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4715         * config/dsp16xx/dsp16xx.h: Likewise.
4716         * config/dsp16xx/dsp16xx.md: Likewise.
4717
4718 2001-11-14  Kazu Hirata  <kazu@hxi.com>
4719
4720         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4721         that deals with 7-bit shifts in HImode.
4722
4723 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
4724
4725         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4726         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4727         (final_scan_insn): Update call of alter_subreg.
4728         (cleanup_subreg_operands): Likewise.
4729         (alter_subreg): Rewrite using simplify_subreg.
4730         (output_address, output_operand): Update call of alter_subreg.
4731         * output.h (alter_subreg): Update prototype.
4732         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4733         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4734         * Makefile.in (final.o): Add dependency on expr.h
4735
4736 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4737
4738         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4739
4740 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
4741
4742         * doc/install.texi (sparc-*-linux*): Mention requirements for
4743         binutils and glibc.
4744
4745 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
4746
4747         * Makefile.in (POD2MAN): Don't include --section=1.
4748         (manext): Rename to man1ext.  All users changed.
4749         (man7ext): New.
4750         (man7dir): New.
4751         (generated-manpages): Also depend on $(docdir)/gfdl.7,
4752         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4753         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4754         --section=1 in calls to $(POD2MAN).
4755         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4756         (maintainer-clean, install, uninstall): Handle the new man pages.
4757         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4758         (installdirs): Create man7dir.
4759         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
4760         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
4761         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
4762         the SEE ALSO man page section.
4763         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
4764         and fsf-funding(7) in the SEE ALSO man page section.
4765         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
4766         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4767         * doc/include/fdl.texi, doc/include/funding.texi,
4768         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4769         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4770
4771 2001-11-13  Richard Henderson  <rth@redhat.com>
4772
4773         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
4774         as appropriate for the artificial decl.
4775
4776 2001-11-13  Richard Henderson  <rth@redhat.com>
4777
4778         * loop.c (combine_movables): Turn off combination until
4779         move_movables validation bugs are fixed.
4780
4781 2001-11-13  DJ Delorie  <dj@redhat.com>
4782
4783         * config.gcc (powerpc|rs6000): Set default cpp options based
4784         on --with-cpu settings.
4785         * config/rs6000/softfloat.h: New.
4786
4787 2001-11-13  Kazu Hirata  <kazu@hxi.com>
4788
4789         * config/h8300/h8300.c (shift_alg_si): Use special code for
4790         25-bit shifts on H8/S.
4791         (get_shift_alg): Generate special code for 25-bit shifts on
4792         H8/S.
4793
4794 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
4795
4796         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
4797         (adjust_automodify_address_1): New.
4798         * expr.h (adjust_address, adjust_address_nv): Adjust.
4799         (adjust_automodify_address, adjust_automodify_address_nv): Define.
4800         (adjust_address_1): Update prototype.
4801         (adjust_automodify_address_1): Add prototype.
4802         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
4803         (store_by_pieces_2): Likewise.
4804
4805 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4806
4807         * Makefile.in (explow.o): Now depends on ggc.h.
4808         * explow.c (ggc.h): Include.
4809         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
4810
4811         * Makefile.in (expr.o): Depends on insn-attr.h.
4812         * expr.c (insn-attr.h): New include.
4813         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
4814         of MEM.
4815         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
4816         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
4817         clean up related usage in ADDR_EXPR.
4818         (expand_expr_unaligned): Likewise.
4819
4820         * emit-rtl.c (change_address): Fix typo in alias setting.
4821
4822 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4823
4824         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
4825
4826 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
4827
4828         PR bootstrap/3451
4829         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
4830         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
4831
4832 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4833
4834         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
4835         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
4836         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
4837         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
4838         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
4839         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
4840         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
4841         sparc64-*-linux*):  Include various CPU headers via tm_file.
4842         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
4843         (SELECT_SECTION): Likewise.
4844         (SELECT_RTX_SECTION): Likewise.
4845         * config/sparc/sparc_bi.h: New file.
4846         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
4847         * config/sparc/linux-aout.h: Likewise.
4848         * config/sparc/linux.h: Don't include sparc/sysv4.h.
4849         * config/sparc/linux64.h: Likewise.
4850         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
4851         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
4852         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
4853         and dbxcoff.h
4854         (ASM_OUTPUT_IDENT): Do not #undef.
4855         (SELECT_SECTION): Likewise.
4856         (SELECT_RTX_SECTION): Likewise.
4857         * config/sparc/liteelf.h: Don't include gofast.h.
4858         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
4859         * config/sparc/lynx.h: Don't include sparc/sparc.h.
4860         * config/sparc/pbd.h: Likewise.
4861         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
4862         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
4863         * config/sparc/rtemself.h: Don't include rtems.h.
4864         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
4865         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
4866         sparc_bi.h instead.
4867         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
4868         * config/sparc/sol2.h: Include sparc/sparc.h directly.
4869         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
4870         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
4871         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
4872         * config/sparc/sp86x-elf.h: Don't include gofast.h.
4873         * config/sparc/splet.h: Don't include sparc/aout.h.
4874         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
4875         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
4876         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
4877         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
4878         * config/sparc/vxsparc64.h: Don't include gofast.h.
4879         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
4880
4881 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4882
4883         * doc/standards.texi: Mention C99 TC1.
4884
4885 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4886
4887         * mips-protos.h (mips_output_conditional_branch): Const-ify.
4888         * mips.c (mips_output_conditional_branch): Likewise.
4889
4890 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4891
4892         * config/h8300/h8300.c (shift_alg_si): Use special code for
4893         15-bit logical shifts and 31-bit logical shifts.
4894         (get_shift_alg): Generate special code for 15-bit and 31-bit
4895         logical shifts.
4896
4897 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4898
4899         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
4900         doing 6-bit logical shifts on H8/S.
4901         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
4902         (get_shift_alg): Generate special code for 21-bit shifts on
4903         H8/S.
4904
4905 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4906
4907         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
4908         label.
4909
4910 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4911
4912         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
4913         if both size and offset known.
4914
4915 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
4916
4917         * config/ia64/freebsd.h: Fix misspelling.
4918
4919 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
4920
4921         * doc/gcc.texi: Move several chapters out to ...
4922         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
4923         doc/include/linux-and-gnu.texi, doc/interface.texi,
4924         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
4925         ... here.  New files.
4926         * doc/gcc.texi, doc/contrib.texi: Move section headings into
4927         contrib.texi.
4928         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4929
4930 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4931
4932         * config/alpha/alpha-interix.h: Fix comment formatting.
4933         * config/alpha/alpha.c: Likewise.
4934         * config/alpha/alpha.h: Likewise.
4935         * config/alpha/alpha32.h: Likewise.
4936         * config/alpha/freebsd.h: Likewise.
4937         * config/alpha/unicosmk.h: Likewise.
4938         * config/alpha/vms.h: Likewise.
4939
4940 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4941
4942         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4943
4944 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
4945
4946         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
4947         numbers.
4948
4949 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4950
4951         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
4952         from type.
4953         (replace_equiv_address): Call update_temp_slot_address.
4954
4955         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
4956
4957         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
4958
4959 2001-11-12  Kazu Hirata  <kazu@hxi.com>
4960
4961         * config/h8300/h8300.c (shift_alg_qi): New.
4962         (shift_alg_hi): Likewise.
4963         (shift_alg_si): Likewise.
4964         (get_shift_alg): Change the type of count to unsigned int.
4965         Use the tables.
4966
4967 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
4968
4969         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
4970         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
4971         to decide whether to defer a function.
4972         (finish_function): Adjust.
4973         (c_expand_deferred_function): New function.
4974         * c-lang.c (deferred_fns): New variable.
4975         (c_init): Initialize it, and mark it as a root.
4976         (defer_fn): New function.
4977         (finish_file): Expand all deferred functions.
4978         * c-tree.h (defer_fn): Declare.
4979         (c_expand_deferred_function): Likewise.
4980         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
4981         * objc-act.c (deferred_fns): New variable.
4982         (objc_init): Initialize it, and mark it as a root.
4983         (defer_fn): New function.
4984         (finish_file): Expand all deferred functions.
4985
4986 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4987
4988         * alpha.c (unicosmk_special_name): Prototype.
4989         (unicosmk_ssib_name): Delete unused variable.
4990         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
4991         * alpha/vms.h (PREFIX): Undef before defining.
4992         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
4993         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
4994         controlling usage.  Const-ify.
4995         (alias_number): Delete unused variable.
4996         * m32r/m32r.c (m32r_sched_init): Add missing argument.
4997         (m32r_expand_block_move): Fix uninitialized warnings.
4998         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
4999         always true' warnings.
5000         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
5001         * sh/sh.c: Include "integrate.h".
5002         (output_far_jump): Fix uninitialized warning.
5003         * final.c (shorten_branches): Avoid automatic aggregate
5004         initialization.
5005         * integrate.c (subst_constants): Likewise.
5006
5007 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5008
5009         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
5010         (get_shift_alg): Remove redundant code.
5011
5012 2001-11-11  Kazu Hirata  <kazu@hxi.com>
5013
5014         * config/pa/milli64.S: Fix comment formatting.
5015         * config/pa/pa-64.h: Likewise.
5016         * config/pa/pa-linux.h: Likewise.
5017         * config/pa/pa-protos.h: Likewise.
5018         * config/pa/pa.c: Likewise.
5019         * config/pa/pa.h: Likewise.
5020         * config/pa/pa32-linux.h: Likewise.
5021         * config/pa/pa32-regs.h: Likewise.
5022         * config/pa/pa64-hpux.h: Likewise.
5023         * config/pa/pa64-regs.h: Likewise.
5024         * config/pa/som.h: Likewise.
5025
5026 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5027
5028         * doc/gcc.texi: Move several chapters out to ...
5029         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
5030         doc/service.texi, doc/standards.texi, doc/trouble.texi,
5031         doc/vms.texi: ... here.  New files.
5032         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
5033
5034 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
5035
5036         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
5037         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
5038         collect2.c, combine.c, config.in, configure, configure.in,
5039         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
5040         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
5041         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
5042         spelling errors.
5043
5044 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5045
5046         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
5047         Adjust operand number in CONST_DOUBLE.
5048
5049         * expmed.c (extract_bit_field): No longer pass in alignment.
5050         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
5051         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
5052         Likewise.
5053         * expr.c (store_constructor, store_constructor_field): Likewise.
5054         (store_field, emit_group_load, emit_group_store): Likewise.
5055         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
5056         (store_bit_field, extract_bit_field): Likewise.
5057         * calls.c, expr.c, function.c: Change calls to above functions.
5058         * ifcvt.c, stmt.c: Likewise.
5059
5060         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
5061         constant and one is on frame.
5062         If know memref offset, adjust size from decl.
5063
5064 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5065
5066         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
5067         format specifier warning.
5068         * convex.h (ASM_OUTPUT_BYTE): Likewise.
5069         * elfos.h (ALIGN_ASM_OP): Undef before defining.
5070         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
5071         warning.
5072         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5073         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5074         * i386-interix.h (gen_stdcall_suffix): Prototype.
5075         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5076         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5077         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5078         * i386/interix.c (gen_stdcall_suffix): Const-ify.
5079         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5080         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
5081         specifier warnings.
5082         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5083         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5084         ASM_OUTPUT_LONG_DOUBLE): Likewise.
5085         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5086         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5087         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5088         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5089         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
5090         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
5091         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5092         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5093         Likewise.
5094         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
5095         Likewise.
5096         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
5097         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5098         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
5099         Likewise.
5100         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
5101         Likewise.
5102         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5103         Likewise.
5104         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
5105         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5106         * m68k/news.h (PRINT_OPERAND): Likewise.
5107         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
5108         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
5109         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5110         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
5111         definition.
5112         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
5113         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
5114         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
5115         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
5116         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
5117         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
5118         PRINT_OPERAND): Likewise.
5119         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
5120         Likewise.
5121         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5122         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
5123         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
5124         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5125         * mips.c (mips_output_external_libcall): Mark parameter with
5126         ATTRIBUTE_UNUSED.
5127         (mips_asm_file_start): Move variable into the scope where it's
5128         used.
5129         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
5130         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
5131         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
5132         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5133         * ns32k.c (print_operand): Likewise.
5134         * pa.c (print_operand, output_div_insn): Likewise.
5135         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
5136         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
5137         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
5138         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5139         specifier warnings.
5140         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5141         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5142         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
5143         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
5144         specifier warnings.
5145         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
5146
5147         * sdbout.c (sdbout_end_epilogue): Mark parameter with
5148         ATTRIBUTE_UNUSED.
5149         * varasm.c (assemble_global): Likewise.
5150
5151 2001-11-11  H.J. Lu <hjl@gnu.org>
5152
5153         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
5154
5155 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
5156
5157         * final.c (*_MAX_SKIP): Use *_max_skip variables.
5158         * flags.h (align_loops_max_skip, align_jumps_max_skip,
5159         align_labels_max_skip): New global variables.
5160         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
5161         align_labels_max_skip): New global variables.
5162         (toplev_main): Set new variables.
5163         * i386.c (override_options): Set max_skip values.
5164
5165 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
5166
5167         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
5168         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
5169         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
5170         don't print an @fptr for labels either.
5171         (xstormy16_output_addr_vec): Don't print @fptr here.
5172         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
5173
5174 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
5175
5176         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
5177         an ANSI/ISO definitino.
5178         (ssa_const_prop): Likewise.
5179
5180 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
5181
5182         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
5183         altivec registers.
5184
5185 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5186
5187         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
5188         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
5189         * cppmain.c (general_init): Call hex_init.
5190         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
5191
5192         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
5193
5194         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
5195         of dgux.c:output_file_start().
5196
5197         * i386/dgux.c: Delete file.
5198
5199 2001-11-09  Richard Henderson  <rth@redhat.com>
5200
5201         * config/alpha/alpha.c (decl_in_text_section): New.
5202         (current_file_function_operand): Use it.
5203         (alpha_encode_section_info, alpha_end_function): Likewise.
5204
5205 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
5206
5207         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
5208         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
5209         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
5210         so OS specific files and use CPP_PREDEFINES for their needs.
5211         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
5212         target headers to tm_file.
5213         * config/ia64/aix.h (TARGET_VERSION): Likewise.
5214         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
5215         * config/ia64/linux.h (TARGET_VERSION): Likewise.
5216         (FUNCTION_PROFILER): Remove.
5217         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
5218         version in config/ia64/linux.h.
5219         * config/ia64/freebsd.h: New file.
5220         * config/freebsd.h: Tidy up.
5221         (_USING_CONFIG_FREEBSD): Define.
5222         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
5223         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
5224         (FBSD_STARTFILE_SPEC): Likewise.
5225         (FBSD_ENDFILE_SPEC): Likewise.
5226         (FBSD_LIB_SPEC): Likewise.
5227         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
5228         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
5229         set an ELF-improper one.
5230
5231 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5232
5233         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
5234         constant can be loaded in a single instruction to a register.  When
5235         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
5236         depdi for insertion of most significant 32-bits on 64-bit hosts.
5237         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
5238         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
5239         * pa.md: New addmove pattern for adding constant_int to HImode
5240         register and moving result to HImode register.  Remove HImode HIGH
5241         and LO_SUM patterns.
5242
5243 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5244
5245         * Makefile.in: Update.
5246         * c-decl.c (print_lang_decl, print_lang_type): Remove.
5247         (print_lang_identifier): Rename c_print_identifier.
5248         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5249         (print_lang_statistics, lang_print_xnode): Remove.
5250         * c-parse.in (set_yydebug): Rename c_set_yydebug.
5251         * c-tree.h (c_set_yydebug, c_print_identifier): New.
5252         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
5253         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
5254         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
5255         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
5256         (LANG_HOOKS_INITIALIZER): Update.
5257         * langhooks.h (struct lang_hooks): New members.
5258         (lang_print_tree_hook): New.
5259         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
5260         * print-tree.c: Include langhooks.h.
5261         (print_node): Update.
5262         * toplev.c (decode_d_option): Update.
5263         * tree.c: Include langhooks.h.
5264         (dump_tree_statistics): Update.
5265         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
5266         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
5267 objc:
5268         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
5269         LANG_HOOKS_SET_YYDEBUG): Override.
5270         (lang_print_xnode, print_lang_statistics): Remove.
5271
5272 2001-11-09  Richard Henderson  <rth@redhat.com>
5273
5274         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
5275         on the symbol string.
5276
5277 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5278
5279         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
5280         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
5281         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
5282
5283         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
5284
5285         * tlink.c (recompile_files): Copy strings passed to `putenv'.
5286
5287 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
5288
5289         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
5290         (TYPE_READONLY): Likewise.
5291
5292         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
5293
5294         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
5295         don't pass --gdwarf2 to the assembler if the compiler will also
5296         provide debug info.
5297
5298         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
5299         Don't change INDEX.
5300
5301 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5302
5303         * alias.c (nonoverlapping_memrefs_p): New function.
5304         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
5305
5306         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
5307
5308 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
5309
5310         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
5311         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
5312         generating altivec code.
5313         (FIXED_REGISTERS): VRSAVE is fixed.
5314         (CALL_USED_REGISTERS): VRSAVE is call used.
5315
5316 2001-11-09  Jason Eckhardt  <jle@rice.edu>
5317
5318         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
5319         code the branch target as ".+16/.+12", but rather use labels.
5320
5321 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
5322
5323         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
5324         to work around limitations of certain versions of GAS.
5325
5326         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
5327         (muldi3): Update due to SUBREG_BYTE changes.
5328         (casesi): Similarly.
5329
5330 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
5331
5332         * doc/invoke.texi: Remove comment referring to -xf77-version.
5333
5334 2001-11-09  Kazu Hirata  <kazu@hxi.com>
5335
5336         * config/convex/convex.c: Fix comment formatting.
5337         * config/convex/convex.h: Likewise.
5338
5339 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
5340
5341         * Makefile.in (.po.pox): Look both in srcdir and builddir
5342         for $(PACKAGE).pot.
5343         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
5344         to the source directory.
5345
5346 2001-11-09 Ben Elliston  <bje@redhat.com>
5347            Michael Meissner  <meissner@redhat.com>
5348            Andrew MacLeod  <amacleod@redhat.com>
5349            Richard Henderson  <rth@redhat.com>
5350            Nick Clifton  <nickc@redhat.com>
5351            Catherine Moore  <clm@redhat.com>
5352
5353         * m32r.c: Add support for m32rx processor.
5354         * m32r.h: Ditto.
5355         * m32r.md: Ditto.
5356         * t-m32r: Ditto.
5357         * m32r-protos.h: Add prototypes for m32rx functions.
5358         * doc/invoke.texi: Document -m32rx option.
5359
5360 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5361
5362         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
5363         or after reload.
5364
5365 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5366
5367         * doc/install.texi2html: Use $MAKEINFO --no-split.
5368
5369 2001-11-09  Andreas Schwab  <schwab@suse.de>
5370
5371         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
5372         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
5373         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
5374         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
5375         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
5376
5377 2001-11-09  H.J. Lu <hjl@gnu.org>
5378
5379         * config/mips/mips.c (mips_output_function_prologues): Cast
5380         `tsize' to long for output.
5381
5382 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5383
5384         * c-lang.c (LANG_HOOKS_NAME): New.
5385         (lang_hooks): Constify.
5386         (c_init_options): Update.
5387         (lang_identify): Remove.
5388         * c-parse.in (language_string): Remove.
5389         * dbxout.c: Include langhooks.h.
5390         (dbxout_symbol_location): Update.
5391         * dwarf2out.c: Include langhooks.h.
5392         (gen_compile_unit_die): Update.
5393         * dwarfout.c: Include langhooks.h.
5394         (prototyped_attribute, output_compile_unit_die): Update.
5395         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
5396         (LANG_HOOKS_INITIALIZER): Update.
5397         * langhooks.h (struct lang_hooks): New members.  Constify.
5398         * stringpool.c: Don't include toplev.h.
5399         (set_identifier_size): Remove.
5400         * toplev.c (toplev_main): Initialize identifier size.
5401         (print_version): Update.
5402         * tree.h (language_string, init_lex, lang_identify,
5403         set_identifier_size): Remove.
5404         * Makefile.in: Update dependencies.
5405         * config/darwin.c: Include langhooks.h.
5406         (func_name_maybe_scoped): Update.
5407         * config/darwin.h (ASM_END_FILE): Update.
5408         * config/nextstep.h (ASM_END_FILE): Update.
5409         * config/nextstep21.h (ASM_END_FILE): Update.
5410         * config/i386/sun386.h (ASM_END_FILE): Update.
5411         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
5412         (rs6000_output_function_epilogue): Update.
5413 objc:
5414         * objc-act.c (LANG_HOOKS_NAME): Override.
5415         (struct lang_hooks): Constify.
5416         (objc_init_options): Update.
5417         (lang_identify): Remove.
5418
5419 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
5420
5421         * fold-const.c (lshift_double): Honor PREC.
5422         (rshift_double): Likewise.
5423
5424 2001-11-08  Kazu Hirata  <kazu@hxi.com>
5425
5426         * config/1750a/1750a.c: Fix comment formatting.
5427         * config/1750a/1750a.h: Likewise.
5428
5429 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
5430
5431         * configure.in (--enable-languages): Be more permissive about
5432         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
5433         * configure: Regenerated.
5434
5435 2001-11-08  Richard Henderson  <rth@redhat.com>
5436
5437         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
5438
5439 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
5440
5441         * config.gcc: Rename stormy16 to xstormy16.
5442         * config/stormy16/stormy-abi: Likewise.
5443         * config/stormy16/stormy16-protos.h: Likewise.
5444         * config/stormy16/stormy16.c: Likewise.
5445         * config/stormy16/stormy16.h: Likewise.
5446         * config/stormy16/stormy16.md: Likewise.
5447
5448 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
5449
5450         * tree.h (TYPE_VOLATILE): Add enable-checking code.
5451         (TYPE_READONLY): Likewise.
5452
5453 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5454
5455         * reload1.c (reload): Don't delete equiv insn if can throw.
5456
5457         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
5458         (clear_storage): Likewise, for OBJECT.
5459
5460 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
5461
5462         * pa.c (emit_move_sequence): Fix SUBREG expression to
5463         use proper byte offset when extending a constant from
5464         SImode to DImode.
5465
5466 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
5467
5468         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
5469         which cannot throw.
5470
5471 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5472
5473         * explow.c (convert_memory_address, case SUBREG): Only return
5474         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
5475
5476 2001-11-08  Richard Henderson  <rth@redhat.com>
5477
5478         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
5479         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
5480         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
5481
5482 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
5483
5484         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
5485
5486 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5487
5488         * dwarf2out.c (debug_str_hash): New.
5489         (struct indirect_string_node): New.
5490         (struct dw_val_struct): Change type of val_str to it.
5491         (DEBUG_STR_SECTION_FLAGS): Define.
5492         (add_AT_string): Push string into hashtable, increment reference
5493         counter.
5494         (AT_string): Return string from ht_identifier.
5495         (AT_string_form): New.
5496         (free_AT): For dw_val_class_str, just decrement reference counter.
5497         (size_of_string): Remove.
5498         (size_of_die): Use AT_string_form to decide what size the string
5499         occupies in DIE.
5500         (size_of_pubnames): Use strlen instead of size_of_string.
5501         (value_format): Use AT_string_form for dw_val_class_str.
5502         (output_die): Output DW_FORM_strp strings using
5503         dw2_asm_output_offset.
5504         (indirect_string_alloc, output_indirect_string): New.
5505         (dwarf2out_finish): Emit .debug_str strings if there are any.
5506
5507 2001-11-08  Andreas Franck  <afranck@gmx.de>
5508
5509         * configure.in: Add AC_ARG_PROGRAM to support program name
5510         transformation with --program-prefix, --program-suffix and
5511         --program-transform-name.
5512         * configure: Regenerated.
5513         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
5514         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
5515         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
5516         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
5517         program_transform_name the way suggested by autoconf.
5518         (GCC_TARGET_INSTALL_NAME): Define.
5519         (install-driver): Use the transformed target alias name.
5520
5521 2001-11-08  Richard Henderson  <rth@redhat.com>
5522
5523         * config/mips/mips.c (save_restore_insns): Remove GP from the
5524         restore registers mask early instead of special casing it inside
5525         the loop.
5526
5527 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5528
5529         * cp/decl.c (shadow_warning): New function.
5530         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
5531         and an error when a block scope decl shadows a parameter.
5532
5533 2001-11-08  Richard Henderson  <rth@redhat.com>
5534
5535         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
5536         case as well.
5537
5538 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5539
5540         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
5541         to implement floating negation on processors prior to PA 2.0.
5542
5543 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
5544
5545         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
5546         (USE_LINKONCE_INDIRECT): Define.
5547         (dw2_output_indirect_constant_1): Try to output indirect constants
5548         into linkonce sections if possible.
5549         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
5550         (dw2_output_indirect_constants): Likewise.
5551
5552 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5553
5554         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
5555
5556 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5557
5558         * c-decl.c (pushdecl): Remove file and line.
5559         * c-typeck.c (pop_init_level): Remove size.
5560
5561 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
5562
5563         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
5564         for rs6000.
5565
5566         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
5567         (TARGET_ALTIVEC): New.
5568         (TARGET_SWITCHES): Add altivec.
5569         (FIRST_PSEUDO_REGISTER): Change to 109.
5570         (CALL_USED_REGISTERS): Same.
5571         (FIRST_ALTIVEC_REGNO): New.
5572         (LAST_ALTIVEC_REGNO): New.
5573         (ALTIVEC_REGNO_P): New.
5574         (UNITS_PER_ALTIVEC_WORD): New.
5575         (ALTIVEC_VECTOR_MODE): New.
5576         (FIXED_REGISTERS): Add altivec registers.
5577         (REG_ALLOC_ORDER): Same.
5578         (HARD_REGNO_NREGS): Adjust for altivec registers.
5579         (HARD_REGNO_MODE_OK): Same.
5580         (MODES_TIEABLE_P): Same.
5581         (REGISTER_MOVE_COST): Same.
5582         (REGNO_REG_CLASS): Same.
5583         (reg_class): Add ALTIVEC_REGS.
5584         (REG_CLASS_NAMES): Same.
5585         (REG_CLASS_CONTENTS): Same.
5586         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
5587         (ALTIVEC_ARG_RETURN): New.
5588         (FUNCTION_VALUE): Handle VECTOR_TYPE.
5589         (LIBCALL_VALUE): Handle altivec vector modes.
5590         (VECTOR_MODE_SUPPORTED_P): New.
5591         (ALTIVEC_ARG_MIN_REG): New.
5592         (ALTIVEC_ARG_MAX_REG): New.
5593         (ALTIVEC_ARG_NUM_REG): New.
5594         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
5595         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
5596         (REGISTER_NAMES): Add altivec regs.
5597         (DEBUG_REGISTER_NAMES): Same.
5598         (ADDITIONAL_REGISTER_NAMES): Same.
5599         (rs6000_builtins): New.
5600         (MD_EXPAND_BUILTIN): New.
5601         (MD_INIT_BUILTINS): New.
5602         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
5603         for AltiVec instructions.
5604         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
5605         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
5606         registers.
5607         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
5608         (TARGET_SWITCHES): Add no-altivec.
5609         (DATA_ALIGNMENT): Align vectors to 128 bits.
5610         (TARGET_OPTIONS): Add abi= option.
5611         Add rs6000_abi_string extern.
5612         (LOCAL_ALIGNMENT): New.
5613         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
5614         (MASK_ALTIVEC_ABI): New.
5615         (TARGET_ALTIVEC_ABI): New.
5616         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
5617         call-saved.
5618         (STACK_BOUNDARY): Adjust for altivec.
5619         (BIGGEST_ALIGNMENT): Same.
5620         (rs6000_args): Add vregno.
5621         (USE_ALTIVEC_FOR_ARG_P): New.
5622         (FIXED_REGISTERS): Add vrsave register.
5623         (CALL_USED_REGISTERS): Same.
5624         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
5625         (VRSAVE_REGNO): New.
5626         (reg_class): Add VRSAVE_REGS.
5627         (REG_CLASS_NAMES): Same.
5628         (REG_CLASS_CONTENTS): Same.
5629         (REGNO_REG_CLASS): Same.
5630
5631         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
5632         (ABI_STACK_BOUNDARY): Same.
5633         (BIGGEST_ALIGNMENT): Same.
5634         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
5635         (ROUND_TYPE_ALIGN): Same.
5636
5637         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5638         to 64.
5639
5640         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5641         to 64.
5642
5643         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
5644         to 64.
5645
5646         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
5647         (altivec_expand_builtin): New.
5648         (altivec_init_builtins): New.
5649         (TARGET_EXPAND_BUILTIN): New.
5650         (TARGET_INIT_BUILTINS): New.
5651         (rs6000_init_builtins): New.
5652         (struct builtin_description): New.
5653         (bdesc_2arg): New.
5654         (rs6000_reg_names): Add altivec registers.
5655         (alt_reg_names): Same.
5656         (secondary_reload_class): Altivec regs can hold altivec regs and
5657         memory.
5658         (rs6000_emit_move): Force constants into memory for AltiVec moves.
5659         (print_operand): Add 'y' case for printing altivec memory
5660         operands.
5661         (rs6000_legitimize_address): Legitimize vector addresses into
5662         [REG+REG] or [REG].
5663         (altivec_expand_binop_builtin): New.
5664         New string rs6000_current_abi.
5665         (rs6000_override_options): Call rs6000_parse_abi_options.
5666         (rs6000_parse_abi_options): New.
5667         (function_arg_boundary): Vector arguments must be 16
5668         byte aligned.
5669         (function_arg_advance): Handle vector arguments.
5670         (function_arg_partial_nregs): Same.
5671         (init_cumulative_args): Same.
5672         (function_arg): Same.
5673
5674         * config/rs6000/rs6000.md (altivec_lvx): New.
5675         (type): Add altivec attribute.
5676         (movv4si): New.
5677         (*movv4si_internal): New.
5678         (movv16qi): New.
5679         (*movv16qi_internal): New.
5680         (movv8hi): New.
5681         (*movv8hi_internal1): New.
5682         (movv4sf): New.
5683         (*movv4sf_internal1): New.
5684         (altivec_stvx): New.
5685         (vaddubm): New.
5686         (vadduhm): New.
5687         (vadduwm): New.
5688         (vaddfp): New.
5689         (vaddcuw): New.
5690         (vaddubs): New.
5691         (vaddsbs): New.
5692         (vadduhs): New.
5693         (vaddshs): New.
5694         (vadduws): New.
5695         (vaddsws): New.
5696         (vand): New.
5697         (vandc): New.
5698         (vavgub): New.
5699         (vavgsb): New.
5700         (vavguh): New.
5701         (vavgsh): New.
5702         (vavguw): New.
5703         (vavgsw): New.
5704         (vcmpbfp): New.
5705         (vcmpequb): New.
5706         (vcmpequh): New.
5707         (vcmpequw): New.
5708         (vcmpeqfp): New.
5709         (vcmpgefp): New.
5710         (vcmpgtub): New.
5711         (vcmpgtsb): New.
5712         (vcmpgtuh): New.
5713         (vcmpgtsh): New.
5714         (vcmpgtuw): New.
5715         (vcmpgtsw): New.
5716         (vcmpgtfp): New.
5717         (vcmpgefp): New.
5718         (vcmpgtub): New.
5719         (vcmpgtsb): New.
5720         (vcmpgtuh): New.
5721         (vcmpgtsh): New.
5722         (vcmpgtuw): New.
5723         (vcmpgtsw): New.
5724         (vcmpgtfp): New.
5725         (vmaxub): New.
5726         (vmaxsb): New.
5727         (vmaxuh): New.
5728         (vmaxsh): New.
5729         (vmaxuw): New.
5730         (vmaxsw): New.
5731         (vmaxfp): New.
5732         (vmrghb): New.
5733         (vmrghh): New.
5734         (vmrghw): New.
5735         (vmrglb): New.
5736         (vmrglh): New.
5737         (vmrglw): New.
5738         (vminub): New.
5739         (vminsb): New.
5740         (vminuh): New.
5741         (vminsh): New.
5742         (vminuw): New.
5743         (vminsw): New.
5744         (vminfp): New.
5745         (vmuleub): New.
5746         (vmulesb): New.
5747         (vmuleuh): New.
5748         (vmulesh): New.
5749         (vmuloub): New.
5750         (vmulosb): New.
5751         (vmulouh): New.
5752         (vmulosh): New.
5753         (vnor): New.
5754         (vor): New.
5755         (vpkuhum): New.
5756         (vpkuwum): New.
5757         (vpkpx): New.
5758         (vpkuhss): New.
5759         (vpkshss): New.
5760         (vpkuwss): New.
5761         (vpkswss): New.
5762         (vpkuhus): New.
5763         (vpkshus): New.
5764         (vpkuwus): New.
5765         (vpkswus): New.
5766         (vrlb): New.
5767         (vrlh): New.
5768         (vrlw): New.
5769         (vslb): New.
5770         (vslh): New.
5771         (vslw): New.
5772         (vsl): New.
5773         (vslo): New.
5774         (vsrb): New.
5775         (vrsh): New.
5776         (vrsw): New.
5777         (vsrab): New.
5778         (vsrah): New.
5779         (vsraw): New.
5780         (vsr): New.
5781         (vsro): New.
5782         (vsububm): New.
5783         (vsubuhm): New.
5784         (vsubuwm): New.
5785         (vsubfp): New.
5786         (vsubcuw): New.
5787         (vsububs): New.
5788         (vsubsbs): New.
5789         (vsubuhs): New.
5790         (vsubshs): New.
5791         (vsubuws): New.
5792         (vsubsws): New.
5793         (vsum4ubs): New.
5794         (vsum4sbs): New.
5795         (vsum4shs): New.
5796         (vsum2sws): New.
5797         (vsumsws): New.
5798         (vxor): New.
5799
5800 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
5801
5802         * Makefile.in (df.o): Add fibheap.h to dependencies.
5803
5804         * df.h: Add prototypes for transfer functions, iterative_dataflow
5805         functions.
5806         (enum df_flow_dir): New enum.
5807         (enum df_confluence_op): New enum.
5808         (struct df): Add inverse_rts_map.
5809
5810         * df.c: Add sbitmap.h to the list of includes.
5811         (df_rd_global_compute): Removed.
5812         (df_ru_global_compute): Removed.
5813         (df_lr_global_compute): Removed.
5814         (df_rd_transfer_function): New function.
5815         (df_ru_transfer_function): New function.
5816         (df_lr_transfer_function): New function.
5817         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
5818         Use iterative_dataflow_bitmap instead of df_*_global_compute.
5819         (iterative_dataflow_sbitmap): New function.
5820         (iterative_dataflow_bitmap): New function.
5821
5822 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
5823
5824         * doc/gcc.texi: Move terminology and spelling conventions to
5825         htdocs/codingconventions.html.
5826
5827 2001-11-07  Graham Stott  <grahams@redhat.com>
5828
5829         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
5830
5831 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
5832
5833         * expmed.c (expand_mult): Force operand to register before computing
5834         cost.
5835         * i386.c (x86_decompose_lea): New global vairable.
5836         * i386.h (x86_decompose_lea): Declare.
5837         (TARGET_DECOMPOSE_LEA): New macro.
5838         (RTX_COST): Handle leas properly.
5839
5840 2001-11-06  Richard Henderson  <rth@redhat.com>
5841
5842         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
5843         defined for a CONSTRUCTOR; don't check it.
5844
5845 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
5846
5847         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
5848         test for absolute pathnames.
5849
5850 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
5851
5852         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
5853         instructions up to the target pc inclusive.
5854
5855 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
5856
5857         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
5858
5859 2001-11-06  Eric Christopher  <echristo@redhat.com>
5860
5861         * config/mips/mips.md(movdf_internal2): Add constraints for float
5862         to general register move.
5863         * config/mips/elf64.h: Add default ABI.
5864
5865 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5866
5867         * alias.c:: Include langhooks.h.
5868         * emit-rtl.c: Similarly.
5869         * toplev.c: Similarly.
5870         * tree-inline.c: Similarly.
5871         * langhooks-def.h: New, the old langhooks.h.  Give the default
5872         hooks a common prefix.
5873         * langhooks.h: Contents extracted from toplev.h.
5874         * toplev.h: Move langhook stuff to langhooks.h.
5875         * langhooks.c: Give default hooks a common prefix.
5876
5877         * c-lang.c: Include langhooks-def.h.
5878         * objc/objc-act.c: Similarly.
5879         * Makefile.in: Update.
5880         * objc/Make-lang.in: Update.
5881
5882 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
5883
5884         * doc/install.texi: Document that configure options not listed in
5885         this file are unsupported.  Document --with-system-zlib.
5886
5887 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5888
5889         * rtl.h (mem_for_const_double): New declaration.
5890         * varasm.c (mem_for_const_double): New function.
5891         * config/convex/convex.md (movdf): Use it.
5892         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
5893         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
5894         * config/m68k/m68kv4.h: Likewise.
5895
5896         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
5897         of new GP reg classes.
5898
5899         * expr.c (store_field): When making temp object for unaligned
5900         component, set it to alias set 0.
5901
5902 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
5903
5904         * c-common.c (c_expand_expr_stmt): Apply default conversions to
5905         non-lvalue arrays if C99.
5906         * c-typeck.c (default_conversion): Split out code handling
5907         array-to-pointer and function-to-pointer conversions into a
5908         separate default_function_array_conversion function.
5909         (default_function_array_conversion): New function.  Keep track of
5910         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
5911         arrays unchanged outside C99 mode instead of giving an error for
5912         them.
5913         (build_component_ref): Use pedantic_non_lvalue when handling
5914         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
5915         (convert_arguments): Use default_function_array_conversion.
5916         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
5917         non-lvalues are OK.
5918         (unary_complex_lvalue): Likewise.
5919         (internal_build_compound_expr): Use
5920         default_function_array_conversion.  Apply default conversions to
5921         function in compound expression.
5922         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
5923         Use default_function_array_conversion.
5924         * doc/extend.texi: Update documentation of subscripting non-lvalue
5925         arrays.
5926         Fixes PR c/461.
5927
5928 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
5929
5930         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
5931         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
5932         corresponding to the complete set of .po and .gmo files in
5933         the source directory's po subdir, modified by LINGUAS.  Don't
5934         look at ALL_LINGUAS.
5935         * configure.in: Don't set ALL_LINGUAS.
5936         * configure: Regenerate.
5937
5938         * Makefile.in (.po.gmo): Don't move into source directory.
5939         (.po.pox): Clarify comments.
5940         (install-po): Look for .gmo files in both srcdir and objdir;
5941         don't fail if a file is totally missing.
5942         (distclean): rmdir ada subdirectory too.
5943
5944 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
5945
5946         * config/rs6000/rs6000.c (rs6000_select_section): Handle
5947         CONSTRUCTORs _correctly_.
5948
5949 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5950
5951         * c-decl.c (delete_block): Remove.
5952         * c-tree.h (delete_block): Remove.
5953
5954 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
5955
5956         * cppexp.c (lex, parse_defined): Update warning about defined.
5957
5958 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
5959
5960         * config/rs6000/rs6000.c (rs6000_select_section): Handle
5961         CONSTRUCTORs too.
5962
5963 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
5964
5965         * config/arm/arm.c (arm_return_in_memory): Cope with
5966         int_size_in_bytes returning -1.
5967
5968         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
5969         DECL being NULL.
5970
5971 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
5972
5973         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
5974         remove unneeded dependencies;
5975         (cfglayout.o): New.
5976         * cfglayout.c, cfglayout.h: New files; break out from ...
5977         * bb-reorder.c: ... here; Remove unneeded includes;
5978
5979 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
5980
5981         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
5982
5983 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
5984
5985         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
5986         mode as well.  Do not explicitly create intermediate regs.
5987
5988 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5989
5990         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
5991         (common_section): Delete unused variable.
5992         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
5993         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5994         * arm-protos.h (arm_poke_function_name, aof_add_import,
5995         aof_delete_import): Const-ify.
5996         * arm.c (legitimize_pic_address): Wrap variables in the macro
5997         controlling their usage.
5998         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
5999         (arm_poke_function_name, pic_chain, import, aof_add_import,
6000         aof_delete_import): Const-ify.
6001         * i386.c (ix86_osf_output_function_prologue): Const-ify.
6002         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
6003         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
6004         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
6005         * i860/sysv3.h: Add missing comment closure.
6006         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
6007         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
6008         to symbolic_operand.
6009
6010         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
6011         (i960-*-*): Set tmake_file.
6012         (sparc86x-*-elf*): Fix typo in header name.
6013
6014         * sched-rgn.c (schedule_insns): Delete unused variable.
6015
6016 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
6017
6018         PR c/2820
6019         * c-typeck.c (lookup_field): Rework to return a chain down to
6020         the looked-up field.
6021         (build_component_ref): Use the new lookup_field to handle
6022         nested anonymous entities correctly.
6023
6024 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6025
6026         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
6027         Change parameters to gen_rtx_CONST_DOUBLE.
6028         (GEN_INT64, sparc_emit_set_const64): Likewise.
6029         * config/sparc/sparc.md (movdf split): Likewise.
6030
6031 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
6032
6033         * unroll.c (calculate_giv_inc): Use find_last_value rather
6034         than just hoping the last instruction is the right SET.
6035         [Fixes 990604-1.c on stormy16.]
6036
6037         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
6038         library at all if -T is used.
6039
6040         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
6041         some uses of uninitialized variables in error cases.
6042
6043         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
6044         look at 'temp' if we won't be using it.
6045
6046         * config/stormy16/stormy16.h (CONST_COSTS): Define.
6047         (RTX_COSTS): Define.
6048         (ADDRESS_COST): Define.
6049         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
6050
6051         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
6052
6053         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
6054         stormy16_asm_output_mi_thunk.
6055         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
6056         function.
6057         * config/stormy16/stormy16-protos.h
6058         (stormy16_asm_output_mi_thunk): New prototype.
6059
6060 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6061
6062         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
6063         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
6064         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
6065         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
6066         sched-int.h, toplev.c, config/alpha/alpha.c,
6067         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
6068         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
6069         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
6070         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
6071         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
6072         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
6073         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
6074
6075 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6076
6077         * Makefile.in (dbxout.o): Depend on function.h.
6078         * collect2.c (is_in_list): Hide unused function.
6079         * dbxout.c: Include function.h.
6080         (source_label_number, dbxout_source_line, dbxout_source_file,
6081         dbxout_function_end, dbxout_begin_function): Wrap/move inside
6082         macros controlling usage.
6083         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
6084         * output.h (exports_section): Prototype.
6085
6086         * convex.c (convex_output_function_prologue): Fix format specifier
6087         warning.
6088         (asm_declare_function_name): Fix signed/unsigned warning.
6089         (print_operand): Fix format specifier warning.
6090         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
6091         * dsp16xx-protos.h (uns_comparison_operator,
6092         num_1600_core_shifts): Prototype.
6093         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
6094         (frame_size, frame_pointer_offset): Delete.
6095         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
6096         Make static.  Fix format specifier warnings.
6097         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
6098         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
6099         * dsp16xx.md: Add default case in switches.
6100         * fr30.h (IN_RANGE): Delete.
6101         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6102         * mcore-protos.h (mcore_output_cmov): Const-ify.
6103         * mcore.c (mcore_output_cmov): Likewise.
6104         * mcore.h (switch_to_section): Make static and prototype.
6105         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
6106         unsigned>=0 warnings.
6107         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
6108         * rs6000-protos.h (read_only_data_section,
6109         read_only_private_data_section): Prototype.
6110         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
6111         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
6112         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
6113
6114 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6115
6116         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
6117         ATTRIBUTE_UNUSED.
6118         * final.c (final_scan_insn): Add brackets around body of if-stmt.
6119         * gcc.c (convert_filename): Add static prototype.  Const-ify.
6120         Wrap variable in macros controlling its use.
6121         * output.h (sdata_section): Add prototype.
6122
6123         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6124         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
6125         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
6126         (ASM_FILE_START): Const-ify.
6127         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
6128         specifier warning.
6129         * c4x.md: Don't use the 'U' integer suffix.
6130         * clipper.md (clipper_movstr): Delete declaration.
6131         * d30v-protos.h (d30v_move_2words): Const-ify.
6132         (debug_stack_info): Add prototype.
6133         * d30v.c: Include "integrate.h".
6134         (d30v_function_arg_boundary, d30v_function_arg,
6135         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
6136         signed/unsigned warnings.
6137         (d30v_print_operand_memory_reference, d30v_move_2words):
6138         Const-ify.
6139         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
6140         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
6141         * fr30.md: Const-ify.
6142         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6143         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
6144         (mvs_get_label_page): Hide unused static function.
6145         * i860.c (current_function_original_name): Const-ify.
6146         * i860/sysv3.h (current_function_original_name): Likewise.
6147         * i860/sysv4.h (current_function_original_name): Likewise.
6148         * i960.md: Add default case in switches.  Remove unused variable.
6149         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
6150         * m32r.md: Const-ify.
6151         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
6152         * m68hc11.c: Include "reload.h".
6153         (static_chain_reg, print_options, m68hc11_asm_file_start):
6154         Const-ify.
6155         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
6156         around & in comparison.
6157         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6158         * mn10200.c (shift_mode): Remove trailing comma.
6159         * mn10300-protos.h (output_tst): Const-ify.
6160         * mn10300.c (output_tst): Likewise.
6161         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
6162         warnings.
6163         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
6164         * pa.c (output_ascii): Likewise.
6165         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
6166         * pdp11.md (expand_unop): Delete declarations.
6167         * pj-protos.h (pj_output_addsi3): Const-ify.
6168         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
6169         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
6170         unique_src_operand): Add prototypes.
6171         (pj_output_store_into_lval): Make definition static.
6172         (pj_function_incoming_arg): Don't use unary plus.
6173         (pj_output_addsi3): Const-ify.
6174         * romp.md (get_symref): Delete declarations.
6175         * v850-c.c (mark_current_function_as_interrupt): Don't return
6176         value from void function.
6177         * v850.c: Include "integrate.h".
6178         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
6179         * vax-protos.h (const_section): Add prototype.
6180
6181 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
6182
6183         * machmode.def: Add documentation for the seventh argument in
6184         vector modes.
6185
6186 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
6187
6188         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
6189         consistently.
6190         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
6191         <-melf>: Don't have markup for ELF acronym.
6192
6193 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
6194
6195         * config.gcc (mmix-*-*): New target.
6196         * doc/invoke.texi: Document MMIX options.
6197         * doc/contrib.texi: Add note about MMIX port to my entry.
6198         * config/mmix/t-mmix: New file.
6199         * config/mmix/mmix.h: New file.
6200         * config/mmix/mmix-protos.h: New file.
6201         * config/mmix/mmix.c: New file.
6202         * config/mmix/mmix.md: New file.
6203         * config/mmix/crti.asm: New file.
6204         * config/mmix/crtn.asm: New file.
6205
6206 2001-11-03  Kazu Hirata  <kazu@hxi.com>
6207
6208         * config/sparc/linux-aout.h: Fix comment formatting.
6209         * config/sparc/linux.h: Likewise.
6210         * config/sparc/linux64.h: Likewise.
6211         * config/sparc/lynx.h: Likewise.
6212         * config/sparc/pbd.h: Likewise.
6213         * config/sparc/sol2-sld-64.h: Likewise.
6214         * config/sparc/sol2.h: Likewise.
6215         * config/sparc/sparc.c: Likewise.
6216         * config/sparc/sparc.h: Likewise.
6217         * config/sparc/sparc.md: Likewise.
6218         * config/sparc/sunos4.h: Likewise.
6219         * config/sparc/vxsim.h: Likewise.
6220         * config/sparc/vxsparc.h: Likewise.
6221         * config/sparc/vxsparc64.h: Likewise.
6222
6223 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6224
6225         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
6226         reference to CONST_DOUBLE_MEM in comment.
6227         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
6228         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
6229         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
6230         * function.c (pop_function_context_from): Don't call
6231         restore_varasm_status.
6232         * function.h (restore_varasm_status): Delete declaration.
6233         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
6234         * rtl.c: Likewise.
6235         * rtl.def (CONST_DOUBLE): Update comment.
6236         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
6237         (CONST_DOUBLE_CHAIN): Likewise.
6238         (CONST_DOUBLE_MEM): Delete.
6239         (gen_rtx_CONST_DOUBLE): Update parameters.
6240         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
6241         Remove reference to CONST_DOUBLE_MEM.
6242         (const_alias_set): New variable.
6243         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
6244         (immed_real_const_1): Adjust tests for 0, 1, and 2.
6245         Don't set CONST_DOUBLE_MEM.
6246         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
6247         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
6248         Put constant in const_alias_set.
6249         (struct pool_constant): ALIGN now unsigned.
6250         OFFSET now HOST_WIDE_INT.
6251         Delete LABEL.
6252         (restore_varasm_status): Deleted.
6253         (mark_pool_constant): Mark desc->rtl.
6254         (force_const_mem): Rework to store rtl in hash table,
6255         not CONST_DOUBLE_MEM.
6256         Put constant in const_alias_set.
6257         (find_pool_constant): Check desc->rtl.
6258         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
6259         (init_varasm_once): Initialize const_alias_set.
6260
6261         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
6262         force_const_mem.
6263
6264         * reload.c (combine_reloads): Don't combine an output reload if there
6265         are other reloads around for part of the output.
6266
6267         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
6268         constant expression.
6269         (set_mem_decl): New function.
6270         * expr.h (set_mem_decl): New declaration.
6271         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
6272         (output_asm_operand_names): Add tab.
6273         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
6274
6275         * builtins.c (get_memory_rtx): Properly set MEM alias set and
6276         attributes.
6277
6278 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6279
6280         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
6281         Use "invalid" instead of "illegal".  Use @r in comments in
6282         examples.
6283
6284 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
6285
6286         * c-decl.c (pushdecl): Move block inside if conditional to remove
6287         possibility of a segfault.  Lookup block-level extern
6288         variables in enclosing scopes correctly.
6289
6290         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
6291
6292 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6293
6294         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
6295         SUBREG so we avoid SUBREGing memory.
6296
6297         * expmed.c (store_bit_field): Same.
6298
6299 2001-11-02  DJ Delorie  <dj@redhat.com>
6300
6301         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
6302         using FP registers for DImode mem-mem moves is acceptable.
6303
6304 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
6305
6306         * builtins.c (apply_args_size): Handle vector arguments.
6307         (apply_result_size): Same.
6308
6309         * machmode.def: Set WIDER mode field for all vector entries.
6310
6311 2001-11-02  Graham Stott  <grahams@redhat.com>
6312
6313         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
6314
6315 2001-11-01  Eric Christopher  <echristo@redhat.com>
6316
6317         * config.gcc: Revert part of earlier patch.
6318         * config/mips/linux.h: Ditto.
6319         * df.c: Include tm_p.h to avoid warnings.
6320         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
6321         #if/#endif.
6322         * config/mips/mips.c: Define mips_abi regardless.
6323         (mips_output_function_prologues): Add long casts for .frame
6324         output.
6325         (override_options): Allow use of ABI_32.
6326
6327 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6328
6329         * config/m68hc11/m68hc11.c: Fix comment formatting.
6330         * config/m68hc11/m68hc11.h: Likewise.
6331         * config/m68hc11/m68hc11.md: Likewise.
6332
6333 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
6334
6335         * c-typeck.c (default_conversion): Retain the original expression
6336         codes.
6337         * gcc.dg/Wparentheses.c: New tests.
6338
6339 2001-11-01  David S. Miller  <davem@redhat.com>
6340
6341         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
6342         64-bit Sparc description more in line with reality.
6343
6344 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
6345
6346         * Makefile.in (GCOV_OBJS): Add version.o.
6347         * gcov.c: Include "version.h" and <getopt.h>.
6348         (gcov_version_string): Remove.
6349         (print_usage): Take a parameter to determine whether this is a
6350         call from --help or an error message.  Give fuller output that
6351         follows the GNU Coding Standards for --help.
6352         (print_version): New function.
6353         (options): New.
6354         (process_args): Use getopt_long.  Support long options.  Follow
6355         GNU Coding Standards for --help and --version.
6356         * doc/gcov.texi: Document long options.
6357         Addresses part of PR other/704.
6358
6359 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6360
6361         * pa.c (output_move_double): Fix typo in double load.
6362
6363 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6364
6365         * config/h8300/h8300.c (h8300_encode_label): Compute a string
6366         before passing it to ggc_alloc_string.
6367
6368 2001-11-01  Kazu Hirata  <kazu@hxi.com>
6369
6370         * config/m68k/3b1.h: Fix comment formatting.
6371         * config/m68k/3b1g.h: Likewise.
6372         * config/m68k/a-ux.h: Likewise.
6373         * config/m68k/amix.h: Likewise.
6374         * config/m68k/apollo68.h: Likewise.
6375         * config/m68k/atari.h: Likewise.
6376         * config/m68k/aux-exit.c: Likewise.
6377         * config/m68k/ccur-GAS.h: Likewise.
6378         * config/m68k/crds.h: Likewise.
6379         * config/m68k/dpx2.h: Likewise.
6380         * config/m68k/dpx2g.h: Likewise.
6381         * config/m68k/hp310.h: Likewise.
6382         * config/m68k/hp320.h: Likewise.
6383         * config/m68k/isi.h: Likewise.
6384         * config/m68k/linux.h: Likewise.
6385         * config/m68k/lynx.h: Likewise.
6386         * config/m68k/m68k-psos.h: Likewise.
6387         * config/m68k/m68k.c: Likewise.
6388         * config/m68k/m68k.h: Likewise.
6389         * config/m68k/m68k.md: Likewise.
6390         * config/m68k/m68kelf.h: Likewise.
6391         * config/m68k/m68kv4.h: Likewise.
6392         * config/m68k/mot3300.h: Likewise.
6393         * config/m68k/news.h: Likewise.
6394         * config/m68k/next.h: Likewise.
6395         * config/m68k/pbb.h: Likewise.
6396         * config/m68k/plexus.h: Likewise.
6397         * config/m68k/sgs.h: Likewise.
6398         * config/m68k/sun3.h: Likewise.
6399         * config/m68k/tower.h: Likewise.
6400         * config/m68k/vxm68k.h: Likewise.
6401
6402 2001-10-31  DJ Delorie  <dj@redhat.com>
6403
6404         * config/mips/mips.h (mips_cache_flush_func): Prototype.
6405         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
6406         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
6407         * config/mips/mips.c (mips_cache_flush_func): New.
6408         * doc/invoke.texi: Document the new options.
6409
6410 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
6411
6412         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
6413         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
6414
6415         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
6416
6417         * config/cris/cris.c: Include output.h after tree.h but before
6418         target.h.
6419
6420 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
6421
6422         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
6423         (INTL_SUBDIRS): Just intl.
6424         (.SUFFIXES): Add .gmo .po .pox.
6425         (native): Also depend on build-@POSUB@.
6426         (intl.all, intl.install): Depend on config.h and things it includes.
6427         (po-generated): New target; depend on c-parse.c and tradcif.c.
6428         (install-normal): Also depend on install-@POSUB@.
6429         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
6430         (build-, install-, build-po, update-po, install-po,
6431         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
6432
6433         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
6434         * configure.in: Don't munge XGETTEXT.  Don't generate
6435         po/Makefile.in.
6436         * configure: Regenerate.
6437
6438         * exgettext: Delete.
6439         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
6440         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
6441
6442 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6443
6444         * config/h8300/h8300.md (two anonymous patterns): New.
6445
6446 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
6447
6448         * tree.h (tree_index): Add support for V16QI and V8HI.
6449         (V8HI_type_node): New.
6450         (V16QI_type_node): New.
6451
6452         * tree.c (build_common_tree_nodes_2): Same.
6453
6454         * c-common.c (type_for_mode): Same.
6455
6456 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6457
6458         * config/i386/att.h: Fix comment formatting.
6459         * config/i386/beos-elf.h: Likewise.
6460         * config/i386/bsd.h: Likewise.
6461         * config/i386/bsd386.h: Likewise.
6462         * config/i386/crtdll.h: Likewise.
6463         * config/i386/cygwin.asm: Likewise.
6464         * config/i386/cygwin.h: Likewise.
6465         * config/i386/djgpp.h: Likewise.
6466         * config/i386/freebsd-aout.h: Likewise.
6467         * config/i386/freebsd.h: Likewise.
6468         * config/i386/gas.h: Likewise.
6469         * config/i386/i386-interix.h: Likewise.
6470         * config/i386/i386-protos.h: Likewise.
6471         * config/i386/i386.c: Likewise.
6472         * config/i386/i386.h: Likewise.
6473         * config/i386/i386.md: Likewise.
6474         * config/i386/i386elf.h: Likewise.
6475         * config/i386/interix.c: Likewise.
6476         * config/i386/isc.h: Likewise.
6477         * config/i386/isccoff.h: Likewise.
6478         * config/i386/iscdbx.h: Likewise.
6479         * config/i386/linux.h: Likewise.
6480         * config/i386/lynx.h: Likewise.
6481         * config/i386/mingw32.h: Likewise.
6482         * config/i386/netbsd-elf.h: Likewise.
6483         * config/i386/next.h: Likewise.
6484         * config/i386/osf1elf.h: Likewise.
6485         * config/i386/osfrose.h: Likewise.
6486         * config/i386/sco5.h: Likewise.
6487         * config/i386/seq-gas.h: Likewise.
6488         * config/i386/seq-sysv3.h: Likewise.
6489         * config/i386/sequent.h: Likewise.
6490         * config/i386/sol2.h: Likewise.
6491         * config/i386/sun386.h: Likewise.
6492         * config/i386/uwin.asm: Likewise.
6493         * config/i386/uwin.h: Likewise.
6494         * config/i386/vxi386.h: Likewise.
6495         * config/i386/win32.h: Likewise.
6496         * config/i386/winnt.c: Likewise.
6497         * config/i386/xm-cygwin.h: Likewise.
6498         * config/i386/xm-mingw32.h: Likewise.
6499
6500 2001-10-31  Kazu Hirata  <kazu@hxi.com>
6501
6502         * builtins.def: Fix comment typos.
6503         * config/alpha.c: Likewise.
6504         * config/arm/arm.c: Likewise.
6505         * config/avr/avr.h: Likewise.
6506         * config/d30v/d30v.c: Likewise.
6507         * config/d30v/d30v.h: Likewise.
6508         * config/d30v/d30v.md: Likewise.
6509         * config/dsp16xx/dsp16xx.c: Likewise.
6510         * config/fr30/fr30.c: Likewise.
6511         * config/fr30/fr30.md: Likewise.
6512         * config/i386/i386.c: Likewise.
6513         * config/i860/i860.c: Likewise.
6514         * config/i960/i960.c: Likewise.
6515         * config/ia64/ia64.c: Likewise.
6516         * config/mips/mips.c: Likewise.
6517         * config/pa/pa.c: Likewise.
6518         * config/rs6000/rs6000.c: Likewise.
6519         * config/s390/s390.c: Likewise.
6520         * config/sparc/sparc.c: Likewise.
6521
6522 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6523
6524         * config/mips/elf.h: Fix comment formatting.
6525         * config/mips/elf64.h: Likewise.
6526         * config/mips/iris5.h: Likewise.
6527         * config/mips/iris5gas.h: Likewise.
6528         * config/mips/iris6.h: Likewise.
6529         * config/mips/isa3264.h: Likewise.
6530         * config/mips/linux.h: Likewise.
6531         * config/mips/mips.c: Likewise.
6532         * config/mips/mips.h: Likewise.
6533         * config/mips/mips.md: Likewise.
6534         * config/mips/mips16.S: Likewise.
6535         * config/mips/netbsd.h: Likewise.
6536         * config/mips/osfrose.h: Likewise.
6537         * config/mips/r3900.h: Likewise.
6538         * config/mips/sni-svr4.h: Likewise.
6539         * config/mips/svr4-t.h: Likewise.
6540         * config/mips/ultrix.h: Likewise.
6541
6542 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
6543
6544         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
6545         when we update head->current.
6546
6547 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
6548
6549         * tree.c (id_string_size): Remove.
6550         (dump_tree_statistics): Update.
6551         * toplev.c (compile_file): If dumping stats, dump tree stats too.
6552
6553 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
6554
6555         * sched-rgn.c (schedule_insns): Fix comment.
6556
6557 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
6558
6559         * configure.in: Correct previous change: don't assume that
6560         gas's version number _isn't_ the last thing on the line, or
6561         isn't the only number on the line, either.
6562         * configure: Regenerate.
6563
6564 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6565
6566         * cfgcleanup.c: Fix a comment typo.
6567
6568 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6569
6570         * alias.c: Fix comment formatting.
6571         * recog.c: Likewise.
6572         * config/cris/cris.c: Likewise.
6573         * config/cris/cris.h: Likewise.
6574         * config/i960/i960.c: Likewise.
6575         * config/i960/i960.h: Likewise.
6576
6577 2001-10-30  Kazu Hirata  <kazu@hxi.com>
6578
6579         * config/arm/arm.c: Fix a comment typo.
6580         * config/arm/arm.h: Likewise.
6581         * config/ia64/ia64.c: Likewise.
6582
6583 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
6584
6585         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
6586         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
6587         * rtl.h (set_unique_reg_note): Change return value.
6588         * gcse.c (try_replace_reg): Use set_unique_reg_note.
6589         * cse.c (cse_insn): Likewise.
6590         * expr.c (emit_move_insn): Likewise.
6591         * explow.c (force_reg): Likewise.
6592         * local-alloc (update_equiv_regs): Likewise.
6593         * loop.c (move_moveables, load_mems): Likewise.
6594         * reload (find_reloads): Likewise.
6595
6596 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
6597
6598         Localization fixes.
6599         * c-decl.c (parmlist_tags_warning, start_struct,
6600         check_for_loop_decls): Separate messages for struct, union and
6601         enum cases to allow for languages in which they have different
6602         genders.
6603         * c-format.c (scanf_flag_specs): Separate short and long name of
6604         the assignment suppression feature.
6605         (check_format_types): Localize "pointer" and "different types"
6606         strings.
6607         * c-lex.c (lex_number): Localize "an unsigned long int" and
6608         related strings.
6609         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
6610         warning message.
6611         * c-typeck.c (build_unary_up): Separate messages for increment and
6612         decrement cases to allow for languages in which they use different
6613         articles.  Localize the strings "increment" and "decrement" in one
6614         case.
6615
6616 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
6617
6618         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
6619         when no changes has been made.
6620
6621         * gcse.c (reg_set_bitmap): Turn into reg_set.
6622         (modify_mem_list_set, canon_modify_mem_list_set)
6623         (clear_modify_mem_tables, free_modify_mem_tables): New.
6624         (gcse_main); Use free_modify_mem_tables.
6625         (free_gcse_mem): Likewise; free the bitmaps.
6626         (alloc_gcse_main): Initialize the bitmaps.
6627         (canon_list_insert): Set canon_modify_mem_list_set.
6628         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
6629         (compute_hash_table): Use clear_modify_mem_tables.
6630         (reset_opr_set_tables): Likewise.
6631         (oprs_not_set_p): reg_set_bitmap is regset.
6632         (mark_set, mark_clobber): Likewise.
6633
6634         * df.h (DF_EQUIV_NOTES): New constant.
6635         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
6636         when asked for.
6637
6638         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
6639         (init_regions, schedule_insns): Conditionalize the checking
6640         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
6641
6642 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
6643
6644         * i386.md (movti_rex64 splitter): Fix condition.
6645
6646 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
6647
6648         * configure.in: Do not assume that gas's version number is the
6649         last thing on the first line of as --version output.
6650         * configure: Regenerate.
6651
6652         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
6653         MT_WARNING, MT_ERROR, MT_FATAL.
6654         (main): Call gcc_init_libintl.
6655         (v_message): Call gettext on msgid and "warning: "
6656         * tradcif.y: Include intl.h.
6657         (yyerror): Make parameter definition consistent with
6658         prototype.  Call gettext on msgid argument.
6659
6660 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6661
6662         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
6663         warnings.
6664
6665         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
6666
6667 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6668
6669         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
6670         before referencing it.
6671
6672 2001-10-26  DJ Delorie  <dj@redhat.com>
6673
6674         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
6675         override -G, and force -G0.
6676
6677 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6678
6679         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
6680         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
6681         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
6682         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
6683
6684         * loop.h (struct induction): Rename ext_dependant to
6685         ext_dependent.
6686         * loop.c: Change all uses.
6687         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6688         All callers changed.
6689         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6690
6691 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
6692
6693         * c-parse.in (expr_no_commas, primary), c-typeck.c
6694         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6695
6696 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
6697
6698         Undo assemble_name change in earlier patch.
6699
6700 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
6701
6702         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6703         determining the type of the receiver, do not check that TREE_CODE
6704         of receiver is CALL_EXPR before calling receiver_is_class_object().
6705         (receiver_is_class_object): For the GNU runtime: recognize
6706         the case that the receiver is self in a class method context.
6707         Check that TREE_CODE of receiver is CALL_EXPR when checking that
6708         the receiver is a call to objc_get_class.
6709
6710 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6711
6712         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6713
6714 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6715
6716         * Makefile.in (OBJS): Put all files in alphabetical order.
6717
6718         * dwarf2out.c (add_const_value_attribute): Fix error in last
6719         change.
6720
6721 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
6722
6723         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6724         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6725         fix warning.
6726         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6727         (life_analysis): call purge_all_dead_edges after deleting noops.
6728         (delete_noop_move): Do not purge CFG.
6729         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6730
6731 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
6732
6733         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6734         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6735         (ASM_GLOBALIZE_LABEL): Use assemble_name.
6736         (ASM_OUTPUT_COMMON): Likewise.
6737         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6738         (rs6000_output_function_epilogue): Likewise.
6739         (output_mi_thunk): Fix typo.
6740         (rs6000_output_symbol_ref): Use assemble_name.
6741         (output_toc): Likewise.
6742         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6743         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6744         assemble_name calls STRIP_NAME_ENCODING.
6745         (ASM_OUTPUT_LABEL): Use assemble_name.
6746         (ASM_GLOBALIZE_LABEL): Likewise.
6747         (ASM_DECLARE_FUNCTION_NAME): Likewise.
6748         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
6749         (ASM_OUTPUT_LOCAL): Likewise.
6750
6751 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6752
6753         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6754         (expand_builtin_apply, expand_builtin_return): Likewise.
6755         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6756
6757 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6758
6759         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6760         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6761         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6762         configure, configure.in, except.c, except.h, flow.c, function.c,
6763         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6764         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6765         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6766         unroll.c: Fix spelling errors.
6767
6768         * doc/extend.texi, doc/invoke.texi: Fix spelling.
6769
6770         * doc/gcc.texi: Document use of "dependent" and American spelling.
6771
6772 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
6773
6774         * expr.c (emit_group_load): Support CONCATs by storing them to memory
6775         and reloading.
6776
6777 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6778
6779         * expr.c (store_constructor_field): Only call adjust_address on MEM.
6780
6781 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
6782
6783         * genrecog.c (write_switch):  Output if before switch for
6784         DT_elt_zero_wide_safe.
6785
6786 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6787
6788         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
6789         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
6790         (FUNCTION_PROFILER): Const-ify.
6791         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
6792         (eliminate_constant_term, assemble_name, output_addr_const):
6793         Remove declarations.
6794         (ptr_half_pic_address_p, half_pic_hash): Prototype.
6795         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
6796         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
6797         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
6798         (half_pic_declare, half_pic_external): Const-ify.
6799         * toplev.c: Include "halfpic.h".
6800
6801 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
6802
6803         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
6804         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
6805         config/i386/i386.c, config/i386/i386-interix.h,
6806         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
6807         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
6808         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
6809         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
6810         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
6811         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
6812         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
6813         spelling errors.
6814
6815         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6816         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
6817         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
6818         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
6819         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
6820         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
6821         system.h, toplev.c: Fix spelling errors.
6822
6823 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6824
6825         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
6826
6827         * dwarf2out.c (reg_number): Abort if pseudo.
6828         (reg_loc_descriptor): Return 0 if pseudo.
6829         (is_based_loc): Return 0 if pseudo.
6830         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
6831         recursive calls.
6832         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
6833         (loc_descriptor): Return 0 if can't find location and handle 0
6834         return from recursive calls.
6835         (loc_descriptor_from_tree): Likewise.
6836         Fix handling of indirect.
6837         Also return 0 for PLACEHOLDER_EXPR.
6838         Clean up COMPONENT_REF cases.
6839         (add_AT_location_descriptor): Simplify, but handle 0 return from
6840         loc_descriptor.
6841         (add_const_value_attribute): Avoid shift count warning.
6842         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
6843         Set comp_unit_die as context if not in function.
6844
6845         * config/mips/mips-protos.h: Break up long lines.
6846         Remove needless #ifdef/#endif blocks.
6847         Don't declare functions declared in file made by genpreds or recog.h.
6848         * config/mips/mips.c (mips_output_function_prologue): TSIZE
6849         is now HOST_WIDE_INT; delete unneeded casts.
6850         * config/mips/mips.h: Don't use #elif.
6851
6852         * expr.c (stor_constructor_field): Always call adjust_address.
6853         Copy TARGET before changing its alias set.
6854         (store_field): Likewise, for TO_RTX.
6855         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
6856         replacement.
6857         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
6858         (find_placeholder): Return 0 if can't find object.
6859         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
6860         returns 0.
6861
6862 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6863
6864         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
6865
6866 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
6867
6868         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
6869         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
6870         (merge_blocks): Properly udpate life after making edge nonfallthru.
6871         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
6872
6873 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6874
6875         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
6876
6877 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
6878
6879         * c-typeck.c (convert_arguments): When comparing for enumeral
6880         type equality, use TYPE_MAIN_VARIANT.
6881         * gcc.dg/Wconversion.c: New tests.
6882
6883 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6884
6885         * s390/s390.c: Fix comment typos.
6886         * s390/s390.h: Likewise.
6887         * s390/s390.md: Likewise.
6888
6889 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6890
6891         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
6892         (walk_tree): Use it for tail calls where appropriate.
6893
6894 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6895
6896         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
6897         non-local label_refs.
6898
6899 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6900
6901         * config/h8300/h8300.md (4 anonymous patterns): New.
6902
6903 2001-10-26  Kazu Hirata  <kazu@hxi.com>
6904
6905         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
6906         algorithm through the shift_info structure.
6907         (emit_a_shift): Update the use of get_shift_alg.
6908
6909 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
6910
6911         * sched-rgn.c: Remove bitset typedef.
6912         Change bitset to sbitmap in prototypes / variable types.
6913         Remove bbset_size.
6914         Remove edgeset_bits.
6915         Remove edgeset_size.
6916         s/BITSET_ADD/SET_BIT/g
6917         s/BITSET_INVERT/sbitmap_ones/g
6918         s/BITSET_INTER/sbitmap_a_and_b/g
6919         s/BITSET_UNION/sbitmap_a_or_b/g
6920         s/BITSET_DIFFER/sbitmap_difference/g
6921         s/bitset_member/TEST_BIT/g
6922         (BITSET_*): Removed.
6923         (bitset_member): Removed.
6924         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
6925         EXECUTE_IF_SET_IN_SBITMAP.
6926         (split_edges): Rewrite, use sbitmap functions instead of bitset
6927         operations.
6928         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
6929
6930 2001-10-26  Andreas Schwab  <schwab@suse.de>
6931
6932         * reload1.c (emit_input_reload_insns): Fix parens in last
6933         (undocumented) change that was supposed to change only whitespace.
6934
6935 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6936
6937         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
6938
6939         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
6940         ASM_OPERANDS.
6941
6942 2001-10-26  Andreas Jaeger  <aj@suse.de>
6943
6944         * flow.c (clear_log_links): Remove unused variable.
6945         * cfgcleanup.c (cleanup_cfg): Likewise.
6946
6947 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
6948
6949         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
6950         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
6951
6952 2001-10-26  Richard Henderson  <rth@redhat.com>
6953
6954         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
6955         rename PV_REG to R27_REG.
6956         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
6957         (REG_CLASS_FROM_LETTER): Update.
6958         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
6959         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
6960         (udivsi3, modsi3, umodsi3): Likewise.
6961         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
6962
6963 2001-10-26  Richard Henderson  <rth@redhat.com>
6964
6965         * cfg.c (clear_aux_for_blocks): Split out of ...
6966         (free_aux_for_blocks): here.
6967         (clear_aux_for_edges): Split from ...
6968         (free_aux_for_edges): here.
6969         * basic-block.h: Declare them.
6970         * lcm.c (compute_antinout_edge): Use them.
6971         (compute_laterin, compute_available, compute_nearerout): Likewise.
6972         (optimize_mode_switching): Likewise.
6973
6974 2001-10-26  Richard Henderson  <rth@redhat.com>
6975
6976         * Makefile.in (unstage*): Remove as, ld, collect-ld before
6977         moving everything back to the main build directory.
6978
6979 2001-10-26  Christopher Faylor  <cgf@redhat.com>
6980
6981         * config/i386/cygwin.h: Search target specific include directory, if
6982         appropriate.
6983
6984 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6985
6986         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
6987         of macro guards. Fix #endif comment.
6988
6989         * output.h (default_exception_section, default_eh_frame_section):
6990         Move prototypes outside of macro guard.
6991
6992         * crtstuff.c: Fix #endif comment.
6993
6994 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
6995
6996         * doc/md.texi (movMM): Clarify semantics of storing into a
6997         non-paradoxical SUBREG.
6998
6999 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
7000
7001         * langhooks.c (lang_hook_default_clear_binding_stack): New.
7002         (lang_hook_default_get_alias_set): Move next to other alias
7003         hooks.
7004         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
7005         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
7006         (LANG_HOOKS_INITIALIZER): Add it.
7007         * toplev.h (struct lang_hooks): Add clear_binding_stack.
7008         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
7009         instead of a loop calling poplevel.
7010
7011 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
7012
7013         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
7014         occurrences of #elif with #if...#endif.
7015
7016 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7017
7018         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
7019
7020 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7021
7022         * alias.c (can_address_p): No longer static.
7023         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
7024         Return 0 if all parameters are default values.
7025         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
7026         (adjust_address_1): Try harder to compute a size.
7027         * expr.c (expand_assignment, store_constructor): If can't address,
7028         set MEM_KEEP_ALIAS_SET_P.
7029         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
7030         (store_field): Likewise.
7031         (store_constructor): Simplify call to store_constructor_field.
7032         * expr.h (can_address_p): New declaration.
7033         * gensupport.c (gen_rtx_CONST_INT): New function.
7034         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
7035         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
7036         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
7037
7038         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
7039
7040 2001-10-24  Christopher Faylor  <cgf@redhat.com>
7041
7042         * config/i386/cygwin.h: Use proper path for mingw crt files when
7043         -mno-cygwin.
7044
7045 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7046
7047         * dwarf2out.c (file_info_cmp): Always return consistent results.
7048
7049 2001-10-24  Roger Sayle <roger@eyesopen.com>
7050
7051         * stmt.c (expand_end_case): Index jumptables from zero for
7052         suitably small values of minval.
7053
7054 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7055
7056         * stor-layout.c (place_union_field): If any field was aligned with
7057         attribute aligned, set record type's TYPE_USER_ALIGN.
7058         (place_field): Likewise.
7059         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
7060         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
7061
7062 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
7063
7064         * c-common.h (struct c_common_identifier): Remove rid_code field.
7065         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
7066
7067         * c-typeck.c (constructor_designated): New local flag.
7068         (struct constructor_stack): Add "designated" field to match.
7069         (start_init): Clear it.
7070         (really_start_incremental_init, push_init_level): Push and
7071         clear it.
7072         (pop_init_level): Pop it.
7073         (set_designator): Set it.
7074
7075         (pop_init_level): Suppress "missing initializer" warnings if
7076         constructor_designated is true.
7077         (process_init_element): Suppress warning about union
7078         initialization under traditional C, if constructor_designated
7079         is true.
7080
7081 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7082
7083         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
7084         change.
7085
7086 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
7087
7088         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
7089
7090 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
7091
7092         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
7093         the node was already a set to a constant.
7094
7095 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7096
7097         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
7098         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
7099
7100 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7101
7102         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
7103         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
7104         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
7105         * s390.c (s390_final_chunkify): Don't use string concatenation.
7106         (s390_function_prologue, s390_function_epilogue): Const-ify.
7107         * s390.h (FUNCTION_PROFILER): Remove unused variable.
7108
7109 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
7110
7111         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
7112         prototypes.
7113
7114 2001-10-23  Stan Shebs  <shebs@apple.com>
7115
7116         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
7117         -traditional-cpp in first-stage compilation.
7118
7119 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7120
7121         * gensupport.c (target_flags): Add.
7122
7123 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
7124
7125         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
7126         if needed.
7127         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
7128         * except.c (expand_builtin_frob_return_addr): Likewise.
7129         (expand_builtin_eh_return): Likewise.
7130         * stmt.c (expand_computed_goto): Likewise.
7131         * explow.c (memory_address): Likewise.
7132         (allocate_dynamic_stack_space): Clean up predicate testing.
7133         (probe_stack_range): Convert SIZE to Pmode.
7134         * calls.c (rtx_for_function_call): Only call convert_memory_address
7135         if needed.
7136         Pass function call operand as ptr_mode, not Pmode.
7137         * expr.c (expand_assignment): Clean up calls to convert_memory
7138         address by only doing so when needed and making offsets Pmode.
7139         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
7140         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
7141         is in Pmode, not ptr_mode.
7142
7143 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7144
7145         * darwin-protos.h (constructor_section, destructor_section,
7146         mod_init_section, mod_term_section): Prototype.
7147         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
7148         Const-ify.
7149         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
7150         Likewise.
7151         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
7152         objc_section_init declaration.
7153         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
7154         (objc_section_init, try_section_alias): Make static.
7155         (alias_section): Make static and hide unused function.
7156         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
7157
7158 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7159
7160         * alias.c (can_address_p): Compnonents are not addressable if
7161         the containing type has alias set 0.
7162         (get_alias_set): Rework to use STRIP_NOPS.
7163         Only call front-end routine on object, type, or object with
7164         NOPs stripped, not inner values.
7165         Use language hook to call front-end routine.
7166         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
7167         (expand_builtin_apply): Call set_mem_align on MEMs we make.
7168         Don't pass alignment to emit_block_move.
7169         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
7170         (expand_builtin_memset): Likewise, but for clear_storage.
7171         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
7172         and remove C++ specific parts.
7173         * c-common.h (c_common_get_alias_set): Add declaration.
7174         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
7175         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
7176         (save_fixed_argument_area): Call set_mem_align.
7177         Remove alignment in call to emit_block_move.
7178         (emit_library_call_value_1, store_one_arg): Likewise.
7179         (target_for_arg): Remove; disabled long ago.
7180         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
7181         once and similar cleanups.
7182         (offset_address): Use proper introductory comment.
7183         * expr.c (emit_block_move): Use alignment from that of MEM args, not
7184         from explicit operand; all callers changed.
7185         (clear_storage): Likewise.
7186         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
7187         (store_field): Remove kludge on alias set used for to_rtx.
7188         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
7189         (expand_expr_unaligned): Call set_mem_attributes instead of
7190         set_mem_alias_set.
7191         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
7192         * function.c (assign_stack_temp_for_type): Set MEM alignment.
7193         (expand_function_end): Track MEM attributes of trampolines.
7194         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
7195         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
7196         attributes from original.
7197         * langhooks.c (lang_hook_default_get_alias_set): New function.
7198         (hook_get_alias_set_0): New function.
7199         * langhooks.h (hook_get_alias_set_0): New declaration.
7200         (lang_hook_default_get_alias_set): Likewise.
7201         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
7202         * reload1.c (alter_reg): Use adjust_address_nv.
7203         * rtl.c (get_mode_alignment): Moved to here.
7204         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
7205         change default if unknown from 1 to BITS_PER_UNIT.
7206         * stor-layout.c (get_mode_alignment): Remove from here.
7207         * toplev.h (struct lang_hoks): Add get_alias_set field.
7208         * tree.h (lang_get_alias_set): Delete declaration.
7209         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
7210         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
7211         (ix86_va_arg): Likewise.
7212         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
7213         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
7214         * config/sparc/sparc.c (sparc_va_arg): Likewise.
7215         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
7216         (expand_block_move_mem): Remove dead code.
7217
7218 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
7219
7220         * c-common.c (warn_div_by_zero): New.
7221         * c-common.h (warn_div_by_zero): New.
7222         * c-decl.c (c_decode_option): Take it on the command line.
7223         * c-typeck.c (build_binary_op): Warn about division by zero.
7224         * doc/invoke.texi: Document the new command line option, fix
7225         documentation of -Wmultichar.
7226         * testsuite/gcc.dg/divbyzero.c: New tests.
7227         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
7228
7229 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
7230
7231         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
7232
7233         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
7234         to avoid update_life_info call.
7235         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
7236         * cfgcleanup.c (bb_flags): New enum.
7237         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
7238         (notice_new_block, update_forwarder_flag): New functions.
7239         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
7240         (try_forward_edges): Likewise; update flags.
7241         (merge_blocks): Likewise.
7242         (outgoing_edges_match): Likewise.
7243         (try_crossjump_to_edge): Likewise.
7244         (try_optimize_cfg): Likewise; initialize and clear the flags;
7245         recompute life info if needed.
7246         (cleanup_cfg): No need to clear aux pointers.
7247
7248 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
7249
7250         * config/i386/i386.c (override_options): Default to minimum
7251         stack alignment when optimizing for code size.
7252         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
7253         change.
7254
7255         * config/i386/i386.c (override_options): Set upper limit of
7256         -mpreferred-stack-boundary to 12.
7257
7258 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
7259
7260         * recog.c (peephole2_optimize): Add default case to switch.
7261
7262 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
7263
7264         * doc/gcc.texi (Sending Patches): Remove.
7265
7266 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
7267
7268         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
7269         fields when comparing.
7270
7271 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7272
7273         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
7274         * arm.c (HOST_INT, HOST_UINT): Likewise.
7275
7276 2001-10-22  Stan Shebs  <shebs@apple.com>
7277
7278         * config/darwin-protos.h (darwin_exception_section): Declare.
7279         (darwin_eh_frame_section): Declare.
7280
7281 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
7282
7283         * i386.md (movti_rex64): Fix mode.
7284
7285 2001-10-22  Stan Shebs  <shebs@apple.com>
7286
7287         * target.h (struct gcc_target): Add asm_out.exception_section,
7288         asm_out.eh_frame_section.
7289         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
7290         (TARGET_ASM_EH_FRAME_SECTION): New.
7291         (TARGET_INITIALIZER): Update.
7292         * output.h (default_exception_section): Declare.
7293         (default_eh_frame_section): Declare.
7294         * dwarf2out.c: Include target.h.
7295         (output_call_frame_info): Call target hook for eh frames.
7296         (default_eh_frame_section): New function.
7297         * except.c: Include target.h.
7298         (output_function_exception_table): Call target hook for exception
7299         section.
7300         * varasm.c (default_exception_section): Rename from
7301         exception_section, remove EXCEPTION_SECTION macro.
7302
7303         * config/darwin.h (darwin_eh_frame_section): New function.
7304         (EXCEPTION_SECTION): Remove.
7305         (TARGET_ASM_EXCEPTION_SECTION): Define.
7306         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
7307         (nextstep_exception_section): New function.
7308         (nextstep_eh_frame_section): New function.
7309         (TARGET_ASM_EXCEPTION_SECTION): Define.
7310         (TARGET_ASM_EH_FRAME_SECTION): Define.
7311
7312         * config/pa/som.h (EXCEPTION_SECTION): Remove.
7313         (TARGET_ASM_EXCEPTION_SECTION): Define.
7314         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
7315         (EXCEPTION_SECTION): Remove.
7316         (TARGET_ASM_EXCEPTION_SECTION): Define.
7317         * config/stormy16/stormy16.h: Remove comments referencing
7318         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
7319
7320         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
7321         TARGET_ASM_EH_FRAME_SECTION.
7322
7323 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
7324
7325         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
7326         terms.
7327
7328         * c-format.c: Fix spelling typo in comment.
7329
7330         * sched-int.h: Fix typo in GCC preamble.
7331
7332 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7333
7334         PR debug/4252
7335         * doc/invoke.texi: Remove references to -fdump-translation-unit.
7336
7337 2001-10-22  Richard Henderson  <rth@redhat.com>
7338
7339         * config/i386/i386.c (ix86_expand_clear): New.
7340         * config/i386/i386-protos.h: Declare it.
7341         * config/i386/i386.md (setcc peep2s): Use it.
7342         (movsi_xor): Unexport.
7343
7344 2001-10-22  Richard Henderson  <rth@redhat.com>
7345
7346         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
7347         free_EXPR_LIST_list for LOG_LINKS.
7348
7349 2001-10-21  Robert Lipe  <robertlipe@usa.net>
7350
7351         * config/i386/i386.c (sco_asm_named_section): Delete.
7352         (sco_asm_out_constructor): Delete.
7353         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
7354         (ASM_OUTPUT_DOUBLE_INT): Likewise.
7355         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
7356         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
7357         (EXCEPTION_SECTION): Delete EH scn renaming hack.
7358
7359 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7360
7361         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
7362         and/or fold extra calls into fewer ones.
7363         * collect2.c (dump_file): Likewise.
7364         * cppexp.c (parse_number): Likewise.
7365         * cpplex.c (_cpp_lex_direct): Likewise.
7366         * final.c (output_asm_insn, asm_fprintf): Likewise.
7367         * fix-header.c (inf_scan_ident, main): Likewise.
7368         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
7369         Likewise.
7370         * fold-const.c (real_hex_to_f): Likewise.
7371         * gen-protos.c (parse_fn_proto): Likewise.
7372         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
7373         * genrecog.c (change_state, write_action): Likewise.
7374         * gensupport.c (shift_output_template): Likewise.
7375         * local-alloc.c (requires_inout): Likewise.
7376         * mips-tfile.c (IS_ASM_IDENT): Likewise.
7377         * protoize.c (is_id_char, main): Likewise.
7378         * real.c (asctoeg): Likewise.
7379         * recog.c (asm_operand_ok): Likewise.
7380         * reload.c (find_reloads): Likewise.
7381         * scan.c (scan_identget_token): Likewise.
7382         * sched-vis.c (print_value): Likewise.
7383         * stringpool.c (ggc_alloc_string): Likewise.
7384         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
7385         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
7386         * tradcpp.c (rescan): Likewise.
7387         * tree.c (clean_symbol_name): Likewise.
7388         * varasm.c (decode_reg_name): Likewise.
7389
7390         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
7391         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
7392         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
7393         * m88k.c (output_ascii): Likewise.
7394         * m88k.h (OVERRIDE_OPTIONS): Likewise.
7395         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
7396         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
7397         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
7398
7399 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7400
7401         * langhooks.c (lang_hook_default_do_nothing,
7402         lang_hook_default_decode_option): New defaults.
7403         * langhooks.h: Make hooks unconditional and non-NULL.
7404         * toplev.c (compile_file, toplev_main): Update.
7405         * toplev.h: Update comments.
7406         * objc/objc-act.c (lang_hooks): Update to new paradigm.
7407
7408 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7409
7410         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
7411
7412         * system.h (IN_RANGE): New macro.
7413
7414 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
7415
7416         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
7417         INTLDEPS variable, which does not include $LIBICONV.
7418         * Makefile.in: Use INTLDEPS in LIBDEPS.
7419         * configure: Regenerate.
7420
7421 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
7422
7423         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
7424         * cpplex.c (lex_percent, lex_dot): Remove.
7425         (get_effective_char, skip_block_comment, skip_line_comment,
7426         parse_identifier_slow, parse_number, parse_string, save_comment,
7427         _cpp_lex_direct): Update to do lookback freely.
7428         (IF_NEXT_IS, BACKUP): New macros.
7429         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
7430         * cppmacro.c (paste_tokens): Update.
7431
7432 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
7433
7434         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
7435
7436 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
7437
7438         * reload1.c (reload): Check CONSTANT_P before calling
7439         LEGITIMATE_PIC_OPERAND_P.
7440         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
7441         workaround of 2001-10-13.
7442
7443 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
7444
7445         * i386.c (split_di): Handle splitting of DFmode.
7446
7447 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7448
7449         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
7450         (adjust_address_1, offset_address): Likewise.
7451
7452         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
7453         (output_asm_insn): Call it for each line output.
7454         Don't record an operand more than once.
7455
7456         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
7457         * main.c: Include config.h and system.h, but not ansidecl.h.
7458         * Makefile.in (main.o): Update accordingly.
7459
7460 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7461
7462         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
7463
7464 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
7465
7466         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
7467         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
7468         Break out from ...
7469         (find_sub_basic_blocks): ... here;
7470         (find_many_sub_basic_blocks): New.
7471         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
7472
7473         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
7474
7475         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
7476
7477         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
7478
7479         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
7480         * flow.c (update_life_info): Measure time.
7481         * c-decl.c: Include timevar.h
7482         (c_expand_body): Measure time.
7483         * toplev.c (rest_of_compilation): Measure time of mode switching
7484         separately.
7485         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
7486
7487         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
7488         (lang_independent_options): Add asynchronous-unwind-tables
7489         (toplev_main): flag_asynchronous_unwind_tables implies
7490         flag_unwind_tables.
7491         * flags.h (flag_asynchronous_unwind_tables): Declare.
7492         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
7493         flag_asynchronous_unwind_tables.
7494         (output_call_frame_info): Likewise.
7495         * invoke.texi (-fasynchronous-unwind-tables): Document.
7496         * i386.c (optimization_options): Enable
7497         flag_asynchronous_unwind_tables.
7498
7499         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
7500         * i386.md (s* expanders): Destination is QImode.
7501
7502         * toplev.c (rest_of_compilation): Do not call clear_log_links.
7503         * rtl.h (clear_log_links): Kill.
7504         * flow.c (clear_log_links): Make static; accept blocks parameter;
7505         do no clear life info.
7506         (update_life_info): Call clear_log_links.
7507
7508         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
7509
7510 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
7511
7512         * cpplex.c (handle_newline, skip_escaped_newlines,
7513         get_effective_char, skip_block_comment, skip_line_comment,
7514         parse_identifier_slow, parse_number, parse_string,
7515         _cpp_lex_direct): Update to do more stepping back.
7516         (trigraph_ok): Similarly.  Rename trigraph_p.
7517         (SAVE_STATE, RESTORE_STATE): Remove.
7518         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
7519
7520         * cpplib.c (destringize): Rename destringize_and_run, and
7521         call run_directive directly.
7522         (_cpp_do__Pragma): Simplify.
7523
7524 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7525
7526         * pe.c (arm_pe_unique_section): Const-ify.
7527         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
7528         (switch_to_section): Add static prototype.
7529
7530         * output.h (drectve_section): Prototype.
7531
7532 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7533
7534         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
7535         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
7536         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
7537         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
7538         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
7539         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
7540         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
7541         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
7542         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
7543         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
7544         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
7545         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
7546         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
7547         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
7548         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
7549         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
7550         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
7551         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
7552         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
7553         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
7554         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
7555         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
7556         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
7557         cris-*-none, cris-*-linux*: Update ${tmfile} list.
7558         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
7559         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
7560         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
7561         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
7562         v850-*-*): Delete superflous ${cpu_type} setting.
7563         * config/linux.h: Delete svr4.h include.
7564         (SET_ASM_OP): Delete.
7565         * config/netware.h (INT_ASM_OP): Undef before define.
7566         * config/ptx4.h: Delete elfos.h include.
7567         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
7568         * config/svr4.h: Delete elfos.h include. Update commentary.
7569         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
7570         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
7571         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
7572         config/v850/v850.h: Delete svr4.h include.
7573         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
7574         config/m68k/m68kv4.h, config/m88k/sysv4.h,
7575         config/sparc/sysv4.h: Update includes.
7576         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
7577         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
7578         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
7579         config/m88k/dguxbcs.h: Delete includes.
7580         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
7581         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
7582         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
7583         it.
7584         * config/m88k/dgux.h: Delete include.
7585         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
7586         defining it.
7587         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
7588         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
7589         * config/sh/elf.h: Update include.
7590         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
7591         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
7592
7593 2001-10-19  Catherine Moore  <clm@redhat.com>
7594
7595         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
7596         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
7597         base and count fields.
7598         (stormy16_expand_builtin_va_start):  last_reg_count changed to
7599         size_of_reg_args.  Use count + size in first comparison.
7600
7601 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7602
7603         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
7604         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
7605         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
7606         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
7607         Set alignment from type if INDIRECT_REF.
7608         (adjust_address_1, offset_address): Simplify alignment compuitation.
7609         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
7610         here; done by set_mem_attributes.
7611
7612 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7613
7614         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
7615         * arm-protos.h (rdata_section, zero_init_section, common_section):
7616         Prototype.
7617         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
7618         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
7619         traditional mode stringification.
7620         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
7621         in macros controling its use.
7622         * rtlanal.c: Include tm_p.h.
7623         * varasm.c (asm_output_aligned_bss): Mark parameter with
7624         ATTRIBUTE_UNUSED.
7625         (assemble_constant_align, assemble_start_function, assemble_align,
7626         assemble_variable, assemble_trampoline_template,
7627         output_constant_def_contents): Wrap potentially empty if-stmt body
7628         in brackets.
7629
7630 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7631
7632         * a29k-protos.h (literal_section): Prototype.
7633         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
7634         * a29k.md: Ensure function pointers are prototyped.
7635         * genattrtab.c (write_eligible_delay): Mark parameter with
7636         ATTRIBUTE_UNUSED.
7637
7638 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7639
7640         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
7641         * 1750a.c (print_operand): Fix format specifier warning.
7642         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
7643         * 1750a.md: Likewise.
7644         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
7645         * genemit.c (output_add_clobbers): Mark parameter with
7646         ATTRIBUTE_UNUSED.
7647         * genrecog.c (write_subroutine): Likewise.
7648         * integrate.c (expand_inline_function): Delete unused variable.
7649         * varasm.c (remove_from_pending_weak_list): Wrap with
7650         ASM_WEAKEN_LABEL.
7651
7652 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
7653
7654         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
7655         field is different to previous argument's neg field.
7656
7657         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
7658
7659 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7660
7661         * final.c (get_decl_from_op): New function.
7662         (output_asm_insn): Call it; write "*" when item with decl is address.
7663
7664 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
7665
7666         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
7667         about 64-bit support from the 3.0_branch version.
7668
7669 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
7670
7671         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
7672         USE_INCLUDED_LIBINTL when appropriate.
7673         * configure, config.in: Regenerate.
7674         * Makefile.in (datadir): Set to @datadir@.
7675         (intl.o): Also depend on $(CONFIG_H) and system.h.
7676
7677         * intl.c: Factor out common gettext initialization sequence.
7678         (gcc_init_libintl):  New function.
7679         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
7680         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
7681         off NLS.  Add multiple include guard.  No need to #ifdef-guard
7682         an #undef.  Prototype gcc_init_libintl here.
7683
7684         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
7685         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7686         Use gcc_init_libintl.
7687
7688 2001-10-19  Catherine Moore  <clm@redhat.com>
7689
7690         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7691
7692         * config/stormy16/stormy16.c (stormy16_split_move):  Make
7693         sure that REG_INC notes are present for auto_inc operands.
7694
7695 2001-10-19  Andreas Jaeger  <aj@suse.de>
7696
7697         * configure: Regenerated.
7698         * configure.in: Add x86_64 to switch statements.
7699
7700 2001-10-18  Richard Henderson  <rth@redhat.com>
7701
7702         * config/alpha/alpha.md (sibcall_osf_1): Load destination
7703         address into $27 explicitly.
7704         (sibcall_value_osf_1): Likewise.
7705
7706 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7707
7708         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7709         (offset_address): New function.
7710         (free_emit_status): Free regno_decl.
7711         (init_emit): Pass proper number of elements to xcalloc.
7712         Allocate regno_decl.
7713         (mark_emit_status): Mark regno_decl values.
7714         * expr.c (highest_pow2_factor): New function.
7715         (expand_assigment): Use it and offset_address.
7716         Properly handle ptr_mode vs. Pmode in offset calculation.
7717         (store_constructor, expand_expr_unaligned): Likewise.
7718         (expand_expr, case COMPONENT_EXPR): Likewise.
7719         * expr.h (offset_address): New decl.
7720         * function.h (struct emit_status): Add regno_decl.
7721         (REGNO_DECL): New macro.
7722         * final.c (output_asm_name): Move in file and don't conditionalize
7723         on flag_print_asm_name.
7724         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7725         Output names of operands, if known.
7726         * function.c (assign_parms): Set REGNO_DECL.
7727         * integrate.c (integrate_decl_tree): Likewise.
7728         * stmt.c (expand_decl): Likewise.
7729         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7730
7731 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
7732
7733         * attribs.c (handle_noinline_attribute): New function.
7734         (handle_used_attribute): Likewise.
7735         (c_common_attribute_table): Added noinline and used.
7736         * doc/extend.texi (Function Attributes): Document them.
7737         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7738         Warn when merging inline with attribute noinline.
7739         (start_decl, start_function): Warn if inline and attribute
7740         noinline appear in the same declaration.
7741
7742 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
7743
7744         * config.gcc: Update c4x and i370 for C front end-specific
7745         dependencies.
7746         * config/c4x/c4x-c.c: New.
7747         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7748         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7749         New declarations.
7750         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7751         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7752         Make extern.
7753         (c4x_init_pragma): Remove.
7754         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7755         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7756         c4x_pr_ignored): Move to c4x-c.c.
7757         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7758         * config/c4x/t-c4x: Update.
7759         * config/i370/i370-c.c: New.
7760         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7761         (i370_pr_map): Move to i370-c.c.
7762         * config/i370/t-i370: New.
7763
7764         * doc/tm.texi: Update.
7765
7766 2001-10-17  Stan Shebs  <shebs@apple.com>
7767
7768         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7769         typo fixes throughout.
7770         (machopic_output_stub): Remove some dead code.
7771
7772 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
7773
7774         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
7775         leak.
7776
7777 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7778
7779         * Makefile.in (print-rtl.o): Depend on TREE_H.
7780         * alias.c (get_alias_set): Make two passes over objects to first
7781         see if inner object is access via restricted pointer.
7782         Defer allocating alias set for restricted pointer until here.
7783         Call find_placeholder with second arg nonzero.
7784         Minor cleanups.
7785         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
7786         set for restricted pointer types.
7787         * emit-rtl.c (set_mem_attributes): Set more attributes.
7788         (set_mem_align, change_address, adjust_address_1): New functions.
7789         (change_address_1): Now static.
7790         (adjust_address, adjust_address_nv): Deleted.
7791         (replace_equiv_address): Call change_address_1.
7792         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
7793         (find_placeholder): Get starting point from PLIST arg.
7794         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
7795         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
7796         (adjust_address, adjust_address_nv): New macros.
7797         * print-rtl.c (tree.h): New include.
7798         (print_rtx, case MEM): Print all memory attributes.
7799
7800 2001-10-17  Richard Henderson  <rth@redhat.com>
7801
7802         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
7803
7804 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
7805
7806         * c-tree.texi: Eliminate duplicated word.
7807         * cpp.texi: Likewise.
7808         * install.texi: Likewise.
7809         * invoke.texi: Likewise.
7810         * tm.texi: Likewise.
7811
7812 2001-10-17  Michael Collison  <collison@isisinc.net>
7813
7814         * dsp16xx.c: Fix comment formatting to match GNU standards.
7815         (dsp16xx_output_function_prologue): Change type of 'size'
7816         parameter from 'int' to HOST_WIDE_INT.
7817         (dsp16xx_output_function_epilogue): Change type of 'size'
7818         parameter from 'int' to HOST_WIDE_INT.
7819
7820 2001-10-16  Richard Henderson  <rth@redhat.com>
7821
7822         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
7823         * configure, config.in: Rebuild.
7824
7825         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
7826         (ix86_output_addr_diff_elt): New.
7827         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
7828         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7829         (JUMP_TABLES_IN_TEXT_SECTION): New.
7830         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
7831         * config/i386/i386-protos.h: Update.
7832
7833         * config/i386/386bsd.h, config/i386/beos-elf.h,
7834         config/i386/freebsd-aout.h, config/i386/freebsd.h,
7835         config/i386/i386-interix.h, config/i386/i386elf.h,
7836         config/i386/linux.h, config/i386/netbsd-elf.h,
7837         config/i386/netbsd.h, config/i386/openbsd.h,
7838         config/i386/ptx4-i.h, config/i386/rtemself.h,
7839         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
7840         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
7841
7842 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
7843
7844         * stmt.c (expand_asm_operands): Update commentary.
7845
7846 2001-10-16  Stan Shebs  <shebs@apple.com>
7847
7848         * config/darwin.h (GCC_NAME): Remove, no longer used.
7849         (NO_MATH_LIBRARY): Ditto.
7850         (MATH_LIBRARY): Define to emptiness.
7851         (DWARF2_DEBUGGING_INFO): Define.
7852         (PREFERRED_DEBUGGING_TYPE): Define.
7853         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
7854         (EXCEPTION_SECTION): Define.
7855         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7856         * config/darwin.c (darwin_encode_section_info): Handle case of
7857         DECL_INITIAL being error_mark_node.
7858
7859 2001-10-16  Richard Henderson  <rth@redhat.com>
7860
7861         * alpha.c (current_file_function_operand): Don't fail for profiling.
7862         (direct_call_operand): New.
7863         * alpha-protos.h: Declare it.
7864         * alpha.h (EXTRA_CONSTRAINT): Use it.
7865         (PREDICATE_CODES): Add it.
7866         (ASM_OUTPUT_MI_THUNK): Remove.
7867         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
7868         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
7869
7870 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
7871
7872         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
7873         (JUMP_TABLES_IN_TEXT_SECTION): Define.
7874
7875 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
7876
7877         * cfg.c (free_edge): Break out from ....
7878         (remove_edge): ... here.
7879         (clear_edges): Use free_edge.
7880
7881         * att.h (ASM_QUAD): Add comment.
7882         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
7883
7884 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
7885
7886         * i386.c (split_ti): New function.
7887         (ix86_split_to_parts): Support TImodes.
7888         * i386.h (VALID_INT_MODE_P): Add TImode.
7889         * i386.md (movdi splitter): Fix.
7890         (movti): Support 64bit integer registers.
7891         (movti_rex64): New function and splitter.
7892
7893         * i386.c (*_cost): Add movsx/movzx cost.
7894         * i386.h (struct processor_costs): Add movsx/movzx fields.
7895         (RTX_COSTS): Handle zero/sign extend + avoid believing that
7896         64bit operations require split on 64bit machine.
7897         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
7898
7899         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
7900         (ix86_expand_move): Avoid pushes of memory if size does not match;
7901         move long constants to register.
7902         (x86_initialize_trampoline): Fix mode.
7903         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
7904         Use ASM_QUAD on 64bit.
7905         * i386.md (test pattern): Disallow impossible constants.
7906         (tablejump PIC expander): Fix emitting of sum.
7907         (movdicc_rex64): Rename to movdicc.
7908         * linux64.h (LINK_SPEC): Add missing '%'.
7909
7910 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
7911
7912         * tree-inline.c (inlinable_function_p): Leave it up to the
7913         front-end to turn -finline-functions into DECL_INLINE set for all
7914         functions.
7915
7916 2001-10-16  Stan Shebs  <shebs@apple.com>
7917
7918         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
7919
7920 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
7921
7922         * recog.c: Formatting and comment typo fixes.
7923
7924         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
7925         version in single tree build.
7926         * configure: Regenerate.
7927
7928 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
7929
7930         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
7931         MODE arguments to gen_rtx and compare operand with const0_rtx.
7932
7933 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7934
7935         * system.h: Poison old unused target macros.
7936         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
7937         * config/stormy16/stormy16.c: Update references to obsolete macros.
7938         * config/stormy16/stormy16.h: Similarly.
7939         * config/stormy16/stormy16.md: Similarly.
7940         * config/cris/cris.h: Similarly.
7941
7942 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
7943
7944         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
7945         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
7946         cpp_register_pragma): Update accordingly.
7947
7948 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
7949
7950         * c-pragma.h (cpp_register_pragma_space): Remove.
7951         * cpplib.h (cpp_register_pragma_space): Remove.
7952         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
7953         (cpp_register_pragma_space): Remove.
7954         (cpp_register_pragma): Simplify using lookup_pragma_entry,
7955         add sanity checks.
7956         (do_pragma): Similarly.
7957         (_cpp_init_internal_pragmas): Don't register namespaces.
7958
7959         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
7960         Don't register namespaces.
7961         * cp/lex.c (init_cp_pragma): Similarly.
7962         * doc/tm.texi: Update.
7963
7964 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7965
7966         PR c/4157
7967         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
7968
7969 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
7970
7971         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
7972         add scheduling support.
7973         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
7974         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
7975         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
7976
7977
7978 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
7979
7980         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
7981         missing CONSTANT_P test in core GCC.
7982
7983 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
7984
7985         * cppmain.c (struct printer): New member source.
7986         (scan_translation_unit): Fix spacing at start of lines.
7987         (cb_line_change): Update.
7988
7989         * gcc.dg/cpp/spacing2.c: New test.
7990
7991 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
7992
7993         * config/cris/arit.c: Use __builtin_labs, not abs.
7994
7995         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
7996
7997         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
7998         misplaced sprintf and fprintf argument.
7999
8000 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
8001
8002         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
8003         * configure.in, Makefile.in: Take out obsolete check-po logic.
8004         * configure, config.in: Regenerate.
8005
8006 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
8007
8008         * objc/objc-act.c (finish_objc): Correct precondition for emitting
8009         symtab declarations.
8010
8011 2001-10-12  Stan Shebs  <shebs@apple.com>
8012
8013         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
8014         declarations of arguments and local variables.
8015
8016 2001-10-12  Christopher Faylor  <cgf@redhat.com>
8017
8018         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
8019         ENDFILE_SPEC definition.
8020
8021 2001-10-12  Kazu Hirata  <kazu@hxi.com>
8022
8023         * gthr-dce.h: Fix comment formatting.
8024         * gthr-posix.h: Likewise.
8025         * gthr-single.h: Likewise.
8026         * gthr-solaris.h: Likewise.
8027         * gthr-vxworks.h: Likewise.
8028         * gthr-win32.h: Likewise.
8029
8030 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
8031
8032         * final.c (output_asm_insn): Make sure assembly dialects are
8033         terminated, not nested.  Output `|' and `}' characters if they
8034         don't appear inside assembly dialect selection.
8035         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
8036         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
8037         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
8038         strsetsi_rex_1): Add {} braces.
8039
8040 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8041
8042         * toplev.c (compile_file): Ignore return value from yyparse.
8043         Always pop any nested binding levels after yyparse returns.
8044
8045 2001-10-11  Richard Henderson  <rth@redhat.com>
8046
8047         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
8048
8049 2001-10-11  Richard Henderson  <rth@redhat.com>
8050
8051         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
8052         fall back to add_AT_long_long for large CONST_INT.
8053
8054 2001-10-11  Richard Henderson  <rth@redhat.com>
8055
8056         * config/i386/i386.md (setcc splitters): Add four splitters to
8057         simplify compound compares that simplify_comparison can't handle.
8058
8059 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
8060
8061         * cpplex.c (digraph_spellings, token_spellings): Make static.
8062
8063 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8064
8065         * unroll.c (loop_iterations): Fixup last patch.
8066
8067 2001-10-11  Richard Henderson  <rth@redhat.com>
8068
8069         * rtl.h (REG_VTABLE_REF): New.
8070         * rtl.c (reg_note_name): Add it.
8071         * combine.c (distribute_notes): Handle it.
8072         * final.c (final_scan_insn): Handle it.
8073         * tree.def (VTABLE_REF): New.
8074         * expr.c (expand_expr): Handle it.
8075         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
8076         * output.h: Declare them.
8077
8078 2001-10-11  Richard Henderson  <rth@redhat.com>
8079
8080         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
8081         for a DECL_INITIAL.
8082
8083 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
8084
8085         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
8086         available in 64-bit mode.
8087
8088 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8089
8090         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
8091         cris-*-linux* cases.
8092         * config/cris/cris-protos.h: New file.
8093         * config/cris/cris.c: New file.
8094         * config/cris/cris.h: New file.
8095         * config/cris/cris.md: New file.
8096         * config/cris/linux.h: New file.
8097         * config/cris/aout.h: New file.
8098         * config/cris/arit.c: New file.
8099         * config/cris/cris_abi_symbol.c: New file.
8100         * config/cris/mulsi3.asm: New file.
8101         * config/cris/t-aout: New file.
8102         * config/cris/t-cris: New file.
8103         * config/cris/t-elfmulti: New file.
8104         * config/cris/t-linux: New file.
8105         * doc/invoke.texi: Add CRIS options.
8106         * doc/install.texi (Specific): Add blurb for CRIS.
8107
8108 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
8109
8110         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
8111         before using it.
8112         * config/float/i32.h: Likewise.
8113         * config/float-i386.h: Likewise.
8114         * config/float-i64.h: Likewise.
8115         * config/float-m68k.h: Likewise.
8116         * config/float-sh.h: Likewise.
8117         * config/float-sparc.h: Likewise.
8118
8119 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
8120
8121         * doc/contrib.texi: Add note about CRIS port to my entry.
8122
8123 2001-10-11  Kazu Hirata  <kazu@hxi.com>
8124
8125         * basic-block.h: Fix formatting.
8126         * bitmap.h: Likewise.
8127         * cpplib.h: Likewise.
8128         * c-tree.h: Likewise.
8129         * diagnostic.h: Likewise.
8130         * flags.h: Likewise.
8131         * ggc.h: Likewise.
8132         * longlong.h: Likewise.
8133         * real.h: Likewise.
8134         * reload.h: Likewise.
8135         * rtl.h: Likewise.
8136         * tree.h: Likewise.
8137
8138 2001-10-10  Richard Henderson  <rth@redhat.com>
8139
8140         * c-parse.in (asm_operand): Allow named operands.
8141         * genconfig.c (max_recog_operands): Set to 29.
8142         * local-alloc.c (requires_inout): Skip multiple digits.
8143         * recog.c (asm_operand_ok): Likewise.
8144         (preprocess_constraints): Use strtoul for matching constraints.
8145         (constrain_operands): Likewise.
8146         * regmove.c (find_matches): Likewise.
8147         * reload.c (find_reloads): Likewise.
8148         * stmt.c (parse_output_constraint): Don't reject in-out
8149         constraint on operands > 9.  Reject '[' in constraint.
8150         (expand_asm_operands): Handle named operands.  Use strtoul
8151         for matching constraints.
8152         (check_operand_nalternatives): Split out from expand_asm_operands.
8153         (check_unique_operand_names): New.
8154         (resolve_operand_names, resolve_operand_name_1): New.
8155
8156         * doc/extend.texi (Extended Asm): Document named operands.
8157         * doc/md.texi (Simple Constraints): Document matching constraints
8158         on operands > 9.
8159
8160 2001-10-10  Richard Henderson  <rth@redhat.com>
8161
8162         * combine.c (try_combine): Handle a SEQUENCE of one insn.
8163
8164         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
8165         (jcc splitters): Add two splitters to simplify compound compares
8166         that simplify_comparison can't handle.
8167
8168 2001-10-10  Richard Henderson  <rth@redhat.com>
8169
8170         * langhooks.c: Include langhooks.h.
8171         * Makefile.in (langhooks.o): Depend on it.
8172
8173 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
8174
8175         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
8176         should not be considered as a no-op.
8177         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
8178
8179 2001-10-10  Stan Shebs  <shebs@apple.com>
8180
8181         * alias.c: Remove uses of "register" specifier in declarations
8182         of arguments and local variables.
8183         * c-common.c: Ditto.
8184         * c-convert.c: Ditto.
8185         * c-decl.c: Ditto.
8186         * c-format.c: Ditto.
8187         * c-semantics.c: Ditto.
8188         * c-typeck.c: Ditto.
8189         * caller-save.c: Ditto.
8190         * calls.c: Ditto.
8191         * cfg.c: Ditto.
8192         * cfgbuild.c: Ditto.
8193         * cfgrtl.c: Ditto.
8194         * collect2.c: Ditto.
8195         * combine.c: Ditto.
8196         * convert.c: Ditto.
8197         * cppexp.c: Ditto.
8198         * cppfiles.c: Ditto.
8199         * cse.c: Ditto.
8200         * dbxout.c: Ditto.
8201         * defaults.h: Ditto.
8202         * df.c: Ditto.
8203         * dwarf2out.c: Ditto.
8204         * dwarfout.c: Ditto.
8205         * emit-rtl.c: Ditto.
8206         * explow.c: Ditto.
8207         * expmed.c: Ditto.
8208         * expr.c: Ditto.
8209         * final.c: Ditto.
8210         * fix-header.c: Ditto.
8211         * floatlib.c: Ditto.
8212         * flow.c: Ditto.
8213         * fold-const.c: Ditto.
8214         * function.c: Ditto.
8215         * gcc.c: Ditto.
8216         * gcse.c: Ditto.
8217         * gen-protos.c: Ditto.
8218         * genattrtab.c: Ditto.
8219         * gencheck.c: Ditto.
8220         * genconfig.c: Ditto.
8221         * genemit.c: Ditto.
8222         * genextract.c: Ditto.
8223         * genflags.c: Ditto.
8224         * gengenrtl.c: Ditto.
8225         * genoutput.c: Ditto.
8226         * genpeep.c: Ditto.
8227         * genrecog.c: Ditto.
8228         * gensupport.c: Ditto.
8229         * global.c: Ditto.
8230         * gmon.c: Ditto.
8231         * graph.c: Ditto.
8232         * haifa-sched.c: Ditto.
8233         * hard-reg-set.h: Ditto.
8234         * hash.c: Ditto.
8235         * integrate.c: Ditto.
8236         * jump.c: Ditto.
8237         * lists.c: Ditto.
8238         * local-alloc.c: Ditto.
8239         * loop.c: Ditto.
8240         * mips-tdump.c: Ditto.
8241         * mips-tfile.c: Ditto.
8242         * optabs.c: Ditto.
8243         * prefix.c: Ditto.
8244         * print-rtl.c: Ditto.
8245         * read-rtl.c: Ditto.
8246         * real.c: Ditto.
8247         * recog.c: Ditto.
8248         * reg-stack.c: Ditto.
8249         * regclass.c: Ditto.
8250         * regmove.c: Ditto.
8251         * reload.c: Ditto.
8252         * reload1.c: Ditto.
8253         * reorg.c: Ditto.
8254         * resource.c: Ditto.
8255         * rtl.c: Ditto.
8256         * rtlanal.c: Ditto.
8257         * scan.c: Ditto.
8258         * sched-deps.c: Ditto.
8259         * sched-rgn.c: Ditto.
8260         * sdbout.c: Ditto.
8261         * simplify-rtx.c: Ditto.
8262         * stmt.c: Ditto.
8263         * stor-layout.c: Ditto.
8264         * toplev.c: Ditto.
8265         * tradcif.y: Ditto.
8266         * tradcpp.c: Ditto.
8267         * tree.c: Ditto.
8268         * unroll.c: Ditto.
8269         * varasm.c: Ditto.
8270         * xcoffout.c: Ditto.
8271
8272 2001-10-10  Richard Henderson  <rth@redhat.com>
8273
8274         * rtl.h (can_reverse_comparison_p): Remove.
8275
8276 2001-10-10  Christopher Faylor <cgf@redhat.com>
8277
8278         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
8279         used.
8280
8281 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8282
8283         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
8284         (Thanks to Chris Faylor for suggesting macro name).
8285         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
8286         WIN32 defines.
8287         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
8288         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
8289         (MATH_LIBRARY): Undef before definition.
8290         (OUTPUT_QUOTED_STRING): Likewise.
8291         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
8292
8293 2001-10-10  Richard Henderson  <rth@redhat.com>
8294
8295         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
8296         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
8297         a tristate comparison value.
8298         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
8299
8300 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8301
8302         PR c++/4512
8303         * unroll.c (loop_iterations): Ignore insns generated by loop
8304         unrolling.
8305
8306         * config.gcc (mips*-*-gnu*): Delete support.
8307         * config/mips/gnu.h: Remove.
8308
8309 2001-10-10  Kazu Hirata  <kazu@hxi.com>
8310
8311         * calls.c: Fix formatting.
8312         * c-decl.c: Likewise.
8313         * cfgcleanup.c: Likewise.
8314         * combine.c: Likewise.
8315         * cppfiles.c: Likewise.
8316         * cpplib.c: Likewise.
8317         * cppmacro.c: Likewise.
8318         * crtstuff.c: Likewise.
8319         * cse.c: Likewise.
8320         * dwarf2out.c: Likewise.
8321         * expmed.c: Likewise.
8322         * expr.c: Likewise.
8323         * fold-const.c: Likewise.
8324         * function.c: Likewise.
8325         * gcse.c: Likewise.
8326         * genattrtab.c: Likewise.
8327         * ggc-page.c: Likewise.
8328         * integrate.c: Likewise.
8329         * libgcc2.c: Likewise.
8330         * loop.c: Likewise.
8331         * optabs.c: Likewise.
8332         * profile.c: Likewise.
8333         * protoize.c: Likewise.
8334         * real.c: Likewise.
8335         * recog.c: Likewise.
8336         * reload1.c: Likewise.
8337         * reload.c: Likewise.
8338         * reorg.c: Likewise.
8339         * resource.c: Likewise.
8340         * sched-rgn.c: Likewise.
8341         * sdbout.c: Likewise.
8342         * stmt.c: Likewise.
8343         * toplev.c: Likewise.
8344         * varasm.c: Likewise.
8345
8346 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
8347
8348         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
8349         * Makefile.in (langhooks.o): Add dependencies.
8350
8351 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
8352
8353         * rs6000.c (rs6000_emit_load_toc_table): Don't
8354         strdup the toc label.
8355         (create_TOC_reference): Likewise.
8356
8357 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8358
8359         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
8360         version default.
8361
8362 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
8363
8364         * config/i386/i386.c (ix86_attribute_table): Correct
8365         min_len, max_len fields for dllimport, dllexport and shared.
8366
8367 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
8368
8369         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
8370         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
8371         Consistently use "nonzero" instead of "non-zero".
8372
8373 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8374
8375         * acconfig.h: Fix comment formatting.
8376         * c-dump.h: Likewise.
8377         * c-tree.h: Likewise.
8378         * conditions.h: Likewise.
8379         * expr.h: Likewise.
8380         * function.h: Likewise.
8381         * gthr.h: Likewise.
8382         * hwint.h: Likewise.
8383         * integrate.h: Likewise.
8384         * intl.h: Likewise.
8385         * loop.h: Likewise.
8386         * optabs.h: Likewise.
8387
8388 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8389
8390         * c-common.h: Fix comment formatting.
8391         * c-dump.c: Likewise.
8392         * cfg.c: Likewise.
8393         * diagnostic.h: Likewise.
8394         * except.c: Likewise.
8395         * gcc.h: Likewise.
8396         * gcov-io.h: Likewise.
8397         * genattrtab.c: Likewise.
8398         * output.h: Likewise.
8399         * predict.h: Likewise.
8400         * reload1.c: Likewise.
8401         * reload.h: Likewise.
8402         * resource.h: Likewise.
8403         * scan.h: Likewise.
8404         * system.h: Likewise.
8405         * tree.h: Likewise.
8406         * tree-inline.c: Likewise.
8407         * tsystem.h: Likewise.
8408         * varasm.c: Likewise.
8409         * xcoffout.h: Likewise.
8410
8411 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8412
8413         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
8414
8415 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
8416
8417         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
8418         config/i386/i386elf.h, config/i386/netbsd-elf.h,
8419         config/i386/netware.h, config/mcore/gfloat.h,
8420         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
8421         config/netware.h, gccbug.in: Update FSF address.
8422
8423 2001-10-09  Kazu Hirata  <kazu@hxi.com>
8424
8425         * c-common.c: Fix comment typos.
8426         * cfgrtl.c: Likewise.
8427         * collect2.c: Likewise.
8428         * cpplex.c: Likewise.
8429         * doloop.c: Likewise.
8430         * dwarf2out.c: Likewise.
8431         * dwarfout.c: Likewise.
8432         * expr.c: Likewise.
8433         * fold-const.c: Likewise.
8434         * gcc.c: Likewise.
8435         * gcov.c: Likewise.
8436         * gcse.c: Likewise.
8437         * global.c: Likewise.
8438         * ifcvt.c: Likewise.
8439         * loop.c: Likewise.
8440         * optabs.c: Likewise.
8441         * protoize.c: Likewise.
8442         * regclass.c: Likewise.
8443         * reorg.c: Likewise.
8444         * rtl.h: Likewise.
8445         * stmt.c: Likewise.
8446         * tree.h: Likewise.
8447         * doc/cpp.texi: Likewise.
8448         * doc/c-tree.texi: Likewise.
8449         * doc/extend.texi: Likewise.
8450         * doc/invoke.texi: Likewise.
8451         * doc/objc.texi: Likewise.
8452         * doc/tm.texi: Likewise.
8453
8454 2001-10-08  Richard Henderson  <rth@redhat.com>
8455
8456         * varasm.c (set_named_section_flags): Initialize "declared".
8457
8458 2001-10-08  Robert Lipe  <robertlipe@usa.net>
8459
8460         * varasm.c (struct in_named_entry): Add declared.
8461         (named_section_first_declaration): New function.
8462         (default_elf_asm_named_section): Use it.
8463         * output.h (named_section_first_declaration): New.
8464
8465 2001-10-08  Richard Henderson  <rth@redhat.com>
8466
8467         * i386.md (movsi_xor): Export.
8468         (setcc peep2): Use it when available; add an alternative to
8469         match zero_extendhisi2_and.
8470
8471 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8472
8473         * romp-protos.h (romp_initialize_trampoline): New function.
8474         * romp.c (romp_initialize_trampoline): Likewise.
8475         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
8476         romp_initialize_trampoline.
8477
8478 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8479
8480         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
8481         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8482         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8483         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
8484
8485 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8486
8487         * unroll.c (loop_iterations): Extend check for multiple back edges.
8488
8489 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
8490
8491         * langhooks.h: New file.
8492         * Makefile.in (OBJS): Added langhooks.o.
8493         (c-lang.o): Depend on langhooks.h.
8494         (c-common.o): Don't depend on tree-inline.h.
8495         (tree-inline.o): Depend on toplev.h.
8496         (langhooks.o): New rule.
8497         * c-common.c: Don't include tree-inline.h.
8498         (c_mark_lang_decl): Mark argument c as unused.
8499         (c_common_lang_init): Don't initialize hooks here.
8500         * c-lang.c: Include langhooks.h, then override some macros.
8501         (lang_hooks): Initialize with macros in langhooks.h.
8502         (c_init): Don't initialize hooks here.
8503         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
8504         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
8505         * tree-inline.c: Include toplev.h.  Don't define hook variables.
8506         * tree-inline.h: Don't define hook types nor declare hook
8507         variables.  Move macros to...
8508         * langhooks.c: ... new file, as functions.  Adjust all callers.
8509
8510 2001-10-08  Jeffrey A Law  <law@cygnus.com>
8511
8512         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
8513         purge_mem_unchanging_flag on all instructions, not just on those
8514         before NOTE_INSN_FUNCTION_BEG.
8515
8516 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8517
8518         * cppmacro.c (_cpp_create_definition): Leave comments off.
8519
8520         * doc/cpp.texi: Update.
8521
8522 2001-10-08  DJ Delorie  <dj@redhat.com>
8523
8524         * c-decl.c (grokfield): Make sure the only unnamed fields
8525         we're allowing are either structs or unions.
8526         * doc/extend.texi: Add documentation for the unnamed field
8527         extension.
8528
8529 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
8530
8531         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
8532         * configure.in: Use it.
8533         * configure: Regenerated.
8534         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
8535         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
8536
8537 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8538
8539         * cppfiles.c (open_file): Don't mark zero-length files
8540         never-reread here.  Don't output diagnostics here either.
8541         (stack_include_file): Mark them never-reread here.
8542         (_cpp_read_file): Update.
8543
8544 2001-10-08  Richard Henderson  <rth@redhat.com>
8545
8546         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
8547
8548 2001-10-08  Richard Henderson  <rth@redhat.com>
8549
8550         * expr.c (store_expr): When converting a CONST_INT for storage
8551         in a SUBREG, convert it to both SUBREG modes before stripping
8552         the SUBREG.
8553
8554 2001-10-08  Richard Henderson  <rth@redhat.com>
8555
8556         * varasm.c (restore_varasm_status): New.
8557         * function.h: Declare it.
8558         * function.c (pop_function_context_from): Call it.
8559
8560 2001-10-08  Richard Henderson  <rth@redhat.com>
8561
8562         * c-common.h (struct c_lang_decl): Add declared_inline.
8563         * c-tree.h (DECL_DECLARED_INLINE_P): New.
8564         * c-lang.c (c_disregard_inline_limits): Use it.
8565         * c-decl.c (duplicate_decls): Likewise.
8566         (pushdecl, redeclaration_error_message): Likewise.
8567         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
8568         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
8569         Set DECL_INLINE if -finline-functions.
8570         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
8571
8572 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
8573
8574         * cppmacro.c (funlike_invocation_p): Move some logic to caller
8575         in enter_macro_context.  Create a padding token in its own context
8576         if necessary when the search for '(' fails.
8577         (enter_macro_context): Update.
8578
8579 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8580
8581         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
8582         genmultilib, toplev.c: Fix spelling errors of "separate" as
8583         "seperate", and corresponding spelling errors of related words.
8584
8585 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8586
8587         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
8588         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
8589         Likewise.
8590         * c-dump.c (dump_option_value_info): Likewise.
8591         * c-format.c (format_length_info, format_char_info,
8592         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
8593         * collect2.c (names): Likewise.
8594         * cppdefault.h (default_include): Likewise.
8595         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
8596         * flow.c (life_analysis): Likewise.
8597         * gcc.c (dir_separator_str, modify_target, option_map,
8598         target_option_translations, spec_list_1, extra_specs_1,
8599         init_spec): Likewise.
8600         * gcov.c (gcov_version_string): Likewise.
8601         * genattr.c (write_units): Likewise.
8602         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
8603         * gengenrtl.c (rtx_definition, defs): Likewise.
8604         * genrecog.c (pred_table): Likewise.
8605         * global.c (global_alloc): Likewise.
8606         * lcm.c (optimize_mode_switching): Likewise.
8607         * local-alloc.c (find_free_reg): Likewise.
8608         * params.h (param_info): Likewise.
8609         * predict.c (predictor_info): Likewise.
8610         * protoize.c (unexpansion_struct): Likewise.
8611         * real.c (bmask): Likewise.
8612         * recog.h (insn_operand_data, insn_data): Likewise.
8613         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
8614         * stmt.c (expand_nl_goto_receiver): Likewise.
8615         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
8616         target_switches, target_options): Likewise.
8617         * tradcif.y (token, tokentab2, yylex): Likewise.
8618         * tree.h (attribute_spec): Likewise.
8619
8620         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
8621         Likewise.
8622         * arc.c (arc_output_function_epilogue): Likewise.
8623         * arm.c (processors, all_cores, all_architectures,
8624         arm_override_options, isr_attribute_arg, isr_attribute_args,
8625         arm_isr_value): Likewise.
8626         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
8627         Likewise.
8628         * c4x.c (c4x_int_reglist): Likewise.
8629         * d30v.c (override_options): Likewise.
8630         * h8300.c (shift_insn): Likewise.
8631         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
8632         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
8633         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
8634         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
8635         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
8636         * i386.h (processor_costs, ix86_cost): Likewise.
8637         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
8638         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
8639         * m68k.c (codes_68881, codes_FPA): Likewise.
8640         * m88k.c (mode_from_align, max_from_align, all_from_align,
8641         best_from_align, m_options): Likewise.
8642         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
8643         * mcore.c (mode_from_align): Likewise.
8644         * mips/elf64.h (UNIQUE_SECTION): Likewise.
8645         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
8646         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
8647         * mips.h (mips_regno_to_class): Likewise.
8648         * ns32k.c (scales): Likewise.
8649         * pa.c (import_string, magic_milli): Likewise.
8650         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
8651         * sparc.c (leaf_reg_remap, sparc_override_options,
8652         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
8653         Likewise.
8654         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
8655
8656 2001-10-07  Dale Johannesen  <dalej@apple.com>
8657
8658         * reload1.c (reload_reg_free_p): Teach register interference
8659         checking that multiple output reloads are emitted in
8660         reverse order.
8661         reload1.c (reload_reg_reaches_end_p):  Ditto.
8662         reload1.c (reloads_conflict):  Ditto.
8663
8664 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8665
8666         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
8667         NULL_TREE inside @code.
8668
8669 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
8670
8671         * doc/gcc.texi: Document consistent style of "32-bit",
8672         "Objective-C", and "@code{NULL}".
8673
8674 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8675
8676         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
8677         (cpp_token_len, cpp_spell_token, cpp_output_token,
8678         _cpp_equiv_tokens): Handle it.
8679         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
8680         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
8681         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
8682         error messages.
8683
8684 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8685
8686         * gcc.c (default_compilers): Remove .ada.
8687
8688 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
8689
8690         * doc/cppinternals.texi: Update.
8691
8692 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
8693
8694         * gcc.c (main): Set this_file_error if the appropriate
8695         compiler for a language has not been installed.
8696
8697 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
8698
8699         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8700
8701 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
8702
8703         * gccbug.in (CATEGORIES): Add ada.
8704
8705 2001-10-05  Catherine Moore  <clm@redhat.com>
8706
8707         * config/stormy16/stormy-abi:  Document abi changes.
8708         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8709         (ICALL_REGS): New register class.
8710         (NUM_ARGUMENT_REGISTERS): Now 6.
8711         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8712         in registers.
8713         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8714         * config/stormy16.md (call_internal, call_value_internal,
8715         indirect_jump): Use new 'z' constraint.
8716
8717 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8718
8719         * doc/cppinternals.texi: Update.
8720
8721 2001-10-05  Richard Henderson  <rth@redhat.com>
8722
8723         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8724         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8725         the gas section-name-as-label feature.
8726
8727 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
8728
8729         * doc/cppinternals.texi: Update.
8730
8731 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8732
8733         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8734         to ensure valid SImode constants.
8735
8736 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
8737
8738         * Makefile.in (c-decl.o): Depend on tree-inline.h.
8739         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8740         * c-decl.c: Include tree-inline.h.
8741         (c_expand_body): Call optimize_inline_calls. Determine whether
8742         a function is inlinable upfront, and only clear
8743         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8744         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8745         (c_disregard_inline_limits): New function.
8746         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8747         (c_post_options): Enable tree inlining if inlining is enabled.
8748         Don't inline trees when instrumenting functions.
8749         (c_init): Initialize lang_disregard_inline_limits and
8750         lang_cannot_inline_tree_fn.
8751         * tree-inline.c (initialize_inlined_parameters): Handle calls
8752         with fewer arguments than declared parameters, and fewer
8753         parameters than passed arguments.  Don't assume value is a
8754         DECL.
8755         (declare_return_variable): Convert return value back to the
8756         original type, if it was promoted.
8757         (tree_inlinable_function_p): New function.
8758         (inlinable_function_p): Don't look at DECL_INLINE if we're
8759         inlining all functions.  Make it work with a NULL id.
8760         Re-check DECL_UNINLINABLE after language-specific checks.
8761         * tree-inline.h (tree_inlinable_function_p): Declare it.
8762         * integrate.c (save_for_inline): Don't bother to prepare argvec
8763         when not inlining.
8764         * cse.c (check_for_label_ref): Don't check deleted labels.
8765
8766         * Makefile.in (tree-inline.o): Depend on newly-included headers.
8767         * tree-inline.c: Include headers needed for the functions moved in.
8768         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8769         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8770         (copy_body, initialize_inlined_parameters): Likewise.
8771         (declare_return_variable, inlinable_function_p): Likewise.
8772         (expand_call_inline, expand_calls_inline): Likewise.
8773         (optimize_inline_calls, clone_body): Likewise.
8774         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
8775         (copy_tree_r, remap_save_expr): Likewise.
8776
8777 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
8778
8779         * Makefile.in (OBJS): Added tree-inline.o.
8780         (c-common.o): Depend on tree-inline.h.
8781         (tree-inline.o): New target.
8782         * c-common.c: Include tree-inline.h.
8783         (c_mark_lang_decl): Don't mark saved_tree.
8784         (c_common_lang_init): Set lang_anon_aggr_type_p.
8785         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
8786         (struct c_lang_decl): Moved saved_tree to tree_decl.
8787         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
8788         * integrate.h (function_attribute_inlinable_p): Declare it.
8789         * integrate.c (function_attribute_inlinable_p): Export it.
8790         * tree-inline.c: New file.  Define variables declared in...
8791         * tree-inline.h: New file.  Declare functions to be moved to
8792         tree-inline.c.  Define macros and declare types and hooks for
8793         language-specific tree inlining.
8794         (flag_inline_trees): Moved definition from cp/decl2.c.
8795         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
8796         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
8797         (struct tree_decl): Moved saved_tree from c_lang_decl and
8798         inlined_fns from C++'s lang_decl.
8799
8800 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
8801
8802         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
8803         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
8804
8805 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
8806
8807         * doc/cppinternals.texi: Update.
8808
8809 2001-10-04  Eric Christopher  <echristo@redhat.com>
8810
8811         * config/mips/mips.c (init_cumulative_args): Remember to set
8812         cum->prototype.
8813         * config.gcc: Redo linux configuration. Add target_cpu_default
8814         of soft-float to all mipsisa32 combinations and tx39.
8815         * config/mips/linux.h: Remove include of mips.h.
8816
8817 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
8818
8819         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
8820         HOST_LDFLAGS and HOST_CPPFLAGS.
8821
8822 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
8823
8824         * c-parse.in (objc_inherit_code, objc_pq_context,
8825         objc_public_flag): Make static.
8826         (objc_interface_context, objc_implementation_context,
8827         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
8828         global tree array in objc/objc-act.[ch].
8829         (methoddef): Remove unnecessary code.
8830
8831         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
8832         Hoist struct definitions to objc-act.h.
8833         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
8834         cat_count): Place declaration in objc-act.h.
8835         (objc_tree_index): Move enumeration to objc-act.h.
8836         (objc_global_trees): Place declaration and macro accessors in
8837         objc-act.h.
8838         (implementation_context): Remove duplicate; use
8839         objc_implementation_context instead:
8840         (method_context): Remove duplicate; use objc_method_context
8841         instead.
8842         (objc_ellipsis_node, objc_method_prototype_template,
8843         implemented_classes, function_type): Move global vars to
8844         objc_global_trees.
8845         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
8846         (build_message_expr): Move actual construction of ObjC message
8847         send nodes to finish_message_expr.
8848         (finish_message_expr): New routine, contains code formerly in
8849         build_message_expr.
8850         * objc/objc-act.h (finish_message_expr): New prototype.
8851         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
8852         declarations; these vars are now part of objc_global_trees.
8853         (objc_tree_index, objc_global_trees): Move definitions from
8854         objc-act.c.
8855         * objc/objc-tree.def: Update copyright info.
8856
8857 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
8858
8859         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
8860         op is NULL.
8861         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
8862         only if TARGET_ARCH64.
8863
8864 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
8865
8866         * doc/extend.texi: Fix some problems with previous checkin.
8867         * doc/invoke.texi: Likewise.
8868
8869 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
8870
8871         * cpphash.h: Update comments.
8872         (cpp_context): Update.
8873         (spec_nodes): Remove n__Pragma.
8874         * cppinit.c (cpp_create_reader): Update.
8875         (builtin_array): Add _Pragma.
8876         * cpplib.h: Update comments.
8877         (NODE_DISABLED, BT_PRAGMA): New.
8878         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
8879         * cppmacro.c (struct cpp_macro): Remove disabled.
8880         (builtin_macro): Return int, handle _Pragma, push the new token
8881         on the context stack.
8882         (funlike_invocation_p): Unconstify, update.
8883         (enter_macro_context): Handle builtins here.
8884         (replace_args, push_token_context, push_ptoken_context):
8885         Update for prototype changes.
8886         (_cpp_pop_context): Update.
8887         (cpp_get_token): Don't handle buitins, nor _Pragma here.
8888         (cpp_sys_macro_p): Update.
8889         (_cpp_free_definition): Clear disabled flag.
8890         (_cpp_create_definition): Upate.
8891         * cppmain.c: Update comments.
8892
8893 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
8894                                 Andreas Jaeger <aj@suse.de>,
8895                                 Jan Hubicka    <jh@suse.cz>
8896
8897         * doc/invoke.texi (i386 Options): Document x86-64 options.
8898         (i386 and x86-64 Options): Rename i386 options section.
8899
8900         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
8901         (TARGET_SWITCHES): Add -munwind-info.
8902         (MASK_NO_UNWIND_INFO): New.
8903         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
8904         biarch compilation.
8905         (ASM_OUTPUT_DOUBLE_INT): New.
8906
8907         * config/i386/linux64.h: New spec file for Linux x86-64 support.
8908         * config.gcc: Fix tm_file settings for x86-64.
8909         * config/i386/x86-64.h: New file with OS independent x86-64
8910         definitions.
8911         * config/i386/biarch64.h: New file used to configure compiler
8912         to biarch/64bit compilation.
8913
8914         * config/i386/i386.c: (override_options): Set flags default
8915         for 64bit compilation.
8916
8917 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
8918
8919         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
8920         (ix86_expand_int_movcc): Optimize DImode conditional moves with
8921         constants on x86_64.
8922         (ix86_attr_length_immediate_default): Support MODE_DI.
8923         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
8924         condition.
8925         (indirect_jump, tablejump): Turn into expander.
8926
8927 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8928
8929         * c-common.c (c_format_attribute_table): Make format and
8930         format_arg attributes apply to function types rather than to
8931         decls.
8932         (is_valid_printf_arglist): Construct an attribute list and pass
8933         that to check_function_format rather than a name.
8934         * c-common.h (check_function_format): Adjust prototype.
8935         * c-decl.c (duplicate_decls): Preserve attributes from type of
8936         built-in decl when allowing for harmless conflict in types.
8937         * c-format.c (record_function_format,
8938         record_international_format, function_format_list,
8939         international_format_info, international_format_list): Remove.
8940         (function_format_info): Remove next, name and assembler_name.
8941         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
8942         (decode_format_attr): New.
8943         (handle_format_attribute): Handle receiving a type rather than a
8944         decl.  Call decode_format_attr.  Store format information in a
8945         function_format_info.
8946         (handle_format_arg_attribute): Correct comment.  Handle receiving
8947         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
8948         arg_num.
8949         (check_format_info_recurse, check_format_info_main): Take argument
8950         numbers as unsigned HOST_WIDE_INT.
8951         (check_function_format): Take a list of attributes from the
8952         function type rather than a name or assembler name.  Check for
8953         format attributes in that list and the attributes on the type of
8954         the current function rather than looking through
8955         function_format_list.
8956         (check_format_info): Use unsigned HOST_WIDE_INT for argument
8957         numbers.
8958         (check_format_info_recurse): Take format_arg attributes from the
8959         type of the function calls rather than using
8960         international_format_list.  Allow for multiple format_arg
8961         attributes.
8962         * c-typeck.c (build_function_call): Pass type attributes to
8963         check_function_format rather than name or assembler name.  Don't
8964         require there to be a name or assembler name to check formats.
8965
8966 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8967
8968         * attribs.c (decl_attributes): Possibly call
8969         insert_default_attributes to insert default attributes on
8970         functions in a lazy manner.
8971         * builtin-attrs.def: New file; define the default format and
8972         format_arg attributes.
8973         * c-common.c (c_format_attribute_table): Move to earlier in the
8974         file.
8975         (c_common_nodes_and_builtins): Initialize format_attribute_table.
8976         (enum built_in_attribute, built_in_attributes,
8977         c_attrs_initialized, c_init_attributes,
8978         c_common_insert_default_attributes): New.
8979         (c_common_lang_init): Don't initialize format_attribute_table.  Do
8980         call c_init_attributes.
8981         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
8982         * c-common.h (init_function_format_info): Don't declare.
8983         (c_common_insert_default_attributes): Declare.
8984         * c-decl.c (implicitly_declare, builtin_function): Call
8985         decl_attributes.
8986         (init_decl_processing): Don't call init_function_format_info.
8987         (insert_default_attributes): New.
8988         * c-format.c (handle_format_attribute,
8989         handle_format_arg_attribute): Be quiet about inappropriate
8990         declaration when applying default attributes.
8991         (init_function_format_info): Remove.
8992         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
8993         (insert_default_attributes): Declare.
8994
8995 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
8996
8997         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
8998
8999 2001-10-01  Jim Wilson  <wilson@redhat.com>
9000
9001         * sched-deps.c (add_dependence): When elide conditional dependence,
9002         check that insn doesn't modify cond2.
9003
9004 2001-10-01  Dale Johannesen  <dalej@apple.com>
9005
9006         * config/rs6000/rs6000.h (enum processor_type): Add support
9007         for 7400 (G4) and 7450.
9008         (RTX_COSTS): Ditto.
9009         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
9010         (rs6000_issue_rate): Ditto.
9011         (rs6000_adjust_cost): Fix cycle counts for compares.
9012         (debug_stack_info):  Fix an obvious typo.
9013         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
9014         * doc/invoke.texi: Document.
9015         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
9016         for Darwin.
9017         (PROCESSOR_DEFAULT): Ditto.
9018
9019 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
9020
9021         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
9022         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
9023         later recursive make invocation.
9024
9025 2001-10-01  Hans Boehm  <boehm@acm.org>
9026
9027         * optabs.c (emit_libcall_block): When using non-call exceptions,
9028         don't add REG_LIBCALL reg notes to trapping calls.
9029
9030 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9031
9032         * flow.c (propagate_block_delete_libcall): Remove unused first arg
9033         (propagate_one_insn):  Update for above change
9034
9035 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
9036
9037         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
9038         _Unwind_GetTextRelBase): Argument is unused.
9039
9040 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9041
9042         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
9043         Loop through NOPs, placeholders, and components.
9044         Don't go through NOPs if change mode.
9045         (record_alias_subset): Do nothing if SUBSET and SET are the same.
9046         * emit-rtl.c (set_mem_alias_set): Enable check.
9047         * expr.c (find_placeholder): New function.
9048         (expand_expr, case PLACEHOLDER_EXPR): Use it.
9049         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
9050         to modify it and avoid unneeded copies.
9051         * expr.h (expand_expr): Always define.
9052         (find_placeholder): New declaration.
9053
9054 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9055
9056         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
9057         operand 2 is the stack pointer.
9058         ("addr-peephole"): Fix address computation peephole when operand 2
9059         is the stack pointer.
9060
9061 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9062
9063         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
9064         (ix86_setup_incoming_varargs): Likewise.
9065
9066 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
9067
9068         * stor-layout.c (layout_type): Don't complain about too-large
9069         array here.
9070
9071 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9072
9073         * function.c (keep_stack_depressed): Don't use delete_insn.
9074
9075         * expr.h (set_mem_alias_set): Move decl to here.
9076         * rtl.h (mem_attrs): New typedef and struct.
9077         (union rtunion_def): Add field for mem_attrs.
9078         (X0MEMATTR, MEM_ATTRS): New macros.
9079         (MEM_ALIAS_SET): Use MEM_ATTRS.
9080         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
9081         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
9082         (set_mem_alias_set): Delete decl from here.
9083
9084         * alias.c (set_mem_alias_set): Delete from here.
9085         * emit-rtl.c (mem_attrs_htab): New variable.
9086         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
9087         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
9088         (mem_attrs_mark, get_mem_attrs): Likewise.
9089         (gen_rtx_MEM): Clear MEM_ATTRS.
9090         (set_mem_attributes): Move to here.
9091         (set_mem_alias_set): Likewise, and call get_mem_attrs.
9092         (init_emit_once): const_int_htab now deletable htab.
9093         Initialize mem_attrs_htab.
9094         * explow.c (set_mem_attributes): Delete from here.
9095         * function.c (put_var_into_stack): Clear MEM_ATTRS.
9096         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
9097         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
9098         * reload1.c (reload): Rework changing REG to MEM.
9099
9100 2001-09-30  H.J. Lu <hjl@gnu.org>
9101
9102         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
9103         * config.in: Rebuild.
9104
9105 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9106
9107         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
9108         ("tsthi_1"): Avoid allocation in register y.
9109         ("*movqi_68hc12"): Reorganize and fix constraints.
9110         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
9111         ("addqi3"): Likewise.
9112         ("addhi3"): Fix constraints.
9113         ("*logicalhi3_zexthi"): Disparage soft registers.
9114
9115 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9116
9117         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
9118         to tmp reg.
9119
9120 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
9121
9122         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
9123         that we use setjmp/longjmp exceptions.
9124
9125 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
9126
9127         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
9128         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
9129         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9130         _cpp_pool_alloc, _cpp_next_chunk): Remove.
9131         (_cpp_extend_buff, BUFF_ROOM): Update.
9132         (_cpp_append_extend_buff): New.
9133         (struct cpp_reader): Remove macro_pool, add a_buff.
9134         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
9135         macro_pool.
9136         (cpp_destroy): Free a_buff instead of macro_pool.
9137         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
9138         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
9139         _cpp_pool_alloc, ): Remove.
9140         (parse_number, parse_string): Update use of _cpp_extend_buff.
9141         (_cpp_extend_buff): Update.
9142         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
9143         * cpplib.c (glue_header_name, parse_answer):
9144         Update use of _cpp_extend_buff.
9145         (cpp_register_pragma, cpp_register_pragma_space): Use
9146         _cpp_aligned_alloc.
9147         (do_assert, do_unassert): Check for EOL, update.
9148         * cppmacro.c (stringify_arg, collect_args): Update to use
9149         _cpp_extend_buff and _cpp_append_extend_buff.
9150         (save_parameter, parse_params, alloc_expansion_token,
9151         _cpp_create_definition): Rework memory management.
9152
9153 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
9154
9155         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
9156         update md_exec_prefix.
9157         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
9158         to string constant.
9159
9160 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
9161
9162         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
9163         (SELECT_CC_MODE): Use s390_select_ccmode.
9164         * config/s390/s390-protos.h (s390_select_ccmode): Add.
9165         * config/s390/s390.c (s390_select_ccmode): New.
9166         (s390_match_ccmode): Add CCLmode.
9167         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
9168         (output_branch_condition, output_inverse_branch_condition): Removed.
9169         (print_operand): Use s390_branch_condition_mnemonic.
9170         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
9171         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
9172         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
9173
9174         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
9175         when converting conditional branches to far branches.
9176         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
9177         cmpint_di): Use CCSmode instead of CCUmode.
9178
9179         * config/s390/s390.c (legitimate_la_operand_p): New.
9180         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
9181         * config/s390/s390.md (movsi): Convert load address patterns to
9182         arithmetic operations when necessary.
9183         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
9184         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
9185         (*do_la_reg_0): Don't use before reload.
9186
9187         * config/s390/s390.c (legitimize_address): Make more efficient
9188         use of two-register addressing mode.
9189
9190         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
9191         with -mno-backchain in some corner cases.
9192
9193         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
9194
9195 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
9196
9197         * reload.c (find_reloads): Mark new USE insns with QImode.
9198         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
9199         find_reloads_subreg_address): Likewise.
9200         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
9201         encountered.
9202         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
9203         CLOBBERs.
9204         (reload): Make sure there are no USEs with mode other than
9205         VOIDmode.  At the end, remove those marked with QImode.
9206
9207 2001-09-29  Per Bothner  <per@bothner.com>
9208
9209         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
9210         * Makefile.in (includedir):  Rename to local_includedir.
9211         (includedir):  Define as $(prefix)/include.
9212         * config.in (PREFIX_INCLUDE_DIR):  New variable.
9213         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
9214
9215 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
9216
9217         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
9218         storehps builtins.
9219         * doc/extend.texi (Vector Extensions): New node.
9220         * doc/invoke.texi (Machine Dependent Options): Add documentation for
9221         i386 -mmmx, -msse, -m3dnow.
9222
9223 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
9224
9225         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
9226
9227 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
9228
9229         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
9230
9231         * doc/invoke.texi (Optimize Options): Delete spurious @table.
9232
9233 2001-09-28  Richard Henderson  <rth@redhat.com>
9234
9235         * varasm.c (assemble_integer): Bound alignment check by
9236         BIGGEST_ALIGNMENT.
9237
9238         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
9239
9240 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9241
9242         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
9243
9244 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9245
9246         Mostly from Graham Stott  <grahams@redhat.com>
9247         * c-common.c (type_for_mode): Add support for V2SFmode.
9248         * tree.c (build_common_tree_nodes_2): Likewise.
9249         * tree.h (enum tree_index, global_trees): Likewise.
9250         * config/i386/i386.c (x86_3dnow_a): New variable.
9251         (override_options): Support 3Dnow extensions.
9252         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
9253         Athlon's version of 3Dnow.
9254         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
9255         (ix86_expand_builtin): Handle them.
9256         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
9257         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
9258         TARGET_3DNOW_A): New macros.
9259         (TARGET_SWITCHES): Add 3Dnow switches.
9260         (VALID_MMX_REG_MODE_3DNOW): New macro.
9261         (VECTOR_MODE_SUPPORTED_P): Use it.
9262         (enum ix86_builtins): Add entries for 3Dnow builtins.
9263         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
9264         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
9265         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
9266         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
9267         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
9268         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
9269         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
9270         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
9271         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
9272         sfence_insn, prefetch): Make these available if TARGET_SSE or
9273         TARGET_3DNOW_A.
9274
9275 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
9276
9277         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
9278         ix86_va_start, ix86_build_va_list): Declare.
9279         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
9280         ix86_va_start, ix86_build_va_list): New global functions.
9281         * i386.md (sse_prologue_save_insn): New insn.
9282         (sse_prologue_save): New expander.
9283         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
9284         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
9285
9286 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9287
9288         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
9289         Use size_t everywhere, make definitions consistent with
9290         prototypes.
9291
9292 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
9293
9294         * gcse.c (replace_store_insn): Use delete_insn.
9295         * loop.c (move_movables): Likewise; avoid delete_insn
9296         from clobbering notes moved elsewhere.
9297         (check_dbra_loop): Use delete_insn.
9298         * ssa.c (convert_from_ssa): Likewise.
9299         * cse.c (cse_insn): Use delete_insn.
9300
9301 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
9302
9303         * cpphash.h (struct cpp_buff): Make unsigned.
9304         (_cpp_get_buff): Take length of size_t.
9305         (_cpp_unaligned_alloc): New.
9306         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
9307         (struct cpp_reader): Remove ident_pool.  Add u_buff.
9308         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
9309         (cpp_destroy): Destroy u_buff, not ident_pool.
9310         * cpplex.c (parse_number, parse_string, save_comment,
9311         cpp_token_as_text): Update to use the unaligned buffer.
9312         (new_buff): Make unsigned.
9313         (_cpp_unaligned_alloc): New.
9314         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
9315         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
9316         Similarly.
9317         (collect_args): Make unsigned.
9318
9319 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
9320
9321         * cpplex.c (cpp_output_token): Use a putc loop for
9322         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
9323
9324         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
9325         * configure, config.in: Regenerate.
9326         * system.h: Replace fwrite and fprintf with their unlocked
9327         variants if available.
9328
9329 2001-09-27  Richard Henderson  <rth@redhat.com>
9330
9331         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
9332         in favour of .eh_frame.
9333
9334 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
9335
9336         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
9337         to macros.
9338         (LIBCALL_VALUE): Likewise.
9339
9340 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9341
9342         * cpphash.h: Update comment.
9343         * cpplex.c: Update comments.
9344         (_cpp_can_paste): Remove.
9345         * cpplib.h (_cpp_can_paste): Remove.
9346         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
9347         lexer rather than _cpp_can_paste.
9348
9349 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
9350
9351         * doc/cppinternals.texi: Update.
9352
9353 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9354
9355         * cpphash.h (struct cpp_pool): Remove locks and locked.
9356         (struct cpp_context): Add member buff.
9357         (struct cpp_reader): Remove member argument_pool.
9358         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9359         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
9360         * cpplex.c (chunk_suitable): Remove pool argument.
9361         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
9362         (new_buff, _cpp_extend_buff): Update.
9363         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
9364         which buffer is returned.
9365         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
9366         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
9367         * cppmacro.c (lock_pools, unlock_pools): Remove.
9368         (push_ptoken_context): Take a _cpp_buff.
9369         (enter_macro_context): Pool locking removed.
9370         (replace_args): Use a _cpp_buff for the replacement list with
9371         arguments replaced.
9372         (push_token_context): Clear buff.
9373         (expand_arg): Use _cpp_pop_context.
9374         (_cpp_pop_context): Free a context's buffer, if any.
9375
9376 2001-09-26  DJ Delorie  <dj@redhat.com>
9377
9378         * c-typeck.c (digest_init): Check for sizeless arrays.
9379
9380 2001-09-26  Richard Henderson  <rth@redhat.com>
9381
9382         * optabs.c (init_one_libfunc): Create a dummy function type
9383         instead of using error_mark_node.
9384
9385 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
9386
9387         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
9388         _cpp_extend_buff, _cpp_free_buff): New.
9389         (struct cpp_reader): New member free_buffs.
9390         * cppinit.c (cpp_destroy): Free buffers.
9391         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
9392         _cpp_extend_buff, _cpp_free_buff): New.
9393         * cpplib.h (struct cpp_options): Remove unused member.
9394         * cppmacro.c (collect_args): New.  Combines the old parse_arg
9395         and parse_args.  Use _cpp_buff for memory allocation.
9396         (funlike_invocation_p, replace_args): Update.
9397
9398 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
9399
9400         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
9401
9402 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
9403
9404         * except.c (sjlj_mark_call_sites): Change address inside sequence.
9405
9406 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
9407
9408         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
9409         glibc.
9410
9411 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
9412             Jim Wilson  <wilson@redhat.com>
9413
9414         * doc/install.texi (Specific, ia64-*-linux): Document.
9415
9416 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
9417
9418         * Makefile.in (cfgrtl.o): Add.
9419         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9420         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9421         free_aux_for_edge): Declare.
9422         * cfg.c
9423         (HAVE_return): Undefine.
9424         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
9425         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
9426         free_aux_for_edge): New global functions.
9427         (first_delete_block): New static variable.
9428         (init_flow): Clear first_delete_block.
9429         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
9430          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
9431          try_redirect_by_replacing_jump, last_loop_beg_note,
9432          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
9433          delete_insn, delete_insn_chain, create_basic_block_structure,
9434          create_basic_block, flow_delete_block, compute_bb_for_insn,
9435          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
9436          set_block_for_new_insns, split_block, merge_blocks_nomove,
9437          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
9438          redirect_edge_and_branch, force_nonfallthru_and_redirect,
9439          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
9440          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
9441          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
9442          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
9443          purge_all_dead_edges): Move to ....
9444         * cfgrtl.c: New file; .... Here.
9445
9446         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
9447         (reroder_basic_block): Use alloc_aux_for_blocks.
9448         * predict.c (estimate_bb_frequencies): Likewise; use
9449         alloc_aux_for_edges.
9450         * profile.c (compute_branch_probabilities): Likewise.
9451         (branch_prob): Likewise.
9452         * reg-stack.c (reg_to_stack): Likewise.
9453
9454         * emit-rtl.c (emit_insns_after): Never return NULL.
9455
9456         * basic-block.h (set_block_for_new_insns): Delete.
9457         * cfgrtl.c (set_block_for_new_insns): Delete.
9458
9459         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
9460         calls when crossjumping.
9461
9462         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
9463         * unroll.c (copy_loop_body): Use delete_insn.
9464
9465         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
9466         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
9467         keep_stack_depressed): Likewise.
9468         * gcse.c (cprop_cc0_jump): Likewise.
9469         * local-alloc.c (update_equiv_regs): Likewise.
9470         * loop.c (scan_loop, loop_delete_insns): Likewise.
9471         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
9472         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
9473         delete_output_reload, delete_address_reloads_1,
9474         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
9475         Likewise.
9476         * sibcall.c (replace_call_placeholder): Likewise.
9477         * cse.c (cse_insn): Likewise.
9478
9479 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
9480
9481         From Graham Stott  <grahams@redhat.com>
9482         (def_builtin): Only define builtins appropriate for target_flags.  All
9483         callers changed.
9484         (builtin_decsription): Add new field mask which is used to determine
9485         when to define the builtin via the macro def_builtin.
9486
9487         (bdesc_comi): Initialise new mask fields.
9488         (bdesc_2srg): Likewise.
9489         (bdesc_1arg): Likewise.
9490
9491         * config/i386/i386.c (ix86_init_builtins): Correct return type
9492         building v4hi_ftype_v4hi_int_int tree node.
9493         (ix86_expand_sse_comi): Fix typo swapping operands.
9494         Don't swap comparision condition, it is already swapped.
9495         (ix86_expand_sse_compare): Before swapping operands
9496         move operand 1 into new rtx and not the target rtx.
9497         Don't swap comparison condition, it is already swapped.
9498         Always check whether we need to create a new TARGET.
9499
9500         * config/i386/i386.md: (sse_comi) Fix typos.
9501         (sse_ucomi): Likewise.
9502         (cvtss2si): Fix operand 0 contraint.
9503         (cvttss2si): Likewise.
9504         (sse_unpckhps): Fix mode for operand 2.
9505         (sse_unpcklps): Likewise.
9506
9507 2001-09-25  Graham Stott  <grahams@redhat.com>
9508
9509         * sibcall.c (skip_copy_to_return_value): Tighten return value
9510         copy check.
9511
9512 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
9513
9514         * rs6000.c (lwa_operand): Address must be word aligned.
9515
9516 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9517
9518         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
9519         number has been set.
9520         (type_hash_mark): Mark type itself.
9521
9522 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
9523
9524         * c-lex.c (cb_def_pragma): Update.
9525         (c_lex): Update, and skip padding.
9526         * cppexp.c (lex, parse_defined): Update, remove unused variable.
9527         * cpphash.h (struct toklist): Delete.
9528         (union utoken): New.
9529         (struct cpp_context): Update.
9530         (struct cpp_reader): New members eof, avoid_paste.
9531         (_cpp_temp_token): New.
9532         * cppinit.c (cpp_create_reader): Update.
9533         * cpplex.c (_cpp_temp_token): New.
9534         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
9535         (cpp_output_token): Don't print leading whitespace.
9536         (cpp_output_line): Update.
9537         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
9538         do_include_common, do_line, do_ident, do_pragma,
9539         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
9540         parse_assertion): Update.
9541         (get_token_no_padding): New.
9542         * cpplib.h (CPP_PADDING): New.
9543         (AVOID_LPASTE): Delete.
9544         (struct cpp_token): New union member source.
9545         (cpp_get_token): Update.
9546         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
9547         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
9548         replace_args, quote_string, stringify_arg, parse_arg, next_context,
9549         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
9550         _cpp_backup_tokens, _cpp_create_definition): Update.
9551         (push_arg_context): Delete.
9552         (padding_token, push_token_context, push_ptoken_context): New.
9553         (make_string_token, make_number_token): Update, rename.
9554         (cpp_get_token): Update to handle tokens as pointers to const,
9555         and insert padding appropriately.
9556         * cppmain.c (struct printer): New member prev.
9557         (check_multiline_token): Constify.
9558         (do_preprocessing, cb_line_change): Update.
9559         (scan_translation_unit): Update to handle spacing.
9560         * scan-decls.c (get_a_token): New.
9561         (skip_to_closing_brace, scan_decls): Update.
9562         * fix-header.c (read_scan_file): Update.
9563
9564         * doc/cpp.texi: Update.
9565
9566 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9567
9568         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
9569         leak by passing malloc'ed pointer to reconcat, not concat.
9570
9571 2001-09-24  DJ Delorie  <dj@redhat.com>
9572
9573         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
9574
9575 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
9576
9577         * flow.c (delete_dead_jumptables): Delete jumptable if the only
9578         reference is from the literal pool.
9579
9580 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
9581
9582         * doc/install.texi (Final install): Request additional information
9583         in mail about successful builds.
9584
9585 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9586
9587         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
9588         initial value of return pointer register instead of value in frame-20.
9589         Revise comments.
9590
9591 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9592
9593         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
9594         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
9595         the libcall if there isn't a referenced identifier for the symbol.
9596
9597 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9598
9599         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
9600         non 64-bit machines.  Use these as a plabel for the trampoline.
9601         (TRAMPOLINE_SIZE): Adjust size for new words.
9602         (INITIALIZE_TRAMPOLINE): Initialize new words.
9603         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
9604         pointer to the plabel in the trampoline.
9605
9606 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9607
9608         * pa.c (function_arg): Pass floating arguments in both general and
9609         floating registers in indirect (dynamic) calls when generating code
9610         for the 32 bit ABI and the HP assembler.
9611
9612 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9613
9614         * doc/install.texi: Markup fixes.
9615         Use Solaris 2, SunOS 4 as appropriate.
9616         (Specific, *-*-solaris2*): Explain this.
9617         Unconditionally warn against /usr/ucb tools.
9618         Remove Sun as warning, obsolete.
9619         Move X11 header bug workaround here, update patches.
9620         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
9621         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
9622
9623 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
9624
9625         * errors.h (warning, error, fatal, internal_error): Don't mark
9626         with ATTRIBUTE_PRINTF_n.
9627         * toplev.h (internal_error, fatal_io_error, warning, error,
9628         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
9629         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
9630         Likewise.
9631
9632 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9633
9634         * function.c (pop_function_context_from): var_refs_queue
9635         and temp slots now in GC memory.
9636         (mark_function_status, free_after_compilation): Likewise;
9637         also struct function now in GC memory.
9638         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
9639         (combine_temp_slots): Likewise.
9640         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
9641         (prepare_function_start): Use GC memory for struct function.
9642         (mark_temp_slot): Deleted.
9643         (gcc_mark_struct_function): struct function now in GC memory.
9644
9645         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
9646         code for division, not modulus.
9647
9648         * rtl.def (MEM): Remove obsolete part of comment.
9649
9650 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
9651
9652         * c-format.c (init_function_format_info): Check __builtin_printf
9653         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
9654         in gnu89 mode.
9655
9656 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9657
9658         * c-common.c (format_attribute_table): Remove decl.
9659         * tree.h (format_attribute_table, lang_attribute_table): New decls.
9660         (lang_attribute_common): Likewise.
9661
9662         * function.c (fix_lexical_address): Use set_mem_alias_set.
9663         (expand_function_start): Likewise.
9664         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
9665
9666         * varasm.c (output_constant): Fix unused variable warning.
9667
9668         * attribs.c: New file, from c-common.c.
9669         (attribute_tables): Now four elements.
9670         (format_attribute_table, lang_attribute_common): New variables.
9671         (init_attributes): Reflect above changes.
9672         (handle_mode_attribute): Delete check for wider than uintmax.
9673         * c-common.c: Delete parts moved to attribs.c.
9674         (enum attrs): Deleted; unused.
9675         (c_format_attribute_table): New variable.
9676         (c_common_lang_init): Initialize format_attribute_table with it.
9677         * c-common.h (decl_attributes): Remove decl.
9678         * tree.h (decl_attribute): Move it to here.
9679         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
9680         (attribs.o): New rule.
9681
9682 2001-09-22  Andreas Jaeger  <aj@suse.de>
9683
9684         * builtins.c (c_getstr): Remove unused variable.
9685
9686 2001-09-21  Richard Henderson  <rth@redhat.com>
9687
9688         * reload1.c (reload): Use delete_insn instead of splatting
9689         NOTE_INSN_DELETED.
9690
9691 2001-09-21  Richard Henderson  <rth@redhat.com>
9692
9693         * reload.c (push_secondary_reload): Don't check for "=" in output
9694         constraint after ""->ALL_REGS check.
9695
9696 2001-09-21  Richard Henderson  <rth@redhat.com>
9697
9698         * predict.c (expected_value_to_br_prob): Use pc_set.
9699
9700         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9701         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9702
9703 2001-09-21  Richard Henderson  <rth@redhat.com>
9704
9705         * rtl.h (LCT_RETURNS_TWICE): New.
9706         * calls.c (emit_call_1): Set current_function_calls_setjmp for
9707         ECF_RETURNS_TWICE.
9708         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9709         to ECF_RETURNS_TWICE.
9710         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9711         call to setjmp.
9712
9713         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9714
9715         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9716         (JMP_BUF_SIZE): New.
9717
9718 2001-09-21  Richard Henderson  <rth@redhat.com>
9719
9720         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9721         to R8_REGS.
9722
9723 2001-09-21  Richard Henderson  <rth@redhat.com>
9724
9725         * tree.def (FDESC_EXPR): New.
9726         * expr.c (expand_expr): Handle it.
9727         * varasm.c (initializer_constant_valid_p): Likewise.
9728         (output_constant): Likewise.
9729         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9730         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9731         (ASM_OUTPUT_FDESC): New.
9732         * doc/tm.texi: Document the new macros.
9733
9734 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9735
9736         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9737         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9738         once merging is complete.
9739
9740 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9741
9742         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9743
9744 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
9745
9746         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9747         that would be invalid after a merge.
9748
9749 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
9750
9751         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9752         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9753         remove some labels.
9754         (flow_delete_insn): This one.
9755         (delete_insn_chain): Rename from ...; do not care labels.
9756         (flow_delete_insn_chain): ... this one.
9757         (flow_delete_block): Remove the insns one BB has been expunged.
9758         (merge_blocks_nomove): Likewise.
9759         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9760         updating BB boundaries.
9761         (tidy_fallthru_edge): Likewise.
9762         (commit_one_edge_insertion): Likewise.
9763         * cfgbuild.c (find_basic_block): Likewise.
9764         (find_basic_blocks_1): Likewise.
9765         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9766         (try_crossjump_to_edge): Likewise.
9767         (try_optimize_cfg): Likewise.
9768         * cse.c (delete_trivially_dead_insns): Likewise.
9769         * df.c (df_insn_delete): Likewise.
9770         * doloop.c (doloop_modify): Use delete_related_insns.
9771         * emit-rtl.c (try_split): Likewise.
9772         (remove_insn): Update BB boundaries.
9773         * expect.c (connect_post_landing_pads): Use delete_related_insns.
9774         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
9775         updating BB boundaries.
9776         (propagate_block_delete_insn): Likewise.
9777         (propagate_block_delete_libcall): Likewise.
9778         * function.c (delete_handlers): Use delete_related_insns.
9779         (thread_prologue_and_epilogue_insns): Likewise.
9780         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
9781         * genpeep.c (gen_peephole): Use delete_related_insns.
9782         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
9783         BB boundaries.
9784         (find_cond_trap): Likewise.
9785         * integrate.c (save_for_inline): Use delete_related_insns.
9786         (copy_insn_list): Likewise.
9787         * jump.c (pruge_linie_number_notes): Likewise.
9788         (duplicate_loop_exit_test): Likewise.
9789         (delete_computation): Likewise.
9790         (delete_related_insn): Rename from ...; use delete_insn
9791         (delete_insn): ... this one.
9792         (redirect_jump): Use delete_related_insns.
9793         * loop.c (scan_loop): Likewise.
9794         (move_movables): Likewise.
9795         (find_and_verify_loops): Likewise.
9796         (check_dbra_loop): Likewise.
9797         * recog.c (peephole2_optimize): Likewise.
9798         * reg-stack.c (delete_insn_for_stacker): Remove.
9799         (move_for_stack_reg): Use delete_insn.
9800         * regmove.c (combine_stack_adjustments_for_block): Likewise.
9801         * reload1.c (delete_address_reloads): Use delete_related_insns.
9802         (fixup_abnormal_edges): Use delete_insn.
9803         * recog.c (emit_delay_sequence): Use delete_related_insns.
9804         (delete_from-delay_slot): Likewise.
9805         (delete_scheduled_jump): likewise.
9806         (optimize_skip): Likewise.
9807         (try_merge_delay_insns): Likewise.
9808         (full_simple_delay_slots): Likewise.
9809         (fill_slots_from_thread): Likewise.
9810         (relax_delay_slots): Likewise.
9811         (make_return_insns): Likewise.
9812         (dbr_schedule): Likewise.
9813         * rtl.h (delete_insn): Rename to delete_related_insns.
9814         (delete_insn, delete_insn_chain): New prototypes.
9815         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
9816         by df_insn_delete already.
9817         * ssa-dce.c (delete_insn_bb): Use delete_insn.
9818         * ssa.c (convert_from_ssa): Use delete_related_insns.
9819         * unroll.c (unroll_loop): Likewise.
9820         (calculate_giv_inc): Likewise.
9821         (copy_loop_body): Likewise.
9822
9823         * i386-protos.h (ix86_libcall_value, ix86_function_value,
9824         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9825         ix86_return_in_memory, ix86_function_value): Declare.
9826         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
9827         new static valurables.
9828         (x86_64_reg_class): New enum
9829         (x86_64_reg_class_name): New array.
9830         (classify_argument, examine_argument, construct_container,
9831          merge_classes): New static functions.
9832         (optimization_options): Enable flag_omit_frame_pointer and disable
9833         flag_pcc_struct_return on 64bit.
9834         (ix86_libcall_value, ix86_function_value,
9835         ix86_function_arg_regno_p, ix86_function_arg_boundary,
9836         ix86_return_in_memory, ix86_function_value): New global functions.
9837         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
9838         (function_arg_advance): Handle x86_64 passing conventions.
9839         (function_arg): Likewise.
9840         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
9841         (RETURN_IN_MEMORY): Move offline.
9842         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
9843         (FUNCTION_VALUE_REGNO_P): New macro.
9844         (FUNCTION_ARG_REGNO_P): Move offline.
9845         (struct ix86_args): Add maybe_vaarg.
9846         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
9847         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
9848
9849 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
9850
9851         * s390.md: Changed attributes for scheduling.
9852         * s390.c: (s390_adjust_cost, s390_adjust_priority)
9853         Changed scheduling
9854
9855 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
9856
9857         Table-driven attributes.
9858         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
9859         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
9860         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
9861         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
9862         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
9863         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
9864         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
9865         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
9866         * tree.h (struct tree_decl): Change machine_attributes to
9867         attributes.
9868         * doc/c-tree.texi: Document that all attributes are now attached
9869         to decls and types.
9870         * c-common.c (add_attribute, attrtab, attrtab_idx,
9871         default_valid_lang_attribute, valid_lang_attribute): Remove.
9872         (attribute_tables, attributes_initialized,
9873         c_common_attribute_table, default_lang_attribute_table): New
9874         variables.
9875         (handle_packed_attribute, handle_nocommon_attribute,
9876         handle_common_attribute, handle_noreturn_attribute,
9877         handle_unused_attribute, handle_const_attribute,
9878         handle_transparent_union_attribute, handle_constructor_attribute,
9879         handle_destructor_attribute, handle_mode_attribute,
9880         handle_section_attribute, handle_aligned_attribute,
9881         handle_weak_attribute, handle_alias_attribute,
9882         handle_no_instrument_function_attribute,
9883         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
9884         handle_no_limit_stack_attribute, handle_pure_attribute): New
9885         functions.
9886         (init_attributes, decl_attributes): Rewrite to implement
9887         table-driven attributes.
9888         * c-common.h (enum attribute_flags): Move to tree.h.
9889         * c-format.c (decl_handle_format_attribute,
9890         decl_handle_format_arg_attribute): Rename to
9891         handle_format_attribute and handle_format_arg_attribute.  Update
9892         for table-driven attributes.
9893         * c-common.h (decl_handle_format_attribute,
9894         decl_handle_format_arg_attribute): Remove prototypes.
9895         (handle_format_attribute, handle_format_arg_attribute): Add
9896         prototypes.
9897         * c-decl.c (grokdeclarator): Handle attributes nested inside
9898         declarators.
9899         * c-parse.in (setattrs, maybe_setattrs): Remove.
9900         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
9901         Update to handle nested attributes properly.
9902         (maybe_resetattrs, after_type_declarator,
9903         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
9904         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
9905         properly.
9906         (make_pointer_declarator): Update to handle nested attributes
9907         properly.
9908         * doc/extend.texi: Update documentation of limits of attributes
9909         syntax.  Warn about problems with attribute semantics in C++.
9910         * target.h (struct target): Remove valid_decl_attribute and
9911         valid_type_attribute.  Add attribute_table and
9912         function_attribute_inlinable_p.
9913         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
9914         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
9915         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
9916         Add.
9917         (TARGET_INITIALIZER): Update.
9918         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
9919         definition.
9920         (function_attribute_inlinable_p): New function.  Check for the
9921         presence of any machine attributes before using
9922         targetm.function_attribute_inlinable_p.
9923         (function_cannot_inline_p): Update.
9924         * Makefile.in (integrate.o): Update dependencies.
9925         * doc/tm.texi: Update documentation of target attributes and
9926         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
9927         * tree.c (default_valid_attribute_p, valid_machine_attribute):
9928         Remove.
9929         (default_target_attribute_table,
9930         default_function_attribute_inlinable_p): New.
9931         (lookup_attribute): Update comment to clarify handling of multiple
9932         attributes with the same name.
9933         (merge_attributes, attribute_list_contained): Allow multiple
9934         attributes with the same name but different arguments to appear in
9935         the same attribute list.
9936         * tree.h (default_valid_attribute_p): Remove prototype.
9937         (struct attribute_spec): New.
9938         (default_target_attribute_table): Declare.
9939         (enum attribute_flags): Move from c-common.h.  Add
9940         ATTR_FLAG_TYPE_IN_PLACE.
9941         (default_function_attribute_inlinable_p): Declare.
9942         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
9943         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9944         (TARGET_ATTRIBUTE_TABLE): Define.
9945         (vms_attribute_table): New.
9946         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
9947         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9948         (TARGET_ATTRIBUTE_TABLE): Define.
9949         (arc_attribute_table, arc_handle_interrupt_attribute): New.
9950         * config/arm/arm.c (arm_valid_type_attribute_p,
9951         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
9952         Remove.
9953         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9954         define.
9955         (TARGET_ATTRIBUTE_TABLE): Define.
9956         (arm_attribute_table, arm_handle_fndecl_attribute,
9957         arm_handle_isr_attribute): New.
9958         * config/avr/avr.c (avr_valid_type_attribute,
9959         avr_valid_decl_attribute): Remove.
9960         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
9961         define.
9962         (TARGET_ATTRIBUTE_TABLE): Define.
9963         (avr_attribute_table, avr_handle_progmem_attribute,
9964         avr_handle_fndecl_attribute): New.
9965         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
9966         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9967         (TARGET_ATTRIBUTE_TABLE): Define.
9968         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
9969         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
9970         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9971         (TARGET_ATTRIBUTE_TABLE): Define.
9972         (h8300_attribute_table, h8300_handle_fndecl_attribute,
9973         h8300_handle_eightbit_data_attribute,
9974         h8300_handle_tiny_data_attribute): New.
9975         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
9976         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
9977         Remove prototypes.
9978         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
9979         declarations.
9980         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
9981         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9982         define.
9983         (TARGET_ATTRIBUTE_TABLE): Define.
9984         (ix86_attribute_table, ix86_handle_cdecl_attribute,
9985         ix86_handle_regparm_attribute): New.
9986         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
9987         i386_pe_valid_type_attribute_p): Remove.
9988         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
9989         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
9990         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9991         (TARGET_ATTRIBUTE_TABLE): Define.
9992         (ia64_attribute_table): New.
9993         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
9994         interrupt_ident2, model_ident1, model_ident2): Remove.
9995         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9996         (TARGET_ATTRIBUTE_TABLE): Define.
9997         (init_idents): Update.
9998         (m32r_attribute_table, m32r_handle_model_attribute): New.
9999         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
10000         Remove.
10001         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10002         (TARGET_ATTRIBUTE_TABLE): Define.
10003         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
10004         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
10005         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10006         (TARGET_ATTRIBUTE_TABLE): Define.
10007         (mcore_attribute_table, mcore_handle_naked_attribute): New.
10008         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
10009         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10010         (TARGET_ATTRIBUTE_TABLE): Define.
10011         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
10012         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
10013         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
10014         (TARGET_ATTRIBUTE_TABLE): Define.
10015         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
10016         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
10017         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10018         (TARGET_ATTRIBUTE_TABLE): Define.
10019         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
10020         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
10021         New.
10022         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
10023         Remove.
10024         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
10025         (TARGET_ATTRIBUTE_TABLE): Define.
10026         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
10027         New.
10028         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
10029         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
10030         (TARGET_ATTRIBUTE_TABLE): Define.
10031         (v850_attribute_table, v850_handle_interrupt_attribute,
10032         v850_handle_data_area_attribute): New.
10033         * config/v850/v850-c.c (mark_current_function_as_interrupt):
10034         Return void.  Call decl_attributes instead of
10035         valid_machine_attribute.
10036
10037 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
10038
10039         * sh-protos.h (sh_pr_n_sets): Declare.
10040         * sh.c (calc_live_regs): If the initial value for PR has been copied,
10041         look at the copy to determine if PR needs to be saved.
10042         sh_pr_n_sets: New function.
10043         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
10044         (ALLOCATE_INITIAL_VALUE): Define.
10045
10046         * sh.c (initial_elimination_offset):
10047         Fix RETURN_ADDRESS_POINTER_REGNUM case.
10048
10049 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
10050
10051         * integrate.c (allocate_initial_values): New function.
10052         * integrate.h (allocate_initial_values): Declare.
10053         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
10054         here...
10055         * reload1.c (reload): And initialization of reg_equiv_memory_loc
10056         from here...
10057         * toplev.c (rest_of_compilation): To here.
10058         Call allocate_initial_values.
10059         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
10060
10061 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10062
10063         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
10064
10065 2001-09-20  DJ Delorie  <dj@redhat.com>
10066
10067         * c-typeck.c (really_start_incremental_init): Discriminate
10068         between zero-length arrays and flexible arrays.
10069         (push_init_level): Detect zero-length arrays and handle them
10070         like fixed-sized arrays.
10071         * expr.c (store_constructor): Handle zero-length arrays and
10072         flexible arrays correctly.
10073         * doc/extend.texi: Update zero-length array notes.
10074
10075 2001-09-20  Jim Wilson  <wilson@redhat.com>
10076
10077         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
10078         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
10079         for issue port conflicts.
10080         (cycle_end_fill_slots): TYPE_L instructions take two slots.
10081
10082 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
10083
10084         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
10085         on ia64.
10086
10087 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10088
10089         * fold-const.c (hashtab.h): Include.
10090         (int_const_binop): Remove FORSIZE arg and compute from type; all
10091         callers changed.
10092         Call size_int_type_wide for all single-word constants.
10093         (size_htab_hash, size_htab_eq): New functions.
10094         (size_int_type_wide): Rework to use hash table.
10095         * ggc-common.c (hashtab.h): Include.
10096         (struct d_htab_root): New struct.
10097         (d_htab_roots): New variable.
10098         (ggc_add_deletable_htab, ggc_htab_delete): New functions
10099         (ggc_mark_roots): Handle deletable htabs.
10100         * ggc-page.c (ggc_marked_p): New function.
10101         * ggc-simple.c (ggc_marked_p): Likewise.
10102         * ggc.h: Reformatting throughout.
10103         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
10104         * tree.c (init_obstacks): Make type_hash_table a deletable root.
10105         (type_hash_add): Allocate struct type_hash from GC memory.
10106         (mark_hash_entry, mark_type_hash): Deleted.
10107         (type_hash_marked_p, type_hash_mark): New functions.
10108         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
10109
10110 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
10111
10112         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
10113         than SImode.
10114
10115 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10116
10117         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
10118         array-too-large test for signed sizetype.
10119
10120 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
10121
10122         * i386.md (indirect_jump): Allow Pmode operand.
10123         (tablejump): LIkewise; perform expansion to 64bit mode.
10124         * i386.c (symbolic_operand): Allow 64bit PIC references.
10125         (pic_symbolic_operand): Likewise.
10126         (ix86_find_base_term): Strip the 64bit PIC references.
10127         (legitimate_pic_address_disp_p): Handle 64bit PIC.
10128         (legitimize_pic_address): Likewise.
10129         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
10130         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
10131
10132 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
10133
10134         * stringpool.c (get_identifier_with_length): New function.
10135         * tree.h (get_identifier_with_length): New prototype.
10136
10137 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
10138             David Edelsohn  <edelsohn@gnu.org>
10139
10140         Revert:
10141         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
10142         already sign-extended.
10143
10144         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
10145         * config/rs6000/rs6000.c (logical_operand): Always compare op as
10146         HOST_WIDE_INT.
10147         (rs6000_emit_set_long_const): Avoid unnecessary shift.
10148         (output_profile_hook): Declare label_name const.
10149         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
10150         to match constraints.
10151
10152 2001-09-19  Stan Shebs  <shebs@apple.com>
10153
10154         * alias.c: Fix typos in comments.
10155         * sched-rgn.c (init_ready_list): Ditto.
10156         * unwind-dw2.c (uw_frame_state_for): Ditto.
10157         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
10158         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
10159         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
10160
10161 2001-09-19  Richard Henderson  <rth@redhat.com>
10162
10163         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
10164         to the exit block.
10165         * Makefile.in (cfg.o): Depend on TM_P_H.
10166
10167 2001-09-19  Richard Henderson  <rth@redhat.com>
10168
10169         * config/alpha/alpha.c (local_symbol_p): Split out from ...
10170         (local_symbolic_operand): ... here.
10171         (small_symbolic_operand): Check mode.
10172         (global_symbolic_operand): New.
10173         (input_operand): Reject symbolics if explicit relocs.
10174         (call_operand): Tidy.
10175         (alpha_legitimize_address): Use movdi_er_high_g.
10176         (alpha_expand_mov): Likewise.
10177         * config/alpha/alpha-protos.h: Update.
10178         * config/alpha/alpha.h (PREDICATE_CODES): Update.
10179         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
10180         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
10181         (UNSPECV_LDGP2): Remove.
10182         (all call patterns): Use 's' not 'i' for symbolic constraint.
10183         (call_osf call_value_osf): Use call_operand.
10184         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
10185         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
10186         (prologue_ldgp_1_er): Remove.
10187         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
10188         (builtin_setjmp_receiver_er patterns): Use them.
10189         (exception_receiver_er): Likewise.
10190
10191 2001-09-19  Richard Henderson  <rth@redhat.com>
10192
10193         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
10194
10195         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
10196         and NON_LOCAL_GOTO notes.
10197         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
10198         copy over CALL_INSN_FUNCTION_USAGE.
10199
10200 2001-09-18  Catherine Moore  <clm@redhat.com>
10201
10202         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
10203         Define as 0.
10204
10205 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
10206
10207         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
10208         new-style tm_file specification.  Specify correct tm_p_file,
10209         md_file, and out_file for s390x.
10210
10211         * config/s390/linux.h, linux64.h:  Don't include other target
10212         macro header files.  Now handled via tm_file.
10213
10214         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
10215         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
10216         are defined before use.
10217
10218 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
10219
10220         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
10221         code generation only for Gnu assembler.
10222
10223 2001-09-18  Catherine Moore  <clm@redhat.com>
10224
10225         * config/stormy16 (LIB_SPEC): Remove -lnosys.
10226
10227 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
10228
10229         * config/mips/mips.c (mips_frame_set): New.
10230         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
10231         a parallel frame-related expression with a set for each register.
10232
10233 2001-09-18  Philip Blundell  <philb@gnu.org>
10234
10235         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
10236         header files.
10237
10238 2001-09-17  Dale Johannesen  <dalej@apple.com>
10239
10240         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
10241         * config/rs6000/aix.h (FIXED_R2): Define.
10242         * config/rs6000/darwin.h (FIXED_R2): Define.
10243         * config/rs6000/sysv4.h (FIXED_R2): Define.
10244
10245 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
10246
10247         * except.c (dw2_build_landing_pads): New local
10248         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
10249         barrier after clobbers.  Fixes c++/4012.
10250
10251 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10252
10253         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
10254
10255 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
10256
10257         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
10258         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
10259
10260 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10261
10262         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
10263         alloca/strcpy.
10264
10265 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
10266
10267         * cpphash.h (_cpp_lex_direct): New.
10268         * cpplex.c (_cpp_lex_token): Update.
10269         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
10270         and increment that pointer.
10271         * cppmacro.c (alloc_expansion_token): New.
10272         (lex_expansion_token): Lex macro expansion directly into
10273         macro storage.
10274
10275 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
10276
10277         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
10278
10279 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
10280
10281         * basic-block.h (free_bb_for_insn): Declare.
10282         * bb-reorder.c (label_for_bb): Use block_label.
10283         (emit_jump_to_block_after): Remove.
10284         (insert_intra_1): Do not update block_for_insn.
10285         (insert_inter_bb_scope_notes): Likewise; update bb->end
10286         * cfg.c (free_bb_for_insn): New.
10287         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
10288         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
10289         (commit_one_edge_insertion): Likewise.
10290         (commit_one_edge_insertion): Do not update BB boundary.
10291         (commit_edge_insertions): Do not call compute_bb_for_insn.
10292         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
10293         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
10294         (merge_blocks_move_successor_nojumps): Likewise.
10295         (try_crossjump_to_edge): Do not update block_for_insn.
10296         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
10297         * df.c (df_pattern_emit_later): Do not update BB boundary.
10298         (df_jump_pattern_emit_after): Likewise.
10299         (df_insn_move_before): Use emit_insn_before.
10300         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
10301          properly.
10302         (add_insn_after, add_insn_before, emit_insns_after): Update BB
10303         boundaries and basic_block_for_insn.
10304         (reorder_insns_nobb): Rename from reorder_insns.
10305         (reorder_insns): New.
10306         (emit_block_insn_before, emit_block_insn_after): Kill.
10307         * flow.c (check_function_return_warnings): Do not call
10308         compute_bb_for_insn; Do not free basic_block_for_insn.
10309         (attempt_auto_inc): Do not update basic_block_for_insn.
10310         * function.c (emit_return_into_block): Likewise;
10311         do not update BB boundaries.
10312         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
10313         (insert_insn_end_bb): Use emit_insn_before; Likewise.
10314         (pre_insert_copy_insn): Likewise.
10315         (update_ld_motion_notes): Likewise.
10316         (insert_insn_start_bb): Likewise.
10317         (replace_store_insn): Likewise.
10318         * ifcvt.c (noce_process_if_block): Likewise.
10319         (if_convert): Do not call compute_bb_for_insn.
10320         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
10321         Use emit_insn_before and emit_insn_after.
10322         * recog.c (split_all_insns): Do not update BB boundaries;
10323         Do not call compute_bb_for_insn.
10324         (peephole2_optimize): Do not update BB boundaries.
10325         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
10326         emit_insn_before.
10327         (emit_swap_insn): Likewise.
10328         (convert_regs_1): Likewise.
10329         * reload1.c (reload): Call compute_bb_for_insn.
10330         * rtl.h (reorder_insns_nobb): Declare.
10331         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
10332         * toplev.c (rest_of_compilation): Call free_bb_for_insn
10333         at places CFG is invalidated; do not call compute_bb_for_insn.
10334
10335         * cfg.c (expunge_block): Invalidate BB structure.
10336
10337         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
10338         array.
10339
10340         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
10341
10342 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10343
10344         * cpphash.h (_cpp_lex_token): Update prototype.
10345         * cpplex.c (_cpp_lex_token): New prototype.
10346         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
10347         lex_macro_node, read_flag, do_pragma_poison): Update.
10348         * cppmacro.c (cpp_get_token, parse_params,
10349         lex_expansion_token): Update.
10350
10351 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
10352
10353         * cppmain.c (scan_translation_unit): Don't worry about
10354         putting a space after hashes.
10355         * cpplib.c (directive_diagnostics): New.
10356         (_cpp_handle_directive): Update to use directive_diagnostics.
10357         (run_directive): Don't toggle prevent_expansion.
10358         (do_line): Backup in case of the line extension.
10359         * cpplib.h (cpp_lexer_pos): Remove.
10360         * cppmacro.c (_cpp_create_definition): Precede a leading #
10361         with whitespace.
10362
10363 2001-09-15  Richard Henderson  <rth@redhat.com>
10364
10365         * c-typeck.c (comptypes): Handle zero-length arrays properly.
10366
10367 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10368
10369         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
10370
10371 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10372
10373         PR preprocessor/3571
10374         * tradcpp.c (handle_directive): Skip non-vertical space.
10375
10376 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10377
10378         * cppmain.c (setup_callbacks): Set line callback only
10379         if outputting preprocessed source.
10380
10381 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10382
10383         * collect2.c (main): Const-ification.
10384         * gcc.c (translate_options, process_command): Use xstrdup in
10385         lieu of xmalloc/strcpy.
10386         (main): Use concat in lieu of xmalloc/strcpy/strcat.
10387
10388 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10389
10390         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
10391         example.
10392
10393 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10394
10395         * scan-decls.c (scan_decls): Fix typo.
10396
10397 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
10398
10399         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
10400         Split mlstring_pos into mls_line and mls_col.
10401         * cppinit.c (cpp_create_reader): Initialize line to 1.
10402         (cpp_destroy): Free tokenruns.
10403         (push_include): Don't update lexer_pos.
10404         * cpplex.c (unterminated, parse_string): Update.
10405         (lex_token): Don't update lexer_pos, update.
10406         * cpplib.c (if_stack): Save line instead of line + col.
10407         (start_directive, _cpp_do__Pragma, do_else, do_elif,
10408         push_conditional, _cpp_pop_buffer): Update.
10409         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
10410         (_cpp_create_definition): Update.
10411
10412 2001-09-15  Eric Christopher  <echristo@redhat.com>
10413
10414         * config/mips/abi64.h: Add support for MEABI.
10415
10416 2001-09-15  Eric Christopher  <echristo@redhat.com>
10417
10418         * config/mips/mips.md: Add unspec #2.
10419         (reload_indi): Use.
10420         (reload_outdi): Ditto.
10421         (reload_outsi): Ditto.
10422         (HILO_delay): New.
10423
10424 2001-09-15  Eric Christopher  <echristo@redhat.com>
10425             Jason Eckhardt  <jle@redhat.com>
10426
10427         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
10428         * config/mips/isa32-linux.h: New file.
10429         * config/mips/isa3264.h: Ditto.
10430         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
10431         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
10432         (output_block_mode): Support MEABI.
10433         (function_arg): Ditto. Fix floating point arg passing.
10434         (mips_va_start): Ditto.
10435         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
10436         processors.
10437         (mips_asm_file_start): Add new section to pass abi to gdb.
10438         (function_arg_pass_by_reference): Support MEABI.
10439         (mips_parse_cpu): Support mips32 and mips64 processors.
10440         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
10441         TARGET_MIPS5KC.  Support isa32 and isa64.
10442         (processor_type): Add r4kc, r5kc, r20kc.
10443         (GENERATE_MULT3_SI): New.
10444         (GENERATE_MULT3_DI): Ditto.
10445         (GENERATE_MULT3): Remove.
10446         (ISA_HAS_64BIT_REGS): Add isa == 64.
10447         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
10448         (ISA_HAS_MADD_MSUB): New.
10449         (ISA_HAS_CLZ_CLO): Ditto.
10450         (ISA_HAS_DCLZ_DCLO): Ditto.
10451         (ABI_GAS_ASM_SPEC): New.
10452         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
10453         (ASM_SPEC): Ditto.
10454         (LINK_SPEC): Ditto.
10455         (SUBTARGET_CC1_SPEC): Ditto.
10456         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
10457         (PAD_VARARGS_DOWN): Support MEABI.
10458         (HARD_REGNO_NREGS): Move to mips.c.
10459         (ASM_OUTPUT_IDENT): Add #undef.
10460         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
10461         (mulsi3): Use GENERATE_MULT3_SI.
10462         (mulsi3_mult3): Ditto.  Support mips32, mips64.
10463         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
10464         (mul_sub_si): New pattern.
10465         (unnamed splitters): New.
10466         (muldi3): Use GENERATE_MULT3_DI.
10467         (muldi3_internal2): Ditto.
10468         (movdicc): Support mips32.
10469         * config/mips/t-isa3264: New file.
10470
10471 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
10472
10473         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
10474         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
10475         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
10476
10477         * reorg.c (fill_slots_from_thread): After call to
10478         steal_delay_list_from_target, update own_thread as new_thread may
10479         have branched.
10480
10481 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
10482
10483         * cpperror.c (print_location): Take line and column, for
10484         default positioning use the previously lexed token.
10485         (_cpp_begin_message): Take line and column.
10486         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
10487         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
10488         * cpphash.h (_cpp_begin_message): Update prototype.
10489         * cppinit.c (push_include): Don't set output line.
10490         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
10491         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
10492         (do_pragma): Kludge for front ends.  Don't expand macros at all.
10493         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
10494         (struct cpp_token): Remove output_line.
10495         (struct cpp_callbacks): New member line_change.
10496         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
10497         cpp_get_token): Preserve BOL flag.
10498         (cpp_get_line): Remove.
10499         (_cpp_backup_tokens): Remove useless abort().
10500         * cppmain.c (cb_line_change): New.
10501         (scan_translation_unit): Don't worry about starting new lines here.
10502         * scan-decls.c (scan_decls): Update.
10503         * c-lex.c (c_lex, init_c_lex): Update.
10504         (cb_line_change, src_lineno): New.
10505
10506 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
10507
10508         * tree.c (append_random_chars): Generate the random
10509         characters in a reproducable fashion.
10510
10511 2001-09-14  Richard Henderson  <rth@redhat.com>
10512
10513         * config/i386/i386.c (internal_label_prefix): New.
10514         (internal_label_prefix_len): New.
10515         (override_options): Set them.
10516         (local_symbolic_operand): New.
10517         (legitimate_pic_address_disp_p): Use it.
10518         (legitimize_pic_address): Likewise.
10519
10520 2001-09-14  Marc Espie <espie@openbsd.org>
10521
10522         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
10523         correctly.
10524
10525 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10526
10527         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
10528         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
10529
10530 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
10531
10532         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
10533         invocation of SUBREG_REGNO_OFFSET.
10534
10535         * haifa-sched.c: Fix typo in FSF copyright statement.
10536         * sched-deps.c: Fix typo in FSF copyright statement.
10537         * sched-ebb.c: Fix typo in FSF copyright statement.
10538         * sched-rgn.c: Fix typo in FSF copyright statement.
10539         * sched-vis.c: Fix typo in FSF copyright statement.
10540
10541         * config.gcc: Move inclusion of arm elf specific header files
10542         from the files themselves into the tm_file variable.  Make
10543         sure that elfos.h is included before target specific elf
10544         headers.
10545         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
10546         already defined.
10547         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
10548         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
10549         ASM_OUTPUT_CASE_LABEL): Protect definition.
10550         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
10551         not already defined.
10552         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
10553         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
10554         Remove duplicate definition.
10555         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
10556         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
10557         (RDATA_SECTION_FUNCTION): Remove redundant definition.
10558         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
10559         Remove inclusion of arm/elf.h.
10560         * config/arm/unknown-elf.h: as for conix-elf.h.
10561         (STARTFILE_SPEC): Include crti.o and crtn.o.
10562         * config/arm/linux-elf.h: as for conix-elf.h.
10563         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
10564         * config/arm/strongarm-elf.h: Remove inclusion of
10565         unknown-elf.h.
10566         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
10567         * config/arm/unknown-elf-oabi.h: Remove inclusion of
10568         unknown-elf.h and elf.h.
10569         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
10570         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
10571         ASM_WEAKEN_LABEL): Remove redundant definition.
10572         * config/arm/elf.h: Test for inclusion of elfos.h
10573         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
10574         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
10575         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
10576         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
10577         redundant definition.
10578         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
10579         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
10580         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
10581         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
10582         Add rules to build crti.o and crtn.o
10583         * crti.asm: New file.
10584         * crtn.asm: New file.
10585
10586 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
10587
10588         * c-parse.in (_yylex): Use _cpp_backup_tokens.
10589         * cpphash.h (struct tokenrun): Add prev.
10590         (struct lexer_state): Remove bol.
10591         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
10592         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
10593         : Remove.
10594         * cppinit.c (cpp_create_reader): Don't set bol.
10595         (cpp_destroy): Don't free lookaheads.
10596         * cpplex.c (lex_directive): Remove.
10597         (next_tokenrun): Update.
10598         (_cpp_lex_token): Clean up logic.
10599         (lex_token): Update to return a pointer to lexed token, since it
10600         can move to the start of the buffer.  Simpify newline handling.
10601         * cpplib.c (SEEN_EOL): Update.
10602         (skip_rest_of_line): Remove lookahead stuff.
10603         (end_directive): Line numbers are already incremented.  Revert
10604         to start of lexed token buffer if we can.
10605         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
10606         parse_answer): Use _cpp_backup_tokens.
10607         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
10608         instead.  Don't check for EOL.
10609         (do_include_common, do_line, do_pragma_system_header): Use
10610         skip_rest_of_line.
10611         * cpplib.h (BOL, _cpp_backup_tokens): New.
10612         * cppmacro.c (save_lookahead_token, take_lookahead_token,
10613         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
10614         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
10615         (builtin_macro): Don't use cpp_get_line.
10616         (cpp_get_line): Short term kludge.
10617         (parse_arg): Handle directives in arguments here.  Back up when
10618         appropriate.  Store EOF at end of argument list.
10619         (funlike_invocation_p): Use _cpp_backup_tokens.
10620         (push_arg_context): Account for EOF at end of list.
10621         (cpp_get_token): Remove lookahead stuff.  Update.
10622
10623 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10624
10625         * c-parse.in (yyerror): Const-ification and/or static-ization.
10626         * c-typeck.c (push_member_name): Likewise.
10627         * collect2.c (main): Likewise.
10628         * dbxout.c (dbxout_parms): Likewise.
10629         * diagnostic.c (format_with_decl): Likewise.
10630         * dwarf2out.c (output_ranges): Likewise.
10631         * dwarfout.c (fundamental_type_code): Likewise.
10632         * except.c (dw2_output_call_site_table): Likewise.
10633         * gcc.c (do_spec_1): Likewise.
10634         * genopinit.c (optabs): Likewise.
10635         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
10636         gen_declaration_1, handle_impent): Likewise.
10637         * protoize.c (default_include, in_system_include_dir, abspath):
10638         Likewise.
10639         * sched-vis.c (visualize_stall_cycles): Likewise.
10640         * sdbout.c (plain_type_1, sdbout_end_function,
10641         sdbout_end_epilogue): Likewise.
10642         * varasm.c (decode_reg_name): Likewise.
10643
10644         * 1750a.c (mod_regno_adjust): Likewise.
10645         * alpha.c (alpha_write_one_linkage,
10646         unicosmk_output_default_externs): Likewise.
10647         * arm.c (arm_condition_codes): Likewise.
10648         * arm.h (arm_condition_codes): Likewise.
10649         * avr.c (output_movsisf, encode_section_info): Likewise.
10650         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
10651         Likewise.
10652         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10653         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
10654         * m88k.c (output_function_profiler): Likewise.
10655         * mips.c (mips_output_conditional_branch): Likewise.
10656         * ns32k.c (ns32k_out_reg_names): Likewise.
10657         * ns32k.h (ns32k_out_reg_names): Likewise.
10658         * pj.c (pj_output_rval): Likewise.
10659         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
10660         * sparc.c (sparc_flat_function_prologue,
10661         sparc_flat_function_epilogue): Likewise.
10662
10663 2001-09-13  Markus Werle <numerical.simulation@web.de>
10664             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10665
10666         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
10667         Aachen University of Technology".
10668
10669 2001-09-13  Andreas Schwab  <schwab@suse.de>
10670
10671         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
10672         C99.
10673
10674 2001-09-13  Richard Henderson  <rth@redhat.com>
10675
10676         * config/alpha/alpha.c (small_symbolic_operand): New.
10677         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
10678         (some_operand, input_operand): Don't handle HIGH.
10679         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
10680         (alpha_expand_mov): Likewise.
10681         (print_operand) [H]: Just print HIGH symbol.
10682         (print_operand_address): Handle small data.
10683         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
10684         (TARGET_SWITCHES): Add -msmall-data/large-data.
10685         (PIC_OFFSET_TABLE_REGNUM): New.
10686         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10687         (PREDICATE_COES): Update.
10688         * config/alpha/alpha.md (adddi_er_high): New.
10689         (adddi_er_low): Handle small data.
10690         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10691         prefer .sdata to .rodata.
10692         (SELECT_RTX_SECTION): Likewise.
10693
10694 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
10695
10696         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10697         defining __size_t and leaving size_t undefined.
10698
10699 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
10700
10701         * basic-block.h (expunge_block): Declare.
10702         * cfg.c (expunge_block): Remove static declaration.
10703
10704 2001-09-12  Richard Henderson  <rth@redhat.com>
10705
10706         * integrate.c (copy_insn_list): Copy label name from
10707         NOTE_INSN_DELETED_LABEL.
10708
10709 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10710
10711         * c-common.c (c_tree_code_name): Const-ification.
10712         * c-decl.c (c_decode_option): Likewise.
10713         * c-typeck.c (warn_for_assignment): Likewise.
10714         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10715         Likewise.
10716         * cppinit.c (output_deps): Likewise.
10717         * dependence.c (dependence_string, direction_string): Likewise.
10718         * dwarf2out.c (output_ranges): Likewise.
10719         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10720         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10721         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10722         standard_startfile_prefix, standard_startfile_prefix_1,
10723         standard_startfile_prefix_2, tooldir_base_prefix,
10724         standard_bindir_prefix, find_a_file): Likewise.
10725         * genattrtab.c (make_length_attrs): Likewise.
10726         * gencheck.c (tree_codes): Likewise.
10727         * genemit.c (gen_split): Likewise.
10728         * genrecog.c (special_mode_pred_table): Likewise.
10729         * graph.c (graph_ext): Likewise.
10730         * protoize (default_include): Likewise.
10731         * reload.c (reload_when_needed_name): Likewise.
10732         * sched-vis.c (visualize_stall_cycles): Likewise.
10733         * tlink.c (recompile_files): Likewise.
10734         * toplev.c (decode_g_option): Likewise.
10735         * tradcpp.c (output_deps): Likewise.
10736         * varasm.c (decode_reg_name): Likewise.
10737
10738         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10739         Const-ification.
10740         * arm.md: Likewise.
10741         * avr.c (avr_regnames, encode_section_info): Likewise.
10742         * c4x.c (float_reg_names): Likewise.
10743         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10744         * elfos.h (const_section): Likewise.
10745         * i386.c (ix86_comp_type_attributes): Likewise.
10746         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10747         * ia64/aix.h (UNIQUE_SECTION): Likewise.
10748         * ia64.c (type_names): Likewise.
10749         * m68hc11.c (reg_class_names): Likewise.
10750         * m88k.c (m_options): Likewise.
10751         * mips.c (mips_output_conditional_branch, mips_unique_section):
10752         Likewise.
10753         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10754         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10755         ultra_code_names): Likewise.
10756         * sparc.h (OVERRIDE_OPTIONS): Likewise.
10757
10758 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
10759
10760         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10761         Use --fatal-warnings option for gas.
10762         * configure: Rebuilt.
10763
10764 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10765
10766         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10767
10768 2001-09-11  Jim Wilson  <wilson@redhat.com>
10769
10770         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10771
10772 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10773
10774         * builtins.c (c_strlen): Treat an offset too large for a
10775         HOST_WIDE_INT as out of range.
10776
10777 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
10778
10779         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
10780         (EDGE_CRITICAL_P): New predicate.
10781         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
10782         handling.
10783         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
10784         (dump_edge_info): Remove "crit".
10785         * cfganal.c (mark_critical_edges): Kill.
10786         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
10787         * cfgcleanup.c (cleanup_cfg): Likewise.
10788         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
10789         (find_spanning_tree): Likewise.
10790         * reg-stack.c (convert_regs_1): Likewise.
10791         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
10792
10793         * basic-block.h (create_basic_block_structure): New.
10794         (create_basic_block): Update prototype.
10795         (force_nonfallthru): New.
10796         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
10797         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
10798         handle updating of block_for_insn, creating of empty BBs and BBs at
10799         the end of INSN chain.
10800         (create_basic_block): New function.
10801         (split_block): Use create_basic_block.
10802         (force_nonfallthru_and_redirect): Break out from ...; cleanup
10803         (redirect_edge_and_branch_force): ... here.
10804         (force_nonfallthru): New.
10805         (split_edge): Rewrite to use force_nonfallthru and create_block.
10806         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
10807         (find_basic_blocks): Free basic_block_for_insn.
10808         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
10809
10810         * cfg.c: Fix formating.
10811         * cfgcleanup.c: Fix formating.
10812         (merge_blocks, tail_recursion_label_p): Return bool.
10813         (merge_blocks_move_predecessor_nojumps,
10814          merge_blocks_move_successor_nojumps): Return void.
10815
10816 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
10817
10818         * configure.in: Check whether assembler supports section merging.
10819         * config.in: Rebuilt.
10820         * configure: Rebuilt.
10821         * varasm.c (variable_section, output_constant_pool): Pass alignment
10822         to SELECT_SECTION and SELECT_RTX_SECTION.
10823         (mergeable_string_section): New.
10824         (mergeable_constant_section): New.
10825         (default_elf_asm_named_section): Output SECTION_MERGE and
10826         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10827         * output.h (mergeable_string_section): New.
10828         (mergeable_constant_section): New.
10829         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
10830         * toplev.c (flag_merge_constants): New.
10831         (f_options): Add -fmerge-constants and -fmerge-all-constants
10832         options.
10833         (toplev_main): Default to -fno-merge-constants if not optimizing.
10834         * flags.h (flag_merge_constants): Add extern.
10835         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
10836         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
10837         argument.
10838         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
10839         Define if assembler has working .subsection -1 support.
10840         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
10841         Put constant into special SHF_MERGE sections if the linker should
10842         attempt to merge duplicates.
10843         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
10844         macro argument.
10845         Put constant into special SHF_MERGE sections if the linker should
10846         attempt to merge duplicates.
10847         * config/alpha/elf.h: Likewise.
10848         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
10849         has working .subsection -1 support.
10850         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
10851         SELECT_SECTION.
10852         * config/svr3.h: Likewise.
10853         * config/darwin.h: Likewise.
10854         * config/arm/aof.h: Likewise.
10855         * config/arm/linux-elf.h: Likewise.
10856         * config/avr/avr.h: Likewise.
10857         * config/c4x/c4x.h: Likewise.
10858         * config/d30v/d30v.h: Likewise.
10859         * config/i386/dgux.h: Likewise.
10860         * config/i386/osfrose.h: Likewise.
10861         * config/i386/sco5.h: Likewise.
10862         * config/i386/svr3gas.h: Likewise.
10863         * config/ia64/aix.h: Likewise.
10864         * config/m32r/m32r.h: Likewise.
10865         * config/m68k/m68k.h: Likewise.
10866         * config/m88k/dgux.h: Likewise.
10867         * config/m88k/m88k.h: Likewise.
10868         * config/mcore/mcore-pe.h: Likewise.
10869         * config/mips/mips.h: Likewise.
10870         * config/pa/pa.h: Likewise.
10871         * config/pa/pa-linux.h: Likewise.
10872         * config/romp/romp.h: Likewise.
10873         * config/rs6000/sysv4.h: Likewise.
10874         * config/rs6000/xcoff.h: Likewise.
10875         * config/s390/linux.h: Likewise.
10876         * config/sparc/sparc.h: Likewise.
10877         * config/sparc/sysv4.h: Likewise.
10878         * config/stormy16/stormy16.h: Likewise.
10879         * config/v850/v850.h: Likewise.
10880         * config/vax/vms.h: Likewise.
10881         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
10882         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10883         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
10884         default_elf_asm_named_section for SHF_MERGE sections.
10885
10886 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10887
10888         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
10889         is OK.
10890
10891 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
10892
10893         * c-common.c (split_specs_attrs): Allow for empty attributes with
10894         empty TREE_PURPOSE.  Fixes PR c/4294.
10895
10896 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
10897
10898         * basic-block.h (cached_make_edge, make_single_succ): New.
10899         (make_edge): Remove first parameter.
10900         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
10901         * cfg.c (cached_make_edge): Rename from make_edge; return newly
10902         created edge; use obstack allocation.
10903         (make_edge, make_single_succ_edge): New.
10904         (first_removed_edge): New static variable.
10905         (init_flow): Initialize first_removed_edge and n_edges.
10906         (clear_edges): Use remove_edge.
10907         (flow_delete_block): Likewise.
10908         (remove_edge): Add removed edges to the removed edges list.
10909         (split_block, redirect_edge_and_branch_force, split_edge):
10910         Use make_edge.
10911         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
10912         (add_noreturn_fake_exit_edges): Likewise.
10913         (connect_infinite_loops_to_exit): Liekwise.
10914         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
10915         Use cached_make_edge.
10916         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
10917         * profile.c (branch_prob): Update make_edge call.
10918         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
10919
10920 2001-09-11  Richard Henderson  <rth@redhat.com>
10921
10922         * config/alpha/alpha.c: Tidy formatting.
10923         (local_symbolic_operand): Verify mode.
10924         (alpha_sa_mask): Ignore unicos for eh_return.
10925         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
10926         * config/alpha/alpha.md (umk divsi patterns): Remove.
10927         (extendsfdf2): Remove unicos check.
10928         (tablejump): Merge vms and unicos code; always use direct set
10929         plus label_ref use.
10930
10931 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10932
10933         * config.gcc (alpha*-*-unicosmk*): New target.
10934
10935         * config/alpha/alpha-protos.h (symbolic_operand,
10936         unicosmk_add_call_info_word, unicosmk_add_extern,
10937         unicosmk_defer_case_vector, unicosmk_unique_section,
10938         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
10939         unicosmk_asm_file_start, unicosmk_asm_file_end,
10940         unicosmk_output_common): Declare.
10941
10942         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
10943         direct_return, function_arg, alpha_va_start, alpha_va_arg,
10944         alpha_does_function_need_gp, alpha_end_function): Support Cray
10945         Unicos/Mk.
10946         (alpha_init_machine_status, alpha_mark_machine_status,
10947         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
10948         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
10949         unicosmk_asm_named_section, unicosmk_insert_attributes,
10950         unicosmk_section_type_flags, symbolic_operand,
10951         unicosmk_output_module_name, unicosmk_output_default_externs,
10952         unicosmk_output_dex, unicosmk_output_externs,
10953         unicosmk_output_addr_vec, unicosmk_ssib_name,
10954         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
10955         unicosmk_asm_file_end, unicosmk_output_common,
10956         unicosmk_section_type_flags, unicosmk_unique_section,
10957         unicosmk_add_call_info_word, unicosmk_text_section,
10958         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
10959         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
10960         unicosmk_dex_count, unicosmk_special_name): New.
10961         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
10962         TARGET_ABI_UNICOSMK.
10963         (get_aligned_mem, alpha_expand_unaligned_load,
10964         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
10965         alpha_expand_unaligned_store_words): Support big-endian mode.
10966         (print_operand): Likewise. New format specifier 't'. Use
10967         TARGET_AS_SLASH_BEFORE_SUFFIX.
10968         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
10969         (alpha_pv_save_size): Update with above change.
10970         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
10971         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
10972         Unicos/Mk.
10973
10974         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
10975         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
10976         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
10977         (EXTRA_CONSTRAINT): New constraint 'U'.
10978         (PREDICATE_CODES): Add symbolic_operand.
10979
10980         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
10981         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
10982         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
10983         (integer division and modulus patterns): Split in default and
10984         Unicos/Mk versions.
10985         (*divmodsi_internal, *divmoddi_internal): Disable for
10986         TARGET_ABI_UNICOSMK.
10987         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
10988         little-endian and big-endian versions.
10989         (ext, ins, msk): Likewise.
10990         (extv, extzv, insv): Support big-endian mode.
10991         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
10992         (call_umk, call_value_umk, *call_umk, tablejump_umk,
10993         *tablejump_umk_internal, *call_value_umk): New.
10994         (*movdi_nofix): Add pattern for loading an address into a register on
10995         TARGET_ABI_UNICOSMK.
10996         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
10997         (umk_mismatch_args, arg_home_umk): New.
10998         (various insns): Don't use mov, fmov, nop, fnop and unop.
10999         (realign): Support TARGET_ABI_UNICOSMK.
11000
11001         * config/alpha/unicosmk.h: New file.
11002         * config/alpha/t-unicosmk: New file.
11003
11004         * fixinc/inclhack.def (unicosmk_restrict): New.
11005         * fixinc/fixincl.x: Regenerate.
11006
11007         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
11008         (wchar_t): Check for and define __WCHAR_T__.
11009
11010 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
11011
11012         * combine.c (simplify_shift_const): Treat shifts by the mode
11013         size as undefined.
11014
11015 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
11016
11017         * cpphash.h (struct tokenrun): New.
11018         (struct cpp_context): New member bol.
11019         (struct cpp_reader): New members.
11020         (_cpp_init_tokenrun): New.
11021         * cppinit.c (cpp_create_reader): Set up the token runs.
11022         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
11023         (lex_token): New internalised version of _cpp_lex_token.  Don't
11024         handle directives or the multiple include optimization here any
11025         more.  Simply lex a token.
11026         * cpplib.c (run_directive): Clear bol.
11027         (_cpp_pop_buffer): Set bol.
11028         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
11029         arguments.
11030
11031 2001-09-11  Michael Meissner  <meissner@redhat.com>
11032
11033         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
11034         give an error if the user uses -mfp32.
11035         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
11036         default options.
11037         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
11038         floating point register size.
11039         (EXTRA_SPECS): Add CPP_FPR_SPEC.
11040
11041         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
11042         HOST_WIDE_INT_PRINT_DEC to properly print the result of
11043         int_size_in_bytes.
11044         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11045         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
11046
11047 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
11048
11049         * dbxout.c (dbxout_parms): Fix typo in comment.
11050         * unroll.c (loop_find_equiv_value): Ditto.
11051         * toplev.c (rest_of_compilation): Ditto.
11052         * loop.c (scan_loop): Ditto.
11053         * dwarf2out.c (struct dw_fde_struct): Ditto.
11054
11055 2001-09-10  Zack Weinberg  <zackw@panix.com>
11056
11057         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
11058         copying identifier when we're just going to throw it away.
11059         (parse_identifier_slow): New routine to handle abnormal cases.
11060         (_cpp_lex_token): Update call site.
11061
11062         * hashtable.c (ht_lookup): Don't assume that the string we've
11063         been given is NUL-terminated.
11064         * system.h: #define __builtin_expect(a, b) to (a) if not
11065         GCC >=3.0.
11066
11067 2001-09-10  Michael Meissner  <meissner@redhat.com>
11068
11069         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
11070         binutils, gdb.
11071
11072 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
11073
11074         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
11075
11076 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11077
11078         * builtins.c (c_getstr): Correct thinko in last change and further
11079         cleanup.
11080
11081 2001-09-10  Tim Freeman <tim@fungibole.com>
11082
11083         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
11084         into varray's and register them as roots with the garbage
11085         collector so they are not collected too soon.
11086
11087 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
11088
11089         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
11090         New.
11091         * basic-block.h (flow_obstack, label_value_list,
11092         tail_recursion_label_list): Declare
11093         (tidy_fallthru_edges): Declare.
11094         (expunge_block, last_loop_beg_note): Delete.
11095         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
11096         * cfg.c: New file
11097         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
11098         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
11099         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
11100         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
11101         expunge_block, flow_delete_block, compute_bb_for_insn,
11102         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
11103         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
11104         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
11105         try_redirect_by_replacing_jump, last_loop_beg_note,
11106         redirect_edge_and_branch, redirect_edge_and_branch_force,
11107         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
11108         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
11109         commit_edge_insertions, dump_flow_info, debug_flow_info,
11110         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
11111         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
11112         Move here from flow.c
11113         * cfganal.c: New file.
11114         (forwarder_block_p, can_fallthru, mark_critical_edges,
11115          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
11116          find_unreachable_blocks, create_edge_list, free_edge_list,
11117          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
11118          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
11119          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
11120          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
11121          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
11122          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
11123         Move here from flow.c
11124         * cfgbuild.c: New file
11125         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
11126          make_edges, find_basic_blocks_1, find_basic_blocks,
11127          find_sub_basic_blocks): Move here from flow.c
11128         * cfgcleanup.c: New file.
11129         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
11130          merge_blocks_move_predecessor_nojumps,
11131          merge_blocks_move_successor_nojumps, merge_blocks,
11132          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
11133          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
11134         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
11135         if succeeded.
11136         * cfgloop.c: New file
11137         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
11138          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
11139          flow_loop_exit_edges_find, flow_loop_nodes_find,
11140          flow_loop_pre_header_scan, flow_loop_pre_header_find,
11141          flow_loop_tree_node_add, flow_loops_tree_build,
11142          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
11143          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
11144         Move here from flow.c
11145         * flow.c: Remove everything moved elsewhere
11146         * output.h (cleanup_cfg): Return bool.
11147
11148         * bb-reorder.c (reorder_block_def): Remove 'index'.
11149         (insert_intra_1): Add argument BB, set block for new note.
11150         (make_reorder_chain): Do not depdent on BB indexes.
11151         (make_reorder_chain_1): Do not use BB indexes.
11152         (label_for_bb): Likewise; set BB for new insn.
11153         (emit_jump_to_block_after): Likewise.
11154         (fixup_reorder_chain): Sanity check that all basic blocks
11155         are chained; verify newly created insn chain; remove
11156         undocnitional jump simplifying; Do not use BB indexes;
11157         properly initialize count and frequency information;
11158         dump reordered sequence.
11159         (insert_intra_bb_scope_notes): update call of insert_intra_1.
11160         (insert_inter_bb_scope_notes): Set block for new insn.
11161         (reorder_basic_blocks): Dump flow info before reoredering.
11162
11163 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11164
11165         * alias.c (clear_reg_alias_info): Use K&R format definition.
11166         Avoid unsigned warning.
11167         * builtins.c: Use "unsigned int", not "unsigned".
11168         (target_char_cast): Use host_integerp and tree_low_cst.
11169         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
11170         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
11171         (c_getstr): Likewise.
11172         (std_expand_builtin_va_arg): Use int_size_in_bytes.
11173         (builtin_memcpy_read_str): Avoid unsigned warning.
11174         (expand_builtin_memcpy): Alignments are unsigned.
11175         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
11176         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
11177         * predict.c (expensive_function_p): LIMIT now unsigned.
11178         * resource.c (mark_target_live_regs): Make some vars unsigned.
11179         * sdbout.c: Use "unsigned int", not "unsigned".
11180         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
11181         (sdbout_source_line): Likewise.
11182         (sdbout_record_type_name): Remove "const" for NAME declaration.
11183         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
11184
11185 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
11186
11187         * calls.c (store_one_arg): Expand comment.
11188
11189 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11190
11191         * calls.c (store_one_arg): Make sure that the entire argument is
11192         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
11193
11194 2001-09-09  Richard Henderson  <rth@redhat.com>
11195
11196         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
11197
11198 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
11199
11200         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
11201
11202 2001-09-09  Richard Henderson  <rth@redhat.com>
11203
11204         * config/alpha/alpha.c (alpha_next_sequence_number): New.
11205         (alpha_this_literal_sequence_number): New.
11206         (alpha_this_gpdisp_sequence_number): New.
11207         (some_operand, input_operand): Add HIGH.
11208         (local_symbolic_operand): New.
11209         (alpha_encode_section_info): New.
11210         (alpha_legitimate_address_p): Allow LO_SUM.
11211         (alpha_legitimize_address): Generate HIGH+LO_SUM.
11212         (alpha_expand_mov): Likewise.
11213         (secondary_reload_class): Check memory_operand not general_operand
11214         for FP_REGS test.
11215         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
11216         (alpha_expand_unaligned_store): Likewise.
11217         (alpha_expand_unaligned_load_words): Likewise.
11218         (alpha_expand_unaligned_store_words): Likewise.
11219         (alpha_expand_block_clear): Likewise.
11220         (print_operand): Handle %#, %*, %H.
11221         (print_operand_address): Handle LO_SUM.
11222         (find_lo_sum): New.
11223         (alpha_does_function_need_gp): Use it.
11224         (alpha_expand_block_move): Fix signed compare warnings.
11225         (alpha_sa_mask, alpha_align_insns): Likewise.
11226         * config/alpha/alpha-protos.h: Update.
11227         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
11228         (MASK_EXPLICIT_RELOCS): New.
11229         (TARGET_SWITCHES): Add -mexplicit-relocs.
11230         (EXTRA_CONSTRAINT): Add 'T'.
11231         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
11232         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
11233         (ENCODE_SECTION_INFO): Out line.
11234         (REDO_SECTION_INFO_P): New.
11235         (STRIP_NAME_ENCODING): New.
11236         (ASM_OUTPUT_LABELREF): New.
11237         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
11238         (PREDICATE_CODES): Update.
11239         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
11240         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
11241         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
11242         builtin_setjmp_receiver_er, exception_receiver_1_er,
11243         call_value_osf_1_er): New patterns.
11244         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
11245         (movqi, movhi, movsi): Add explicit $31 base register to lda.
11246         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
11247         (FINAL_PRESCAN_INSN): New.
11248
11249 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
11250
11251         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
11252
11253 2001-09-08  Andreas Jaeger  <aj@suse.de>
11254
11255         * i386.h (TARGET_SWITCHES): Fix description.
11256
11257 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
11258
11259         * rs6000.c (num_insns_constant): Compute number of instructions
11260         more accurately.
11261
11262         * doc/install.texi: Explain AIX exception handling work-around.
11263         Update URL for AIX fixes.
11264
11265 2001-09-07  Jim Wilson  <wilson@redhat.com>
11266
11267         * alias.c (clear_reg_alias_info): New.
11268         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
11269         * rtl.h (clear_reg_alias_info): Declare.
11270
11271 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11272
11273         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
11274         available.
11275         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
11276         (m16m,edivm,emulm): Change declaration to match definition.
11277
11278 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
11279
11280         * reload.c (push_reload): Check for subreg_lowpart_p instead of
11281         SUBREG_BYTE being 0 when determining if the inner part of a subreg
11282         can be reloaded.
11283
11284 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
11285
11286         * c-common.c (signed_or_unsigned_type): Handle machine mode types
11287         which have no corresponding C type.
11288         * fold_const.c (target_isinf,target_isnan,target_negative): Update
11289         the representation of 64-bit doubles to work with 64-bit ints.
11290
11291 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
11292
11293         * config/mips/mips.c (override_options): Do not override ISA when ABI
11294         specified if MIPS_CPU_STRING_DEFAULT was specified.
11295
11296 2001-09-07  Richard Henderson  <rth@redhat.com>
11297
11298         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
11299         (express_from_1): Wrap lines.
11300         * rtlanal.c (commutative_operand_precedence): Rename from
11301         operand_preference; export.
11302         * rtl.h: Declare it.
11303         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
11304         (simplify_binary_operation): Invoke simplify_plus_minus on
11305         (CONST (PLUS ...)) as well.
11306         (struct simplify_plus_minus_op_data): New.
11307         (simplify_plus_minus_op_data_cmp): New.
11308         (simplify_plus_minus): Use them.  Avoid infinite recursion with
11309         simplify_binary_operation wrt CONST.
11310
11311 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
11312
11313         * h8300-protos.h (general_operand_dst_push): Remove.
11314         * h8300.c (general_operand_dst_push): Likewise.
11315         * h8300.h (OK_FOR_T): Likewise.
11316         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
11317         * h8300.md (pushqi_h8300): New.
11318         (pushqi_h8300hs): Likewise.
11319         (pushqi): Likewise.
11320         (pushhi_h8300): Likewise.
11321         (pushhi_h8300hs): Likewise.
11322         (pushhi): Likewise.
11323
11324 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
11325
11326         * genattrtab.c (attr_printf): First arg is unsigned.
11327         Clean up formatting of callers.
11328
11329 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
11330
11331         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
11332         registers.
11333
11334 2001-09-07  Andreas Jaeger  <aj@suse.de>
11335
11336         * i386.h (TARGET_SWITCHES): Fix descriptions.
11337
11338 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11339
11340         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
11341
11342 2001-09-06  Ira Ruben  <ira@apple.com>
11343
11344         Remove OP_IDENTIFIER.
11345         * tree.def (OP_IDENTIFIER): Remove.
11346         * tree.c (tree_node_kind enum): Remove op_id_kind.
11347         (tree_node_kind_names): Remove "op_identifiers".
11348         (make_node): Remove OP_IDENTIFIER test.
11349         (build_op_identifier): Removed because it isn't being used.
11350         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
11351         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
11352
11353 2001-09-06  Richard Henderson  <rth@redhat.com>
11354
11355         * simplify-rtx.c (simplify_binary_operation): Revert last change.
11356
11357 2001-09-06  Richard Henderson  <rth@redhat.com>
11358
11359         * simplify-rtx.c (simplify_binary_operation): Simplify contents
11360         of CONST.
11361
11362 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
11363
11364         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
11365         number used for CR register.
11366
11367 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11368                           Joern Rennecke (amylaar@cygnus.com)
11369
11370         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
11371         * h8300.c (initial_offset): Handle offset between RP and FP.
11372         (h8300_return_addr_rtx): New function.
11373         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
11374         return register.
11375         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
11376         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
11377         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
11378         (CAN_ELIMINATE, REGISTER_NAMES):
11379         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
11380
11381 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
11382
11383         Remove TYPE_NONCOPIED_PARTS.
11384         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
11385         (struct tree_type): Remove noncopied_parts.
11386         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
11387         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
11388         (fixed_type_p): Remove.
11389         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
11390         (expand_expr, MODIFY_EXPR): Likewise.
11391         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
11392         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
11393
11394 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
11395
11396         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
11397         compiler warnings.
11398         (mask64_operand): Likewise.
11399         (includes_rldic_lshift_p): Likewise.
11400         (includes_rldicr_lshift_p): Likewise.
11401
11402 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
11403
11404         * objc/objc-act.c (build_message_expr): If a class method cannot
11405         be found, do not issue a warning if a corresponding instance
11406         method exists in the root class.
11407
11408 2001-09-05  Richard Henderson  <rth@redhat.com>
11409
11410         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
11411
11412 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
11413
11414         * function.c (ggc_mark_struct_function): Mark f->outer.
11415         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
11416         * integrate.c (output_inline_function): ... not here.
11417
11418 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
11419
11420         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
11421
11422         * i386.c (size_cost): New static variable.
11423         (override_function): Use size_cost when -Os is specified.
11424
11425         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
11426         properly;  Use current_function_calls_eh_return.
11427         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
11428         use leave to avoid dependency chain.
11429
11430         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
11431         get BB loop_depth instead of computing it from LOOP notes.
11432
11433         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
11434
11435 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11436
11437         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
11438         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11439         UNALIGNED_DOUBLE_INT_ASM_OP): Define
11440
11441 2001-09-05  Jeffrey A Law  (law@cygnus.com)
11442             Jason Merrill (jason@redhat.com)
11443
11444         * stor-layout.c (layout_type): Complain if an array's size can
11445         not be represented in a size_t.
11446
11447         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
11448
11449 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
11450
11451         * gcc.c: (process_command) Add parentheses around assignment
11452         used as truth value.
11453
11454 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11455
11456         * config/mips/mips.c (save_restore_insns): Don't mark any register
11457         save slots as unchanging if current_function_calls_eh_return.
11458
11459 2001-09-05  Richard Henderson  <rth@redhat.com>
11460
11461         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
11462         * config/alpha/alpha-protos.h: Declare it.
11463         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
11464         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
11465         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
11466         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
11467         (REG_OK_FOR_BASE_P): Select one of the above.
11468
11469 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
11470
11471         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
11472         (crti.o): Prefix name of object file with $(T).
11473         (crtn.o): Likewise.
11474
11475 2001-09-05  David S. Miller  <davem@redhat.com>
11476
11477         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
11478         * config/sparc/linux64.h: Likewise.
11479
11480 2001-09-05  Andreas Jaeger  <aj@suse.de>
11481
11482         * doc/invoke.texi (i386 Options): -mwide-multiply is not
11483         available anymore, remove the documentation.
11484         (i386 Options): Fix typo, cleanup index entries.
11485
11486         * prefix.c (concat): Remove, we can use the version from liberty.
11487
11488 2001-09-05  Richard Henderson  <rth@redhat.com>
11489
11490         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
11491         New functions split out of md file expanders.
11492         * config/alpha/alpha-protos.h: Declare them.
11493         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
11494
11495 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
11496
11497         * cppmacro.c (funlike_invocation_p): No need to restore context.
11498
11499 2001-09-04  Richard Henderson  <rth@redhat.com>
11500
11501         * reload.c (push_reload): Export.
11502         * reload.h (push_reload): Declare it.
11503
11504         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
11505         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
11506         * config/alpha/alpha.c (alpha_legitimize_address): New.
11507         (alpha_legitimize_reload_address): Likewise.
11508         * config/alpha/alpha-protos.h: Declare them.
11509
11510 2001-09-04  Stan Shebs  <shebs@apple.com>
11511
11512         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
11513         * config/darwin.c (machopic_stub_name): Account for internally
11514         generated lib calls such as memcpy.
11515
11516 2001-09-04  Richard Henderson  <rth@redhat.com>
11517
11518         * unwind.h (_UA_END_OF_STACK): New flag.
11519         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
11520
11521 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
11522
11523         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
11524
11525 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
11526
11527         * config/mips/mips.c (save_restore_insns): Change base_offset to
11528         fp_offset in second call to mips_emit_frame_related_store.
11529
11530 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
11531
11532         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
11533         sometimes be represented as a NOTE of type
11534         NOTE_INSN_DELETED_LABEL.
11535         (Insns): Document NOTE_INSN_DELETED_LABEL.
11536
11537 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
11538
11539         * c-common.h (tree_dump_index): Add more comments.
11540         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
11541         (dump_option_value_info): New struct.
11542         (dump_options): New array.
11543         (dump_switch_p): Parse switch options symbolically.
11544         * doc/invoke.texi (-fdump-ast): Rename to ...
11545         (-fdump-tree): ... here. Document that options are symbolic, and
11546         not all are applicable.
11547
11548 2001-09-04  David S. Miller  <davem@redhat.com>
11549
11550         * config/sparc/sparc.md (define_splits): Kill constraints.
11551
11552         Cleanup redundant and unused insn attributes.
11553         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
11554         binary, and move.  Mark ialu as default.
11555         (commented out define_function_unit "alu"): Kill.
11556         (define_attr "use_clobbered"): Kill.
11557         (whole file): Kill address insn type references.  Replace
11558         all unary/binary/move references with ialu.
11559         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
11560         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
11561         TYPE_IALU.
11562
11563         Simplify length insn attribute and make more judicious use
11564         of insn attribute defaulting.
11565         * config/sparc/sparc.md (all insns with length > one): Mark as
11566         insn type multi if real instructions, else use default if
11567         it is a forced splitter.
11568         (all insns with length == one): Use default insn length.
11569         (all insns of type ialu): Use default insn type.
11570
11571         Fix erroneous insn attribute settings.
11572         (addx): Set insn type to misc.
11573         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
11574         const_umulsidi3_sp64): Set insn type to imul.
11575
11576         Track SFmode vs DFmode insns according to UltraSPARC
11577         scheduling rules.
11578         * config/sparc/sparc.md ("fptype"): New attribute, default
11579         to "single".
11580         (all DFmode single insns): Mark as fptype "double".
11581
11582 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
11583
11584         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
11585
11586 2001-09-03  Richard Henderson  <rth@redhat.com>
11587
11588         * function.h (struct function): Add arg_pointer_save_area_init.
11589         * function.c (expand_function_end): Init arg_pointer_save_area.
11590         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
11591         when called from a nested function.
11592
11593 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
11594
11595         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
11596         is enabled.
11597
11598 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
11599
11600         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
11601
11602 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
11603
11604         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
11605         (emit_push_insn): Use specified padding direction when
11606         STACK_PUSH_CODE is POST_INC.
11607
11608         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
11609
11610 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11611
11612         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
11613
11614 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
11615
11616         * cppinit.c (cpp_start_read): Free the imacros list as we
11617         traverse it.  Don't free the chains before returning.
11618         (_cpp_push_next_buffer): Only try pushing buffers if we've
11619         completed -imacros handling.
11620
11621 2001-08-31  Eric Christopher  <echristo@redhat.com>
11622
11623         * gcc.c (handle_braces): Add explaination for abort.
11624
11625 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
11626
11627         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
11628         move adjustment of bitpos instead.
11629
11630 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
11631
11632         * function.c: Remove all_functions.  Make outer_function_chain
11633         static.
11634         (init_function_start): Don't add new function structure to
11635         all_functions.
11636         (find_function_data, push_function_context_to,
11637         pop_function_context_from, put_var_into_stack,
11638         trampoline_address): Update for changed structure element names.
11639         (push_function_context_to): Disentangle.
11640         (free_after_compilation): Also free F.
11641         (expand_dummy_function_end): Don't free cfun here.
11642         (put_var_into_stack): Comment why we can't use find_function_data here.
11643         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
11644         (mark_function_chain): Split into maybe_mark_struct_function and
11645         ggc_mark_struct_function.  Export the latter.
11646         (init_function_once): Mark from cfun and outer_function_chain;
11647         not all_functions.
11648
11649         * function.h (struct function): Kill next_global.  Rename next
11650         to outer.  All users updated to match.
11651         (all_functions, outer_function_chain): Don't declare.
11652
11653         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
11654         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
11655         don't touch f->inlinable, after calling rest_of_compilation.
11656
11657         * tree.h: Forward-declare struct function.  Prototype
11658         ggc_mark_struct_function.
11659
11660 2001-08-31  Kazu Hirata  <kazu@hxi.com>
11661
11662         * config/h8300/h8300.md (*andorhi3): Fix typos.
11663
11664 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11665
11666         * calls.c (emit_library_call_value): Don't use a fixed
11667         argument after VA_CLOSE, i.e. out of scope in traditional C.
11668
11669         * emit-rtl.c (gen_rtvec): Likewise.
11670
11671 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11672
11673         * Makefile.in (c-pragma.o): Depend on output.h.
11674         (reorg.o): Depend on except.h.
11675
11676         * c-pragma.c: Include output.h.
11677
11678         * reorg.c: Include except.h.
11679
11680         * unwind-dw2.c: Call __builtin_alloca, not alloca.
11681
11682 2001-08-31  Richard Henderson  <rth@redhat.com>
11683
11684         * sched-deps.c (add_dependence): Don't elide dependency if the
11685         conditional used by insn is modified in elem.
11686
11687 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
11688
11689         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11690
11691 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
11692
11693         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11694         dump_switch_p.
11695
11696 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11697
11698         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11699         function.
11700         (stormy16_asm_out_constructor): New function.
11701         (TARGET_ASM_CONSTRUCTOR): Define.
11702         (TARGET_ASM_DESTRUCTOR): Define.
11703
11704 2001-08-31  Andreas Jaeger  <aj@suse.de>
11705
11706         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11707         * loop.c (add_label_notes): Likewise.
11708         * reload.c (find_reloads): Likewise.
11709         * config/sh/sh.c (machine_dependent_reorg): Likewise.
11710
11711 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
11712
11713         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11714         code here.  Take _Unwind_{W,Sw}ord*.
11715         (read_encoded_value_with_base): Use them.
11716         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11717         words.
11718         (extract_cie_info): Simplify read_?leb128 handling.
11719         (execute_stack_op, execute_cfa_program): Likewise.
11720         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11721
11722 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
11723
11724         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11725         the frame pointer to pop the stack if convenient.
11726
11727         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11728         Don't use post-increment before combine.
11729         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11730         a call-saved register.
11731
11732 2001-08-31  Andreas Jaeger  <aj@suse.de>
11733
11734         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11735         code was correct.
11736
11737 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
11738
11739         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11740         not DIV/MOD, of course.
11741
11742 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
11743
11744         * rtl.def: Undo my patch commited 2001-08-27.
11745
11746         * genattrtab.c: Ditto.
11747
11748         * rtl.h: Ditto.
11749
11750         * sched-int.h: Ditto.
11751
11752         * target-def.h: Ditto.
11753
11754         * target.h: Ditto.
11755
11756         * haifa-sched.c: Ditto.
11757
11758         * sched-rgn.c: Ditto.
11759
11760         * sched-vis.c: Ditto.
11761
11762         * Makefile.in: Ditto.
11763
11764         * doc/md.texi: Ditto.
11765
11766         * doc/tm.texi: Ditto.
11767
11768         * doc/contrib.texi: Ditto.
11769
11770         * doc/gcc.texi: Ditto.
11771
11772         * genattrtab.h: Remove it.
11773
11774         * genautomata.c: Remove it.
11775
11776         * genattr.c: Undo my patch and Richard Henderson's patch commited
11777         2001-08-27.
11778
11779 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
11780
11781         * config.gcc (h8300-*-elf*): New case.
11782         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
11783         (SUBTARGET_CPP_SPEC): Define.
11784         (EXTRA_SPECS): Define.
11785         (SUBTARGET_EXTRA_SPECS): Define.
11786         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
11787         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
11788
11789 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
11790
11791         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
11792         (LIB2FUNCS_EXTRA): Define.
11793         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
11794         config/h8300/fixunssfsi.c: New file.
11795
11796 2001-08-30  Kazu Hirata  <kazu@hxi.com>
11797
11798         * config/h8300/h8300.md (zero_extendqihi2): Changes to
11799         define_expand to accommodate target-specific attributes.
11800         (anonymous zero_extendqihi2 patterns): New.
11801
11802 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
11803
11804         * h8300.md (*andorhi3): New pattern.
11805
11806 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
11807
11808         * h8300.c (dosize): Fix test for "sub".
11809
11810 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
11811
11812         * c-typeck.c (pointer_diff): Try to eliminate common term before
11813         doing conversions.
11814
11815 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
11816
11817         * config/arm/arm.c (arm_compute_initial_elimination_offset):
11818         Account for the saves of the FP registers.
11819
11820         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
11821         (TEXT_SECTION_ASM_OP): Define.
11822         (INIT_SECTION_ASM_OP): Define.
11823         (FINI_SECTION_ASM_OP): Define.
11824         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
11825         (RDATA_SECTION_FUNCITON): Provide prototype.
11826
11827 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
11828
11829         * reload1.c (move2add_note_store): Correct typo checking for
11830         argument pushes.
11831
11832 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
11833
11834         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
11835         note should not be considered outside the libcall block.
11836
11837 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11838
11839         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
11840
11841 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11842
11843         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
11844
11845 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11846
11847         * config/h8300/h8300-protos.h: Add a prototype for
11848         emit_logical_op.
11849         * config/h8300/h8300.c (emit_logical_op): New.
11850         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
11851         (andsi3): Likewise.
11852         (iorhi3): Likewise.
11853         (iorsi3): Likewise.
11854         (xorhi3): Likewise.
11855         (xorsi3): Likewise.
11856
11857 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11858
11859         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
11860         comparison with rtx INTVAL.
11861         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
11862         expression.
11863         * pa.h (FUNCTION_ARG_SIZE): Likewise.
11864
11865 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11866
11867         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
11868         comment typos.
11869
11870 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11871
11872         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
11873         (reg n) to (mem (pre_dec (reg n))
11874         (anonymous movsi pattern): Likewise.
11875
11876 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11877
11878         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
11879
11880 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11881
11882         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
11883         several special constants.
11884
11885 2001-08-29  Kazu Hirata  <kazu@hxi.com>
11886
11887         * config/h8300/lib1funcs.asm: Fix comment typos.
11888
11889 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11890
11891         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
11892         Fix format specifier warnings.
11893
11894         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
11895         inet_makeaddr, semctl): Prototype.
11896
11897         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
11898         (save_restore_insns): Use base_offset, not gp_offset.
11899
11900         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
11901         (ASM_OUTPUT_BYTE): Fix format specifier warning.
11902
11903 2001-08-29  Richard Henderson  <rth@redhat.com>
11904
11905         * bb-reorder.c (function_tail_eff_head): New.
11906         (record_effective_endpoints): Set it.
11907         (fixup_reorder_chain): Use it.
11908
11909 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11910
11911         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
11912
11913 2001-08-28  Dale Johannesen  <dalej@apple.com>
11914
11915         * config/darwin.c (machopic_function_base_name): Add const
11916         qualifier to a string.
11917         (darwin_encode_section_info): Ditto.
11918
11919 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11920
11921         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
11922         function definition.
11923
11924 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
11925
11926         * df.h (struct df): Add rts_order variable.
11927
11928         * df.c (df_visit_next_rts): New function.
11929         (df_visit_next): Renamed to df_visit_next_rc
11930         (df_analyse_1): Allocate/compute/free rts_order as well.
11931         (df_rd_global_compute): Use df_visit_next_rc instead of
11932         df_visit_next.
11933         (df_ru_global_compute): Use df_visit_next_rts instead of
11934         df_visit_next.
11935
11936         * flow.c (flow_reverse_top_sort_order_compute): New function.
11937
11938         * basic-block.h: Add prototype.
11939
11940 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
11941
11942         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
11943         blocks, the BB_REACHABLE is now set, rather than aux being
11944         non-NULL. Update the test to reflect this.
11945
11946 2001-08-28  Eric Christopher  <echristo@redhat.com>
11947
11948         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
11949         config/mips/crti.asm: Ditto.
11950
11951 2001-08-28  Eric Christopher <echristo@redhat.com>
11952             Richard Henderson <rth@redhat.com>
11953
11954         * c-pragma.h (add_weak): Move prototype from here...
11955         * output.h (add_weak): ... to here.
11956         * varasm.c (add_weak): Fix typo.
11957         * config/mips/crti.asm: New file.
11958         * config/mips/crtn.asm: Ditto.
11959         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
11960         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
11961         (INVOKE__main): Ditto.
11962         (INIT_SECTION_ASM_OP): New.
11963         (FINI_SECTION_ASM_OP): Ditto.
11964         (STARTFILE_SPEC): Add crti.
11965         (ENDFILE_SPEC): Add crtn.
11966         * config/mips/elf64.h: Same.
11967         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
11968         Remove.
11969         * config/mips/vxworks.h: Ditto.
11970         * config/mips/t-elf: Support crti and crtn.
11971
11972 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
11973
11974         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
11975         INSN_LIST.
11976
11977 2001-08-28  Richard Henderson  <rth@redhat.com>
11978
11979         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
11980         (one_cmplbi2 splitter): Remove redundant test.
11981
11982 2001-08-28  Dale Johannesen  <dalej@apple.com>
11983
11984         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
11985
11986 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
11987
11988         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
11989
11990 2001-08-28  Stan Shebs  <shebs@apple.com>
11991
11992         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
11993         (UNALIGNED_SHORT_ASM_OP): Define.
11994         (UNALIGNED_INT_ASM_OP): Define.
11995
11996 2001-08-28  Will Cohen  <wcohen@redhat.com>
11997
11998         * config/rs6000/rs6000.md (store_multiple): Correct RTL
11999         generation for first set.
12000
12001 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12002
12003         * flow.c (redirect_edge_succ_nodup): Return new edge.
12004         (try_simplify_condjump): Use new edge.
12005         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
12006
12007         * cse.c (cse_basic_block): Skip note instructions.
12008
12009 2001-08-27  Richard Henderson  <rth@redhat.com>
12010
12011         * combine.c (combine_simplify_rtx): Don't reverse condition
12012         if there is no reverse for the condition.
12013         (simplify_comparison): Don't simplify subregs from INT to FP.
12014
12015         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
12016         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
12017         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
12018         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
12019         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
12020         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
12021
12022 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
12023
12024         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
12025         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
12026         (pushqi1): New.
12027         (adddi_dilshr32, adddi_dishl32): Only data register can be
12028         source for mem destination.
12029
12030         * expmed.c (store_bit_field): Ignore adjustment to bitpos
12031         and use bitnum to decide about register move.
12032
12033 2001-08-27  Richard Henderson  <rth@redhat.com>
12034
12035         * genattr.c (main): Emit state_t even when not doing scheduling.
12036
12037 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12038             Richard Henderson  <rth@redhat.com>
12039
12040         * gcse.c (reg_first_set, reg_last_set): Replace with ...
12041         (reg_avail_info, current_bb): ... these.
12042         (oprs_unchanged_p, record_last_reg_set_info): Use them.
12043         (compute_hash_table): Likewise.
12044
12045 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
12046
12047         * flow.c (verify_flow_info): Use checksums to verify edges.
12048
12049 2001-08-27  Richard Henderson  <rth@redhat.com>
12050
12051         * genautomata.c (expand_automata): Always create a description.
12052
12053 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12054
12055         * optabs.c (expand_binop): Correctly handle the carry in multiword
12056         add/subtract operations.
12057
12058 2001-08-27  Fred Fish  <fnf@be.com>
12059
12060         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
12061         __SIZE_TYPE__.
12062
12063 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
12064
12065         * reload.c (find_reloads_toplev): Back out this change:
12066
12067         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
12068
12069         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
12070         mem if the address is a mode_dependent_address_p.
12071
12072 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
12073
12074         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
12075         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
12076         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
12077         RTL constructions.
12078
12079         * genattr.c (main): New variable num_insn_reservations.  Increase
12080         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
12081         pipeline hazard recognizer interface.
12082
12083         * genattrtab.h: New file.
12084
12085         * genattrtab.c: Include genattrtab.h.
12086         (attr_printf, check_attr_test, make_internal_attr,
12087         make_numeric_value): Move protypes into genattrtab.h.  Define them
12088         as external.
12089         (num_dfa_decls): New global variable.
12090         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
12091         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
12092         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
12093         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
12094
12095         * genautomata.c: New file.
12096
12097         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
12098
12099         * sched-int.h: (curr_state): Add the external definition for
12100         automaton pipeline interface.
12101         (haifa_insn_data): Add comments for members blockage and units.
12102
12103         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12104         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12105         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12106         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12107         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12108         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12109         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
12110         macros.
12111         (TARGET_SCHED): Use the new macros.
12112
12113         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
12114         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
12115         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
12116         dfa_bubble): New members in gcc_target.sched.
12117
12118         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
12119         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
12120         (insn_queue): Redefine it as pointer to array.
12121         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
12122         INSN_QUEUE_SIZE.
12123         (max_insn_queue_index_macro_value): New variable.
12124         (curr_state, dfa_state_size, ready_try): New varaibles for
12125         automaton interface.
12126         (ready_element, ready_remove, max_issue): New function prototypes
12127         for automaton interface.
12128         (choose_ready): New function prototype.
12129         (insn_unit, blockage_range): Add comments.
12130         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
12131         FUNCTION_UNITS_SIZE == 0.
12132         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
12133         actual_hazard, potential_hazard): Add comments.
12134         (insn_cost): Use cost -1 as undefined value.  Remove
12135         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
12136         pipeline interface.
12137         (ready_element, ready_remove): New functions for automaton
12138         interface.
12139         (schedule_insn): Add new code for automaton pipeline interface.
12140         (queue_to_ready): Add new code for automaton pipeline interface.
12141         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
12142         (debug_ready_list): Print newline when the queue is empty.
12143         (max_issue): New function for automaton pipeline interface.
12144         (choose_ready): New function.
12145         (schedule_block): Add new code for automaton pipeline interface.
12146         Print ready list before scheduling each insn.
12147         (sched_init): Add new code for automaton pipeline interface.
12148         Initiate insn cost by -1.
12149         (sched_finish): Free the current automaton state and finalize
12150         automaton pipeline interface.
12151
12152         * sched-rgn.c: Include target.h.
12153         (init_ready_list, new_ready, debug_dependencies): Add new code for
12154         automaton pipeline interface.
12155
12156         * sched-vis.c: Include target.h.
12157         (get_visual_tbl_length): Add code for automaton interface.
12158         (target_units, print_block_visualization):  Add comments.
12159
12160         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
12161         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
12162         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
12163         (getruntime.o, genautomata.o): New entries.
12164         (genattrtab.o): Add new dependency file genattrtab.h.
12165         (genattrtab): Add new dependencies.  Link it with `libm.a'.
12166         (getruntime.o, hashtab.o): New entries for canadian cross.
12167
12168         * doc/md.texi: Description of automaton based model.
12169
12170         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
12171         Add comments.
12172         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
12173         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
12174         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
12175         TARGET_SCHED_DFA_POST_CYCLE_INSN,
12176         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
12177         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
12178         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
12179         hook descriptions.
12180         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
12181         MAX_DFA_ISSUE_RATE): New macro descriptions.
12182
12183         * doc/contrib.texi: Add dfa based scheduler contribution.
12184
12185         * doc/gcc.texi: Add more information about genattrtab.
12186
12187 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
12188
12189         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
12190         an RTL basic block.
12191
12192 2001-08-27  Richard Henderson  <rth@redhat.com>
12193
12194         * function.c (expand_function_end): Don't init arg_pointer_save_area.
12195         (get_arg_pointer_save_area): New.  Create an init it here.
12196         (fix_lexical_addr): Use it.
12197         * function.h: Declare it.
12198         * builtins.c (expand_builtin_setjmp_receiver): Use it.
12199         * stmt.c (expand_nl_goto_receiver): Use it.
12200
12201 2001-08-27  Richard Henderson  <rth@redhat.com>
12202
12203         * final.c (final_scan_insn): Don't enter APP_ON mode for
12204         empty asm strings.
12205
12206         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
12207         alignment for assemble_integer for DW_EH_PE_aligned.
12208         * except.c (output_function_exception_table): Likewise.
12209
12210 2001-08-26  Andreas Jaeger  <aj@suse.de>
12211
12212         * c-tree.h: Add prototyp for c_sizeof_nowarn.
12213
12214 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
12215
12216         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
12217
12218 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
12219
12220         * config/rs6000/rs6000.c (mask_operand): Rewrite without
12221         bit-shifting loop.
12222         (mask64_operand): Likewise.
12223         (rldic_operand): Delete.
12224         (includes_lshift64_p): Delete.
12225         (includes_rldic_lshift_p): New function.
12226         (includes_rldicr_lshift_p): New function.
12227         (print_operand): Don't call rldic_operand in case 'W'.
12228         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
12229         (includes_lshift64_p): Remove.
12230         (includes_rldic_lshift_p): Declare.
12231         (includes_rldicr_lshift_p): Declare.
12232         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
12233         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
12234         Replace match_operand rldic_operand predicate with
12235         const_int_operand.  Replace includes_lshift64_p condition with
12236         includes_rldic_lshift_p.
12237         <ashldi3_internal 64 bit rldicr patterns>: New.
12238
12239 2001-08-27  Andreas Jaeger  <aj@suse.de>
12240
12241         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12242         * errors.c: Likewise.
12243         * final.c: Likewise.
12244         * dwarf2asm.c: Likewise.
12245         * doprint.c (checkit): Likewise.
12246         * diagnostic.c: Likewise.
12247         * collect2.c: Likewise.
12248         * calls.c: Likewise.
12249         * c-semantics.c (build_stmt): Likewise.
12250         * c-format.c (status_warning): Likewise.
12251         * c-errors.c (pedwarn_c99): Likewise.
12252         * builtins.c (validate_arglist): Likewise.
12253         * config/pj/pj.c (pj_printf): Likewise.
12254         * fix-header.c: Likewise.
12255         * gcc.c: Likewise.
12256         * gcov.c (fnotice): Likewise.
12257         * gensupport.c (message_with_line): Likewise.
12258         * mips-tfile.c: Likewise.
12259         * protoize.c (notice): Likewise.
12260         * read-rtl.c (fatal_with_file_and_line): Likewise.
12261         * rtl-error.c: Likewise.
12262         * tradcpp.c: Likewise.
12263         * tree.c: Likewise.
12264         * cp/tree.c (build_min_nt): Likewise.
12265         (build_min): Likewise.
12266         * cp/lex.c: Likewise.
12267         * cp/errfn.c: Likewise.
12268         * cp/rtti.c (create_pseudo_type_info): Likewise.
12269
12270 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
12271
12272         * df.c (df_uses_record): Return after recording all uses
12273         in ASM_OPERANDS.
12274
12275 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
12276
12277         * df.c (df_insn_modify): Realloc the INSN table here, if
12278         necessary, here, too.
12279
12280 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
12281
12282         * config/mips/mips.c (mips_function_value): Handle complex return
12283         values.
12284
12285 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
12286
12287         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
12288         unshared.
12289         * reload.c (make_memloc): Copy result if it is still
12290         reg_equiv_memory_loc[regno] on return.
12291         (subst_reloads) [ENABLE_CHECKING]: Check that none of
12292         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
12293         reg_equiv_mem are modified by the substitutions.
12294
12295 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12296
12297         * predict.c (expensive_function_p): New.
12298         * rtl.h (expensive_function_p): Declare.
12299         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
12300         (use_fast_prologue_epilogue): New static variable.
12301         (expand_prologue): Set it; emit short prologues if unset.
12302         (expand_epilogue): Likewise.
12303
12304 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12305
12306         * config.gcc: Add stormy16-*-elf case.
12307         * config/stormy16/stormy-abi: New file.
12308         * config/stormy16/stormy16-lib2.c: New file.
12309         * config/stormy16/stormy16-protos.h: New file.
12310         * config/stormy16/stormy16.c: New file.
12311         * config/stormy16/stormy16.h: New file.
12312         * config/stormy16/stormy16.md: New file.
12313         * config/stormy16/t-stormy16: New file.
12314
12315 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
12316
12317         * i386.h (no-accumulate-outgoing-args): Use proper mask.
12318
12319 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
12320
12321         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
12322         descriptor members are pointer size, not constant 4.
12323         * config/rs6000/rs6000.md (define_splits): Remove more unused
12324         constraints.
12325
12326 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12327
12328         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
12329
12330 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
12331
12332         * cp/rtti.c (VPARAMS): Fix parameter.
12333
12334 2001-08-24  Zack Weinberg  <zackw@panix.com>
12335
12336         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
12337         to zero.
12338         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
12339         to switch.
12340         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
12341         in if controlling use of insv.
12342         (extract_bit_field): Likewise, for extv and extzv.
12343
12344 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
12345
12346         * i386.md (movcc peep2): Fix load of 0.
12347
12348 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12349
12350         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
12351         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
12352
12353 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
12354
12355         * c-pragma.h: Move weak_syms and weak_decls...
12356         * varasm.c: ...here.  Now static.
12357         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
12358         depend on HANDLE_PRAGMA_WEAK.
12359
12360         * c-common.c (c_alignof, c_alignof_expr): Move here...
12361         * c-typeck.c: ...from here.
12362         * c-tree.h, c-common.h: Adjust.
12363
12364 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
12365
12366         * config/ia64/ia64.c (rws_update): If !pred, set write_count
12367         instead of incrementing it.
12368
12369         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
12370         asm ready, don't try to move them all into the same array element.
12371
12372 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
12373
12374         * function.c (thread_prologue_and_epilogue_insns): Avoid
12375         fallthru flag on edge to exit.
12376
12377         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
12378
12379         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
12380         dead edges.
12381
12382 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12383
12384         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
12385         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
12386         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
12387         Remove prototype.
12388
12389 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
12390
12391         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
12392         replace "GNU CC" with "GCC".
12393
12394 2001-08-23  Richard Henderson  <rth@redhat.com>
12395
12396         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
12397         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
12398         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
12399         Need GR between FR and not GR_AND_FR.
12400         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
12401         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
12402         AR regs before GR regs.
12403         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
12404         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
12405         (REGISTER_MOVE_COST): Update.
12406         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
12407
12408 2001-08-23  Richard Henderson  <rth@redhat.com>
12409
12410         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
12411         a register class.
12412
12413 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
12414
12415         * reload1.c (emit_reload_insns): Don't look for notes
12416         on a NULL store_insn.
12417
12418 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12419
12420         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
12421         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
12422         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
12423         format specifier warnings.
12424         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
12425
12426 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
12427
12428         * config/i386/i386-protos.h: Correct declaration of
12429         i386_pe_asm_named_section.
12430
12431 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12432
12433         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
12434         variable i.
12435         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
12436
12437 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12438
12439         * cpperror.c (print_location): Don't show _Pragma.
12440         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
12441         and file change callback generation here.
12442         (stack_include_file): Update use of cpp_push_buffer.
12443         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
12444         (struct cpp_buffer): Remove type, pfile members.
12445         * cppinit.c (cpp_handle_option): Use free_chain.
12446         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
12447         (skip_escaped_newlines, get_effective_char, lex_percent): Take
12448         a cpp_reader rather than a cpp_buffer.
12449         (skip_escaped_newlines, get_effective_char, skip_block_comment,
12450         skip_line_comment, parse_string, lex_percent, lex_dot,
12451         _cpp_lex_token): Update accordingly.
12452         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
12453         generation here.
12454         (cpp_push_buffer): Update prototype.
12455         (run_directive): Update use of cpp_push_buffer.
12456         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
12457         handle_assertion): Update use of run_directive.
12458         * cpplib.h (enum cpp_buffer_type): Remove.
12459         (cpp_push_buffer): Update prototype.
12460         * fix-header.c (read_scan_file): Update.
12461
12462 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12463
12464         * gcc.c (struct prefix_list): Change prefix to const char *.
12465
12466 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12467
12468         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
12469
12470 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
12471
12472         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
12473         from a new MEM.
12474
12475         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
12476         a squeezable note.
12477         * rtl.h: Adjust.
12478         * ifcvt.c (dead_or_predicable): Adjust.
12479         * loop.c (find_and_verify_loops): Adjust.
12480         * stmt.c (expand_end_case): Adjust.
12481         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
12482         head and end insn pointers in the basic block, not just local copies.
12483         (merge_blocks_move_predecessor_nojumps): Likewise.
12484
12485 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
12486
12487         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
12488         bitmap.h, builtin-types.def, builtins.c, builtins.def,
12489         c-aux-info.c, c-common.c, c-common.def, c-common.h,
12490         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
12491         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
12492         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
12493         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
12494         conditions.h, config.gcc, configure.frag, configure.in,
12495         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
12496         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
12497         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
12498         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
12499         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
12500         emit-rtl.c, errors.c, errors.h, except.c, except.h,
12501         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
12502         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
12503         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
12504         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
12505         gencheck.c, gencodes.c, genconfig.c, genemit.c,
12506         genextract.c, genflags.c, gengenrtl.c, genmultilib,
12507         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
12508         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
12509         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
12510         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
12511         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
12512         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
12513         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
12514         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
12515         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
12516         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
12517         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
12518         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
12519         params.h, predict.c, predict.def, predict.h, prefix.c,
12520         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
12521         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
12522         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
12523         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
12524         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
12525         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
12526         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
12527         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
12528         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
12529         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
12530         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
12531         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
12532         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
12533         xcoffout.h: replace "GNU CC" with "GCC".
12534
12535 2001-08-21  Richard Henderson  <rth@redhat.com>
12536
12537         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
12538         (final_scan_insn): Consider jump tables data even if we have no
12539         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
12540         ADDR_VEC_ALIGN.
12541         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
12542         (ASM_OUTPUT_CASE_END): Remove.
12543         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
12544         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
12545         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
12546
12547 2001-08-21  Richard Henderson  <rth@redhat.com>
12548
12549         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
12550         at barrier insns.  Emit stop bits before barriers.
12551
12552         * flow.c (flow_find_cross_jump): Don't consider unconditional
12553         return insns for commoning.
12554
12555         * final.c (compute_alignments): Fix typo.
12556
12557         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
12558         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
12559         (store_bit_field): Use mode_for_extraction more places.
12560         (extract_bit_field): Likewise.
12561
12562 2001-08-21  Zack Weinberg  <zackw@panix.com>
12563
12564         * caller-save.c: Don't include insn-codes.h.
12565         (reg_save_code, reg_restore_code): Make arrays of int.
12566         All uses updated to match.
12567         (insert_save, insert_restore): No need to initialize "code"
12568         variable upon declaration.
12569         * Makefile.in: update dependencies; fix typo in clean rule.
12570
12571 2001-08-21  Richard Henderson  <rth@redhat.com>
12572
12573         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
12574         (merge_if_block): Handle fallout from same.
12575
12576 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12577
12578         * builtins.c (type_to_class): Fix typo in last change.
12579
12580 2001-08-21  Richard Henderson  <rth@redhat.com>
12581
12582         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
12583         ia64_asm_output_label.
12584
12585         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
12586         copy of gp while the real gp register contains garbage.
12587
12588 2001-08-21  Zack Weinberg  <zackw@panix.com>
12589
12590         * expmed.c (mode_for_extraction): New function.
12591         (store_bit_field, extract_bit_field): Use it.
12592         * expr.h: Prototype it and provide an enum for its first argument.
12593
12594         * combine.c, function.c, recog.c: Don't include insn-codes.h.
12595         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
12596         and digging through the insn_data tables.
12597         * Makefile.in: Update dependencies.
12598
12599 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
12600
12601         * cppfiles.c (stack_include_file): line-map.c now handles include
12602         depth.
12603         (handle_missing_handler): Similarly.
12604         (_cpp_execute_include): Similarly.
12605         (_cpp_pop_file_buffer): Similarly.
12606         * cpphash.h (struct cpp_reader): Remove system_include_depth,
12607         buffer_stack_depth and include_depth.
12608         * cpplib.c (do_include_common): line-map.c now handles include depth.
12609         (cpp_push_buffer): Similarly.
12610         (_cpp_pop_buffer): Similarly.
12611         * cppmacro.c (builtin_macro): Update.
12612         * line-map.c (init_line_maps): Set depth.
12613         (add_line_map): Increment "used" earlier.  Update and use the
12614         include depth.
12615         (trace_include): Use the include depth.
12616         * line-map.h (struct line_maps): New member depth.
12617
12618 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12619
12620         * cppfiles.c (stack_include_file): Don't handle -H here.
12621         * cppinit.c (cpp_start_read): Set include tracing after
12622         cpp_post_options and after stacking the main file.
12623         * line-map.c (trace_include): New.
12624         (init_line_maps, add_line_map): Update.
12625         * line-map.h (struct line_maps): New member trace_includes.
12626
12627 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12628
12629         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
12630         * cppfiles.c (stack_include_file): Only stack a file if there
12631         is something to do.  Return a boolean indicating whether a
12632         buffer was stacked or not.
12633         (_cpp_execute_include): Similarly.
12634         (_cpp_read_file): Similarly.
12635         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
12636
12637 2001-08-21  Sam Steingold  <sds@gnu.org>
12638
12639         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
12640         (RECACHE): keep obufp_before_macroname up to date
12641
12642 2001-08-21  Zack Weinberg  <zackw@panix.com>
12643
12644         * stmt.c: Don't include insn-codes.h.
12645         (expand_end_case): Machine specific logic moved to expr.c.
12646         No need to worry about __builtin_classify_type.
12647         (check_for_full_enumeration_handling, emit_case_nodes):
12648         Kill #if 0 blocks.
12649
12650         * builtins.o (expand_builtin_classify_type): Split up so code
12651         can be shared with fold_builtin_classify_type.
12652         (type_to_class, fold_builtin_classify_type): New functions.
12653         (fold_builtins): Handle __builtin_classify_type.
12654
12655         * expr.c (do_tablejump): Now static.
12656         (case_values_threshold, try_casesi, try_tablejump): New;
12657         code mostly from stmt.c (expand_end_case).
12658         (expr.h): Update prototypes.
12659
12660         * Makefile.in (stmt.o): Update dependencies.
12661
12662 2001-08-21  Will Cohen  <wcohen@redhat.com>
12663
12664         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
12665         declaration of variable i.
12666         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
12667         declaration of variable i.
12668
12669 2001-08-21  Richard Henderson  <rth@redhat.com>
12670
12671         * crtstuff.c: Fix thinko last change.  Move list tails to start
12672         of CRT_END section.  Tidy ifdefs.
12673         (__EH_FRAME_BEGIN__): Always static for ELF.
12674         (__do_global_ctors_1): Rename from __frame_dummy.
12675         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
12676         name change; don't hide __EH_FRAME_BEGIN__.
12677
12678 2001-08-21  Richard Henderson  <rth@redhat.com>
12679
12680         * gdbinit.in: Move break on exit after break on fancy_abort.
12681
12682         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
12683         sized types.
12684
12685 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
12686
12687         * cpphash.h (_cpp_push_next_buffer): New.
12688         * cppinit.c (do_includes): Remove.
12689         (push_include, free_chain, _cpp_push_next_buffer): New.
12690         (cpp_start_read): Use them to rework command line option handling.
12691         (cpp_handle_option): Combine handling of -include and -imacros.
12692         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12693         appropriate.  Always insert missing \n at EOF.
12694         * cpplib.c (start_directive): Get the directive position right.
12695         * cppmain.c (cb_file_change): Always print the first line, unless
12696         preprocessed.
12697
12698 2001-08-20  Andreas Jaeger  <aj@suse.de>
12699
12700         * profile.c (compute_branch_probabilities): Remove extra new-line
12701         in error message.
12702         * flow.c (verify_flow_info): Likewise.
12703
12704 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12705
12706         * basic-block.h (basic_block): Add new field 'flags'.
12707         (BB_REACHABLE): Define.
12708         (expunge_block): Declare.
12709         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12710         (EXIT_BLOCK_PTR): Ditto.
12711         (expunge_block): Remove static declaration.
12712         (cleanup_cfg): Clear bb->aux on every basic block.
12713         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12714         computing reachability.
12715         (delete_unreachable_blocks): Delete block b if b->flags has
12716         BB_REACHABLE unset.
12717
12718 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
12719
12720         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12721
12722 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12723
12724         * sparc.c (sparc_variable_issue): Fix typo in last change.
12725
12726 2001-08-20  Richard Henderson  <rth@redhat.com>
12727
12728         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12729
12730 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12731
12732         * pa.h (RETURN_IN_MEMORY): Improve comment.
12733
12734 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
12735
12736         * doc/invoke.texi (Profiling options): Clarify the interactions
12737         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12738
12739 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
12740
12741         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12742         command.
12743
12744 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12745
12746         * gcc.c (make_relative_prefix): Allocate a sufficiently large
12747         buffer.
12748
12749 2001-08-20  Richard Henderson  <rth@redhat.com>
12750
12751         * final.c (end_final): Fix typo last change.
12752
12753 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
12754
12755         * cppinit.c (init_standard_includes): The returned buffer
12756         is already malloc-ed.
12757         * gcc.c (add_prefix): Similarly.
12758         * prefix.c (translate_name): Update to support clear buffer
12759         ownership rules.
12760         (update_path): Similarly.  Be sure to free any newly allocated
12761         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12762         (tr): New function.
12763         * prefix.h (update_path): Update prototype and document.
12764         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12765         up and update to new buffer ownership rules.
12766         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12767
12768 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
12769
12770         * final.c (compute_alignments): New function.
12771         (init_insn_lengths): Do not care label_align.
12772         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
12773         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
12774         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
12775         (shorted_branches): Realloc label_align array; do
12776         not call init_insn_lengths; Do not care about loop alignments.
12777         * output.h (compute_alignments): Declare.
12778         * toplev.c (rest_of_compilation): Call compute_alignments.
12779         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
12780
12781         * predict.c (block_info_def): Add npredecesors, remove nvisited;
12782         change visited to tovisit.
12783         (propagate_freq): Use faster traversing algorithm.
12784         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
12785         to tovisit; reverse meaning.
12786
12787         * predict.c (struct block_info_def): Remove nvisited.
12788         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12789         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12790
12791 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
12792
12793         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
12794         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
12795         (TARGET_FUSED_MADD): New.
12796         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
12797         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
12798         the multiply-add instructions.
12799
12800 2001-08-19  Richard Henderson  <rth@redhat.com>
12801
12802         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
12803         is aligned to pointer size.
12804
12805 2001-08-19  Richard Henderson  <rth@redhat.com>
12806
12807         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
12808         display markers during final schedule.
12809
12810 2001-08-19  Richard Henderson  <rth@redhat.com>
12811
12812         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
12813
12814 2001-08-19  Richard Henderson  <rth@redhat.com>
12815
12816         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
12817         in the same string.
12818         (ASM_NAME_TO_STRING): Remove.
12819         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
12820         in the same string.  Remove support for expressions.
12821
12822 2001-08-19  Richard Henderson  <rth@redhat.com>
12823
12824         * config/i386/i386.md (tablejump): Make an expander; handle
12825         pic relative addressing here.
12826         (tablejump_1): Rename from tablejump_pic.
12827         (casesi): Remove.
12828
12829 2001-08-19  Richard Henderson  <rth@redhat.com>
12830
12831         * regclass.c (fix_register): Fix typo.
12832
12833 2001-08-18  Richard Henderson  <rth@redhat.com>
12834
12835         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
12836         (struct _Unwind_Context): Expand br_loc to hold it.
12837         (uw_frame_state_for): Handle leaf functions better.
12838         (uw_update_reg_address): Update for br_loc change.
12839
12840 2001-08-18  Richard Henderson  <rth@redhat.com>
12841
12842         * crtstuff.c: Move list heads before code that uses them.
12843         (__JCR_LIST__): Remove initial null.
12844         (frame_dummy, __frame_dummy): Do java registration here ...
12845         (__do_global_ctors_aux): ... not here.
12846
12847         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
12848         (__do_global_dtors_aux): Update to match.
12849         (__JCR_LIST__, __do_jv_register_classes): New.
12850         (.init): Call it.
12851         * config/ia64/crtend.asm (__JCR_END__): New.
12852         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
12853         instead of an indirect LTOFF22 reloc.
12854
12855 2001-08-18  Richard Henderson  <rth@redhat.com>
12856
12857         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
12858         * regclass.c (init_reg_sets_1): Fix typo.
12859         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
12860         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
12861         (ia64_compute_frame_size): Make ar.unat live when in use.
12862         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
12863         for ar.pfs; remove ar.unat handling.
12864         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
12865         call-saved.
12866         (PREDICATE_CODES): Add ar_pfs_reg_operand.
12867         * config/ia64/ia64-protos.h: Update decls.
12868         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
12869         (sibcall_pic): Likewise.
12870
12871 2001-08-18  Richard Henderson  <rth@redhat.com>
12872
12873         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
12874         pred_rel_mutex when searching for insn_group_barrier.
12875         * config/ia64/ia64.md (cycle_display): Combine the expander
12876         and insn patterns.
12877
12878         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
12879         bit before asm as needed.
12880
12881 2001-08-18  Richard Henderson  <rth@redhat.com>
12882
12883         * timevar.def (TV_MACH_DEP): New.
12884         * toplev.c (rest_of_compilation): Use it.
12885         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
12886
12887 2001-08-18  Zack Weinberg  <zackw@panix.com>
12888
12889         * unwind-dw2.c (execute_stack_op): Add default aborts to
12890         the inner switches to prevent warnings.
12891
12892 2001-08-18  Richard Henderson  <rth@redhat.com>
12893
12894         * timevar.h (struct timevar_time_def): Change element type to float.
12895         (ticks_to_msec, clocks_to_msec): Likewise.
12896         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
12897         (get_time): Likewise.
12898         (timevar_print): Adjust zero check and printing to match.
12899
12900 2001-08-18  Zack Weinberg  <zackw@panix.com>
12901
12902         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
12903         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
12904         Eliminate overfull or underfull hboxes.
12905
12906 2001-08-18  Zack Weinberg  <zackw@panix.com>
12907
12908         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12909
12910 2001-08-18  Zack Weinberg  <zackw@panix.com>
12911
12912         * haifa-sched.c: Convert to target hooks.  Macros replaced
12913         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
12914         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
12915         MD_SCHED_FINISH, and HAVE_cycle_display.
12916         * target-def.h (TARGET_SCHED_ADJUST_COST,
12917         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
12918         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
12919         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
12920         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
12921         New hook #defines to be overridden.
12922         (TARGET_SCHED): Bring them all together.
12923         (TARGET_INITIALIZER): Update.
12924         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
12925         instead of 'struct rtx_def *' throughout.
12926         (struct sched): New set of hooks for the scheduler.
12927         * Makefile.in (haifa-sched.o): Depend on target.h.
12928         * doc/tm.texi: Document the new scheduler hooks, together in
12929         their own section, instead of scattered around.
12930         Fix a bunch of underfull/overfull hboxes.
12931
12932         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
12933         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
12934         sparc.h: Don't define any of the old scheduler macros.
12935
12936         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
12937         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
12938         sparc.c: Create hook functions from code extracted from
12939         corresponding target header, or make existing hooks static, as
12940         appropriate.  Set the appropriate entries in targetm.
12941
12942         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
12943         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
12944         rs6000-protos.h, s390-protos.h, sparc-protos.h:
12945         Remove prototypes for functions which are now static.
12946
12947         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
12948         related gunk; the Haifa scheduler is now the only choice.
12949
12950 2001-08-18  Zack Weinberg  <zackw@panix.com>
12951
12952         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
12953         * genopinit.c: Put floating point divide insns in sdiv_optab.
12954         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
12955         * config/gofast.h, config/c4x/c4x.h,
12956         config/ia64/hpux_longdouble.h, config/mips/mips.h,
12957         config/pa/long_double.h, config/rs6000/sysv4.h,
12958         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
12959         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
12960         (init_optabs): Use init_optabv for overflow-trapping optabs.
12961         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
12962         cmp_optab RTX codes so have_insn_for can find them.
12963
12964         * optabs.c (expand_simple_binop, expand_simple_unop,
12965         have_insn_for, gen_sub3_insn): New interfaces.
12966         * expr.h: Prototype new functions.
12967         (enum optab_methods): Move here from optabs.h.
12968
12969         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
12970         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
12971         Use new functions instead of working directly with optabs.
12972         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
12973         unroll.c: Don't include optabs.h.
12974         * caller-save.c, combine.c, function.c, stmt.c: Just include
12975         insn-codes.h, not optabs.h.
12976         * Makefile.in: Update dependencies.
12977
12978         * combine.c (make_compound_operation, simplify_comparison):
12979         Fix typos testing for this or that instruction.
12980
12981 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
12982
12983         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
12984         generating libgcc.a.
12985
12986 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12987
12988         * except.c (TYPE_HASH): Delete.
12989
12990         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
12991         HOST_WIDE_INT.
12992
12993         * tree.c (TYPE_HASH): Delete.
12994
12995         * tree.h (TYPE_HASH): Define.
12996
12997 2001-08-18  Graham Stott  <grahams@redhat.com>
12998
12999         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
13000         define_split.
13001         (adddi3_internal_2+2): Likewise.
13002         (eh_set_lr_di+1): Likewise.
13003
13004 2001-08-17  Richard Henderson  <rth@redhat.com>
13005
13006         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
13007         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
13008         * dwarf2asm.c: ... here.
13009         * dwarfout.c: Remove them.
13010
13011         * varasm.c (assemble_integer): Add align parameter.
13012         (assemble_real, output_constant, output_constructor): Likewise.
13013         * output.h: Update decls.
13014         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
13015         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
13016         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
13017         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
13018         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
13019         Update all callers.
13020
13021         * final.c (end_final): Abort profile block generation if we
13022         haven't layed it out properly.
13023         * output.h (assemble_eh_integer): Remove stale decl.
13024         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
13025         (min_align): New.
13026         (assemble_integer): Handle unaligned data.
13027         (assemble_real): Abort on unaligned data.
13028         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
13029         anything useful.
13030         (default_dtor_section_asm_out_destructor): Use assemble_align.
13031         (default_named_section_asm_out_constructor): Likewise.
13032         (default_ctor_section_asm_out_constructor): Likewise.
13033         * config/darwin.c (machopic_asm_out_constructor): Likewise.
13034         (machopic_asm_out_destructor): Likewise.
13035         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
13036         (nextstep_asm_out_destructor): Likewise.
13037         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
13038         (vms_asm_out_destructor): Likewise.
13039
13040 2001-08-17  Richard Henderson  <rth@redhat.com>
13041
13042         * config/mips/iris6.h (TARGET_IRIX6): New.
13043         (current_section_name, current_section_flags): New.
13044         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
13045         (MAX_OFILE_ALIGNMENT): New.
13046         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
13047         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
13048         (copy_file_data): Split out from
13049         (mips_asm_file_end): ... here.
13050         (mips_asm_file_start): Remove extra .section directive.  Use
13051         tmpfile instead of mips_make_temp_file.
13052         (mips_unique_section): Use const char * as needed for warnings.
13053         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
13054         re-add align parameter.
13055         (iris6_asm_named_section): New.
13056         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
13057         (iris6_asm_output_align, iris6_section_align_1): New.
13058         (iris6_asm_file_start, iris6_asm_file_end): New.
13059         * config/mips/mips-protos.h: Update decls.
13060
13061 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
13062
13063         * doc/install.texi (Install GCC): Add links to build status pages.
13064         (Specific): Ditto.
13065         (Final install): Ditto; request updates for specific info
13066
13067 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
13068
13069         * cpperror.c (print_location):  Don't take a file name; use the
13070         line map instead.
13071         (_cpp_begin_message): Similarly.
13072         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
13073         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
13074         (cpp_pedwarn_with_file_and_line): Remove.
13075         * cppfiles.c (stack_include_file): Update; set filename to stdin
13076         here when appropriate.
13077         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
13078         (_cpp_begin_message): Don't take a file name.
13079         * cppinit.c: Add comment.
13080         * cpplex.c: Fix end-of-directive indicator.
13081         * cpplib.c: Don't include intl.h.
13082         (run_directive, do_diagnostic): Update.
13083         (do_line): Update to not use nominal_fname.
13084         (cpp_push_buffer): Don't take a filename.
13085         * cpplib.h (struct ht): Remove.
13086         (cpp_push_buffer): Don't take a filename.
13087         (cpp_pedwarn_with_file_and_line): Remove.
13088         * cppmacro.c (struct cpp_macro): Remove file.
13089         (builtin_macro): Update.
13090         (_cpp_create_definition): Update.
13091         * cppmain.c: Correct comment.
13092         * fix-header.c (read_scan_file): Update.
13093
13094 2001-08-17  Kazu Hirata  <kazu@hxi.com>
13095
13096         * sbitmap.c: Fix comment formatting.
13097         * sched-deps.c: Likewise.
13098         * sibcall.c: Likewise.
13099         * simplify-rtx.c: Likewise.
13100         * ssa.c: Likewise.
13101         * ssa-ccp.c: Likewise.
13102         * stor-layout.c: Likewise.
13103         * timevar.c: Likewise.
13104         * toplev.c: Likewise.
13105         * unwind-dw2.c: Likewise.
13106         * unwind-dw2-fde.c: Likewise.
13107         * varasm.c: Likewise.
13108
13109 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13110
13111         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
13112         or larger than an integer in memory.
13113
13114 2001-08-17  Zack Weinberg  <zackw@panix.com>
13115
13116         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
13117         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
13118         * rtl.h: Don't forward-declare union tree_node here.  Don't
13119         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
13120         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13121         and tree respectively.
13122         * tree.h: Don't forward-declare struct rtx_def here.  Don't
13123         typedef tree here.  Change all uses of struct rtx_def *,
13124         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
13125         and tree respectively.
13126
13127 2001-08-17  Richard Henderson  <rth@redhat.com>
13128
13129         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
13130         config/mips/openbsd.h: Fix typos last change.
13131
13132 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13133
13134         * doc/invoke.texi (Optimize Options): The default for
13135         -finline-limit is 600.
13136
13137 2001-08-17  Richard Henderson  <rth@redhat.com>
13138
13139         * varasm.c (text_section): Allow TEXT_SECTION to override the
13140         printing of TEXT_SECTION_ASM_OP.
13141         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
13142         (DATA_SECTION, BSS_SECTION): Remove.
13143         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
13144         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
13145         Rename from s/_NAME//.
13146         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
13147         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
13148         (TEXT_SECTION): ... here.  New.
13149         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
13150         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
13151         * config/mips/openbsd.h: Likewise.
13152         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
13153         (mips_asm_file_end): Likewise test.
13154         (mips_output_function_epilogue): Likewise.  Switch back to data
13155         section after emitting the function.
13156
13157         * doc/tm.texi (Sections): Document TEXT_SECTION.
13158
13159 2001-08-17  Richard Henderson  <rth@redhat.com>
13160
13161         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
13162         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
13163
13164 2001-08-17  Richard Henderson  <rth@redhat.com>
13165
13166         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
13167         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
13168         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
13169         Add aligned attribute.
13170
13171 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
13172
13173         * config/sh/sh.md: Add modes to unspecs in first insn to match
13174         those in the second.
13175
13176         * Makefile.in: Fix collect2 copy for Cygwin.
13177
13178 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
13179
13180         Install the proper patch.
13181         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13182         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13183         (expand_function_start): Likewise.
13184         * stmt.c (expand_decl): Likewise.
13185         * varasm.c (make_decl_rtx): Likewise.
13186
13187 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
13188
13189         * final.c: Undo my previous accidental checkin.
13190         * output.h: Likewise.
13191         * tm.texi: Likewise.
13192
13193 2001-08-16  Richard Henderson  <rth@redhat.com>
13194
13195         * varasm.c (named_section_flags): Remove align parameter.
13196         * varasm.c, dwarf2out.c: Update all callers.
13197         * output.h: Update prototypes.
13198
13199         * target.h (target.asm_out.named_section): Remove align parameter.
13200         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
13201         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
13202         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
13203         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
13204         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
13205
13206         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
13207         (get_named_section_flags, set_named_section_flags): New.
13208         (named_section_flags): Use them.
13209         (named_section): Do decl vs section flags check here...
13210         (default_section_type_flags): ... not here.
13211         (init_varasm_once): Create in_named_htab.
13212         (resolve_unique_section): Mark reloc unused.
13213
13214 2001-08-16  Richard Henderson  <rth@redhat.com>
13215
13216         * varasm.c (force_const_mem): Keep pool alignment in bits.
13217         (output_constant_pool): Use assemble_align.
13218
13219 2001-08-16  Zack Weinberg  <zackw@panix.com>
13220
13221         * doc/tm.texi: Remove extra @table command.
13222
13223 2001-08-16  Zack Weinberg  <zackw@panix.com>
13224
13225         * final.c (shorten_branches): Clear the end of the label_align
13226         array only if we made it larger.  Break up messy expressions
13227         for clarity.
13228
13229         * diagnostic.c (internal_error): Check for error recursion
13230         before doing ICE suppression.
13231
13232         * timevar.c: Timing variables now count in milliseconds.
13233         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
13234         (get_time): Not here.
13235         (timevar_print): Don't print any timer whose user, cpu, and
13236         wall times are all zero as displayed.
13237         * timevar.h: Update comment aboout units.  Make timevar
13238         counters unsigned.
13239
13240 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
13241
13242         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
13243         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
13244         (expand_function_start): Likewise.
13245         * stmt.c (expand_decl): Likewise.
13246         * varasm.c (make_decl_rtx): Likewise.
13247
13248 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
13249
13250         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
13251         (finalize_record_size): Don't set TYPE_USER_ALIGN.
13252
13253 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13254
13255         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
13256         variables.
13257
13258 2001-08-16  Andreas Jaeger  <aj@suse.de>
13259
13260         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
13261         prototype.
13262
13263 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
13264
13265         * rtl.h (only_sets_cc0_p): New prototype.
13266         * jump.c (sets_cc0_p): Handle INSN.
13267         (only_sets_cc0_p): New function.
13268         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
13269         (tidy_fallthru_edge): Likewise.
13270         * integrate.c (copy_insn_list): Likewise.
13271         * unroll.c (unroll_loop): Likewise.
13272         (copy_loop_body): Likewise.
13273
13274 2001-08-15  Jason Eckhardt  <jle@redhat.com>
13275
13276         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
13277
13278 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
13279
13280         * predict.c (struct block_info_def): Remove nvisited.
13281         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
13282         (estimate_bb_frequencies): Call mark_dfs_back_edges.
13283
13284         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
13285         (ix86_adjust_cost): Teach scheduler that latency to load operand can
13286         be masked.
13287
13288 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
13289
13290         * predict.def: Update hitrates.
13291
13292 2001-08-15  Richard Henderson  <rth@redhat.com>
13293
13294         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
13295
13296 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
13297
13298         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
13299         note from its associated jump.
13300
13301 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
13302
13303         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
13304         also on 64-bit s390x targets.
13305
13306 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
13307
13308         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
13309         function.
13310         (arm_expand_prologue): Handled nested functions which take a
13311         variable argument list.
13312         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
13313         macro with an invocation of
13314         arm_compute_initial_elimination_offset.
13315         * config/arm/arm-protos.h: Prototype
13316         arm_compute_initial_elimination_offset.
13317
13318 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13319
13320         * doc/install.texi (Specific, avr): Fix markup.
13321         (Specific, c4x): Ditto.
13322
13323 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
13324
13325         * predict.c (dump_prediction): Change `bool' parameter to `int'.
13326
13327 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
13328
13329         * Makefile.in (OBJS): Add rtl-error.o
13330         (rtl-error.o): New rule.
13331         (diagnostic.o): Adjust dependency.
13332         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
13333         error_for_asm, _fatal_insn, _fatal_insn_not_found,
13334         warning_for_asm): Move to...
13335         rtl-error.c: ...here.  New file.
13336
13337 2001-08-14  Richard Henderson  <rth@redhat.com>
13338
13339         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
13340         if USING_SJLJ_EXCEPTIONS.
13341
13342 2001-08-14  Steve Ellcey <sje@cup.hp.com>
13343
13344         * tlink.c (scan_linker_output): Check string for unsatisfied in
13345         addition to undefined and unresolved.
13346
13347 2001-08-14  Graham Stott  <grahams@redhat.com>
13348
13349         * libgcc2.c (*): Replace EH_FRAME_SECTION with
13350         EH_FRAME_SECTION_NAME.
13351
13352 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
13353
13354         * genattrtab.c (simplify_test_exp_in_temp): New function.
13355         (simplify_test_exp): Avoid explicit use of temporary obstack.
13356         (simplify_cond, insert_right_side, evaluate_eq_attr,
13357         simplify_and_tree, simplify_or_tree, eliminate_known_true):
13358         Use simplify_test_exp_in_temp.
13359         (optimize_attrs): Iterate until expression stabilizes.
13360
13361 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
13362
13363         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
13364         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
13365
13366 2001-08-13  Richard Henderson  <rth@redhat.com>
13367
13368         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
13369         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
13370         * config/arm/conix-elf.h: Likewise.
13371
13372 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13373
13374         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
13375         in gcc.c.
13376         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
13377
13378         * gcse.c (hash_scan_set): Expressions that are set as part of
13379         jump instructions are not available.
13380
13381 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
13382
13383         * config/s390/s390.c (print_operand, s390_function_prologue,
13384         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
13385
13386 2001-08-13  Richard Henderson  <rth@redhat.com>
13387
13388         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
13389         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
13390         * doc/tm.texi (Exception Region Output): Document it.
13391
13392 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
13393
13394         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
13395         DWARF2 instead of stabs by default.
13396
13397 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13398
13399         * config/rs6000/rs6000.c: Include optabs.h.
13400
13401 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
13402
13403         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
13404         save/restore routines.
13405         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
13406
13407 2001-08-13  Andreas Jaeger  <aj@suse.de>
13408
13409         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
13410         the english is correct.
13411
13412 2001-08-13  Zack Weinberg  <zackw@panix.com>
13413
13414         * expr.h: Split out optab- and libfunc-related code to...
13415         * optabs.h, libfuncs.h: ... these new headers.
13416
13417         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
13418         (OPTABS_H): New.
13419         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
13420         dependencies.
13421         * mkconfig.sh: Don't include insn-codes.h from config.h.
13422
13423         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
13424         enum insn_code is available.  Move reload_in_optab and
13425         reload_out_optab array declarations to optabs.h.
13426         * regmove.c (gen_add3_insn): Move to optabs.c, export from
13427         there, prototype in expr.h.
13428         * gencodes.c: Cleanup: zap global variables, don't use
13429         printf where puts will do, don't bother defining MAX_INSN_CODE
13430         which nothing uses, let CODE_FOR_nothing get its value implicitly.
13431
13432         * genemit.c, genopinit.c: Include optabs.h in generated file.
13433         * genoutput.c: Include insn-codes.h in generated file.
13434         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
13435         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
13436         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
13437         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
13438         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
13439         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
13440         Include optabs.h.
13441         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
13442         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
13443         config/m88k/m88k.c, config/sparc/sparc.c:
13444         Include libfuncs.h.
13445         * reload.c: Include expr.h and optabs.h before reload.h.
13446         * config/alpha/alpha.c: Include tree.h before reload.h.
13447         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
13448         and reload.h in that order.
13449         * config/sparc/sparc.c: Include debug.h.
13450         * recog.c: Include insn-codes.h.
13451
13452 2001-08-13  Andreas Jaeger  <aj@suse.de>
13453
13454         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
13455         s390*linux.
13456
13457 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
13458
13459         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
13460         * gcc.c (init_spec): Fix typo in comment.
13461         * varasm.c (data_section): Fix typo in comment.
13462
13463 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
13464
13465         * predict.c (dump_prediction): New argument "USED".
13466         (combine_predictions_for_insn): Determine the used heuristics,
13467         output the case no heuristic applied.
13468         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
13469
13470 2001-08-13  Andreas Jaeger  <aj@suse.de>
13471
13472         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
13473         register %rip.
13474
13475 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13476
13477         * jump.c: Fix formatting.
13478
13479 2001-08-13  Kazu Hirata  <kazu@hxi.com>
13480
13481         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
13482         length.
13483
13484 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
13485
13486         * loop.c (check_dbra_loop): Use condjump_label to compute
13487         jump_label.
13488
13489         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
13490         to better document the files they're in.
13491
13492 2001-08-12  Zack Weinberg  <zackw@panix.com>
13493
13494         * recog.h (struct insn_operand_data): Shrink 'mode' field
13495         to 16 bits.
13496
13497 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13498
13499         * gcc.c: Fix comment formatting.
13500         * gccspec.c: Likewise.
13501         * gcov.c: Likewise.
13502         * gcse.c: Likewise.
13503         * genemit.c: Likewise.
13504         * gengenrtl.c: Likewise.
13505         * genrecog.c: Likewise.
13506         * gensupport.c: Likewise.
13507         * ggc-page.c: Likewise.
13508         * global.c: Likewise.
13509         * graph.c: Likewise.
13510         * ifcvt.c: Likewise.
13511         * integrate.c: Likewise.
13512         * lcm.c: Likewise.
13513         * libgcc2.c: Likewise.
13514         * loop.c: Likewise.
13515         * mbchar.c: Likewise.
13516         * optabs.c: Likewise.
13517         * predict.c: Likewise.
13518         * prefix.c: Likewise.
13519         * profile.c: Likewise.
13520         * protoize.c: Likewise.
13521         * real.c: Likewise.
13522         * recog.c: Likewise.
13523         * regclass.c: Likewise.
13524         * regmove.c: Likewise.
13525         * reg-stack.c: Likewise.
13526         * reload1.c: Likewise.
13527         * resource.c: Likewise.
13528         * rtlanal.c: Likewise.
13529         * rtl.c: Likewise.
13530
13531 2001-08-12  Kazu Hirata  <kazu@hxi.com>
13532
13533         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
13534         a tree representing a constant is passed to the macro.
13535
13536 2001-08-12  Richard Henderson  <rth@redhat.com>
13537
13538         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
13539         (rs6000_elf_asm_out_destructor): New.
13540         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
13541         (DTORS_SECTION_ASM_OP): Remove.
13542         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13543         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
13544
13545 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
13546
13547         Revert:
13548         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13549         * gcc.c (set_collect_gcc_options): New function, split out from
13550         main.
13551         Ignore elided switches.
13552         (do_spec_1): Invoke before executing command.
13553         (set_input): Export.
13554         Move declaration ...
13555         * gcc.h (set_input): ... here.
13556         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13557         file.
13558
13559 2001-08-12  Richard Henderson  <rth@redhat.com>
13560
13561         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
13562         thinko wrt TARGET_RELOCATABLE.
13563
13564 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
13565
13566         * fix-header.c (cb_file_change): Update prototype.
13567
13568 2001-08-11  Zack Weinberg  <zackw@panix.com>
13569
13570         * toplev.c (set_float_handler): Make static.
13571         * toplev.h: Don't prototype set_float_handler.
13572
13573         * simplify-rtx.c: Don't include setjmp.h.
13574         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
13575         New functions.
13576         (simplify_unary_operation, simplify_binary_operation): Use them,
13577         via do_float_handler.
13578
13579         * fold-const.c: Don't include setjmp.h.
13580         (exact_real_inverse_1): New function.
13581         (exact_real_inverse): Use it, via do_float_handler.
13582
13583         * varasm.c: Don't include setjmp.h.
13584         (assemble_real_1): New function.
13585         (assemble_real): Use it, via do_float_handler.
13586         Call internal_error if we get a trap here.
13587
13588         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
13589         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
13590
13591 2001-08-11  Zack Weinberg  <zackw@panix.com>
13592
13593         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
13594         STACK_BOUNDARY if not already defined.
13595
13596         * calls.c, function.c, reload1.c, explow.c: Don't default
13597         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
13598         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
13599
13600         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
13601         to run-time test.
13602
13603         * doc/tm.texi: Document that STACK_BOUNDARY is required;
13604         clarify difference between it and PREFERRED_STACK_BOUNDARY.
13605
13606 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13607
13608         * cppmacro.c (enter_macro_context): Push macro expansions even
13609         if empty.
13610
13611 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13612
13613         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
13614         (rs6000_elf_section_type_flags): Actually return a value.
13615
13616 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13617
13618         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
13619         Clean up code: add missing comments and prototypes, fix warnings,
13620         remove obsolete code, fix spacing to conform to coding style.
13621
13622 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
13623
13624         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
13625         and TARGET_ASM_CLOSE_PAREN.
13626         (regclass_map): CC register belongs to class NO_REGS.
13627         (legitimize_pic_address): Don't generate unnecessary moves
13628         (to avoid confusing loop optimization).
13629         (check_and_change_labels): Replace jump_long by indirect_jump.
13630         (s390_final_chunkify): Don't start a new literal pool on section
13631         switch in 64-bit code.
13632         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
13633
13634         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
13635         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
13636         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
13637         modes correctly.
13638         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
13639         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
13640         (CONST_COSTS): Fixed incorrect costs.
13641
13642         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
13643         Use emit_jump instead of emit_jump_insn (gen_jump).
13644         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
13645         (to avoid confusing flow analysis).
13646         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
13647         (casesi, casesi_jump): New.
13648         (jump_long): Removed.  Functionality merged into indirect_jump.
13649         (indirect_jump): Accept address_operand, not just register_operand.
13650         (cjump_long, icjump_long): Use same logic as indirect_jump.
13651         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
13652         Fixed broken setjmp/longjmp handling.
13653         (do_builtin_setjmp_setup): Removed.
13654
13655         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
13656         broken GNU as versions that don't accept .quad with large
13657         negative values.  Use hexadecimal output instead.
13658         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
13659         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
13660         FUNCTION_EPILOGUE): Removed.  Now in targetm.
13661
13662         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
13663
13664         * config/s390/fixdfdi.h: Add missing copyright statement.
13665         Fix type conflicts on 64-bit.  Add missing SFmode routines.
13666
13667         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
13668         email address.
13669
13670 2001-08-11  Richard Henderson  <rth@redhat.com>
13671
13672         * rtl.h (REG_EH_RETHROW): Remove.
13673         * rtl.c (reg_note_name): Update.
13674         * combine.c (distribute_notes): Don't check for it.
13675
13676 2001-08-11  Richard Henderson  <rth@redhat.com>
13677
13678         * combine.c (distribute_notes): Place REG_SETJMP.
13679
13680 2001-08-11  Richard Henderson  <rth@redhat.com>
13681
13682         * doc/extend.texi (Arrays and pointers implementation): Discourage
13683         relying on sign-extension of pointers.
13684
13685 2001-08-11  H.J. Lu <hjl@gnu.org>
13686
13687         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13688         in_dtors.
13689         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13690         RDATA_SECTION_ASM_OP.
13691
13692 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13693
13694         * doc/install.texi (Specific, c4x): Fix cross-reference to the
13695         main manual to work both for info and HTML versions.
13696
13697 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13698             Matt Kraai <kraai@alumni.carnegiemellon.edu>
13699
13700         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13701         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13702         (struct cpp_pool): New member first.
13703         * cppinit.c (append_include_chain): Plug memory leaks.
13704         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13705         Allocate pragma structures from the (aligned) macro pool to
13706         avoid leaking memory.
13707         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13708         so we don't leak memory.
13709         * hashtable.c (ht_destroy): New.
13710         * hashtable.h (ht_destroy): New.
13711
13712 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
13713             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13714
13715         * c-lex.c (map): Make const.
13716         (cb_file_change): Update for callback passing a line map.
13717         Don't assume we have a previous map.  Remove sanity check
13718         about popping too many files.
13719         * cpperror.c (print_location): Make map const.
13720         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13721         (cpp_make_system_header): Similarly.
13722         (search_from): Similarly.
13723         (_cpp_execute_include): Don't remember where we came from.
13724         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13725         (struct cpp_reader): Make map const.
13726         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13727         * cpplib.c (do_line): Update; line maps now hold sysp.
13728         (cpp_push_buffer): Similarly.
13729         (_cpp_do_file_change): Similarly; callback with map instead.
13730         (cpp_get_line_maps): Constify return value.
13731         (_cpp_pop_buffer): Update.
13732         * cpplib.h (struct cpp_file_change): Remove.
13733         (struct cpp_callbacks): Update.
13734         (cpp_get_line_maps): Constify return value.
13735         * cppmacro.c (_cpp_create_definition): Update.
13736         * cppmain.c (struct printer): Constify map.
13737         (maybe_print_line): Similarly.
13738         (print_line): Similarly.  Deduce flags 1 and 2 here.
13739         (cb_file_change): Update.
13740         * line-map.c (free_line_maps): Warn regardless.
13741         (add_line_map): Return pointer to const.  When passed NULL to_file
13742         with LC_LEAVE, use the obvious values for the return point so the
13743         caller doesn't have to figure them out.
13744         (lookup_line): Return pointer to const.
13745         (print_containing_files): Take pointer to const.
13746         * line-map.h (struct line_map): New members reason, sysp.
13747         (add_line_map): Return pointer to const.
13748         (lookup_line): Similarly.
13749         (print_containing_files): Take pointer to const.
13750
13751 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
13752             Richard Henderson  <rth@redhat.com>
13753
13754         * regmove.c (regmove_optimize): Avoid setting a register twice in
13755         a parallel set.
13756
13757 2001-08-10  Richard Henderson  <rth@redhat.com>
13758
13759         * doc/extend.texi (Arrays and pointers implementation): Document
13760         behavior of pointer/integer conversion.
13761
13762 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
13763
13764         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13765
13766 2001-08-10  Richard Henderson  <rth@redhat.com>
13767
13768         * doc/extend.texi (C Implementation): New chapter.
13769         * doc/gcc.texi (Top): Link it in.
13770
13771 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
13772
13773         * doc/install.texi (Specific): Fix CVS merge botch.
13774
13775 2001-08-10  Richard Henderson  <rth@redhat.com>
13776
13777         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
13778         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
13779
13780 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
13781
13782         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
13783         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
13784         this macro is now required.
13785
13786         * cselib.c (cselib_process_insn), flow.c (propagate_block),
13787         loop.c (find_and_verify_loops), reload.c (reload): Check
13788         for rtx code of CALL_INSN, not CALL, when deciding if we
13789         need to check for REG_SETJMP note.
13790
13791         * gcse.c (compute_hash_table, compute_store_table): Update
13792         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
13793         logic.
13794
13795         * config/avr/avr.c: Fix typo.
13796         * config/convex/convex.c (expand_movstr): Use adjust_address.
13797         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
13798         variable.
13799         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
13800         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
13801         Fix typo.
13802         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
13803         Do define STACK_BOUNDARY.
13804         * config/i370/i370.c: Include expr.h.
13805         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
13806         config/pa/som.h, config/v850/v850.h: Take in_ctors and
13807         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
13808         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
13809         * config/m88k/m88k.c: Include c-tree.h after expr.h.
13810         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
13811         * config/romp/romp.c: Include expr.h after tree.h.
13812         Include toplev.h.
13813         (output_fpop): Use xmalloc, not oballoc.
13814         * config/we32k/we32k.c: Include expr.h.
13815
13816 2001-08-10  Kazu Hirata  <kazu@hxi.com>
13817
13818         * config/h8300/h8300.h: Fix formatting.
13819
13820 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13821
13822         * c-common.h (RETURN_NULLIFIED_P): Lose.
13823         * c-semantics.c (genrtl_return_stmt): Don't check it.
13824
13825 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13826
13827         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
13828         (mips_annotate_frame_insn): New function.
13829         (mips_emit_frame_related_store): New function.
13830         (save_restore_insns): Don't mark instructions that set up the base
13831         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
13832         the store instructions instead.
13833         (mips_expand_prologue): If the stack size is moved into a temporary
13834         register, do not mark that move as frame-related.  Add a
13835         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
13836
13837 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13838
13839         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
13840         stack slot as unchanging if current_function_calls_eh_return.
13841
13842 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
13843
13844         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
13845         access the second half of the TFmode scratch operand.
13846
13847 2001-08-10  Anthony Green  <green@redhat.com>
13848
13849         * java/class.c (emit_register_classes): Conditionalize code on
13850         JCR_SECTION_NAME.
13851
13852 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13853
13854         * doc/install.texi (Specific, avr): Fix cross-reference to the
13855         main manual to work both for info and HTML versions.
13856
13857 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13858
13859         * stmt.c (expand_null_return_1): Remove code to generate simple returns
13860         and "use_goto" argument.
13861         (expand_null_return, expand_value_return): Update all callers.
13862         * function.c (expand_function_end): Remove code to generate simple
13863         return.
13864         * config/vax/vax.md (epilogue): New expander for function return.
13865         * doc/md.texi (epilogue): Remove "if defined".
13866
13867 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
13868
13869         * Makefile.in: Partially revert my previous change:
13870         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
13871         of the hashtab.o and safe-ctype.o rules.
13872
13873 2001-08-09  Richard Henderson  <rth@redhat.com>
13874
13875         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
13876         (USE_COLLECT2): Remove duplicate definition.
13877         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
13878         (use_collect2): Remove dead code.
13879         * configure.in (use_collect2): Remove will_use_collect2 and
13880         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
13881         * configure: Rebuild.
13882
13883         * target.h (targetm.asm_out.constructor): New.
13884         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
13885         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
13886         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
13887         * varasm.c (in_ctors, in_dtors): New.
13888         (assemble_constructor, assemble_destructor): Remove.
13889         (default_stabs_asm_out_destructor): New.
13890         (default_named_section_asm_out_destructor): New.
13891         (dtors_section, default_dtor_section_asm_out_destructor): New.
13892         (default_stabs_asm_out_constructor): New.
13893         (default_named_section_asm_out_constructor): New.
13894         (ctors_section, default_ctor_section_asm_out_constructor): New.
13895         * output.h: Update declarations.
13896         * c-decl.c (c_expand_body): Use target hooks instead of
13897         assemble_constructor and assemble_destructor.
13898         * profile.c (output_func_start_profiler): Likewise.
13899         * objc/objc-act.c (finish_objc): Likewise.
13900         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
13901         for the constructor.
13902         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
13903
13904         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
13905         (DTORS_SECTION_ASM_OP): Likewise.
13906         (__CTOR_LIST__): Use attribute section when possible.
13907         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
13908
13909         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
13910         ASM_OUTPUT_CONSTRUCTOR.
13911
13912         * config/darwin.c (machopic_asm_out_constructor): New.
13913         (machopic_asm_out_destructor): New.
13914         * config/darwin-protos.h: Update declarations.
13915         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13916         (ASM_OUTPUT_DESTRUCTOR): Remove.
13917         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13918         * config/nextstep.c (nextstep_asm_out_constructor): New.
13919         (nextstep_asm_out_destructor): New.
13920         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13921         (ASM_OUTPUT_DESTRUCTOR): Remove.
13922         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13923         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
13924         ASM_OUTPUT_*STRUCTOR.
13925         * config/i386/aix386ng.h: Likewise.
13926
13927         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
13928         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
13929         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13930         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13931         * config/lynx.h: Likewise.
13932         * config/netware.h: Likewise.
13933         * config/psos.h: Likewise.
13934         * config/alpha/alpha-interix.h: Likewise.
13935         * config/alpha/elf.h: Likewise.
13936         * config/arc/arc.h: Likewise.
13937         * config/arm/aof.h: Likewise.
13938         * config/arm/coff.h: Likewise.
13939         * config/arm/elf.h: Likewise.
13940         * config/c4x/c4x.h: Likewise.
13941         * config/h8300/h8300.h: Likewise.
13942         * config/i386/cygwin.h: Likewise.
13943         * config/i386/djgpp.h: Likewise.
13944         * config/i386/i386-coff.h: Likewise.
13945         * config/i386/i386-interix.h: Likewise.
13946         * config/i386/sco5.h: Likewise.
13947         * config/i386/vsta.h: Likewise.
13948         * config/i386/win32.h: Likewise.
13949         * config/i960/i960-coff.h: Likewise.
13950         * config/ia64/sysv4.h: Likewise.
13951         * config/m68hc11/m68hc11.h: Likewise.
13952         * config/m68k/coff.h: Likewise.
13953         * config/m68k/mot3300.h: Likewise.
13954         * config/m88k/m88k.h: Likewise.
13955         * config/mcore/mcore-pe.h: Likewise.
13956         * config/mcore/mcore.h: Likewise.
13957         * config/mips/elf.h: Likewise.
13958         * config/mips/elf64.h: Likewise.
13959         * config/mips/iris6.h: Likewise.
13960         * config/pa/pa64-hpux.h: Likewise.
13961         * config/rs6000/sysv4.h: Likewise.
13962         * config/sh/sh.h: Likewise.
13963         * config/sparc/litecoff.h: Likewise.
13964
13965         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
13966         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13967         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13968         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13969         (ASM_OUTPUT_DESTRUCTOR): Remove.
13970         * config/a29k/a29k.c: Move include of tree.h.
13971         * config/a29k/udi.h: Delete file.
13972         * config/alpha/alpha.c (vms_asm_out_constructor): New.
13973         (vms_asm_out_destructor): New.
13974         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
13975         (EXTRA_SECTION_FUNCTIONS): Likewise.
13976         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13977         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13978         * config/c4x/c4x.c: Move include of tree.h.
13979         * config/clipper/clipper.c (clix_asm_out_constructor): New.
13980         (clix_asm_out_destructor): New.
13981         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13982         (ASM_OUTPUT_DESTRUCTOR): Remove.
13983         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13984         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13985         (TARGET_ASM_CONSTRUCTOR): New.
13986         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
13987         (sco_asm_out_constructor): New.
13988         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
13989         * config/i386/svr3gas.h: Remove stack grows up code.
13990         Remove code duplicated from i386/sysv3.h.
13991         (TARGET_ASM_CONSTRUCTOR): New.
13992         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13993         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
13994         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13995         (TARGET_ASM_CONSTRUCTOR): New.
13996         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
13997         (m68hc11_asm_out_destructor): New.
13998         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
13999         (TARGET_ASM_DESTRUCTOR): New.
14000         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
14001         * config/m68k/dpx2.h: Properly undef all the bits inherited from
14002         config/svr3.h pertaining to section manipulation.
14003         * config/m68k/dpx2g.h: Remove #if 0 code.
14004         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
14005         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
14006         (ASM_OUTPUT_CONSTRUCTOR): Remove.
14007         (TARGET_ASM_CONSTRUCTOR): New.
14008         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
14009         (m88k_svr3_asm_out_constructor): New.
14010         (m88k_svr3_asm_out_destructor): New.
14011         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14012         (ASM_OUTPUT_DESTRUCTOR): Remove.
14013         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14014         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
14015         * config/rs6000/aix.h: Likewise.
14016         * config/mips/rtems64.h: Don't undef removed constructor related bits.
14017         * config/mips/vxworks.h: Likewise.
14018         * config/rs6000/lynx.h: Likewise.
14019         * config/sh/elf.h: Likewise.
14020         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
14021         (DTORS_SECTION_ASM_OP): New.
14022         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14023         (ASM_OUTPUT_DESTRUCTOR): Remove.
14024         * config/sparc/sol2-sld-64.h: Likewise.
14025         * config/vax/vax.c (vms_asm_out_constructor): New.
14026         (vms_asm_out_destructor): New.
14027         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
14028         (ASM_OUTPUT_DESTRUCTOR): Remove.
14029         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
14030
14031         * doc/tm.texi (@node Initialization): Update.
14032
14033 2001-08-09  Richard Henderson  <rth@redhat.com>
14034
14035         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
14036         (__do_global_dtors_aux): Use gp-relative static data to avoid
14037         one dynamic relocation.
14038         (__do_frame_setup): Register Java classes.
14039         * config/alpha/crtend.asm (__JCR_END__): New.
14040
14041 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
14042
14043         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
14044         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
14045         (GEN, STAGESTUFF): Add new files.
14046         (insn-constants.h, s-constants, tm-preds.h, s-preds,
14047         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
14048         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
14049         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
14050         as well as insn-codes.h and insn-flags.h in config.h; and no
14051         extra headers in tconfig.h and hconfig.h.
14052
14053         * gencodes.c: Eliminate code to generate predicate declarations
14054         or #defines for md-file constants.
14055         * genconstants.c, genpreds.c: New files.
14056
14057         * i386.md: Re-order guard expressions such that TARGET_64BIT
14058         comes first, when this permits better optimization.  Add
14059         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
14060         why this is desirable.
14061
14062 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
14063
14064         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
14065         (find_fde_for_dso): Remove.
14066         (_Unwind_IteratePhdrCallback): New.
14067         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
14068         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
14069
14070 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14071
14072         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
14073         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
14074
14075 2001-08-09  Graham Stott  <grahams@redhat.com>
14076
14077         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
14078         (vis_no_unit): Use it.
14079         (visualize_no_unit): Add the insn only if room exists.
14080
14081 2001-08-09  Graham Stott  <grahams@redhat.com>
14082
14083         * predict.c (estimate_probability): Replace magic numbers with
14084         appropriate enumeration.
14085
14086 2001-08-09  Graham Stott  <grahams@redhat.com>
14087
14088         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
14089         parameter.
14090         (EXTRACT_FLAGS): Likewise.
14091
14092 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
14093
14094         * config/mips/mips.c    (mips_legitimate_address_p): Check for
14095         CONST_INT in last patch.
14096
14097 2001-08-08  Anthony Green  <green@redhat.com>
14098
14099         * java/class.c (emit_register_classes): Use assemble_jcr if
14100         possible.  Keep the original mechanism as a fallback.
14101         * defaults.h (JCR_SECTION_NAME): Define if we have named section
14102         and weak symbol support.
14103         * crtstuff.c (__JCR_LIST__): Define.
14104         (__JCR_END__): Define.
14105         (_Jv_RegiserClasses): Define weak symbol if possible.
14106         (__do_global_ctors_aux): Register classes for ELF targets with
14107         weak symbol support.
14108
14109 2001-08-08  Kazu Hirata  <kazu@hxi.com>
14110
14111         * dbxout.c: Fix comment formatting.
14112         * dependence.c: Likewise.
14113         * df.c: Likewise.
14114         * diagnostic.c: Likewise.
14115         * dominance.c: Likewise.
14116         * doprint.c: Likewise.
14117         * dwarf2out.c: Likewise.
14118         * dwarfout.c: Likewise.
14119         * emit-rtl.c: Likewise.
14120         * except.c: Likewise.
14121         * explow.c: Likewise.
14122         * expmed.c: Likewise.
14123         * expr.c: Likewise.
14124         * flow.c: Likewise.
14125         * fold-const.c: Likewise.
14126         * function.c: Likewise.
14127
14128 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
14129
14130         * global.c (retry_global_alloc): Avoid shadowing allocno.
14131
14132 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
14133
14134         * except.c (remove_fixup_regions): Fix typo.
14135
14136 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
14137
14138         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
14139         unsigned HOST_WIDE_INT to avoid warning.
14140         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
14141         * flow.c (set_block_for_new_insns): Likewise.
14142
14143 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
14144
14145         * sibcall.c (return_value_pseudo): New static variable.
14146         (skip_copy_to_return_value): Handle return_value_pseudo.
14147         (call_ends_block_p): Ensure that return_value_pseudo is set.
14148         (optimize_sibling_and_tail_recursive_call): Discover the
14149         load of pseudo return value in alternate exit block.
14150
14151 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14152
14153         * calls.c (ECF_ALWAYS_RETURN): New constant.
14154         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
14155         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
14156         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
14157         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
14158         * rtl.c (reg_note_name): New name.
14159         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
14160
14161 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
14162
14163         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
14164
14165 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
14166
14167         * alias.c (get_alias_set): Return a previously calculated
14168         alias set for a VAR_DECL.
14169         * function.c (gen_mem_addressof): Calculate the alias set before
14170         touching the RTL.
14171
14172 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
14173
14174         * predict.def: Set hitrates according our experimental run.
14175
14176 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
14177
14178         * i386.h (HARD_REGNO_RENAME_OK): New macro.
14179
14180 2001-08-08  H.J. Lu <hjl@gnu.org>
14181
14182         * config/mips/mips.c (mips_unique_section): New. Copied from
14183         config/mips/elf.h.
14184
14185         * config/mips/mips-protos.h (mips_unique_section): New
14186         prototype.
14187
14188         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
14189
14190         * config/mips/little.h: New. Generic little endian mips
14191         targets. Only mips*-*-linux* is converted to use it so far.
14192
14193         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
14194         (WCHAR_TYPE): Defined
14195         (WCHAR_TYPE_SIZE): Likewise.
14196         (INIT_SUBTARGET_OPTABS): Likewise.
14197         (BSS_SECTION_ASM_OP): Likewise.
14198         (SBSS_SECTION_ASM_OP): Likewise.
14199         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
14200         (ASM_DECLARE_OBJECT_NAME): Likewise.
14201         (UNIQUE_SECTION): Likewise.
14202         (EXTRA_SECTIONS): Likewise.
14203         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
14204         (ASM_OUTPUT_DESTRUCTOR): Likewise.
14205         (ASM_OUTPUT_DEF): Likewise.
14206         (HANDLE_SYSV_PRAGMA): Removed.
14207         (NO_IMPLICIT_EXTERN_C): Likewise.
14208         (TARGET_MEM_FUNCTIONS): Likewise.
14209         (STARTFILE_SPEC): Likewise.
14210         (ENDFILE_SPEC): Likewise.
14211         (LIB_SPEC): Likewise.
14212         (INVOKE__main): Likewise.
14213         (CTOR_LIST_BEGIN): Likewise.
14214         (CTOR_LIST_END): Likewise.
14215         (DTOR_LIST_BEGIN): Likewise.
14216         (DTOR_LIST_END): Likewise.
14217         (SET_ASM_OP): Likewise.
14218         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14219         (ASM_OUTPUT_DEF): Likewise.
14220         (ASM_OUTPUT_IDENT): Likewise.
14221
14222         * config/mips/mips.h (ASM_SPEC): Undefine before define.
14223         (CPLUSPLUS_CPP_SPEC): Likewise.
14224         (ASM_APP_ON) Redefine only if not defined.
14225         (ASM_APP_OFF): Likewise.
14226         (ASM_OUTPUT_SOURCE_LINE): Likewise.
14227         (ASM_OUTPUT_IDENT): Likewise.
14228
14229         * config.gcc: Update tm_file for Linux/mips.
14230
14231 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
14232
14233         * cselib.c (cselib_record_sets): If insn is predicated, turn
14234         sources into IF_THEN_ELSEs.
14235
14236         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
14237         Turn into define_insn_and_split.
14238
14239         * sched-deps.c: Include "cselib.h".
14240         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
14241         Use cselib to turn memory addresses into VALUEs.
14242         (sched_analyze): Call cselib_init/cselib_finish if necessary.
14243         * sched-int.h (struct sched_info): New member USE_CSELIB.
14244         * sched-ebb.c (ebb_sched_info): Initialize it.
14245         * sched-rgn.c (rgn_sched_info): Likewise.
14246         * Makefile.in (sched-deps.o): Update dependencies.
14247
14248         * cselib.h (cselib_subst_to_values): Declare.
14249         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
14250         that have no value and autoincs to be handled by generating a new
14251         dummy value.
14252
14253 2001-08-08  Graham Stott  <grahams@redhat.com>
14254
14255         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
14256         within fixed length SEQUENCE.
14257
14258 2001-08-08  Graham Stott  <grahams@redhat.com>
14259
14260         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
14261         (diagnostic_prefixing_rule): Likewise.
14262         (diagnostic_line_cutoff): Likewise.
14263         (diagnostic_kind_count): Likewise.
14264
14265 2001-08-08  Graham Stott  <grahams@redhat.com>
14266
14267         * alias.c (find_base_decl): Delete redundent assignment.
14268
14269 2001-08-08  Graham Stott  <grahams@redhat.com>
14270
14271         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
14272         (abs): Uppercase and paranthesize macro parameter.
14273         (MEM_DEPENDENCY): Add whitespace.
14274
14275 2001-08-08  Graham Stott  <grahams@redhat.com>
14276
14277         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
14278         failure check for CONST_INT
14279
14280 2001-08-08  Graham Stott  <grahams@redhat.com>
14281
14282         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
14283         (libcall_dead_p): Likewise.
14284
14285         (mark_used_regs): Constify fmt.
14286         (find_use_as_address): Likewise.
14287
14288 2001-08-08  Graham Stott  <grahams@redhat.com>
14289
14290         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
14291          parameter.
14292
14293 2001-08-08  Graham Stott  <grahams@redhat.com>
14294
14295         * combine.c (combine_simplify_rtx): Update comment and
14296         remove erroneous test.
14297
14298 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14299
14300         * cppinit.c (cpp_finish): Pop the final buffer without comment.
14301         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
14302         take care to avoid multiple no-newline at EOF warnings in that
14303         case.
14304
14305 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
14306
14307         * calls.c (expand_call): Do not emit INSN_SETJMP note.
14308         (emit_library_call_value_1): Likewise.
14309         (emit_call_1): Emit REG_SETJMP note.
14310         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
14311         of INSN_SETJMP
14312         * cselib.c (cselib_process_insn): Likewise.
14313         * flow.c (propagate_block): Likewise.
14314         * loop.c (find_and_verify_loops): Likewise.
14315         * reload.c (find_equiv_regs): Likewise.
14316         * reload1.c (reload): Likewise.
14317         * resource.c (mark_referenced_resources,
14318         mark_set_resources): Likewise.
14319         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
14320         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
14321         * haifa-sched.c (unlink_other_notes): Likewise.
14322         (reemit_notes): Likewise.
14323         * sched-ebb.c (sched_ebb): Likewise.
14324         * sched-rgc.c (sched_region): Likewise.
14325         * rtl.c (note_insn_name): Likewise.
14326         (reg_note_name): Add REG_SETJMP
14327         * rtl.h (reg_note): Add REG_SETJMP.
14328         (insn_note): Remove NOTE_INSN_SETJMP.
14329
14330         * profile.c (branch_prob): Add fake edges for setjmp.
14331
14332 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
14333
14334         * config.gcc: Quote target_cpu_default2 correctly for
14335         powerpc*-*-* targets.
14336
14337 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
14338
14339         * cpplib.h, line-map.h: Update comments.
14340         * cppmain.c (printer_init): Move inline.
14341         (maybe_print_line, print_line): Take a map pointer.
14342         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
14343         (cb_file_change): Don't use prior value of print.map.
14344
14345 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
14346
14347         * doc/install.texi: Document fine-grained multilib configuration.
14348
14349 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
14350
14351         * rtlanal.c (find_first_parameter_load): Call note_stores
14352         only on the instructions.
14353
14354 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
14355
14356         * alias.c (nonlocal_mentioned_p):
14357         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
14358         * calls.c (emit_call_1): Likewise.
14359         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
14360         * cselib.c (cselib_process_insn): Likewise.
14361         * df.c (df_insns_modify): Likewise.
14362         * flow.c (need_fake_edge_p): Likewise.
14363         (propagate_one_insn): Likewise.
14364         * haifa-sched.c (reemit_notes): Likewise.
14365         * integrate.c (copy_insn_list): Likewise.
14366         * jump.c (delete_prior_computation): Likewise.
14367         * local-alloc.c (validate_equiv_mem): Likewise.
14368         * loop.c (scan_loop): Likewise.
14369         * predict.c (estimate_probability): Likewise.
14370         * reload.c (reload): Likewise.
14371         * sched-deps (sched_analyze): Likewise.
14372         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
14373         * gcse.c (compute_hash_table): Likewise.
14374         (mark_call): Likewise.
14375         (store_killed_in_insn): Likewise.
14376
14377 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
14378
14379         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
14380
14381 2001-08-06  Richard Henderson  <rth@redhat.com>
14382
14383         * varasm.c (assemble_gc_entry): Remove.
14384         * output.h: Likewise.
14385
14386 2001-08-06  Richard Henderson  <rth@redhat.com>
14387
14388         * varasm.c (assemble_constructor): Take a symbol_ref and a
14389         priority instead of a bare string.  Move priority handling
14390         here from cp/decl2.c.
14391         * output.h: Update decls.
14392
14393         * c-decl.c (c_expand_body): Update calls to assemble_constructor
14394         and assemble_destructor.
14395         * profile.c (output_func_start_profiler): Likewise.
14396         * objc/objc-act.c (finish_objc): Likewise.
14397         (build_module_descriptor): Return the symbol not the symbol name.
14398
14399 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
14400
14401         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
14402         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
14403         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
14404         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
14405         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
14406         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
14407
14408 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14409
14410         * cpperror.c (print_containing_files): Moved to line-map.c.
14411         (print_location): line-map.c handles re-listing or otherwise.
14412         * cpphash.h (struct lexer_state): Remove next_bol.
14413         (struct cpp_buffer): Remove include_stack_listed.
14414         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
14415         Remove faked buffer handling.
14416         (_cpp_do_file_change): Tweak.
14417         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
14418         * cppmain.c (struct printer): Remove filename.
14419         (print_line, cb_file_change): Update accordingly.
14420         * line-map.c: Include intl.h.
14421         (init_line_maps): Initialize last_listed.
14422         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
14423         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
14424         (print_containing_files): New.
14425         * line-map.h (struct line_maps): New member last_listed.
14426         (print_containing_files, INCLUDED_FROM): New.
14427         * Makefile.in: Update.
14428         * po/POTFILES.in: Add line-map.c.
14429
14430 2001-08-06  Richard Henderson  <rth@redhat.com>
14431
14432         * except.c (convert_from_eh_region_ranges_1): Never mark
14433         USE or CLOBBER insns as throwing.
14434
14435         * expr.c (store_constructor): Don't clobber memory targets.
14436
14437 2001-08-06  Andreas Jaeger  <aj@suse.de>
14438
14439         * profile.c (branch_prob): Remove unused variable insn.
14440
14441         * Makefile.in (local-alloc.o): Add dependency on except.h.
14442
14443         * local-alloc.c: Include except.h for can_throw_internal prototype.
14444
14445 2001-08-06  Richard Henderson  <rth@redhat.com>
14446
14447         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
14448         * function.c (expand_main_function): Implement it.
14449         * doc/tm.texi: Document it.
14450
14451 2001-08-06  Stan Shebs  <shebs@apple.com>
14452
14453         * doc/install.texi: Document powerpc-*-darwin* details.
14454
14455 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
14456
14457         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
14458         (ASM_CPU_SPEC): Move back to rs6000.h
14459         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
14460
14461         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
14462
14463         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
14464         readded.
14465
14466         * config/rs6000/linux64.h: Ditto.
14467
14468         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14469         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
14470         nothing.
14471
14472         Remove accidently readded definitions of FUNCTION_PROLOGUE,
14473         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
14474
14475         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
14476         to rs6000.h
14477
14478 2001-08-05  Richard Henderson  <rth@redhat.com>
14479
14480         * local-alloc.c (update_equiv_regs): Do not move insns that
14481         can throw.
14482
14483 2001-08-05  Jan Hubicka  <jh@suse.cz>
14484
14485         * Makefile.in (reload1.o): Add dedendancy on except.h
14486         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
14487         prototypes.
14488         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
14489         indicating wehther edges has been cleaned up.
14490         * reload1.c: Inlucde except.h
14491         (fixup_abnormal_edges): Accept deleted insns.
14492         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
14493         after combine.
14494
14495 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
14496
14497         * cpplib.c (do_line): Correct line number after pop_buffer.
14498
14499 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14500
14501         PR preprocessor/3824
14502         * line-map.c: Update comments.
14503         * line-map.h: Update comments.
14504         * tradcif.y: Don't consider large numbers unsigned.
14505
14506 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
14507
14508         PR preprocessor/3081
14509         * c-lex.c (map): New.
14510         (cb_file_change): Update map and use it.
14511         (cb_def_pragma, cb_define, cb_undef): Use map and line.
14512         (c_lex): Update to use map.
14513         * cpperror.c (print_location): Move to using logical line numbers.
14514         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
14515         (cpp_make_system_header): Similarly.
14516         (_cpp_execute_include): Stop line numbering hacks.  Store the
14517         line we will return to.
14518         * cpphash.h (CPP_BUF_LINE): Remove.
14519         (struct cpp_buffer): Remove lineno and pseudo_newlines.
14520         Add map and return_to_line.
14521         (_cpp_do_file_change): Update.
14522         * cppinit.c (cpp_start_read): Update line kludge.
14523         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
14524         (trigraph_ok): Use logical line numbers for diagnostics.
14525         (skip_block_comment): Likewise.
14526         (skip_whitespace): Likewise.
14527         (skip_line_comment): Use pfile->line instead.
14528         (_cpp_lex_token): Update to use logical line numbering exclusively.
14529         Handle BOL locally.  Accept new lines in directives, but keep
14530         pfile->line decremented.  Diagnostics use logical lines.  Update
14531         directive handling.
14532         * cpplib.c (SEEN_EOL): New.
14533         (skip_rest_of_line, check_eol): Use it.
14534         (end_directive): Increase line number when accepting the newline
14535         at the end of a directive.
14536         (run_directive): Simplify.
14537         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
14538         (_cpp_do_file_change): Update to take buffer line number as an
14539         argument, and store the current map in the cpp_reader.  Remove
14540         line number kludges.
14541         (_cpp_do__Pragma): Restore output position after a _Pragma.
14542         (cpp_push_buffer): Don't set output line or lineno.
14543         (_cpp_pop_buffer): Transfer more info from a faked buffer.
14544         Remove line kludge.  Set output_line.
14545         * cppmacro.c (builtin_macro): Update handling of __LINE__.
14546         (parse_arg): Use logical lines.
14547         (save_lookahead_token): Save EOFs too now.
14548         * cppmain.c (struct printer): Fix comments.
14549         (printer_init): Simplify, let caller do errors.
14550         (scan_translation_unit, check_multiline_token, dump_macro): Update.
14551         (maybe_print_line): Simplify.
14552         (print_line): Don't print a linemarker if -P.
14553         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
14554         (cb_file_change): Simplify.
14555         * line-map.h (LAST_SOURCE_LINE): Fix.
14556         (CURRENT_LINE_MAP): New.
14557
14558 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
14559
14560         * doloop.c (doloop_modify_runtime): Properly compute number of
14561         iterations if loop was unrolled.
14562
14563         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
14564         if their CSELIB_VAL_PTRs are.
14565
14566         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
14567         (setup_spill_pointers): Initialize it.
14568         (spill_restore_mem): Set it.
14569         (do_spill, do_restore): Use it to add REG_INC note.
14570         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
14571
14572         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
14573         asms if other insns are available.
14574
14575         * config/ia64/ia64.c (condop_operator): New predicate.
14576         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
14577         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
14578         patterns.
14579
14580         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
14581         temporary register than directly using a MEM.
14582
14583 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14584
14585         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
14586         parameter in last change.
14587
14588 2001-08-04  Zack Weinberg  <zackw@panix.com>
14589
14590         * sparc.md: Don't use #if inside C test expression.
14591
14592 2001-08-04  Richard Henderson  <rth@redhat.com>
14593
14594         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
14595
14596 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
14597
14598         * cpphash.h (struct cpp_reader): New member directive_line.
14599         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
14600         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
14601         do_pragma): Pass line to callbacks.
14602         (start_directive): Record line of directive.
14603         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
14604         cb_include): Similarly.
14605         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
14606         Similarly.
14607
14608 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14609
14610         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
14611         comment.
14612
14613 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
14614
14615         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
14616
14617         * reload1.c (fixup_abnormal_edges): New static function.
14618         (reload): Use it.
14619
14620         * flow.c (need_fake_edge_p): New function.
14621         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
14622         avoid call insn to be very last insn in the insn stream.
14623
14624         * profile.c (branch_prob): Call flow_call_edges_add instead of
14625         doing that by hand; cleanup cfg to re-merge basic blocks once
14626         we are done.
14627
14628 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14629
14630         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
14631         are also on line-map.h.
14632         * cppfiles.c (stack_include_file): Update.
14633         * cpphash.h (struct cpp_buffer): New member return_at_eof.
14634         (_cpp_pop_buffer): New.
14635         * cppinit.c (cpp_destroy, cpp_finish): Update.
14636         (do_includes): Mark each buffer to return at EOF.
14637         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
14638         return as requested.
14639         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
14640         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
14641         * cpplib.h (cpp_pop_buffer): Remove.
14642         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
14643         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
14644         buffers.
14645         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
14646         to pop buffers.
14647         (do_preprocessing): Update.
14648         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
14649         * c-parse.in (_yylex): Similarly.
14650         * scan-decls.c (scan_decls): Similarly.
14651         * line-map.h: Update comments.
14652
14653         * objc/Make-lang.in (objc-act.o): Update dependencies.
14654
14655 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14656
14657         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
14658         and soft register for operand 0.
14659         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
14660
14661 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14662
14663         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
14664         register for operand 0.
14665         ("bitcmpqi_z_used"): Allow memory for operand 0.
14666         (split "bitcmpqi"): New split to handle address reg as operand 1.
14667
14668 2001-08-04  Andreas Jaeger  <aj@suse.de>
14669
14670         * gcse.c: Revert Daniel's last patch.
14671
14672 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14673
14674         * sparc-protos.h: Add prototypes for fp_zero_operand and
14675         reg_or_0_operand.
14676         * sh-protos.h: Add prototype for fpul_operand.
14677
14678 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
14679
14680         * doc/extend.texi (Other Builtins): Fix typo in last change.
14681
14682 2001-08-03  Richard Henderson  <rth@redhat.com>
14683
14684         * target.h (gcc_target): Add asm_out.named_section,
14685         section_type_flags, have_named_sections.
14686         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14687         (TARGET_HAVE_NAMED_SECTIONS): New.
14688         (TARGET_SECTION_TYPE_FLAGS): New.
14689
14690         * Makefile.in (toplev.o): Depend on TARGET_H.
14691         (varasm.o, dbxout.o): Likewise.
14692         * c-common.c (decl_attributes): Check targetm.have_named_sections
14693         instead of ifdef ASM_OUTPUT_SECTION_NAME.
14694         * dbxout.c (dbxout_function_decl): Likewise.
14695         (dbxout_function_end): Likewise.
14696         * toplev.c (compile_file): Likewise.
14697         * varasm.c (exception_section): Likewise.
14698         * cp/decl2.c (finish_objects): Likewise.
14699
14700         * defaults.h (EH_FRAME_SECTION): Remove.
14701         (EH_FRAME_SECTION_ASM_OP): Remove.
14702         (EH_FRAME_SECTION_NAME): New.
14703         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14704         (UNIQUE_SECTION_P): Remove.
14705         * dwarf2out.c (SECTION_FORMAT): Remove.
14706         (ASM_OUTPUT_SECTION): Remove.
14707         (output_call_frame_info): Use named_section_flags.
14708         (output_comp_unit, dwarf2out_start_source_file): Likewise.
14709         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14710         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14711         * varasm.c (in_eh_frame, eh_frame_section): Remove.
14712         (named_section_flags): New.
14713         (named_section): Use it and targetm.section_type_flags.
14714         (resolve_unique_section): New.
14715         (assemble_start_function): Use it.
14716         (asm_emit_uninitialised, assemble_variable): Likewise.
14717         (default_section_type_flags): New.
14718         (default_no_named_section, default_elf_asm_named_section): New.
14719         (default_coff_asm_named_section, default_pe_asm_named_section): New.
14720         * output.h: Update varasm.c decls.
14721         (SECTION_*): New flags.
14722
14723         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14724         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14725
14726         * config/elfos.h (UNIQUE_SECTION_P): Remove.
14727         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14728         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14729         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14730         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14731         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14732         * config/mips/elf.h, config/mips/elf64.h: Likewise.
14733         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14734         * config/pa/pa64-hpux.h,
14735
14736         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14737         (TARGET_ASM_NAMED_SECTION): New.
14738         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14739         * config/alpha/vms.h, config/arm/coff.h: Likewise.
14740         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14741         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14742         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14743         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14744         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14745         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14746         * config/i386/sco5.h, config/i386/win32.h: Likewise.
14747         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14748         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14749         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14750         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14751         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14752         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14753         * config/sparc/sysv4.h: Likewise.
14754
14755         * config/nextstep.h: Error until named sections implemented.
14756
14757         * config/a29k/a29k.c (a29k_asm_named_section): New.
14758         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14759         (vms_section_type_flags, vms_asm_named_section): New.
14760         * config/arm/arm.c (arm_elf_asm_named_section): New.
14761         * config/avr/avr.c (asm_output_section_name): Remove.
14762         * config/avr/avr-protos.h: Update.
14763         * config/c4x/c4x.c (c4x_asm_named_section): New.
14764         * config/h8300/h8300.c (h8300_asm_named_section): New.
14765         * config/i386/i386.c (sco_asm_named_section): New.
14766         * config/i386/winnt.c (SECTION_PE_SHARED): New.
14767         (i386_pe_section_type_flags): New.
14768         (i386_pe_asm_named_section): New.
14769         * config/i386/i386-protos.h: Update.
14770         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14771         * config/mcore/mcore.c (mcore_asm_named_section): New.
14772         * config/mips/mips.c (iris6_asm_named_section): New.
14773         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
14774         instead of UNIQUE_SECTION_P.
14775         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
14776         (xcoff_asm_named_section): New.
14777         * config/sh/sh.c (sh_asm_named_section): New.
14778         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
14779
14780         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
14781         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
14782         (EH_FRAME_SECTION_NAME): New.
14783         (EXCEPTION_SECTION): New.
14784         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
14785         (DEBUG_*_SECTION): Remove.
14786         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
14787         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
14788         (EH_FRAME_SECTION_ASM_OP): Remove.
14789
14790         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
14791         (ASM_OUTPUT_SECTION_NAME): Remove.
14792         (TARGET_ASM_NAMED_SECTION): New.
14793         (TARGET_HAVE_NAMED_SECTIONS): New.
14794         (TARGET_SECTION_TYPE_FLAGS): New.
14795         (EH_FRAME_SECTION_ASM_OP): Remove.
14796         (EH_FRAME_SECTION_NAME): New.
14797
14798 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
14799
14800         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
14801         for complex expressions when cfun == 0.
14802         * doc/extend.texi: Document that __builtin_constant_p can be
14803         used in data initializers as well as functions.
14804
14805 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
14806
14807         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
14808         variable I locally, instead of expecting a declaration in the
14809         calling context.
14810
14811 2001-08-03  Richard Henderson  <rth@redhat.com>
14812
14813         * except.c (collect_one_action_chain): Add an explicit cleanup
14814         action if regions surrounding a catch were encoded entirely
14815         within the call-site entry.
14816
14817 2001-08-03  Richard Henderson  <rth@redhat.com>
14818
14819         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
14820         don't take REGNO of a non-register.
14821
14822 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14823
14824         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
14825         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
14826         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
14827         (__gthread_mutex_init_function): New function for mutex initialization.
14828
14829 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14830
14831         * Makefile.in: Revert screwed up commit.
14832
14833 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
14834
14835         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
14836         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
14837         merged by linker script to get a final _exit().
14838         (__do_global_dtors): New for destructor handling in specific exit
14839         section.
14840         (__do_global_ctors): New for constructors in specific install section.
14841         (__map_data_section): Map data sections before running constructors.
14842         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
14843         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
14844         (DTORS_SECTION_ASM_OP): Likewise.
14845         (CTORS_SECTION_FUNCTION): Define to force a reference to
14846         __do_global_ctors.
14847         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
14848
14849 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14850
14851         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
14852
14853         * Makefile.in: Add df.h to gcse.c dependencies.
14854
14855 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14856
14857         * varasm.c (output_constant_def_contents): Use for the length of a
14858         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
14859         depending on which is larger.
14860
14861 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
14862
14863         * gcse.c: Include df.h for use as a dataflow analyzer.
14864         Remove regvec.
14865         Declaration of reg_set_info: gone.
14866         New df_analyzer variable used by store motion.
14867         (reg_set_info): Deleted.
14868         (mark_mem_regs): New function, analyze regs used by a mem.
14869         (store_ops_ok): Use dataflow analyzer results to determine if
14870         necessary regs are changed in the block.
14871         (find_moveable_store): Remove check for symbol ref, we can handle
14872         much more complex expressions now.
14873         (compute_store_table): Remove most of the code, it's unnecessary
14874         now that the dataflow analyzer records the info for us.
14875         (store_killed_after): Add parameter to say whether to do the
14876         store_ops_okay test, used to speed up testing when we already know
14877         the answer, and just want to know if the store itself was killed.
14878         (build_store_vector): Largely rewritten to calculate the various
14879         vectors properly, and somewhat optimized.
14880         (store_motion): Init the df_analyzer, get REG_DEF chains.
14881         Also handle trapping expressions (since mems almost always trap)
14882         (simple_mem): Redefine what a simple mem is.
14883
14884 2001-08-03  DJ Delorie  <dj@redhat.com>
14885
14886         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
14887         set from a constant part of the condition.
14888
14889 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
14890
14891         * mkdeps.c (deps_add_default_target): Make local variable
14892         ``start'' a const char pointer.
14893         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
14894
14895 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14896
14897         * doc/install.texi (Configuration): Fix markup.
14898         (Specific, i?86-*-udk): Likewise.
14899         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
14900         --with-gnu-ld.
14901         Document --enable-threads and --enable-libgcj status.
14902         (Specific, mips-sgi-irix*): Canonicalize triples.
14903         (Specific, mips-sgi-irix5): Warn about problems with this config.
14904         Mention required GNU as patch.
14905         Native assembler problems are fixed.
14906         (Specific, mips-sgi-irix6): Update O32 ABI support status.
14907         Document --enable-threads and --enable-libgcj status.
14908
14909 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14910
14911         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
14912         of mkinstalldirs.
14913
14914 2001-08-03  Richard Henderson  <rth@redhat.com>
14915
14916         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
14917         constant data.
14918
14919 2001-08-03  Richard Henderson  <rth@redhat.com>
14920
14921         * rtlanal.c (find_first_parameter_load): Stop if we
14922         reach a CODE_LABEL at BOUNDARY.
14923
14924 2001-08-03  Richard Henderson  <rth@redhat.com>
14925
14926         * config/alpha/alpha.md (force_movdi): New insn.
14927         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
14928         Tweek FRP marking of VMS prologue insns.
14929         * config/alpha/vms.h (EPILOGUE_USES): New.
14930
14931 2001-08-02  Richard Henderson  <rth@redhat.com>
14932
14933         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
14934
14935 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
14936
14937         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
14938         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
14939         config/convex/convex.h, config/d30v/d30v.c,
14940         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14941         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
14942         config/mips/mips.h, config/mn10200/mn10200.h,
14943         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
14944         config/v850/v850.h, config/vax/openbsd.h,
14945         config/vax/openbsd1.h, config/vax/ultrix.h,
14946         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
14947         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
14948         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
14949         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
14950         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
14951         in comments and documentation.
14952
14953 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14954
14955         * line-map.c: New.
14956         * line-map.h: New.
14957         * Makefile.in (line-map.o): New.
14958         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
14959         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
14960         * cpperror.c (print_containing_files): Similarly.
14961         (print_location): Update.  Don't output a space before _Pragma.
14962         * cppfiles.c (stack_include_file): Set to line 1 immediately.
14963         (stack_include_filee, cpp_make_system_header): Update.
14964         (_cpp_execute_include): Get logical line number right for calling
14965         as-yet-unterminated #include.
14966         * cpphash.h (struct cpp_reader): Add line_maps.
14967         (_cpp_do_file_change): Update.
14968         * cppinit.c (cpp_create_reader): Initialize line maps.
14969         (cpp_destroy): Destroy line maps.
14970         (cpp_start_read): Get logical line number right.
14971         * cpplex.c (parse_string): Only warn once for multi-line strings.
14972         Use boolean variable for null warning.
14973         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
14974         already.
14975         (do_include_common): End the directive early.
14976         (do_line): Don't warn about out-of-range lines in preprocessed
14977         source.  Update.  Remove unused variables.
14978         (_cpp_do_file_change): Update for new line mapping.
14979         (pragma_cb): New typedef.
14980         (cpp_register_pragma): Stop looking ahead before calling the
14981         handler.  Clean up.
14982         (do_pragma_system_header): End directive early.
14983         (cpp_get_line_maps): New.
14984         (cpp_pop_buffer): Fudge logical line.  Update.
14985         * cpplib.h: Include line-map.h
14986         (enum cpp_fc_reason): Remove.
14987         (struct cpp_file_change): Update.
14988         (cpp_get_line_maps): New.
14989         * cppmain.c (struct_printer): New member map.
14990         (cb_file_change): Update for new mappings.
14991         * fix-header.c (cb_file_change): Similarly.
14992
14993 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
14994
14995         * Makefile.in (libgcc.mk): Define mkinstalldirs.
14996         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
14997
14998 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
14999
15000         * config/vax/vax.c: include expr.h.
15001
15002 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
15003
15004         * Makefile.in ($(srcdir)/configure): Only rebuild in
15005         maintainer mode.
15006         ($(srcdir)/config.in): Only define in maintainer mode.
15007         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
15008
15009 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
15010
15011         * doc/install.texi (Install GCC: Binaries): Update Bull info.
15012
15013 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15014
15015         * gcc.c (set_collect_gcc_options): New function, split out from
15016         main.
15017         Ignore elided switches.
15018         (do_spec_1): Invoke before executing command.
15019         (set_input): Export.
15020         Move declaration ...
15021         * gcc.h (set_input): ... here.
15022         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
15023         file.
15024
15025 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
15026
15027         Kill -fhonor-std.
15028         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
15029         interaction.
15030         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
15031
15032 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
15033
15034         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
15035         for the unnamed instructions it expands to.
15036
15037 2001-08-02  Richard Henderson  <rth@redhat.com>
15038
15039         * regclass.c (call_really_used_regs): Conditionally define.
15040         (init_reg_sets_1): Don't use it if not defined.
15041         (fix_register): Similarly, don't set it.
15042
15043 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15044
15045         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
15046         Correct comment that had been missed in the previous change.
15047
15048 2001-08-01  Stan Shebs  <shebs@apple.com>
15049
15050         * config/darwin.c (machopic_stub_name): Try matching by name.
15051         (update_stubs): New function.
15052         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
15053         unconditionally.
15054
15055 2001-08-01  Richard Henderson  <rth@redhat.com>
15056
15057         * except.c (output_function_exception_table): Use assemble_align.
15058         * varasm.c (assemble_eh_label): Remove.
15059         (assemble_eh_align, assemble_eh_integer): Remove.
15060
15061 2001-08-01  Robert Lipe  <robertl@caldera.com>
15062
15063         * dwarfout.c: Remove reference to README.DWARF.
15064
15065 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
15066
15067         * regclass.c (call_really_used_regs): New array for registers which
15068         are actually used by a call.
15069         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
15070         new array.
15071         (fix_register): Set call_really_used too.
15072         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
15073         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
15074
15075 2001-08-01  Richard Henderson  <rth@redhat.com>
15076
15077         * read-rtl.c (read_name): Consider \r whitespace.
15078
15079 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
15080
15081         * config.gcc: Recognize powerpc-*-netbsd*.
15082
15083         * doc/install.texi (Host/target specific installation notes for
15084         GCC): Mention powerpc-*-netbsd*.
15085
15086         * config/rs6000/netbsd.h: New file.
15087         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
15088         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
15089         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
15090         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
15091         (TARGET_VERSION): Redefine.
15092
15093         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
15094         mcall-netbsd as a match for mcall-sysv.
15095         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
15096         (ncrti.S, ncrtn.S): New targets.
15097         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
15098
15099         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
15100         "netbsd' as a V4 ABI.
15101         (ASM_SPEC): Check for -mcall-netbsd.
15102         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
15103         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
15104         (LIB_SPEC, ENDFILE_SPEC): Ditto.
15105         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
15106         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
15107         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
15108         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
15109
15110         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
15111         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
15112
15113 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
15114
15115         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
15116         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
15117         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
15118         including "unwind-pe.h".
15119
15120 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15121
15122         * rs6000.md (define_splits): Kill unused constraints.
15123
15124 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
15125                               Jan Hubicka  <jh@suse.cz>
15126
15127         * function.c (thread_prologue_and_epilogue_insns): Kill code
15128         dealing with non-existent CFG.
15129
15130 2001-08-01  Kazu Hirata  <kazu@hxi.com>
15131
15132         * alias.c: Fix comment formatting.
15133         * bitmap.c: Likewise.
15134         * builtins.c: Likewise.
15135         * calls.c: Likewise.
15136         * c-common.c: Likewise.
15137         * c-decl.c: Likewise.
15138         * c-dump.c: Likewise.
15139         * c-lex.c: Likewise.
15140         * collect2.c: Likewise.
15141         * combine.c: Likewise.
15142         * conflict.c: Likewise.
15143         * cppfiles.c: Likewise.
15144         * cppinit.c: Likewise.
15145         * cpplex.c: Likewise.
15146         * cpplib.c: Likewise.
15147         * cppmacro.c: Likewise.
15148         * cppspec.c: Likewise.
15149         * c-pragma.c: Likewise.
15150         * crtstuff.c: Likewise.
15151         * cse.c: Likewise.
15152         * cselib.c: Likewise.
15153         * c-semantics.c: Likewise.
15154         * c-typeck.c: Likewise.
15155
15156 2001-08-01  H.J. Lu <hjl@gnu.org>
15157
15158         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
15159
15160 2001-08-01  H.J. Lu <hjl@gnu.org>
15161
15162         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
15163
15164 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
15165
15166         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
15167         contextualizing Objective-C class name lookup by the lexer.
15168         (typespec_reserved_nonattr): Disable ObjC class name lookup after
15169         seeing a TYPESPEC.
15170         (protocoldef): Add support for forward @protocol declarations.
15171         (yylexname): Suppress ObjC class name lookup in certain contexts;
15172         re-enable after lookup is complete.
15173         (_yylex): Re-enable ObjC class name lookup when certain
15174         punctuation marks are seen.
15175
15176         * objc/objc-act.c (check_protocol_recursively): New function used
15177         for finding circular dependencies in protocols.
15178         (objc_declare_protocols): New function for handling forward
15179         @protocol declarations.
15180         (receiver_is_class_object): Detect the case when 'self' is used
15181         inside of a class method.
15182         (build_message_expr): Issue a warning if class method is desired
15183         but instance method is found instead.
15184         (conforms_to_protocol): Streamline.
15185         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
15186         protocol Foo, even if 'Bar foo' does not.
15187         (check_protocols): Streamline.
15188         (start_protocol): Add checks for circular and duplicate protocol
15189         definitions.
15190         (encode_aggregate_within): For typedefs of structs, encode the
15191         underlying struct.
15192         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
15193         (objc_declare_protocols): New prototype.
15194
15195 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15196
15197         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
15198         * cpplex.c (handle_newline): Update prototype.  Maintain logical
15199         line number.
15200         (skip_escaped_newlines, skip_block_comment, parse_string):
15201         Update accordingly.
15202         (_cpp_lex_token): Update, and store token position within the token.
15203         * cpplib.h (struct cpp_token): Add line and column entries.
15204         * cppmacro.c (replace_args): Position stringified tokens correctly.
15205
15206 2001-08-01  Andreas Jaeger  <aj@suse.de>
15207
15208         * basic-block.h: Add prototype for last_loop_beg_note.
15209
15210 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
15211
15212         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
15213         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
15214         comment.
15215         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
15216         while handling WITH_CLEANUP_EXPR node. Use second operand calling
15217         expand_decl_cleanup.
15218         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
15219         the first RTX.
15220         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
15221         operand while calling simple_cst_equal.
15222         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
15223         operand is the cleanup expression, the third is the RTL_EXPR.
15224         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
15225
15226 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
15227
15228         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
15229
15230 2001-07-31  matthew green  <mrg@eterna.com.au>
15231
15232         * config.gcc (i386-*-netbsdelf): New description.
15233         * config/i386/netbsd-elf.h: New file.
15234
15235 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
15236
15237         * loop.c (check_dbra_loop): Use single_set to compute
15238         jump_label.
15239
15240 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
15241
15242         PowerPC reorg and support for powerpc64-*-linux*.
15243
15244         Also fixes emitting of constants on 32 bit and 64 bit
15245         platforms.
15246
15247         * config.gcc: powerpc64-*-linux* is a new target.
15248         Things that needed aix.h now also include xcoff.h
15249
15250         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
15251         xcoff.h.
15252         Move AIX specific stuff into aix.h.
15253         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
15254         with more than just XCOFF now.
15255         (SET_ASM_OP): Remove, now defined where needed.
15256         (FUNCTION_PROLOGUE): New macro definition.
15257         (FUNCTION_EPILOGUE): New macro definition.
15258         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
15259
15260         * config/rs6000/xcoff.h: New file.
15261
15262         * config/rs6000/linux64.h: New file.
15263
15264         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
15265
15266 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
15267
15268         * rs6000.c (print_operand_address): Handle ELF syntax.
15269         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
15270         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
15271         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
15272
15273 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
15274
15275         * rs6000.c (rs6000_override_options): Only disable
15276         flag_function_sections for XCOFF.
15277         (exact_log2_cint_operand): New predicate.
15278         (reg_or_{add,sub}_cint64_operand): New predicates.
15279         (add_operand): Compare CONST_INT with fewer function calls.
15280         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
15281         (print_operand, case 'p'): Ensure positive operand.
15282         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
15283         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
15284         (PREDICATE_CODES): Add new predicates.
15285         * rs6000.md (addsi3): Split 32-bit constants more correctly.
15286         (divsi3, modsi3): Ensure positive power-of-2.
15287         (adddi3): Use new predicate.  Split 32-bit constants more
15288         correctly.  Re-arrange splitter to handle any constant.
15289         (subdi3): Use new predicate.
15290         (divdi3, moddi3): Ensure positive power-of-2.
15291         (movdi): Use rs6000_emit_set_const.
15292         (load_toc_v4_pic_di): Delete.
15293
15294 2001-07-31  Graham Stott <grahams@redhat.com>
15295
15296         * function.c (pad_below): Revert 2001-07-26 patch.
15297
15298 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15299
15300         * reg-stack (convert_regs_1): Fix best edge condition.
15301
15302 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15303
15304         * jump.c (duplicate_loop_exit_test): Better test for jumps
15305         entering the loop; create loop pre_header.
15306
15307 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
15308
15309         * doc/install.texi: Add s390 and s390x as new targets.
15310         * doc/invoke.texi: Add documentation of S/390 and zSeries
15311         target options.
15312         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
15313
15314 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15315
15316         * config/m68k/m68k.md: Replace all general_operand with
15317         nonimmediate_operand for all destinations.
15318         * config/m68k/m68k.c (not_sp_operand): Likewise.
15319
15320 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
15321
15322         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
15323
15324 2001-07-30  Richard Henderson  <rth@redhat.com>
15325
15326         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
15327         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
15328
15329 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
15330
15331         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
15332         Add missing doc strings
15333         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
15334         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
15335
15336 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
15337
15338         * i386.c (ix86_output_main_function_alignment_hack): New function.
15339         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
15340
15341         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
15342         edges by EDGE_DFS_BACK flag.
15343         (dump_edge_info): Add dfs_back flag.
15344         * basic-block.h (EDGE_DFS_BACK): New constant.
15345         (mark_dfs_back_edges): Declare.
15346         * alias.c (loop_p): Remove.
15347         (mark_constant_function): Use mark_dfs_back_edges.
15348
15349         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
15350         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
15351         (compensate_edge): Break out from ...
15352         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
15353         (convert_regs_2): Set block_done once block is really done;
15354         Do updating of the predecessors counts.
15355
15356         * toplev.c (rest_of_compilation): Recompute block_for_insn
15357         before post-reload cfg_cleanup.
15358         * function.c (thread_prologue_epilogue_insns):
15359         Call set_block_for_new_insns when emitting prologue directly.
15360
15361 2001-07-30  Andreas Jaeger  <aj@suse.de>
15362
15363         * jump.c: Add prototype for mark_modified_reg.
15364
15365         * cse.c (set_live_p): Add unused attribute.
15366
15367         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
15368         overflow.
15369         (scan_for_source_files): Use long for count to avoid overflow.
15370         (output_data): Likewise.
15371         (output_data): Don't use string concatatenation to silence gcc
15372         -traditional.
15373
15374         * predict.c: Fix typos and grammar.
15375
15376         * gcse.c (insert_insn_end_bb): Remove unused variables.
15377
15378 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
15379
15380         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
15381         (attempt_auto_inc): LIkewise.
15382         (mark_used_reg): Likewise.
15383         (try_pre_increment_1): Likewise.
15384         * regclass.c (regclass): Likewise.
15385         * global.c (allocno_compare): Update comment; change scaling factor.
15386         * local-alloc.c (QTY_CMP_PRI): Likewise.
15387         * regs.h (REG_FREQ_FROM_BB): New.
15388         (REG_FREQ_MAX): Likewise.
15389
15390 2001-07-30  H.J. Lu <hjl@gnu.org>
15391
15392         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
15393         -D_GNU_SOURCE.
15394
15395 2001-07-30  H.J. Lu  (hjl@gnu.org)
15396
15397         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
15398         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
15399         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
15400
15401 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
15402
15403         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
15404         as -mthumb-interwork when -mcpu=arm7 is specified.
15405
15406 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
15407
15408         * predict.def (noreturn, loop branch, loop exit): Mark as first
15409         match heuristics.
15410
15411 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
15412
15413         * combine.c (try_combine): Avoid barrier after noop jumps.
15414
15415 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15416
15417         * cpphash.h (struct cpp_reader): Remove import_warning.
15418         * cpplib.c (skip_rest_of_line): Don't bother turning off
15419         macro expansion.
15420         (parse_include): Move include handling to...
15421         (do_include_common): ... here.  Move import warning from...
15422         (do_import): ... here.
15423         (do_pragma_poison): Don't do a callback for poison identifiers.
15424         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
15425         * cppmain.c (setup_callbacks): Similarly.
15426
15427 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
15428
15429         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
15430         handle multiple sets.
15431         * except.c (sjlj_mark_call_sites): .... here.
15432         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
15433
15434 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
15435
15436         Suggested by Richard Henderson and Richard Kenner:
15437         * combine.c (recog_for_combine): Use the fake recog
15438         only if instruction does not match.
15439         * rtl.h (NOOP_MOVE_INSN_CODE): New.
15440         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
15441
15442         * combine.c (try_combine): Discover noop jump as direct jump.
15443
15444 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
15445
15446         * df.c (df_rd_global_compute): Add successors to worklist, not
15447         current item.
15448         (df_ru_global_compute): Ditto.
15449
15450 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
15451
15452         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
15453         increment REG_N_SETS.
15454
15455 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
15456
15457         * sbitmap.h: New prototype for sbitmap_a_xor_b.
15458
15459         * sbitmap.c (sbitmap_a_xor_b): New function.
15460         ifdef the basic block stuff on IN_GCC.
15461
15462 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15463
15464         * cppexp.c (parse_defined): Always record the macro name.
15465         (lex): Don't worry about identifiers, or special-case
15466         CPP_NOT here.
15467         (_cpp_parse_expr): Figure out at the end of the routine
15468         whether we saw a valid !defined() expression.
15469         * cppfiles.c (stack_include_file): Update for mi_valid.
15470         (_cpp_pop_file_buffer): Similarly.
15471         * cpplex.c (_cpp_lex_token): Similarly.
15472         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
15473         mi_if_not_defined, mi_lexed): Remove.
15474         (mi_valid): New.
15475         * cpplib.c (do_if): Simplify.
15476         (do_endif, push_conditional, _cpp_handle_directive): Update
15477         for renaming of mi_state to mi_valid.
15478 doc:
15479         * cpp.texi: Add index entries for digraphs, and add comment
15480         that C++ refers to them as alternative tokens.
15481
15482 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
15483
15484         * basic-block.h (CLEANUP_PRE_LOOP): New.
15485         * except.c (finish_eh_generation): Update call of cleanup_cfg.
15486         * sibcall.c (optimize_sibling_calls): Likewise.
15487         * toplev.c (rest_of_compilation): Likewise.
15488         * flow.c (try_forward_edges): Take argument MODE;
15489         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
15490         (try_optimize_cfg): Update call of try_forward_edges.
15491
15492 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15493                                 Jan Hubicka  <jh@suse.cz>
15494
15495         * (validate_replace_rtx_1): Fix simplification of MINUS.
15496
15497 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
15498
15499         PR preprocessor/3669
15500         * cppinit.c (init_dependency_output): Turn off dump requests
15501         if sending dependencies to stdout.
15502
15503 2001-07-28  Richard Henderson  <rth@redhat.com>
15504
15505         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
15506         not optimizing.
15507
15508 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
15509
15510         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
15511
15512 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15513
15514         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
15515         is VAR_DECL first to prevent an ICE.
15516
15517 2001-07-28  Richard Henderson  <rth@redhat.com>
15518
15519         * varasm.c (immed_real_const_1): Don't elide special cases for
15520         nested functions.
15521         (clear_const_double_mem): Clear const_tiny_rtx too.
15522
15523 2001-07-28  Richard Henderson  <rth@redhat.com>
15524
15525         * dwarf2out.c (dw_val_class_offset): New.
15526         (struct dw_ranges_struct, dw_ranges_ref): New.
15527         (ranges_table, ranges_table_allocated): New.
15528         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
15529         (add_AT_offset, add_ranges, output_ranges): New.
15530         (print_die, output_die): Handle dw_val_class_offset.
15531         (attr_checksum, size_of_die, value_format): Likewise.
15532         (gen_lexical_block_die): Handle non-contiguous blocks.
15533         (gen_block_die): Likewise.
15534         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
15535         if needed.  Dump the ranges table.
15536         * final.c (final_start_function): Remove unnecessary notes and
15537         rebuild the block tree before numbering the blocks.
15538         * function.c (reorder_blocks_0): Walk the existing block tree
15539         to unmark all blocks.
15540         (reorder_blocks_1): Create block fragments when duplicate block
15541         notes are seen.
15542         (reorder_fix_fragments): New.
15543         (reorder_blocks): Call it.
15544         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
15545
15546 2001-07-28  Richard Henderson  <rth@redhat.com>
15547
15548         * emit-rtl.c (adjust_address): Make a copy of the memory address.
15549
15550 2001-07-28  Richard Henderson  <rth@redhat.com>
15551
15552         * flow.c (add_to_mem_set_list): New function.
15553         (init_propagate_block_info): Use it.
15554         (mark_set_1): Likewise.
15555         (insn_dead_p): Canonicalize memory address for dead store
15556         comparison.  Allow wider mode stores to kill narrower mode stores.
15557         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
15558         (invalidate_mems_from_set): Don't handle MEMs.
15559
15560 2001-07-28  Kazu Hirata  <kazu@hxi.com>
15561
15562         * config/h8300/h8300.h: Fix formatting.
15563
15564 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15565
15566         * basic-block.h (EDGE_FREQUENCY): New macro.
15567         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
15568         for new BB/edges.
15569         * flow.c (find_sub_basic_blocks): Likewise.
15570         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
15571         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
15572
15573         * predict.c (DEF_PREDICTOR): New argument FLAGS.
15574         (HITRATE): New macro.
15575         (PRED_FLAG_FIRST_MATCH): New constant.
15576         (predictor_info): New field flgags.
15577         (combine_predictions_for_insn): Use DS theory to combine
15578         probabilities; set the edge probabilities when finished.
15579         (estimate_probability): Avoid duplicated matches
15580         of LOOP_BRANCH heuristics for nested loops; update comment.
15581         * predict.def: Add flags for each prediction, set probabilities
15582         according to B&L paper.
15583         * predict.h (DEF_PREDICTOR): New argument FLAGS.
15584
15585         * profile.c (compute_branch_probabilities):  Cleanup way the edge
15586         probabilities are computed and REG_BR_PROB notes are dropped; if
15587         values does not match, emit error.
15588         (init_branch_prob): Do error instead of warning when profile driven
15589         feedback is missing or corrupt.
15590
15591 2001-07-27  DJ Delorie  <dj@redhat.com>
15592
15593         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
15594         against a constant, try to adjust the compare to have the desired
15595         constant in it so that min/max optimizations happen more often.
15596
15597 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15598
15599         * flow.c (last_loop_beg_note): New function.
15600         (redirect_edge_and_branch): Use it.
15601         (split_edge): Likewise.
15602
15603         * alias.c (loop_p): Avoid uninitialized memory access.
15604
15605         * flow.c (try_forward_edges): Avoid accessing freed memory.
15606
15607         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
15608         variable access.
15609
15610 2001-07-26  Andrew Haley  <aph@redhat.com>
15611         Joern Rennecke <amylaar@redhat.com>
15612
15613         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
15614         (SUBTARGET_CPP_ENDIAN_SPEC): New.
15615         (SUBTARGET_CPP_SPEC): New.
15616         (CPP_SPEC): Remove.
15617         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
15618         (SUBTARGET_CPP_PTR_SPEC): New.
15619         (CPP_DEFAULT_CPU_SPEC): New.
15620         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
15621         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15622         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
15623         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
15624         (SUBTARGET_CPP_SPEC): Define as an empty string.
15625
15626 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
15627
15628         * doc/install.texi (Configuration): Properly link the host
15629         specific instructions also when generating HTML.
15630
15631 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
15632
15633         * flow.c (redirect_edge_and_branch_force): Test
15634         target->global_live_at_start.
15635
15636 2001-07-26  Richard Henderson  <rth@redhat.com>
15637
15638         * simplify-rtx.c (avoid_constant_pool_reference): Export.
15639         * rtl.h (avoid_constant_pool_reference): Declare it.
15640         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
15641         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
15642
15643 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
15644
15645         * rtl.h (cleanup_barriers): Declare.
15646         * jump.c (cleanup_barriers): New function.
15647         * toplev.c (rest_of_compilation): Call cleanup_barriers
15648         before loop optimizer and after bb_reorder.
15649
15650         * flow.c (back_edge_of_syntactic_loop_p): New.
15651         (split_edge): Use it.
15652
15653 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15654
15655         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
15656
15657 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
15658
15659         * cse.c (cse_process_notes): Replace any registers if the address
15660         remains valid.
15661
15662 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
15663
15664         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
15665         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
15666         (propagate_block): Update prototype.
15667         * flow.c (update_life_info): Simplify the CFG and
15668         recalculate the global regs which are alive when
15669         removing dead code during a global update.
15670         (propagate_block): Return non-zero if an INSN is
15671         deleted.
15672
15673 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15674
15675         * Makefile.in (LIBICONV): Define.
15676
15677 2001-07-26  Catherine Moore  <clm@redhat.com>
15678
15679         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
15680         of conditional to avoid tree checking errors.
15681
15682 2001-07-26  Kazu Hirata  <kazu@hxi.com>
15683
15684         * regmove.c (regmove_optimize): Don't replace a reg with
15685         another reg of a different mode.
15686
15687 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
15688
15689         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15690         limit length of dependency flush list.
15691         * params.h (MAX_PENDING_LIST_LENGTH): Define.
15692         * sched-int.h  (struct deps): Add pending_flush_length field.
15693         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15694         has 1 element in it.
15695         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15696         (sched_analyze): After a jump, if the pending memory flush list is too
15697         large, flush the pending lists.
15698         (init_deps): Initialize pending_flush_length to 0.
15699         * doc/invoke.texi (max_pending_list_length): Document parameter.
15700
15701 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
15702
15703         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15704         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15705         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15706
15707 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15708
15709         * cpphash.h (struct_lexer_state): Delete was_skipping.
15710         Move skipping here from struct cpp_reader.
15711         * cpplex.c (parse_identifier): Update.
15712         (_cpp_lex_token): Don't skip tokens in a directive.
15713         * cpplib.c (struct if_stack): Update.
15714         (start_directive, end_directive): Don't change skipping state.
15715         (_cpp_handle_directive): Update.
15716         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15717         (do_else, do_endif): Update; only check for excess tokens if not
15718         in a skipped conditional block.
15719         (push_conditional): Update for new struct if_stack.
15720
15721 2001-07-26  Graham Stott  <grahams@redhat.com>
15722
15723         * function.c (locate_and_pad_parm): Also pad initial offset
15724         so that the total argument size also includes the padding.
15725
15726 2001-07-26  Graham Stott <grahams@redhat.com>
15727
15728         * gensupport.c (alter_output_for_insn): Correct enable checking failure
15729         change XSTR to XTMPL.
15730
15731         (process_one_cond_exec): Likewise
15732
15733 2001-07-25  Richard Henderson  <rth@redhat.com>
15734
15735         * varasm.c (assemble_variable): Create DECL_RTL before setting
15736         TREE_ASM_WRITTEN.
15737
15738 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
15739
15740         * predict.c (estimate_probability): Avoid duplicated predictions.
15741
15742         * loop.c (find_and_verify_loops): Grok multiple barriers.
15743
15744 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15745
15746         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15747
15748         * dbxout.c: Consistently use putc instead of fputc.
15749         (print_wide_int): New function; call instead of direct fprintf.
15750         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15751         (dbxout_type_fields, dbxout_type_method_1): Likewise.
15752         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15753         (print_int_cst_octal): Likewise.
15754         (print_octal): Show we wrote characters.
15755         (dbxout_type): Set have_used_extensions in more places.
15756
15757 2001-07-25  Catherine Moore  <clm@redhat.com>
15758
15759         * config/v850/v850.c (v850_va_arg):  Use addr
15760         instead of valist to build incr.
15761
15762 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
15763
15764         * flow.c (delete_dead_jumptables): New function.
15765         (life_analyzis): Call it.
15766         * bb-reorder.c (skip_insns_after_block): Handle contradictory
15767         sequences.
15768
15769 2001-07-25  Richard Henderson  <rth@redhat.com>
15770
15771         * except.c (reachable_handlers): Handle a region being removed
15772         out from under a RESX.
15773
15774 2001-07-25  Richard Henderson  <rth@redhat.com>
15775
15776         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
15777         swap GE/GT if it is an fp comparison.
15778
15779 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
15780
15781         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
15782         operands.
15783
15784 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
15785
15786         * ssa.c (rename_insn_1): Do not wrap an assignment to a
15787         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
15788         glitch.
15789
15790         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
15791         throw an exception.
15792         (visit_expression): When attempting to simplify an expression,
15793         retrieve any modes for arguments before they are simplified
15794         to constants.
15795
15796 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15797             Janis Johnson  <janis@us.ibm.com>
15798
15799         * stmt.c (expand_goto): A nonlocal goto can be a call too.
15800         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
15801         pointer parameters to match documented usage of nonlocal_goto.
15802         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
15803         parameters to their correct order.
15804         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
15805         parameters to their correct order.
15806
15807 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
15808
15809         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
15810
15811 2001-07-25  Jan Hubicka  <jh@suse.cz>
15812             Richard Henderson  <rth@redhat.com>
15813
15814         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
15815         the sequence.
15816         (make_edges): New argument update_p; populate the edge cache if set.
15817         (find_basic_blocks): Update make_edges invocation.
15818
15819 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15820
15821         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
15822
15823 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15824
15825         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
15826         -Acpu and -Amachine.h.
15827         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
15828         Corrected header to say ELF not a.out.
15829         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
15830         when given -msoft-float.
15831
15832 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15833
15834         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
15835         extra multilib parts like arm-elf.
15836         (i960-*-coff*, i960-*-rtems): Should not use collect2.
15837         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
15838         crtfini.o as extra multilib parts.
15839
15840 2001-07-24  Joel Sherrill <joel@OARcorp.com>
15841
15842         * configure.in: Add rtems as a supported thread model.
15843         * gthr-rtems.h: Add missing entry point __gthread_active_p.
15844         * configure: Rebuilt.
15845
15846 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
15847
15848         * stor-layout.c (get_mode_alignment): make it work when
15849         BITS_PER_UNIT is not a power of two.
15850         * builtins.c (get_pointer_alignment): Likewise.
15851
15852 2001-07-24  Richard Henderson  <rth@redhat.com>
15853
15854         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
15855         the retrieved constant into the expected mode.
15856
15857 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
15858
15859         * flow.c (try_simplify_condjump): Avoid duplicated edges.
15860         (verify_flow_info): Check for duplicated edges; clarify
15861         error reporting.
15862
15863         * flow.c (block_label): Update basic_block_for_insn.
15864         (commit_edge_insertions): Call compute_bb_for_insn.
15865
15866         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
15867         returns too.
15868
15869         * flow.c (redirect_edge_and_branch,
15870         try_optimize_cfg): Use redirect_edge_succ_nodup
15871         (redirect_edge_succ_nodup): New.
15872         * basic_block.h (redirect_edge_succ_nodup): Declare.
15873
15874         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
15875         after gcse.
15876
15877 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
15878
15879         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
15880         (try_crossjump_to_edge): Update commetns.
15881         (try_crossjump_bb): Likewise.
15882
15883 2001-07-24  Richard Henderson  <rth@redhat.com>
15884
15885         * combine.c (distribute_notes): Move set of need_refresh
15886         for noop_move_p down to catch all cases.
15887
15888 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
15889
15890         * recog.c (split_all_insns_noflow): New.
15891         * rtl.h (split_all_insns_noflow): Declare.
15892         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
15893         * m68hc11.c (m68hc11_reorg): Likewise.
15894         * sh.c (machine_dependent_reorg): Likewise.
15895         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
15896         call.
15897
15898 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
15899
15900         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
15901         (ashlsi3_n splitter): Likewise.
15902         (lshrsi3_n splitter): Likewise.
15903
15904         (GOTaddr2picreg): Make const SImode.
15905         (sym_label2reg): Likewise.
15906         (symGOT2reg): Likewise.
15907         (symGOTOFF2reg) Likewise.
15908
15909         (casesi_worker_0): Make unspec SImode.
15910
15911 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
15912
15913         * config/sh/sh.c (barrier_align): Check that an operand really is
15914         an insn before extracting its INSN_CODE.
15915
15916 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
15917
15918         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
15919         dangling else.
15920
15921         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
15922         for SImode to prevent overflow.
15923
15924 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15925
15926         * config/mips/irix6-libc-compat.c: New file.
15927         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
15928         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
15929         passing workaround.
15930
15931 2001-07-24  lars brinkhoff  <lars@nocrew.org>
15932
15933         * rtl.texi (REG_POINTER): Document.
15934         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
15935         QFmode, HFmode, TQFmode, QCmode, and HCmode.
15936
15937 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
15938
15939         * flow.c (delete_noop_moves): Do not confuse libcall regions.
15940
15941 2001-07-23  Richard Henderson  <rth@redhat.com>
15942
15943         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
15944
15945 2001-07-23  Kazu Hirata  <kazu@hxi.com>
15946
15947         * config/h8300/h8300-protos.h: Add a prototype for
15948         general_operand_dst_push.
15949         * config/h8300/h8300.c (general_operand_dst_push): New.
15950         * config/h8300/h8300.h (OK_FOR_T): New.
15951         (EXTRA_CONSTRAINT): Use it.
15952         * config/h8300/h8300.md (movqi_push): Remove and integrate into
15953         the existing movqi pattern.
15954         (movhi_push): Likewise.
15955
15956         * reload.c: Fix comment typos.
15957
15958 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
15959
15960         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
15961
15962 2001-07-23  H.J. Lu  (hjl@gnu.org)
15963
15964         * doc/extend.texi: Update __builtin_return_address and
15965         __builtin_frame_address.
15966
15967 2001-07-23  Richard Henderson  <rth@redhat.com>
15968
15969         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
15970         before CSE.
15971         * config/i386/i386.md: New setcc+movzbl peephole2.
15972
15973 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15974
15975         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
15976         * objc/objc-act.c: Include debug.h.
15977         (synth_module_prologue): Save and restore debug hooks too.
15978
15979 2001-07-23  lars brinkhoff  <lars@nocrew.org>
15980
15981         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
15982         and C4X_FLOAT_FORMAT.
15983         (BOOL_TYPE_SIZE): Document.
15984
15985 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
15986
15987         * unroll.c (loop_iterations): Fix miscalculation of initial
15988         giv offset.
15989
15990 2001-07-13  Andrew Haley  <aph@redhat.com>
15991
15992         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
15993         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
15994         * config/sh/sh.c (sh_can_redirect_branch): New function.
15995         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
15996         * reorg.c (steal_delay_list_from_target): Use
15997         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
15998
15999 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
16000
16001         * flow.c (try_simplify_condjump): Unlink insn chain on
16002         fallthru edge; use can_fallthru.
16003
16004 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
16005
16006         * basic-block.h (find_sub_basic_block): Declare.
16007         * flow.c (make_edges): New arguments MIN and MAX;
16008         (find_sub_basic_blocks): Revamp to use make_edges
16009         and purge_dead_edges.
16010         (find_basic_blocks): Update call of find_sub_basic_block.
16011
16012         * recog.c (split_all_insns): Always expect CFG to be consistent;
16013         call find_sub_basic_blocks in case something has changed.
16014         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
16015         has been built.
16016
16017         * basic-block.h (delete_noop_moves): Declare.
16018         * combine.c (combine_instructions): Call it.
16019         (recog_for_combine): Tolerate noop moves
16020         (distribute_notes): Force refresh when register dies at noop move.
16021         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
16022         too.
16023         (life_analysis): Update delete_noop_moves call.
16024         (set_noop_p): Move too ...
16025         * rtlanal.c (noop_move_p): ... here.
16026         * rtl.h (noop_move_p): Declare.
16027
16028         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
16029         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
16030         after combine.
16031         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
16032         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
16033
16034 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
16035
16036         * reload.c (push_reload): Fix typo in comment.
16037         (find_reloads_address): Ditto.
16038         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
16039
16040 2001-07-22  Richard Henderson  <rth@redhat.com>
16041
16042         * flow.c: Grammar check and clarify a lot of comments.
16043         (try_simplify_condjump): Rename variables to be clearer.
16044         (try_forward_edges): Skip complex and fallthru edges.
16045         Rearrange tests to avoid duplicate checks.
16046         (flow_find_cross_jump): Likewise.
16047         (outgoing_edges_match): Allow match if neither branch has
16048         probability data.  Loosen probability match to 5%.
16049         (try_crossjump_to_edge): Hoist repeated indirection into
16050         local variables.
16051         (try_crossjump_bb): Don't check complex edges.  Eliminate
16052         redundant crossjump tests.
16053         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
16054         checks before more expensive checks.
16055
16056 2001-07-22  Richard Henderson  <rth@redhat.com>
16057
16058         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
16059         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
16060         arguments.
16061
16062 2001-07-22  Richard Henderson  <rth@redhat.com>
16063
16064         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
16065         (const_sint32_operand): Likewise.
16066         * m68k.md (anon mulsi pattern): Use const_int_operand not
16067         const_sint32_operand.
16068         (umulsi3_highpart): Zero extend a constant input.
16069         (smulsi3_highpart): Don't bother checking SImode constant.
16070         (const_umulsi3_highpart): Give op3 DImode.
16071         (const_smulsi3_highpart): Likewise.
16072
16073 2001-07-22  Richard Henderson  <rth@redhat.com>
16074
16075         * flow.c (split_block): Make sure bb_note is included in the
16076         new block when splitting before a label.
16077
16078 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
16079
16080         * basic-block.h (redirect_edge_and_branch_force,
16081         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
16082         * flow.c (redirect_edge_and_branch_force,
16083         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
16084         (redirect_edge_and_branch_force): Fix copying of lifeness information.
16085         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
16086         * ifcvt.c (dead_or_predictable): Take BB as an new destination
16087         instead of label; update CFG after transformation.
16088         (find_if_case_1): Update call, use redirect_edge_and_branch_force
16089         for finishing the transformation; handle even case where ELSE
16090         does not follow THEN.
16091         (find_if_case_2): Update call of dead_or_predictable; simplify
16092         CFG update.
16093
16094         * emit-rtl.c (split_branch_probability): New global variable.
16095         (try_split): Take care to set split_branch_probability and
16096         create REG_BR_PROB note for new jump insns.
16097         * md.texi (define_split): Document new feature.
16098
16099         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
16100
16101 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
16102
16103         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
16104         (asm_out_file): Remove redundant declaration.
16105         (assemble_asm): Remove old #if 0 block.
16106         (assemble_variable): Remove end of function; debug output is
16107         now handled with global_decl.  Remove old #if 0 block.  Update.
16108         Remove saved_in_section and associated no-op code.
16109         * Makefile.in (varasm.o): Correct dependencies.
16110
16111 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
16112
16113         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
16114         the definition in defaults.h.
16115
16116 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
16117
16118         * jump.c: Update comments.
16119         (delete_barrier_successors, delete_unreferenced_labels,
16120         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
16121         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
16122         jump_optimize, jump_optimize_minimal): Kill.
16123         (rebuild_jump_labels): Move code from jump_optimize_1.
16124         (purge_line_number_notes): Likewise.
16125         (copy_loop_headers): Likewise.
16126         * reg-stack.c: Update comment.
16127         * stmt.c: Likewise.
16128         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
16129         JUMP_AFTER_REGSCAN): Kill.
16130         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
16131         purge_line_number_notes and copy_loop_headers.
16132
16133 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
16134            Richard Henderson  <rth@redhat.com>
16135
16136         * dbxout.c (dbxout_global_decl): New.
16137         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16138         * sdbout.c (sdbout_finish): New.
16139         (sdbout_debug_hooks): Use it, add comments.
16140         (sdbout_global_decl): Defer initialised public vars to
16141         sdbout_finish.
16142         * varasm.c (assemble_variable): Don't output debug information
16143         for file-scope variables.
16144
16145 2001-07-22  Richard Henderson  <rth@redhat.com>
16146
16147         * config/alpha/alpha.c (get_trap_mode_suffix): New.
16148         (get_round_mode_suffix): New.
16149         (print_operand): Use them for [/].  Remove support for [&'`()+].
16150         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
16151         * config/alpha/alpha.md (attr round_suffix): New.
16152         (attr trap_suffix): New.
16153         (all insns): Set them appropriately.  Use %/ instead of the
16154         myriad punctuators.
16155
16156 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16157
16158         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
16159
16160 2001-07-22  Richard Henderson  <rth@redhat.com>
16161
16162         * regrename.c (regrename_optimize): Compute nregs for each
16163         potential target register.
16164
16165 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
16166            Richard Henderson  <rth@redhat.com>
16167
16168         * dbxout.c (dbxout_global_decl): New.
16169         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
16170         * sdbout.c (sdbout_finish): New.
16171         (sdbout_debug_hooks): Use it, add comments.
16172         (sdbout_global_decl): Defer initialised public vars to
16173         sdbout_finish.
16174         * varasm.c (assemble_variable): Don't output debug information
16175         for file-scope variables.
16176
16177 2001-07-21  H.J. Lu  (hjl@gnu.org)
16178
16179         * config/mips/mips.c (mips_cpu): Moved into ...
16180         (override_options): Here.
16181
16182         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
16183         mips_tune.
16184         (mips_cpu): Removed.
16185
16186 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16187
16188         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
16189         ("iorqi3"): Likewise.
16190         ("xorqi3"): Likewise.
16191         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
16192         ("*subhi3_sp): Likewise.
16193         ("*subhi3"): Likewise.
16194         ("extendhisi2"): Accept D, X and Y as source operand to avoid
16195         reload problems.
16196
16197 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
16198
16199         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
16200         * config/freebsd.h: Likewise.
16201         * config/linux.h: Likewise.
16202         * config/openbsd.h: Likewise.
16203         * config/alpha/linux-elf.h: Likewise.
16204         * config/arm/linux-elf.h: Likewise.
16205         * config/d30v/d30v.h: Likewise.
16206         * config/fr30/fr30.h: Likewise.
16207         * config/ia64/aix.h: Likewise.
16208         * config/ia64/ia64.h: Likewise.
16209         * config/mips/linux.h: Likewise.
16210         * config/pj/pj.h: Likewise.
16211         * config/rs6000/linux.h: Likewise.
16212         * config/sparc/linux.h: Likewise.
16213         * config/sparc/linux64.h: Likewise.
16214
16215 2001-07-20  Bruce Korb  <bkorb@gnu.org>
16216
16217         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
16218         because getc() and char* may disagree on signedness.
16219
16220 2001-07-20  Richard Henderson  <rth@redhat.com>
16221
16222         * doc/rtl.texi (REG_DEAD): Update for current semantics.
16223
16224         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
16225         insns to delete in the presence of cc0 in a jump insn.
16226
16227 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
16228                                 Jan Hubicka  <jh@suse.cz>
16229
16230         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
16231         of doing the change by hand.
16232
16233 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
16234
16235         * rtlanal.c (set_noop_p): Return true for noop jumps.
16236
16237         * expr.c (emit_single_push_insn): Add call to push expander.
16238         * expr.h (optab_index): Add OTI_push
16239         (push_optab): New constant.
16240         * genopinit.c (optabs): Add push_optab.
16241         * optabs.c (init_optab): Init push optab.
16242         * md.texi (push??1): Document
16243
16244 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16245
16246         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
16247         expand to emit the pattern; put a REG_INC note for push/pop
16248         instructions.
16249         ("movdf", "movdf_internal"): Likewise.
16250         ("movsi", "movsi_internal"): Likewise.
16251         ("movsf", "movsf_internal"): Likewise.
16252         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
16253
16254 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16255
16256         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
16257         gen_highpart.
16258
16259 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
16260
16261         * params.def: Change default max inline insns to 100.
16262
16263 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
16264
16265         * combine.c (combine_simplify_rtx): Generate a new shift operation
16266         when simplifying the first operand of a (neg (ashift)) expression.
16267
16268 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16269
16270         * regclass.c (N_REG_INTS): Use only 32 bits per element.
16271
16272 2001-07-20  Kelley Cook  <kelley.cook@home.com>
16273
16274         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
16275         information.   Move rest into ...
16276         (*-*-solaris): ... here.  Eliminate redundant information and
16277         reword necessary packages section.  Delete 4.x assembler bug info.
16278         (sparc-sun-*): Merge into ...
16279         (sparc-sun-sunos*): here.
16280
16281 2001-07-20  Catherine Moore  <clm@redhat.com>
16282
16283         * config/v850/v850.md (casesi): Generate LABEL_REF
16284         with Pmode.
16285
16286 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
16287
16288         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
16289         * i386.c (ix86_zero_extend_to_Pmode): Make global.
16290         * i386.md (strclrsi expander): Use it.
16291
16292 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16293
16294         * integrate.c (copy_insn_list): handle
16295         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
16296         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
16297         identically as to CODE_LABEL.
16298
16299         * fold-const (fold): Convert A/B/C to A/(B*C) and
16300         A/(B/C) to (A/B)*C
16301
16302         * except.c (connect_post_landing_pads): Delete the RESX insns.
16303
16304 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
16305
16306         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
16307
16308         * config/mips/mips.md (nmadd/nmsub): Use macro.
16309
16310 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
16311
16312         * cppinit.c (remove_dup_dir): Make static.
16313         (remove_dup_dirs): Make static. Only warn about preempting a
16314         system directory with a non-system directory.
16315
16316 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16317
16318         * ifcvt.c (noce_try_store_flag_constants): Correct order
16319         of parameters to trunc_int_for_mode.
16320
16321 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
16322
16323         * reorg.c (fill_simple_delay_slots): If an instruction might throw
16324         an exception that will be caught within this function, do not fill
16325         its delay slot with any subsequent instruction.
16326
16327 2001-07-19  Steve Ellcey <sje@cup.hp.com>
16328
16329         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
16330         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
16331         pointer extension instruction.
16332         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
16333         * simplify-rtx.c (simplify_unary_operation) Likewise.
16334         * explow.c (convert_memory_address) Check value of
16335         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
16336         less than zero.
16337         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
16338         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
16339         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
16340         Add Multilib Support.
16341         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
16342         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
16343         Add Multilib Support.
16344         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
16345         support.
16346         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
16347         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
16348         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
16349
16350 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
16351
16352         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
16353         old and new operands in `<', `3' and `b'.
16354
16355 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16356
16357         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
16358         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
16359         (toplev.o): Don't depend on xcoffout.h.
16360         * c-decl.c: Include debug.h
16361         (duplicate_decls): Use debug hook.
16362         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
16363         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16364         (dbxout_types): Remove.
16365         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
16366         * debug.c (do_nothing_debug_hooks): Update.
16367         (debug_true_tree, debug_nothing_rtx): New.
16368         * debug.h (struct rtx_def): New.
16369         (struct gcc_debug_hooks): New hooks ignore_block,
16370         outlining_inline_function and label.
16371         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
16372         dwarf2out_frame_finish): New.
16373         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
16374         Make static, update prototype.
16375         (dwarf2_debug_hooks): Update.
16376         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
16377         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
16378         * dwarfout.c (dwarf_debug_hooks): Update.
16379         * emit-rtl.c: Include debug.h.
16380         (remove_unnecessary_notes): Use debug hook.
16381         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
16382         (final_scan_insn): Use debug hook.
16383         * integrate.c (output_inline_function): Use debug hook.
16384         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
16385         (sdb_debug_hooks): Update.
16386         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
16387         * toplev.c: Don't include xcoffout.h.
16388         (note_outlining_of_inline_function, debug_ignore_block): Remove.
16389         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
16390         Remove.
16391         * tree.h (dwarf2out_do_frame): Remove.
16392
16393 2001-07-19  Catherine Moore  <clm@cygnus.com>
16394
16395         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
16396
16397 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
16398
16399         * reload1.c (eliminate_regs_in_insn): When updating a set
16400         to the frame pointer to the hardware frame pointer, perform
16401         the update always not just when REPLACE is set.
16402
16403         * reload1.c (choose_reload_regs): Don't inherit a reload
16404         that crosses multiple registers if registers past the first
16405         don't fit in the desired class.
16406
16407         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
16408         when negating constants.
16409
16410 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
16411
16412         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
16413         * doc/tree.texi: Ditto.
16414
16415 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
16416             Jakub Jelinek  <jakub@redhat.com>
16417
16418         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
16419         (extract_cie_info): Handle "eh" augmentation properly,
16420         remember eh_ptr.
16421         (struct frame_state, __frame_state_for): New.
16422
16423 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16424
16425         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
16426         HANDLE_SYSV_PRAGMA): Define.
16427         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
16428         previous args.
16429         (copy_object): Caller changed.
16430
16431 2001-07-19  Andreas Schwab  <schwab@suse.de>
16432
16433         * configure.in (assembler dwarf2 debug_line support): Define nop
16434         insn for m68k.
16435         * configure: Regenerated.
16436
16437 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16438
16439         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
16440         dwarfout.h.
16441         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
16442         to conditionally compiled block.
16443         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16444         * dbxout.h (dbxout_function): Remove.
16445         * debug.c (do_nothing_debug_hooks): Update.
16446         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
16447         global_decl, deferred_inline_function.
16448         * dwarf2out.c (dwarf2_debug_hooks): Update.
16449         (dwarf2out_global_decl): New.
16450         * dwarfout.c: Don't include dwarfout.h.
16451         (dwarfout_global_decl, dwarfout_function_decl,
16452         dwarfout_deferred_inline_function): New.
16453         (dwarf_debug_hooks): Update.
16454         * dwarfout.h: Remove.
16455         * final.c: Don't include dwarfout.h.
16456         * sdbout.c (sdbout_global_decl): New.
16457         (sdbout_debug_hooks): Update.
16458         * toplev.c: Don't include dwarfout.h.
16459         (check_global_declarations, rest_of_compilation): Use new debug hooks.
16460         (note_deferral_of_defined_inline_function): Remove.
16461         * toplev.h (note_deferral_of_defined_inline_function): Remove.
16462         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
16463         * ch/lex.c: Don't include dwarfout.h.
16464         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
16465         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
16466         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
16467         * cp/optimize.c: Include debug.h.
16468         (maybe_clone_body): Use debug hook.
16469         * cp/semantics.c: Include debug.h.
16470         (expand_body): Use debug hook.
16471         * po/POTFILES.in: Remove dwarfout.h.
16472
16473 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
16474
16475         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
16476         * c-parse.in (yyerror, _yylex): Similarly.
16477         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
16478         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
16479         Update comments.
16480         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
16481         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
16482
16483 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
16484
16485         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
16486         in-class declaration at -g1.  Fixes c++/2814.
16487
16488 2001-07-18  Richard Henderson  <rth@redhat.com>
16489
16490         * doc/md.texi (reload_in/out): Document restrictions in predicates
16491         and constraints for these patterns.  Document empty string matching
16492         ALL_REGS.
16493
16494 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16495
16496         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
16497
16498 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16499
16500         * cse.c: Undo my previous patch.
16501
16502 2001-07-18  Tom Tromey  <tromey@redhat.com>
16503
16504         For PR java/2812:
16505         * configure: Rebuilt.
16506         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
16507         instead.
16508         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
16509
16510 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
16511                                 Jan Hubicka  <jh@suse.cz>
16512
16513         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
16514         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
16515         * jump.c (mark_jump_label): Do not forward branches.
16516
16517 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
16518
16519         * cse.c (delete_trivially_dead_insns): Delete the libcall block
16520         when return value is unused.
16521
16522 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16523
16524         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
16525
16526 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
16527
16528         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
16529         on error.  We can't blindly return the result of
16530         pthread_mutex_trylock because it returns a positive number on
16531         error, while we must return -1 on error.
16532         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
16533         fixes.
16534         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
16535
16536 2001-07-18  Andreas Jaeger  <aj@suse.de>
16537
16538         * integrate.c (output_inline_function): Correct type of debug_hooks.
16539
16540 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
16541
16542         * combine.c (combine_simplify_rtx): DIV can be treated
16543         associatively for floats if unsafe math optimisations are enabled.
16544
16545 2001-07-17  Richard Henderson  <rth@redhat.com>
16546
16547         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
16548
16549 2001-07-17  Richard Henderson  <rth@redhat.com>
16550
16551         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
16552         don't force the function address into a register.
16553         (expand_call, emit_library_call_value_1): Update callers.
16554         * builtins.c (expand_builtin_apply): Likewise.
16555         * expr.h (prepare_call_address): Update decl.
16556
16557 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
16558
16559         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
16560         config directory.
16561         * config/i386/chorus.h: Move up.
16562         * config/sparc/chorus.h: Likewise.
16563         * config/rs6000/chorus.h: Likewise.
16564         * config/chorus.h: Moved here.
16565
16566 2001-07-17  Andreas Schwab  <schwab@suse.de>
16567
16568         * configure.in  (assembler eh_frame optimization): Handle big
16569         endian.
16570         * configure: Regenerated.
16571
16572 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
16573
16574         * expr.c (epxand_expr): Convert divisions into multiplications by
16575         reciprocals if -ffast-math.
16576
16577 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
16578
16579         * dbxout.c (dbxout_really_begin_function): Rename to
16580         dbxout_begin_function.
16581         (dbx_debug_hooks, xcoff_debug_hooks): Update.
16582         (dbxout_begin_function): Remove.
16583         (dbxout_function): Update.
16584         (dbxout_source_line): Update prototype.
16585         * dbxout.h (dbxout_begin_function): Remove.
16586         * debug.c (do_nothing_debug_hooks): Update.
16587         (debug_nothing_tree): Update.
16588         (debug_nothing_charstar_rtx): Remove.
16589         * debug.h (union tree_node): Declare.
16590         (struct rtx_def): Remove.
16591         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
16592         begin_function.  Change source_line prototype.
16593         (debug_nothing_tree): New.
16594         (debug_nothing_charstar_rtx): Delete.
16595         (dwarf2out_begin_prologue): Moved from ...
16596         * tree.h: ... here.
16597         * dwarf2out.c (dwarf2_debug_hooks): Update.
16598         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
16599         debug info, call dwarf2out_source_line.
16600         (dwarf2out_souce_line): Update prototype.
16601         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
16602         Change prototype, make static.
16603         (dwarfout_source_line): Update prototype.
16604         (dwarf_debug_hooks): Update.
16605         * dwarfout.h (dwarfout_begin_function): Remove.
16606         * final.c (final_start_function, final_scan_insn): Use appropriate
16607         debug hooks, update to use notice_source_line.
16608         (output_source_line): Rename notice_source_line.  Don't call the
16609         source_line debug hook.
16610         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
16611         make static, update prototype.
16612         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
16613         prototype.
16614         (sdbout_end_prologue): New.
16615         (sdbout_source_line): Update prototype.
16616         (sdbout_debug_hooks): Update.
16617         (sdbout_symbol): Remove unused var.
16618         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
16619         Delete.
16620         * varasm.c: Include debug.h.
16621         (assemble_start_function): Use begin_function debug_hook.
16622         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16623         update with prototype.
16624         (xcoffout_source_line): Update prototype.
16625         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
16626         update prototype.
16627         (xcoffout_source_line): Update prototype.
16628
16629 2001-07-17  Richard Henderson  <rth@redhat.com>
16630
16631         * c-typeck.c (build_binary_op): Do not shorten unsigned
16632         right shift after sign extension.
16633
16634 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
16635
16636         * combine.c (combine_simplify_rtx): Attempt to simplify
16637         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
16638
16639         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
16640         (simplify_binary_operation, simplify_unary_operation,
16641          simplify_relational_operation): Use it.
16642
16643         * combine.c (combine_simplify_rtx): Don't do associative law
16644         on divisions; allow associative law on floats.
16645
16646 2001-07-17  H.J. Lu <hjl@gnu.org>
16647             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16648
16649         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
16650         ASM_OUTPUT_WEAK_ALIAS are defined.
16651         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
16652         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
16653         Moved ...
16654         * config/mips/iris5.h: ... here.
16655         (HANDLE_SYSV_PRAGMA): Defined as 1.
16656         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
16657         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
16658         symbol.
16659
16660 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
16661
16662         * c-parse.in (all_prefix_attributes): New variable.
16663         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
16664         (maybe_resetattrs): New production.
16665         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
16666         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
16667         notype_initdcl, nested_function, notype_nested_function,
16668         component_decl, components, components_notype,
16669         component_declarator, component_notype_declarator,
16670         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
16671         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
16672         after a comma being applied to more than one declarator.
16673         * doc/extend.texi (Attribute Syntax): Update.  Remove
16674         documentation of bugs that are no longer present.
16675
16676 2001-07-13  Eric Christopher  <echristo@redhat.com>
16677
16678         * config/mips/mips.h: Change TUNE_MIPS* options to use
16679         mips_tune.
16680         (EXTRA_SPECS): Add cc1_cpu_spec.
16681         * config/mips/mips.md (muldf3): Fix typo.
16682
16683 2001-07-16  Richard Henderson  <rth@redhat.com>
16684
16685         * config/m68k/m68k.c: Include expr.h and reload.h.
16686         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16687         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16688
16689 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16690             Richard Henderson  <rth@redhat.com>
16691
16692         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16693         (insn_live_p): Fix fall off end of function.
16694         (dead_libcall_p): Remove COUNTS argument; update callers.
16695         (delete_trivially_dead_insns): Remove unused variables.
16696
16697 2001-07-17  Andreas Jaeger  <aj@suse.de>
16698
16699         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16700         x86-64 pic support.
16701
16702         * lcm.c (optimize_mode_switching): Avoid warning for unused
16703         variable if !NORMAL_MODE.
16704
16705         * flow.c (try_crossjump_to_edge): Remove unused variable.
16706
16707 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16708
16709         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16710         atexit declaration in stdlib.h.
16711
16712 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
16713
16714         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16715
16716 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16717
16718         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16719         * except.c (finish_eh_generation): Update call of cleanup_cfg;
16720         do rebuild_jump_labels instead of jump_optimize
16721         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16722         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16723         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16724
16725         * flow.c: Include timevar.h
16726         (find_basic_block): Push/pop timevar;
16727         (cleanup_cfg): Likewise.
16728         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16729         * Makefile: Add dependencies on timevar.h
16730
16731         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16732         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16733
16734         * rtl.h (delete_trivially_dead_insns): Add new parameter.
16735         * toplev.c (rest_of_compilation): Update calls.
16736         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16737         (delete_trivially_dead_insns): ... here; accept new argument
16738         preserve_basic_blocks; preserve basic blocks if set.
16739
16740         * reg-stack.c (stack_regs_mentioned): Return 0 if
16741         stack_regs_mentioned_data is not initialized.
16742         (reg_to_stack): Make stack_regs_mentioned survive after the
16743         reg-stack is completted; do not call cleanup_cfg.
16744         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16745         make cleanup_cfg after bb-reorder to output to debug file.
16746
16747 2001-07-16  Richard Henderson  <rth@redhat.com>
16748
16749         * regclass.c (init_reg_sets): Use only 32 bits per initializer
16750         from int_reg_class_contents.
16751
16752 2001-07-16  Richard Henderson  <rth@redhat.com>
16753
16754         * hard-reg-set.h (regs_invalidated_by_call): Declare.
16755         * regclass.c (regs_invalidated_by_call): Move from cse.c.
16756         (init_reg_sets_1): Move initialization from cse_main.
16757         * cse.c (regs_invalidated_by_call): Move to regclass.c.
16758         (cse_main): Move its initialization also.
16759         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16760         * flow.c (propagate_one_insn): Likewise.
16761         * gcse.c (compute_hash_table): Likewise.
16762         (compute_kill_rd, compute_store_table): Likewise.
16763         * sched-deps.c (sched_analyze_1): Likewise.
16764
16765 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
16766
16767         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16768         gen_rtx_SET.
16769
16770 2001-07-16  Steve Ellcey <sje@cup.hp.com>
16771
16772         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
16773         in if statement so we don't access undefined memory.
16774
16775 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
16776
16777         * gcse.c: Update comment at top.
16778         Update comment on mem handling.
16779         mem_last_set, mem_first_set, mem_set_in_block: gone.
16780         Declaration of reg_set_info: gone.
16781         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
16782         pointless with load_killed_in_block_p (they are *more*
16783         conservative then it, not less, and less accurate).
16784         (oprs_not_set_p): Ditto.
16785         (alloc_gcse_mem): Don't allocate mem_set_in_block
16786         (free_gcse_mem): Don't free it, either.
16787         (record_last_mem_set_info): Update comment in front, remove
16788         mem_*set_* stuff. Note the reason we don't handle stores directly
16789         here.
16790         (compute_hash_table): Update comments to reflect reality. Remove
16791         mem_*set_* references.
16792         (reset_opr_set_tables): Remove mem_*set_* references.
16793         (mark_call): Ditto.
16794         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
16795         (mark_clobber): Ditto (on both parts, we double set here too).
16796         (expr_killed_p): Remove mem_set_in_block test.
16797         (compute_transp): Remove mem_set_in_block test.
16798
16799         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
16800         of edge, and removal of phi alternative to dump file.
16801         (ssa_ccp_substitute_constants): Add note about register now being
16802         constant, and which uses were replaced in what insns to dump file.
16803
16804 2001-07-16  Andreas Jaeger  <aj@suse.de>
16805
16806         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
16807         variables of type HOST_WIDEST_INT.
16808
16809         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
16810         (__bb_exit_func): Correct type of count_max to avoid overflow.
16811         (num_digits): Handle long long argument.
16812
16813         * combine.c (gen_lowpart_for_combine): Remove unused variable.
16814
16815 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
16816
16817         * output.h (sdb_begin_function_line): Restore as an extern
16818         variable.
16819         * sdbout.c (sdb_begin_function_line): Make extern.
16820
16821 2001-07-15  Richard Henderson  <rth@redhat.com>
16822
16823         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
16824         * genrecog.c (maybe_both_true_mode): New.
16825         (maybe_both_true_2): Use it.
16826         (write_switch): Don't put Pmode in a switch.
16827         * rtl.c (mode arrays): Don't explicitly size them.
16828
16829 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
16830
16831         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
16832         handling; move unconditional splitting before mode switching.
16833
16834         * i386.md (type): Add fistp type.
16835         (i387, length_attr, scheduling definitions): Handle this type.
16836         (fix_trunc?f?i2): Revamp to use mode switching.
16837         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
16838         * i386.h (fp_cw_mode): New enum
16839         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
16840         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
16841
16842 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16843
16844         * Makefile.in (integrate.o): Add debug.h.
16845         * integrate.c (debug.h): Add.
16846         (output_inline_function): Save, reset, and restore debug_hooks.
16847
16848 2001-07-15  Richard Henderson  <rth@redhat.com>
16849
16850         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
16851         instead of COMPARE for the EQUIV expression.
16852
16853 2001-07-15  Richard Henderson  <rth@redhat.com>
16854
16855         * flow.c (redirect_edge_and_branch_force): Initialize
16856         global_live_at_start and global_live_at_end.
16857         (allocate_bb_life_data): Export.
16858         * basic-block.h (allocate_bb_life_data): Declare.
16859         * toplev.c (rest_of_compilation): Call it.
16860
16861 2001-07-15  Richard Henderson  <rth@redhat.com>
16862
16863         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
16864         (alpha_tablejump_best_label): New.
16865         * config/alpha/alpha-protos.h: Declare them.
16866         * config/alpha/alpha.md: Use braced strings for code blocks.
16867         (tablejump_osf): Break out add with r29.
16868         (tablejump_osf_internal): Remove.
16869         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
16870         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
16871
16872 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
16873
16874         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
16875         of the movable.
16876
16877         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
16878
16879         * i386-protos.h (ix86_split_fp_branch): Update prototype.
16880         (ix86_fp_jump_nontrivial_p): New.
16881         * i386.md (fp_jcc_?): Update call of split_fp_branch;
16882         use ix86_fp_jump_nontrivial_p.
16883         * i386.c (ix86_fp_jump_nontrivial_p): New.
16884         (ix86_split_fp_branch): Accept code instead of rtx.
16885         (ix86_expand_compare): Expand comparison early in case
16886         doing so is resonably cheap.
16887
16888 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
16889
16890         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
16891         not 'machine'.
16892         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
16893         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
16894
16895 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
16896
16897         * dbxout.c (dbxout_source_line): Make static, update prototype.
16898         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
16899         (dbxout_init, dbxout_finish, dbxout_source_line,
16900         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
16901         * dbxout.h (dbxout_source_line): Delete.
16902         * debug.c (debug_nothing_file, debug_nothing_file_int,
16903         debug_nothing_file_charstar_rtx): New.
16904         (do_nothing_debug_hooks): Update.
16905         (debug_nothing_void, debug_nothing_charstar_rtx,
16906         dwarf2out_end_epilogue): New.
16907         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16908         * debug.h (struct rtx_def): Declare.
16909         (gcc_debug_hooks): New hooks source_line, end_epilogue
16910         and end_function.
16911         (debug_nothing_void, debug_nothing_charstar_rtx,
16912         dwarf2out_end_epilogue): New.
16913         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16914         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
16915         (dwarf2_debug_hooks): Update.
16916         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
16917         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
16918         * dwarf2out.h (dwarf2out_source_line): Remove.
16919         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
16920         Make static, update prototype.
16921         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
16922         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
16923         (dwarf_debug_hooks): Update.
16924         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
16925         dwarfout_end_function): Remove.
16926         * final.c (profile_function): Use debug hooks for ending functions
16927         and epilogues.
16928         (output_source_line, final_end_function): Update prototype,
16929         use debug hooks.
16930         (final_start_function, final_scan_insn): Update.
16931         * output.h (sdb_begin_function_line): Remove.
16932         (final_end_function): Update prototype.
16933         * sdbout.c (sdb_begin_function_line): Make static.
16934         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
16935         (sdbout_source_line): New.
16936         (sdbout_end_epilogue, sdbout_end_function): Make static, update
16937         prototypes.
16938         (sdb_debug_hooks): Update.
16939         (sdbout_init, sdbout_source_line,
16940         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
16941         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
16942         * toplev.c (compile_file, rest_of_compilation): Update.
16943         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
16944         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
16945         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
16946         Update for prototype changes.
16947         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
16948         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
16949
16950 2001-07-15  Richard Henderson  <rth@redhat.com>
16951
16952         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
16953         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
16954         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
16955         * config/alpha/alpha.c: Likewise.
16956         * config/alpha/alpha.md: Likewise.
16957         * config/alpha/alpha32.h: Likewise.
16958         * config/alpha/vms.h: Likewise.
16959         (OPEN_VMS): Remove.
16960
16961 2001-07-14  Richard Henderson  <rth@redhat.com>
16962
16963         * config/alpha/alpha.md: Use define_constants for unspec values.
16964         Substitute throughout.
16965
16966 2001-07-14  Tim Josling  <tej@melbpc.org.au>
16967
16968         * tree.def (EXPON_EXPR) remove. Never supported anyway.
16969
16970 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16971
16972         * pa.md: Remove unused constraints from define_split's.
16973
16974 2001-04-14  Richard Henderson  <rth@redhat.com>
16975
16976         * ifcvt.c (find_cond_trap): Test for exit block.
16977
16978 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
16979
16980         Re-install recently reverted patch.
16981         * emit-rtl.c (try_split): Update mark_jump_label call.
16982         * flow.c (find_sub_basic_blocks): Likewise.
16983         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16984         jump_back_p): Kill.
16985         (mark_all_labels): Kill second parameter.
16986         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16987         (rebuild_jump_labels, jump_optimize_minimal): Update call
16988         of jump_optimize_1.
16989         (jump_optimize_1): Kill crossjumping code.
16990         (mark_jump_label): Kill cross_jump parameter.
16991         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16992         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16993         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16994          splitting.
16995         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16996         DFI_bpro.
16997         (dump_file_info): Likewise.
16998         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16999         reorganize passes to do reg-stack first, bb-reorder second.
17000         * invoke.texi (-d letters doc): Remove the jump2 pass.
17001
17002 2001-07-14  Richard Henderson  <rth@redhat.com>
17003
17004         * ifcvt.c (find_cond_trap): New.
17005         (find_if_header): Call it.
17006         (merge_if_block): Relax existing jump sanity check.
17007         * jump.c (jump_optimize_1): Remove conditional trap handling.
17008
17009 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
17010
17011         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
17012         millicode.
17013         (insn_refs_are_delayed): Correct comment.
17014         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
17015         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
17016         instead of r31.  Make associated insn !TARGET_64BIT, and
17017         provide an additional 64-bit insn that clobbers r2.
17018         (divsi3): Likewise.
17019         (udivsi3): Likewise.
17020         (modsi3): Likewise.
17021         (umodsi3): Likewise.
17022
17023 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
17024
17025         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
17026
17027         * flow.c (redirect_edge_and_branch_force, split_edge,
17028         try_crossjump_to_edge): Use set_block_for_new_insns.
17029         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
17030
17031 2001-07-13  H.J. Lu  (hjl@gnu.org)
17032
17033         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
17034         the correct patch.
17035
17036 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17037
17038         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
17039
17040 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
17041
17042         * c-common.c (decl_attributes): Take a pointer to the node to
17043         which attributes are to be attached, and a flags argument.
17044         * c-common.h (enum attribute_flags): New.
17045         (decl_attributes): Update prototype.
17046         * c-decl.c (start_decl, push_parm_decl, finish_struct,
17047         finish_enum, start_function): Update calls to decl_attributes.
17048         * c-parse.in (component_declarator, component_notype_declarator,
17049         label): Update calls to decl_attributes.
17050
17051 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
17052
17053         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
17054         * config/avr/avr.c (legitimate_address_p): Return value changed
17055         from letter to register classes. For better debugging.
17056
17057 2001-07-13  Kazu Hirata  <kazu@hxi.com>
17058
17059         * jump.c (reversed_comparison_code_parts): Fix comment typos.
17060
17061 2001-07-13  H.J. Lu  (hjl@gnu.org)
17062
17063         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
17064
17065 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
17066
17067         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
17068         correctly for shared configurations.
17069         * config/t-libgcc-pic:  New.
17070         * config/{i386,m68k,sparc}/t-openbsd:  New.
17071         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
17072         Support -shared.  Support debugging libraries with -g.
17073         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
17074         frame information does not emit pointer diffs.
17075         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
17076         emit pointer diffs.
17077
17078 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
17079
17080         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
17081
17082 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
17083
17084         * combine.c (try_combine): Ensure const_int pow2 is positive.
17085
17086 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
17087
17088         * config.gcc: Add configuration for s/390.
17089         * config/s390/s390.c: New. Subroutines for code generation.
17090         * config/s390/s390.h: New. Definitions for s/390.
17091         * config/s390/s390-protos.h: New. Prototypes.
17092         * config/s390/linux.h: New. Definitions for linux for s/390.
17093         * config/s390/linux64.h: New. Definitions for linux for zSeries.
17094         * config/s390/t-linux: New. Makefile fragment.
17095         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
17096         * config/s390/fixdfdi.h: New. Fix L_fix*di.
17097
17098 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
17099
17100         * emit-rtl.c (try_split): Update mark_jump_label call.
17101         * flow.c (find_sub_basic_blocks): Likewise.
17102         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
17103         jump_back_p): Kill.
17104         (mark_all_labels): Kill second parameter.
17105         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
17106         (rebuild_jump_labels, jump_optimize_minimal): Update call
17107         of jump_optimize_1.
17108         (jump_optimize_1): Kill crossjumping code.
17109         (mark_jump_label): Kill cross_jump parameter.
17110         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
17111         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
17112         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
17113          splitting.
17114         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
17115         DFI_bpro.
17116         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
17117         reorganize passes to do reg-stack first, bb-reorder second.
17118         * invoke.texi (-d letters doc): Remove the jump2 pass.
17119
17120 2001-07-12  Steve Ellcey <sje@cup.hp.com>
17121
17122         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
17123
17124 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
17125
17126         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
17127         basic blocks.
17128         (verify_flow_info): Make diagnostics prettier.
17129
17130 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
17131
17132         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
17133
17134         * flow.c (outgoing_edges_match): Return early if condition reversal
17135         failed.
17136
17137 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
17138
17139         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
17140         (mips_move_2words): When splitting a move into two instructions,
17141         prefix the second address operand with '%D'.
17142
17143 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
17144
17145         * Makefile.in (final.o): Depend on debug.h.
17146         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
17147         (dbx_debug_hooks): Add new hooks.
17148         (xcoff_debug_hooks): New.
17149         * debug.c (debug_nothing_file_int_int): New.
17150         (do_nothing_debug_hooks): Update.
17151         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
17152         (debug_nothing_file_int_int): New.
17153         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
17154         static, update prototype.
17155         (dwarf2_debug_hooks): Update.
17156         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
17157         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
17158         static, update prototype.
17159         (dwarf_debug_hooks): Update.
17160         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
17161         * final.c: Include debug.h.
17162         (final_scan_insn): Use debug hooks when beginning and ending blocks.
17163         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
17164         static, update prototype.
17165         (sdb_debug_hooks): Update.
17166         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
17167         * toplev.c: Distinguish between xcoff and dbx.
17168
17169         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
17170         Call all debug hooks, not just dwarf ones.
17171
17172 2001-07-11  Timothy Wall  <twall@redhat.com>
17173
17174         * config.gcc: Add configuration for AIX5/IA64.
17175         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
17176         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
17177         support prefix/suffix code.
17178         * config/ia64/t-aix: New.  Makefile fragment.
17179         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
17180
17181 2001-07-11  Kazu Hirata  <kazu@hxi.com>
17182
17183         * recog.c (validate_change): Fix a comment typo.
17184
17185 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
17186
17187         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
17188         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
17189         hooks directly.
17190         * dbxout.c (dbx_debug_hooks): Add new hooks.
17191         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
17192         make static.
17193         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
17194         make static.
17195         * dbxout.h (dbxout_start_new_source_file,
17196         dbxout_resume_previous_source_file): Delete.
17197         * debug.c (do_nothing_debug_hooks): Add new hooks.
17198         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17199         (debug_nothing_int_charstar, debug_nothing_int): New.
17200         * debug.h (gcc_debug_hooks): New hooks define, undef,
17201         start_source_file and end_source_file.
17202         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
17203         (debug_nothing_int_charstar, debug_nothing_int): New.
17204         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
17205         the conditionally compiled section.
17206         (dwarf2out_start_source_file, dwarf2out_end_source_file,
17207         dwarf2out_define, dwarf2out_undef): Make static.
17208         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
17209         dwarf2out_define, dwarf2out_undef): Remove.
17210         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
17211         (dwarfout_start_source_file, dwarfout_end_source_file,
17212         dwarfout_define, dwarfout_undef): Make static.
17213         (dwarfout_start_source_file_check,
17214         dwarfout_end_source_file_check): New.
17215         (dwarfout_define, dwarfout_finish): Update.
17216         * dwarfout.h (dwarfout_start_new_source_file,
17217         dwarfout_resume_previous_source_file, dwarfout_define,
17218         dwarfout_undef): Remove.
17219         * sdbout.c (sdb_debug_hooks): Add new hooks.
17220         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
17221         make static.
17222         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
17223         make static, take an arg.
17224         * sdbout.h (sdbout_start_new_source_file,
17225         sdbout_resume_previous_source_file): Delete.
17226         * toplev.c (debug_start_source_file, debug_end_source_file,
17227         debug_define, debug_undef): Delete.
17228         * toplev.h (debug_start_source_file, debug_end_source_file,
17229         debug_define, debug_undef): Delete.
17230
17231         * java/jcf-parse.c: Include debug.h.
17232         (parse_class_file): Update to use debug hooks directly.
17233         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
17234
17235 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17236
17237         * alias.c (set_mem_alias_set): New function.
17238         * rtl.h (set_mem_alias_set): Declare it.
17239         * builtins.c (expand_builtin_return_addr): Call it instead of
17240         using MEM_ALIAS_SET accessor.
17241         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
17242         (get_memory_rtx, expand_builtin_va_arg): Likewise.
17243         (expand_builtin_va_copy):Likewise.
17244         * caller-save.c (setup_save_areas): Likewise.
17245         * calls.c (compute_argument_addresses): Likewise.
17246         * explow.c (set_mem_attributes): Likewise.
17247         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
17248         (expand_assignment, store_constructor_field, store_field): Likewise.
17249         (expand_expr_unaligned): Likewise.
17250         * function.c (assign_stack_temp_for_type): Likewise.
17251         (put_reg_into_stack, gen_mem_addressof): Likewise.
17252         * ifcvt.c (noce_try_cmove_arith): Likewise.
17253         * reload1.c (reload, alter_reg): Likewise.
17254         * config/alpha/alpha.c (get_aligned_mem): Likewise.
17255         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
17256         (alpha_expand_unaligned_store): Likewise
17257         (alpha_expand_unaligned_load_words): Likewise.
17258         (alpha_expand_unaligned_store_words): Likewise.
17259         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
17260         (alpha_expand_epilogue): Likewise.
17261         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
17262         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
17263         * config/i386/i386.c (legitimize_pic_address): Likewise.
17264         * config/i960/i960.c (setup_incoming_varargs): Likewise.
17265         * config/ia64/ia64.c (spill_restore_mem): Likewise.
17266         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
17267         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
17268         * config/mips/mips.c (mips_va_arg): Likewise.
17269         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
17270         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
17271         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
17272         (setup_incoming_varargs, rs6000_va_arg): Likewise.
17273         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
17274         (rs6000_emit_epilogue): Likewise.
17275         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
17276         * config/sparc/sparc.c (sparc_va_arg): Likewise.
17277         * config/v850/v850.c (v850_va_arg): Likewise.
17278
17279 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
17280
17281         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
17282         when fallthru edge is present.
17283         (mege_blocks): Handle case where creation of jump insn
17284         is required.
17285
17286         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
17287         CLEANUP_POST_REGSTACK): New constants.
17288         * except.c (finish_eh_generation): Update call of cleanup_cfg,
17289         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
17290         * output.h (cleanup_cfg): Update prototype.
17291         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
17292         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
17293         cleanup_cfg call; kill missleading comment.
17294         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
17295         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
17296         parameter; control optimizations performed using it.
17297         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
17298         try_crossjump_bb): New functions.
17299
17300 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17301
17302         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
17303         extern.
17304         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
17305         pa_output_function_prologue.
17306         * pa-protos.h (pa_output_function_prologue): New prototype.
17307
17308 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17309
17310         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
17311         and low to get correct sign extension in low+high test.
17312
17313 2001-07-11  Janis Johnson <janis@us.ibm.com>
17314
17315         * gcov.c (arcdata): Use gcov_type to fix branch percentage
17316         for large hit count.
17317
17318         * profile.c (branch_prob): Fix .bbg info for computed gotos
17319         and C++ EH code.
17320
17321 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
17322
17323         * stmt.c (parse_output_constraint): New function, split out
17324         from ...
17325         (expand_asm_operands): ... here.  Use parse_output_constraint.
17326         * tree.h (parse_output_constraint): Declare it.
17327
17328 2001-07-11  Richard Henderson  <rth@redhat.com>
17329
17330         * bitmap.c: Comment some functions; fiddle whitespace.
17331         (bitmap_free): Don't export.
17332         (bitmap_element_allocate): Use memset.
17333         * bitmap.h (bitmap_free): Don't declare.
17334
17335 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
17336
17337         * gcse.c, lcm.c, sched-deps.c:
17338         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
17339
17340         * flow.c (flow_loops_find): Free dom if we found no loops, since
17341         we aren't going to save it.
17342
17343         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
17344         done.
17345
17346 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
17347
17348         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
17349
17350 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17351
17352         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
17353         #ifndef DWARF2_DEBUGGING_INFO.
17354
17355 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17356
17357         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
17358
17359 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17360
17361         * config/mips/mips.c (gen_int_relational): Tell the caller not to
17362         reverse a branch if a NE comparison is implemented with GTU.
17363
17364 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
17365             H.J. Lu  <hjl@gnu.org>
17366
17367         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
17368         constant addresses.
17369         (call_internal2): Likewise.
17370         (call_value_internal1): Likewise.
17371         (call_value_internal2): Likewise.
17372         (call_value_multiple_internal1): Likewise.
17373         (call_value_multiple_internal2): Likewise.
17374
17375 2001-07-10  Kazu Hirata  <kazu@hxi.com>
17376
17377         * calls.c (emit_library_call_value_1): Fix a comment typo.
17378         * dwarf2out.c (mem_loc_descriptor): Likewise.
17379         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
17380
17381 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
17382
17383         * simplify-rtx.c (simplify_subreg): Fix typo in comment
17384
17385 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17386
17387         * recog.c (offsettable_address_p): Handle LO_SUM case.
17388         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
17389         instead of plus_constant.
17390
17391 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17392
17393         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
17394         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
17395
17396 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17397
17398         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
17399         adjust_address_nv instead of plus_constant.
17400
17401 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
17402
17403         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
17404         dwarf2out.o): Depend on debug.h, wrap long lines.
17405         * dbxout.c: Include debug.h.
17406         (dbx_debug_hooks): New.
17407         (dbxout_init): Make static, take just 2 args.
17408         (dbxout_finish): Make static.
17409         * dbxout.h (dbxout_init, dbxout_finish): Delete.
17410         * debug.c: New file.
17411         * debug.h: New file.
17412         * dwarf2out.c: Include debug.h.
17413         (dwarf2_debug_hooks): New.
17414         (dwarf2out_init): Make static.
17415         (dwarf2out_finish): Make static, take 2 args.
17416         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
17417         * dwarfout.c: Include debug.h.
17418         (dwarf_debug_hooks): New.
17419         (dwarfout_init): Make static.
17420         (dwarfout_finish): Make static, take 2 args.
17421         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
17422         * sdbout.c: Include debug.h.
17423         (sdb_debug_hooks): New.
17424         (sdbout_init): Make static, take 2 args.
17425         * sdbout.h (sdbout_init): Delete.
17426         * toplev.c: Include debug.h.
17427         (debug_hooks): New.
17428         (compile_file): Set deubg_hooks based on command line options.
17429         Use the hooks unconditionally rather than conditional compilation.
17430
17431 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
17432
17433         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
17434         first_insn_after_basic_block_note instead.
17435
17436         * df.c (df_bb_refs_unlink): #if 0 out for now.
17437
17438 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
17439
17440         * ssa.h: Add prototype for ssa_const_prop
17441         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
17442         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
17443         (ssa_fast_dce): Remove unused variable
17444
17445 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17446
17447         * diagnostic.c (finish_diagnostic): Rename to
17448         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
17449         calls thourghout.
17450
17451 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
17452
17453         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
17454         .loc support.
17455
17456         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
17457         (dump_file): Only pad the demangled name with spaces if the
17458         mangled name was padded with spaces.
17459
17460 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
17461
17462         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
17463         edge detection.
17464
17465 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17466
17467         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
17468         extraction if no direct load if either EXPAND_CONST_ADDRESS or
17469         EXPAND_INITIALIZER.
17470
17471         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
17472         whether can put offset inside LO_SUM to check mode alignment, not size.
17473
17474 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
17475
17476         * doc/tm.texi (Misc): Fix thinko.
17477
17478 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
17479
17480         * regmove.c (replace_in_call_usage): Fix warnings.
17481         * sched-deps.c (add_dependence): Fix warnings.
17482         * simplify-rtx.c (simplify_subreg): Likewise.
17483         Return NULL_RTX instead of NULL.
17484
17485         * reg-stack.c (emit_swap_insn): Eliminate warnings.
17486         (subst_asm_stack_regs): Likewise.
17487
17488         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
17489         warnings.
17490
17491         * dwarf2out.c (output_call_frame_info): Declare i as int.
17492         (build_abbrev_table): Declare n_alloc as int.
17493         (dwarf2out_finish): Initialize die.
17494         * except.c: Declare sjlj_funcdef_number as unsigned.
17495         (connect_post_landing_pads): Declare j as unsigned.
17496         (convert_to_eh_region_ranges): Initialize call_site.
17497         (output_function_exception_table): Initialize tt_format_size.
17498         * expr.c (move_by_pieces_1): Initialize to1.
17499         (store_constructor): Initialize minelt and maxelt.
17500         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
17501         * function.c (instantiate_decls): Avoid signed/unsigned warning.
17502
17503         * c-decl.c (combine_parm_decls): Unused, remove.
17504         * c-tree.h: Remove prototype for combine_parm_decls.
17505
17506         * reload.c (push_reload): Fix warning.
17507         (regno_clobbered_p): Likewise.
17508         * reload1.c (replace_pseudos_in_call_usage): Likewise.
17509         (reload_combine): Likewise.
17510
17511         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
17512         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
17513         warnings.
17514         * bitmap.c (bitmap_operation): Change user.
17515         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
17516
17517 2001-07-10  Eric Christopher  <echristo@redhat.com>
17518
17519         * config/mips/mips.c (override_options): Fix typo.
17520
17521 2001-07-09  Stan Shebs  <shebs@apple.com>
17522
17523         * target.h (struct gcc_target): New fields init_builtins and
17524         expand_builtin.
17525         * target-def.h (TARGET_INIT_BUILTINS): New macro.
17526         (TARGET_EXPAND_BUILTIN): New macro.
17527         (TARGET_INITIALIZER): Add them.
17528         * builtins.c: Include target.h.
17529         (expand_builtin): Use targetm.expand_builtin.
17530         (default_init_builtins): New function.
17531         (default_expand_builtin): New function.
17532         * expr.h (default_init_builtins): Declare.
17533         (default_expand_builtin): Declare.
17534         * c-common.c (c_common_nodes_and_builtins): Use
17535         targetm.init_builtins.
17536         * defaults.h (MD_INIT_BUILTINS): Remove.
17537         * Makefile.in (builtins.o): Depend on target.h.
17538
17539         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
17540         (TARGET_EXPAND_BUILTIN): Define.
17541         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
17542         (MD_EXPAND_BUILTIN): Remove.
17543
17544         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
17545         (TARGET_EXPAND_BUILTIN): Define.
17546         (c4x_init_builtins): Make endlink arg a local.
17547         (c4x_print_operand): Fix typos in adjust_address usages.
17548         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
17549         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
17550         (MD_EXPAND_BUILTIN): Remove.
17551
17552         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
17553         (TARGET_EXPAND_BUILTIN): Define.
17554         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
17555         (ix86_init_builtins): Call new function only if TARGET_MMX.
17556         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
17557         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
17558         (MD_EXPAND_BUILTIN): Remove.
17559
17560         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
17561         (TARGET_EXPAND_BUILTIN): Define.
17562         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
17563         (MD_EXPAND_BUILTIN): Remove.
17564
17565         * doc/tm.texi: Document these changes.
17566
17567 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
17568
17569         * basic-block.h (tree_node): Forward declare if needed.
17570         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
17571         (BLOCK_HEAD_TREE): Define.
17572         (BLOCK_END_TREE): Define.
17573         (struct loops): Rename field 'tree' to 'tree_root'.
17574         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
17575         'end_tree'.
17576         (flow_loops_tree_build): Rename reference to field 'tree' to
17577         'tree_root'.
17578         (flow_loops_level_compute): Ditto.
17579         * predict.c (estimate_bb_frequencies): Ditto.
17580         * tree.h (struct tree_common): Add field 'aux'.
17581
17582 2001-07-09  Stan Shebs  <shebs@apple.com>
17583
17584         * config/darwin.c (darwin_encode_section_info): Don't mark any
17585         DECL_EXTERNAL node as defined.
17586
17587 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17588
17589         * pa.c (pa_init_machine_status, pa_mark_machine_status,
17590         pa_free_machine_status, hppa_init_pic_save): Delete.
17591         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
17592         (hppa_profile_hook): Use hppa_pic_save_rtx.
17593         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
17594         hppa_init_pic_save): Delete.
17595         (hppa_pic_save_rtx): Declare.
17596         * pa.md (call, call_value, sibcall, sibcall_value,
17597         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
17598
17599 2001-07-09  Kazu Hirata  <kazu@hxi.com>
17600
17601         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
17602         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
17603
17604 2001-07-09  Andreas Jaeger  <aj@suse.de>
17605
17606         * output.h: Add declaration of final_forward_branch_p.
17607
17608         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
17609
17610         * varray.c: Include errors.h for internal_error and trim_filename
17611         declarations.
17612
17613         * Makefile.in (varray.o): Add errors.h.
17614
17615 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
17616
17617         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
17618         * optabs.c (have_add2_insn): Check whether the add insn chosen
17619         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
17620         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
17621
17622 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
17623
17624         * Makefile.in (OBJS): Add ssa-ccp.o
17625         (ssa-ccp.o): Add dependencies.
17626         * toplev.c (DFI_ssa_ccp): New dump file enum.
17627         (dump_file): Add entry for dumping after SSA CCP.
17628         (flag_ssa_ccp): New flag variable.
17629         (f_options): Add -fssa-ccp.
17630         (rest_of_compilation): Run SSA CCP if requested.
17631         * timevar.def (TV_SSA_CCP): New timevar.
17632         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
17633         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
17634         Fix minor typo in SSA DCE documentation.
17635         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
17636         Add documentation for new dump option.  Renumber dump files
17637         appropriately.
17638
17639 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17640
17641         * emit-rtl.c (gen_highpart_mode): New.
17642         * rtl.h (gen_highpart_mode): Declare.
17643         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
17644         operand can be VOIDmode constant.
17645
17646 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
17647
17648         * flow.c (redirect_edge_and_branch_force): New.
17649         (can_fallthru): Ensure that basic blocks are succeeding.
17650         (try_optimize_cfg): Do not delete basic block if it is the last one.
17651
17652         * flow.c (try_redirect_by_replacing_jump): Do not remove
17653         jumps with side effects, unlink chain on fallthru edge;
17654         set block for new jump instruction; avoid basic block to
17655         over by line number note.
17656
17657         * flow.c (try_simplify_condjump): Verify that the condjump
17658         is not always falling through.
17659
17660         Re-install patch:
17661         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17662
17663         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17664         (try_redirect_by_replacing_jump): Update properly the count
17665         and frequency information.
17666
17667 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17668
17669         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
17670         address that is a LO_SUM specially.
17671         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
17672
17673         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
17674
17675         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
17676         (operand_subword): Use them.
17677         (change_address_1): Renamed from change_address; new arg VALIDATE.
17678         * expr.h: Reflect above changes; change_address now macro.
17679         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
17680         making MEM.
17681         * cselib.c (add_mem_for_addr): Likewise.
17682         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
17683         * regmove.c (try_apply_stack_adjustment): Likewise.
17684         * reload.c (push_reload, make_memloc): Likewise.
17685         * reload1.c (eliminate_regs): Likewise.
17686         * simplify-rtx.c (simplify_replace_rtx): Likewise.
17687         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17688         adjust_addess.
17689         * combine.c (make_extraction, simplify_shift_const): Likewise.
17690         (gen_lowpart_for_combine): Likewise.
17691         * cse.c (gen_lowpart_if_possible): Likewise.
17692         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17693         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17694         * optabs.c (gen_move_insn): Likewise.
17695         * reload1.c (alter_reg): Likewise.
17696         * simplify-rtx.c (simplify_subreg): Likewise.
17697         * stmt.c (expand_anon_union_decl): Likewise.
17698         * recog.c (validate_replace_rtx_1): Likewise.
17699         (expr.h): Include.
17700         * Makefile.in (recog.o): Add $(EXPR_H).
17701         * explow.c (stabilize): Call replace_equiv_address.
17702         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17703         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17704
17705 2001-07-03  Andrew Haley  <aph@redhat.com>
17706
17707         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17708         the mode of the memory location.
17709
17710 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
17711
17712         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17713
17714 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
17715
17716         * final.c (output_addr_const): Use target opening and
17717         closing parentheses.
17718         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17719         defaults, add to TARGET_ASM_OUT.
17720         * target.h (struct gcc_target): Add open_paren and close_paren.
17721         * doc/md.texi: Update.
17722         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17723         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17724         TARGET_ASM_CLOSE_PAREN.
17725         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17726         Override.
17727         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17728         Override.
17729         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17730         * config/a29k/a29k.h: Similarly.
17731         * config/alpha/alpha.h: Similarly.
17732         * config/arc/arc.h: Similarly.
17733         * config/arm/aof.h: Similarly.
17734         * config/arm/aout.h: Similarly.
17735         * config/avr/avr.h: Similarly.
17736         * config/c4x/c4x.h: Similarly.
17737         * config/clipper/clipper.h: Similarly.
17738         * config/convex/convex.h: Similarly.
17739         * config/d30v/d30v.h: Similarly.
17740         * config/dsp16xx/dsp16xx.h: Similarly.
17741         * config/elxsi/elxsi.h: Similarly.
17742         * config/fr30/fr30.h: Similarly.
17743         * config/h8300/h8300.h: Similarly.
17744         * config/i370/i370.h: Similarly.
17745         * config/i386/i386.h: Similarly.
17746         * config/i860/i860.h: Similarly.
17747         * config/i960/i960.h: Similarly.
17748         * config/ia64/ia64.h: Similarly.
17749         * config/m32r/m32r.h: Similarly.
17750         * config/m68hc11/m68hc11.h: Similarly.
17751         * config/m68k/m68k.h: Similarly.
17752         * config/m88k/m88k.h: Similarly.
17753         * config/mcore/mcore.h: Similarly.
17754         * config/mips/mips.h: Similarly.
17755         * config/mn10200/mn10200.h: Similarly.
17756         * config/mn10300/mn10300.h: Similarly.
17757         * config/ns32k/ns32k.h: Similarly.
17758         * config/pa/pa.h: Similarly.
17759         * config/pdp11/pdp11.h: Similarly.
17760         * config/pj/pj.h: Similarly.
17761         * config/romp/romp.h: Similarly.
17762         * config/rs6000/rs6000.h: Similarly.
17763         * config/sh/sh.h: Similarly.
17764         * config/sparc/sparc.h: Similarly.
17765         * config/v850/v850.h: Similarly.
17766         * config/vax/vax.h: Similarly.
17767         * config/we32k/we32k.h: Similarly.
17768
17769 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
17770
17771         * doc/c-tree.texi: Document representation of attributes.
17772
17773 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17774
17775         * doc/tm.texi: Update some places for the rename of target to
17776         targetm.  Fix typo.
17777
17778 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17779
17780         * target.h (struct gcc_target): Add insert_attributes.
17781         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
17782         (TARGET_INITIALIZER): Update.
17783         * tree.c, tree.h (default_insert_attributes): New function.
17784         Update comments on other default functions to refer to targetm,
17785         not target.
17786         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
17787         TARGET_INSERT_ATTRIBUTES.
17788         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
17789         * c-common.c (decl_attributes): Use targetm.insert_attributes.
17790         Don't use PRAGMA_INSERT_ATTRIBUTES.
17791         * Makefile.in (c-common.o): Depend on $(TARGET_H).
17792         * c-decl.c (start_decl, start_function): Don't call
17793         SET_DEFAULT_DECL_ATTRIBUTES.
17794         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17795         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
17796         declare.
17797         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
17798         (c4x_check_attribute): Avoid modifying attribute list itself.
17799         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
17800         Make static.
17801         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
17802         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
17803         declare.
17804         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
17805         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
17806         Make static.
17807         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17808         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
17809         declare.
17810         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
17811         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
17812         Adjust parameters.  Make static.
17813
17814 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
17815
17816         * c-common.c (decl_attributes): Only take a single attributes
17817         parameter.
17818         * c-common.h (decl_attributes): Update prototype.
17819         * c-decl.c (start_decl, start_function): Only take a single
17820         attributes parameter.  Update calls to decl_attributes.
17821         (finish_struct, finish_enum): Update calls to decl_attributes.
17822         (push_parm_decl): Expect unified list of attributes.  Update call
17823         to decl_attributes.
17824         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
17825         notype_nested_function, component_declarator,
17826         component_notype_declarator, label): Update calls to
17827         decl_attributes.
17828         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
17829         lists that are passed to push_parm_decl.
17830         * c-tree.h (start_function, start_decl): Update prototypes.
17831         * config/sh/sh-protos.h, config/sh/sh.c
17832         (sh_pragma_insert_attributes): Only take a single attributes
17833         parameter.
17834         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
17835         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
17836         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
17837         build_module_descriptor, generate_static_references,
17838         generate_strings, build_selector_translation_table,
17839         generate_descriptor_table, generate_protocols,
17840         generate_ivars_list, generate_dispatch_table,
17841         generate_protocol_list, generate_category,
17842         generate_shared_structures, really_start_method, add_objc_decls,
17843         generate_classref_translation_entry): Update calls to start_decl
17844         and start_function.
17845         (build_tmp_function_decl, start_method_def): Unify attribute lists
17846         that are passed to push_parm_decl.
17847
17848 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
17849
17850         * final.c (no_asm_to_stream): New.
17851         (final_scan_insn): Use target structures for prologue ends
17852         and epilogue starts.
17853         * output.h (no_asm_to_stream): New.
17854         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
17855         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
17856         (TARGET_ASM_OUT): Update.
17857         * target.h (struct gcc_target): New members function_end_prologue
17858         and function_begin_epilogue.
17859         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
17860         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
17861         * config/alpha/alpha.c (output_end_prologue): Rename to
17862         alpha_output_function_end_prologue.  Use in target struct
17863         and make static.
17864         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
17865         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
17866         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
17867         ia64_output_function_end_prologue.  Use in target struct
17868         and make static.
17869         (ia64_function_prologue, ia64_funciton_epilogue): Rename
17870         mistyped prototypes.
17871         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
17872         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
17873         Delete.
17874         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
17875         an use in target struct, make static.
17876         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
17877         Delete.
17878
17879 2001-07-08  Richard Henderson  <rth@redhat.com>
17880
17881         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
17882
17883 2001-07-08  Richard Henderson  <rth@redhat.com>
17884
17885         * config/i386/i386.md: Remove constraints strings from define_split
17886         and define_peephole2 patterns.
17887         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
17888         (eh_return): Use them.
17889
17890 2001-07-08  Richard Henderson  <rth@redhat.com>
17891
17892         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
17893         Document MD_FALLBACK_FRAME_STATE_FOR.
17894
17895 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17896
17897         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
17898         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
17899         elimination.
17900         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
17901
17902 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
17903
17904         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
17905         of the label inside NAME as opposed to just the end of NAME.
17906
17907 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
17908
17909         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
17910         * config/alpha/alpha.c (alpha_init_machine_status,
17911         alpha_mark_machine_status, alpha_free_machine_status): Delete.
17912         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
17913         (vms_valid_decl_attribute_p): Make static, conditionally compile.
17914         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
17915
17916 2001-07-06  Stan Shebs  <shebs@apple.com>
17917
17918         * target.h (targetm): Rename global from "target", so as not to
17919         conflict with local variables.
17920         * c-decl.c: Ditto.
17921         * c-typeck.c: Ditto.
17922         * final.c: Ditto.
17923         * tree.c: Ditto.
17924         * cp/decl.c: Ditto.
17925         * cp/decl2.c: Ditto.
17926         * cp/typeck.c: Ditto.
17927         * 1750a/1750a.c: Ditto.
17928         * a29k/a29k.c: Ditto.
17929         * arc/arc.c: Ditto.
17930         * arm/arm.c: Ditto.
17931         * avr/avr.c: Ditto.
17932         * clipper/clipper.c: Ditto.
17933         * convex/convex.c: Ditto.
17934         * d30v/d30v.c: Ditto.
17935         * dsp16xx/dsp16xx.c: Ditto.
17936         * elxsi/elxsi.c: Ditto.
17937         * fr30/fr30.c: Ditto.
17938         * h8300/h8300.c: Ditto.
17939         * i370/i370.c: Ditto.
17940         * i386/i386.c: Ditto.
17941         * i860/i860.c: Ditto.
17942         * i960/i960.c: Ditto.
17943         * ia64/ia64.c: Ditto.
17944         * m32r/m32r.c: Ditto.
17945         * m68hc11/m68hc11.c: Ditto.
17946         * m68k/m68k.c: Ditto.
17947         * m88k/m88k.c: Ditto.
17948         * mips/mips.c: Ditto.
17949         * ns32k/ns32k.c: Ditto.
17950         * pa/pa.c: Ditto.
17951         * pdp11/pdp11.c: Ditto.
17952         * romp/romp.c: Ditto.
17953         * rs6000/rs6000.c: Ditto.
17954         * sh/sh.c: Ditto.
17955         * sparc/sparc.c: Ditto.
17956         * vax/vax.c: Ditto.
17957         * we32k/we32k.c: Ditto.
17958         * doc/tm.texi: Update the manual to match.
17959
17960 2001-07-06  Richard Henderson  <rth@redhat.com>
17961
17962         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
17963         DWARF2_UNWIND_INFO not just whether it is defined.
17964
17965 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
17966
17967         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
17968         call to simplify_binary_operation returns a new pattern.
17969
17970 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17971
17972         * glimits.h (__SHRT_MAX__): New.
17973         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
17974         (SHRT_MAX): Define in terms of __SHRT_MAX__.
17975
17976 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
17977
17978         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
17979         avoid warnings.
17980
17981 2001-07-06  Richard Henderson  <rth@redhat.com>
17982
17983         * bitmap.c (bitmap_release_memory): Move adjacent to the
17984         allocation functions.
17985         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
17986         the implementation.  Binary search for the set bit.
17987         (bitmap_union_of_diff): Allocate the temporary on the stack
17988         instead of using xmalloc.
17989
17990 2001-07-06  Richard Henderson  <rth@redhat.com>
17991
17992         * genrecog.c (validate_pattern): Warn for constraints in
17993         define_{expand,split,peephole2}.  Remove strict_low_part
17994         before looking up match_dup.
17995
17996 2001-07-06  DJ Delorie  <dj@redhat.com>
17997
17998         * doc/gcc.texi (Makefile): Rename to be a more general purpose
17999         chapter about various build hints and history.  Add section
18000         talking about the various types of native and cross builds.
18001
18002 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
18003
18004         * Makefile.in (final.o): Depend on target.h.
18005         * final.c: Include target.h.
18006         (default_function_pro_epilogue): New.
18007         (final_start_function): Use target structure for function prologues.
18008         (final_end_function): Use target structure for function epilogues.
18009         * fold-const.c (real_hex_to_f): Constify s and p.
18010         * output.h (default_function_pro_epilogue): New.
18011         * real.h (real_hex_to_f): Update prototype.
18012         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
18013         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
18014         (TARGET_INITIALIZER): Update.
18015         * target.h (gcc_target): Add struct asm_out.
18016         * doc/tm.texi: Update.
18017
18018 config:
18019         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
18020         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
18021         in cpu/cpu.c, or rename old functions consistently.  Take
18022         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
18023         redundant macros and prototypes.  Make new functions static.
18024
18025         * 1750a/1750a.c: Similarly.
18026         * 1750a/1750a.h: Similarly.
18027         * a29k/a29k-protos.h: Similarly.
18028         * a29k/a29k.c: Similarly.
18029         * a29k/a29k.h: Similarly.
18030         * arc/arc-protos.h: Similarly.
18031         * arc/arc.c: Similarly.
18032         * arc/arc.h: Similarly.
18033         * arm/arm-protos.h: Similarly.
18034         * arm/arm.c: Similarly.
18035         * arm/arm.h: Similarly.
18036         * avr/avr-protos.h: Similarly.
18037         * avr/avr.c: Similarly.
18038         * avr/avr.h: Similarly.
18039         * clipper/clipper-protos.h: Similarly.
18040         * clipper/clipper.c: Similarly.
18041         * clipper/clipper.h: Similarly.
18042         * convex/convex.c: Similarly.
18043         * convex/convex.h: Similarly.
18044         * d30v/d30v-protos.h: Similarly.
18045         * d30v/d30v.c: Similarly.
18046         * d30v/d30v.h: Similarly.
18047         * d30v/d30v.md: Similarly.
18048         * dsp16xx/dsp16xx-protos.h: Similarly.
18049         * dsp16xx/dsp16xx.c: Similarly.
18050         * dsp16xx/dsp16xx.h: Similarly.
18051         * elxsi/elxsi.c: Similarly.
18052         * elxsi/elxsi.h: Similarly.
18053         * fr30/fr30.c: Similarly.
18054         * fr30/fr30.md: Similarly.
18055         * h8300/h8300-protos.h: Similarly.
18056         * h8300/h8300.c: Similarly.
18057         * h8300/h8300.h: Similarly.
18058         * i370/i370-protos.h: Similarly.
18059         * i370/i370.c: Similarly.
18060         * i370/i370.h: Similarly.
18061         * i386/i386.c: Similarly.
18062         * i386/osf1elf.h: Similarly.
18063         * i386/osfrose.h: Similarly.
18064         * i860/i860-protos.h: Similarly.
18065         * i860/i860.c: Similarly.
18066         * i860/i860.h: Similarly.
18067         * i960/i960-protos.h: Similarly.
18068         * i960/i960.c: Similarly.
18069         * i960/i960.h: Similarly.
18070         * ia64/ia64-protos.h: Similarly.
18071         * ia64/ia64.c: Similarly.
18072         * ia64/ia64.h: Similarly.
18073         * m32r/m32r-protos.h: Similarly.
18074         * m32r/m32r.c: Similarly.
18075         * m32r/m32r.h: Similarly.
18076         * m68hc11/m68hc11-protos.h: Similarly.
18077         * m68hc11/m68hc11.c: Similarly.
18078         * m68hc11/m68hc11.h: Similarly.
18079         * m68k/crds.h: Similarly.
18080         * m68k/dpx2.h: Similarly.
18081         * m68k/m68k-protos.h: Similarly.
18082         * m68k/m68k.c: Similarly.
18083         * m68k/m68k.h: Similarly.
18084         * m68k/news.h: Similarly.
18085         * m88k/m88k-protos.h: Similarly.
18086         * m88k/m88k.c: Similarly.
18087         * m88k/m88k.h: Similarly.
18088         * mips/mips-protos.h: Similarly.
18089         * mips/mips.c: Similarly.
18090         * mips/mips.h: Similarly.
18091         * ns32k/merlin.h: Similarly.
18092         * ns32k/ns32k.c: Similarly.
18093         * ns32k/ns32k.h: Similarly.
18094         * ns32k/tek6000.h: Similarly.
18095         * pa/pa-protos.h: Similarly.
18096         * pa/pa.c: Similarly.
18097         * pa/pa.h: Similarly.
18098         * pdp11/2bsd.h: Similarly.
18099         * pdp11/pdp11-protos.h: Similarly.
18100         * pdp11/pdp11.c: Similarly.
18101         * pdp11/pdp11.h: Similarly.
18102         * romp/romp-protos.h: Similarly.
18103         * romp/romp.c: Similarly.
18104         * romp/romp.h: Similarly.
18105         * rs6000/rs6000-protos.h: Similarly.
18106         * rs6000/rs6000.c: Similarly.
18107         * rs6000/rs6000.h: Similarly.
18108         * rs6000/sysv4.h: Similarly.
18109         * sh/sh-protos.h: Similarly.
18110         * sh/sh.c: Similarly.
18111         * sh/sh.h: Similarly.
18112         * sparc/sparc-protos.h: Similarly.
18113         * sparc/sparc.c: Similarly.
18114         * sparc/sparc.h: Similarly.
18115         * vax/vax.c: Similarly.
18116         * vax/vax.h: Similarly.
18117         * vax/vms.h: Similarly.
18118         * we32k/we32k.c: Similarly.
18119         * we32k/we32k.h: Similarly.
18120
18121 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
18122
18123         * basic-block.h (first_insn_after_basic_block_note): Declare.
18124         * flow.c (first_insn_after_basic_block_note): Define.  Moved
18125         from...
18126         * ssa.c (first_insn_after_basic_block_note): Remove.
18127         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
18128         necessary.
18129         (ssa_eliminate_dead_code): Properly update the CFG and PHI
18130         nodes when we find a dead conditional branch.  Insert BARRIERs
18131         after any blocks with no successors, but which do not have
18132         any BARRIERs.
18133
18134 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
18135
18136         * varray.c (varray_check_failed): Use internal_error.
18137
18138 2001-07-05  Andrew Haley  <aph@redhat.com>
18139
18140         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
18141         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
18142         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
18143
18144 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
18145
18146         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
18147         reference if the target constant is also a SYMBOL_REF.
18148
18149 2001-07-05  Eric Christopher  <echristo@redhat.com>
18150
18151         * config/mips/mips.h (MASK_MIPS3900): Remove.
18152         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
18153         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
18154         (TARGET_MIPS3900): Change to use mips_arch.
18155         (TARGET_MIPS4000): New.
18156         (TARGET_MIPS4100): New.
18157         (TARGET_MIPS4300): New.
18158         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
18159         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
18160         for -mipsX.
18161         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
18162         (ISA_HAS_BRANCHLIKELY): To here.
18163         (CC1_CPU_SPEC):  New.
18164         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
18165         (mips_arch_string): Declare.
18166         (mips_arch): Declare.
18167         (TARGET_OPTIONS): Add -march and -mtune.
18168
18169         * config/mips/mips.c (mips_arch_string): New.
18170         (mips_arch): New.
18171         (override_options): Handle -march for codegen and -mtune
18172         for scheduling. Use mips_arch. Move tx39 target default here.
18173         (mips_parse_cpu): Move error message to override_options.
18174
18175         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
18176
18177         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
18178
18179         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
18180         (MIPS Options): Ditto.  Change mcpu entry to historical text.
18181
18182 2001-07-05  H.J. Lu  (hjl@gnu.org)
18183
18184         * config/mips/mips.c (mips_parse_cpu): New function to parse
18185         -march=*/-mcpu=*.
18186
18187 2001-07-05  Jim Wilson  <wilson@redhat.com>
18188
18189         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
18190         * config/ia64/t-ia64: Likewise.
18191         (LIB1ASMFUNCS): Update comment.
18192
18193 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
18194
18195         * doc/install.texi (Install GCC: Binaries): Fix typo.
18196
18197 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18198
18199         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
18200         reference using the stack pointer, adjust it since we push Y
18201         temporarily.
18202         ("*ashrsi3"): Likewise.
18203         ("*lshrsi3"): Likewise.
18204
18205 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
18206
18207         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
18208         when -fomit-frame-pointer is used.
18209
18210 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
18211
18212         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
18213         (try_redirect_by_replacing_jump): Reverse updating properly the
18214         count and frequency information.  Reverse removing cc0 setter.
18215         (forwarder_block_p): Reverse fixing for fallthru blocks.
18216
18217 2001-07-05  DJ Delorie  <dj@redhat.com>
18218
18219         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
18220         (translate_options): If the above is defined, use it to map
18221         given options to new options.
18222         * doc/tm.texi: Document it.
18223
18224 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
18225             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18226
18227         * doc/invoke.texi (Optimize Options): Document that -fgcse may
18228         cause programs using computed gotos to run more slowly.
18229
18230 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18231
18232         * doc/install.texi (Specific): Markup, spelling and typo fixes.
18233         Fixed sorting.
18234         Consistently require binutils 2.11.2, not prereleases.
18235         (Specific, decstation-*): Canonicalize as mips-dec-*.
18236         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
18237         always necessary.
18238         (Specific, m68k-altos): Removed reference to README.altos, deleted.
18239         (Specific, mips-*): Reword MIPS C compiler requirements.
18240         (Specific, powerpc*-*-*): New, mention --with-cpu once.
18241         (Specific, sunv5): Removed, obsolete.
18242
18243 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
18244
18245         * dwarf2out.c (output_loc_list): Use an all ones mask for
18246         .text asm output and don't rely on long long
18247         literals. Reformat some long lines.
18248
18249 2001-07-05  Andreas Jaeger  <aj@suse.de>
18250
18251         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
18252         section.
18253
18254 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18255
18256         * dwarf2out.c (dwarf2out_define): Update comment.
18257         (dwarf2out_undef): Ditto.
18258         (dwarf2out_start_source_file): Ditto.
18259         (dwarf2out_end_source_file): Ditto.
18260         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
18261         since we never call the start/end debug hook for the primary file.
18262
18263 2001-07-04  Kazu Hirata  <kazu@hxi.com>
18264
18265         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
18266         from shll.
18267
18268 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18269
18270         * cppinit.c (remove_dup_dirs): Inform if a system include
18271         directory is being reordered.
18272         * doc/invoke.texi (Directory Options): GCC warns if you hide a
18273         system include.
18274         * doc/cpp.texi (Search Paths): Likewise.
18275         * doc/gcc.texi (Interoperation): Remove information about
18276         -I/usr/include.
18277
18278 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
18279
18280         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
18281         (VARRAY_TOP_CHAR_PTR): Likewise.
18282
18283 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18284
18285         * gcc.c (process_command): Don't assign elements of a const char*.
18286
18287 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18288
18289         * emit-rtl.c (change_address): Don't abort if invalid address while
18290         reload is in progress.
18291
18292 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18293
18294         * c-lex.c (cb_file_change): Pass line number to
18295         debug_start_source_file.
18296         (cb_undefine): Pass correct line number to debug_undef.
18297
18298         * toplev.c (debug_start_source_file): Add line number to
18299         parameters. Pass it along to dwarf2out_start_source_file.
18300         (decode_g_option): Stop resetting debug level back to normal when
18301         we change debug formats, unless the current level is
18302         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
18303         3).
18304
18305         * toplev.h (debug_start_source_file): Add line number to
18306         parameters.
18307
18308         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
18309         parameters.
18310
18311         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
18312         parameters.
18313         Output debug_macinfo data for starting file if requested.
18314         (dwarf2out_end_source_file): Output debug_macinfo data for ending
18315         file if requested.
18316         (dwarf2out_define): Output debug_macinfo data for defining a macro
18317         if requested.
18318         (dwarf2out_undef): Output debug_macinfo data for undefining a
18319         macro if requested.
18320         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
18321         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
18322         (macinfo_section_label): New. DWARF2 macro info section label.
18323         (dwarf2out_init): If we want macro info, output the start label
18324         for the section.
18325         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
18326         attribute to the compilation unit die pointing to the macro info.
18327
18328 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
18329
18330         * dwarf2out.c (new_loc_list): Move to inside #ifdef
18331         DWARF2_DEBUGGING_INFO.
18332         (add_loc_descr_to_loc_list): Ditto.
18333         (output_loc_list): Ditto.
18334         Also, fix thinko in curr not being initialized.
18335         (gen_internal_sym): Ditto.
18336
18337 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18338
18339         * emit-rtl.c (replace_equiv_address): New function.
18340         * expr.h (replace_equiv_address): New declaration.
18341         * explow.c (validize_mem): Call it instead of change_address and
18342         also call if -fforce-addr and address is constant.
18343         * expr.c: Replace more calls to change_address with adjust_address
18344         and/or replace_equiv_address or to validize_mem.
18345         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
18346         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
18347         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18348         * config/i370/i370.md, config/i860/i860.md: Likewise.
18349         * config/i960/i960.md, config/mips/mips.c: Likewise.
18350         * config/mips/mips.md, config/pa/pa.md: Likewise.
18351         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
18352         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
18353
18354 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18355
18356         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
18357
18358         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
18359         function.
18360
18361 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
18362
18363         * doc/include: New directory.
18364         * doc/fdl.texi: Move to doc/include/fdl.texi.
18365         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
18366         * doc/include/funding.texi, doc/include/gpl.texi: New files.
18367         * doc/gcc.texi: Use funding.texi and gpl.texi.
18368         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
18369         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
18370         Update dependencies and use -I $(docdir)/include.
18371
18372 2001-07-04  Anthony Green  <green@redhat.com>
18373
18374         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
18375
18376 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18377
18378         * doc/install.texi (sparc64-*-*): Remove garbage.
18379
18380 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
18381
18382         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
18383         Fix typo in last change to use adjust_address.
18384
18385 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18386
18387         * doc/install.texi (Specific): Update information for *-*-solaris*.
18388
18389 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18390
18391         * explow.c (plus_constant_wide): Reinitialize Y for restart.
18392
18393 2001-07-03  Stan Shebs  <shebs@apple.com>
18394
18395         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
18396         case for flag_no_mach_text_sections.
18397         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
18398         * config/darwin.c (flag_no_mach_text_sections): Remove.
18399         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
18400
18401 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18402
18403         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
18404         and avoid checking for constant as first operand.
18405         * recog.c (find_constant_term_loc): No longer static.
18406         (adj_offettable_operand): Delete.
18407         * rtl.h (adj_offsettable_operand): Delete declaration.
18408         (find_constant_term): Add declaration.
18409         * caller-save.c: Replace calls to adj_offsettable_operand with calls
18410         to adjust_address.
18411         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
18412         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
18413         * config/i386/i386.c, config/i386/i386.md: Likewise.
18414         * config/i860/i860.c, config/i960/i960.c: Likewise.
18415         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
18416         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
18417         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
18418         * config/mips/mips.c, config/mips/mips.md: Likewise.
18419         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
18420         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
18421         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
18422         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
18423         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
18424         * config/ns32k/ns32k.md: Likewise.
18425
18426 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
18427
18428         * rtl.c (copy_rtx): Handle 'T' format letter.
18429         * gensupport.c (collect_insn_data): Likewise.
18430         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
18431
18432 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
18433
18434         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
18435         -B option.  Use 'dir' not 'foo' as example directory name.
18436
18437 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18438
18439         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
18440         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
18441
18442 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18443
18444         * doc/cppinternals.texi: Improve formatting and logical markup.
18445
18446 2001-07-03  Andreas Jaeger  <aj@suse.de>
18447
18448         * Makefile.in (insn-recog.o): Add dependency on reload.h.
18449
18450         * genrecog.c (write_header): Include reload.h for prototypes in
18451         insn-recog.c.
18452
18453 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
18454
18455 config:
18456         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
18457         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
18458         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
18459         i386_pe_valid_type_attribute_p): Add.
18460         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
18461         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
18462
18463 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18464
18465         * explow.c (plus_constant_wide, case LO_SUM): New case.
18466         (plus_constant_for_output_wide): Delete.
18467         * rtl.h (plus_constant_for_output): Delete.
18468         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
18469         instead of plus_constant_for_output.
18470         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
18471         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
18472         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
18473         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
18474         * config/sparc/sparc.md: Likewise.
18475         Convert some change_address calls to adjust_address.
18476
18477 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
18478
18479         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
18480         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
18481         documentation of -std and -Wwrite-strings.
18482
18483 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18484
18485         * cse.c (canon_hash): Don't register registers in very small
18486         register classes, as extending their lifetime might cause
18487         reload to fail.
18488
18489 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
18490
18491         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
18492
18493         * flow.c (forwarder_block_p): Fix for fallthru blocks.
18494         (try_redirect_by_replacing_jump): Update properly the count
18495         and frequency information.
18496
18497 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
18498
18499         * toplev.c (dump_file_index): Move SSA dumps just after first
18500         jump dump.
18501         (dump_file): Corresponding changes.
18502         (rest_of_compilation): Move SSA path to just after the first
18503         jump pass.
18504         * doc/gcc.texi (Passes): Update due to movement of SSA path.
18505         * doc/invoke.texi: Update dump file #s as they were completely
18506         out of date with reality.
18507
18508 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
18509
18510         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
18511
18512         * expr.c (emit_move_insn_1): Deal with non-default
18513         STACK_PUSH_CODE.
18514
18515         * expr.c (emit_single_push_insn): Fix warning.
18516
18517 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
18518
18519         * expr.c (emit_move_insn_1): Avoid modifying
18520         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
18521
18522 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18523
18524         * emit-rtl.c (adjust_address): New function.
18525         * expr.h (adjust_address): Add declaration.
18526         * builtins.c: Replace some calls to change_address with calls to it
18527         or to validize_mem.
18528         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
18529         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
18530         * config/arm/arm.c, config/convex/convex.c: Likewise.
18531         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
18532         * config/i386/i386.c, config/i386/i386.md: Likewise.
18533         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
18534         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
18535         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
18536         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
18537         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
18538
18539 2001-07-02  Jim Wilson  <wilson@redhat.com>
18540
18541         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
18542
18543 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
18544
18545         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
18546         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
18547
18548 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18549
18550         * cppinit.c (lang_defaults): New table.
18551         (set_lang): Just read from lang_defaults into the live options
18552         structure.
18553
18554 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
18555
18556         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
18557         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
18558         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
18559
18560 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18561
18562         * doc/install.texi: Various spelling and markup fixes.
18563         (Installing GCC): Component specific installation instructions are
18564         gone.
18565         Fix reference.
18566         Warn about removing old install dir in the presence of shared libs.
18567         (Configuration): Invoke with options target to match configure
18568         --help.
18569         Consistently refer to gas, gld pathnames.
18570         Invert --enable-multilib documentation.
18571         Remove references to old compiler versions.
18572
18573 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18574
18575         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
18576
18577 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18578
18579         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
18580         section.
18581         (Specific, mips*-sgi-irix5): Note IDO download.
18582         Reworded MIPS C hints.
18583         Use GNU as instead of GAS.
18584         Markup fixes.
18585         Removed SGI Freeware reference, IRIX 6 only.
18586         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
18587         Note N64 library requirement/workaround.
18588         Update O32 hints.
18589         Complete list of structure passing bug victims.
18590
18591 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
18592
18593         * doc/install.texi: Remove CVS Id.
18594
18595 2001-07-02  Andreas Jaeger  <aj@suse.de>
18596
18597         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
18598         (find_inherently_necessary): Remove unused variable.
18599
18600 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
18601
18602         * c-common.h (TDI_inlined): New ast dump phase.
18603         (dump_flag_name): New function.
18604         * c-dump.c (dump_files): Add inlined phase.
18605         (dump_flag_name): Define.
18606         * doc/invoke.texi (-fdump-ast-inlined): Document.
18607
18608 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18609
18610         * stor-layout.c (layout_decl): Revert change to handling of alignment
18611         in packed types.
18612
18613 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18614
18615         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
18616         for FIELD_DECL.
18617
18618 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
18619
18620         * doc/tm.texi (FUNCTION_ARG): Document that the last call
18621         is special.
18622
18623 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
18624
18625         * tlink.c (recompile_files): Remove COMPILER_PATH and
18626         LIBRARY_PATH from the environment.
18627
18628 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
18629
18630         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
18631         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
18632         enumerators.
18633         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
18634
18635         * c-parse.in (OBJC_STRING): Kill.
18636         (objc_string): Decompose to [objc_string] '@' STRING.
18637         (reswords): Take the leading '@' off all the Objective C keywords.
18638         (objc_rid_sans_at): Kill.
18639         (init_reswords): Don't initialize it.
18640         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
18641         (_yylex): Kill reconsider label.  Look ahead one token after
18642         an '@'; if we get an identifier, check whether it's an
18643         Objective C @-keyword.  If so, return the keyword.  Otherwise,
18644         put back the token and return the '@' as a terminal.
18645
18646         * cpplib.c (lex_macro_node): Remove unnecessary check for
18647         leading '@' on identifier.  Clarify control flow and commentary.
18648
18649 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
18650
18651         * cse.c (new_label_ref): Variable deleted.
18652         (insert): Remove set of new_label_ref.
18653         (check_for_label_ref): New function.
18654         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
18655
18656 See ChangeLog.5 for earlier changes.