OSDN Git Service

* c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
2
3         * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
4         config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
5         toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
6         "bit-field" spellings in messages.
7         * po/gcc.pot: Regenerate.
8
9 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
10
11         * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
12         American spelling in messages.
13         * po/gcc.pot: Regenerate.
14
15 2001-12-15  Kazu Hirata  <kazu@hxi.com>
16
17         * config/h8300/h8300.md: Adjust whitespacing.  Remove
18         constraints from expanders.  Replace \@ with @.
19
20 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
21
22         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
23
24 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
25
26         * regrename.c (copyprop_hardreg_forward): Do not keep register
27         value data live across abnormal call or eh egdes.
28
29 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
30
31         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
32         BIGGEST_ALIGNMENT for 0.
33
34 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
35
36         * predict.def (PRED_NORETURN): Make probabilities match reality.
37         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
38         Likewise.
39
40 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
41
42         * configure.in: Check for ld.
43         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
44         * configure, config.in: Rebuilt.
45         * config.gcc: Add crtbeginT.o to extra_parts where needed.
46         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
47         frame unwinding on Linux.
48         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
49         frame unwinding.
50         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
51         (LINK_EH_SPEC): Define.
52         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
53         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
54         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
55         iterate further if pc falls into current library, but fde was not
56         found.
57         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
58         if using glibc.
59         (LINK_EH_SPEC): Define.
60         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
61         Use crtbeginT.o for -static.
62         (LINK_EH_SPEC): Define.
63         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
64         * Makefile.in (crtbeginT.o): Add rule.
65         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
66         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
67         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
68         If none of the above switches are passed, use -lgcc -lgcc_eh.
69         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
70         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
71         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
72         * unwind-dw2-fde.c: Don't include any headers if this file
73         is included from other .c file.
74         * unwind-dw2-fde-glibc.c: New file.
75         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
76         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
77
78 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
79
80         * builtins.c (expand_builtin_memcmp): Mark parameter with
81         ATTRIBUTE_UNUSED.
82         * cfgcleanup.c (insns_match_p): Likewise.
83         * regrename.c (mode_change_ok): Likewise.
84         * gcc.c (execute): Const-ify.
85
86 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
87
88         * c-parse.in (typename): Do not split attributes.
89         Remove unsupported attributes warning.
90
91         * c-decl.c (groktypename): Apply attributes.
92
93 2001-12-14  Richard Henderson  <rth@redhat.com>
94
95         * config/ia64/ia64.c (spill_restore_mem): Mark iterator 
96         initialization as possibly dead.
97
98 2001-12-14  Richard Henderson  <rth@redhat.com>
99
100         * regrename.c (mode_change_ok): New.
101         (find_oldest_value_reg): Use it.
102
103 2001-12-14  Richard Henderson  <rth@redhat.com>
104
105         * regrename.c (struct value_data): Add max_value_regs.
106         (init_value_data): Initialize it.
107         (kill_value): Kill values that overlap the dying register.
108         (set_value_regno): New.
109         (kill_set_value, kill_autoinc_value, copy_value): Use it.
110         (copyprop_hardreg_forward_1): Kill earlyclobber operands
111         before looking at inputs.
112
113 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
114
115         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
116         DECL_WEAK for function descriptors.
117         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
118         weak support present.
119         (ASM_WEAKEN_LABEL): Same.
120
121 2001-12-14  Kazu Hirata  <kazu@hxi.com>
122
123         * config/h8300/h8300.md (anonymous pattern): Add a missing
124         mode.
125
126 2001-12-14  Kazu Hirata  <kazu@hxi.com>
127
128         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
129         comment typo.
130
131 2001-12-14  Kazu Hirata  <kazu@hxi.com>
132
133         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
134         Remove the initialization requierment.
135         (h8300_handle_tiny_data_attribute): Likewise.
136
137 2001-12-14  Kazu Hirata  <kazu@hxi.com>
138
139         * config/h8300/h8300.md (udivqi3): Remove.
140         (divqi3): Likewise.
141         (udivhi3): Likewise.
142         (divhi3): Likewise.
143         (umodqi3): Likewise.
144         (modqi3): Likewise.
145         (umodhi3): Likewise.
146         (modhi3): Likewise.
147         (udivmodqi3): New.
148         (divmodqi3): Likewise.
149         (udivmodhi3): Likewise.
150         (divmodhi3): Likewise.
151
152 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
153
154         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
155         by active_insn_p; count conditional jump as instruction.
156
157 2001-12-14  DJ Delorie  <dj@redhat.com>
158             Danny Smith  <dannysmith@users.sourceforge.net>
159
160         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
161         at SYM_NAME[0] or SYM_NAME[3].
162         (STRIP_NAME_ENCODING): Don't check for leading '*'.
163
164 2001-12-14  Ira Ruben   <ira@apple.com>
165
166         Add -### option (displays driver-generated commands without
167         executing and quotes all arguments).
168         * doc/invoke.texi: Add -###.
169         * gcc.c (verbose_only_flag) - New flag.
170         * (execute): If -### write quoted arguments and return.
171         * (display_help): Print meaning of -###.
172         * (process_command): Handle -###.
173
174 2001-12-14  Ira Ruben   <ira@apple.com>
175
176         Fix to no allow -save-temps to clobber user's source file.
177         * gcc.c: Add static globals input_stat and input_stat_set.
178         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
179         set, check that user's input file is not overwritten.
180         (set_input): Reset input_stat_set for each new file.
181
182 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
183
184         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
185
186 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
187
188         * combine.c (record_dead_and_set_regs): Use
189         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
190
191 2001-12-14  Roger Sayle <roger@eyesopen.com>
192
193         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
194         __builtin_fsqrt to __builtin_sqrt.
195
196         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
197         * doc/extend.texi: Simplify documentation to match patch.
198
199 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
200
201         * config.gcc: Revamp target_cpu_default2 to strings;
202         support new x86 variants.
203         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
204         properly; set prefetch_sse.
205         * i386.h (x86_prefetch_sse): Declare.
206         (TARGET_PREFETCH_SSE): New.
207         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
208         (TARGET_CPU_DEFAULT_*): New.
209
210 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
211                               Jan Hubicka  <jh@suse.cz>
212
213         * config/i386/i386.h (struct processor_costs): Add new members
214           prefetch_block and simultaneous_prefetches.
215           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
216         * config/i386/i386.c (processor_costs structs): Add values for
217           prefetch_block and simultaneous_prefetches.
218         * config/i386/i386.md (unspec values): Remove values for prefetch
219           operations, which now use the PREFETCH rtx code.
220           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
221           unified prefetch support.
222
223 2001-12-14  Jason Merrill  <jason@redhat.com>
224
225         * diagnostic.c (sorry): Increment sorrycount before saving the
226         buffer state.
227
228 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
229
230         * i386.md (sqrt?f): Fix conditionals.
231
232 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
233
234         * config.gcc (alpha64-dec-*vms*): New case.
235         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
236         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
237         * config/alpha/xm-vms64.h: Likewise.
238
239         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
240         (alpha_write_linkage): Test for null alpha_links.
241         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
242         (vms_section_type_flags, vms_asm_named_section): Handle them.
243
244 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
245
246         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
247         (override_option): Set ix86_fpmath.
248         * i386.h (MASK_MIX_SSE_I387): Remove.
249         (TARGET_SSE_MATH): New.
250         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
251         (TARGET_SWITCHES): Remove "mix-sse-i387".
252         (fpmath_unit): New enum.
253         (ix86_fpmath, ix86_fpmath_string): Declare.
254         * i386.md (swapsf): Fix condition.
255         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
256         (fp_?f_*_nosse): New.
257         (fp_*): Use TARGET_SSE_MATH.
258         * invoke.texi (-mfpmath): Document.
259         (-msse2): Add.
260
261 2001-12-14  Jason Merrill  <jason@redhat.com>
262
263         * dwarf2out.c (output_die): Print the string in the comment for
264         a DW_FORM_strp.
265
266 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
267
268         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
269         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
270         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
271         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
272
273 2001-12-13  Richard Henderson  <rth@redhat.com>
274
275         * regrename.c (kill_value_regno): Simplify chain removal.
276         (kill_value): Kill all of HARD_REGNO_NREGS.
277         (kill_set_value): Use kill_value not kill_value_regno.
278         (kill_autoinc_value): Likewise.
279         (copyprop_hardreg_forward): Don't collect refresh_blocks.
280         Call delete_noop_moves.
281
282 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
283
284         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
285         for the mode attribute.
286         (handle_mode_attribute): Handle types, not decls.
287
288 2001-12-13  Jason Merrill  <jason@redhat.com>
289
290         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
291
292 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
293
294         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
295         constraint to base register.
296         (eh_set_lr_si): Same.
297
298 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
299
300         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
301         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
302         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
303
304 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
305
306         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
307         warning and reformat comments.
308         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
309         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
310         if overflow.
311
312 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
313
314         * config/rs6000/rs6000.c (rs6000_override_options): Add
315         SUBSUBTARGET_OVERRIDE_OPTIONS.
316
317         * config/rs6000/eabialtivec.h: New file.
318
319         * config/rs6000/linuxaltivec.h: New file.
320
321         * config.gcc: Add powerpc-*-eabialtivec and
322         powerpc-*-linux-gnualtivec.
323
324 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
325
326         * toplev.c (process_options, parse_options_and_default_flags):
327         Set flag_no_inline before the post_options hook.
328
329 2001-12-13  Richard Henderson  <rth@redhat.com>
330
331         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
332         is false.
333
334 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
335
336         * collect2.c (COLLECT_SHARED_INIT_FUNC)
337         (COLLECT_SHARD_FINI_FUNC): Define default values.
338         (write_c_file_stat): Use them to call construtor and destructor
339         functions in shared libraries.
340         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
341         (COLLECT_SHARD_FINI_FUNC): Document them.
342         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
343         (COLLECT_SHARD_FINI_FUNC): Define.
344
345         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
346         shared library.  Pass -shared through to the linker.
347         * config/arm/netbsd.h (LINK_SPEC): Likewise.
348
349         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
350         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
351         (SHLIB_INSTALL): Define.
352
353 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
354
355         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
356         the same way as we handle SYMBOL_REFS.
357
358 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
359
360         * loop.c (remove_constant_addition): Fix prototype and whitespace.
361         (emit_prefetch_instructions): Remove warnings and whitespace
362         changes.
363
364 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
365
366         * config/alpha/vms-cc.c (preprocess_args): Fix forward
367         declaration.
368
369 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
370
371         * predict.c (estimate_probability): Reorganize opcode heuristics.
372         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
373         PRED_FPOPCODE): New.
374
375         * i386.c (override_options): Recognize various CPU variants and set
376         SSE/MMX/3dNOW flags accordingly.
377         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
378         MASK_3DNOW_A_SET): New.
379         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
380         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
381         (MASK_*): Renumber.
382         (TARGET_FLAGS): Use new masks.
383         (CPP_CPU_SPECS): Recognize new CPU variants.
384         * invoke.texi (-mcpu): Update documentation.
385
386         * flags.h (flag_prefetch_loop_arrays): Declare.
387         * loop.h (LOOP_PREFETCH): Define new constant.
388         * loop.c (strength_reduce): Call emit_prefetch_instructions.
389         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
390         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
391         constants.
392         (check_store_data): New structure.
393         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
394         New functions.
395         * toplev.c: Include insn-flags.h.
396         (flag_prefetch_loop_arrays): New global variable.
397         (lang_independent_option): Add -fprefetch-loop-arrays.
398         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
399         is set.
400         * Makefile.in (toplev.c): Depend on insn-flags.h.
401         * invoke.texi (-fprefetch-loop-arrays): Document.
402
403         * predict.c (estimate_probability): Distribute the loop exit
404         probability according to number of exit edges.
405
406         * cfgcleanup.c (insns_match_p): Break out from ...;
407         (flow_find_cross_jump): ... here;
408         (outgoing_edges_match): Add parameter MODE; attempt to match everything
409         except for tablejumps.
410         (try_crossjump_to_edge): Accept complex edges.
411         (try_crossjump_bb): Likewise.
412
413 2001-11-29  Corey Minyard <minyard@acm.org>
414
415         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
416         instead of plus_constant.
417         * simplify-rtx.c (neg_const_int): New.
418         (simplify_gen_binary, simplify_plus_minus): Use it.
419
420 2001-12-12  Roger Sayle  <roger@eyesopen.com>
421
422         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
423         expand_builtin_strcpy): Additional arguments TARGET and MODE.
424         (expand_builtin_bzero, expand_builtin_strcpy,
425         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
426         TARGET and MODE parameters to the above functions.
427         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
428         case where the LEN parameter is constant zero.
429         (expand_builtin_memcmp): No longer conditional on
430         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
431         the cases where len is either constant zero or one.
432         Optimize to call to memcpy, even if the memcpy isn't inlined.
433         (expand_builtin_strncpy): Optimize to call memcpy, even if the
434         memcpy isn't inlined.
435         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
436         to optimize to a call to memcmp.
437         (expand_builtin): expand_builtin_memcmp can always be called,
438         and pass the required parameters to expand_builtin_memcmp,
439         expand_builtin_memset, expand_builtin_memcpy and
440         expand_builtin_strcpy.
441
442 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
443
444         * config.gcc (arm-*-freebsd*): Add target.
445         * config/arm/freebsd.h: New file.
446         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
447         (CPP_SPEC): #undef before defining.
448         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
449         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
450         -Amachine=arm.
451         * config/arm/linux-elf.h: Likewise.
452         * config/arm/netbsd.h: Likewise.
453         * config/arm/riscix.h: Likewise.
454         * config/arm/riscix1-1.h: Likewise.
455         * config/arm/semiaof.h: Likewise.
456
457 2001-12-12  Richard Henderson  <rth@redhat.com>
458
459         * regrename.c (copyprop_hardreg_forward): New optimization.
460         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
461         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
462         replace_oldest_value_reg, replace_oldest_value_addr,
463         replace_oldest_value_mem, copyprop_hardreg_forward_1,
464         debug_value_data, validate_value_data): New.
465         * rtl.h (copyprop_hardreg_forward): Declare.
466         * toplev.c (flag_cprop_registers): New.
467         (f_options): Add -fcprop-registers
468         (rest_of_compilation): Invoke it.
469         (parse_options_and_default_flags): Set it at -O1.
470         * doc/invoke.texi: Document it.
471
472 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
473
474         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
475         (DEBUG_RANGES_SECTION_LABEL): Define.
476         (ranges_section_label): Add.
477         (add_AT_range_list): New.
478         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
479         (output_loc_list): Location expression length is always 2-byte.
480         (output_die): Handle dw_val_class_range_list.
481         (gen_lexical_block_die): Call add_AT_range_list.
482         (dwarf2out_init): Initialize ranges_section_label.
483         (dwarf2out_finish): Emit ranges_section_label.
484
485 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
486
487         * c-typeck.c (digest_init): Allow initializing
488         static storage duration objects with compound literals.
489         * doc/extend.texi (Compound literals): Document the extension.
490
491 2001-12-12  Richard Henderson  <rth@redhat.com>
492
493         * emit-rtl.c (adjust_address_1): Always copy address to avoid
494         shared rtl.
495
496 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
497
498         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
499         to avoid overflow.
500
501 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
502
503         * cppfiles.c (read_include_file): Set buffer size properly when
504         file is shorter than expected.
505
506 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
507
508         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
509         enumeral types - encode them using 'i'.
510
511 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
512
513         * doc/extend.texi (Deprecated Features): Deprecate implicit
514         typename. Document that named return and initializer lists are now
515         removed.
516
517 2001-12-11  Roger Sayle <roger@eyesopen.com>
518
519         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
520         compiler warning about enumeration values not being handled.
521
522 2001-12-11  Momchil Velikov  <velco@fadata.bg>
523
524         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
525         shifts.
526
527 2001-12-11  Richard Henderson  <rth@redhat.com>
528
529         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
530         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
531         * config/alpha/alpha.md (prefetch): New.
532
533 2001-12-11  Richard Henderson  <rth@redhat.com>
534
535         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
536         if C has only low bits set and doesn't intersect with X or Y.
537
538 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
539
540         * basic-block.h (flow_preorder_transversal_compute): Declare.
541         * cfganal.c (flow_preorder_transversal_compute): Implement.
542
543 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
544
545         * cfganal.c (flow_depth_first_order_compute): Always
546         increment dfsnum.
547
548 2001-11-30 Alan Matsuoka <alanm@redhat.com>
549
550         * combine.c (combine_simplify_rtx) : Can't simplify
551         cases that use mode class MODE_CC.
552
553 2001-12-11  Richard Henderson  <rth@redhat.com>
554
555         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
556         which there is no divide expander.
557
558 2001-12-11  Richard Henderson  <rth@redhat.com>
559
560         * except.c (sjlj_find_directly_reachable_regions): Don't
561         consider RNL_BLOCKED a directly reachable region.
562         (sjlj_assign_call_site_values): Trust directly_reachable.
563         (sjlj_emit_dispatch_table): Likewise.
564
565 2001-12-11  Richard Henderson  <rth@redhat.com>
566
567         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
568         we represent the address load's dependency on the gp.
569         (divmoddi_internal_er): Likewise.
570         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
571
572 2001-12-11  Richard Henderson  <rth@redhat.com>
573
574         * emit-rtl.c (widen_memory_access): New.
575         * expr.h (widen_memory_access): Declare it.
576         * config/alpha/alpha.c (get_aligned_mem): Use it.
577
578 2001-12-11  Richard Henderson  <rth@redhat.com>
579
580         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
581         simplification above out of range check.
582
583 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
584
585         * config/sparc/sparc.md (prefetch): New.
586
587 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
588
589         * output.h (regno_uninitialized): Make argument unsigned.
590
591         * flow.c (regno_uninitialized): Make regno unsigned.
592
593 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
594
595         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
596         * config/cris/cris.h (ENDFILE_SPEC): Define.
597         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
598         * config/pa/elf.h: Likewise.
599
600 2001-12-11  Richard Henderson  <rth@redhat.com>
601
602         * objc/objc-act.c (build_string_class_template): New.
603         (build_objc_string_object): Call it.
604
605 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
606
607         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
608         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
609         * calls.c (store_unaligned_arguments_into_pseudos): Check
610         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
611         are passed/returned.
612         * expr.c (move_block_from_reg): Ditto.
613         (move_block_from_reg): Ditto.
614         (copy_blkmode_from_reg): Ditto.
615         * stmt.c (expand_return): Ditto.
616         * stor-layout.c (compute_record_mode): If
617         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
618         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
619         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
620         so that Structures of one field are still treated as structures.
621         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
622         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
623         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
624         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
625         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
626         to special case handling of structure padding.
627
628 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
629
630         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
631         (may_trap_exp): Stores only are risk if they trap, too, not just
632         if code == MEM.
633
634 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
635
636         * flow.c (find_regno_partial): Indent properly.  Add a default to
637         switch.
638
639 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
640
641         * c-common.c (combine_strings): Complain if concatenating
642         __FUNCTION__.
643         * c-parse.in (yylexname): Flag artificial strings.
644         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
645 doc:
646         * extend.texi: Update.
647
648 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
649
650         * c-common.c (type_for_mode): Handle unsigned vectors.
651         (type_for_mode): Remove redundant calls to TYPE_MODE.
652
653         * tree.c (make_vector): New.
654         (build_common_tree_nodes_2): Use make_vector for vector types.
655         Add unsigned vector types.
656
657         * tree.h (tree_index): Add unsigned types for vectors.
658         (unsigned_V16QI_type_node): New.
659         (unsigned_V4SI_type_node): New.
660         (unsigned_V8QI_type_node): New.
661         (unsigned_V8HI_type_node): New.
662         (unsigned_V4HI_type_node): New.
663         (unsigned_V2SI_type_node): New.
664
665 2001-12-11  Stan Shebs  <shebs@apple.com>
666
667         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
668         test of class names.
669
670 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
671
672         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
673         cpu configuration headers.
674         * config/h8300/elf.h: Include dbxelf.h.
675         * config/m68k/linux.h: Likewise.
676         * config/m68k/m68020-elf.h: Likewise.
677         * config/m68k/m68kv4.h: Likewise.
678         * config/sh/elf.h: Likewise.
679         * config/m68k/m68kemb.h: Add comment about the its purpose.
680
681 2001-12-11  Richard Henderson  <rth@redhat.com>
682
683         * objc/objc-act.c (build_constructor): Cast initializer values
684         to the proper field types.
685
686 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
687
688         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
689
690 2001-12-10  Roger Sayle <roger@eyesopen.com>
691
692         * builtins.c (expand_builtin): Use a switch statement to list
693         those functions not expanded without optimizations, instead of a
694         series of equality tests.
695
696 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
697
698         * config/alpha/vms.h (LIB_SPEC): Define.
699         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
700
701         * libgcc2.c (_bb): Remove ctime declaration.
702
703         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
704         that works if LN_S = cp.
705
706         * config/alpha/x-vms (version): Change "." to "_".
707
708         * configure.in: Hardcode that vfork works on VMS host.
709         * configure: Regenerated.
710
711 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
712
713         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
714         unless do_obj true.
715         (process_command): Modify calls to convert_filename.
716
717 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
718
719         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
720
721 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
722
723         * combine.c (known_cond): Check mode of each operand to determine
724         if COND is comparing floating point values.
725
726 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
727
728         * rs6000.h (processor_type): Add PPC405.
729         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
730         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
731         rios1, rs64, and ppc630 processors.
732         * rs6000.c (processor_target_table): Add PPC405.
733
734 2001-12-10  Richard Henderson  <rth@redhat.com>
735
736         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
737         instead of hardcoding subregs into the _be and _le patterns.
738
739 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
740
741         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
742
743 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
744
745         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
746         what insn does.
747
748 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
749
750         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
751         copyright notice formerly conditioned on @ifinfo on @ifnottex
752         instead.
753
754 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
755
756         * vmsdbgout.c (lookup_filename): Remove warning.
757
758 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
759
760         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
761
762         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
763         (exeext, target_alias, prefix, local_prefix): Define.
764         * config/alpha/x-vms (USE_COLLECT2): Make empty.
765         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
766         file specifications. Remove ".".
767         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
768         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
769
770 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
771
772         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
773
774 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
775
776         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
777         Add rules for building [vp]crt0.o
778         * config/alpha/vms.h (START_FILE_SPEC): Define.
779         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
780         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
781         * doc/invoke.texi: Document special Alpha/VMS options.
782
783 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
784
785         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
786         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
787         not GNUC.
788
789 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
790                           Douglas B. Rupp  <rupp@gnat.com>
791
792         * tree.c (append_random_char): Conditionalize INO for VMS.
793
794 2001-12-09  Richard Henderson  <rth@redhat.com>
795
796         * cfgcleanup.c (label_is_jump_target_p): New function.
797         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
798         target of a JUMP_INSN from the preceding block.
799
800 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
801
802         * vmsdbgout.c (lookup_filename): Assign null string instead
803         of null pointer to fnam.
804
805 2001-12-09  Richard Henderson  <rth@redhat.com>
806
807         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
808         immediately after a call; insert nops before a call.
809
810 2001-12-09  Richard Henderson  <rth@redhat.com>
811
812         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
813         not FUNCTION_BOUNDARY.
814         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
815         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
816         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
817
818 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
819
820         * config/mmix/mmix.c (mmix_function_block_profiler,
821         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
822         unused functions.
823         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
824         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
825         prototypes.
826
827         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
828         Delete obsoleted macros.
829
830 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
831
832         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
833         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
834
835         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
836         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
837         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
838         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
839         config/i370/i370.c, config/i386/i386.c,
840         config/i386/i386-interix.h, config/i386/i386.md,
841         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
842         config/m32r/m32r-protos.h, config/mcore/mcore.h,
843         config/rs6000/rs6000.h, config/sparc/linux64.h,
844         config/sparc/sparc.c, config/v850/v850-protos.h,
845         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
846         spelling errors.
847
848 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
849
850         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
851         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
852
853         * config/rs6000/rs6000.c: Ditto.
854
855         * config/rs6000/rs6000.md: Ditto.
856
857 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
858
859         * 1750a.md: Add default case in switch.
860         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
861         if-else statement.
862         * dsp16xx.c (print_operand_address): Likewise.
863         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
864         * ia64.md: Add missing braces.
865         * rs6000-protos.h (s8bit_cint_operand): Prototype.
866         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
867         if-else statement.
868         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
869         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
870         * dbxout.c (dbxout_source_file): Move a variable into the scope
871         where it is used.
872         * final.c (profile_function): Mark parameter with
873         ATTRIBUTE_UNUSED.
874         * genemit.c (gen_expand): Likewise for generated file.
875         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
876
877         * vmsdbg.h: Delete spurious close-comment.
878         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
879         * vmsdbgout.c (write_modbeg): Define return type.
880
881         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
882         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
883         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
884         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
885         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
886         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
887         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
888
889 2001-12-08  Tom Rix  <trix@redhat.com>
890
891         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
892         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
893         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
894         for powerpc64.
895         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
896         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
897         * config/rs6000/rs6000.c (expand_block_move): Do not use
898         gen_movstrsi_2reg and powerpc64.
899
900 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
901
902         * c-common.h (rid): Add RID_CHOOSE_EXPR and
903         RID_TYPES_COMPATIBLE_P.
904
905         * c-parse.in (reswords): Add __builtin_choose_expr.
906         Add __builtin_types_compatible_p.
907         Add CHOOSE_EXPR token.
908         Add TYPES_COMPATIBLE_P token.
909         Add production for CHOOSE_EXPR.
910         Add production for TYPES_COMPATIBLE_P.
911
912         * doc/extend.texi (__builtin_choose_expr): Add documentation.
913         (__builtin_types_compatible_p): Likewise.
914
915 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
916
917         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
918         to unions.
919
920 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
921
922         * c-parse.in: Take string literals in assembler constructs,
923         not expressions.
924         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
925         check the strings are STRING_CSTs.
926
927 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
928
929         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
930         using combine_strings to do the concatenation.
931         * c-parse.in: Replace uses of the string non-terminal with STRING.
932         Don't attempt string concatenation.
933         (OBJC_STRING): New terminal.
934         (string): Remove non-terminal.
935         (_yylex): Call combine_strings on function names.  Generate
936         OBJC_STRING terminals; don't pass '@' on to yacc.
937         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
938         (build_asm_stmt): Similarly.
939
940 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
941
942         * rtlanal.c (get_jump_table_offset): Delete unused variable.
943
944 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
945
946         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
947         (prefetch): Rewrite using PREFETCH RTL primitive.
948         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
949         * arm.c (arm_init_builtins): Don't initialize a builtin for
950         __builtin_prefetch here.
951         (arm_expand_builtin): Don't expand __builtin_prefetch here.
952
953 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
954
955         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
956         in test for a subreg.
957
958 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
959
960         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
961         strings.
962
963 2001-12-07  Richard Henderson  <rth@redhat.com>
964
965         * doc/extend.texi: Fix typo last change.
966
967         * c-decl.c (c_language): Remove duplicate.
968
969 2001-12-07  Dale Johannesen  <dalej@apple.com>
970
971         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
972         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
973         specific codegen, eliminate a register copy.
974         (print_operand_address): Add support for Darwin's lo16(constant)
975         syntax.
976         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
977         generation of addresses within very large data objects.
978         (s8bit_cint_operand):  New.
979         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
980         Move "mtjmpr" to correct functional unit for 750/7400/7450.
981         Add imul2 and imul3 insn types for multiplication by 16- and
982         8-bit constants.
983         Change tablejump patterns to strongly discourage using LR
984         rather than CTR.
985         Add %lo16 patterns for Darwin loads and stores.
986
987 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
988
989         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
990
991 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
992
993         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
994         with %sp because it can cause the delayed instruction to load
995         below the stack.
996
997 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
998
999         * alpha.c (alpha_expand_unaligned_store,
1000         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
1001         call to immed_double_const.
1002
1003 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
1004
1005         * doc/extend.texi (Variable Attributes): Document vector_size.
1006
1007         * attribs.c (c_common_attribute_table): Add vector_size.
1008         (handle_vector_size_attribute): New.
1009         (vector_size_helper): New.
1010         (decl_attributes): Relayout the decl after calculating attribs.
1011
1012 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1013
1014         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
1015         description for Trouble section.
1016         * doc/install-old.texi: Adjust for inclusion as chapter of new
1017         installation manual.
1018         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
1019         Adjust to include old installation chapter as chapter of new
1020         installation manual.
1021
1022 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
1023
1024         * rtl.h (get_jump_table_offset): Declare.
1025         * rtlanal.c (get_jump_table_offset): Implement.
1026
1027 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1028
1029         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
1030         Deleted; were used only by BB profiler code.
1031         (sbb_head, sbb_tail, sbb_label_num): Likewise.
1032         (end_final): Delete now-unused vars I, PTR, and SPTR.
1033
1034         * expr.c (store_field): Remove warning.
1035         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
1036         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
1037         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
1038         divisor constant power of 2.
1039         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
1040
1041 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1042
1043         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
1044         shifting.
1045
1046 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1047
1048         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
1049         (DWARF_FRAME_REGISTERS): Delete.
1050
1051 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
1052
1053         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
1054         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
1055         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
1056         with defaults for read prefetch with high degree of locality.
1057         * doc/extend.texi (__builtin_prefetch): Update documentation.
1058         * doc/md.texi (prefetch): Add documentation.
1059
1060 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1061
1062         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
1063         UNIX V5.1A stdio.h.
1064         * fixinc/fixincl.x: Regenerate.
1065         Fixes PR libf2c/4826.
1066
1067 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1068             Richard Henderson  <rth@redhat.com>
1069
1070         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
1071         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
1072
1073         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
1074         to PRE_GCC3_DWARF_FRAME_REGISTERS.
1075         (frame_state): Same.
1076         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
1077
1078 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1079
1080         * langhooks.c (lhd_staticp): Mark parameter with
1081         ATTRIBUTE_UNUSED.
1082
1083 2001-12-06  H.J. Lu <hjl@gnu.org>
1084
1085         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
1086         reduce noise.
1087         (.po.pox): Likewise.
1088         (o/$(PACKAGE).pot): Likewise.
1089
1090 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
1091
1092         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
1093         * tree-inline.c (expand_call_inline): ... here.
1094
1095 2001-12-06  H.J. Lu <hjl@gnu.org>
1096
1097         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
1098         (.po.pox): Likewise.
1099         (o/$(PACKAGE).pot): Likewise.
1100
1101 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
1102
1103         * config.gcc: Include dbxelf.h before elfos.h.
1104         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
1105
1106 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
1107
1108         * cppfiles.c (open_file): If we've opened a directory by
1109         mistake, close it.
1110         (find_include_file): Avoid turning / into // or // into ///.
1111
1112 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1113
1114         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
1115         (STRUCT_VALUE_REGNUM): Restore definition.
1116
1117 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
1118
1119         * flow.c (find_regno_partial): Return register, not the expression
1120         the register is in.
1121
1122 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1123
1124         * function.c (handle_epilogue_set): Check for FP setting case when
1125         SP is set from FP in same insn.
1126
1127 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1128
1129         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
1130         RTX when calling alter_subreg().
1131         (store_multiple_sequence): Pass pointer to RTX when calling
1132         alter_subreg().
1133
1134 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1135
1136         * function.c (assing_parms): Fix typo in last change.
1137         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
1138         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
1139         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1140         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
1141
1142 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
1143
1144         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
1145         correct code selecting section.
1146
1147 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
1148
1149         * final.c (count_basic_block, add_bb, add_bb_string):
1150         Kill.
1151         (end_final, final_start_function, final, final_scan_insn,
1152         leaf_function_p): Kill BB profiler related code.
1153         * flags.h (profile_block_flag): Kill.
1154         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
1155         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
1156         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
1157         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
1158         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
1159         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
1160         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
1161         __bb_init_trace_func): Kill.
1162         * toplev.c (profile_block_flag): Kill.
1163         (indepdendent_decode_option, process_options): Kill -a related code.
1164         * alpha.c (direct_call_operand): Likewise.
1165         * arm.c (arm_expand_prologue, thumb_expand_prologue,
1166         thumb_expand_epilogue): Likewise.
1167         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
1168         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1169         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1170         MACHINE_STATE_RESTORE): Kill.
1171         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1172         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1173         MACHINE_STATE_RESTORE): Kill.
1174         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1175         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
1176         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
1177         code.
1178         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
1179         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1180         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1181         MACHINE_STATE_RESTORE): Kill.
1182         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1183         * i960.c (i960_output_function_prologue): Kill BB profiler related
1184         code.
1185         * ia64.c (ia64_compute_frame_size): Likewise.
1186         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1187         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1188         MACHINE_STATE_RESTORE): Kill.
1189         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
1190         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1191         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1192         MACHINE_STATE_RESTORE): Kill.
1193         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
1194         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1195         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1196         MACHINE_STATE_RESTORE): Kill.
1197         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
1198         Kill BB profiler related code.
1199         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1200         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1201         MACHINE_STATE_RESTORE): Kill.
1202         * mips.c (mips_expand_prologue): Kill BB profiler related code.
1203         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1204         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1205         MACHINE_STATE_RESTORE): Kill.
1206         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
1207         * s960.c (s390_function_prologue): Kill BB profiler related code.
1208         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1209         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1210         MACHINE_STATE_RESTORE): Kill.
1211         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1212         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1213         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1214         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1215         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
1216         sparc_nonflat_function_epilogue): Kill BB profiler related code.
1217         (sparc_function_block_profiler, sparc_block_profiler,
1218         sparc_function_block_profiler_exit): Kill.
1219         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
1220         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1221         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1222         MACHINE_STATE_RESTORE): Kill.
1223         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1224         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1225         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1226         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1227         MACHINE_STATE_RESTORE): Kill.
1228         * doc/invoke.texi: Kill documentation of -a and -ax.
1229         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1230         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1231         MACHINE_STATE_RESTORE): Kill.
1232
1233 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
1234
1235         * doc/rtl.texi: Use a table to display RTL format characters.
1236
1237 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
1238
1239         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
1240
1241 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1242
1243         * function.c (keep_stack_depressed): Check global_live_at_start
1244         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
1245
1246 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
1247
1248         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
1249         as set by the generic FreeBSD configure framework.
1250
1251 2001-12-04  Jason Merrill  <jason@redhat.com>
1252
1253         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1254         start_inlining, end_inlining.
1255         * tree-inline.c (expand_call_inline): Call them.
1256         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
1257         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
1258         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
1259         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
1260         (lhd_tree_inlining_end_inlining): New fn.
1261
1262 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1263
1264         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
1265         * c-common.h (shadow_warning): New.
1266         * c-decl.c: Include c-common.h.
1267         (warn_if_shadowing): New, broken out of pushdecl.
1268         (pushdecl): Use warn_if_shadowing.
1269         (store_parm_decls): Prevent duplicate -Wshadow warnings.
1270
1271 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
1272
1273         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
1274         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
1275         (LIB_SPEC): Remove.
1276
1277 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1278
1279         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
1280         (QUAL_UNION_TYPE): New type.
1281
1282         * varasm.c (output_constant, case ERROR_MARK): New case.
1283
1284         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
1285         (c_com): Delete its reference.
1286         * builtins.c: Delete memory checking code.
1287         * calls.c, expr.c, function.c, stmt.c: Likewise.
1288         * builtins.c (expand_builtin_arg_info): Remove reference to
1289         EXPAND_MEMORY_USE_* modifiers.
1290         * explow.c (expr_size): Likewise.
1291         * expr.c (expand_expr, expand_increment): Likewise.
1292         * expr.h (ARGS_SIZE_RTX): Likewise.
1293         * function.c (assign_parms, expand_pending_sizeso): Likewise.
1294         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
1295         * expr.c (in_check_memory_usage): Delete.
1296         (get_push_address, get_memory_usage_from_modifier): Delete.
1297         (expand_assigment): Use EXPAND_WRITE on destination.
1298         (expand_expr): Delete ro_modifier.
1299         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
1300         add EXPAND_WRITE.
1301         (memory_use_mode): Delete.
1302         * flags.h (flag_check_memory_usage): Deleted.
1303         (flag_prefix_function_name): Likewise.
1304         * function.c (expand_function_start): Don't set
1305         current_function_check_memory_usage.
1306         * function.h (check_memory_usage): Delete.
1307         * libfuncs.h, optabs.c: Delete chkr_* stuff.
1308         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
1309         EXPAND_WRITE.
1310         * toplev.c (flag_check_memory_usage): Deleted.
1311         (flag_prefix_function_name): Likewise.
1312         (f_options, process_options): Delete references to above.
1313         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
1314         * varasm.c (CHKR_PREFIX): Deleted.
1315         (make_decl_rtl): Remove flag_prefix_function_name handling.
1316         (assemble_name): Likewise.
1317         * doc/extend.texi: Remove no_check_memory_usage attribute.
1318         * doc/invoke.texi: Remove -fcheck-memory-usage
1319         and -fprefix-function-name.
1320
1321 2001-12-05  Andreas Schwab  <schwab@suse.de>
1322
1323         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
1324         from autoconf.
1325
1326 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
1327
1328         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
1329
1330 2001-12-05  William Cohen  <wcohen@redhat.com>
1331
1332         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
1333         instruction.
1334
1335 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
1336
1337         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
1338         builtins.
1339
1340         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
1341         better reflect reality (change from Apple's tree).
1342         Add more of altivec instructions.
1343         Add ftruncv4sf2 pattern.
1344         Remove more unspecs (vector merge instructions, etc).
1345
1346         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
1347         builtins.
1348         (bdesc_1arg): New, for 1 argument altivec builtins.
1349         (altivec_expand_builtin): Handle unary and ternary ops.
1350         (altivec_init_builtins): Ditto.
1351
1352 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1353
1354         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
1355         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
1356
1357 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1358
1359         * gcse.c (store_killed_in_insn): Consider pure calls
1360         as potential store killers in addition to normal calls.
1361
1362 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1363
1364         * expr.c (expand_expr): When checking promoted value, use
1365         DECL_MODE (exp) and not mode.
1366
1367 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1368
1369         * c-typeck.c (output_init_element): Call digest_init
1370         just once, not in each if branch and check its return value for
1371         error_mark_node.
1372
1373 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1374
1375         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
1376         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
1377         (finish_struct): Break the loop if n_incomplete went to 0.
1378         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
1379
1380 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
1381
1382         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
1383
1384 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1385                           Douglas B. Rupp  <rupp@gnat.com>
1386
1387         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
1388         * doc/invoke.texi: Add -gvms.
1389         * doc/passes.texi: Add mention of vmsdbgout.c.
1390         * doc/tm.texi: Document VMS debugging output.
1391
1392 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1393
1394         * function.h (tree, rtx): Remove no-longer-needed definitions.
1395
1396         * function.c (keep_stack_depressed): Refine check for register
1397         clobbered over call.
1398
1399         * expr.c (store_expr): When copying string constant into array,
1400         use functions that update memrefs instead of computations on
1401         addresses to better track MEMs.  Also properly handle 32/64 pointers.
1402         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
1403         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
1404
1405         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
1406         underneath COMPONENT_REFs.
1407         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
1408
1409 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1410
1411         * toplev.c (display_target_options): Don't print twice.
1412
1413 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
1414
1415         * emit-rtl.c (set_unique_reg_note): Don't set
1416         a REG_EQUAL or REG_EQUIV note if multiple sets
1417         are present.
1418
1419 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1420
1421         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
1422         CASE_DROPS_THROUGH.
1423
1424 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
1425
1426         * rtl.h (initialize_uninitialized_subregs): New prototype.
1427         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
1428         when optimization is on.
1429         * flow.c (find_regno_partial): Find subregs within an expression.
1430         (initialize_uninitialized_subregs): Initialize live on entry registers
1431         which are used in subreg expressions.
1432
1433 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
1434
1435         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
1436
1437 2001-12-04  DJ Delorie  <dj@redhat.com>
1438
1439         * fixinc/fixincl.c (initialize): Avoid problemsome macro
1440         parameter names (PR 3388).
1441
1442 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
1443
1444         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
1445         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
1446
1447 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1448
1449         * c-common.def (COMPOUND_LITERAL_EXPR): New.
1450         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
1451         (c_staticp): New function.
1452         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
1453         (c_staticp): Declare.
1454         * c-typeck.c (default_function_array_conversion, build_unary_op):
1455         Don't handle CONSTRUCTOR specially.
1456         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
1457         * c-decl.c (build_compound_literal): New function.
1458         * c-tree.h (build_compound_literal): Declare.
1459         * c-parse.in (primary): Use build_compound_literal.
1460         * c-lang.c (LANG_HOOKS_STATICP): Define.
1461         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
1462         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
1463         * doc/extend.texi: Update documentation of compound literals.
1464         Fixes PR c/4787.
1465
1466 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1467
1468         * langhooks.h (struct lang_hooks): Add staticp.
1469         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
1470         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
1471         * langhooks.c (lhd_staticp): New function.
1472         * tree.c (staticp): Call lang_hooks.staticp for language-specific
1473         tree codes.
1474
1475 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1476
1477         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
1478         * gcc.c (process_command): Ensure the cpp driver sees
1479         --help and --target-help, and that the help is printed
1480         exactly once.
1481
1482 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
1483
1484         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
1485
1486 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
1487
1488         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
1489         flag_strict_aliasing.  Use separate assignment statements.
1490
1491 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
1492
1493         * build-make, cross-make: Delete file.
1494         * configure.in: Set and substitute CROSS, ALL,
1495         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
1496         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
1497         whether build == host and host == target.  Do not
1498         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
1499         AC_SUBST cross_defines or extra_c_flags.
1500         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
1501         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
1502         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
1503         partially or completely with autoconf-substituted @variable@
1504         notation.
1505         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
1506         @build_overrides@, @extra_c_flags@, all.build, install-build,
1507         install-cross-rest, install-float-h-cross): Deleted.
1508         (install-normal): Rename to install.  Delete old "install"
1509         indirection rule.
1510
1511 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
1512
1513         * stmt.c (expand_return): Clear destination instead of clobbering it
1514         when setting a return value via bitsets.
1515
1516 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
1517
1518         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
1519         it has DECL_SAVED_TREE.
1520
1521         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
1522         is in a different binding level, get its abstract origin to be
1523         olddecl.
1524         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
1525         check earlier.
1526         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
1527         DECL_INITIAL is NULL.
1528
1529 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
1530
1531         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
1532         Return correct value if one of the subexpressions was optimized to
1533         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
1534         (and_reg_cond): Similarly.
1535
1536 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
1537
1538         * function.c (assign_parms): Set last_named only for last named
1539         argument.
1540
1541 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1542
1543         * doc/install.texi: Use the GFDL.  Include years from old install
1544         manual in copyright notice.  Include copyright and GFDL notice on
1545         HTML index page.  Include usual footer on testing.html.
1546         * doc/install.texi2html: Build gfdl.html.  Use -I
1547         $SOURCEDIR/include.
1548         * doc/include/fdl.texi: Adapt for use in the install manual.
1549
1550 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1551
1552         * doc/install.texi: Document that installed native compiler for
1553         building cross compilers should be GCC 2.95 or later.
1554
1555 2001-12-03  Eric Christopher  <echristo@redhat.com>
1556
1557         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
1558         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
1559         patterns.
1560
1561 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
1562
1563         * rtl.def (PREFETCH): New rtx code.
1564         * doc/rtl.texi (PREFETCH): Add documentation.
1565         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
1566         * rtlanal.c (reg_referenced_p): Ditto.
1567         * sched-vis.c (print_exp):  Ditto.
1568         * ssa-dce.c (find_inherently_necessary):  Ditto.
1569
1570         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
1571           (PREFETCH_BLOCK): Define.
1572         * config/ia64/ia64.md (itanium_class): Add lfetch.
1573           (prefetch, prefetch_internal): New.
1574
1575         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
1576         * builtins.def (BUILT_IN_PREFETCH): New.
1577         * builtins.c (expand_builtin_expect): New.
1578           (expand_builtin): Call it.
1579         * doc/extend.texi: Document __builtin_prefetch.
1580
1581         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
1582           conflicts with new generic prefetch functionality.
1583         * config/i386/i386.c (ix86_expand_builtin): Use new name for
1584           prefetch_sse.
1585
1586 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
1587
1588         * objc/Make-lang.in: Update copyright.
1589         (OBJC_OBJS): Add objc-lang.o.
1590         (objc-lang.o): New rule.
1591         * objc/config-lang.in: Fix file description and update
1592         copyright.
1593         * objc/objc-act.c: Do not include langhooks.h and
1594         langhooks-def.h
1595         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
1596         (objc_post_options): Move to objc-lang.c.
1597         (objc_init_options): Move to objc-lang.c.
1598         (objc_init): Make non-static.
1599         (objc_decode_option): Make non-static.
1600         (HASHFUNCTION): Remove macro.
1601         (hash_func): New function.
1602         (hash_enter): Replace HASHFUNCTION with hash_func.
1603         (hash_lookup): Replace HASHFUNCTION with hash_func.
1604         (maybe_objc_tree_codes): New function.
1605         (init_objc): Move ObjC tree code initialization to
1606         maybe_objc_tree_codes().
1607         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
1608         (objc_init): New public prototype.
1609         (objc_decode_option): New public prototype.
1610         (maybe_add_objc_tree_codes): New public prototype.
1611         * objc/objc-lang.c: New file.
1612         (lang_hooks): Moved from objc-act.c.
1613         (objc_post_options): Moved from objc-act.c.
1614         (objc_init_options): Moved from objc-act.c.
1615
1616 2001-12-03  Geoff Keating  <geoffk@redhat.com>
1617
1618         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
1619         of array elements.
1620
1621 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1622
1623         PR c/4988
1624         * gcc.c (process_command): Don't add a preprocessor option for
1625         --help and --target-help; cc1 is enough.
1626
1627 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1628
1629         * c-decl.c (grokdeclarator): Use ISO word.
1630         * cppinit.c: Remove leading capital from diagnostic messages, as
1631         per GNU coding standards.
1632         * emit-rtl.c: Similarly.
1633         * final.c: Similarly.
1634         * gcc.c: Similarly.
1635         * tradcpp.c: Similarly.
1636         * config/arm/arm.c: Similarly.
1637         * config/arm/arm.h: Similarly.
1638         * config/avr/avr.c: Similarly.
1639         * config/avr/avr.h: Similarly.
1640         * config/c4x/c4x.c: Similarly.
1641         * config/cris/cris.c: Similarly.
1642         * config/cris/cris.h: Similarly.
1643         * config/d30v/d30v.c: Similarly.
1644         * config/dsp16xx/dsp16xx.c: Similarly.
1645         * config/dsp16xx/dsp16xx.h: Similarly.
1646         * config/h8300/h8300.c: Similarly.
1647         * config/i386/i386.c: Similarly.
1648         * config/i386/xm-djgpp.h: Similarly.
1649         * config/i960/i960.h: Similarly.
1650         * config/m32r/m32r.c: Similarly.
1651         * config/m68hc11/m68hc11.c: Similarly.
1652         * config/m88k/m88k.c: Similarly.
1653         * config/m88k/m88k.h: Similarly.
1654         * config/mcore/mcore.c: Similarly.
1655         * config/mcore/mcore.h: Similarly.
1656         * config/mips/mips.c: Similarly.
1657         * config/mmix/mmix.c: Similarly.
1658         * config/pa/pa.c: Similarly.
1659         * config/rs6000/rs6000.c: Similarly.
1660         * config/rs6000/sysv4.h: Similarly.
1661         * config/s390/s390.c: Similarly.
1662         * config/sparc/sparc.c: Similarly.
1663         * config/v850/v850-c.c: Similarly.
1664         * config/v850/v850.c: Similarly.
1665
1666 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
1667
1668         * rs6000.h (RETURN_IN_MEMORY): Cast result of
1669         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
1670
1671 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
1672
1673         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
1674         bit twiddling constant.
1675
1676 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1677
1678         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
1679         call purge_dead_edges after removing.
1680         (delete_null_pointer_checks): Do not handle delete_list.
1681
1682         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
1683         (count_basic_blocks): ... here.
1684         (find_basic_blocks, find_bb_boundaries): Cleanup.
1685
1686         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
1687         overflow for types greater then 2 * HOST_WIDE_INT.
1688
1689         * reload.c (find_reloads): Update the duplicates after swapingg.
1690
1691 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
1692
1693         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
1694
1695 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
1696
1697         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
1698         MASK_LONG_DOUBLE_128): Delete.
1699         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
1700         TARGET_AIX_STRUCT_RET): New flags.
1701         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
1702         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
1703         and -m(no-)svr4-struct-return.
1704         (TARGET_OPTIONS): Add entry for -mlong-double-.
1705         (rs6000_long_double_size_string, rs6000_long_double_type_size,
1706         rs6000_altivec_abi): Declare.
1707         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
1708         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
1709         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
1710         structures of size <= 8 bytes in registers.
1711         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
1712
1713         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
1714         rs6000_long_double_type_size, rs6000_altivec_abi): New
1715         globals.
1716         (rs6000_override_options): Set rs6000_long_double_type_size
1717         from rs6000_long_double_size_string, if nonzero.  Set the
1718         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
1719         not already set.
1720         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
1721         target_flags bit.
1722         (rs6000_init_builtins): This hook now takes no arguments.
1723
1724         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
1725         DRAFT_V4_STRUCT_RET to 1.
1726
1727 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1728
1729         * c-typeck.c (really_start_incremental_init, push_init_level):
1730         Avoid constructor_max_index being other than an INTEGER_CST.
1731
1732 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
1733
1734         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
1735         unsigned.
1736         (ASM_GENERATE_INTERNAL_LABEL): Same.
1737         (UNIQUE_SECTION): Fix typo.
1738
1739 2001-12-02  Richard Henderson  <rth@redhat.com>
1740
1741         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
1742
1743 2001-12-02  Richard Henderson  <rth@redhat.com>
1744
1745         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
1746         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
1747         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
1748         * expr.h, final.c, reload1.c: Adjust users.
1749
1750         * alias.c (nonoverlapping_component_refs_p): New.
1751         (decl_for_component_ref, adjust_offset_for_component_ref): New.
1752         (nonoverlapping_memrefs_p): Use them.
1753         * emit-rtl.c (component_ref_for_mem_expr): New.
1754         (set_mem_attributes): Use it.
1755         (set_mem_offset): New.
1756         * expr.c (expand_assignment): Call set_mem_attributes for
1757         inner references; adjust the memory offset as needed.
1758         * print-rtl.c (print_mem_expr): New.
1759         (print_rtx): Use it.
1760
1761 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
1762
1763         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
1764
1765         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
1766         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
1767         (ASM_SPEC): Don't redefine.
1768         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
1769         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
1770         * config/alpha/vms-dwarf2.asm: New file.
1771
1772         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
1773         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
1774         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
1775         (vmsdbgout_after_prologue): New declaration.
1776         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
1777         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
1778         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
1779         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
1780         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
1781         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
1782         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
1783         Test VMS_DEBUGGING_INFO.
1784         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
1785         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
1786         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
1787         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
1788         VMS_AND_DWARF2_DEBUG.
1789         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
1790         (decode_g_option): Add "vms" to debug_type_names.
1791         (process_options): Set vmsdbg_debug_hooks if -gvms.
1792         (lang_independent_init): Emit line number for VMS unless -g0.
1793         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
1794         * vmsdbg.h, vmsdbgout.c: New files.
1795
1796 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1797
1798         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
1799
1800 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1801
1802         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
1803         * dwarf2out.c (is_cxx): Prototype.
1804         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
1805         warning.
1806         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
1807
1808 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1809
1810         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
1811
1812 2001-12-02  Geoff Keating  <geoffk@redhat.com>
1813
1814         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
1815         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
1816         rather than simplify_subreg.  Check for volatile-ness.  Check that
1817         we're not splitting one slow operation into two slow operations.
1818
1819 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
1820
1821         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
1822         before shifting.
1823
1824 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1825
1826         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
1827         capital from diagnostics.
1828         * c-lex.c (cb_file_change): Similarly.
1829         * c-parse.in : Similarly.
1830         * cfgrtl.c (verify_flow_info): Similarly.
1831         * collect2.c: Similarly.
1832         * cppfiles.c (find_include_file): Similarly.
1833         * cppinit.c (cpp_handle_option): Similarly.
1834         * cpplex.c (cpp_spell_token): Similarly.
1835         * cppmain.c (do_preprocessing): Similarly.
1836         * gcc.c (translate_options, process_command, do_spec1,
1837         main, pfatal_execute): Similarly.
1838         * genattr.c (main): Similarly.
1839         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
1840         write_test_expr, main): Similarly.
1841         * gencodes.c (main): Similarly.
1842         * genconfig.c (main): Similarly.
1843         * genconstants.c (main): Similarly.
1844         * genemit.c (main): Similarly.
1845         * genextract.c (main): Similarly.
1846         * genflags.c (main): Similarly.
1847         * genopinit.c (main): Similarly.
1848         * genoutput.c (process_template, main): Similarly.
1849         * genpeep.c (main): Similarly.
1850         * genrecog.c (main): Similarly.
1851         * gensupport.c (is_predicable, identify_predicable_attribute,
1852         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
1853         * ggc-page.c (alloc_anon): Similarly.
1854         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
1855         parse_begin, parse_bend, parse_def, parse_end, parse_file,
1856         parse_stabs_common, parse_stabs, write_varray, write_object,
1857         read_seek, copy_object, main, error): Similarly.
1858         * profile.c (compute_branch_probabilities): Similarly.
1859         * reg-stack.c (check_asm_stack_operands): Similarly.
1860         * reload.c (find_reloads): Similarly.
1861         * reload1.c (spill_failure, failed_reload): Similarly.
1862         * rtl-error.c (_fatal_insn_not_found): Similarly.
1863         * toplev.c (read_integral_parameter, crash_signal,
1864         decode_f_option, set_target_switch, parse_options_and_default_flags)
1865         : Similarly.
1866         * tradcif.y (parse_number, yylex): Similarly.
1867         * tradcpp.c (main, fancy_abort): Similarly.
1868         * tree.c (tree_check_failed): Similarly.
1869         * varray.c (varray_check_failed): Similarly.
1870         * xcoffout.c (xcoff_output_standard_types): Similarly.
1871 objc:
1872         * objc-act.c (get_object_ref, lookup_and_install_protocols,
1873         build_objc_string_object, objc_declare_alias, build_ivar_chain,
1874         finish_message_expr, build_protocol_expr, is_public,
1875         start_class): Similarly.
1876
1877 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1878
1879         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
1880         trailing period from diagnostics.
1881         * c-lex.c (cb_file_change): Similarly.
1882         * cppmacro.c (check_trad_stringification): Similarly.
1883         * gcc.c (do_spec_1): Similarly.
1884         * genattr.c (main): Similarly.
1885         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
1886         * gencodes.c (main): Similarly.
1887         * genconfig.c (main): Similarly.
1888         * genconstants.c (main): Similarly.
1889         * genemit.c (main): Similarly.
1890         * genextract.c (main): Similarly.
1891         * genopinit.c (main): Similarly.
1892         * genoutput.c (main): Similarly.
1893         * genpeep.c (main): Similarly.
1894         * genrecog.c (main): Similarly.
1895         * mips-tfile.c (add_file, error): Similarly.
1896         * profile.c (init_branch_prob): Similarly.
1897         * reload1.c (spill_failure): Similarly.
1898         * stmt.c (parse_output_constraint): Similarly.
1899         * varasm.c (assemble_variable): Similarly.
1900
1901 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1902
1903         * m68k.c (init_FPA_table): Provide static prototype.
1904         * mips/abi64.h (mips_function_value): Move prototype to ...
1905         * mips-protos.h (mips_function_value): ... here.
1906         * mips.c: Include halfpic.h.
1907         * output.h (rdata_section): Prototype.
1908
1909         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1910         * m88k.c (m88k_svr3_asm_out_constructor,
1911         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
1912         !OBJECT_FORMAT_ELF.
1913         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1914         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1915         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1916
1917 2001-12-01  Geoff Keating  <geoffk@redhat.com>
1918
1919         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
1920         LO_SUM addresses less than word size are not legitimate,
1921         because they lead to invalid SUBREGs.
1922         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
1923
1924 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
1925
1926         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
1927         while scanning for multiple back edges.
1928
1929 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1930
1931         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
1932         * config/rs6000/tramp.asm: Use it.
1933
1934 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
1935
1936         * gencheck.c, gengenrtl.c: Don't define xmalloc.
1937         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
1938         xmalloc.
1939
1940 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1941
1942         * pa.c (output_ascii): Cast `p' to unsigned char.
1943
1944 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
1945
1946         * config/rs6000/rs6000.c (altivec_expand_builtin): add
1947         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
1948         *_16qi,_8hi, rename existing V4SI ones to *_4si.
1949         (altivec_init_builtins): Ditto.
1950         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
1951
1952         * config/rs6000/rs6000.md: Add attribute types vecsimple,
1953         veccomplex, vecfloat, and vecperm, for altivec instructions.
1954         Modify altivec patterns to use appropriate attribute type.
1955         Modify altivec patterns to match RTL operations where appropriate
1956         (IE no unspec where we can avoid it).
1957         Add vector unit scheduling for ppc7450.
1958         Rename patterns to what they are where appropriate
1959         (altivec_vaddfp->addv4sf3, etc)
1960
1961         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
1962         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
1963
1964         * config/rs6000/sysv4.h: Add -mcpu=7450.
1965
1966         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
1967         _builtin_altivec_ld_interal function.
1968
1969 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1970
1971         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
1972         strchr, strrchr, isascii, gettimeofday.
1973         * config.in, configure: Regenerate.
1974
1975 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
1976
1977         * unroll.c (unroll_loop): Correct special exit cases.
1978
1979 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
1980
1981         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
1982         accept DFmode and DImode only.
1983
1984 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
1985
1986         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
1987         (STACK_DYNAMIC_OFFSET): Same.
1988
1989 2001-11-30  Richard Henderson  <rth@redhat.com>
1990
1991         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
1992
1993 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
1994
1995         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
1996         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
1997         the values in call_used_registers.
1998
1999 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
2000
2001         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
2002         gthr-single.
2003
2004 2001-11-30  Jason Merrill  <jason@redhat.com>
2005
2006         * dwarf2out.c (is_cxx): New fn.
2007         (add_data_member_location_attribute): Check it.
2008         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
2009
2010 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2011
2012         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
2013
2014 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2015
2016         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
2017         MODE_VECTOR_FLOAT as allowed.
2018
2019 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
2020
2021         Purge cruft now we have build libiberty.
2022
2023         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
2024         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
2025         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
2026         USE_HOST_STRSTR): Delete variables.
2027         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
2028         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
2029         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2030         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
2031         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
2032         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
2033         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
2034         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
2035         (HOST_LIBS): Ditto.
2036         (HOST_RTL): Remove hashtab.o safe-ctype.o.
2037         (OBJS): Remove splay-tree.o.
2038         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
2039         (distclean): No need to delete splay-tree.c obstack.c
2040         hashtab.c safe-ctype.c.
2041         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
2042         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
2043         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
2044         Delete.
2045         * configure.in: Don't use them.
2046         Set and substitute @FORBUILD@.
2047         * config.in, configure: Regenerate.
2048         * doprint.c: Move to libiberty/_doprnt.c.
2049         * doc/configterms.texi: Document that libiberty is now built
2050         up to three times.  Fix typo.
2051
2052 2001-11-30  Jason Merrill  <jason@redhat.com>
2053
2054         * dwarf2out.c (add_data_member_location_attribute): Do the
2055         right thing for virtual bases.
2056         * dbxout.c (dbxout_type): For a virtual base, print the offset
2057         within the vtable.
2058
2059 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
2060
2061         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
2062
2063 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
2064
2065         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
2066         go in memory.
2067         Remove unused attribute for named.
2068
2069 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2070
2071         * genattrtab.c (attr_rtx_1): New function containing the
2072         majority of `attr_rtx'.  Move variable declarations into the
2073         scope where they are used.  Eliminate unnecessary gotos.
2074         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
2075         VA_FIXEDARG, and VA_CLOSE.
2076
2077 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
2078
2079         * config/cris/cris.c (cris_notice_update_cc): Check first
2080         destination also against overlap with cc_status.value2 and second
2081         destination against overlap with cc_status.value1.  For overlaps,
2082         clear overlapped value, don't just CC_STATUS_INIT.
2083
2084         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
2085         Fix typo in comment.
2086         (LINK_SPEC): Remove whitespace at end of line.
2087
2088 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2089
2090         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
2091
2092 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2093
2094         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
2095         macros for the supported debugging types.
2096
2097 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2098
2099         PR other/4932
2100         * config/i386/i386.c (print_operand):  Verify that the
2101           argument to %c is a constant and not a conditional which
2102           needs to be reversed.
2103
2104 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
2105
2106         * emit-rtl.c (gen_lowpart_common): Fix conversion of
2107         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
2108         of low part of those arrays for 32bit and 64bit hosts.
2109
2110 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2111
2112         * Makefile.in (insn-output.o): Depend on insn-codes.h.
2113
2114 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2115
2116         * configure.in (target_list): Add generated-manpages.
2117         * configure: Regenerate.
2118         * Makefile.in (generated-manpages): Depend on
2119         lang.generated-manpages.
2120         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
2121
2122 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
2123
2124         * config/arm/crti.asm (_init): Add .thumb_func if compiled
2125         with -mthumb.
2126         (_fini): Add .thumb_func if compiled with -mthumb.
2127
2128 2001-11-28  Eric Christopher  <echristo@redhat.com>
2129
2130         * config/mips/mips.c (override_options): Fix thinko in mips_tune
2131         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
2132
2133 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
2134
2135         * alpha.md (tablejump): Use pic_offset_table_rtx
2136         instead of gen_rtx_REG.
2137
2138 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
2139
2140         * expr.c (store_expr): When copying a string constant into an
2141         array, reset the known alignment of the MEM for the section to
2142         be cleared to BITS_PER_UNIT.
2143
2144 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2145
2146         * config/cris/cris.c: Remove whitespace at end of line.
2147
2148 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
2149
2150         * config.gcc (i[34567]86-*-interix3*): New case.
2151         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
2152         New files.
2153
2154 2001-11-28  Richard Henderson  <rth@redhat.com>
2155
2156         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
2157         symbolic_operand as the predicate.
2158
2159 2001-11-28  Richard Henderson  <rth@redhat.com>
2160
2161         * doloop.c (doloop_modify_runtime): Properly select induction
2162         variable; skip late entry test if biv initializer created by loop.
2163
2164 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2165
2166         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
2167         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
2168
2169         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
2170
2171         * tree.h: Add missing checks on some macros; make formatting more
2172         consistent.
2173
2174         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
2175         level; only add to pending_sizes if find it.
2176
2177         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
2178
2179         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
2180         Add casts to remove warnings.
2181
2182         * Makefile.in (OBJS): Sort alphabetically.
2183
2184         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
2185         Also minor cleanups.
2186
2187 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
2188
2189         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
2190         (FLAGS_TO_PASS): Add STAGE_PREFIX.
2191         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
2192         to STAGE_PREFIX.
2193
2194 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2195
2196         * cse.c (true_dependence_in_rtx): New function.
2197         (invalidate): Use it.
2198
2199         * c-common.h (GOTO_FAKE_P): New macro.
2200         * tree-inline.c (GOTO_FAKE_P): Set.
2201         * c-tree.texi (GOTO_FAKE_P): Document.
2202
2203         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
2204         containing pointers.
2205         (output_addressed_constants): Check for local/external relocations.
2206         * elfos.h (SELECT_SECTION): Classify data section.
2207         * tm.texi (SELECT_SECTION): Update documentation.
2208
2209         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
2210         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
2211
2212 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2213
2214         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2215         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
2216         OBJECT_FORMAT_ROSE.
2217
2218 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2219
2220         * config/cris/cris.c: Tweak spacing for prototypes.
2221         (LOSE_AND_RETURN): New macro.
2222         (cris_operand_lossage): New function.
2223         (cris_print_index, cris_print_base): Use cris_operand_lossage
2224         rather than fatal_insn.
2225         (cris_print_operand, cris_print_operand_address): Use
2226         LOSE_AND_RETURN rather than fatal_insn and internal_error.
2227         (cris_output_addr_const): Use LOSE_AND_RETURN and
2228         output_operand_lossage rather than fatal_insn and internal_error
2229         for valid but unexpected rtx expressions.
2230
2231         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
2232         for a SUBREG in src or dest, abort instead.
2233
2234 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2235
2236         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
2237         doc.
2238
2239 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
2240
2241         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
2242         preprocessor define.  If only DBX_DEBUGGING_INFO or only
2243         DWARF2_DEBUGGING_INFO is supported for the target, provide
2244         appropriate definitions.
2245
2246 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2247
2248         * Makefile.in: Update, and add c-objc-common.o dependencies.
2249         * c-lang.c: Remove unnecessary includes.
2250         (c_init): Move bulk of code to c_objc_common_init, and call it.
2251         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
2252         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
2253         c-objc-common.c.
2254         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
2255         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
2256         c_objc_common_init, c_missing_noreturn_ok_p): New.
2257         * toplev.c: Update comment.
2258         * doc/passes.texi: Update.
2259 objc:
2260         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2261         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2262         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
2263         (objc_init): Update to use c_objc_common_init.
2264
2265 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2266
2267         * cpphash.c (_cpp_init_hashtable): Update.
2268         * cpphash.h (struct spec_nodes): Remove n_L.
2269         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
2270
2271 2001-11-17  Richard Henderson  <rth@redhat.com>
2272
2273         * unroll.c (loop_iterations): Move last change ...
2274         * doloop.c (doloop_modify_runtime): ... here.
2275
2276 2001-11-17  Corey Minyard  <minyard@acm.org>
2277             Richard Henderson  <rth@redhat.com>
2278
2279         * unroll.c (loop_iterations): Detect one situation in which we
2280         overestimate the number of iterations.
2281
2282 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2283
2284         * gcc.c (set_input): Export.
2285         Move declaration ...
2286         gcc.h (set_input): ... here.
2287
2288 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2289
2290         * gcc.c (set_collect_gcc_options): New function, split out from
2291         main.
2292         Ignore elided switches.
2293         (do_spec): Invoke before executing command.
2294         (do_spec_1): Likewise.
2295         Fixes PR other/3968.
2296
2297 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
2298
2299         * config/cris/cris.h (INT_ASM_OP): Remove.
2300
2301 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2302
2303         * config/i386/sol2.h (WINT_TYPE): Redefine.
2304         (WINT_TYPE_SIZE): Likewise.
2305
2306 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2307
2308         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
2309         (dup2): Make static and add prototype.
2310         * m68k/plexus.h: Don't define NO_DUP2.
2311         * configure.in (AC_CHECK_FUNCS): Add dup2.
2312         * config.in, configure: Regenerate.
2313
2314         * ia64/aix.h (REG_SIZE): Don't #undef.
2315         * sparc.h (REG_SIZE): Delete.
2316         * flow.c (mark_used_regs): Don't use REG_SIZE.
2317         * regs.h (REG_SIZE): Delete.
2318
2319 2001-11-27  Andreas Schwab  <schwab@suse.de>
2320
2321         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
2322         PREFERRED_DEBUGGING_TYPE.
2323
2324 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2325
2326         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
2327         (expr.o, varasm.o): Depends on langhooks.h.
2328         * c-common.c (c_safe_from_p): Always declare.
2329         (c_expand_expr): Refine when declared.
2330         * c-lang.c (c-common.h): Now include.
2331         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
2332         (c_init): Don't set lang_safe_from_expr.
2333         * expr.c (langhooks.h): Now include.
2334         (lang_safe_from_p): No longer define.
2335         (safe_from_p): Use lang hook.
2336         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
2337         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
2338         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
2339         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
2340         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
2341         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
2342         * langhooks.h (struct lang_hooks): New fields expand_constant
2343         and safe_from_p.
2344         * output.h (output_constant): Size arg is HOST_WIDE_INT.
2345         * stmt.c (expand_decl_init): No longer need to expand constant
2346         for CONST_DECL.
2347         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
2348         * toplev.c (lang_expand_constant): Delete var.
2349         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
2350         operations on SAVE_EXPR.
2351         * varasm.c (langhooks.h): Now include.
2352         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
2353         (record_constant_1, output_addressed_constants): Likewise.
2354         (initializer_constant_valid_p, output_constant): Likewise.
2355         (output_constant_def): Process no-defer of string constant.
2356         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
2357         (output_constant): Strip more conversions.
2358         Track our size and pad for the rest.
2359         (array_size_for_constructor): Remove code for non-byte STRING_CST.
2360         (output_constructor): SIZE now HOST_WIDE_INT.
2361
2362 2001-11-27  Richard Henderson  <rth@redhat.com>
2363
2364         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
2365         in computing DIFF.
2366
2367 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
2368
2369         * cppfiles.c (read_include_file): Add comment.
2370
2371 2001-11-26  Richard Henderson  <rth@redhat.com>
2372
2373         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
2374
2375 2001-11-26  Richard Henderson  <rth@redhat.com>
2376
2377         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
2378         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
2379         commented out override.
2380
2381 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2382
2383         * cppfiles.c (stack_include_file): Don't optimize zero-length
2384         files.
2385         (read_include_file): NUL-terminate read files.
2386         * cpplex.c (handle_newline, skip_escaped_newlines,
2387         get_effective_char, skip_whitespace, parse_identifier,
2388         parse_identifier_slow, parse_number, parse_string,
2389         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
2390         NUL-terminated.
2391         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
2392         Be sure buffers are NUL terminated.
2393         * cppmacro.c (warn_of_redefinition): Kill compile warning.
2394
2395 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2396
2397         * c-common.c: Include tree-inline.h.
2398         (c_language): Move separate definitions here.
2399         (c_common_init_options, c_common_post_options): New.
2400         (c_common_lang_init): Rename c_common_init.
2401         * c-common.h (c_common_lang_init): Similarly.
2402         (c_common_init_options, c_common_post_options): New.
2403         * c-lang.c (c_post_options): Move body to c_common_post_options.
2404         (c_init_options): Use c_common_init_options.
2405         (c_init): Update.
2406         * langhooks.def: Rearrange.
2407         * langhooks.h: Rearrange, and improve comments.
2408         * toplev.c (do_compile): New function.
2409         (toplev_main): Use it.
2410         (lang_independent_f_options, parse_options_and_default_flags,
2411         process_options): Remove trailing periods.
2412         * Makefile.in: Update.
2413 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
2414         functions.
2415         (ojbc_init): Update.
2416
2417 2001-11-26  Richard Henderson  <rth@redhat.com>
2418
2419         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
2420
2421 2001-11-26  DJ Delorie  <dj@redhat.com>
2422
2423         * expr.c (store_constructor): Actually use the value computed
2424         if WORD_REGISTER_OPERATIONS.
2425
2426 2001-11-26  Richard Henderson  <rth@redhat.com>
2427
2428         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
2429         for CONSTRUCTOR.
2430
2431 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
2432
2433         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
2434         correct function on AIX.
2435
2436 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
2437
2438         * toplev.c (process_options): Don't force
2439         flag_optimize_sibling_calls to zero just because exceptions are
2440         enabled.
2441
2442 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
2443
2444         * df.h (transfer_function_sbitmap): Use PARAMS around argument
2445         list in function prototypes.
2446         (transfer_function_bitmap): Likewise.
2447
2448 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
2449
2450         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
2451         * config/i386/netbsd-elf.h: Likewise.
2452
2453 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
2454
2455         * doc/trouble.texi: Remove outdated RS/6000 comments.
2456
2457 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
2458
2459         * final.c (walk_alter_subreg): Fix return value.
2460
2461 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
2462
2463         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
2464         alter_subreg.
2465         * sparc.md (post-reload splitters): Do not call alter_subreg.
2466         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
2467
2468 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
2469
2470         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
2471
2472 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
2473
2474         * final.c: (insn_lengths): Make it an int *, so that large jump
2475         tables don't overflow.
2476
2477 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2478
2479         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
2480         (format_types): Use it for scanf.
2481         (dollar_arguments_pointer_p): New.
2482         (init_dollar_format_checking): Store details of which arguments
2483         are pointers.
2484         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
2485         (finish_dollar_format_checking): Take extra parameter
2486         pointer_gap_ok.  Treat unused arguments differently if
2487         pointer_gap_ok and the unused arguments are pointers.
2488         (check_format_info_main): Pass extra argument to
2489         finish_dollar_format_checking.
2490         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
2491         unused arguments are present between used arguments with operand
2492         numbers.
2493
2494 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
2495
2496         * df.c: Add prototypes for hybrid_search_bitmap and
2497         hybrid_search_sbitmap.
2498         (hybrid_search_bitmap): New function.
2499         (hybrid_search_sbitmap): New function.
2500         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
2501         (iterative_dataflow_bitmap): Ditto.
2502
2503 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2504
2505         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2506         address computations.
2507
2508 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2509
2510         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
2511         register b (low part of d).
2512
2513 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2514
2515         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
2516         passed to mcount.
2517
2518 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
2519
2520         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
2521         * config/alpha/x-vms: New file, to compile the above.
2522         * config.gcc (alpha*-dec-vms*): Add x-vms.
2523
2524 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
2525
2526         * genextract.c (main): Set ro_loc for peepholes.
2527
2528 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
2529
2530         * fix-header.c (main): Move inf_buffer termination and inf_limit
2531         calculation to after read.
2532
2533         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
2534         (__UNIX_FOPEN): Define.
2535
2536 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2537
2538         * function.c (assign_stack_temp_for_type): Clear alias set before
2539         setting new one.
2540
2541 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
2542
2543         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
2544         format.
2545         * rs6000.md (cmptf): Fix typo.
2546
2547 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
2548
2549         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
2550         * varasm.c (output_constructor): Use assemble_integer rather
2551         than ASM_OUTPUT_BYTE.
2552
2553 2001-11-23  Andreas Jaeger  <aj@suse.de>
2554
2555         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
2556         extension.
2557
2558 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
2559
2560         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
2561         default definition.
2562         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
2563         (MULTILIB_DEFAULTS): Remove previous definition.
2564
2565 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2566
2567         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
2568         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
2569
2570 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2571
2572         * cris.h: Revert thinko in last patch.
2573
2574 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2575
2576         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
2577         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
2578         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
2579         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
2580         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
2581         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
2582
2583         * predict.c, reg-stack.c: Fix spelling errors.
2584
2585 2001-10-09  Andrew Haley  <aph@redhat.com>
2586
2587         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
2588         start of stack slot.
2589
2590 2001-11-22  Graham Stott  <grahams@redhat.com>
2591
2592         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
2593         replacement jump after original jump.
2594
2595         (verify_flow_info): Remove redundent initialisation.
2596         Handle reaching end of insn list before finding a BARRIER.
2597         Only issue one missing barrier diagnostic.
2598
2599 2001-11-22  Graham Stott  <grahams@redhat.com>
2600
2601         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
2602
2603 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2604
2605         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
2606         insn actually does.
2607
2608 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
2609
2610         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
2611         Fix typo -mm32rx=> -m32rx.
2612
2613         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
2614         targets.
2615
2616         * config.gcc (xscale-coff): Add necessary header files to
2617         tm_file variable.
2618
2619 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
2620
2621         * rs6000.c (output_cbranch): Use $, not %$, in output template.
2622
2623 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2624
2625         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
2626         (lang_type_quals): Declare.
2627         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
2628         retrieve language-specific qualifiers for a type node, instead of
2629         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
2630         lang_dump_tree.
2631         * tree-dump.h: Rename from c-dump.h.
2632         * c-common.h (C_TYPE_QUALS): Removed.
2633         Move declarations for tree-dump.c interface to...
2634         * tree.h: ... here. Remove lang_dump_tree.
2635         * langhooks.h (struct lang_hooks_for_tree_dump): New.
2636         (struct lang_hooks): Add tree_dump hooks.
2637         * langhooks.c (lhd_tree_dump_dump_tree): New function.
2638         (lhd_tree_dump_type_quals): New function.
2639         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
2640         Declare.
2641         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
2642         * Makefile.in: Move tree-dump.o to language-independent back-end.
2643
2644 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2645
2646         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
2647         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
2648         * arc.h (DBX_REGISTER_NUMBER): Likewise.
2649         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
2650         * avr.h (DBX_REGISTER_NUMBER): Likewise.
2651         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
2652         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
2653         * convex.h (DBX_REGISTER_NUMBER): Likewise.
2654         * cris.h (DBX_REGISTER_NUMBER): Likewise.
2655         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
2656         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
2657         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
2658         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
2659         * i370.h (DBX_REGISTER_NUMBER): Likewise.
2660         * i860.h (DBX_REGISTER_NUMBER): Likewise.
2661         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
2662         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
2663         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2664         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
2665         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
2666         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
2667         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
2668         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
2669         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
2670         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
2671         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
2672         * romp.h (DBX_REGISTER_NUMBER): Likewise.
2673         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
2674         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2675         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
2676         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
2677         * v850.h (DBX_REGISTER_NUMBER): Likewise.
2678         * vax.h (DBX_REGISTER_NUMBER): Likewise.
2679         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
2680
2681         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
2682         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
2683
2684 2001-11-21  H.J. Lu <hjl@gnu.org>
2685
2686         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
2687
2688 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2689
2690         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
2691         emit_cmp_and_jump_insns.
2692
2693         * stormy16.c (xstormy16_expand_builtin_va_arg,
2694         xstormy16_expand_casesi): Likewise.
2695
2696 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2697
2698         * function.c (keep_stack_depressed): Major rework.
2699         (handle_epilogue_set, emit_equiv_load): New functions.
2700         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
2701         has return value.
2702         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
2703         * rtl.h (SET_IS_RETURN_P): New macro.
2704
2705         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
2706         and also support TREE_ADDRESSABLE.
2707         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
2708
2709 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
2710
2711         * rs6000.md (cmptf_internal1): Replace %$ with $.
2712
2713 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
2714
2715         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
2716         (read_include_file): Use STAT_SIZE_TOO_BIG.
2717
2718         * cppinit.c (INO_T_COPY): Define.
2719         (INO_T_EQ): Uppercase parameters.
2720         (append_include_chain): Use INO_T_COPY.
2721
2722 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
2723
2724         * cfg.c: Fix typos and formatting in the introductory comment.
2725
2726 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
2727
2728         * profile.c (compute_branch_probabilites):  Compute probabilities
2729         for entry/exit edges; estimate probabilities for zero counts.
2730
2731 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
2732
2733         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
2734         to emit_library_call.
2735         * function.c (expand_main_function, expand_function_start,
2736         expand_function_end): Likewise.
2737         * profile.c (output_func_start_profiler): Likewise.
2738         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
2739         second argument to emit_library_call.
2740         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
2741         as second argument to emit_library_call.
2742         * calls.c (emit_library_call): Update fn_type description.
2743
2744 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
2745
2746         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
2747         if fndecl is still DECL_INLINE and has DECL_RESULT.
2748
2749 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2750
2751         * clipper.c (clipper_movstr): Avoid uninitialized warning.
2752         * i960.c (is_mask, legitimize_address): Likewise.
2753         * m88k.c (m88k_expand_prologue): Likewise.
2754         * m88k.md: Likewise.
2755         * mcore.c (emit_new_cond_insn): Likewise.
2756         * stormy16.c (xstormy16_emit_cbranch): Likewise.
2757
2758 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
2759
2760         * config.gcc: Delete powerpcle-*-solaris2* stanza.
2761         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
2762         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
2763         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
2764         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
2765         config/rs6000/t-ppcos: Expunge all references to Solaris.
2766
2767         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
2768
2769         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
2770         output templates.
2771         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
2772         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
2773
2774 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2775
2776         * sh.md: Avoid uninitialized warnings.
2777         * vax.c (vax_rtx_cost): Likewise.
2778
2779 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
2780
2781         * rs6000.c (direct_return): Check if we are saving altivec
2782         registers.
2783         (first_altivec_reg_to_save): New.
2784         Updated stack frame layout comments.
2785         (rs6000_stack_info): Calculate altivec register save size.
2786         Save link register if we saved some altivec registers.
2787         (rs6000_stack_info): Align save size to 16 if altivec abi or
2788         abi_darwin.
2789         (rs6000_stack_info): Calculate altivec register offsets.
2790         (rs6000_stack_info): Add altivec info to save_size.
2791         (debug_stack_info): Add altivec debug info.
2792         (rs6000_emit_prologue): Save altivec registers and vrsave.
2793         (compute_vrsave_mask): New.
2794         (altivec_expand_builtin): Remove unused variables.
2795         (rs6000_parse_abi_options): Add static qualifier.
2796         (rs6000_expand_builtin): Remove unused parameters.
2797         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
2798         (altivec_init_builtins): Same.
2799         (is_altivec_return_reg): New.
2800         (vrsave_operation): New.
2801         (ALTIVEC_REG_BIT): New.
2802         (generate_set_vrsave): New.
2803
2804         * rs6000.md (get_vrsave): New.
2805         (set_vrsave): New.
2806         (*set_vrsave_internal): New.
2807
2808         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
2809         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
2810         altivec_padding_size, vrsave_mask.
2811         (TOTAL_ALTIVEC_REGS): New.
2812         (EPILOGUE_USES): Add VRSAVE_REGNO.
2813
2814 2001-11-20  Jeff Law <law@redhat.com>
2815
2816         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
2817         exit label as necessary.
2818
2819 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
2820
2821         * reload1.c (elimination_effects): Use function_invariant_p
2822         instead of CONSTANT_P when considering register equivalences.
2823
2824 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
2825
2826         * config.gcc: Add FreeBSD/PowerPC target.
2827         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2828         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2829         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2830         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2831         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2832         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
2833         freebsd-spec.h to tm_file.
2834         (rs6000-*-lynxos*): Add lynx.h to tm_file.
2835         * config/freebsd.h: Tidy up.
2836         (USING_CONFIG_FREEBSD): Define.
2837         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
2838         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
2839         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
2840         (TARGET_HAS_F_SETLKW): Define.
2841         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
2842         * config/freebsd-spec.h: New file.
2843         * config/rs6000/freebsd.h: New file.
2844         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
2845         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
2846         USING_SVR4_H to know when to turn on ELF support.
2847         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
2848         define only if not already defined.
2849         Add FreeBSD support.
2850         * config/rs6000/aix.h (TARGET_VERSION): Define.
2851         * config/rs6000/beos.h: Likewise.
2852         * config/rs6000/darwin.h: Likewise.
2853         * config/rs6000/mach.h: Likewise.
2854         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
2855         Don't include lynx.h directly.
2856
2857 2001-11-20  Graham Stott  <grahams@redhat.com>
2858
2859         * unwind-dw2-fde.c (__deregister_frame_info_bases):
2860         Fix lossage in last change return OB.
2861
2862 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
2863
2864         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
2865         Remove unneeded exit related macros.
2866
2867 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
2868
2869         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
2870
2871         * rs6000.c (rs6000_emit_move): Add TFmode case.
2872         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
2873         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
2874         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
2875         * rs6000.h: ... to here.
2876         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
2877         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
2878         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
2879
2880 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2881
2882         * emit-rtl.c (get_mem_attrs): Fix typo.
2883
2884 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
2885
2886         * c-lang.c (finish_file): Backout 2001-11-16
2887         changes, instead set DECL_DEFER_OUTPUT for static inline functions
2888         before calling c_expand_deferred_function.
2889
2890 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
2891
2892         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
2893         Don't register empty .eh_frame sections.
2894         (__deregister_frame_info_bases, __deregister_frame): Don't
2895         unregister them either.
2896
2897 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
2898
2899         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
2900         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
2901         * configure: Regenerate.
2902         * config.in: Add dummy definitions of new flags.
2903         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
2904         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
2905         * gcc.c (ASM_DEBUG_SPEC): New macro.
2906         (asm_debug): New static variable.
2907         (default_compilers): Add asm_debug when assembling from
2908         user input.
2909         (static_specs): Add asm_debug.
2910
2911 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
2912
2913         * config.gcc (*-*-freebsd*): Remove configuration block.
2914
2915 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
2916
2917         bootstrap/4422
2918         * configure.in: Setup ability to run ./stage[1234]/xgcc in
2919         fixinc *as if* it were a proper lang subdirectory.
2920         * configure: Rebuilt.
2921
2922 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
2923
2924         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
2925
2926 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2927
2928         * 1750a.md: Don't use hex format for a const_int.
2929
2930 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
2931
2932         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
2933
2934 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
2935
2936         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
2937         defined (prevents link errors when gettext isn't in the system
2938         library).
2939
2940 2001-11-19  DJ Delorie  <dj@redhat.com>
2941
2942         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
2943         (validate_const_int): New.
2944         (read_rtx): Validate constant integers.
2945         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
2946
2947 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
2948
2949         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
2950
2951 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
2952
2953         * toplev.c (DUMPFILE_FORMAT): Define default.
2954         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
2955         (close_dump_file, compile_file): Likewise.
2956         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
2957         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
2958
2959 2001-11-19  Jeff Law <law@redhat.com>
2960
2961         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
2962         a nop-jump.
2963
2964 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2965
2966         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
2967         Don't fall off the base token run.
2968
2969 2001-11-19  Jason Wilkins <fenix@io.com>
2970
2971         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
2972
2973 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2974
2975         * tree.def (VIEW_CONVERT_EXPR): New tree code.
2976         * tree.h (handled_component_p): New declaration.
2977         * alias.c (handled_component_p): Move function from here ...
2978         * expr.c (handled_component_p): ... to here and non longer static.
2979         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
2980         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
2981         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
2982         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
2983         (expand_expr, case VIEW_CONVERT_EXPR): New case.
2984         (expand_expr, cse ADDR_EXPR): No need to copy if already
2985         BIGGEST_ALIGNMENT.
2986         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
2987         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
2988         (output_constant): Handle VIEW_CONVERT_EXPR.
2989         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
2990         Add new case for VIEW_CONVERT_EXPR.
2991
2992 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2993
2994         * a29k/unix.h (ASM_FILE_START): Const-ify.
2995         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
2996         * i386/isc.h (ASM_FILE_START): Const-ify.
2997         * i386/sun386.h (ASM_FILE_START): Likewise.
2998         * m32r.md: Likewise.
2999         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
3000         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
3001         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
3002         * mn10200.md: Initialize variable.
3003
3004 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
3005
3006         * gcse.c (try_replace_reg): Copy RTX before creating note.
3007
3008         * df.h (df_ref_flags): New uenum.
3009         (DF_REF_FLAGS): New macro.
3010         (struct ref): Add field "flags".
3011         * df.c (HANDLE_SUBREG): Remove.
3012         (df_ref_create): Likewise; set flags field of ref.
3013         (df_def_record_1): Strip down read_write subreg; remove
3014         commented out code; set READ_WRITE flag.
3015         (read_modify_subreg_p): New static function.
3016         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
3017         new argument "flags".
3018         (df_insn_refs_record): Update call of df_uses_record.
3019         (df_insn_modify): Avoid #if 0 around comment.
3020         (df_dump): Dump the read/write flag.
3021
3022         * predict.c (propagate_freq): Make cyclic_probability and frequency
3023         volatile
3024
3025         * i386.c (ix86_cc_mode): Accept USE.
3026
3027         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
3028         jump is turned into simplejump.
3029
3030 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3031
3032         * doc/fragments.texi, doc/trouble.texi: Remove links to old
3033         installation chapter.
3034         * doc/gcc.texi: Don't claim that this manual documents
3035         installation.  Mark Installation menu entry as being out of date.
3036
3037 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
3038
3039         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
3040         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
3041         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
3042
3043 2001-11-19  Jason Merrill  <jason@redhat.com>
3044
3045         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
3046         cur_token, not after.
3047
3048         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
3049         Lose ASM_OUTPUT_CONSTRUCTOR.
3050         * system.h: Poison it and INT_ASM_OP.
3051         * c-lang.c (finish_file): Don't check for it.
3052         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
3053
3054 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3055
3056         * mmix.c (mmix_cc1_ignored_option): Const-ify.
3057         (mmix_init_machine_status): Make static to match declaration.
3058         (mmix_unique_section): Const-ify.
3059         (mmix_output_quoted_string): Avoid automatic aggregate
3060         initialization.
3061         (mmix_output_register_setting): Likewise.
3062         (mmix_output_shiftvalue_op_from_str): Likewise.
3063
3064         * mmix.h (mmix_cc1_ignored_option): Const-ify.
3065         (ASM_OUTPUT_BYTE): Fix format specifier warning.
3066         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3067
3068 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3069
3070         PR c/4448
3071         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
3072         name __objc_thread_exit_status so that it matches the
3073         variable defined in objc/thr.h.
3074
3075 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3076
3077         PR bootstrap/4020
3078         * mklibgcc.in: Add missing semi-colons.
3079         * Makefile.in: Same.
3080
3081 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3082
3083         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
3084         after re-laying out decl in incomplete case.
3085         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
3086
3087 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3088
3089         * doc/install-old.texi: Move some sections out to ...
3090         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
3091         ... here.  New files.  Make into chapters rather than sections.
3092         * doc/gcc.texi: Include the new files and add menu entries for
3093         them.
3094         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3095
3096 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3097
3098         * tree.h (TYPE_ALIGN_OK): New flag.
3099         * emit-rtl.c (set_mem_attributes): Handle it.
3100         * expr.c (emit_single_push_insn): Only set to alias set 0 if
3101         doing sibcall optimization.
3102         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
3103         when make temporary.
3104         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
3105         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
3106
3107         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
3108
3109 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3110
3111         * c-decl.c (c_decode_option): Give deprecation warning for
3112         -traditional.
3113         * doc/invoke.texi (-traditional): Note that this option is
3114         deprecated.
3115
3116 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
3117
3118         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
3119         arg to HOST_WIDE_INT, not long.
3120
3121         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
3122         (HAS_INIT_SECTION): Define.
3123         (REAL_ARITHMETIC): Don't undefine.
3124
3125 2001-11-18  Egor Duda  <deo@logos-m.ru>
3126
3127         * config/i386/cygwin.h: Strip leading '*' from name, if any.
3128
3129 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3130
3131         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
3132         * c-common.c: Include diagnostic.h.
3133         (c_common_finish): New.
3134         * c-common.h (c_common_finish): New.
3135         * c-lang.c (LANG_HOOKS_FINISH): Override.
3136         * c-parse.in: Don't include diagnostic.h.
3137         (finish_parse): Remove.
3138         * langhooks.h: Update comments.
3139         * toplev.c (lang_dependent_init): New prototype.
3140         (finalize): New.
3141         (compile_file): Split cleanup code out to finalize.
3142         (lang_dependent_init): Stop if lang_hooks.init fails.
3143         (toplev_main): Update.
3144         * tree.h (finish_parse): Remove.
3145 objc:
3146         * objc-act.c (LANG_HOOKS_FINISH): Override.
3147
3148 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
3149
3150         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
3151         * config/alpha/vms_tramp.asm: New file.
3152         * config/alpha/vms-tramp.asm: Removed.
3153
3154 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3155
3156         * c-common.c (struct disabled_builtin, disabled_builtins,
3157         disable_builtin_function, builtin_function_disabled_p): New.
3158         (builtin_function_2): Check for disabled built-in functions.
3159         * c-common.h (disable_builtin_function): Declare.
3160         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
3161         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
3162         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
3163
3164 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3165
3166         PR target/4606
3167         * config.gcc: Remove reference to va-clipper.h.
3168
3169 2001-11-17  Stan Shebs  <shebs@apple.com>
3170
3171         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
3172         AltiVec-related bitfields.
3173
3174 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3175
3176         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
3177         (mark_eh_region, case ERT_UKNONW): New case.
3178
3179 2001-11-17  Christopher Faylor  <cgf@redhat.com>
3180             Corinna Vinschen  <vinschen@redhat.com>
3181
3182         * config/i386/cygwin.h: Search target specific include directory for
3183         w32api stuff, if appropriate.
3184
3185 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
3186
3187         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
3188
3189 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
3190
3191         * config/rs6000/rs6000.md: Change all ldvx to lvx.
3192
3193 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
3194
3195         * gensupport.c (process_rtx): Don't assume filename is the first
3196         argument of any rtl.
3197
3198 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3199
3200         * vax-protos.h (reg_was_0_p): New prototype.
3201         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
3202         * vax.c (follows_p, reg_was_0_p): New functions.
3203
3204 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3205
3206         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
3207         (casesi1): Likewise.  Define new pattern which arises by simplification
3208         when operand 1 is a constant int.  Correct pattern which arises by
3209         simplification when operand 1 is zero.
3210
3211 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
3212
3213         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
3214         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
3215         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
3216         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
3217         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
3218         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
3219         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
3220         * config/arm/aof.h: Don't include arm.h.
3221         * config/arm/aout.h: Likewise.
3222         * config/arm/coff.h: Don't include semi.h and aout.h.
3223         * config/arm/elf.h: Don't include aout.h.
3224         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
3225         (TARGET_VERSION): Undef before defining.
3226         (ARM_OS_NAME): Likewise
3227         (TARGET_DEFAULT): Likewise
3228         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
3229         * config/arm/pe.h: Don't include arm/coff.h.
3230         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
3231         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
3232         * config/arm/riscix1-1.h: Likewise.
3233         * config/arm/rix-gas.h: Don't include riscix.h.
3234         (DBX_CONTIN_LENGTH): Undef before defining.
3235         * config/arm/semi.h: Don't include aout.h.
3236         * config/arm/semiaof.h: Don't include aof.h.
3237         * config/arm/strongarm-coff.h: Don't include coff.h.
3238         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
3239         * config/arm/vxarm.h: Don't include arm/coff.h.
3240         * config/arm/xscale-coff.h: Don't include coff.h.
3241
3242 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3243
3244         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
3245         emit_cmp_insn.
3246
3247 2001-11-16  Andreas Jaeger  <aj@suse.de>
3248
3249         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
3250         to ....
3251         (fixup_fallthru_exit_predecessor): ... this.
3252         Change callers and prototype.
3253
3254 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
3255
3256         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
3257         hand; don't use gen_setcc_2.
3258         (ix86_expand_builtin): Fix pshufw.
3259         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
3260         case UNORDERED to emit the right assembler instruction.
3261         (mmx_pshufw): Lose operand 2.
3262         (cvtsi2ss): Fix representation.
3263         From Graham Stott:
3264         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
3265
3266 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
3267
3268         * doc/include/linux-and-gnu.texi: Remove.
3269         * doc/gnu.texi: New.
3270         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
3271         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3272
3273 2001-11-16  Kazu Hirata  <kazu@hxi.com>
3274
3275         * config/a29k/a29k.c: Fix comment formatting.
3276         * config/a29k/a29k.h: Likewise.
3277         * config/arc/arc.c: Likewise.
3278         * config/arc/arc.h: Likewise.
3279         * config/vax/vax.c: Likewise.
3280         * config/vax/vax.h: Likewise.
3281         * config/we32k/we32k.c: Likewise.
3282         * config/we32k/we32k.h: Likewise.
3283
3284 2001-11-16  Jeff Law  <law@redhat.com>
3285
3286         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
3287         creating a new jump insn.
3288
3289 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3290
3291         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
3292         copy misaligned data.
3293         * varasm.c (assemble_variable): Set alignment into MEM when changed.
3294
3295 2001-11-16  Graham Stott  <grahams@redhat.com>
3296
3297         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
3298         OPALIGN type.
3299
3300 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
3301
3302         * except.c: Support for catching a list of types with a single handler
3303         (struct eh_region): Change type and filter to lists for catch regions.
3304         (mark_eh_region): Mark the filter list for GC also.
3305         (expand_start_catch): Always build a list if argument not NULL and
3306         register each type of the list through add_type_for_runtime.
3307         (duplicate_eh_region_1): Change type into type_list for catch regions.
3308         (assign_filter_values): Assign a filter to each type associated with a
3309         catch region. Assign filter for NULL types in a unique entry in the
3310         filter list.
3311         (build_post_landing_pads): Emit compare and jump for each filter of
3312         the list associated with a catch region.
3313         (reachable_next_level): When the type thrown is known, stop the search
3314         as soon as one type within a catch list matches. Also, a handler is
3315         potentially reachable only if at least one of the types it catches
3316         has not been previously caught.
3317         (collect_one_action_chain): Retrieve the filter for a NULL type list
3318         from the first filter list entry. For non NULL type lists, add an
3319         action record for every filter assigned.
3320         * except.h: Reflect changes in comment before expand_start_catch.
3321
3322 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3323
3324         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
3325         BLKmode.
3326
3327 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
3328
3329         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
3330
3331 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
3332
3333         * c-lang.c (finish_file): Don't emit static inline functions if
3334         they weren't referenced.
3335
3336 2001-11-15  Stan Shebs  <shebs@apple.com>
3337
3338         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
3339
3340 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3341
3342         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
3343         call.
3344         * config/i386/i386.md: Likewise.
3345
3346 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3347
3348         * timevar.c (rtl.h): Include so get fancy abort.
3349
3350 2001-11-15  Dale Johannesen  <dalej@apple.com>
3351
3352         * config/darwin.h (SELECT_RTX_SECTION):  Force address
3353         initializers into 'const' section
3354         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
3355         if_then_else to match result, not operands
3356
3357 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3358
3359         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
3360         * emit-rtl.c (change_address): Fix typo in default alignment.
3361         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
3362         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
3363         * rtl.h (REGNO_PTR_FRAME_P): New macro.
3364
3365         * expr.c (store_field): Pass tree instead of max size; callers changed.
3366         Change handling of alignment.
3367         Only copy to_rtx if is TARGET.
3368         (expand_expr_unaligned): Delete; callers now use expand_expr.
3369         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
3370         (expand_assignment): Change handling of alignment.
3371         Only copy to_rtx if was original.
3372         (get_inner_reference): No longer return alginment; callers changed.
3373         (expand_expr, case COMPONENT_REF): Change handling of alignment.
3374         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
3375         (compare_from_rtx): Delete ALIGN parm; all callers changed.
3376         (do_compare_rtx_and_jump): Likewise.
3377         * expr.h: Reflect above changes.
3378         * tree.h: Likewise.
3379         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
3380         to get_inner_reference.
3381         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
3382         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
3383         * optabs.c: Likewise.
3384         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
3385         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
3386         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
3387         compare_rtx_and_jump, and emit_cmp_jump_insns.
3388         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
3389         * function.c (assign_stack_temp_for_type): No longer static.
3390         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
3391         (prepare_cmp_insn): Delete declaration.
3392         * rtl.h (assign_stack_temp_for_type): Add declaration.
3393         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
3394         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
3395         * config/i386/i386.c,config/mips/mips.c: Likewise.
3396         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
3397         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
3398
3399 2001-11-15  Stan Shebs  <shebs@apple.com>
3400
3401         * config/rs6000/rs6000.h: Fix a comment typo.
3402         (RTX_COSTS): Sort processor versions better.
3403
3404 2001-11-15  Kazu Hirata  <kazu@hxi.com>
3405
3406         * config/h8300/h8300.md: Fix insn length of bit insns.
3407
3408 2001-11-15  Jason Merrill  <jason@redhat.com>
3409
3410         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
3411         DIEs if there were errors in the source.
3412
3413         * config/alpha/alpha-interix.h, config/alpha/elf.h,
3414         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
3415         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
3416         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
3417         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
3418         config/elfos.h, config/lynx.h, config/netware.h,
3419         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
3420         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
3421         uses to use ASM_LONG.
3422
3423 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
3424
3425         * gensupport.c  process_include : Change call to alloca to
3426         xmalloc.
3427
3428 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
3429
3430         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
3431         templates.
3432
3433 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3434
3435         * final.c (alter_subreg): If simplify_subreg can't do anything,
3436         handle REG ourselves and abort for others.
3437
3438 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
3439
3440         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
3441         routines.
3442
3443 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3444
3445         * fix-header.c (read_scan_file): Update.
3446
3447 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3448
3449         * toplev.c (toplev_main): Don't start timing until after
3450         command-line options are parsed.
3451
3452 2001-11-15  Andreas Schwab  <schwab@suse.de>
3453
3454         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
3455         makefile frag, not host makefile frag.
3456         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
3457         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
3458         used.
3459         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
3460         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
3461         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
3462         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
3463         * config/i386/t-dgux (STMP_FIXPROTO): Define.
3464         * config/x-interix: Don't define STMP_FIXPROTO and
3465         FIXPROTO_DEFINES.
3466         * config/t-interix: New file, define STMP_FIXPROTO.
3467         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
3468         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
3469         * config/t-svr4 (FIXPROTO_DEFINES): Define.
3470         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
3471         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
3472         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
3473         * config/m68k/t-hp3200: Renamed from x-hp3200.
3474         * config/i370/t-oe: Renamed from x-oe.
3475         * config/mips/t-iris: Renamed from x-iris.
3476         * config/pa/t-bsd: Renamed from x-pa.
3477         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
3478         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
3479         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
3480         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
3481         config/rs6000/x-cygwin: Remove files.
3482
3483         * configure.in: Check for target objdump and use that in eh_frame
3484         optimization test.
3485         * configure: Regenerated.
3486
3487 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
3488
3489         * jump.c (squeeze_notes): Return true if no real insns were found.
3490         * rtl.h (squeeze_notes): Adjust prototype.
3491         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
3492         squeeze_notes finds no real instructions, abort.
3493         (merge_blocks_move_successor_nojumps): Likewise.
3494         * loop.c (find_and_verify_loops): Likewise.
3495         * stmt.c (expand_end_case): Likewise.
3496         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
3497         find any real instructions.
3498
3499         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
3500
3501         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
3502         conditional jump, request updating life into for the block
3503         containing it.  Fix a typo which prevented life info update.
3504         Clear blocks bitmap before using it.
3505
3506 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3507
3508         * c-common.c: Include c-lex.h.
3509         (c_common_lang_init): Change prototype.  Call init_c_lex and
3510         init_pragma from here.
3511         * c-common.h (c_common_lang_init): Change prototype.
3512         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
3513         * c-lang.c (c_init): Change prototype.  Update.
3514         (c_init_options): Update.
3515         * c-lex.c (cpp_filename): Remove.
3516         (init_c_lex): Update.  Read the main file, and get the original
3517         file name.
3518         (yyparse): Finish the command line options.
3519         * c-parse.in (c_parse_init): Call init_reswords here.
3520         (init_parse): Remove.
3521         * c-tree.h (c_init_decl_processing): New.
3522         * cpphash.c (_cpp_init_hashtable): After initializing the hash
3523         table, populate it.
3524         * cppinit.c (read_original_filename, cpp_finish_options): New.
3525         (cpp_create_reader): New prototype. Defer hash table initialization.
3526         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
3527         hash table.  Get the original filename.
3528         * cpplib.h (cpp_create_reader): Update.
3529         (cpp_start_read): Remove.
3530         (cpp_read_main_file, cpp_finish_options): New.
3531         * cppmain.c (main, do_preprocessing): Update.
3532         * langhooks.h (struct langhooks): Update init prototype.
3533         * toplev.c (general_init, parse_options_and_default_flags,
3534         process_options, lang_indpendent_init, lang_dependent_init,
3535         init_asm_output): New; perform the bulk of initialization.
3536         (compile_file): Move most of initialization to above functions.
3537         (debug_hooks): Initialize statically.
3538         (set_Wunused): Relocate.
3539         (toplev_main): Move most of initialization to other init functions.
3540         Have a clear logic flow.
3541         * tree.h (init_parse, init_decl_processing): Remove.
3542 objc:
3543         * objc-act.c (objc_init): Update prototype, combine with old
3544         init_parse.
3545         (objc_init_options): Update.
3546
3547
3548 2001-11-15  Andreas Jaeger  <aj@suse.de>
3549
3550         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
3551         portability.
3552         * basic-block.h: Adjust prototype.
3553
3554 2001-11-15  Kazu Hirata  <kazu@hxi.com>
3555
3556         * config/rs6000/aix31.h: Fix comment formatting.
3557         * config/rs6000/beos.h: Likewise.
3558         * config/rs6000/darwin.h: Likewise.
3559         * config/rs6000/eabi.asm: Likewise.
3560         * config/rs6000/linux.h: Likewise.
3561         * config/rs6000/linux64.h: Likewise.
3562         * config/rs6000/lynx.h: Likewise.
3563         * config/rs6000/netbsd.h: Likewise.
3564         * config/rs6000/rs6000.c: Likewise.
3565         * config/rs6000/rs6000.h: Likewise.
3566         * config/rs6000/rs6000.md: Likewise.
3567         * config/rs6000/sol2.h: Likewise.
3568         * config/rs6000/tramp.asm: Likewise.
3569         * config/rs6000/xcoff.h: Likewise.
3570         * config/rs6000/xm-beos.h: Likewise.
3571
3572 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
3573
3574         * rtl.def (INCLUDE) : Define.
3575         * gensupport.c  (init_include_reader, process_include,
3576         save_string) :  New functions to implement an include facility
3577         in .md files.
3578         * gensupport.h : Add prototype for init_md_reader_args.
3579         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
3580         genextract.c genflags.c genopinit.c genoutput.c
3581         genpeep.c genrecog.c: Change call to init_md_reader to
3582         init_md_reader_args.
3583         * md.texi: Document (include "path") and -I directives for RTL
3584         generation tools.
3585
3586 2001-11-14  DJ Delorie  <dj@redhat.com>
3587
3588         * integrate.c (get_hard_reg_initial_reg): New.
3589         * integrate.h (get_hard_reg_initial_reg): Prototype.
3590         * local-alloc.c (block_alloc): Don't tie pseudos that
3591         represent call-saved hard regs' initial values.
3592
3593 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3594
3595         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
3596         recursion.
3597
3598 2001-11-14  Roger Sayle <roger@eyesopen.com>
3599
3600         * fold-const.c (fold): Optimize strlen comparisons against zero.
3601
3602 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
3603
3604         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
3605         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
3606         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
3607         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
3608         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
3609         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
3610         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
3611         Include various CPU headers via tm_file.  a.out based platforms now
3612         properly include sparc/aout.h.  sol2.h usage now implies including
3613         elfos.h, svr4.h, and sparc/sysv4.h.
3614         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
3615         Also define to '1'.
3616         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
3617         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3618         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
3619         Remove.  They are a.out specific and belong in sparc/aout.h.
3620         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
3621         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
3622         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
3623         sparc/sparc.h.
3624         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
3625         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
3626         Moved here from sparc/sparc.h.
3627         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
3628         defining.
3629         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
3630         * config/sparc/lynx.h:  Don't include lynx.h.
3631         (SELECT_SECTION): Do not undef.
3632         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
3633         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
3634         and sparc/sysv4.h.
3635         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
3636         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
3637         sparc/aout.h now.
3638         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
3639         Don't undef, there is no need.
3640         * config/sparc/splet.h (CPP_PREDEFINES): Define.
3641         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
3642         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
3643         Don't include sparc/sparc.h.
3644         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
3645         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3646         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
3647         elfos.h and svr4.h.
3648         (TARGET_VERSION): Define.
3649         * config/sparc/vxsim.h (TARGET_VERSION): Define.
3650
3651 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
3652
3653         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
3654         (cfg_layout_finalize): Use it.
3655         * bb-reorder.c (HAVE_epilogue): Remove.
3656         (make_reorder_chain): Do not care special placement of
3657         last basic block.
3658
3659         * predict.c (expected_value_to_br_prob): Delete the note
3660         once transformed.
3661
3662         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
3663         measure integration time separately.
3664
3665 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3666
3667         * function.c (struct temp_slot): ALIGN now unsigned.
3668
3669 2001-11-14  Kazu Hirata  <kazu@hxi.com>
3670
3671         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
3672         * config/dsp16xx/dsp16xx.h: Likewise.
3673         * config/dsp16xx/dsp16xx.md: Likewise.
3674
3675 2001-11-14  Kazu Hirata  <kazu@hxi.com>
3676
3677         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
3678         that deals with 7-bit shifts in HImode.
3679
3680 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
3681
3682         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
3683         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
3684         (final_scan_insn): Update call of alter_subreg.
3685         (cleanup_subreg_operands): Likewise.
3686         (alter_subreg): Rewrite using simplify_subreg.
3687         (output_address, output_operand): Update call of alter_subreg.
3688         * output.h (alter_subreg): Update prototype.
3689         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
3690         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
3691         * Makefile.in (final.o): Add dependency on expr.h
3692
3693 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3694
3695         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
3696
3697 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
3698
3699         * doc/install.texi (sparc-*-linux*): Mention requirements for
3700         binutils and glibc.
3701
3702 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3703
3704         * Makefile.in (POD2MAN): Don't include --section=1.
3705         (manext): Rename to man1ext.  All users changed.
3706         (man7ext): New.
3707         (man7dir): New.
3708         (generated-manpages): Also depend on $(docdir)/gfdl.7,
3709         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
3710         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
3711         --section=1 in calls to $(POD2MAN).
3712         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
3713         (maintainer-clean, install, uninstall): Handle the new man pages.
3714         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
3715         (installdirs): Create man7dir.
3716         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
3717         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
3718         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
3719         the SEE ALSO man page section.
3720         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
3721         and fsf-funding(7) in the SEE ALSO man page section.
3722         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
3723         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
3724         * doc/include/fdl.texi, doc/include/funding.texi,
3725         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
3726         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
3727
3728 2001-11-13  Richard Henderson  <rth@redhat.com>
3729
3730         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
3731         as appropriate for the artificial decl.
3732
3733 2001-11-13  Richard Henderson  <rth@redhat.com>
3734
3735         * loop.c (combine_movables): Turn off combination until
3736         move_movables validation bugs are fixed.
3737
3738 2001-11-13  DJ Delorie  <dj@redhat.com>
3739
3740         * config.gcc (powerpc|rs6000): Set default cpp options based
3741         on --with-cpu settings.
3742         * config/rs6000/softfloat.h: New.
3743
3744 2001-11-13  Kazu Hirata  <kazu@hxi.com>
3745
3746         * config/h8300/h8300.c (shift_alg_si): Use special code for
3747         25-bit shifts on H8/S.
3748         (get_shift_alg): Generate special code for 25-bit shifts on
3749         H8/S.
3750
3751 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
3752
3753         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
3754         (adjust_automodify_address_1): New.
3755         * expr.h (adjust_address, adjust_address_nv): Adjust.
3756         (adjust_automodify_address, adjust_automodify_address_nv): Define.
3757         (adjust_address_1): Update prototype.
3758         (adjust_automodify_address_1): Add prototype.
3759         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
3760         (store_by_pieces_2): Likewise.
3761
3762 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3763
3764         * Makefile.in (explow.o): Now depends on ggc.h.
3765         * explow.c (ggc.h): Include.
3766         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
3767
3768         * Makefile.in (expr.o): Depends on insn-attr.h.
3769         * expr.c (insn-attr.h): New include.
3770         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
3771         of MEM.
3772         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
3773         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
3774         clean up related usage in ADDR_EXPR.
3775         (expand_expr_unaligned): Likewise.
3776
3777         * emit-rtl.c (change_address): Fix typo in alias setting.
3778
3779 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3780
3781         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
3782
3783 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3784
3785         PR bootstrap/3451
3786         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
3787         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
3788
3789 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
3790
3791         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
3792         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
3793         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
3794         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
3795         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
3796         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
3797         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
3798         sparc64-*-linux*):  Include various CPU headers via tm_file.
3799         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
3800         (SELECT_SECTION): Likewise.
3801         (SELECT_RTX_SECTION): Likewise.
3802         * config/sparc/sparc_bi.h: New file.
3803         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
3804         * config/sparc/linux-aout.h: Likewise.
3805         * config/sparc/linux.h: Don't include sparc/sysv4.h.
3806         * config/sparc/linux64.h: Likewise.
3807         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
3808         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
3809         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
3810         and dbxcoff.h
3811         (ASM_OUTPUT_IDENT): Do not #undef.
3812         (SELECT_SECTION): Likewise.
3813         (SELECT_RTX_SECTION): Likewise.
3814         * config/sparc/liteelf.h: Don't include gofast.h.
3815         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
3816         * config/sparc/lynx.h: Don't include sparc/sparc.h.
3817         * config/sparc/pbd.h: Likewise.
3818         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
3819         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
3820         * config/sparc/rtemself.h: Don't include rtems.h.
3821         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
3822         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
3823         sparc_bi.h instead.
3824         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
3825         * config/sparc/sol2.h: Include sparc/sparc.h directly.
3826         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
3827         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
3828         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
3829         * config/sparc/sp86x-elf.h: Don't include gofast.h.
3830         * config/sparc/splet.h: Don't include sparc/aout.h.
3831         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
3832         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
3833         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
3834         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
3835         * config/sparc/vxsparc64.h: Don't include gofast.h.
3836         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
3837
3838 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3839
3840         * doc/standards.texi: Mention C99 TC1.
3841
3842 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3843
3844         * mips-protos.h (mips_output_conditional_branch): Const-ify.
3845         * mips.c (mips_output_conditional_branch): Likewise.
3846
3847 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3848
3849         * config/h8300/h8300.c (shift_alg_si): Use special code for
3850         15-bit logical shifts and 31-bit logical shifts.
3851         (get_shift_alg): Generate special code for 15-bit and 31-bit
3852         logical shifts.
3853
3854 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3855
3856         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
3857         doing 6-bit logical shifts on H8/S.
3858         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
3859         (get_shift_alg): Generate special code for 21-bit shifts on
3860         H8/S.
3861
3862 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3863
3864         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
3865         label.
3866
3867 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3868
3869         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
3870         if both size and offset known.
3871
3872 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
3873
3874         * config/ia64/freebsd.h: Fix misspelling.
3875
3876 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3877
3878         * doc/gcc.texi: Move several chapters out to ...
3879         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
3880         doc/include/linux-and-gnu.texi, doc/interface.texi,
3881         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
3882         ... here.  New files.
3883         * doc/gcc.texi, doc/contrib.texi: Move section headings into
3884         contrib.texi.
3885         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3886
3887 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3888
3889         * config/alpha/alpha-interix.h: Fix comment formatting.
3890         * config/alpha/alpha.c: Likewise.
3891         * config/alpha/alpha.h: Likewise.
3892         * config/alpha/alpha32.h: Likewise.
3893         * config/alpha/freebsd.h: Likewise.
3894         * config/alpha/unicosmk.h: Likewise.
3895         * config/alpha/vms.h: Likewise.
3896
3897 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3898
3899         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3900
3901 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
3902
3903         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
3904         numbers.
3905
3906 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3907
3908         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
3909         from type.
3910         (replace_equiv_address): Call update_temp_slot_address.
3911
3912         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
3913
3914         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
3915
3916 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3917
3918         * config/h8300/h8300.c (shift_alg_qi): New.
3919         (shift_alg_hi): Likewise.
3920         (shift_alg_si): Likewise.
3921         (get_shift_alg): Change the type of count to unsigned int.
3922         Use the tables.
3923
3924 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
3925
3926         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
3927         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
3928         to decide whether to defer a function.
3929         (finish_function): Adjust.
3930         (c_expand_deferred_function): New function.
3931         * c-lang.c (deferred_fns): New variable.
3932         (c_init): Initialize it, and mark it as a root.
3933         (defer_fn): New function.
3934         (finish_file): Expand all deferred functions.
3935         * c-tree.h (defer_fn): Declare.
3936         (c_expand_deferred_function): Likewise.
3937         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
3938         * objc-act.c (deferred_fns): New variable.
3939         (objc_init): Initialize it, and mark it as a root.
3940         (defer_fn): New function.
3941         (finish_file): Expand all deferred functions.
3942
3943 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3944
3945         * alpha.c (unicosmk_special_name): Prototype.
3946         (unicosmk_ssib_name): Delete unused variable.
3947         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
3948         * alpha/vms.h (PREFIX): Undef before defining.
3949         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
3950         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
3951         controlling usage.  Const-ify.
3952         (alias_number): Delete unused variable.
3953         * m32r/m32r.c (m32r_sched_init): Add missing argument.
3954         (m32r_expand_block_move): Fix uninitialized warnings.
3955         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
3956         always true' warnings.
3957         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
3958         * sh/sh.c: Include "integrate.h".
3959         (output_far_jump): Fix uninitialized warning.
3960         * final.c (shorten_branches): Avoid automatic aggregate
3961         initialization.
3962         * integrate.c (subst_constants): Likewise.
3963
3964 2001-11-11  Kazu Hirata  <kazu@hxi.com>
3965
3966         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
3967         (get_shift_alg): Remove redundant code.
3968
3969 2001-11-11  Kazu Hirata  <kazu@hxi.com>
3970
3971         * config/pa/milli64.S: Fix comment formatting.
3972         * config/pa/pa-64.h: Likewise.
3973         * config/pa/pa-linux.h: Likewise.
3974         * config/pa/pa-protos.h: Likewise.
3975         * config/pa/pa.c: Likewise.
3976         * config/pa/pa.h: Likewise.
3977         * config/pa/pa32-linux.h: Likewise.
3978         * config/pa/pa32-regs.h: Likewise.
3979         * config/pa/pa64-hpux.h: Likewise.
3980         * config/pa/pa64-regs.h: Likewise.
3981         * config/pa/som.h: Likewise.
3982
3983 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3984
3985         * doc/gcc.texi: Move several chapters out to ...
3986         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
3987         doc/service.texi, doc/standards.texi, doc/trouble.texi,
3988         doc/vms.texi: ... here.  New files.
3989         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3990
3991 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3992
3993         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
3994         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
3995         collect2.c, combine.c, config.in, configure, configure.in,
3996         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
3997         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
3998         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
3999         spelling errors.
4000
4001 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4002
4003         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
4004         Adjust operand number in CONST_DOUBLE.
4005
4006         * expmed.c (extract_bit_field): No longer pass in alignment.
4007         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
4008         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
4009         Likewise.
4010         * expr.c (store_constructor, store_constructor_field): Likewise.
4011         (store_field, emit_group_load, emit_group_store): Likewise.
4012         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
4013         (store_bit_field, extract_bit_field): Likewise.
4014         * calls.c, expr.c, function.c: Change calls to above functions.
4015         * ifcvt.c, stmt.c: Likewise.
4016
4017         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
4018         constant and one is on frame.
4019         If know memref offset, adjust size from decl.
4020
4021 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4022
4023         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
4024         format specifier warning.
4025         * convex.h (ASM_OUTPUT_BYTE): Likewise.
4026         * elfos.h (ALIGN_ASM_OP): Undef before defining.
4027         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
4028         warning.
4029         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4030         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4031         * i386-interix.h (gen_stdcall_suffix): Prototype.
4032         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4033         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4034         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4035         * i386/interix.c (gen_stdcall_suffix): Const-ify.
4036         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4037         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
4038         specifier warnings.
4039         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4040         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4041         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4042         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4043         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4044         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4045         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4046         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
4047         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
4048         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4049         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4050         Likewise.
4051         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4052         Likewise.
4053         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
4054         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4055         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
4056         Likewise.
4057         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
4058         Likewise.
4059         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4060         Likewise.
4061         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
4062         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4063         * m68k/news.h (PRINT_OPERAND): Likewise.
4064         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4065         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
4066         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4067         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
4068         definition.
4069         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4070         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
4071         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
4072         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4073         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
4074         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
4075         PRINT_OPERAND): Likewise.
4076         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4077         Likewise.
4078         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4079         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4080         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
4081         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4082         * mips.c (mips_output_external_libcall): Mark parameter with
4083         ATTRIBUTE_UNUSED.
4084         (mips_asm_file_start): Move variable into the scope where it's
4085         used.
4086         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4087         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4088         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
4089         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4090         * ns32k.c (print_operand): Likewise.
4091         * pa.c (print_operand, output_div_insn): Likewise.
4092         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
4093         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
4094         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
4095         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4096         specifier warnings.
4097         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4098         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4099         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
4100         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4101         specifier warnings.
4102         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4103
4104         * sdbout.c (sdbout_end_epilogue): Mark parameter with
4105         ATTRIBUTE_UNUSED.
4106         * varasm.c (assemble_global): Likewise.
4107
4108 2001-11-11  H.J. Lu <hjl@gnu.org>
4109
4110         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
4111
4112 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
4113
4114         * final.c (*_MAX_SKIP): Use *_max_skip variables.
4115         * flags.h (align_loops_max_skip, align_jumps_max_skip,
4116         align_labels_max_skip): New global variables.
4117         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
4118         align_labels_max_skip): New global variables.
4119         (toplev_main): Set new variables.
4120         * i386.c (override_options): Set max_skip values.
4121
4122 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
4123
4124         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
4125         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
4126         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
4127         don't print an @fptr for labels either.
4128         (xstormy16_output_addr_vec): Don't print @fptr here.
4129         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
4130
4131 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
4132
4133         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
4134         an ANSI/ISO definitino.
4135         (ssa_const_prop): Likewise.
4136
4137 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
4138
4139         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
4140         altivec registers.
4141
4142 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4143
4144         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
4145         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
4146         * cppmain.c (general_init): Call hex_init.
4147         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
4148
4149         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
4150
4151         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
4152         of dgux.c:output_file_start().
4153
4154         * i386/dgux.c: Delete file.
4155
4156 2001-11-09  Richard Henderson  <rth@redhat.com>
4157
4158         * config/alpha/alpha.c (decl_in_text_section): New.
4159         (current_file_function_operand): Use it.
4160         (alpha_encode_section_info, alpha_end_function): Likewise.
4161
4162 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
4163
4164         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
4165         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
4166         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
4167         so OS specific files and use CPP_PREDEFINES for their needs.
4168         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
4169         target headers to tm_file.
4170         * config/ia64/aix.h (TARGET_VERSION): Likewise.
4171         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
4172         * config/ia64/linux.h (TARGET_VERSION): Likewise.
4173         (FUNCTION_PROFILER): Remove.
4174         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
4175         version in config/ia64/linux.h.
4176         * config/ia64/freebsd.h: New file.
4177         * config/freebsd.h: Tidy up.
4178         (_USING_CONFIG_FREEBSD): Define.
4179         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
4180         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
4181         (FBSD_STARTFILE_SPEC): Likewise.
4182         (FBSD_ENDFILE_SPEC): Likewise.
4183         (FBSD_LIB_SPEC): Likewise.
4184         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
4185         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
4186         set an ELF-improper one.
4187
4188 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4189
4190         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
4191         constant can be loaded in a single instruction to a register.  When
4192         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
4193         depdi for insertion of most significant 32-bits on 64-bit hosts.
4194         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
4195         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
4196         * pa.md: New addmove pattern for adding constant_int to HImode
4197         register and moving result to HImode register.  Remove HImode HIGH
4198         and LO_SUM patterns.
4199
4200 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4201
4202         * Makefile.in: Update.
4203         * c-decl.c (print_lang_decl, print_lang_type): Remove.
4204         (print_lang_identifier): Rename c_print_identifier.
4205         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4206         (print_lang_statistics, lang_print_xnode): Remove.
4207         * c-parse.in (set_yydebug): Rename c_set_yydebug.
4208         * c-tree.h (c_set_yydebug, c_print_identifier): New.
4209         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
4210         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
4211         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
4212         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4213         (LANG_HOOKS_INITIALIZER): Update.
4214         * langhooks.h (struct lang_hooks): New members.
4215         (lang_print_tree_hook): New.
4216         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
4217         * print-tree.c: Include langhooks.h.
4218         (print_node): Update.
4219         * toplev.c (decode_d_option): Update.
4220         * tree.c: Include langhooks.h.
4221         (dump_tree_statistics): Update.
4222         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
4223         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
4224 objc:
4225         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
4226         LANG_HOOKS_SET_YYDEBUG): Override.
4227         (lang_print_xnode, print_lang_statistics): Remove.
4228
4229 2001-11-09  Richard Henderson  <rth@redhat.com>
4230
4231         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
4232         on the symbol string.
4233
4234 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4235
4236         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
4237         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
4238         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
4239
4240         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
4241
4242         * tlink.c (recompile_files): Copy strings passed to `putenv'.
4243
4244 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
4245
4246         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
4247         (TYPE_READONLY): Likewise.
4248
4249         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
4250
4251         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
4252         don't pass --gdwarf2 to the assembler if the compiler will also
4253         provide debug info.
4254
4255         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4256         Don't change INDEX.
4257
4258 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4259
4260         * alias.c (nonoverlapping_memrefs_p): New function.
4261         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
4262
4263         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
4264
4265 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
4266
4267         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
4268         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
4269         generating altivec code.
4270         (FIXED_REGISTERS): VRSAVE is fixed.
4271         (CALL_USED_REGISTERS): VRSAVE is call used.
4272
4273 2001-11-09  Jason Eckhardt  <jle@rice.edu>
4274
4275         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
4276         code the branch target as ".+16/.+12", but rather use labels.
4277
4278 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
4279
4280         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
4281         to work around limitations of certain versions of GAS.
4282
4283         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
4284         (muldi3): Update due to SUBREG_BYTE changes.
4285         (casesi): Similarly.
4286
4287 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
4288
4289         * doc/invoke.texi: Remove comment referring to -xf77-version.
4290
4291 2001-11-09  Kazu Hirata  <kazu@hxi.com>
4292
4293         * config/convex/convex.c: Fix comment formatting.
4294         * config/convex/convex.h: Likewise.
4295
4296 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
4297
4298         * Makefile.in (.po.pox): Look both in srcdir and builddir
4299         for $(PACKAGE).pot.
4300         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
4301         to the source directory.
4302
4303 2001-11-09 Ben Elliston  <bje@redhat.com>
4304            Michael Meissner  <meissner@redhat.com>
4305            Andrew MacLeod  <amacleod@redhat.com>
4306            Richard Henderson  <rth@redhat.com>
4307            Nick Clifton  <nickc@redhat.com>
4308            Catherine Moore  <clm@redhat.com>
4309
4310         * m32r.c: Add support for m32rx processor.
4311         * m32r.h: Ditto.
4312         * m32r.md: Ditto.
4313         * t-m32r: Ditto.
4314         * m32r-protos.h: Add prototypes for m32rx functions.
4315         * doc/invoke.texi: Document -m32rx option.
4316
4317 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
4318
4319         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
4320         or after reload.
4321
4322 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4323
4324         * doc/install.texi2html: Use $MAKEINFO --no-split.
4325
4326 2001-11-09  Andreas Schwab  <schwab@suse.de>
4327
4328         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
4329         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
4330         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
4331         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
4332         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
4333
4334 2001-11-09  H.J. Lu <hjl@gnu.org>
4335
4336         * config/mips/mips.c (mips_output_function_prologues): Cast
4337         `tsize' to long for output.
4338
4339 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4340
4341         * c-lang.c (LANG_HOOKS_NAME): New.
4342         (lang_hooks): Constify.
4343         (c_init_options): Update.
4344         (lang_identify): Remove.
4345         * c-parse.in (language_string): Remove.
4346         * dbxout.c: Include langhooks.h.
4347         (dbxout_symbol_location): Update.
4348         * dwarf2out.c: Include langhooks.h.
4349         (gen_compile_unit_die): Update.
4350         * dwarfout.c: Include langhooks.h.
4351         (prototyped_attribute, output_compile_unit_die): Update.
4352         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
4353         (LANG_HOOKS_INITIALIZER): Update.
4354         * langhooks.h (struct lang_hooks): New members.  Constify.
4355         * stringpool.c: Don't include toplev.h.
4356         (set_identifier_size): Remove.
4357         * toplev.c (toplev_main): Initialize identifier size.
4358         (print_version): Update.
4359         * tree.h (language_string, init_lex, lang_identify,
4360         set_identifier_size): Remove.
4361         * Makefile.in: Update dependencies.
4362         * config/darwin.c: Include langhooks.h.
4363         (func_name_maybe_scoped): Update.
4364         * config/darwin.h (ASM_END_FILE): Update.
4365         * config/nextstep.h (ASM_END_FILE): Update.
4366         * config/nextstep21.h (ASM_END_FILE): Update.
4367         * config/i386/sun386.h (ASM_END_FILE): Update.
4368         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
4369         (rs6000_output_function_epilogue): Update.
4370 objc:
4371         * objc-act.c (LANG_HOOKS_NAME): Override.
4372         (struct lang_hooks): Constify.
4373         (objc_init_options): Update.
4374         (lang_identify): Remove.
4375
4376 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
4377
4378         * fold-const.c (lshift_double): Honor PREC.
4379         (rshift_double): Likewise.
4380
4381 2001-11-08  Kazu Hirata  <kazu@hxi.com>
4382
4383         * config/1750a/1750a.c: Fix comment formatting.
4384         * config/1750a/1750a.h: Likewise.
4385
4386 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
4387
4388         * configure.in (--enable-languages): Be more permissive about
4389         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
4390         * configure: Regenerated.
4391
4392 2001-11-08  Richard Henderson  <rth@redhat.com>
4393
4394         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
4395
4396 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
4397
4398         * config.gcc: Rename stormy16 to xstormy16.
4399         * config/stormy16/stormy-abi: Likewise.
4400         * config/stormy16/stormy16-protos.h: Likewise.
4401         * config/stormy16/stormy16.c: Likewise.
4402         * config/stormy16/stormy16.h: Likewise.
4403         * config/stormy16/stormy16.md: Likewise.
4404
4405 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
4406
4407         * tree.h (TYPE_VOLATILE): Add enable-checking code.
4408         (TYPE_READONLY): Likewise.
4409
4410 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4411
4412         * reload1.c (reload): Don't delete equiv insn if can throw.
4413
4414         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
4415         (clear_storage): Likewise, for OBJECT.
4416
4417 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
4418
4419         * pa.c (emit_move_sequence): Fix SUBREG expression to
4420         use proper byte offset when extending a constant from
4421         SImode to DImode.
4422
4423 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
4424
4425         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
4426         which cannot throw.
4427
4428 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4429
4430         * explow.c (convert_memory_address, case SUBREG): Only return
4431         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
4432
4433 2001-11-08  Richard Henderson  <rth@redhat.com>
4434
4435         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
4436         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
4437         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
4438
4439 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
4440
4441         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
4442
4443 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
4444
4445         * dwarf2out.c (debug_str_hash): New.
4446         (struct indirect_string_node): New.
4447         (struct dw_val_struct): Change type of val_str to it.
4448         (DEBUG_STR_SECTION_FLAGS): Define.
4449         (add_AT_string): Push string into hashtable, increment reference
4450         counter.
4451         (AT_string): Return string from ht_identifier.
4452         (AT_string_form): New.
4453         (free_AT): For dw_val_class_str, just decrement reference counter.
4454         (size_of_string): Remove.
4455         (size_of_die): Use AT_string_form to decide what size the string
4456         occupies in DIE.
4457         (size_of_pubnames): Use strlen instead of size_of_string.
4458         (value_format): Use AT_string_form for dw_val_class_str.
4459         (output_die): Output DW_FORM_strp strings using
4460         dw2_asm_output_offset.
4461         (indirect_string_alloc, output_indirect_string): New.
4462         (dwarf2out_finish): Emit .debug_str strings if there are any.
4463
4464 2001-11-08  Andreas Franck  <afranck@gmx.de>
4465
4466         * configure.in: Add AC_ARG_PROGRAM to support program name
4467         transformation with --program-prefix, --program-suffix and
4468         --program-transform-name.
4469         * configure: Regenerated.
4470         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
4471         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
4472         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
4473         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
4474         program_transform_name the way suggested by autoconf.
4475         (GCC_TARGET_INSTALL_NAME): Define.
4476         (install-driver): Use the transformed target alias name.
4477
4478 2001-11-08  Richard Henderson  <rth@redhat.com>
4479
4480         * config/mips/mips.c (save_restore_insns): Remove GP from the
4481         restore registers mask early instead of special casing it inside
4482         the loop.
4483
4484 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4485
4486         * cp/decl.c (shadow_warning): New function.
4487         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
4488         and an error when a block scope decl shadows a parameter.
4489
4490 2001-11-08  Richard Henderson  <rth@redhat.com>
4491
4492         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
4493         case as well.
4494
4495 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4496
4497         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
4498         to implement floating negation on processors prior to PA 2.0.
4499
4500 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
4501
4502         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
4503         (USE_LINKONCE_INDIRECT): Define.
4504         (dw2_output_indirect_constant_1): Try to output indirect constants
4505         into linkonce sections if possible.
4506         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
4507         (dw2_output_indirect_constants): Likewise.
4508
4509 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
4510
4511         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
4512
4513 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4514
4515         * c-decl.c (pushdecl): Remove file and line.
4516         * c-typeck.c (pop_init_level): Remove size.
4517
4518 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
4519
4520         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
4521         for rs6000.
4522
4523         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
4524         (TARGET_ALTIVEC): New.
4525         (TARGET_SWITCHES): Add altivec.
4526         (FIRST_PSEUDO_REGISTER): Change to 109.
4527         (CALL_USED_REGISTERS): Same.
4528         (FIRST_ALTIVEC_REGNO): New.
4529         (LAST_ALTIVEC_REGNO): New.
4530         (ALTIVEC_REGNO_P): New.
4531         (UNITS_PER_ALTIVEC_WORD): New.
4532         (ALTIVEC_VECTOR_MODE): New.
4533         (FIXED_REGISTERS): Add altivec registers.
4534         (REG_ALLOC_ORDER): Same.
4535         (HARD_REGNO_NREGS): Adjust for altivec registers.
4536         (HARD_REGNO_MODE_OK): Same.
4537         (MODES_TIEABLE_P): Same.
4538         (REGISTER_MOVE_COST): Same.
4539         (REGNO_REG_CLASS): Same.
4540         (reg_class): Add ALTIVEC_REGS.
4541         (REG_CLASS_NAMES): Same.
4542         (REG_CLASS_CONTENTS): Same.
4543         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
4544         (ALTIVEC_ARG_RETURN): New.
4545         (FUNCTION_VALUE): Handle VECTOR_TYPE.
4546         (LIBCALL_VALUE): Handle altivec vector modes.
4547         (VECTOR_MODE_SUPPORTED_P): New.
4548         (ALTIVEC_ARG_MIN_REG): New.
4549         (ALTIVEC_ARG_MAX_REG): New.
4550         (ALTIVEC_ARG_NUM_REG): New.
4551         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
4552         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
4553         (REGISTER_NAMES): Add altivec regs.
4554         (DEBUG_REGISTER_NAMES): Same.
4555         (ADDITIONAL_REGISTER_NAMES): Same.
4556         (rs6000_builtins): New.
4557         (MD_EXPAND_BUILTIN): New.
4558         (MD_INIT_BUILTINS): New.
4559         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
4560         for AltiVec instructions.
4561         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
4562         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
4563         registers.
4564         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
4565         (TARGET_SWITCHES): Add no-altivec.
4566         (DATA_ALIGNMENT): Align vectors to 128 bits.
4567         (TARGET_OPTIONS): Add abi= option.
4568         Add rs6000_abi_string extern.
4569         (LOCAL_ALIGNMENT): New.
4570         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
4571         (MASK_ALTIVEC_ABI): New.
4572         (TARGET_ALTIVEC_ABI): New.
4573         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
4574         call-saved.
4575         (STACK_BOUNDARY): Adjust for altivec.
4576         (BIGGEST_ALIGNMENT): Same.
4577         (rs6000_args): Add vregno.
4578         (USE_ALTIVEC_FOR_ARG_P): New.
4579         (FIXED_REGISTERS): Add vrsave register.
4580         (CALL_USED_REGISTERS): Same.
4581         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
4582         (VRSAVE_REGNO): New.
4583         (reg_class): Add VRSAVE_REGS.
4584         (REG_CLASS_NAMES): Same.
4585         (REG_CLASS_CONTENTS): Same.
4586         (REGNO_REG_CLASS): Same.
4587
4588         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
4589         (ABI_STACK_BOUNDARY): Same.
4590         (BIGGEST_ALIGNMENT): Same.
4591         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
4592         (ROUND_TYPE_ALIGN): Same.
4593
4594         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4595         to 64.
4596
4597         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4598         to 64.
4599
4600         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4601         to 64.
4602
4603         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
4604         (altivec_expand_builtin): New.
4605         (altivec_init_builtins): New.
4606         (TARGET_EXPAND_BUILTIN): New.
4607         (TARGET_INIT_BUILTINS): New.
4608         (rs6000_init_builtins): New.
4609         (struct builtin_description): New.
4610         (bdesc_2arg): New.
4611         (rs6000_reg_names): Add altivec registers.
4612         (alt_reg_names): Same.
4613         (secondary_reload_class): Altivec regs can hold altivec regs and
4614         memory.
4615         (rs6000_emit_move): Force constants into memory for AltiVec moves.
4616         (print_operand): Add 'y' case for printing altivec memory
4617         operands.
4618         (rs6000_legitimize_address): Legitimize vector addresses into
4619         [REG+REG] or [REG].
4620         (altivec_expand_binop_builtin): New.
4621         New string rs6000_current_abi.
4622         (rs6000_override_options): Call rs6000_parse_abi_options.
4623         (rs6000_parse_abi_options): New.
4624         (function_arg_boundary): Vector arguments must be 16
4625         byte aligned.
4626         (function_arg_advance): Handle vector arguments.
4627         (function_arg_partial_nregs): Same.
4628         (init_cumulative_args): Same.
4629         (function_arg): Same.
4630
4631         * config/rs6000/rs6000.md (altivec_lvx): New.
4632         (type): Add altivec attribute.
4633         (movv4si): New.
4634         (*movv4si_internal): New.
4635         (movv16qi): New.
4636         (*movv16qi_internal): New.
4637         (movv8hi): New.
4638         (*movv8hi_internal1): New.
4639         (movv4sf): New.
4640         (*movv4sf_internal1): New.
4641         (altivec_stvx): New.
4642         (vaddubm): New.
4643         (vadduhm): New.
4644         (vadduwm): New.
4645         (vaddfp): New.
4646         (vaddcuw): New.
4647         (vaddubs): New.
4648         (vaddsbs): New.
4649         (vadduhs): New.
4650         (vaddshs): New.
4651         (vadduws): New.
4652         (vaddsws): New.
4653         (vand): New.
4654         (vandc): New.
4655         (vavgub): New.
4656         (vavgsb): New.
4657         (vavguh): New.
4658         (vavgsh): New.
4659         (vavguw): New.
4660         (vavgsw): New.
4661         (vcmpbfp): New.
4662         (vcmpequb): New.
4663         (vcmpequh): New.
4664         (vcmpequw): New.
4665         (vcmpeqfp): New.
4666         (vcmpgefp): New.
4667         (vcmpgtub): New.
4668         (vcmpgtsb): New.
4669         (vcmpgtuh): New.
4670         (vcmpgtsh): New.
4671         (vcmpgtuw): New.
4672         (vcmpgtsw): New.
4673         (vcmpgtfp): New.
4674         (vcmpgefp): New.
4675         (vcmpgtub): New.
4676         (vcmpgtsb): New.
4677         (vcmpgtuh): New.
4678         (vcmpgtsh): New.
4679         (vcmpgtuw): New.
4680         (vcmpgtsw): New.
4681         (vcmpgtfp): New.
4682         (vmaxub): New.
4683         (vmaxsb): New.
4684         (vmaxuh): New.
4685         (vmaxsh): New.
4686         (vmaxuw): New.
4687         (vmaxsw): New.
4688         (vmaxfp): New.
4689         (vmrghb): New.
4690         (vmrghh): New.
4691         (vmrghw): New.
4692         (vmrglb): New.
4693         (vmrglh): New.
4694         (vmrglw): New.
4695         (vminub): New.
4696         (vminsb): New.
4697         (vminuh): New.
4698         (vminsh): New.
4699         (vminuw): New.
4700         (vminsw): New.
4701         (vminfp): New.
4702         (vmuleub): New.
4703         (vmulesb): New.
4704         (vmuleuh): New.
4705         (vmulesh): New.
4706         (vmuloub): New.
4707         (vmulosb): New.
4708         (vmulouh): New.
4709         (vmulosh): New.
4710         (vnor): New.
4711         (vor): New.
4712         (vpkuhum): New.
4713         (vpkuwum): New.
4714         (vpkpx): New.
4715         (vpkuhss): New.
4716         (vpkshss): New.
4717         (vpkuwss): New.
4718         (vpkswss): New.
4719         (vpkuhus): New.
4720         (vpkshus): New.
4721         (vpkuwus): New.
4722         (vpkswus): New.
4723         (vrlb): New.
4724         (vrlh): New.
4725         (vrlw): New.
4726         (vslb): New.
4727         (vslh): New.
4728         (vslw): New.
4729         (vsl): New.
4730         (vslo): New.
4731         (vsrb): New.
4732         (vrsh): New.
4733         (vrsw): New.
4734         (vsrab): New.
4735         (vsrah): New.
4736         (vsraw): New.
4737         (vsr): New.
4738         (vsro): New.
4739         (vsububm): New.
4740         (vsubuhm): New.
4741         (vsubuwm): New.
4742         (vsubfp): New.
4743         (vsubcuw): New.
4744         (vsububs): New.
4745         (vsubsbs): New.
4746         (vsubuhs): New.
4747         (vsubshs): New.
4748         (vsubuws): New.
4749         (vsubsws): New.
4750         (vsum4ubs): New.
4751         (vsum4sbs): New.
4752         (vsum4shs): New.
4753         (vsum2sws): New.
4754         (vsumsws): New.
4755         (vxor): New.
4756
4757 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
4758
4759         * Makefile.in (df.o): Add fibheap.h to dependencies.
4760
4761         * df.h: Add prototypes for transfer functions, iterative_dataflow
4762         functions.
4763         (enum df_flow_dir): New enum.
4764         (enum df_confluence_op): New enum.
4765         (struct df): Add inverse_rts_map.
4766
4767         * df.c: Add sbitmap.h to the list of includes.
4768         (df_rd_global_compute): Removed.
4769         (df_ru_global_compute): Removed.
4770         (df_lr_global_compute): Removed.
4771         (df_rd_transfer_function): New function.
4772         (df_ru_transfer_function): New function.
4773         (df_lr_transfer_function): New function.
4774         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
4775         Use iterative_dataflow_bitmap instead of df_*_global_compute.
4776         (iterative_dataflow_sbitmap): New function.
4777         (iterative_dataflow_bitmap): New function.
4778
4779 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4780
4781         * doc/gcc.texi: Move terminology and spelling conventions to
4782         htdocs/codingconventions.html.
4783
4784 2001-11-07  Graham Stott  <grahams@redhat.com>
4785
4786         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
4787
4788 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
4789
4790         * expmed.c (expand_mult): Force operand to register before computing
4791         cost.
4792         * i386.c (x86_decompose_lea): New global vairable.
4793         * i386.h (x86_decompose_lea): Declare.
4794         (TARGET_DECOMPOSE_LEA): New macro.
4795         (RTX_COST): Handle leas properly.
4796
4797 2001-11-06  Richard Henderson  <rth@redhat.com>
4798
4799         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
4800         defined for a CONSTRUCTOR; don't check it.
4801
4802 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
4803
4804         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
4805         test for absolute pathnames.
4806
4807 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
4808
4809         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
4810         instructions up to the target pc inclusive.
4811
4812 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
4813
4814         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
4815
4816 2001-11-06  Eric Christopher  <echristo@redhat.com>
4817
4818         * config/mips/mips.md(movdf_internal2): Add constraints for float
4819         to general register move.
4820         * config/mips/elf64.h: Add default ABI.
4821
4822 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4823
4824         * alias.c:: Include langhooks.h.
4825         * emit-rtl.c: Similarly.
4826         * toplev.c: Similarly.
4827         * tree-inline.c: Similarly.
4828         * langhooks-def.h: New, the old langhooks.h.  Give the default
4829         hooks a common prefix.
4830         * langhooks.h: Contents extracted from toplev.h.
4831         * toplev.h: Move langhook stuff to langhooks.h.
4832         * langhooks.c: Give default hooks a common prefix.
4833
4834         * c-lang.c: Include langhooks-def.h.
4835         * objc/objc-act.c: Similarly.
4836         * Makefile.in: Update.
4837         * objc/Make-lang.in: Update.
4838
4839 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
4840
4841         * doc/install.texi: Document that configure options not listed in
4842         this file are unsupported.  Document --with-system-zlib.
4843
4844 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4845
4846         * rtl.h (mem_for_const_double): New declaration.
4847         * varasm.c (mem_for_const_double): New function.
4848         * config/convex/convex.md (movdf): Use it.
4849         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
4850         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
4851         * config/m68k/m68kv4.h: Likewise.
4852
4853         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
4854         of new GP reg classes.
4855
4856         * expr.c (store_field): When making temp object for unaligned
4857         component, set it to alias set 0.
4858
4859 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
4860
4861         * c-common.c (c_expand_expr_stmt): Apply default conversions to
4862         non-lvalue arrays if C99.
4863         * c-typeck.c (default_conversion): Split out code handling
4864         array-to-pointer and function-to-pointer conversions into a
4865         separate default_function_array_conversion function.
4866         (default_function_array_conversion): New function.  Keep track of
4867         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
4868         arrays unchanged outside C99 mode instead of giving an error for
4869         them.
4870         (build_component_ref): Use pedantic_non_lvalue when handling
4871         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
4872         (convert_arguments): Use default_function_array_conversion.
4873         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
4874         non-lvalues are OK.
4875         (unary_complex_lvalue): Likewise.
4876         (internal_build_compound_expr): Use
4877         default_function_array_conversion.  Apply default conversions to
4878         function in compound expression.
4879         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
4880         Use default_function_array_conversion.
4881         * doc/extend.texi: Update documentation of subscripting non-lvalue
4882         arrays.
4883         Fixes PR c/461.
4884
4885 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
4886
4887         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
4888         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
4889         corresponding to the complete set of .po and .gmo files in
4890         the source directory's po subdir, modified by LINGUAS.  Don't
4891         look at ALL_LINGUAS.
4892         * configure.in: Don't set ALL_LINGUAS.
4893         * configure: Regenerate.
4894
4895         * Makefile.in (.po.gmo): Don't move into source directory.
4896         (.po.pox): Clarify comments.
4897         (install-po): Look for .gmo files in both srcdir and objdir;
4898         don't fail if a file is totally missing.
4899         (distclean): rmdir ada subdirectory too.
4900
4901 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
4902
4903         * config/rs6000/rs6000.c (rs6000_select_section): Handle
4904         CONSTRUCTORs _correctly_.
4905
4906 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4907
4908         * c-decl.c (delete_block): Remove.
4909         * c-tree.h (delete_block): Remove.
4910
4911 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4912
4913         * cppexp.c (lex, parse_defined): Update warning about defined.
4914
4915 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
4916
4917         * config/rs6000/rs6000.c (rs6000_select_section): Handle
4918         CONSTRUCTORs too.
4919
4920 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
4921
4922         * config/arm/arm.c (arm_return_in_memory): Cope with
4923         int_size_in_bytes returning -1.
4924
4925         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
4926         DECL being NULL.
4927
4928 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
4929
4930         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
4931         remove unneeded dependencies;
4932         (cfglayout.o): New.
4933         * cfglayout.c, cfglayout.h: New files; break out from ...
4934         * bb-reorder.c: ... here; Remove unneeded includes;
4935
4936 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
4937
4938         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
4939
4940 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
4941
4942         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
4943         mode as well.  Do not explicitly create intermediate regs.
4944
4945 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4946
4947         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
4948         (common_section): Delete unused variable.
4949         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
4950         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
4951         * arm-protos.h (arm_poke_function_name, aof_add_import,
4952         aof_delete_import): Const-ify.
4953         * arm.c (legitimize_pic_address): Wrap variables in the macro
4954         controlling their usage.
4955         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
4956         (arm_poke_function_name, pic_chain, import, aof_add_import,
4957         aof_delete_import): Const-ify.
4958         * i386.c (ix86_osf_output_function_prologue): Const-ify.
4959         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4960         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
4961         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
4962         * i860/sysv3.h: Add missing comment closure.
4963         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
4964         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
4965         to symbolic_operand.
4966
4967         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
4968         (i960-*-*): Set tmake_file.
4969         (sparc86x-*-elf*): Fix typo in header name.
4970
4971         * sched-rgn.c (schedule_insns): Delete unused variable.
4972
4973 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4974
4975         PR c/2820
4976         * c-typeck.c (lookup_field): Rework to return a chain down to
4977         the looked-up field.
4978         (build_component_ref): Use the new lookup_field to handle
4979         nested anonymous entities correctly.
4980
4981 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4982
4983         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
4984         Change parameters to gen_rtx_CONST_DOUBLE.
4985         (GEN_INT64, sparc_emit_set_const64): Likewise.
4986         * config/sparc/sparc.md (movdf split): Likewise.
4987
4988 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
4989
4990         * unroll.c (calculate_giv_inc): Use find_last_value rather
4991         than just hoping the last instruction is the right SET.
4992         [Fixes 990604-1.c on stormy16.]
4993
4994         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
4995         library at all if -T is used.
4996
4997         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
4998         some uses of uninitialized variables in error cases.
4999
5000         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
5001         look at 'temp' if we won't be using it.
5002
5003         * config/stormy16/stormy16.h (CONST_COSTS): Define.
5004         (RTX_COSTS): Define.
5005         (ADDRESS_COST): Define.
5006         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
5007
5008         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
5009
5010         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
5011         stormy16_asm_output_mi_thunk.
5012         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
5013         function.
5014         * config/stormy16/stormy16-protos.h
5015         (stormy16_asm_output_mi_thunk): New prototype.
5016
5017 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5018
5019         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
5020         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
5021         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
5022         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
5023         sched-int.h, toplev.c, config/alpha/alpha.c,
5024         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
5025         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
5026         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
5027         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
5028         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
5029         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
5030         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
5031
5032 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5033
5034         * Makefile.in (dbxout.o): Depend on function.h.
5035         * collect2.c (is_in_list): Hide unused function.
5036         * dbxout.c: Include function.h.
5037         (source_label_number, dbxout_source_line, dbxout_source_file,
5038         dbxout_function_end, dbxout_begin_function): Wrap/move inside
5039         macros controlling usage.
5040         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
5041         * output.h (exports_section): Prototype.
5042
5043         * convex.c (convex_output_function_prologue): Fix format specifier
5044         warning.
5045         (asm_declare_function_name): Fix signed/unsigned warning.
5046         (print_operand): Fix format specifier warning.
5047         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
5048         * dsp16xx-protos.h (uns_comparison_operator,
5049         num_1600_core_shifts): Prototype.
5050         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
5051         (frame_size, frame_pointer_offset): Delete.
5052         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
5053         Make static.  Fix format specifier warnings.
5054         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
5055         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
5056         * dsp16xx.md: Add default case in switches.
5057         * fr30.h (IN_RANGE): Delete.
5058         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5059         * mcore-protos.h (mcore_output_cmov): Const-ify.
5060         * mcore.c (mcore_output_cmov): Likewise.
5061         * mcore.h (switch_to_section): Make static and prototype.
5062         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
5063         unsigned>=0 warnings.
5064         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
5065         * rs6000-protos.h (read_only_data_section,
5066         read_only_private_data_section): Prototype.
5067         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5068         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
5069         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
5070
5071 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5072
5073         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
5074         ATTRIBUTE_UNUSED.
5075         * final.c (final_scan_insn): Add brackets around body of if-stmt.
5076         * gcc.c (convert_filename): Add static prototype.  Const-ify.
5077         Wrap variable in macros controlling its use.
5078         * output.h (sdata_section): Add prototype.
5079
5080         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5081         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
5082         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
5083         (ASM_FILE_START): Const-ify.
5084         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
5085         specifier warning.
5086         * c4x.md: Don't use the 'U' integer suffix.
5087         * clipper.md (clipper_movstr): Delete declaration.
5088         * d30v-protos.h (d30v_move_2words): Const-ify.
5089         (debug_stack_info): Add prototype.
5090         * d30v.c: Include "integrate.h".
5091         (d30v_function_arg_boundary, d30v_function_arg,
5092         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
5093         signed/unsigned warnings.
5094         (d30v_print_operand_memory_reference, d30v_move_2words):
5095         Const-ify.
5096         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
5097         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
5098         * fr30.md: Const-ify.
5099         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5100         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
5101         (mvs_get_label_page): Hide unused static function.
5102         * i860.c (current_function_original_name): Const-ify.
5103         * i860/sysv3.h (current_function_original_name): Likewise.
5104         * i860/sysv4.h (current_function_original_name): Likewise.
5105         * i960.md: Add default case in switches.  Remove unused variable.
5106         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
5107         * m32r.md: Const-ify.
5108         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
5109         * m68hc11.c: Include "reload.h".
5110         (static_chain_reg, print_options, m68hc11_asm_file_start):
5111         Const-ify.
5112         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
5113         around & in comparison.
5114         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5115         * mn10200.c (shift_mode): Remove trailing comma.
5116         * mn10300-protos.h (output_tst): Const-ify.
5117         * mn10300.c (output_tst): Likewise.
5118         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
5119         warnings.
5120         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
5121         * pa.c (output_ascii): Likewise.
5122         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5123         * pdp11.md (expand_unop): Delete declarations.
5124         * pj-protos.h (pj_output_addsi3): Const-ify.
5125         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
5126         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
5127         unique_src_operand): Add prototypes.
5128         (pj_output_store_into_lval): Make definition static.
5129         (pj_function_incoming_arg): Don't use unary plus.
5130         (pj_output_addsi3): Const-ify.
5131         * romp.md (get_symref): Delete declarations.
5132         * v850-c.c (mark_current_function_as_interrupt): Don't return
5133         value from void function.
5134         * v850.c: Include "integrate.h".
5135         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
5136         * vax-protos.h (const_section): Add prototype.
5137
5138 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
5139
5140         * machmode.def: Add documentation for the seventh argument in
5141         vector modes.
5142
5143 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
5144
5145         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
5146         consistently.
5147         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
5148         <-melf>: Don't have markup for ELF acronym.
5149
5150 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
5151
5152         * config.gcc (mmix-*-*): New target.
5153         * doc/invoke.texi: Document MMIX options.
5154         * doc/contrib.texi: Add note about MMIX port to my entry.
5155         * config/mmix/t-mmix: New file.
5156         * config/mmix/mmix.h: New file.
5157         * config/mmix/mmix-protos.h: New file.
5158         * config/mmix/mmix.c: New file.
5159         * config/mmix/mmix.md: New file.
5160         * config/mmix/crti.asm: New file.
5161         * config/mmix/crtn.asm: New file.
5162
5163 2001-11-03  Kazu Hirata  <kazu@hxi.com>
5164
5165         * config/sparc/linux-aout.h: Fix comment formatting.
5166         * config/sparc/linux.h: Likewise.
5167         * config/sparc/linux64.h: Likewise.
5168         * config/sparc/lynx.h: Likewise.
5169         * config/sparc/pbd.h: Likewise.
5170         * config/sparc/sol2-sld-64.h: Likewise.
5171         * config/sparc/sol2.h: Likewise.
5172         * config/sparc/sparc.c: Likewise.
5173         * config/sparc/sparc.h: Likewise.
5174         * config/sparc/sparc.md: Likewise.
5175         * config/sparc/sunos4.h: Likewise.
5176         * config/sparc/vxsim.h: Likewise.
5177         * config/sparc/vxsparc.h: Likewise.
5178         * config/sparc/vxsparc64.h: Likewise.
5179
5180 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5181
5182         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
5183         reference to CONST_DOUBLE_MEM in comment.
5184         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
5185         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
5186         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
5187         * function.c (pop_function_context_from): Don't call
5188         restore_varasm_status.
5189         * function.h (restore_varasm_status): Delete declaration.
5190         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
5191         * rtl.c: Likewise.
5192         * rtl.def (CONST_DOUBLE): Update comment.
5193         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
5194         (CONST_DOUBLE_CHAIN): Likewise.
5195         (CONST_DOUBLE_MEM): Delete.
5196         (gen_rtx_CONST_DOUBLE): Update parameters.
5197         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
5198         Remove reference to CONST_DOUBLE_MEM.
5199         (const_alias_set): New variable.
5200         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
5201         (immed_real_const_1): Adjust tests for 0, 1, and 2.
5202         Don't set CONST_DOUBLE_MEM.
5203         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
5204         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
5205         Put constant in const_alias_set.
5206         (struct pool_constant): ALIGN now unsigned.
5207         OFFSET now HOST_WIDE_INT.
5208         Delete LABEL.
5209         (restore_varasm_status): Deleted.
5210         (mark_pool_constant): Mark desc->rtl.
5211         (force_const_mem): Rework to store rtl in hash table,
5212         not CONST_DOUBLE_MEM.
5213         Put constant in const_alias_set.
5214         (find_pool_constant): Check desc->rtl.
5215         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
5216         (init_varasm_once): Initialize const_alias_set.
5217
5218         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
5219         force_const_mem.
5220
5221         * reload.c (combine_reloads): Don't combine an output reload if there
5222         are other reloads around for part of the output.
5223
5224         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
5225         constant expression.
5226         (set_mem_decl): New function.
5227         * expr.h (set_mem_decl): New declaration.
5228         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
5229         (output_asm_operand_names): Add tab.
5230         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
5231
5232         * builtins.c (get_memory_rtx): Properly set MEM alias set and
5233         attributes.
5234
5235 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5236
5237         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
5238         Use "invalid" instead of "illegal".  Use @r in comments in
5239         examples.
5240
5241 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5242
5243         * c-decl.c (pushdecl): Move block inside if conditional to remove
5244         possibility of a segfault.  Lookup block-level extern
5245         variables in enclosing scopes correctly.
5246
5247         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
5248
5249 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5250
5251         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
5252         SUBREG so we avoid SUBREGing memory.
5253
5254         * expmed.c (store_bit_field): Same.
5255
5256 2001-11-02  DJ Delorie  <dj@redhat.com>
5257
5258         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
5259         using FP registers for DImode mem-mem moves is acceptable.
5260
5261 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5262
5263         * builtins.c (apply_args_size): Handle vector arguments.
5264         (apply_result_size): Same.
5265
5266         * machmode.def: Set WIDER mode field for all vector entries.
5267
5268 2001-11-02  Graham Stott  <grahams@redhat.com>
5269
5270         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
5271
5272 2001-11-01  Eric Christopher  <echristo@redhat.com>
5273
5274         * config.gcc: Revert part of earlier patch.
5275         * config/mips/linux.h: Ditto.
5276         * df.c: Include tm_p.h to avoid warnings.
5277         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
5278         #if/#endif.
5279         * config/mips/mips.c: Define mips_abi regardless.
5280         (mips_output_function_prologues): Add long casts for .frame
5281         output.
5282         (override_options): Allow use of ABI_32.
5283
5284 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5285
5286         * config/m68hc11/m68hc11.c: Fix comment formatting.
5287         * config/m68hc11/m68hc11.h: Likewise.
5288         * config/m68hc11/m68hc11.md: Likewise.
5289
5290 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5291
5292         * c-typeck.c (default_conversion): Retain the original expression
5293         codes.
5294         * gcc.dg/Wparentheses.c: New tests.
5295
5296 2001-11-01  David S. Miller  <davem@redhat.com>
5297
5298         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
5299         64-bit Sparc description more in line with reality.
5300
5301 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
5302
5303         * Makefile.in (GCOV_OBJS): Add version.o.
5304         * gcov.c: Include "version.h" and <getopt.h>.
5305         (gcov_version_string): Remove.
5306         (print_usage): Take a parameter to determine whether this is a
5307         call from --help or an error message.  Give fuller output that
5308         follows the GNU Coding Standards for --help.
5309         (print_version): New function.
5310         (options): New.
5311         (process_args): Use getopt_long.  Support long options.  Follow
5312         GNU Coding Standards for --help and --version.
5313         * doc/gcov.texi: Document long options.
5314         Addresses part of PR other/704.
5315
5316 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5317
5318         * pa.c (output_move_double): Fix typo in double load.
5319
5320 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5321
5322         * config/h8300/h8300.c (h8300_encode_label): Compute a string
5323         before passing it to ggc_alloc_string.
5324
5325 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5326
5327         * config/m68k/3b1.h: Fix comment formatting.
5328         * config/m68k/3b1g.h: Likewise.
5329         * config/m68k/a-ux.h: Likewise.
5330         * config/m68k/amix.h: Likewise.
5331         * config/m68k/apollo68.h: Likewise.
5332         * config/m68k/atari.h: Likewise.
5333         * config/m68k/aux-exit.c: Likewise.
5334         * config/m68k/ccur-GAS.h: Likewise.
5335         * config/m68k/crds.h: Likewise.
5336         * config/m68k/dpx2.h: Likewise.
5337         * config/m68k/dpx2g.h: Likewise.
5338         * config/m68k/hp310.h: Likewise.
5339         * config/m68k/hp320.h: Likewise.
5340         * config/m68k/isi.h: Likewise.
5341         * config/m68k/linux.h: Likewise.
5342         * config/m68k/lynx.h: Likewise.
5343         * config/m68k/m68k-psos.h: Likewise.
5344         * config/m68k/m68k.c: Likewise.
5345         * config/m68k/m68k.h: Likewise.
5346         * config/m68k/m68k.md: Likewise.
5347         * config/m68k/m68kelf.h: Likewise.
5348         * config/m68k/m68kv4.h: Likewise.
5349         * config/m68k/mot3300.h: Likewise.
5350         * config/m68k/news.h: Likewise.
5351         * config/m68k/next.h: Likewise.
5352         * config/m68k/pbb.h: Likewise.
5353         * config/m68k/plexus.h: Likewise.
5354         * config/m68k/sgs.h: Likewise.
5355         * config/m68k/sun3.h: Likewise.
5356         * config/m68k/tower.h: Likewise.
5357         * config/m68k/vxm68k.h: Likewise.
5358
5359 2001-10-31  DJ Delorie  <dj@redhat.com>
5360
5361         * config/mips/mips.h (mips_cache_flush_func): Prototype.
5362         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
5363         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
5364         * config/mips/mips.c (mips_cache_flush_func): New.
5365         * doc/invoke.texi: Document the new options.
5366
5367 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
5368
5369         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
5370         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
5371
5372         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
5373
5374         * config/cris/cris.c: Include output.h after tree.h but before
5375         target.h.
5376
5377 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
5378
5379         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
5380         (INTL_SUBDIRS): Just intl.
5381         (.SUFFIXES): Add .gmo .po .pox.
5382         (native): Also depend on build-@POSUB@.
5383         (intl.all, intl.install): Depend on config.h and things it includes.
5384         (po-generated): New target; depend on c-parse.c and tradcif.c.
5385         (install-normal): Also depend on install-@POSUB@.
5386         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
5387         (build-, install-, build-po, update-po, install-po,
5388         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
5389
5390         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
5391         * configure.in: Don't munge XGETTEXT.  Don't generate
5392         po/Makefile.in.
5393         * configure: Regenerate.
5394
5395         * exgettext: Delete.
5396         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
5397         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
5398
5399 2001-10-31  Kazu Hirata  <kazu@hxi.com>
5400
5401         * config/h8300/h8300.md (two anonymous patterns): New.
5402
5403 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
5404
5405         * tree.h (tree_index): Add support for V16QI and V8HI.
5406         (V8HI_type_node): New.
5407         (V16QI_type_node): New.
5408
5409         * tree.c (build_common_tree_nodes_2): Same.
5410
5411         * c-common.c (type_for_mode): Same.
5412
5413 2001-10-31  Kazu Hirata  <kazu@hxi.com>
5414
5415         * config/i386/att.h: Fix comment formatting.
5416         * config/i386/beos-elf.h: Likewise.
5417         * config/i386/bsd.h: Likewise.
5418         * config/i386/bsd386.h: Likewise.
5419         * config/i386/crtdll.h: Likewise.
5420         * config/i386/cygwin.asm: Likewise.
5421         * config/i386/cygwin.h: Likewise.
5422         * config/i386/djgpp.h: Likewise.
5423         * config/i386/freebsd-aout.h: Likewise.
5424         * config/i386/freebsd.h: Likewise.
5425         * config/i386/gas.h: Likewise.
5426         * config/i386/i386-interix.h: Likewise.
5427         * config/i386/i386-protos.h: Likewise.
5428         * config/i386/i386.c: Likewise.
5429         * config/i386/i386.h: Likewise.
5430         * config/i386/i386.md: Likewise.
5431         * config/i386/i386elf.h: Likewise.
5432         * config/i386/interix.c: Likewise.
5433         * config/i386/isc.h: Likewise.
5434         * config/i386/isccoff.h: Likewise.
5435         * config/i386/iscdbx.h: Likewise.
5436         * config/i386/linux.h: Likewise.
5437         * config/i386/lynx.h: Likewise.
5438         * config/i386/mingw32.h: Likewise.
5439         * config/i386/netbsd-elf.h: Likewise.
5440         * config/i386/next.h: Likewise.
5441         * config/i386/osf1elf.h: Likewise.
5442         * config/i386/osfrose.h: Likewise.
5443         * config/i386/sco5.h: Likewise.
5444         * config/i386/seq-gas.h: Likewise.
5445         * config/i386/seq-sysv3.h: Likewise.
5446         * config/i386/sequent.h: Likewise.
5447         * config/i386/sol2.h: Likewise.
5448         * config/i386/sun386.h: Likewise.
5449         * config/i386/uwin.asm: Likewise.
5450         * config/i386/uwin.h: Likewise.
5451         * config/i386/vxi386.h: Likewise.
5452         * config/i386/win32.h: Likewise.
5453         * config/i386/winnt.c: Likewise.
5454         * config/i386/xm-cygwin.h: Likewise.
5455         * config/i386/xm-mingw32.h: Likewise.
5456
5457 2001-10-31  Kazu Hirata  <kazu@hxi.com>
5458
5459         * builtins.def: Fix comment typos.
5460         * config/alpha.c: Likewise.
5461         * config/arm/arm.c: Likewise.
5462         * config/avr/avr.h: Likewise.
5463         * config/d30v/d30v.c: Likewise.
5464         * config/d30v/d30v.h: Likewise.
5465         * config/d30v/d30v.md: Likewise.
5466         * config/dsp16xx/dsp16xx.c: Likewise.
5467         * config/fr30/fr30.c: Likewise.
5468         * config/fr30/fr30.md: Likewise.
5469         * config/i386/i386.c: Likewise.
5470         * config/i860/i860.c: Likewise.
5471         * config/i960/i960.c: Likewise.
5472         * config/ia64/ia64.c: Likewise.
5473         * config/mips/mips.c: Likewise.
5474         * config/pa/pa.c: Likewise.
5475         * config/rs6000/rs6000.c: Likewise.
5476         * config/s390/s390.c: Likewise.
5477         * config/sparc/sparc.c: Likewise.
5478
5479 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5480
5481         * config/mips/elf.h: Fix comment formatting.
5482         * config/mips/elf64.h: Likewise.
5483         * config/mips/iris5.h: Likewise.
5484         * config/mips/iris5gas.h: Likewise.
5485         * config/mips/iris6.h: Likewise.
5486         * config/mips/isa3264.h: Likewise.
5487         * config/mips/linux.h: Likewise.
5488         * config/mips/mips.c: Likewise.
5489         * config/mips/mips.h: Likewise.
5490         * config/mips/mips.md: Likewise.
5491         * config/mips/mips16.S: Likewise.
5492         * config/mips/netbsd.h: Likewise.
5493         * config/mips/osfrose.h: Likewise.
5494         * config/mips/r3900.h: Likewise.
5495         * config/mips/sni-svr4.h: Likewise.
5496         * config/mips/svr4-t.h: Likewise.
5497         * config/mips/ultrix.h: Likewise.
5498
5499 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
5500
5501         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
5502         when we update head->current.
5503
5504 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5505
5506         * tree.c (id_string_size): Remove.
5507         (dump_tree_statistics): Update.
5508         * toplev.c (compile_file): If dumping stats, dump tree stats too.
5509
5510 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
5511
5512         * sched-rgn.c (schedule_insns): Fix comment.
5513
5514 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
5515
5516         * configure.in: Correct previous change: don't assume that
5517         gas's version number _isn't_ the last thing on the line, or
5518         isn't the only number on the line, either.
5519         * configure: Regenerate.
5520
5521 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5522
5523         * cfgcleanup.c: Fix a comment typo.
5524
5525 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5526
5527         * alias.c: Fix comment formatting.
5528         * recog.c: Likewise.
5529         * config/cris/cris.c: Likewise.
5530         * config/cris/cris.h: Likewise.
5531         * config/i960/i960.c: Likewise.
5532         * config/i960/i960.h: Likewise.
5533
5534 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5535
5536         * config/arm/arm.c: Fix a comment typo.
5537         * config/arm/arm.h: Likewise.
5538         * config/ia64/ia64.c: Likewise.
5539
5540 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
5541
5542         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
5543         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
5544         * rtl.h (set_unique_reg_note): Change return value.
5545         * gcse.c (try_replace_reg): Use set_unique_reg_note.
5546         * cse.c (cse_insn): Likewise.
5547         * expr.c (emit_move_insn): Likewise.
5548         * explow.c (force_reg): Likewise.
5549         * local-alloc (update_equiv_regs): Likewise.
5550         * loop.c (move_moveables, load_mems): Likewise.
5551         * reload (find_reloads): Likewise.
5552
5553 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
5554
5555         Localization fixes.
5556         * c-decl.c (parmlist_tags_warning, start_struct,
5557         check_for_loop_decls): Separate messages for struct, union and
5558         enum cases to allow for languages in which they have different
5559         genders.
5560         * c-format.c (scanf_flag_specs): Separate short and long name of
5561         the assignment suppression feature.
5562         (check_format_types): Localize "pointer" and "different types"
5563         strings.
5564         * c-lex.c (lex_number): Localize "an unsigned long int" and
5565         related strings.
5566         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
5567         warning message.
5568         * c-typeck.c (build_unary_up): Separate messages for increment and
5569         decrement cases to allow for languages in which they use different
5570         articles.  Localize the strings "increment" and "decrement" in one
5571         case.
5572
5573 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
5574
5575         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
5576         when no changes has been made.
5577
5578         * gcse.c (reg_set_bitmap): Turn into reg_set.
5579         (modify_mem_list_set, canon_modify_mem_list_set)
5580         (clear_modify_mem_tables, free_modify_mem_tables): New.
5581         (gcse_main); Use free_modify_mem_tables.
5582         (free_gcse_mem): Likewise; free the bitmaps.
5583         (alloc_gcse_main): Initialize the bitmaps.
5584         (canon_list_insert): Set canon_modify_mem_list_set.
5585         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
5586         (compute_hash_table): Use clear_modify_mem_tables.
5587         (reset_opr_set_tables): Likewise.
5588         (oprs_not_set_p): reg_set_bitmap is regset.
5589         (mark_set, mark_clobber): Likewise.
5590
5591         * df.h (DF_EQUIV_NOTES): New constant.
5592         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
5593         when asked for.
5594
5595         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
5596         (init_regions, schedule_insns): Conditionalize the checking
5597         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
5598
5599 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
5600
5601         * i386.md (movti_rex64 splitter): Fix condition.
5602
5603 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
5604
5605         * configure.in: Do not assume that gas's version number is the
5606         last thing on the first line of as --version output.
5607         * configure: Regenerate.
5608
5609         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
5610         MT_WARNING, MT_ERROR, MT_FATAL.
5611         (main): Call gcc_init_libintl.
5612         (v_message): Call gettext on msgid and "warning: "
5613         * tradcif.y: Include intl.h.
5614         (yyerror): Make parameter definition consistent with
5615         prototype.  Call gettext on msgid argument.
5616
5617 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5618
5619         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
5620         warnings.
5621
5622         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
5623
5624 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5625
5626         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
5627         before referencing it.
5628
5629 2001-10-26  DJ Delorie  <dj@redhat.com>
5630
5631         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
5632         override -G, and force -G0.
5633
5634 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
5635
5636         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
5637         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
5638         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
5639         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
5640
5641         * loop.h (struct induction): Rename ext_dependant to
5642         ext_dependent.
5643         * loop.c: Change all uses.
5644         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
5645         All callers changed.
5646         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
5647
5648 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
5649
5650         * c-parse.in (expr_no_commas, primary), c-typeck.c
5651         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
5652
5653 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
5654
5655         Undo assemble_name change in earlier patch.
5656
5657 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
5658
5659         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
5660         determining the type of the receiver, do not check that TREE_CODE
5661         of receiver is CALL_EXPR before calling receiver_is_class_object().
5662         (receiver_is_class_object): For the GNU runtime: recognize
5663         the case that the receiver is self in a class method context.
5664         Check that TREE_CODE of receiver is CALL_EXPR when checking that
5665         the receiver is a call to objc_get_class.
5666
5667 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5668
5669         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
5670
5671 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5672
5673         * Makefile.in (OBJS): Put all files in alphabetical order.
5674
5675         * dwarf2out.c (add_const_value_attribute): Fix error in last
5676         change.
5677
5678 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
5679
5680         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
5681         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
5682         fix warning.
5683         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
5684         (life_analysis): call purge_all_dead_edges after deleting noops.
5685         (delete_noop_move): Do not purge CFG.
5686         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
5687
5688 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
5689
5690         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
5691         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
5692         (ASM_GLOBALIZE_LABEL): Use assemble_name.
5693         (ASM_OUTPUT_COMMON): Likewise.
5694         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
5695         (rs6000_output_function_epilogue): Likewise.
5696         (output_mi_thunk): Fix typo.
5697         (rs6000_output_symbol_ref): Use assemble_name.
5698         (output_toc): Likewise.
5699         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
5700         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
5701         assemble_name calls STRIP_NAME_ENCODING.
5702         (ASM_OUTPUT_LABEL): Use assemble_name.
5703         (ASM_GLOBALIZE_LABEL): Likewise.
5704         (ASM_DECLARE_FUNCTION_NAME): Likewise.
5705         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
5706         (ASM_OUTPUT_LOCAL): Likewise.
5707
5708 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5709
5710         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
5711         (expand_builtin_apply, expand_builtin_return): Likewise.
5712         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
5713
5714 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
5715
5716         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5717         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
5718         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
5719         configure, configure.in, except.c, except.h, flow.c, function.c,
5720         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
5721         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
5722         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
5723         unroll.c: Fix spelling errors.
5724
5725         * doc/extend.texi, doc/invoke.texi: Fix spelling.
5726
5727         * doc/gcc.texi: Document use of "dependent" and American spelling.
5728
5729 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
5730
5731         * expr.c (emit_group_load): Support CONCATs by storing them to memory
5732         and reloading.
5733
5734 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5735
5736         * expr.c (store_constructor_field): Only call adjust_address on MEM.
5737
5738 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
5739
5740         * genrecog.c (write_switch):  Output if before switch for
5741         DT_elt_zero_wide_safe.
5742
5743 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5744
5745         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
5746         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
5747         (FUNCTION_PROFILER): Const-ify.
5748         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
5749         (eliminate_constant_term, assemble_name, output_addr_const):
5750         Remove declarations.
5751         (ptr_half_pic_address_p, half_pic_hash): Prototype.
5752         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
5753         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
5754         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
5755         (half_pic_declare, half_pic_external): Const-ify.
5756         * toplev.c: Include "halfpic.h".
5757
5758 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
5759
5760         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
5761         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
5762         config/i386/i386.c, config/i386/i386-interix.h,
5763         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
5764         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
5765         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
5766         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
5767         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
5768         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
5769         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
5770         spelling errors.
5771
5772         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5773         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
5774         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
5775         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
5776         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
5777         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
5778         system.h, toplev.c: Fix spelling errors.
5779
5780 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5781
5782         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
5783
5784         * dwarf2out.c (reg_number): Abort if pseudo.
5785         (reg_loc_descriptor): Return 0 if pseudo.
5786         (is_based_loc): Return 0 if pseudo.
5787         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
5788         recursive calls.
5789         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
5790         (loc_descriptor): Return 0 if can't find location and handle 0
5791         return from recursive calls.
5792         (loc_descriptor_from_tree): Likewise.
5793         Fix handling of indirect.
5794         Also return 0 for PLACEHOLDER_EXPR.
5795         Clean up COMPONENT_REF cases.
5796         (add_AT_location_descriptor): Simplify, but handle 0 return from
5797         loc_descriptor.
5798         (add_const_value_attribute): Avoid shift count warning.
5799         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
5800         Set comp_unit_die as context if not in function.
5801
5802         * config/mips/mips-protos.h: Break up long lines.
5803         Remove needless #ifdef/#endif blocks.
5804         Don't declare functions declared in file made by genpreds or recog.h.
5805         * config/mips/mips.c (mips_output_function_prologue): TSIZE
5806         is now HOST_WIDE_INT; delete unneeded casts.
5807         * config/mips/mips.h: Don't use #elif.
5808
5809         * expr.c (stor_constructor_field): Always call adjust_address.
5810         Copy TARGET before changing its alias set.
5811         (store_field): Likewise, for TO_RTX.
5812         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
5813         replacement.
5814         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
5815         (find_placeholder): Return 0 if can't find object.
5816         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
5817         returns 0.
5818
5819 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
5820
5821         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
5822
5823 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
5824
5825         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
5826         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
5827         (merge_blocks): Properly udpate life after making edge nonfallthru.
5828         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
5829
5830 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5831
5832         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5833
5834 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5835
5836         * c-typeck.c (convert_arguments): When comparing for enumeral
5837         type equality, use TYPE_MAIN_VARIANT.
5838         * gcc.dg/Wconversion.c: New tests.
5839
5840 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5841
5842         * s390/s390.c: Fix comment typos.
5843         * s390/s390.h: Likewise.
5844         * s390/s390.md: Likewise.
5845
5846 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5847
5848         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
5849         (walk_tree): Use it for tail calls where appropriate.
5850
5851 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5852
5853         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
5854         non-local label_refs.
5855
5856 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5857
5858         * config/h8300/h8300.md (4 anonymous patterns): New.
5859
5860 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5861
5862         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
5863         algorithm through the shift_info structure.
5864         (emit_a_shift): Update the use of get_shift_alg.
5865
5866 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
5867
5868         * sched-rgn.c: Remove bitset typedef.
5869         Change bitset to sbitmap in prototypes / variable types.
5870         Remove bbset_size.
5871         Remove edgeset_bits.
5872         Remove edgeset_size.
5873         s/BITSET_ADD/SET_BIT/g
5874         s/BITSET_INVERT/sbitmap_ones/g
5875         s/BITSET_INTER/sbitmap_a_and_b/g
5876         s/BITSET_UNION/sbitmap_a_or_b/g
5877         s/BITSET_DIFFER/sbitmap_difference/g
5878         s/bitset_member/TEST_BIT/g
5879         (BITSET_*): Removed.
5880         (bitset_member): Removed.
5881         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
5882         EXECUTE_IF_SET_IN_SBITMAP.
5883         (split_edges): Rewrite, use sbitmap functions instead of bitset
5884         operations.
5885         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
5886
5887 2001-10-26  Andreas Schwab  <schwab@suse.de>
5888
5889         * reload1.c (emit_input_reload_insns): Fix parens in last
5890         (undocumented) change that was supposed to change only whitespace.
5891
5892 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5893
5894         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
5895
5896         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
5897         ASM_OPERANDS.
5898
5899 2001-10-26  Andreas Jaeger  <aj@suse.de>
5900
5901         * flow.c (clear_log_links): Remove unused variable.
5902         * cfgcleanup.c (cleanup_cfg): Likewise.
5903
5904 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5905
5906         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
5907         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
5908
5909 2001-10-26  Richard Henderson  <rth@redhat.com>
5910
5911         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
5912         rename PV_REG to R27_REG.
5913         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
5914         (REG_CLASS_FROM_LETTER): Update.
5915         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
5916         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
5917         (udivsi3, modsi3, umodsi3): Likewise.
5918         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
5919
5920 2001-10-26  Richard Henderson  <rth@redhat.com>
5921
5922         * cfg.c (clear_aux_for_blocks): Split out of ...
5923         (free_aux_for_blocks): here.
5924         (clear_aux_for_edges): Split from ...
5925         (free_aux_for_edges): here.
5926         * basic-block.h: Declare them.
5927         * lcm.c (compute_antinout_edge): Use them.
5928         (compute_laterin, compute_available, compute_nearerout): Likewise.
5929         (optimize_mode_switching): Likewise.
5930
5931 2001-10-26  Richard Henderson  <rth@redhat.com>
5932
5933         * Makefile.in (unstage*): Remove as, ld, collect-ld before
5934         moving everything back to the main build directory.
5935
5936 2001-10-26  Christopher Faylor  <cgf@redhat.com>
5937
5938         * config/i386/cygwin.h: Search target specific include directory, if
5939         appropriate.
5940
5941 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5942
5943         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
5944         of macro guards. Fix #endif comment.
5945
5946         * output.h (default_exception_section, default_eh_frame_section):
5947         Move prototypes outside of macro guard.
5948
5949         * crtstuff.c: Fix #endif comment.
5950
5951 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
5952
5953         * doc/md.texi (movMM): Clarify semantics of storing into a
5954         non-paradoxical SUBREG.
5955
5956 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
5957
5958         * langhooks.c (lang_hook_default_clear_binding_stack): New.
5959         (lang_hook_default_get_alias_set): Move next to other alias
5960         hooks.
5961         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
5962         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
5963         (LANG_HOOKS_INITIALIZER): Add it.
5964         * toplev.h (struct lang_hooks): Add clear_binding_stack.
5965         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
5966         instead of a loop calling poplevel.
5967
5968 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
5969
5970         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
5971         occurrences of #elif with #if...#endif.
5972
5973 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5974
5975         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
5976
5977 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5978
5979         * alias.c (can_address_p): No longer static.
5980         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
5981         Return 0 if all parameters are default values.
5982         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
5983         (adjust_address_1): Try harder to compute a size.
5984         * expr.c (expand_assignment, store_constructor): If can't address,
5985         set MEM_KEEP_ALIAS_SET_P.
5986         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
5987         (store_field): Likewise.
5988         (store_constructor): Simplify call to store_constructor_field.
5989         * expr.h (can_address_p): New declaration.
5990         * gensupport.c (gen_rtx_CONST_INT): New function.
5991         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
5992         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
5993         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
5994
5995         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
5996
5997 2001-10-24  Christopher Faylor  <cgf@redhat.com>
5998
5999         * config/i386/cygwin.h: Use proper path for mingw crt files when
6000         -mno-cygwin.
6001
6002 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6003
6004         * dwarf2out.c (file_info_cmp): Always return consistent results.
6005
6006 2001-10-24  Roger Sayle <roger@eyesopen.com>
6007
6008         * stmt.c (expand_end_case): Index jumptables from zero for
6009         suitably small values of minval.
6010
6011 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
6012
6013         * stor-layout.c (place_union_field): If any field was aligned with
6014         attribute aligned, set record type's TYPE_USER_ALIGN.
6015         (place_field): Likewise.
6016         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
6017         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
6018
6019 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
6020
6021         * c-common.h (struct c_common_identifier): Remove rid_code field.
6022         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
6023
6024         * c-typeck.c (constructor_designated): New local flag.
6025         (struct constructor_stack): Add "designated" field to match.
6026         (start_init): Clear it.
6027         (really_start_incremental_init, push_init_level): Push and
6028         clear it.
6029         (pop_init_level): Pop it.
6030         (set_designator): Set it.
6031
6032         (pop_init_level): Suppress "missing initializer" warnings if
6033         constructor_designated is true.
6034         (process_init_element): Suppress warning about union
6035         initialization under traditional C, if constructor_designated
6036         is true.
6037
6038 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6039
6040         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
6041         change.
6042
6043 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
6044
6045         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
6046
6047 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
6048
6049         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
6050         the node was already a set to a constant.
6051
6052 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6053
6054         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
6055         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
6056
6057 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6058
6059         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
6060         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
6061         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6062         * s390.c (s390_final_chunkify): Don't use string concatenation.
6063         (s390_function_prologue, s390_function_epilogue): Const-ify.
6064         * s390.h (FUNCTION_PROFILER): Remove unused variable.
6065
6066 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
6067
6068         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
6069         prototypes.
6070
6071 2001-10-23  Stan Shebs  <shebs@apple.com>
6072
6073         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
6074         -traditional-cpp in first-stage compilation.
6075
6076 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6077
6078         * gensupport.c (target_flags): Add.
6079
6080 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
6081
6082         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
6083         if needed.
6084         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
6085         * except.c (expand_builtin_frob_return_addr): Likewise.
6086         (expand_builtin_eh_return): Likewise.
6087         * stmt.c (expand_computed_goto): Likewise.
6088         * explow.c (memory_address): Likewise.
6089         (allocate_dynamic_stack_space): Clean up predicate testing.
6090         (probe_stack_range): Convert SIZE to Pmode.
6091         * calls.c (rtx_for_function_call): Only call convert_memory_address
6092         if needed.
6093         Pass function call operand as ptr_mode, not Pmode.
6094         * expr.c (expand_assignment): Clean up calls to convert_memory
6095         address by only doing so when needed and making offsets Pmode.
6096         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
6097         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
6098         is in Pmode, not ptr_mode.
6099
6100 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6101
6102         * darwin-protos.h (constructor_section, destructor_section,
6103         mod_init_section, mod_term_section): Prototype.
6104         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
6105         Const-ify.
6106         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
6107         Likewise.
6108         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
6109         objc_section_init declaration.
6110         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
6111         (objc_section_init, try_section_alias): Make static.
6112         (alias_section): Make static and hide unused function.
6113         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6114
6115 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6116
6117         * alias.c (can_address_p): Compnonents are not addressable if
6118         the containing type has alias set 0.
6119         (get_alias_set): Rework to use STRIP_NOPS.
6120         Only call front-end routine on object, type, or object with
6121         NOPs stripped, not inner values.
6122         Use language hook to call front-end routine.
6123         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
6124         (expand_builtin_apply): Call set_mem_align on MEMs we make.
6125         Don't pass alignment to emit_block_move.
6126         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
6127         (expand_builtin_memset): Likewise, but for clear_storage.
6128         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
6129         and remove C++ specific parts.
6130         * c-common.h (c_common_get_alias_set): Add declaration.
6131         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
6132         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
6133         (save_fixed_argument_area): Call set_mem_align.
6134         Remove alignment in call to emit_block_move.
6135         (emit_library_call_value_1, store_one_arg): Likewise.
6136         (target_for_arg): Remove; disabled long ago.
6137         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
6138         once and similar cleanups.
6139         (offset_address): Use proper introductory comment.
6140         * expr.c (emit_block_move): Use alignment from that of MEM args, not
6141         from explicit operand; all callers changed.
6142         (clear_storage): Likewise.
6143         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
6144         (store_field): Remove kludge on alias set used for to_rtx.
6145         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
6146         (expand_expr_unaligned): Call set_mem_attributes instead of
6147         set_mem_alias_set.
6148         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
6149         * function.c (assign_stack_temp_for_type): Set MEM alignment.
6150         (expand_function_end): Track MEM attributes of trampolines.
6151         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
6152         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
6153         attributes from original.
6154         * langhooks.c (lang_hook_default_get_alias_set): New function.
6155         (hook_get_alias_set_0): New function.
6156         * langhooks.h (hook_get_alias_set_0): New declaration.
6157         (lang_hook_default_get_alias_set): Likewise.
6158         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
6159         * reload1.c (alter_reg): Use adjust_address_nv.
6160         * rtl.c (get_mode_alignment): Moved to here.
6161         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
6162         change default if unknown from 1 to BITS_PER_UNIT.
6163         * stor-layout.c (get_mode_alignment): Remove from here.
6164         * toplev.h (struct lang_hoks): Add get_alias_set field.
6165         * tree.h (lang_get_alias_set): Delete declaration.
6166         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
6167         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
6168         (ix86_va_arg): Likewise.
6169         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6170         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6171         * config/sparc/sparc.c (sparc_va_arg): Likewise.
6172         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6173         (expand_block_move_mem): Remove dead code.
6174
6175 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6176
6177         * c-common.c (warn_div_by_zero): New.
6178         * c-common.h (warn_div_by_zero): New.
6179         * c-decl.c (c_decode_option): Take it on the command line.
6180         * c-typeck.c (build_binary_op): Warn about division by zero.
6181         * doc/invoke.texi: Document the new command line option, fix
6182         documentation of -Wmultichar.
6183         * testsuite/gcc.dg/divbyzero.c: New tests.
6184         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
6185
6186 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6187
6188         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
6189
6190         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
6191         to avoid update_life_info call.
6192         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
6193         * cfgcleanup.c (bb_flags): New enum.
6194         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
6195         (notice_new_block, update_forwarder_flag): New functions.
6196         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
6197         (try_forward_edges): Likewise; update flags.
6198         (merge_blocks): Likewise.
6199         (outgoing_edges_match): Likewise.
6200         (try_crossjump_to_edge): Likewise.
6201         (try_optimize_cfg): Likewise; initialize and clear the flags;
6202         recompute life info if needed.
6203         (cleanup_cfg): No need to clear aux pointers.
6204
6205 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
6206
6207         * config/i386/i386.c (override_options): Default to minimum
6208         stack alignment when optimizing for code size.
6209         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
6210         change.
6211
6212         * config/i386/i386.c (override_options): Set upper limit of
6213         -mpreferred-stack-boundary to 12.
6214
6215 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
6216
6217         * recog.c (peephole2_optimize): Add default case to switch.
6218
6219 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
6220
6221         * doc/gcc.texi (Sending Patches): Remove.
6222
6223 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
6224
6225         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
6226         fields when comparing.
6227
6228 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6229
6230         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
6231         * arm.c (HOST_INT, HOST_UINT): Likewise.
6232
6233 2001-10-22  Stan Shebs  <shebs@apple.com>
6234
6235         * config/darwin-protos.h (darwin_exception_section): Declare.
6236         (darwin_eh_frame_section): Declare.
6237
6238 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
6239
6240         * i386.md (movti_rex64): Fix mode.
6241
6242 2001-10-22  Stan Shebs  <shebs@apple.com>
6243
6244         * target.h (struct gcc_target): Add asm_out.exception_section,
6245         asm_out.eh_frame_section.
6246         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
6247         (TARGET_ASM_EH_FRAME_SECTION): New.
6248         (TARGET_INITIALIZER): Update.
6249         * output.h (default_exception_section): Declare.
6250         (default_eh_frame_section): Declare.
6251         * dwarf2out.c: Include target.h.
6252         (output_call_frame_info): Call target hook for eh frames.
6253         (default_eh_frame_section): New function.
6254         * except.c: Include target.h.
6255         (output_function_exception_table): Call target hook for exception
6256         section.
6257         * varasm.c (default_exception_section): Rename from
6258         exception_section, remove EXCEPTION_SECTION macro.
6259
6260         * config/darwin.h (darwin_eh_frame_section): New function.
6261         (EXCEPTION_SECTION): Remove.
6262         (TARGET_ASM_EXCEPTION_SECTION): Define.
6263         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
6264         (nextstep_exception_section): New function.
6265         (nextstep_eh_frame_section): New function.
6266         (TARGET_ASM_EXCEPTION_SECTION): Define.
6267         (TARGET_ASM_EH_FRAME_SECTION): Define.
6268
6269         * config/pa/som.h (EXCEPTION_SECTION): Remove.
6270         (TARGET_ASM_EXCEPTION_SECTION): Define.
6271         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
6272         (EXCEPTION_SECTION): Remove.
6273         (TARGET_ASM_EXCEPTION_SECTION): Define.
6274         * config/stormy16/stormy16.h: Remove comments referencing
6275         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
6276
6277         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
6278         TARGET_ASM_EH_FRAME_SECTION.
6279
6280 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
6281
6282         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
6283         terms.
6284
6285         * c-format.c: Fix spelling typo in comment.
6286
6287         * sched-int.h: Fix typo in GCC preamble.
6288
6289 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6290
6291         PR debug/4252
6292         * doc/invoke.texi: Remove references to -fdump-translation-unit.
6293
6294 2001-10-22  Richard Henderson  <rth@redhat.com>
6295
6296         * config/i386/i386.c (ix86_expand_clear): New.
6297         * config/i386/i386-protos.h: Declare it.
6298         * config/i386/i386.md (setcc peep2s): Use it.
6299         (movsi_xor): Unexport.
6300
6301 2001-10-22  Richard Henderson  <rth@redhat.com>
6302
6303         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
6304         free_EXPR_LIST_list for LOG_LINKS.
6305
6306 2001-10-21  Robert Lipe  <robertlipe@usa.net>
6307
6308         * config/i386/i386.c (sco_asm_named_section): Delete.
6309         (sco_asm_out_constructor): Delete.
6310         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
6311         (ASM_OUTPUT_DOUBLE_INT): Likewise.
6312         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
6313         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
6314         (EXCEPTION_SECTION): Delete EH scn renaming hack.
6315
6316 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6317
6318         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
6319         and/or fold extra calls into fewer ones.
6320         * collect2.c (dump_file): Likewise.
6321         * cppexp.c (parse_number): Likewise.
6322         * cpplex.c (_cpp_lex_direct): Likewise.
6323         * final.c (output_asm_insn, asm_fprintf): Likewise.
6324         * fix-header.c (inf_scan_ident, main): Likewise.
6325         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
6326         Likewise.
6327         * fold-const.c (real_hex_to_f): Likewise.
6328         * gen-protos.c (parse_fn_proto): Likewise.
6329         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
6330         * genrecog.c (change_state, write_action): Likewise.
6331         * gensupport.c (shift_output_template): Likewise.
6332         * local-alloc.c (requires_inout): Likewise.
6333         * mips-tfile.c (IS_ASM_IDENT): Likewise.
6334         * protoize.c (is_id_char, main): Likewise.
6335         * real.c (asctoeg): Likewise.
6336         * recog.c (asm_operand_ok): Likewise.
6337         * reload.c (find_reloads): Likewise.
6338         * scan.c (scan_identget_token): Likewise.
6339         * sched-vis.c (print_value): Likewise.
6340         * stringpool.c (ggc_alloc_string): Likewise.
6341         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
6342         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
6343         * tradcpp.c (rescan): Likewise.
6344         * tree.c (clean_symbol_name): Likewise.
6345         * varasm.c (decode_reg_name): Likewise.
6346
6347         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
6348         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
6349         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
6350         * m88k.c (output_ascii): Likewise.
6351         * m88k.h (OVERRIDE_OPTIONS): Likewise.
6352         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
6353         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
6354         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
6355
6356 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6357
6358         * langhooks.c (lang_hook_default_do_nothing,
6359         lang_hook_default_decode_option): New defaults.
6360         * langhooks.h: Make hooks unconditional and non-NULL.
6361         * toplev.c (compile_file, toplev_main): Update.
6362         * toplev.h: Update comments.
6363         * objc/objc-act.c (lang_hooks): Update to new paradigm.
6364
6365 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6366
6367         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
6368
6369         * system.h (IN_RANGE): New macro.
6370
6371 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
6372
6373         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
6374         INTLDEPS variable, which does not include $LIBICONV.
6375         * Makefile.in: Use INTLDEPS in LIBDEPS.
6376         * configure: Regenerate.
6377
6378 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6379
6380         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
6381         * cpplex.c (lex_percent, lex_dot): Remove.
6382         (get_effective_char, skip_block_comment, skip_line_comment,
6383         parse_identifier_slow, parse_number, parse_string, save_comment,
6384         _cpp_lex_direct): Update to do lookback freely.
6385         (IF_NEXT_IS, BACKUP): New macros.
6386         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
6387         * cppmacro.c (paste_tokens): Update.
6388
6389 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
6390
6391         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
6392
6393 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
6394
6395         * reload1.c (reload): Check CONSTANT_P before calling
6396         LEGITIMATE_PIC_OPERAND_P.
6397         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
6398         workaround of 2001-10-13.
6399
6400 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
6401
6402         * i386.c (split_di): Handle splitting of DFmode.
6403
6404 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6405
6406         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
6407         (adjust_address_1, offset_address): Likewise.
6408
6409         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
6410         (output_asm_insn): Call it for each line output.
6411         Don't record an operand more than once.
6412
6413         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
6414         * main.c: Include config.h and system.h, but not ansidecl.h.
6415         * Makefile.in (main.o): Update accordingly.
6416
6417 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
6418
6419         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
6420
6421 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
6422
6423         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
6424         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
6425         Break out from ...
6426         (find_sub_basic_blocks): ... here;
6427         (find_many_sub_basic_blocks): New.
6428         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
6429
6430         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
6431
6432         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
6433
6434         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
6435
6436         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
6437         * flow.c (update_life_info): Measure time.
6438         * c-decl.c: Include timevar.h
6439         (c_expand_body): Measure time.
6440         * toplev.c (rest_of_compilation): Measure time of mode switching
6441         separately.
6442         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
6443
6444         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
6445         (lang_independent_options): Add asynchronous-unwind-tables
6446         (toplev_main): flag_asynchronous_unwind_tables implies
6447         flag_unwind_tables.
6448         * flags.h (flag_asynchronous_unwind_tables): Declare.
6449         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
6450         flag_asynchronous_unwind_tables.
6451         (output_call_frame_info): Likewise.
6452         * invoke.texi (-fasynchronous-unwind-tables): Document.
6453         * i386.c (optimization_options): Enable
6454         flag_asynchronous_unwind_tables.
6455
6456         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
6457         * i386.md (s* expanders): Destination is QImode.
6458
6459         * toplev.c (rest_of_compilation): Do not call clear_log_links.
6460         * rtl.h (clear_log_links): Kill.
6461         * flow.c (clear_log_links): Make static; accept blocks parameter;
6462         do no clear life info.
6463         (update_life_info): Call clear_log_links.
6464
6465         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
6466
6467 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6468
6469         * cpplex.c (handle_newline, skip_escaped_newlines,
6470         get_effective_char, skip_block_comment, skip_line_comment,
6471         parse_identifier_slow, parse_number, parse_string,
6472         _cpp_lex_direct): Update to do more stepping back.
6473         (trigraph_ok): Similarly.  Rename trigraph_p.
6474         (SAVE_STATE, RESTORE_STATE): Remove.
6475         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
6476
6477         * cpplib.c (destringize): Rename destringize_and_run, and
6478         call run_directive directly.
6479         (_cpp_do__Pragma): Simplify.
6480
6481 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6482
6483         * pe.c (arm_pe_unique_section): Const-ify.
6484         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6485         (switch_to_section): Add static prototype.
6486
6487         * output.h (drectve_section): Prototype.
6488
6489 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6490
6491         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
6492         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
6493         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
6494         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
6495         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
6496         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
6497         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
6498         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
6499         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
6500         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
6501         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
6502         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
6503         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
6504         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
6505         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
6506         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
6507         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
6508         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
6509         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
6510         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
6511         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
6512         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
6513         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
6514         cris-*-none, cris-*-linux*: Update ${tmfile} list.
6515         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
6516         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
6517         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
6518         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
6519         v850-*-*): Delete superflous ${cpu_type} setting.
6520         * config/linux.h: Delete svr4.h include.
6521         (SET_ASM_OP): Delete.
6522         * config/netware.h (INT_ASM_OP): Undef before define.
6523         * config/ptx4.h: Delete elfos.h include.
6524         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
6525         * config/svr4.h: Delete elfos.h include. Update commentary.
6526         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
6527         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
6528         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
6529         config/v850/v850.h: Delete svr4.h include.
6530         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
6531         config/m68k/m68kv4.h, config/m88k/sysv4.h,
6532         config/sparc/sysv4.h: Update includes.
6533         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
6534         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
6535         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
6536         config/m88k/dguxbcs.h: Delete includes.
6537         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
6538         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
6539         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
6540         it.
6541         * config/m88k/dgux.h: Delete include.
6542         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
6543         defining it.
6544         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
6545         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
6546         * config/sh/elf.h: Update include.
6547         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
6548         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
6549
6550 2001-10-19  Catherine Moore  <clm@redhat.com>
6551
6552         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
6553         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
6554         base and count fields.
6555         (stormy16_expand_builtin_va_start):  last_reg_count changed to
6556         size_of_reg_args.  Use count + size in first comparison.
6557
6558 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6559
6560         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
6561         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
6562         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
6563         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
6564         Set alignment from type if INDIRECT_REF.
6565         (adjust_address_1, offset_address): Simplify alignment compuitation.
6566         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
6567         here; done by set_mem_attributes.
6568
6569 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6570
6571         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
6572         * arm-protos.h (rdata_section, zero_init_section, common_section):
6573         Prototype.
6574         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
6575         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
6576         traditional mode stringification.
6577         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
6578         in macros controling its use.
6579         * rtlanal.c: Include tm_p.h.
6580         * varasm.c (asm_output_aligned_bss): Mark parameter with
6581         ATTRIBUTE_UNUSED.
6582         (assemble_constant_align, assemble_start_function, assemble_align,
6583         assemble_variable, assemble_trampoline_template,
6584         output_constant_def_contents): Wrap potentially empty if-stmt body
6585         in brackets.
6586
6587 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6588
6589         * a29k-protos.h (literal_section): Prototype.
6590         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
6591         * a29k.md: Ensure function pointers are prototyped.
6592         * genattrtab.c (write_eligible_delay): Mark parameter with
6593         ATTRIBUTE_UNUSED.
6594
6595 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6596
6597         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
6598         * 1750a.c (print_operand): Fix format specifier warning.
6599         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
6600         * 1750a.md: Likewise.
6601         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
6602         * genemit.c (output_add_clobbers): Mark parameter with
6603         ATTRIBUTE_UNUSED.
6604         * genrecog.c (write_subroutine): Likewise.
6605         * integrate.c (expand_inline_function): Delete unused variable.
6606         * varasm.c (remove_from_pending_weak_list): Wrap with
6607         ASM_WEAKEN_LABEL.
6608
6609 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
6610
6611         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
6612         field is different to previous argument's neg field.
6613
6614         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
6615
6616 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6617
6618         * final.c (get_decl_from_op): New function.
6619         (output_asm_insn): Call it; write "*" when item with decl is address.
6620
6621 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
6622
6623         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
6624         about 64-bit support from the 3.0_branch version.
6625
6626 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
6627
6628         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
6629         USE_INCLUDED_LIBINTL when appropriate.
6630         * configure, config.in: Regenerate.
6631         * Makefile.in (datadir): Set to @datadir@.
6632         (intl.o): Also depend on $(CONFIG_H) and system.h.
6633
6634         * intl.c: Factor out common gettext initialization sequence.
6635         (gcc_init_libintl):  New function.
6636         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
6637         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
6638         off NLS.  Add multiple include guard.  No need to #ifdef-guard
6639         an #undef.  Prototype gcc_init_libintl here.
6640
6641         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
6642         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
6643         Use gcc_init_libintl.
6644
6645 2001-10-19  Catherine Moore  <clm@redhat.com>
6646
6647         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
6648
6649         * config/stormy16/stormy16.c (stormy16_split_move):  Make
6650         sure that REG_INC notes are present for auto_inc operands.
6651
6652 2001-10-19  Andreas Jaeger  <aj@suse.de>
6653
6654         * configure: Regenerated.
6655         * configure.in: Add x86_64 to switch statements.
6656
6657 2001-10-18  Richard Henderson  <rth@redhat.com>
6658
6659         * config/alpha/alpha.md (sibcall_osf_1): Load destination
6660         address into $27 explicitly.
6661         (sibcall_value_osf_1): Likewise.
6662
6663 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6664
6665         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
6666         (offset_address): New function.
6667         (free_emit_status): Free regno_decl.
6668         (init_emit): Pass proper number of elements to xcalloc.
6669         Allocate regno_decl.
6670         (mark_emit_status): Mark regno_decl values.
6671         * expr.c (highest_pow2_factor): New function.
6672         (expand_assigment): Use it and offset_address.
6673         Properly handle ptr_mode vs. Pmode in offset calculation.
6674         (store_constructor, expand_expr_unaligned): Likewise.
6675         (expand_expr, case COMPONENT_EXPR): Likewise.
6676         * expr.h (offset_address): New decl.
6677         * function.h (struct emit_status): Add regno_decl.
6678         (REGNO_DECL): New macro.
6679         * final.c (output_asm_name): Move in file and don't conditionalize
6680         on flag_print_asm_name.
6681         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
6682         Output names of operands, if known.
6683         * function.c (assign_parms): Set REGNO_DECL.
6684         * integrate.c (integrate_decl_tree): Likewise.
6685         * stmt.c (expand_decl): Likewise.
6686         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
6687
6688 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
6689
6690         * attribs.c (handle_noinline_attribute): New function.
6691         (handle_used_attribute): Likewise.
6692         (c_common_attribute_table): Added noinline and used.
6693         * doc/extend.texi (Function Attributes): Document them.
6694         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
6695         Warn when merging inline with attribute noinline.
6696         (start_decl, start_function): Warn if inline and attribute
6697         noinline appear in the same declaration.
6698
6699 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6700
6701         * config.gcc: Update c4x and i370 for C front end-specific
6702         dependencies.
6703         * config/c4x/c4x-c.c: New.
6704         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
6705         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6706         New declarations.
6707         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
6708         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6709         Make extern.
6710         (c4x_init_pragma): Remove.
6711         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
6712         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
6713         c4x_pr_ignored): Move to c4x-c.c.
6714         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6715         * config/c4x/t-c4x: Update.
6716         * config/i370/i370-c.c: New.
6717         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
6718         (i370_pr_map): Move to i370-c.c.
6719         * config/i370/t-i370: New.
6720
6721         * doc/tm.texi: Update.
6722
6723 2001-10-17  Stan Shebs  <shebs@apple.com>
6724
6725         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
6726         typo fixes throughout.
6727         (machopic_output_stub): Remove some dead code.
6728
6729 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
6730
6731         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
6732         leak.
6733
6734 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6735
6736         * Makefile.in (print-rtl.o): Depend on TREE_H.
6737         * alias.c (get_alias_set): Make two passes over objects to first
6738         see if inner object is access via restricted pointer.
6739         Defer allocating alias set for restricted pointer until here.
6740         Call find_placeholder with second arg nonzero.
6741         Minor cleanups.
6742         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
6743         set for restricted pointer types.
6744         * emit-rtl.c (set_mem_attributes): Set more attributes.
6745         (set_mem_align, change_address, adjust_address_1): New functions.
6746         (change_address_1): Now static.
6747         (adjust_address, adjust_address_nv): Deleted.
6748         (replace_equiv_address): Call change_address_1.
6749         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
6750         (find_placeholder): Get starting point from PLIST arg.
6751         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
6752         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
6753         (adjust_address, adjust_address_nv): New macros.
6754         * print-rtl.c (tree.h): New include.
6755         (print_rtx, case MEM): Print all memory attributes.
6756
6757 2001-10-17  Richard Henderson  <rth@redhat.com>
6758
6759         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
6760
6761 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6762
6763         * c-tree.texi: Eliminate duplicated word.
6764         * cpp.texi: Likewise.
6765         * install.texi: Likewise.
6766         * invoke.texi: Likewise.
6767         * tm.texi: Likewise.
6768
6769 2001-10-17  Michael Collison  <collison@isisinc.net>
6770
6771         * dsp16xx.c: Fix comment formatting to match GNU standards.
6772         (dsp16xx_output_function_prologue): Change type of 'size'
6773         parameter from 'int' to HOST_WIDE_INT.
6774         (dsp16xx_output_function_epilogue): Change type of 'size'
6775         parameter from 'int' to HOST_WIDE_INT.
6776
6777 2001-10-16  Richard Henderson  <rth@redhat.com>
6778
6779         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
6780         * configure, config.in: Rebuild.
6781
6782         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
6783         (ix86_output_addr_diff_elt): New.
6784         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
6785         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6786         (JUMP_TABLES_IN_TEXT_SECTION): New.
6787         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
6788         * config/i386/i386-protos.h: Update.
6789
6790         * config/i386/386bsd.h, config/i386/beos-elf.h,
6791         config/i386/freebsd-aout.h, config/i386/freebsd.h,
6792         config/i386/i386-interix.h, config/i386/i386elf.h,
6793         config/i386/linux.h, config/i386/netbsd-elf.h,
6794         config/i386/netbsd.h, config/i386/openbsd.h,
6795         config/i386/ptx4-i.h, config/i386/rtemself.h,
6796         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
6797         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
6798
6799 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
6800
6801         * stmt.c (expand_asm_operands): Update commentary.
6802
6803 2001-10-16  Stan Shebs  <shebs@apple.com>
6804
6805         * config/darwin.h (GCC_NAME): Remove, no longer used.
6806         (NO_MATH_LIBRARY): Ditto.
6807         (MATH_LIBRARY): Define to emptiness.
6808         (DWARF2_DEBUGGING_INFO): Define.
6809         (PREFERRED_DEBUGGING_TYPE): Define.
6810         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
6811         (EXCEPTION_SECTION): Define.
6812         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6813         * config/darwin.c (darwin_encode_section_info): Handle case of
6814         DECL_INITIAL being error_mark_node.
6815
6816 2001-10-16  Richard Henderson  <rth@redhat.com>
6817
6818         * alpha.c (current_file_function_operand): Don't fail for profiling.
6819         (direct_call_operand): New.
6820         * alpha-protos.h: Declare it.
6821         * alpha.h (EXTRA_CONSTRAINT): Use it.
6822         (PREDICATE_CODES): Add it.
6823         (ASM_OUTPUT_MI_THUNK): Remove.
6824         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
6825         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
6826
6827 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
6828
6829         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
6830         (JUMP_TABLES_IN_TEXT_SECTION): Define.
6831
6832 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
6833
6834         * cfg.c (free_edge): Break out from ....
6835         (remove_edge): ... here.
6836         (clear_edges): Use free_edge.
6837
6838         * att.h (ASM_QUAD): Add comment.
6839         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
6840
6841 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
6842
6843         * i386.c (split_ti): New function.
6844         (ix86_split_to_parts): Support TImodes.
6845         * i386.h (VALID_INT_MODE_P): Add TImode.
6846         * i386.md (movdi splitter): Fix.
6847         (movti): Support 64bit integer registers.
6848         (movti_rex64): New function and splitter.
6849
6850         * i386.c (*_cost): Add movsx/movzx cost.
6851         * i386.h (struct processor_costs): Add movsx/movzx fields.
6852         (RTX_COSTS): Handle zero/sign extend + avoid believing that
6853         64bit operations require split on 64bit machine.
6854         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
6855
6856         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
6857         (ix86_expand_move): Avoid pushes of memory if size does not match;
6858         move long constants to register.
6859         (x86_initialize_trampoline): Fix mode.
6860         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
6861         Use ASM_QUAD on 64bit.
6862         * i386.md (test pattern): Disallow impossible constants.
6863         (tablejump PIC expander): Fix emitting of sum.
6864         (movdicc_rex64): Rename to movdicc.
6865         * linux64.h (LINK_SPEC): Add missing '%'.
6866
6867 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
6868
6869         * tree-inline.c (inlinable_function_p): Leave it up to the
6870         front-end to turn -finline-functions into DECL_INLINE set for all
6871         functions.
6872
6873 2001-10-16  Stan Shebs  <shebs@apple.com>
6874
6875         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
6876
6877 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
6878
6879         * recog.c: Formatting and comment typo fixes.
6880
6881         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
6882         version in single tree build.
6883         * configure: Regenerate.
6884
6885 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
6886
6887         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
6888         MODE arguments to gen_rtx and compare operand with const0_rtx.
6889
6890 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6891
6892         * system.h: Poison old unused target macros.
6893         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
6894         * config/stormy16/stormy16.c: Update references to obsolete macros.
6895         * config/stormy16/stormy16.h: Similarly.
6896         * config/stormy16/stormy16.md: Similarly.
6897         * config/cris/cris.h: Similarly.
6898
6899 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6900
6901         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
6902         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
6903         cpp_register_pragma): Update accordingly.
6904
6905 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6906
6907         * c-pragma.h (cpp_register_pragma_space): Remove.
6908         * cpplib.h (cpp_register_pragma_space): Remove.
6909         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
6910         (cpp_register_pragma_space): Remove.
6911         (cpp_register_pragma): Simplify using lookup_pragma_entry,
6912         add sanity checks.
6913         (do_pragma): Similarly.
6914         (_cpp_init_internal_pragmas): Don't register namespaces.
6915
6916         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
6917         Don't register namespaces.
6918         * cp/lex.c (init_cp_pragma): Similarly.
6919         * doc/tm.texi: Update.
6920
6921 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6922
6923         PR c/4157
6924         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
6925
6926 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
6927
6928         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
6929         add scheduling support.
6930         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
6931         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
6932         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
6933
6934
6935 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
6936
6937         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
6938         missing CONSTANT_P test in core GCC.
6939
6940 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6941
6942         * cppmain.c (struct printer): New member source.
6943         (scan_translation_unit): Fix spacing at start of lines.
6944         (cb_line_change): Update.
6945
6946         * gcc.dg/cpp/spacing2.c: New test.
6947
6948 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
6949
6950         * config/cris/arit.c: Use __builtin_labs, not abs.
6951
6952         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
6953
6954         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
6955         misplaced sprintf and fprintf argument.
6956
6957 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
6958
6959         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
6960         * configure.in, Makefile.in: Take out obsolete check-po logic.
6961         * configure, config.in: Regenerate.
6962
6963 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
6964
6965         * objc/objc-act.c (finish_objc): Correct precondition for emitting
6966         symtab declarations.
6967
6968 2001-10-12  Stan Shebs  <shebs@apple.com>
6969
6970         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
6971         declarations of arguments and local variables.
6972
6973 2001-10-12  Christopher Faylor  <cgf@redhat.com>
6974
6975         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
6976         ENDFILE_SPEC definition.
6977
6978 2001-10-12  Kazu Hirata  <kazu@hxi.com>
6979
6980         * gthr-dce.h: Fix comment formatting.
6981         * gthr-posix.h: Likewise.
6982         * gthr-single.h: Likewise.
6983         * gthr-solaris.h: Likewise.
6984         * gthr-vxworks.h: Likewise.
6985         * gthr-win32.h: Likewise.
6986
6987 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
6988
6989         * final.c (output_asm_insn): Make sure assembly dialects are
6990         terminated, not nested.  Output `|' and `}' characters if they
6991         don't appear inside assembly dialect selection.
6992         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
6993         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
6994         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
6995         strsetsi_rex_1): Add {} braces.
6996
6997 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
6998
6999         * toplev.c (compile_file): Ignore return value from yyparse.
7000         Always pop any nested binding levels after yyparse returns.
7001
7002 2001-10-11  Richard Henderson  <rth@redhat.com>
7003
7004         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
7005
7006 2001-10-11  Richard Henderson  <rth@redhat.com>
7007
7008         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
7009         fall back to add_AT_long_long for large CONST_INT.
7010
7011 2001-10-11  Richard Henderson  <rth@redhat.com>
7012
7013         * config/i386/i386.md (setcc splitters): Add four splitters to
7014         simplify compound compares that simplify_comparison can't handle.
7015
7016 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
7017
7018         * cpplex.c (digraph_spellings, token_spellings): Make static.
7019
7020 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7021
7022         * unroll.c (loop_iterations): Fixup last patch.
7023
7024 2001-10-11  Richard Henderson  <rth@redhat.com>
7025
7026         * rtl.h (REG_VTABLE_REF): New.
7027         * rtl.c (reg_note_name): Add it.
7028         * combine.c (distribute_notes): Handle it.
7029         * final.c (final_scan_insn): Handle it.
7030         * tree.def (VTABLE_REF): New.
7031         * expr.c (expand_expr): Handle it.
7032         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
7033         * output.h: Declare them.
7034
7035 2001-10-11  Richard Henderson  <rth@redhat.com>
7036
7037         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
7038         for a DECL_INITIAL.
7039
7040 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
7041
7042         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
7043         available in 64-bit mode.
7044
7045 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7046
7047         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
7048         cris-*-linux* cases.
7049         * config/cris/cris-protos.h: New file.
7050         * config/cris/cris.c: New file.
7051         * config/cris/cris.h: New file.
7052         * config/cris/cris.md: New file.
7053         * config/cris/linux.h: New file.
7054         * config/cris/aout.h: New file.
7055         * config/cris/arit.c: New file.
7056         * config/cris/cris_abi_symbol.c: New file.
7057         * config/cris/mulsi3.asm: New file.
7058         * config/cris/t-aout: New file.
7059         * config/cris/t-cris: New file.
7060         * config/cris/t-elfmulti: New file.
7061         * config/cris/t-linux: New file.
7062         * doc/invoke.texi: Add CRIS options.
7063         * doc/install.texi (Specific): Add blurb for CRIS.
7064
7065 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
7066
7067         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
7068         before using it.
7069         * config/float/i32.h: Likewise.
7070         * config/float-i386.h: Likewise.
7071         * config/float-i64.h: Likewise.
7072         * config/float-m68k.h: Likewise.
7073         * config/float-sh.h: Likewise.
7074         * config/float-sparc.h: Likewise.
7075
7076 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7077
7078         * doc/contrib.texi: Add note about CRIS port to my entry.
7079
7080 2001-10-11  Kazu Hirata  <kazu@hxi.com>
7081
7082         * basic-block.h: Fix formatting.
7083         * bitmap.h: Likewise.
7084         * cpplib.h: Likewise.
7085         * c-tree.h: Likewise.
7086         * diagnostic.h: Likewise.
7087         * flags.h: Likewise.
7088         * ggc.h: Likewise.
7089         * longlong.h: Likewise.
7090         * real.h: Likewise.
7091         * reload.h: Likewise.
7092         * rtl.h: Likewise.
7093         * tree.h: Likewise.
7094
7095 2001-10-10  Richard Henderson  <rth@redhat.com>
7096
7097         * c-parse.in (asm_operand): Allow named operands.
7098         * genconfig.c (max_recog_operands): Set to 29.
7099         * local-alloc.c (requires_inout): Skip multiple digits.
7100         * recog.c (asm_operand_ok): Likewise.
7101         (preprocess_constraints): Use strtoul for matching constraints.
7102         (constrain_operands): Likewise.
7103         * regmove.c (find_matches): Likewise.
7104         * reload.c (find_reloads): Likewise.
7105         * stmt.c (parse_output_constraint): Don't reject in-out
7106         constraint on operands > 9.  Reject '[' in constraint.
7107         (expand_asm_operands): Handle named operands.  Use strtoul
7108         for matching constraints.
7109         (check_operand_nalternatives): Split out from expand_asm_operands.
7110         (check_unique_operand_names): New.
7111         (resolve_operand_names, resolve_operand_name_1): New.
7112
7113         * doc/extend.texi (Extended Asm): Document named operands.
7114         * doc/md.texi (Simple Constraints): Document matching constraints
7115         on operands > 9.
7116
7117 2001-10-10  Richard Henderson  <rth@redhat.com>
7118
7119         * combine.c (try_combine): Handle a SEQUENCE of one insn.
7120
7121         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
7122         (jcc splitters): Add two splitters to simplify compound compares
7123         that simplify_comparison can't handle.
7124
7125 2001-10-10  Richard Henderson  <rth@redhat.com>
7126
7127         * langhooks.c: Include langhooks.h.
7128         * Makefile.in (langhooks.o): Depend on it.
7129
7130 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
7131
7132         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
7133         should not be considered as a no-op.
7134         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
7135
7136 2001-10-10  Stan Shebs  <shebs@apple.com>
7137
7138         * alias.c: Remove uses of "register" specifier in declarations
7139         of arguments and local variables.
7140         * c-common.c: Ditto.
7141         * c-convert.c: Ditto.
7142         * c-decl.c: Ditto.
7143         * c-format.c: Ditto.
7144         * c-semantics.c: Ditto.
7145         * c-typeck.c: Ditto.
7146         * caller-save.c: Ditto.
7147         * calls.c: Ditto.
7148         * cfg.c: Ditto.
7149         * cfgbuild.c: Ditto.
7150         * cfgrtl.c: Ditto.
7151         * collect2.c: Ditto.
7152         * combine.c: Ditto.
7153         * convert.c: Ditto.
7154         * cppexp.c: Ditto.
7155         * cppfiles.c: Ditto.
7156         * cse.c: Ditto.
7157         * dbxout.c: Ditto.
7158         * defaults.h: Ditto.
7159         * df.c: Ditto.
7160         * dwarf2out.c: Ditto.
7161         * dwarfout.c: Ditto.
7162         * emit-rtl.c: Ditto.
7163         * explow.c: Ditto.
7164         * expmed.c: Ditto.
7165         * expr.c: Ditto.
7166         * final.c: Ditto.
7167         * fix-header.c: Ditto.
7168         * floatlib.c: Ditto.
7169         * flow.c: Ditto.
7170         * fold-const.c: Ditto.
7171         * function.c: Ditto.
7172         * gcc.c: Ditto.
7173         * gcse.c: Ditto.
7174         * gen-protos.c: Ditto.
7175         * genattrtab.c: Ditto.
7176         * gencheck.c: Ditto.
7177         * genconfig.c: Ditto.
7178         * genemit.c: Ditto.
7179         * genextract.c: Ditto.
7180         * genflags.c: Ditto.
7181         * gengenrtl.c: Ditto.
7182         * genoutput.c: Ditto.
7183         * genpeep.c: Ditto.
7184         * genrecog.c: Ditto.
7185         * gensupport.c: Ditto.
7186         * global.c: Ditto.
7187         * gmon.c: Ditto.
7188         * graph.c: Ditto.
7189         * haifa-sched.c: Ditto.
7190         * hard-reg-set.h: Ditto.
7191         * hash.c: Ditto.
7192         * integrate.c: Ditto.
7193         * jump.c: Ditto.
7194         * lists.c: Ditto.
7195         * local-alloc.c: Ditto.
7196         * loop.c: Ditto.
7197         * mips-tdump.c: Ditto.
7198         * mips-tfile.c: Ditto.
7199         * optabs.c: Ditto.
7200         * prefix.c: Ditto.
7201         * print-rtl.c: Ditto.
7202         * read-rtl.c: Ditto.
7203         * real.c: Ditto.
7204         * recog.c: Ditto.
7205         * reg-stack.c: Ditto.
7206         * regclass.c: Ditto.
7207         * regmove.c: Ditto.
7208         * reload.c: Ditto.
7209         * reload1.c: Ditto.
7210         * reorg.c: Ditto.
7211         * resource.c: Ditto.
7212         * rtl.c: Ditto.
7213         * rtlanal.c: Ditto.
7214         * scan.c: Ditto.
7215         * sched-deps.c: Ditto.
7216         * sched-rgn.c: Ditto.
7217         * sdbout.c: Ditto.
7218         * simplify-rtx.c: Ditto.
7219         * stmt.c: Ditto.
7220         * stor-layout.c: Ditto.
7221         * toplev.c: Ditto.
7222         * tradcif.y: Ditto.
7223         * tradcpp.c: Ditto.
7224         * tree.c: Ditto.
7225         * unroll.c: Ditto.
7226         * varasm.c: Ditto.
7227         * xcoffout.c: Ditto.
7228
7229 2001-10-10  Richard Henderson  <rth@redhat.com>
7230
7231         * rtl.h (can_reverse_comparison_p): Remove.
7232
7233 2001-10-10  Christopher Faylor <cgf@redhat.com>
7234
7235         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
7236         used.
7237
7238 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7239
7240         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
7241         (Thanks to Chris Faylor for suggesting macro name).
7242         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
7243         WIN32 defines.
7244         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
7245         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
7246         (MATH_LIBRARY): Undef before definition.
7247         (OUTPUT_QUOTED_STRING): Likewise.
7248         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
7249
7250 2001-10-10  Richard Henderson  <rth@redhat.com>
7251
7252         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
7253         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
7254         a tristate comparison value.
7255         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
7256
7257 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7258
7259         PR c++/4512
7260         * unroll.c (loop_iterations): Ignore insns generated by loop
7261         unrolling.
7262
7263         * config.gcc (mips*-*-gnu*): Delete support.
7264         * config/mips/gnu.h: Remove.
7265
7266 2001-10-10  Kazu Hirata  <kazu@hxi.com>
7267
7268         * calls.c: Fix formatting.
7269         * c-decl.c: Likewise.
7270         * cfgcleanup.c: Likewise.
7271         * combine.c: Likewise.
7272         * cppfiles.c: Likewise.
7273         * cpplib.c: Likewise.
7274         * cppmacro.c: Likewise.
7275         * crtstuff.c: Likewise.
7276         * cse.c: Likewise.
7277         * dwarf2out.c: Likewise.
7278         * expmed.c: Likewise.
7279         * expr.c: Likewise.
7280         * fold-const.c: Likewise.
7281         * function.c: Likewise.
7282         * gcse.c: Likewise.
7283         * genattrtab.c: Likewise.
7284         * ggc-page.c: Likewise.
7285         * integrate.c: Likewise.
7286         * libgcc2.c: Likewise.
7287         * loop.c: Likewise.
7288         * optabs.c: Likewise.
7289         * profile.c: Likewise.
7290         * protoize.c: Likewise.
7291         * real.c: Likewise.
7292         * recog.c: Likewise.
7293         * reload1.c: Likewise.
7294         * reload.c: Likewise.
7295         * reorg.c: Likewise.
7296         * resource.c: Likewise.
7297         * sched-rgn.c: Likewise.
7298         * sdbout.c: Likewise.
7299         * stmt.c: Likewise.
7300         * toplev.c: Likewise.
7301         * varasm.c: Likewise.
7302
7303 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
7304
7305         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
7306         * Makefile.in (langhooks.o): Add dependencies.
7307
7308 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
7309
7310         * rs6000.c (rs6000_emit_load_toc_table): Don't
7311         strdup the toc label.
7312         (create_TOC_reference): Likewise.
7313
7314 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7315
7316         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
7317         version default.
7318
7319 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7320
7321         * config/i386/i386.c (ix86_attribute_table): Correct
7322         min_len, max_len fields for dllimport, dllexport and shared.
7323
7324 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
7325
7326         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
7327         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
7328         Consistently use "nonzero" instead of "non-zero".
7329
7330 2001-10-09  Kazu Hirata  <kazu@hxi.com>
7331
7332         * acconfig.h: Fix comment formatting.
7333         * c-dump.h: Likewise.
7334         * c-tree.h: Likewise.
7335         * conditions.h: Likewise.
7336         * expr.h: Likewise.
7337         * function.h: Likewise.
7338         * gthr.h: Likewise.
7339         * hwint.h: Likewise.
7340         * integrate.h: Likewise.
7341         * intl.h: Likewise.
7342         * loop.h: Likewise.
7343         * optabs.h: Likewise.
7344
7345 2001-10-09  Kazu Hirata  <kazu@hxi.com>
7346
7347         * c-common.h: Fix comment formatting.
7348         * c-dump.c: Likewise.
7349         * cfg.c: Likewise.
7350         * diagnostic.h: Likewise.
7351         * except.c: Likewise.
7352         * gcc.h: Likewise.
7353         * gcov-io.h: Likewise.
7354         * genattrtab.c: Likewise.
7355         * output.h: Likewise.
7356         * predict.h: Likewise.
7357         * reload1.c: Likewise.
7358         * reload.h: Likewise.
7359         * resource.h: Likewise.
7360         * scan.h: Likewise.
7361         * system.h: Likewise.
7362         * tree.h: Likewise.
7363         * tree-inline.c: Likewise.
7364         * tsystem.h: Likewise.
7365         * varasm.c: Likewise.
7366         * xcoffout.h: Likewise.
7367
7368 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7369
7370         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
7371
7372 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7373
7374         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
7375         config/i386/i386elf.h, config/i386/netbsd-elf.h,
7376         config/i386/netware.h, config/mcore/gfloat.h,
7377         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
7378         config/netware.h, gccbug.in: Update FSF address.
7379
7380 2001-10-09  Kazu Hirata  <kazu@hxi.com>
7381
7382         * c-common.c: Fix comment typos.
7383         * cfgrtl.c: Likewise.
7384         * collect2.c: Likewise.
7385         * cpplex.c: Likewise.
7386         * doloop.c: Likewise.
7387         * dwarf2out.c: Likewise.
7388         * dwarfout.c: Likewise.
7389         * expr.c: Likewise.
7390         * fold-const.c: Likewise.
7391         * gcc.c: Likewise.
7392         * gcov.c: Likewise.
7393         * gcse.c: Likewise.
7394         * global.c: Likewise.
7395         * ifcvt.c: Likewise.
7396         * loop.c: Likewise.
7397         * optabs.c: Likewise.
7398         * protoize.c: Likewise.
7399         * regclass.c: Likewise.
7400         * reorg.c: Likewise.
7401         * rtl.h: Likewise.
7402         * stmt.c: Likewise.
7403         * tree.h: Likewise.
7404         * doc/cpp.texi: Likewise.
7405         * doc/c-tree.texi: Likewise.
7406         * doc/extend.texi: Likewise.
7407         * doc/invoke.texi: Likewise.
7408         * doc/objc.texi: Likewise.
7409         * doc/tm.texi: Likewise.
7410
7411 2001-10-08  Richard Henderson  <rth@redhat.com>
7412
7413         * varasm.c (set_named_section_flags): Initialize "declared".
7414
7415 2001-10-08  Robert Lipe  <robertlipe@usa.net>
7416
7417         * varasm.c (struct in_named_entry): Add declared.
7418         (named_section_first_declaration): New function.
7419         (default_elf_asm_named_section): Use it.
7420         * output.h (named_section_first_declaration): New.
7421
7422 2001-10-08  Richard Henderson  <rth@redhat.com>
7423
7424         * i386.md (movsi_xor): Export.
7425         (setcc peep2): Use it when available; add an alternative to
7426         match zero_extendhisi2_and.
7427
7428 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7429
7430         * romp-protos.h (romp_initialize_trampoline): New function.
7431         * romp.c (romp_initialize_trampoline): Likewise.
7432         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
7433         romp_initialize_trampoline.
7434
7435 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7436
7437         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
7438         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7439         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7440         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7441
7442 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7443
7444         * unroll.c (loop_iterations): Extend check for multiple back edges.
7445
7446 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
7447
7448         * langhooks.h: New file.
7449         * Makefile.in (OBJS): Added langhooks.o.
7450         (c-lang.o): Depend on langhooks.h.
7451         (c-common.o): Don't depend on tree-inline.h.
7452         (tree-inline.o): Depend on toplev.h.
7453         (langhooks.o): New rule.
7454         * c-common.c: Don't include tree-inline.h.
7455         (c_mark_lang_decl): Mark argument c as unused.
7456         (c_common_lang_init): Don't initialize hooks here.
7457         * c-lang.c: Include langhooks.h, then override some macros.
7458         (lang_hooks): Initialize with macros in langhooks.h.
7459         (c_init): Don't initialize hooks here.
7460         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
7461         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
7462         * tree-inline.c: Include toplev.h.  Don't define hook variables.
7463         * tree-inline.h: Don't define hook types nor declare hook
7464         variables.  Move macros to...
7465         * langhooks.c: ... new file, as functions.  Adjust all callers.
7466
7467 2001-10-08  Jeffrey A Law  <law@cygnus.com>
7468
7469         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
7470         purge_mem_unchanging_flag on all instructions, not just on those
7471         before NOTE_INSN_FUNCTION_BEG.
7472
7473 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
7474
7475         * cppmacro.c (_cpp_create_definition): Leave comments off.
7476
7477         * doc/cpp.texi: Update.
7478
7479 2001-10-08  DJ Delorie  <dj@redhat.com>
7480
7481         * c-decl.c (grokfield): Make sure the only unnamed fields
7482         we're allowing are either structs or unions.
7483         * doc/extend.texi: Add documentation for the unnamed field
7484         extension.
7485
7486 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
7487
7488         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
7489         * configure.in: Use it.
7490         * configure: Regenerated.
7491         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
7492         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
7493
7494 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
7495
7496         * cppfiles.c (open_file): Don't mark zero-length files
7497         never-reread here.  Don't output diagnostics here either.
7498         (stack_include_file): Mark them never-reread here.
7499         (_cpp_read_file): Update.
7500
7501 2001-10-08  Richard Henderson  <rth@redhat.com>
7502
7503         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7504
7505 2001-10-08  Richard Henderson  <rth@redhat.com>
7506
7507         * expr.c (store_expr): When converting a CONST_INT for storage
7508         in a SUBREG, convert it to both SUBREG modes before stripping
7509         the SUBREG.
7510
7511 2001-10-08  Richard Henderson  <rth@redhat.com>
7512
7513         * varasm.c (restore_varasm_status): New.
7514         * function.h: Declare it.
7515         * function.c (pop_function_context_from): Call it.
7516
7517 2001-10-08  Richard Henderson  <rth@redhat.com>
7518
7519         * c-common.h (struct c_lang_decl): Add declared_inline.
7520         * c-tree.h (DECL_DECLARED_INLINE_P): New.
7521         * c-lang.c (c_disregard_inline_limits): Use it.
7522         * c-decl.c (duplicate_decls): Likewise.
7523         (pushdecl, redeclaration_error_message): Likewise.
7524         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
7525         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
7526         Set DECL_INLINE if -finline-functions.
7527         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
7528
7529 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
7530
7531         * cppmacro.c (funlike_invocation_p): Move some logic to caller
7532         in enter_macro_context.  Create a padding token in its own context
7533         if necessary when the search for '(' fails.
7534         (enter_macro_context): Update.
7535
7536 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
7537
7538         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
7539         genmultilib, toplev.c: Fix spelling errors of "separate" as
7540         "seperate", and corresponding spelling errors of related words.
7541
7542 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7543
7544         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
7545         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
7546         Likewise.
7547         * c-dump.c (dump_option_value_info): Likewise.
7548         * c-format.c (format_length_info, format_char_info,
7549         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
7550         * collect2.c (names): Likewise.
7551         * cppdefault.h (default_include): Likewise.
7552         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
7553         * flow.c (life_analysis): Likewise.
7554         * gcc.c (dir_separator_str, modify_target, option_map,
7555         target_option_translations, spec_list_1, extra_specs_1,
7556         init_spec): Likewise.
7557         * gcov.c (gcov_version_string): Likewise.
7558         * genattr.c (write_units): Likewise.
7559         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
7560         * gengenrtl.c (rtx_definition, defs): Likewise.
7561         * genrecog.c (pred_table): Likewise.
7562         * global.c (global_alloc): Likewise.
7563         * lcm.c (optimize_mode_switching): Likewise.
7564         * local-alloc.c (find_free_reg): Likewise.
7565         * params.h (param_info): Likewise.
7566         * predict.c (predictor_info): Likewise.
7567         * protoize.c (unexpansion_struct): Likewise.
7568         * real.c (bmask): Likewise.
7569         * recog.h (insn_operand_data, insn_data): Likewise.
7570         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
7571         * stmt.c (expand_nl_goto_receiver): Likewise.
7572         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
7573         target_switches, target_options): Likewise.
7574         * tradcif.y (token, tokentab2, yylex): Likewise.
7575         * tree.h (attribute_spec): Likewise.
7576
7577         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
7578         Likewise.
7579         * arc.c (arc_output_function_epilogue): Likewise.
7580         * arm.c (processors, all_cores, all_architectures,
7581         arm_override_options, isr_attribute_arg, isr_attribute_args,
7582         arm_isr_value): Likewise.
7583         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
7584         Likewise.
7585         * c4x.c (c4x_int_reglist): Likewise.
7586         * d30v.c (override_options): Likewise.
7587         * h8300.c (shift_insn): Likewise.
7588         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
7589         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
7590         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
7591         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
7592         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
7593         * i386.h (processor_costs, ix86_cost): Likewise.
7594         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
7595         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
7596         * m68k.c (codes_68881, codes_FPA): Likewise.
7597         * m88k.c (mode_from_align, max_from_align, all_from_align,
7598         best_from_align, m_options): Likewise.
7599         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
7600         * mcore.c (mode_from_align): Likewise.
7601         * mips/elf64.h (UNIQUE_SECTION): Likewise.
7602         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
7603         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
7604         * mips.h (mips_regno_to_class): Likewise.
7605         * ns32k.c (scales): Likewise.
7606         * pa.c (import_string, magic_milli): Likewise.
7607         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
7608         * sparc.c (leaf_reg_remap, sparc_override_options,
7609         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
7610         Likewise.
7611         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
7612
7613 2001-10-07  Dale Johannesen  <dalej@apple.com>
7614
7615         * reload1.c (reload_reg_free_p): Teach register interference
7616         checking that multiple output reloads are emitted in
7617         reverse order.
7618         reload1.c (reload_reg_reaches_end_p):  Ditto.
7619         reload1.c (reloads_conflict):  Ditto.
7620
7621 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
7622
7623         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
7624         NULL_TREE inside @code.
7625
7626 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
7627
7628         * doc/gcc.texi: Document consistent style of "32-bit",
7629         "Objective-C", and "@code{NULL}".
7630
7631 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
7632
7633         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
7634         (cpp_token_len, cpp_spell_token, cpp_output_token,
7635         _cpp_equiv_tokens): Handle it.
7636         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
7637         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
7638         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
7639         error messages.
7640
7641 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7642
7643         * gcc.c (default_compilers): Remove .ada.
7644
7645 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7646
7647         * doc/cppinternals.texi: Update.
7648
7649 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
7650
7651         * gcc.c (main): Set this_file_error if the appropriate
7652         compiler for a language has not been installed.
7653
7654 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
7655
7656         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
7657
7658 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
7659
7660         * gccbug.in (CATEGORIES): Add ada.
7661
7662 2001-10-05  Catherine Moore  <clm@redhat.com>
7663
7664         * config/stormy16/stormy-abi:  Document abi changes.
7665         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
7666         (ICALL_REGS): New register class.
7667         (NUM_ARGUMENT_REGISTERS): Now 6.
7668         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
7669         in registers.
7670         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
7671         * config/stormy16.md (call_internal, call_value_internal,
7672         indirect_jump): Use new 'z' constraint.
7673
7674 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7675
7676         * doc/cppinternals.texi: Update.
7677
7678 2001-10-05  Richard Henderson  <rth@redhat.com>
7679
7680         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
7681         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
7682         the gas section-name-as-label feature.
7683
7684 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7685
7686         * doc/cppinternals.texi: Update.
7687
7688 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7689
7690         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
7691         to ensure valid SImode constants.
7692
7693 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
7694
7695         * Makefile.in (c-decl.o): Depend on tree-inline.h.
7696         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
7697         * c-decl.c: Include tree-inline.h.
7698         (c_expand_body): Call optimize_inline_calls. Determine whether
7699         a function is inlinable upfront, and only clear
7700         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
7701         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
7702         (c_disregard_inline_limits): New function.
7703         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
7704         (c_post_options): Enable tree inlining if inlining is enabled.
7705         Don't inline trees when instrumenting functions.
7706         (c_init): Initialize lang_disregard_inline_limits and
7707         lang_cannot_inline_tree_fn.
7708         * tree-inline.c (initialize_inlined_parameters): Handle calls
7709         with fewer arguments than declared parameters, and fewer
7710         parameters than passed arguments.  Don't assume value is a
7711         DECL.
7712         (declare_return_variable): Convert return value back to the
7713         original type, if it was promoted.
7714         (tree_inlinable_function_p): New function.
7715         (inlinable_function_p): Don't look at DECL_INLINE if we're
7716         inlining all functions.  Make it work with a NULL id.
7717         Re-check DECL_UNINLINABLE after language-specific checks.
7718         * tree-inline.h (tree_inlinable_function_p): Declare it.
7719         * integrate.c (save_for_inline): Don't bother to prepare argvec
7720         when not inlining.
7721         * cse.c (check_for_label_ref): Don't check deleted labels.
7722
7723         * Makefile.in (tree-inline.o): Depend on newly-included headers.
7724         * tree-inline.c: Include headers needed for the functions moved in.
7725         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
7726         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
7727         (copy_body, initialize_inlined_parameters): Likewise.
7728         (declare_return_variable, inlinable_function_p): Likewise.
7729         (expand_call_inline, expand_calls_inline): Likewise.
7730         (optimize_inline_calls, clone_body): Likewise.
7731         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
7732         (copy_tree_r, remap_save_expr): Likewise.
7733
7734 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
7735
7736         * Makefile.in (OBJS): Added tree-inline.o.
7737         (c-common.o): Depend on tree-inline.h.
7738         (tree-inline.o): New target.
7739         * c-common.c: Include tree-inline.h.
7740         (c_mark_lang_decl): Don't mark saved_tree.
7741         (c_common_lang_init): Set lang_anon_aggr_type_p.
7742         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
7743         (struct c_lang_decl): Moved saved_tree to tree_decl.
7744         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
7745         * integrate.h (function_attribute_inlinable_p): Declare it.
7746         * integrate.c (function_attribute_inlinable_p): Export it.
7747         * tree-inline.c: New file.  Define variables declared in...
7748         * tree-inline.h: New file.  Declare functions to be moved to
7749         tree-inline.c.  Define macros and declare types and hooks for
7750         language-specific tree inlining.
7751         (flag_inline_trees): Moved definition from cp/decl2.c.
7752         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
7753         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
7754         (struct tree_decl): Moved saved_tree from c_lang_decl and
7755         inlined_fns from C++'s lang_decl.
7756
7757 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
7758
7759         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
7760         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
7761
7762 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7763
7764         * doc/cppinternals.texi: Update.
7765
7766 2001-10-04  Eric Christopher  <echristo@redhat.com>
7767
7768         * config/mips/mips.c (init_cumulative_args): Remember to set
7769         cum->prototype.
7770         * config.gcc: Redo linux configuration. Add target_cpu_default
7771         of soft-float to all mipsisa32 combinations and tx39.
7772         * config/mips/linux.h: Remove include of mips.h.
7773
7774 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
7775
7776         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
7777         HOST_LDFLAGS and HOST_CPPFLAGS.
7778
7779 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
7780
7781         * c-parse.in (objc_inherit_code, objc_pq_context,
7782         objc_public_flag): Make static.
7783         (objc_interface_context, objc_implementation_context,
7784         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
7785         global tree array in objc/objc-act.[ch].
7786         (methoddef): Remove unnecessary code.
7787
7788         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
7789         Hoist struct definitions to objc-act.h.
7790         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
7791         cat_count): Place declaration in objc-act.h.
7792         (objc_tree_index): Move enumeration to objc-act.h.
7793         (objc_global_trees): Place declaration and macro accessors in
7794         objc-act.h.
7795         (implementation_context): Remove duplicate; use
7796         objc_implementation_context instead:
7797         (method_context): Remove duplicate; use objc_method_context
7798         instead.
7799         (objc_ellipsis_node, objc_method_prototype_template,
7800         implemented_classes, function_type): Move global vars to
7801         objc_global_trees.
7802         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
7803         (build_message_expr): Move actual construction of ObjC message
7804         send nodes to finish_message_expr.
7805         (finish_message_expr): New routine, contains code formerly in
7806         build_message_expr.
7807         * objc/objc-act.h (finish_message_expr): New prototype.
7808         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
7809         declarations; these vars are now part of objc_global_trees.
7810         (objc_tree_index, objc_global_trees): Move definitions from
7811         objc-act.c.
7812         * objc/objc-tree.def: Update copyright info.
7813
7814 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
7815
7816         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
7817         op is NULL.
7818         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
7819         only if TARGET_ARCH64.
7820
7821 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
7822
7823         * doc/extend.texi: Fix some problems with previous checkin.
7824         * doc/invoke.texi: Likewise.
7825
7826 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7827
7828         * cpphash.h: Update comments.
7829         (cpp_context): Update.
7830         (spec_nodes): Remove n__Pragma.
7831         * cppinit.c (cpp_create_reader): Update.
7832         (builtin_array): Add _Pragma.
7833         * cpplib.h: Update comments.
7834         (NODE_DISABLED, BT_PRAGMA): New.
7835         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
7836         * cppmacro.c (struct cpp_macro): Remove disabled.
7837         (builtin_macro): Return int, handle _Pragma, push the new token
7838         on the context stack.
7839         (funlike_invocation_p): Unconstify, update.
7840         (enter_macro_context): Handle builtins here.
7841         (replace_args, push_token_context, push_ptoken_context):
7842         Update for prototype changes.
7843         (_cpp_pop_context): Update.
7844         (cpp_get_token): Don't handle buitins, nor _Pragma here.
7845         (cpp_sys_macro_p): Update.
7846         (_cpp_free_definition): Clear disabled flag.
7847         (_cpp_create_definition): Upate.
7848         * cppmain.c: Update comments.
7849
7850 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
7851                                 Andreas Jaeger <aj@suse.de>,
7852                                 Jan Hubicka    <jh@suse.cz>
7853
7854         * doc/invoke.texi (i386 Options): Document x86-64 options.
7855         (i386 and x86-64 Options): Rename i386 options section.
7856
7857         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
7858         (TARGET_SWITCHES): Add -munwind-info.
7859         (MASK_NO_UNWIND_INFO): New.
7860         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
7861         biarch compilation.
7862         (ASM_OUTPUT_DOUBLE_INT): New.
7863
7864         * config/i386/linux64.h: New spec file for Linux x86-64 support.
7865         * config.gcc: Fix tm_file settings for x86-64.
7866         * config/i386/x86-64.h: New file with OS independent x86-64
7867         definitions.
7868         * config/i386/biarch64.h: New file used to configure compiler
7869         to biarch/64bit compilation.
7870
7871         * config/i386/i386.c: (override_options): Set flags default
7872         for 64bit compilation.
7873
7874 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
7875
7876         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
7877         (ix86_expand_int_movcc): Optimize DImode conditional moves with
7878         constants on x86_64.
7879         (ix86_attr_length_immediate_default): Support MODE_DI.
7880         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
7881         condition.
7882         (indirect_jump, tablejump): Turn into expander.
7883
7884 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7885
7886         * c-common.c (c_format_attribute_table): Make format and
7887         format_arg attributes apply to function types rather than to
7888         decls.
7889         (is_valid_printf_arglist): Construct an attribute list and pass
7890         that to check_function_format rather than a name.
7891         * c-common.h (check_function_format): Adjust prototype.
7892         * c-decl.c (duplicate_decls): Preserve attributes from type of
7893         built-in decl when allowing for harmless conflict in types.
7894         * c-format.c (record_function_format,
7895         record_international_format, function_format_list,
7896         international_format_info, international_format_list): Remove.
7897         (function_format_info): Remove next, name and assembler_name.
7898         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
7899         (decode_format_attr): New.
7900         (handle_format_attribute): Handle receiving a type rather than a
7901         decl.  Call decode_format_attr.  Store format information in a
7902         function_format_info.
7903         (handle_format_arg_attribute): Correct comment.  Handle receiving
7904         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
7905         arg_num.
7906         (check_format_info_recurse, check_format_info_main): Take argument
7907         numbers as unsigned HOST_WIDE_INT.
7908         (check_function_format): Take a list of attributes from the
7909         function type rather than a name or assembler name.  Check for
7910         format attributes in that list and the attributes on the type of
7911         the current function rather than looking through
7912         function_format_list.
7913         (check_format_info): Use unsigned HOST_WIDE_INT for argument
7914         numbers.
7915         (check_format_info_recurse): Take format_arg attributes from the
7916         type of the function calls rather than using
7917         international_format_list.  Allow for multiple format_arg
7918         attributes.
7919         * c-typeck.c (build_function_call): Pass type attributes to
7920         check_function_format rather than name or assembler name.  Don't
7921         require there to be a name or assembler name to check formats.
7922
7923 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7924
7925         * attribs.c (decl_attributes): Possibly call
7926         insert_default_attributes to insert default attributes on
7927         functions in a lazy manner.
7928         * builtin-attrs.def: New file; define the default format and
7929         format_arg attributes.
7930         * c-common.c (c_format_attribute_table): Move to earlier in the
7931         file.
7932         (c_common_nodes_and_builtins): Initialize format_attribute_table.
7933         (enum built_in_attribute, built_in_attributes,
7934         c_attrs_initialized, c_init_attributes,
7935         c_common_insert_default_attributes): New.
7936         (c_common_lang_init): Don't initialize format_attribute_table.  Do
7937         call c_init_attributes.
7938         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
7939         * c-common.h (init_function_format_info): Don't declare.
7940         (c_common_insert_default_attributes): Declare.
7941         * c-decl.c (implicitly_declare, builtin_function): Call
7942         decl_attributes.
7943         (init_decl_processing): Don't call init_function_format_info.
7944         (insert_default_attributes): New.
7945         * c-format.c (handle_format_attribute,
7946         handle_format_arg_attribute): Be quiet about inappropriate
7947         declaration when applying default attributes.
7948         (init_function_format_info): Remove.
7949         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
7950         (insert_default_attributes): Declare.
7951
7952 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7953
7954         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
7955
7956 2001-10-01  Jim Wilson  <wilson@redhat.com>
7957
7958         * sched-deps.c (add_dependence): When elide conditional dependence,
7959         check that insn doesn't modify cond2.
7960
7961 2001-10-01  Dale Johannesen  <dalej@apple.com>
7962
7963         * config/rs6000/rs6000.h (enum processor_type): Add support
7964         for 7400 (G4) and 7450.
7965         (RTX_COSTS): Ditto.
7966         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
7967         (rs6000_issue_rate): Ditto.
7968         (rs6000_adjust_cost): Fix cycle counts for compares.
7969         (debug_stack_info):  Fix an obvious typo.
7970         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
7971         * doc/invoke.texi: Document.
7972         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
7973         for Darwin.
7974         (PROCESSOR_DEFAULT): Ditto.
7975
7976 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
7977
7978         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
7979         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
7980         later recursive make invocation.
7981
7982 2001-10-01  Hans Boehm  <boehm@acm.org>
7983
7984         * optabs.c (emit_libcall_block): When using non-call exceptions,
7985         don't add REG_LIBCALL reg notes to trapping calls.
7986
7987 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
7988
7989         * flow.c (propagate_block_delete_libcall): Remove unused first arg
7990         (propagate_one_insn):  Update for above change
7991
7992 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
7993
7994         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
7995         _Unwind_GetTextRelBase): Argument is unused.
7996
7997 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7998
7999         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
8000         Loop through NOPs, placeholders, and components.
8001         Don't go through NOPs if change mode.
8002         (record_alias_subset): Do nothing if SUBSET and SET are the same.
8003         * emit-rtl.c (set_mem_alias_set): Enable check.
8004         * expr.c (find_placeholder): New function.
8005         (expand_expr, case PLACEHOLDER_EXPR): Use it.
8006         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
8007         to modify it and avoid unneeded copies.
8008         * expr.h (expand_expr): Always define.
8009         (find_placeholder): New declaration.
8010
8011 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8012
8013         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
8014         operand 2 is the stack pointer.
8015         ("addr-peephole"): Fix address computation peephole when operand 2
8016         is the stack pointer.
8017
8018 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8019
8020         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
8021         (ix86_setup_incoming_varargs): Likewise.
8022
8023 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
8024
8025         * stor-layout.c (layout_type): Don't complain about too-large
8026         array here.
8027
8028 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8029
8030         * function.c (keep_stack_depressed): Don't use delete_insn.
8031
8032         * expr.h (set_mem_alias_set): Move decl to here.
8033         * rtl.h (mem_attrs): New typedef and struct.
8034         (union rtunion_def): Add field for mem_attrs.
8035         (X0MEMATTR, MEM_ATTRS): New macros.
8036         (MEM_ALIAS_SET): Use MEM_ATTRS.
8037         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
8038         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
8039         (set_mem_alias_set): Delete decl from here.
8040
8041         * alias.c (set_mem_alias_set): Delete from here.
8042         * emit-rtl.c (mem_attrs_htab): New variable.
8043         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
8044         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
8045         (mem_attrs_mark, get_mem_attrs): Likewise.
8046         (gen_rtx_MEM): Clear MEM_ATTRS.
8047         (set_mem_attributes): Move to here.
8048         (set_mem_alias_set): Likewise, and call get_mem_attrs.
8049         (init_emit_once): const_int_htab now deletable htab.
8050         Initialize mem_attrs_htab.
8051         * explow.c (set_mem_attributes): Delete from here.
8052         * function.c (put_var_into_stack): Clear MEM_ATTRS.
8053         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
8054         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
8055         * reload1.c (reload): Rework changing REG to MEM.
8056
8057 2001-09-30  H.J. Lu <hjl@gnu.org>
8058
8059         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
8060         * config.in: Rebuild.
8061
8062 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8063
8064         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
8065         ("tsthi_1"): Avoid allocation in register y.
8066         ("*movqi_68hc12"): Reorganize and fix constraints.
8067         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
8068         ("addqi3"): Likewise.
8069         ("addhi3"): Fix constraints.
8070         ("*logicalhi3_zexthi"): Disparage soft registers.
8071
8072 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8073
8074         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
8075         to tmp reg.
8076
8077 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8078
8079         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
8080         that we use setjmp/longjmp exceptions.
8081
8082 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8083
8084         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
8085         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
8086         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8087         _cpp_pool_alloc, _cpp_next_chunk): Remove.
8088         (_cpp_extend_buff, BUFF_ROOM): Update.
8089         (_cpp_append_extend_buff): New.
8090         (struct cpp_reader): Remove macro_pool, add a_buff.
8091         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
8092         macro_pool.
8093         (cpp_destroy): Free a_buff instead of macro_pool.
8094         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
8095         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8096         _cpp_pool_alloc, ): Remove.
8097         (parse_number, parse_string): Update use of _cpp_extend_buff.
8098         (_cpp_extend_buff): Update.
8099         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
8100         * cpplib.c (glue_header_name, parse_answer):
8101         Update use of _cpp_extend_buff.
8102         (cpp_register_pragma, cpp_register_pragma_space): Use
8103         _cpp_aligned_alloc.
8104         (do_assert, do_unassert): Check for EOL, update.
8105         * cppmacro.c (stringify_arg, collect_args): Update to use
8106         _cpp_extend_buff and _cpp_append_extend_buff.
8107         (save_parameter, parse_params, alloc_expansion_token,
8108         _cpp_create_definition): Rework memory management.
8109
8110 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
8111
8112         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
8113         update md_exec_prefix.
8114         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
8115         to string constant.
8116
8117 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8118
8119         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
8120         (SELECT_CC_MODE): Use s390_select_ccmode.
8121         * config/s390/s390-protos.h (s390_select_ccmode): Add.
8122         * config/s390/s390.c (s390_select_ccmode): New.
8123         (s390_match_ccmode): Add CCLmode.
8124         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
8125         (output_branch_condition, output_inverse_branch_condition): Removed.
8126         (print_operand): Use s390_branch_condition_mnemonic.
8127         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
8128         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
8129         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
8130
8131         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
8132         when converting conditional branches to far branches.
8133         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
8134         cmpint_di): Use CCSmode instead of CCUmode.
8135
8136         * config/s390/s390.c (legitimate_la_operand_p): New.
8137         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
8138         * config/s390/s390.md (movsi): Convert load address patterns to
8139         arithmetic operations when necessary.
8140         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
8141         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
8142         (*do_la_reg_0): Don't use before reload.
8143
8144         * config/s390/s390.c (legitimize_address): Make more efficient
8145         use of two-register addressing mode.
8146
8147         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
8148         with -mno-backchain in some corner cases.
8149
8150         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
8151
8152 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
8153
8154         * reload.c (find_reloads): Mark new USE insns with QImode.
8155         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
8156         find_reloads_subreg_address): Likewise.
8157         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
8158         encountered.
8159         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
8160         CLOBBERs.
8161         (reload): Make sure there are no USEs with mode other than
8162         VOIDmode.  At the end, remove those marked with QImode.
8163
8164 2001-09-29  Per Bothner  <per@bothner.com>
8165
8166         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
8167         * Makefile.in (includedir):  Rename to local_includedir.
8168         (includedir):  Define as $(prefix)/include.
8169         * config.in (PREFIX_INCLUDE_DIR):  New variable.
8170         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
8171
8172 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
8173
8174         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
8175         storehps builtins.
8176         * doc/extend.texi (Vector Extensions): New node.
8177         * doc/invoke.texi (Machine Dependent Options): Add documentation for
8178         i386 -mmmx, -msse, -m3dnow.
8179
8180 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8181
8182         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
8183
8184 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
8185
8186         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
8187
8188         * doc/invoke.texi (Optimize Options): Delete spurious @table.
8189
8190 2001-09-28  Richard Henderson  <rth@redhat.com>
8191
8192         * varasm.c (assemble_integer): Bound alignment check by
8193         BIGGEST_ALIGNMENT.
8194
8195         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
8196
8197 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8198
8199         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
8200
8201 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
8202
8203         Mostly from Graham Stott  <grahams@redhat.com>
8204         * c-common.c (type_for_mode): Add support for V2SFmode.
8205         * tree.c (build_common_tree_nodes_2): Likewise.
8206         * tree.h (enum tree_index, global_trees): Likewise.
8207         * config/i386/i386.c (x86_3dnow_a): New variable.
8208         (override_options): Support 3Dnow extensions.
8209         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
8210         Athlon's version of 3Dnow.
8211         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
8212         (ix86_expand_builtin): Handle them.
8213         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
8214         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
8215         TARGET_3DNOW_A): New macros.
8216         (TARGET_SWITCHES): Add 3Dnow switches.
8217         (VALID_MMX_REG_MODE_3DNOW): New macro.
8218         (VECTOR_MODE_SUPPORTED_P): Use it.
8219         (enum ix86_builtins): Add entries for 3Dnow builtins.
8220         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
8221         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
8222         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
8223         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
8224         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
8225         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
8226         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
8227         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
8228         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
8229         sfence_insn, prefetch): Make these available if TARGET_SSE or
8230         TARGET_3DNOW_A.
8231
8232 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
8233
8234         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
8235         ix86_va_start, ix86_build_va_list): Declare.
8236         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
8237         ix86_va_start, ix86_build_va_list): New global functions.
8238         * i386.md (sse_prologue_save_insn): New insn.
8239         (sse_prologue_save): New expander.
8240         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
8241         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
8242
8243 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8244
8245         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
8246         Use size_t everywhere, make definitions consistent with
8247         prototypes.
8248
8249 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
8250
8251         * gcse.c (replace_store_insn): Use delete_insn.
8252         * loop.c (move_movables): Likewise; avoid delete_insn
8253         from clobbering notes moved elsewhere.
8254         (check_dbra_loop): Use delete_insn.
8255         * ssa.c (convert_from_ssa): Likewise.
8256         * cse.c (cse_insn): Use delete_insn.
8257
8258 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8259
8260         * cpphash.h (struct cpp_buff): Make unsigned.
8261         (_cpp_get_buff): Take length of size_t.
8262         (_cpp_unaligned_alloc): New.
8263         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
8264         (struct cpp_reader): Remove ident_pool.  Add u_buff.
8265         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
8266         (cpp_destroy): Destroy u_buff, not ident_pool.
8267         * cpplex.c (parse_number, parse_string, save_comment,
8268         cpp_token_as_text): Update to use the unaligned buffer.
8269         (new_buff): Make unsigned.
8270         (_cpp_unaligned_alloc): New.
8271         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
8272         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
8273         Similarly.
8274         (collect_args): Make unsigned.
8275
8276 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
8277
8278         * cpplex.c (cpp_output_token): Use a putc loop for
8279         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
8280
8281         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
8282         * configure, config.in: Regenerate.
8283         * system.h: Replace fwrite and fprintf with their unlocked
8284         variants if available.
8285
8286 2001-09-27  Richard Henderson  <rth@redhat.com>
8287
8288         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
8289         in favour of .eh_frame.
8290
8291 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
8292
8293         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
8294         to macros.
8295         (LIBCALL_VALUE): Likewise.
8296
8297 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8298
8299         * cpphash.h: Update comment.
8300         * cpplex.c: Update comments.
8301         (_cpp_can_paste): Remove.
8302         * cpplib.h (_cpp_can_paste): Remove.
8303         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
8304         lexer rather than _cpp_can_paste.
8305
8306 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8307
8308         * doc/cppinternals.texi: Update.
8309
8310 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8311
8312         * cpphash.h (struct cpp_pool): Remove locks and locked.
8313         (struct cpp_context): Add member buff.
8314         (struct cpp_reader): Remove member argument_pool.
8315         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8316         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
8317         * cpplex.c (chunk_suitable): Remove pool argument.
8318         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
8319         (new_buff, _cpp_extend_buff): Update.
8320         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
8321         which buffer is returned.
8322         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
8323         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8324         * cppmacro.c (lock_pools, unlock_pools): Remove.
8325         (push_ptoken_context): Take a _cpp_buff.
8326         (enter_macro_context): Pool locking removed.
8327         (replace_args): Use a _cpp_buff for the replacement list with
8328         arguments replaced.
8329         (push_token_context): Clear buff.
8330         (expand_arg): Use _cpp_pop_context.
8331         (_cpp_pop_context): Free a context's buffer, if any.
8332
8333 2001-09-26  DJ Delorie  <dj@redhat.com>
8334
8335         * c-typeck.c (digest_init): Check for sizeless arrays.
8336
8337 2001-09-26  Richard Henderson  <rth@redhat.com>
8338
8339         * optabs.c (init_one_libfunc): Create a dummy function type
8340         instead of using error_mark_node.
8341
8342 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8343
8344         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
8345         _cpp_extend_buff, _cpp_free_buff): New.
8346         (struct cpp_reader): New member free_buffs.
8347         * cppinit.c (cpp_destroy): Free buffers.
8348         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
8349         _cpp_extend_buff, _cpp_free_buff): New.
8350         * cpplib.h (struct cpp_options): Remove unused member.
8351         * cppmacro.c (collect_args): New.  Combines the old parse_arg
8352         and parse_args.  Use _cpp_buff for memory allocation.
8353         (funlike_invocation_p, replace_args): Update.
8354
8355 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
8356
8357         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
8358
8359 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
8360
8361         * except.c (sjlj_mark_call_sites): Change address inside sequence.
8362
8363 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
8364
8365         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
8366         glibc.
8367
8368 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
8369             Jim Wilson  <wilson@redhat.com>
8370
8371         * doc/install.texi (Specific, ia64-*-linux): Document.
8372
8373 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
8374
8375         * Makefile.in (cfgrtl.o): Add.
8376         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8377         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8378         free_aux_for_edge): Declare.
8379         * cfg.c
8380         (HAVE_return): Undefine.
8381         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8382         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8383         free_aux_for_edge): New global functions.
8384         (first_delete_block): New static variable.
8385         (init_flow): Clear first_delete_block.
8386         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
8387          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
8388          try_redirect_by_replacing_jump, last_loop_beg_note,
8389          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
8390          delete_insn, delete_insn_chain, create_basic_block_structure,
8391          create_basic_block, flow_delete_block, compute_bb_for_insn,
8392          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
8393          set_block_for_new_insns, split_block, merge_blocks_nomove,
8394          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
8395          redirect_edge_and_branch, force_nonfallthru_and_redirect,
8396          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
8397          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
8398          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
8399          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
8400          purge_all_dead_edges): Move to ....
8401         * cfgrtl.c: New file; .... Here.
8402
8403         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
8404         (reroder_basic_block): Use alloc_aux_for_blocks.
8405         * predict.c (estimate_bb_frequencies): Likewise; use
8406         alloc_aux_for_edges.
8407         * profile.c (compute_branch_probabilities): Likewise.
8408         (branch_prob): Likewise.
8409         * reg-stack.c (reg_to_stack): Likewise.
8410
8411         * emit-rtl.c (emit_insns_after): Never return NULL.
8412
8413         * basic-block.h (set_block_for_new_insns): Delete.
8414         * cfgrtl.c (set_block_for_new_insns): Delete.
8415
8416         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
8417         calls when crossjumping.
8418
8419         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
8420         * unroll.c (copy_loop_body): Use delete_insn.
8421
8422         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
8423         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
8424         keep_stack_depressed): Likewise.
8425         * gcse.c (cprop_cc0_jump): Likewise.
8426         * local-alloc.c (update_equiv_regs): Likewise.
8427         * loop.c (scan_loop, loop_delete_insns): Likewise.
8428         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
8429         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
8430         delete_output_reload, delete_address_reloads_1,
8431         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
8432         Likewise.
8433         * sibcall.c (replace_call_placeholder): Likewise.
8434         * cse.c (cse_insn): Likewise.
8435
8436 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
8437
8438         From Graham Stott  <grahams@redhat.com>
8439         (def_builtin): Only define builtins appropriate for target_flags.  All
8440         callers changed.
8441         (builtin_decsription): Add new field mask which is used to determine
8442         when to define the builtin via the macro def_builtin.
8443
8444         (bdesc_comi): Initialise new mask fields.
8445         (bdesc_2srg): Likewise.
8446         (bdesc_1arg): Likewise.
8447
8448         * config/i386/i386.c (ix86_init_builtins): Correct return type
8449         building v4hi_ftype_v4hi_int_int tree node.
8450         (ix86_expand_sse_comi): Fix typo swapping operands.
8451         Don't swap comparision condition, it is already swapped.
8452         (ix86_expand_sse_compare): Before swapping operands
8453         move operand 1 into new rtx and not the target rtx.
8454         Don't swap comparison condition, it is already swapped.
8455         Always check whether we need to create a new TARGET.
8456
8457         * config/i386/i386.md: (sse_comi) Fix typos.
8458         (sse_ucomi): Likewise.
8459         (cvtss2si): Fix operand 0 contraint.
8460         (cvttss2si): Likewise.
8461         (sse_unpckhps): Fix mode for operand 2.
8462         (sse_unpcklps): Likewise.
8463
8464 2001-09-25  Graham Stott  <grahams@redhat.com>
8465
8466         * sibcall.c (skip_copy_to_return_value): Tighten return value
8467         copy check.
8468
8469 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
8470
8471         * rs6000.c (lwa_operand): Address must be word aligned.
8472
8473 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8474
8475         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
8476         number has been set.
8477         (type_hash_mark): Mark type itself.
8478
8479 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
8480
8481         * c-lex.c (cb_def_pragma): Update.
8482         (c_lex): Update, and skip padding.
8483         * cppexp.c (lex, parse_defined): Update, remove unused variable.
8484         * cpphash.h (struct toklist): Delete.
8485         (union utoken): New.
8486         (struct cpp_context): Update.
8487         (struct cpp_reader): New members eof, avoid_paste.
8488         (_cpp_temp_token): New.
8489         * cppinit.c (cpp_create_reader): Update.
8490         * cpplex.c (_cpp_temp_token): New.
8491         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
8492         (cpp_output_token): Don't print leading whitespace.
8493         (cpp_output_line): Update.
8494         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
8495         do_include_common, do_line, do_ident, do_pragma,
8496         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
8497         parse_assertion): Update.
8498         (get_token_no_padding): New.
8499         * cpplib.h (CPP_PADDING): New.
8500         (AVOID_LPASTE): Delete.
8501         (struct cpp_token): New union member source.
8502         (cpp_get_token): Update.
8503         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
8504         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
8505         replace_args, quote_string, stringify_arg, parse_arg, next_context,
8506         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
8507         _cpp_backup_tokens, _cpp_create_definition): Update.
8508         (push_arg_context): Delete.
8509         (padding_token, push_token_context, push_ptoken_context): New.
8510         (make_string_token, make_number_token): Update, rename.
8511         (cpp_get_token): Update to handle tokens as pointers to const,
8512         and insert padding appropriately.
8513         * cppmain.c (struct printer): New member prev.
8514         (check_multiline_token): Constify.
8515         (do_preprocessing, cb_line_change): Update.
8516         (scan_translation_unit): Update to handle spacing.
8517         * scan-decls.c (get_a_token): New.
8518         (skip_to_closing_brace, scan_decls): Update.
8519         * fix-header.c (read_scan_file): Update.
8520
8521         * doc/cpp.texi: Update.
8522
8523 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8524
8525         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
8526         leak by passing malloc'ed pointer to reconcat, not concat.
8527
8528 2001-09-24  DJ Delorie  <dj@redhat.com>
8529
8530         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
8531
8532 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
8533
8534         * flow.c (delete_dead_jumptables): Delete jumptable if the only
8535         reference is from the literal pool.
8536
8537 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
8538
8539         * doc/install.texi (Final install): Request additional information
8540         in mail about successful builds.
8541
8542 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8543
8544         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
8545         initial value of return pointer register instead of value in frame-20.
8546         Revise comments.
8547
8548 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8549
8550         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
8551         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
8552         the libcall if there isn't a referenced identifier for the symbol.
8553
8554 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8555
8556         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
8557         non 64-bit machines.  Use these as a plabel for the trampoline.
8558         (TRAMPOLINE_SIZE): Adjust size for new words.
8559         (INITIALIZE_TRAMPOLINE): Initialize new words.
8560         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
8561         pointer to the plabel in the trampoline.
8562
8563 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8564
8565         * pa.c (function_arg): Pass floating arguments in both general and
8566         floating registers in indirect (dynamic) calls when generating code
8567         for the 32 bit ABI and the HP assembler.
8568
8569 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8570
8571         * doc/install.texi: Markup fixes.
8572         Use Solaris 2, SunOS 4 as appropriate.
8573         (Specific, *-*-solaris2*): Explain this.
8574         Unconditionally warn against /usr/ucb tools.
8575         Remove Sun as warning, obsolete.
8576         Move X11 header bug workaround here, update patches.
8577         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
8578         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
8579
8580 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
8581
8582         * errors.h (warning, error, fatal, internal_error): Don't mark
8583         with ATTRIBUTE_PRINTF_n.
8584         * toplev.h (internal_error, fatal_io_error, warning, error,
8585         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
8586         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
8587         Likewise.
8588
8589 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8590
8591         * function.c (pop_function_context_from): var_refs_queue
8592         and temp slots now in GC memory.
8593         (mark_function_status, free_after_compilation): Likewise;
8594         also struct function now in GC memory.
8595         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
8596         (combine_temp_slots): Likewise.
8597         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
8598         (prepare_function_start): Use GC memory for struct function.
8599         (mark_temp_slot): Deleted.
8600         (gcc_mark_struct_function): struct function now in GC memory.
8601
8602         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
8603         code for division, not modulus.
8604
8605         * rtl.def (MEM): Remove obsolete part of comment.
8606
8607 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
8608
8609         * c-format.c (init_function_format_info): Check __builtin_printf
8610         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
8611         in gnu89 mode.
8612
8613 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8614
8615         * c-common.c (format_attribute_table): Remove decl.
8616         * tree.h (format_attribute_table, lang_attribute_table): New decls.
8617         (lang_attribute_common): Likewise.
8618
8619         * function.c (fix_lexical_address): Use set_mem_alias_set.
8620         (expand_function_start): Likewise.
8621         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
8622
8623         * varasm.c (output_constant): Fix unused variable warning.
8624
8625         * attribs.c: New file, from c-common.c.
8626         (attribute_tables): Now four elements.
8627         (format_attribute_table, lang_attribute_common): New variables.
8628         (init_attributes): Reflect above changes.
8629         (handle_mode_attribute): Delete check for wider than uintmax.
8630         * c-common.c: Delete parts moved to attribs.c.
8631         (enum attrs): Deleted; unused.
8632         (c_format_attribute_table): New variable.
8633         (c_common_lang_init): Initialize format_attribute_table with it.
8634         * c-common.h (decl_attributes): Remove decl.
8635         * tree.h (decl_attribute): Move it to here.
8636         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
8637         (attribs.o): New rule.
8638
8639 2001-09-22  Andreas Jaeger  <aj@suse.de>
8640
8641         * builtins.c (c_getstr): Remove unused variable.
8642
8643 2001-09-21  Richard Henderson  <rth@redhat.com>
8644
8645         * reload1.c (reload): Use delete_insn instead of splatting
8646         NOTE_INSN_DELETED.
8647
8648 2001-09-21  Richard Henderson  <rth@redhat.com>
8649
8650         * reload.c (push_secondary_reload): Don't check for "=" in output
8651         constraint after ""->ALL_REGS check.
8652
8653 2001-09-21  Richard Henderson  <rth@redhat.com>
8654
8655         * predict.c (expected_value_to_br_prob): Use pc_set.
8656
8657         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
8658         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
8659
8660 2001-09-21  Richard Henderson  <rth@redhat.com>
8661
8662         * rtl.h (LCT_RETURNS_TWICE): New.
8663         * calls.c (emit_call_1): Set current_function_calls_setjmp for
8664         ECF_RETURNS_TWICE.
8665         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
8666         to ECF_RETURNS_TWICE.
8667         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
8668         call to setjmp.
8669
8670         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
8671
8672         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
8673         (JMP_BUF_SIZE): New.
8674
8675 2001-09-21  Richard Henderson  <rth@redhat.com>
8676
8677         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
8678         to R8_REGS.
8679
8680 2001-09-21  Richard Henderson  <rth@redhat.com>
8681
8682         * tree.def (FDESC_EXPR): New.
8683         * expr.c (expand_expr): Handle it.
8684         * varasm.c (initializer_constant_valid_p): Likewise.
8685         (output_constant): Likewise.
8686         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8687         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8688         (ASM_OUTPUT_FDESC): New.
8689         * doc/tm.texi: Document the new macros.
8690
8691 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
8692
8693         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
8694         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
8695         once merging is complete.
8696
8697 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8698
8699         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
8700
8701 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
8702
8703         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
8704         that would be invalid after a merge.
8705
8706 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
8707
8708         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
8709         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
8710         remove some labels.
8711         (flow_delete_insn): This one.
8712         (delete_insn_chain): Rename from ...; do not care labels.
8713         (flow_delete_insn_chain): ... this one.
8714         (flow_delete_block): Remove the insns one BB has been expunged.
8715         (merge_blocks_nomove): Likewise.
8716         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
8717         updating BB boundaries.
8718         (tidy_fallthru_edge): Likewise.
8719         (commit_one_edge_insertion): Likewise.
8720         * cfgbuild.c (find_basic_block): Likewise.
8721         (find_basic_blocks_1): Likewise.
8722         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
8723         (try_crossjump_to_edge): Likewise.
8724         (try_optimize_cfg): Likewise.
8725         * cse.c (delete_trivially_dead_insns): Likewise.
8726         * df.c (df_insn_delete): Likewise.
8727         * doloop.c (doloop_modify): Use delete_related_insns.
8728         * emit-rtl.c (try_split): Likewise.
8729         (remove_insn): Update BB boundaries.
8730         * expect.c (connect_post_landing_pads): Use delete_related_insns.
8731         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
8732         updating BB boundaries.
8733         (propagate_block_delete_insn): Likewise.
8734         (propagate_block_delete_libcall): Likewise.
8735         * function.c (delete_handlers): Use delete_related_insns.
8736         (thread_prologue_and_epilogue_insns): Likewise.
8737         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
8738         * genpeep.c (gen_peephole): Use delete_related_insns.
8739         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
8740         BB boundaries.
8741         (find_cond_trap): Likewise.
8742         * integrate.c (save_for_inline): Use delete_related_insns.
8743         (copy_insn_list): Likewise.
8744         * jump.c (pruge_linie_number_notes): Likewise.
8745         (duplicate_loop_exit_test): Likewise.
8746         (delete_computation): Likewise.
8747         (delete_related_insn): Rename from ...; use delete_insn
8748         (delete_insn): ... this one.
8749         (redirect_jump): Use delete_related_insns.
8750         * loop.c (scan_loop): Likewise.
8751         (move_movables): Likewise.
8752         (find_and_verify_loops): Likewise.
8753         (check_dbra_loop): Likewise.
8754         * recog.c (peephole2_optimize): Likewise.
8755         * reg-stack.c (delete_insn_for_stacker): Remove.
8756         (move_for_stack_reg): Use delete_insn.
8757         * regmove.c (combine_stack_adjustments_for_block): Likewise.
8758         * reload1.c (delete_address_reloads): Use delete_related_insns.
8759         (fixup_abnormal_edges): Use delete_insn.
8760         * recog.c (emit_delay_sequence): Use delete_related_insns.
8761         (delete_from-delay_slot): Likewise.
8762         (delete_scheduled_jump): likewise.
8763         (optimize_skip): Likewise.
8764         (try_merge_delay_insns): Likewise.
8765         (full_simple_delay_slots): Likewise.
8766         (fill_slots_from_thread): Likewise.
8767         (relax_delay_slots): Likewise.
8768         (make_return_insns): Likewise.
8769         (dbr_schedule): Likewise.
8770         * rtl.h (delete_insn): Rename to delete_related_insns.
8771         (delete_insn, delete_insn_chain): New prototypes.
8772         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
8773         by df_insn_delete already.
8774         * ssa-dce.c (delete_insn_bb): Use delete_insn.
8775         * ssa.c (convert_from_ssa): Use delete_related_insns.
8776         * unroll.c (unroll_loop): Likewise.
8777         (calculate_giv_inc): Likewise.
8778         (copy_loop_body): Likewise.
8779
8780         * i386-protos.h (ix86_libcall_value, ix86_function_value,
8781         ix86_function_arg_regno_p, ix86_function_arg_boundary,
8782         ix86_return_in_memory, ix86_function_value): Declare.
8783         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
8784         new static valurables.
8785         (x86_64_reg_class): New enum
8786         (x86_64_reg_class_name): New array.
8787         (classify_argument, examine_argument, construct_container,
8788          merge_classes): New static functions.
8789         (optimization_options): Enable flag_omit_frame_pointer and disable
8790         flag_pcc_struct_return on 64bit.
8791         (ix86_libcall_value, ix86_function_value,
8792         ix86_function_arg_regno_p, ix86_function_arg_boundary,
8793         ix86_return_in_memory, ix86_function_value): New global functions.
8794         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
8795         (function_arg_advance): Handle x86_64 passing conventions.
8796         (function_arg): Likewise.
8797         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
8798         (RETURN_IN_MEMORY): Move offline.
8799         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
8800         (FUNCTION_VALUE_REGNO_P): New macro.
8801         (FUNCTION_ARG_REGNO_P): Move offline.
8802         (struct ix86_args): Add maybe_vaarg.
8803         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
8804         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
8805
8806 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
8807
8808         * s390.md: Changed attributes for scheduling.
8809         * s390.c: (s390_adjust_cost, s390_adjust_priority)
8810         Changed scheduling
8811
8812 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
8813
8814         Table-driven attributes.
8815         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
8816         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
8817         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
8818         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
8819         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
8820         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
8821         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
8822         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
8823         * tree.h (struct tree_decl): Change machine_attributes to
8824         attributes.
8825         * doc/c-tree.texi: Document that all attributes are now attached
8826         to decls and types.
8827         * c-common.c (add_attribute, attrtab, attrtab_idx,
8828         default_valid_lang_attribute, valid_lang_attribute): Remove.
8829         (attribute_tables, attributes_initialized,
8830         c_common_attribute_table, default_lang_attribute_table): New
8831         variables.
8832         (handle_packed_attribute, handle_nocommon_attribute,
8833         handle_common_attribute, handle_noreturn_attribute,
8834         handle_unused_attribute, handle_const_attribute,
8835         handle_transparent_union_attribute, handle_constructor_attribute,
8836         handle_destructor_attribute, handle_mode_attribute,
8837         handle_section_attribute, handle_aligned_attribute,
8838         handle_weak_attribute, handle_alias_attribute,
8839         handle_no_instrument_function_attribute,
8840         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
8841         handle_no_limit_stack_attribute, handle_pure_attribute): New
8842         functions.
8843         (init_attributes, decl_attributes): Rewrite to implement
8844         table-driven attributes.
8845         * c-common.h (enum attribute_flags): Move to tree.h.
8846         * c-format.c (decl_handle_format_attribute,
8847         decl_handle_format_arg_attribute): Rename to
8848         handle_format_attribute and handle_format_arg_attribute.  Update
8849         for table-driven attributes.
8850         * c-common.h (decl_handle_format_attribute,
8851         decl_handle_format_arg_attribute): Remove prototypes.
8852         (handle_format_attribute, handle_format_arg_attribute): Add
8853         prototypes.
8854         * c-decl.c (grokdeclarator): Handle attributes nested inside
8855         declarators.
8856         * c-parse.in (setattrs, maybe_setattrs): Remove.
8857         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
8858         Update to handle nested attributes properly.
8859         (maybe_resetattrs, after_type_declarator,
8860         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
8861         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
8862         properly.
8863         (make_pointer_declarator): Update to handle nested attributes
8864         properly.
8865         * doc/extend.texi: Update documentation of limits of attributes
8866         syntax.  Warn about problems with attribute semantics in C++.
8867         * target.h (struct target): Remove valid_decl_attribute and
8868         valid_type_attribute.  Add attribute_table and
8869         function_attribute_inlinable_p.
8870         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
8871         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
8872         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
8873         Add.
8874         (TARGET_INITIALIZER): Update.
8875         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
8876         definition.
8877         (function_attribute_inlinable_p): New function.  Check for the
8878         presence of any machine attributes before using
8879         targetm.function_attribute_inlinable_p.
8880         (function_cannot_inline_p): Update.
8881         * Makefile.in (integrate.o): Update dependencies.
8882         * doc/tm.texi: Update documentation of target attributes and
8883         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
8884         * tree.c (default_valid_attribute_p, valid_machine_attribute):
8885         Remove.
8886         (default_target_attribute_table,
8887         default_function_attribute_inlinable_p): New.
8888         (lookup_attribute): Update comment to clarify handling of multiple
8889         attributes with the same name.
8890         (merge_attributes, attribute_list_contained): Allow multiple
8891         attributes with the same name but different arguments to appear in
8892         the same attribute list.
8893         * tree.h (default_valid_attribute_p): Remove prototype.
8894         (struct attribute_spec): New.
8895         (default_target_attribute_table): Declare.
8896         (enum attribute_flags): Move from c-common.h.  Add
8897         ATTR_FLAG_TYPE_IN_PLACE.
8898         (default_function_attribute_inlinable_p): Declare.
8899         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
8900         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8901         (TARGET_ATTRIBUTE_TABLE): Define.
8902         (vms_attribute_table): New.
8903         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
8904         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8905         (TARGET_ATTRIBUTE_TABLE): Define.
8906         (arc_attribute_table, arc_handle_interrupt_attribute): New.
8907         * config/arm/arm.c (arm_valid_type_attribute_p,
8908         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
8909         Remove.
8910         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8911         define.
8912         (TARGET_ATTRIBUTE_TABLE): Define.
8913         (arm_attribute_table, arm_handle_fndecl_attribute,
8914         arm_handle_isr_attribute): New.
8915         * config/avr/avr.c (avr_valid_type_attribute,
8916         avr_valid_decl_attribute): Remove.
8917         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
8918         define.
8919         (TARGET_ATTRIBUTE_TABLE): Define.
8920         (avr_attribute_table, avr_handle_progmem_attribute,
8921         avr_handle_fndecl_attribute): New.
8922         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
8923         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8924         (TARGET_ATTRIBUTE_TABLE): Define.
8925         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
8926         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
8927         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8928         (TARGET_ATTRIBUTE_TABLE): Define.
8929         (h8300_attribute_table, h8300_handle_fndecl_attribute,
8930         h8300_handle_eightbit_data_attribute,
8931         h8300_handle_tiny_data_attribute): New.
8932         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
8933         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
8934         Remove prototypes.
8935         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
8936         declarations.
8937         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
8938         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8939         define.
8940         (TARGET_ATTRIBUTE_TABLE): Define.
8941         (ix86_attribute_table, ix86_handle_cdecl_attribute,
8942         ix86_handle_regparm_attribute): New.
8943         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
8944         i386_pe_valid_type_attribute_p): Remove.
8945         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
8946         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
8947         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8948         (TARGET_ATTRIBUTE_TABLE): Define.
8949         (ia64_attribute_table): New.
8950         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
8951         interrupt_ident2, model_ident1, model_ident2): Remove.
8952         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8953         (TARGET_ATTRIBUTE_TABLE): Define.
8954         (init_idents): Update.
8955         (m32r_attribute_table, m32r_handle_model_attribute): New.
8956         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
8957         Remove.
8958         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8959         (TARGET_ATTRIBUTE_TABLE): Define.
8960         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
8961         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
8962         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8963         (TARGET_ATTRIBUTE_TABLE): Define.
8964         (mcore_attribute_table, mcore_handle_naked_attribute): New.
8965         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
8966         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8967         (TARGET_ATTRIBUTE_TABLE): Define.
8968         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
8969         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
8970         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8971         (TARGET_ATTRIBUTE_TABLE): Define.
8972         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
8973         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
8974         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8975         (TARGET_ATTRIBUTE_TABLE): Define.
8976         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
8977         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
8978         New.
8979         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
8980         Remove.
8981         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
8982         (TARGET_ATTRIBUTE_TABLE): Define.
8983         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
8984         New.
8985         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
8986         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8987         (TARGET_ATTRIBUTE_TABLE): Define.
8988         (v850_attribute_table, v850_handle_interrupt_attribute,
8989         v850_handle_data_area_attribute): New.
8990         * config/v850/v850-c.c (mark_current_function_as_interrupt):
8991         Return void.  Call decl_attributes instead of
8992         valid_machine_attribute.
8993
8994 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
8995
8996         * sh-protos.h (sh_pr_n_sets): Declare.
8997         * sh.c (calc_live_regs): If the initial value for PR has been copied,
8998         look at the copy to determine if PR needs to be saved.
8999         sh_pr_n_sets: New function.
9000         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
9001         (ALLOCATE_INITIAL_VALUE): Define.
9002
9003         * sh.c (initial_elimination_offset):
9004         Fix RETURN_ADDRESS_POINTER_REGNUM case.
9005
9006 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
9007
9008         * integrate.c (allocate_initial_values): New function.
9009         * integrate.h (allocate_initial_values): Declare.
9010         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
9011         here...
9012         * reload1.c (reload): And initialization of reg_equiv_memory_loc
9013         from here...
9014         * toplev.c (rest_of_compilation): To here.
9015         Call allocate_initial_values.
9016         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
9017
9018 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9019
9020         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
9021
9022 2001-09-20  DJ Delorie  <dj@redhat.com>
9023
9024         * c-typeck.c (really_start_incremental_init): Discriminate
9025         between zero-length arrays and flexible arrays.
9026         (push_init_level): Detect zero-length arrays and handle them
9027         like fixed-sized arrays.
9028         * expr.c (store_constructor): Handle zero-length arrays and
9029         flexible arrays correctly.
9030         * doc/extend.texi: Update zero-length array notes.
9031
9032 2001-09-20  Jim Wilson  <wilson@redhat.com>
9033
9034         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
9035         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
9036         for issue port conflicts.
9037         (cycle_end_fill_slots): TYPE_L instructions take two slots.
9038
9039 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
9040
9041         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
9042         on ia64.
9043
9044 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9045
9046         * fold-const.c (hashtab.h): Include.
9047         (int_const_binop): Remove FORSIZE arg and compute from type; all
9048         callers changed.
9049         Call size_int_type_wide for all single-word constants.
9050         (size_htab_hash, size_htab_eq): New functions.
9051         (size_int_type_wide): Rework to use hash table.
9052         * ggc-common.c (hashtab.h): Include.
9053         (struct d_htab_root): New struct.
9054         (d_htab_roots): New variable.
9055         (ggc_add_deletable_htab, ggc_htab_delete): New functions
9056         (ggc_mark_roots): Handle deletable htabs.
9057         * ggc-page.c (ggc_marked_p): New function.
9058         * ggc-simple.c (ggc_marked_p): Likewise.
9059         * ggc.h: Reformatting throughout.
9060         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
9061         * tree.c (init_obstacks): Make type_hash_table a deletable root.
9062         (type_hash_add): Allocate struct type_hash from GC memory.
9063         (mark_hash_entry, mark_type_hash): Deleted.
9064         (type_hash_marked_p, type_hash_mark): New functions.
9065         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
9066
9067 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
9068
9069         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
9070         than SImode.
9071
9072 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9073
9074         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
9075         array-too-large test for signed sizetype.
9076
9077 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9078
9079         * i386.md (indirect_jump): Allow Pmode operand.
9080         (tablejump): LIkewise; perform expansion to 64bit mode.
9081         * i386.c (symbolic_operand): Allow 64bit PIC references.
9082         (pic_symbolic_operand): Likewise.
9083         (ix86_find_base_term): Strip the 64bit PIC references.
9084         (legitimate_pic_address_disp_p): Handle 64bit PIC.
9085         (legitimize_pic_address): Likewise.
9086         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
9087         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
9088
9089 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
9090
9091         * stringpool.c (get_identifier_with_length): New function.
9092         * tree.h (get_identifier_with_length): New prototype.
9093
9094 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
9095             David Edelsohn  <edelsohn@gnu.org>
9096
9097         Revert:
9098         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
9099         already sign-extended.
9100
9101         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
9102         * config/rs6000/rs6000.c (logical_operand): Always compare op as
9103         HOST_WIDE_INT.
9104         (rs6000_emit_set_long_const): Avoid unnecessary shift.
9105         (output_profile_hook): Declare label_name const.
9106         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
9107         to match constraints.
9108
9109 2001-09-19  Stan Shebs  <shebs@apple.com>
9110
9111         * alias.c: Fix typos in comments.
9112         * sched-rgn.c (init_ready_list): Ditto.
9113         * unwind-dw2.c (uw_frame_state_for): Ditto.
9114         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
9115         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
9116         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
9117
9118 2001-09-19  Richard Henderson  <rth@redhat.com>
9119
9120         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
9121         to the exit block.
9122         * Makefile.in (cfg.o): Depend on TM_P_H.
9123
9124 2001-09-19  Richard Henderson  <rth@redhat.com>
9125
9126         * config/alpha/alpha.c (local_symbol_p): Split out from ...
9127         (local_symbolic_operand): ... here.
9128         (small_symbolic_operand): Check mode.
9129         (global_symbolic_operand): New.
9130         (input_operand): Reject symbolics if explicit relocs.
9131         (call_operand): Tidy.
9132         (alpha_legitimize_address): Use movdi_er_high_g.
9133         (alpha_expand_mov): Likewise.
9134         * config/alpha/alpha-protos.h: Update.
9135         * config/alpha/alpha.h (PREDICATE_CODES): Update.
9136         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
9137         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
9138         (UNSPECV_LDGP2): Remove.
9139         (all call patterns): Use 's' not 'i' for symbolic constraint.
9140         (call_osf call_value_osf): Use call_operand.
9141         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
9142         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
9143         (prologue_ldgp_1_er): Remove.
9144         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
9145         (builtin_setjmp_receiver_er patterns): Use them.
9146         (exception_receiver_er): Likewise.
9147
9148 2001-09-19  Richard Henderson  <rth@redhat.com>
9149
9150         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
9151
9152         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
9153         and NON_LOCAL_GOTO notes.
9154         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
9155         copy over CALL_INSN_FUNCTION_USAGE.
9156
9157 2001-09-18  Catherine Moore  <clm@redhat.com>
9158
9159         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
9160         Define as 0.
9161
9162 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
9163
9164         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
9165         new-style tm_file specification.  Specify correct tm_p_file,
9166         md_file, and out_file for s390x.
9167
9168         * config/s390/linux.h, linux64.h:  Don't include other target
9169         macro header files.  Now handled via tm_file.
9170
9171         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
9172         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
9173         are defined before use.
9174
9175 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
9176
9177         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
9178         code generation only for Gnu assembler.
9179
9180 2001-09-18  Catherine Moore  <clm@redhat.com>
9181
9182         * config/stormy16 (LIB_SPEC): Remove -lnosys.
9183
9184 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
9185
9186         * config/mips/mips.c (mips_frame_set): New.
9187         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
9188         a parallel frame-related expression with a set for each register.
9189
9190 2001-09-18  Philip Blundell  <philb@gnu.org>
9191
9192         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
9193         header files.
9194
9195 2001-09-17  Dale Johannesen  <dalej@apple.com>
9196
9197         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
9198         * config/rs6000/aix.h (FIXED_R2): Define.
9199         * config/rs6000/darwin.h (FIXED_R2): Define.
9200         * config/rs6000/sysv4.h (FIXED_R2): Define.
9201
9202 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
9203
9204         * except.c (dw2_build_landing_pads): New local
9205         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
9206         barrier after clobbers.  Fixes c++/4012.
9207
9208 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9209
9210         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
9211
9212 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
9213
9214         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
9215         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
9216
9217 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9218
9219         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
9220         alloca/strcpy.
9221
9222 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9223
9224         * cpphash.h (_cpp_lex_direct): New.
9225         * cpplex.c (_cpp_lex_token): Update.
9226         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
9227         and increment that pointer.
9228         * cppmacro.c (alloc_expansion_token): New.
9229         (lex_expansion_token): Lex macro expansion directly into
9230         macro storage.
9231
9232 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
9233
9234         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
9235
9236 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
9237
9238         * basic-block.h (free_bb_for_insn): Declare.
9239         * bb-reorder.c (label_for_bb): Use block_label.
9240         (emit_jump_to_block_after): Remove.
9241         (insert_intra_1): Do not update block_for_insn.
9242         (insert_inter_bb_scope_notes): Likewise; update bb->end
9243         * cfg.c (free_bb_for_insn): New.
9244         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
9245         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
9246         (commit_one_edge_insertion): Likewise.
9247         (commit_one_edge_insertion): Do not update BB boundary.
9248         (commit_edge_insertions): Do not call compute_bb_for_insn.
9249         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
9250         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
9251         (merge_blocks_move_successor_nojumps): Likewise.
9252         (try_crossjump_to_edge): Do not update block_for_insn.
9253         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
9254         * df.c (df_pattern_emit_later): Do not update BB boundary.
9255         (df_jump_pattern_emit_after): Likewise.
9256         (df_insn_move_before): Use emit_insn_before.
9257         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
9258          properly.
9259         (add_insn_after, add_insn_before, emit_insns_after): Update BB
9260         boundaries and basic_block_for_insn.
9261         (reorder_insns_nobb): Rename from reorder_insns.
9262         (reorder_insns): New.
9263         (emit_block_insn_before, emit_block_insn_after): Kill.
9264         * flow.c (check_function_return_warnings): Do not call
9265         compute_bb_for_insn; Do not free basic_block_for_insn.
9266         (attempt_auto_inc): Do not update basic_block_for_insn.
9267         * function.c (emit_return_into_block): Likewise;
9268         do not update BB boundaries.
9269         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
9270         (insert_insn_end_bb): Use emit_insn_before; Likewise.
9271         (pre_insert_copy_insn): Likewise.
9272         (update_ld_motion_notes): Likewise.
9273         (insert_insn_start_bb): Likewise.
9274         (replace_store_insn): Likewise.
9275         * ifcvt.c (noce_process_if_block): Likewise.
9276         (if_convert): Do not call compute_bb_for_insn.
9277         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
9278         Use emit_insn_before and emit_insn_after.
9279         * recog.c (split_all_insns): Do not update BB boundaries;
9280         Do not call compute_bb_for_insn.
9281         (peephole2_optimize): Do not update BB boundaries.
9282         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
9283         emit_insn_before.
9284         (emit_swap_insn): Likewise.
9285         (convert_regs_1): Likewise.
9286         * reload1.c (reload): Call compute_bb_for_insn.
9287         * rtl.h (reorder_insns_nobb): Declare.
9288         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
9289         * toplev.c (rest_of_compilation): Call free_bb_for_insn
9290         at places CFG is invalidated; do not call compute_bb_for_insn.
9291
9292         * cfg.c (expunge_block): Invalidate BB structure.
9293
9294         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
9295         array.
9296
9297         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
9298
9299 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9300
9301         * cpphash.h (_cpp_lex_token): Update prototype.
9302         * cpplex.c (_cpp_lex_token): New prototype.
9303         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
9304         lex_macro_node, read_flag, do_pragma_poison): Update.
9305         * cppmacro.c (cpp_get_token, parse_params,
9306         lex_expansion_token): Update.
9307
9308 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9309
9310         * cppmain.c (scan_translation_unit): Don't worry about
9311         putting a space after hashes.
9312         * cpplib.c (directive_diagnostics): New.
9313         (_cpp_handle_directive): Update to use directive_diagnostics.
9314         (run_directive): Don't toggle prevent_expansion.
9315         (do_line): Backup in case of the line extension.
9316         * cpplib.h (cpp_lexer_pos): Remove.
9317         * cppmacro.c (_cpp_create_definition): Precede a leading #
9318         with whitespace.
9319
9320 2001-09-15  Richard Henderson  <rth@redhat.com>
9321
9322         * c-typeck.c (comptypes): Handle zero-length arrays properly.
9323
9324 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9325
9326         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
9327
9328 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9329
9330         PR preprocessor/3571
9331         * tradcpp.c (handle_directive): Skip non-vertical space.
9332
9333 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9334
9335         * cppmain.c (setup_callbacks): Set line callback only
9336         if outputting preprocessed source.
9337
9338 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9339
9340         * collect2.c (main): Const-ification.
9341         * gcc.c (translate_options, process_command): Use xstrdup in
9342         lieu of xmalloc/strcpy.
9343         (main): Use concat in lieu of xmalloc/strcpy/strcat.
9344
9345 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9346
9347         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
9348         example.
9349
9350 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9351
9352         * scan-decls.c (scan_decls): Fix typo.
9353
9354 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9355
9356         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
9357         Split mlstring_pos into mls_line and mls_col.
9358         * cppinit.c (cpp_create_reader): Initialize line to 1.
9359         (cpp_destroy): Free tokenruns.
9360         (push_include): Don't update lexer_pos.
9361         * cpplex.c (unterminated, parse_string): Update.
9362         (lex_token): Don't update lexer_pos, update.
9363         * cpplib.c (if_stack): Save line instead of line + col.
9364         (start_directive, _cpp_do__Pragma, do_else, do_elif,
9365         push_conditional, _cpp_pop_buffer): Update.
9366         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
9367         (_cpp_create_definition): Update.
9368
9369 2001-09-15  Eric Christopher  <echristo@redhat.com>
9370
9371         * config/mips/abi64.h: Add support for MEABI.
9372
9373 2001-09-15  Eric Christopher  <echristo@redhat.com>
9374
9375         * config/mips/mips.md: Add unspec #2.
9376         (reload_indi): Use.
9377         (reload_outdi): Ditto.
9378         (reload_outsi): Ditto.
9379         (HILO_delay): New.
9380
9381 2001-09-15  Eric Christopher  <echristo@redhat.com>
9382             Jason Eckhardt  <jle@redhat.com>
9383
9384         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
9385         * config/mips/isa32-linux.h: New file.
9386         * config/mips/isa3264.h: Ditto.
9387         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
9388         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
9389         (output_block_mode): Support MEABI.
9390         (function_arg): Ditto. Fix floating point arg passing.
9391         (mips_va_start): Ditto.
9392         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
9393         processors.
9394         (mips_asm_file_start): Add new section to pass abi to gdb.
9395         (function_arg_pass_by_reference): Support MEABI.
9396         (mips_parse_cpu): Support mips32 and mips64 processors.
9397         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
9398         TARGET_MIPS5KC.  Support isa32 and isa64.
9399         (processor_type): Add r4kc, r5kc, r20kc.
9400         (GENERATE_MULT3_SI): New.
9401         (GENERATE_MULT3_DI): Ditto.
9402         (GENERATE_MULT3): Remove.
9403         (ISA_HAS_64BIT_REGS): Add isa == 64.
9404         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
9405         (ISA_HAS_MADD_MSUB): New.
9406         (ISA_HAS_CLZ_CLO): Ditto.
9407         (ISA_HAS_DCLZ_DCLO): Ditto.
9408         (ABI_GAS_ASM_SPEC): New.
9409         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
9410         (ASM_SPEC): Ditto.
9411         (LINK_SPEC): Ditto.
9412         (SUBTARGET_CC1_SPEC): Ditto.
9413         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
9414         (PAD_VARARGS_DOWN): Support MEABI.
9415         (HARD_REGNO_NREGS): Move to mips.c.
9416         (ASM_OUTPUT_IDENT): Add #undef.
9417         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
9418         (mulsi3): Use GENERATE_MULT3_SI.
9419         (mulsi3_mult3): Ditto.  Support mips32, mips64.
9420         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
9421         (mul_sub_si): New pattern.
9422         (unnamed splitters): New.
9423         (muldi3): Use GENERATE_MULT3_DI.
9424         (muldi3_internal2): Ditto.
9425         (movdicc): Support mips32.
9426         * config/mips/t-isa3264: New file.
9427
9428 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
9429
9430         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
9431         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
9432         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
9433
9434         * reorg.c (fill_slots_from_thread): After call to
9435         steal_delay_list_from_target, update own_thread as new_thread may
9436         have branched.
9437
9438 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9439
9440         * cpperror.c (print_location): Take line and column, for
9441         default positioning use the previously lexed token.
9442         (_cpp_begin_message): Take line and column.
9443         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9444         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9445         * cpphash.h (_cpp_begin_message): Update prototype.
9446         * cppinit.c (push_include): Don't set output line.
9447         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
9448         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
9449         (do_pragma): Kludge for front ends.  Don't expand macros at all.
9450         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
9451         (struct cpp_token): Remove output_line.
9452         (struct cpp_callbacks): New member line_change.
9453         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
9454         cpp_get_token): Preserve BOL flag.
9455         (cpp_get_line): Remove.
9456         (_cpp_backup_tokens): Remove useless abort().
9457         * cppmain.c (cb_line_change): New.
9458         (scan_translation_unit): Don't worry about starting new lines here.
9459         * scan-decls.c (scan_decls): Update.
9460         * c-lex.c (c_lex, init_c_lex): Update.
9461         (cb_line_change, src_lineno): New.
9462
9463 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
9464
9465         * tree.c (append_random_chars): Generate the random
9466         characters in a reproducable fashion.
9467
9468 2001-09-14  Richard Henderson  <rth@redhat.com>
9469
9470         * config/i386/i386.c (internal_label_prefix): New.
9471         (internal_label_prefix_len): New.
9472         (override_options): Set them.
9473         (local_symbolic_operand): New.
9474         (legitimate_pic_address_disp_p): Use it.
9475         (legitimize_pic_address): Likewise.
9476
9477 2001-09-14  Marc Espie <espie@openbsd.org>
9478
9479         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
9480         correctly.
9481
9482 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9483
9484         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
9485         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
9486
9487 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
9488
9489         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
9490         invocation of SUBREG_REGNO_OFFSET.
9491
9492         * haifa-sched.c: Fix typo in FSF copyright statement.
9493         * sched-deps.c: Fix typo in FSF copyright statement.
9494         * sched-ebb.c: Fix typo in FSF copyright statement.
9495         * sched-rgn.c: Fix typo in FSF copyright statement.
9496         * sched-vis.c: Fix typo in FSF copyright statement.
9497
9498         * config.gcc: Move inclusion of arm elf specific header files
9499         from the files themselves into the tm_file variable.  Make
9500         sure that elfos.h is included before target specific elf
9501         headers.
9502         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
9503         already defined.
9504         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
9505         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
9506         ASM_OUTPUT_CASE_LABEL): Protect definition.
9507         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
9508         not already defined.
9509         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
9510         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
9511         Remove duplicate definition.
9512         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
9513         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
9514         (RDATA_SECTION_FUNCTION): Remove redundant definition.
9515         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
9516         Remove inclusion of arm/elf.h.
9517         * config/arm/unknown-elf.h: as for conix-elf.h.
9518         (STARTFILE_SPEC): Include crti.o and crtn.o.
9519         * config/arm/linux-elf.h: as for conix-elf.h.
9520         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
9521         * config/arm/strongarm-elf.h: Remove inclusion of
9522         unknown-elf.h.
9523         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
9524         * config/arm/unknown-elf-oabi.h: Remove inclusion of
9525         unknown-elf.h and elf.h.
9526         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
9527         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
9528         ASM_WEAKEN_LABEL): Remove redundant definition.
9529         * config/arm/elf.h: Test for inclusion of elfos.h
9530         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
9531         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
9532         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
9533         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
9534         redundant definition.
9535         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
9536         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
9537         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
9538         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
9539         Add rules to build crti.o and crtn.o
9540         * crti.asm: New file.
9541         * crtn.asm: New file.
9542
9543 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9544
9545         * c-parse.in (_yylex): Use _cpp_backup_tokens.
9546         * cpphash.h (struct tokenrun): Add prev.
9547         (struct lexer_state): Remove bol.
9548         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
9549         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
9550         : Remove.
9551         * cppinit.c (cpp_create_reader): Don't set bol.
9552         (cpp_destroy): Don't free lookaheads.
9553         * cpplex.c (lex_directive): Remove.
9554         (next_tokenrun): Update.
9555         (_cpp_lex_token): Clean up logic.
9556         (lex_token): Update to return a pointer to lexed token, since it
9557         can move to the start of the buffer.  Simpify newline handling.
9558         * cpplib.c (SEEN_EOL): Update.
9559         (skip_rest_of_line): Remove lookahead stuff.
9560         (end_directive): Line numbers are already incremented.  Revert
9561         to start of lexed token buffer if we can.
9562         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
9563         parse_answer): Use _cpp_backup_tokens.
9564         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
9565         instead.  Don't check for EOL.
9566         (do_include_common, do_line, do_pragma_system_header): Use
9567         skip_rest_of_line.
9568         * cpplib.h (BOL, _cpp_backup_tokens): New.
9569         * cppmacro.c (save_lookahead_token, take_lookahead_token,
9570         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
9571         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
9572         (builtin_macro): Don't use cpp_get_line.
9573         (cpp_get_line): Short term kludge.
9574         (parse_arg): Handle directives in arguments here.  Back up when
9575         appropriate.  Store EOF at end of argument list.
9576         (funlike_invocation_p): Use _cpp_backup_tokens.
9577         (push_arg_context): Account for EOF at end of list.
9578         (cpp_get_token): Remove lookahead stuff.  Update.
9579
9580 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9581
9582         * c-parse.in (yyerror): Const-ification and/or static-ization.
9583         * c-typeck.c (push_member_name): Likewise.
9584         * collect2.c (main): Likewise.
9585         * dbxout.c (dbxout_parms): Likewise.
9586         * diagnostic.c (format_with_decl): Likewise.
9587         * dwarf2out.c (output_ranges): Likewise.
9588         * dwarfout.c (fundamental_type_code): Likewise.
9589         * except.c (dw2_output_call_site_table): Likewise.
9590         * gcc.c (do_spec_1): Likewise.
9591         * genopinit.c (optabs): Likewise.
9592         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
9593         gen_declaration_1, handle_impent): Likewise.
9594         * protoize.c (default_include, in_system_include_dir, abspath):
9595         Likewise.
9596         * sched-vis.c (visualize_stall_cycles): Likewise.
9597         * sdbout.c (plain_type_1, sdbout_end_function,
9598         sdbout_end_epilogue): Likewise.
9599         * varasm.c (decode_reg_name): Likewise.
9600
9601         * 1750a.c (mod_regno_adjust): Likewise.
9602         * alpha.c (alpha_write_one_linkage,
9603         unicosmk_output_default_externs): Likewise.
9604         * arm.c (arm_condition_codes): Likewise.
9605         * arm.h (arm_condition_codes): Likewise.
9606         * avr.c (output_movsisf, encode_section_info): Likewise.
9607         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
9608         Likewise.
9609         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9610         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9611         * m88k.c (output_function_profiler): Likewise.
9612         * mips.c (mips_output_conditional_branch): Likewise.
9613         * ns32k.c (ns32k_out_reg_names): Likewise.
9614         * ns32k.h (ns32k_out_reg_names): Likewise.
9615         * pj.c (pj_output_rval): Likewise.
9616         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
9617         * sparc.c (sparc_flat_function_prologue,
9618         sparc_flat_function_epilogue): Likewise.
9619
9620 2001-09-13  Markus Werle <numerical.simulation@web.de>
9621             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9622
9623         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
9624         Aachen University of Technology".
9625
9626 2001-09-13  Andreas Schwab  <schwab@suse.de>
9627
9628         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
9629         C99.
9630
9631 2001-09-13  Richard Henderson  <rth@redhat.com>
9632
9633         * config/alpha/alpha.c (small_symbolic_operand): New.
9634         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
9635         (some_operand, input_operand): Don't handle HIGH.
9636         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
9637         (alpha_expand_mov): Likewise.
9638         (print_operand) [H]: Just print HIGH symbol.
9639         (print_operand_address): Handle small data.
9640         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
9641         (TARGET_SWITCHES): Add -msmall-data/large-data.
9642         (PIC_OFFSET_TABLE_REGNUM): New.
9643         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
9644         (PREDICATE_COES): Update.
9645         * config/alpha/alpha.md (adddi_er_high): New.
9646         (adddi_er_low): Handle small data.
9647         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
9648         prefer .sdata to .rodata.
9649         (SELECT_RTX_SECTION): Likewise.
9650
9651 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
9652
9653         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
9654         defining __size_t and leaving size_t undefined.
9655
9656 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
9657
9658         * basic-block.h (expunge_block): Declare.
9659         * cfg.c (expunge_block): Remove static declaration.
9660
9661 2001-09-12  Richard Henderson  <rth@redhat.com>
9662
9663         * integrate.c (copy_insn_list): Copy label name from
9664         NOTE_INSN_DELETED_LABEL.
9665
9666 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9667
9668         * c-common.c (c_tree_code_name): Const-ification.
9669         * c-decl.c (c_decode_option): Likewise.
9670         * c-typeck.c (warn_for_assignment): Likewise.
9671         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
9672         Likewise.
9673         * cppinit.c (output_deps): Likewise.
9674         * dependence.c (dependence_string, direction_string): Likewise.
9675         * dwarf2out.c (output_ranges): Likewise.
9676         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
9677         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
9678         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
9679         standard_startfile_prefix, standard_startfile_prefix_1,
9680         standard_startfile_prefix_2, tooldir_base_prefix,
9681         standard_bindir_prefix, find_a_file): Likewise.
9682         * genattrtab.c (make_length_attrs): Likewise.
9683         * gencheck.c (tree_codes): Likewise.
9684         * genemit.c (gen_split): Likewise.
9685         * genrecog.c (special_mode_pred_table): Likewise.
9686         * graph.c (graph_ext): Likewise.
9687         * protoize (default_include): Likewise.
9688         * reload.c (reload_when_needed_name): Likewise.
9689         * sched-vis.c (visualize_stall_cycles): Likewise.
9690         * tlink.c (recompile_files): Likewise.
9691         * toplev.c (decode_g_option): Likewise.
9692         * tradcpp.c (output_deps): Likewise.
9693         * varasm.c (decode_reg_name): Likewise.
9694
9695         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
9696         Const-ification.
9697         * arm.md: Likewise.
9698         * avr.c (avr_regnames, encode_section_info): Likewise.
9699         * c4x.c (float_reg_names): Likewise.
9700         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
9701         * elfos.h (const_section): Likewise.
9702         * i386.c (ix86_comp_type_attributes): Likewise.
9703         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
9704         * ia64/aix.h (UNIQUE_SECTION): Likewise.
9705         * ia64.c (type_names): Likewise.
9706         * m68hc11.c (reg_class_names): Likewise.
9707         * m88k.c (m_options): Likewise.
9708         * mips.c (mips_output_conditional_branch, mips_unique_section):
9709         Likewise.
9710         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9711         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
9712         ultra_code_names): Likewise.
9713         * sparc.h (OVERRIDE_OPTIONS): Likewise.
9714
9715 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
9716
9717         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
9718         Use --fatal-warnings option for gas.
9719         * configure: Rebuilt.
9720
9721 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9722
9723         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
9724
9725 2001-09-11  Jim Wilson  <wilson@redhat.com>
9726
9727         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
9728
9729 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9730
9731         * builtins.c (c_strlen): Treat an offset too large for a
9732         HOST_WIDE_INT as out of range.
9733
9734 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
9735
9736         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
9737         (EDGE_CRITICAL_P): New predicate.
9738         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
9739         handling.
9740         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
9741         (dump_edge_info): Remove "crit".
9742         * cfganal.c (mark_critical_edges): Kill.
9743         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
9744         * cfgcleanup.c (cleanup_cfg): Likewise.
9745         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
9746         (find_spanning_tree): Likewise.
9747         * reg-stack.c (convert_regs_1): Likewise.
9748         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
9749
9750         * basic-block.h (create_basic_block_structure): New.
9751         (create_basic_block): Update prototype.
9752         (force_nonfallthru): New.
9753         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
9754         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
9755         handle updating of block_for_insn, creating of empty BBs and BBs at
9756         the end of INSN chain.
9757         (create_basic_block): New function.
9758         (split_block): Use create_basic_block.
9759         (force_nonfallthru_and_redirect): Break out from ...; cleanup
9760         (redirect_edge_and_branch_force): ... here.
9761         (force_nonfallthru): New.
9762         (split_edge): Rewrite to use force_nonfallthru and create_block.
9763         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
9764         (find_basic_blocks): Free basic_block_for_insn.
9765         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
9766
9767         * cfg.c: Fix formating.
9768         * cfgcleanup.c: Fix formating.
9769         (merge_blocks, tail_recursion_label_p): Return bool.
9770         (merge_blocks_move_predecessor_nojumps,
9771          merge_blocks_move_successor_nojumps): Return void.
9772
9773 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
9774
9775         * configure.in: Check whether assembler supports section merging.
9776         * config.in: Rebuilt.
9777         * configure: Rebuilt.
9778         * varasm.c (variable_section, output_constant_pool): Pass alignment
9779         to SELECT_SECTION and SELECT_RTX_SECTION.
9780         (mergeable_string_section): New.
9781         (mergeable_constant_section): New.
9782         (default_elf_asm_named_section): Output SECTION_MERGE and
9783         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9784         * output.h (mergeable_string_section): New.
9785         (mergeable_constant_section): New.
9786         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
9787         * toplev.c (flag_merge_constants): New.
9788         (f_options): Add -fmerge-constants and -fmerge-all-constants
9789         options.
9790         (toplev_main): Default to -fno-merge-constants if not optimizing.
9791         * flags.h (flag_merge_constants): Add extern.
9792         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
9793         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
9794         argument.
9795         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
9796         Define if assembler has working .subsection -1 support.
9797         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
9798         Put constant into special SHF_MERGE sections if the linker should
9799         attempt to merge duplicates.
9800         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
9801         macro argument.
9802         Put constant into special SHF_MERGE sections if the linker should
9803         attempt to merge duplicates.
9804         * config/alpha/elf.h: Likewise.
9805         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
9806         has working .subsection -1 support.
9807         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
9808         SELECT_SECTION.
9809         * config/svr3.h: Likewise.
9810         * config/darwin.h: Likewise.
9811         * config/arm/aof.h: Likewise.
9812         * config/arm/linux-elf.h: Likewise.
9813         * config/avr/avr.h: Likewise.
9814         * config/c4x/c4x.h: Likewise.
9815         * config/d30v/d30v.h: Likewise.
9816         * config/i386/dgux.h: Likewise.
9817         * config/i386/osfrose.h: Likewise.
9818         * config/i386/sco5.h: Likewise.
9819         * config/i386/svr3gas.h: Likewise.
9820         * config/ia64/aix.h: Likewise.
9821         * config/m32r/m32r.h: Likewise.
9822         * config/m68k/m68k.h: Likewise.
9823         * config/m88k/dgux.h: Likewise.
9824         * config/m88k/m88k.h: Likewise.
9825         * config/mcore/mcore-pe.h: Likewise.
9826         * config/mips/mips.h: Likewise.
9827         * config/pa/pa.h: Likewise.
9828         * config/pa/pa-linux.h: Likewise.
9829         * config/romp/romp.h: Likewise.
9830         * config/rs6000/sysv4.h: Likewise.
9831         * config/rs6000/xcoff.h: Likewise.
9832         * config/s390/linux.h: Likewise.
9833         * config/sparc/sparc.h: Likewise.
9834         * config/sparc/sysv4.h: Likewise.
9835         * config/stormy16/stormy16.h: Likewise.
9836         * config/v850/v850.h: Likewise.
9837         * config/vax/vms.h: Likewise.
9838         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
9839         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9840         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
9841         default_elf_asm_named_section for SHF_MERGE sections.
9842
9843 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9844
9845         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
9846         is OK.
9847
9848 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
9849
9850         * c-common.c (split_specs_attrs): Allow for empty attributes with
9851         empty TREE_PURPOSE.  Fixes PR c/4294.
9852
9853 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
9854
9855         * basic-block.h (cached_make_edge, make_single_succ): New.
9856         (make_edge): Remove first parameter.
9857         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
9858         * cfg.c (cached_make_edge): Rename from make_edge; return newly
9859         created edge; use obstack allocation.
9860         (make_edge, make_single_succ_edge): New.
9861         (first_removed_edge): New static variable.
9862         (init_flow): Initialize first_removed_edge and n_edges.
9863         (clear_edges): Use remove_edge.
9864         (flow_delete_block): Likewise.
9865         (remove_edge): Add removed edges to the removed edges list.
9866         (split_block, redirect_edge_and_branch_force, split_edge):
9867         Use make_edge.
9868         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
9869         (add_noreturn_fake_exit_edges): Likewise.
9870         (connect_infinite_loops_to_exit): Liekwise.
9871         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
9872         Use cached_make_edge.
9873         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
9874         * profile.c (branch_prob): Update make_edge call.
9875         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
9876
9877 2001-09-11  Richard Henderson  <rth@redhat.com>
9878
9879         * config/alpha/alpha.c: Tidy formatting.
9880         (local_symbolic_operand): Verify mode.
9881         (alpha_sa_mask): Ignore unicos for eh_return.
9882         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
9883         * config/alpha/alpha.md (umk divsi patterns): Remove.
9884         (extendsfdf2): Remove unicos check.
9885         (tablejump): Merge vms and unicos code; always use direct set
9886         plus label_ref use.
9887
9888 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9889
9890         * config.gcc (alpha*-*-unicosmk*): New target.
9891
9892         * config/alpha/alpha-protos.h (symbolic_operand,
9893         unicosmk_add_call_info_word, unicosmk_add_extern,
9894         unicosmk_defer_case_vector, unicosmk_unique_section,
9895         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
9896         unicosmk_asm_file_start, unicosmk_asm_file_end,
9897         unicosmk_output_common): Declare.
9898
9899         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
9900         direct_return, function_arg, alpha_va_start, alpha_va_arg,
9901         alpha_does_function_need_gp, alpha_end_function): Support Cray
9902         Unicos/Mk.
9903         (alpha_init_machine_status, alpha_mark_machine_status,
9904         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
9905         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
9906         unicosmk_asm_named_section, unicosmk_insert_attributes,
9907         unicosmk_section_type_flags, symbolic_operand,
9908         unicosmk_output_module_name, unicosmk_output_default_externs,
9909         unicosmk_output_dex, unicosmk_output_externs,
9910         unicosmk_output_addr_vec, unicosmk_ssib_name,
9911         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
9912         unicosmk_asm_file_end, unicosmk_output_common,
9913         unicosmk_section_type_flags, unicosmk_unique_section,
9914         unicosmk_add_call_info_word, unicosmk_text_section,
9915         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
9916         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
9917         unicosmk_dex_count, unicosmk_special_name): New.
9918         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
9919         TARGET_ABI_UNICOSMK.
9920         (get_aligned_mem, alpha_expand_unaligned_load,
9921         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
9922         alpha_expand_unaligned_store_words): Support big-endian mode.
9923         (print_operand): Likewise. New format specifier 't'. Use
9924         TARGET_AS_SLASH_BEFORE_SUFFIX.
9925         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
9926         (alpha_pv_save_size): Update with above change.
9927         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
9928         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
9929         Unicos/Mk.
9930
9931         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
9932         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
9933         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
9934         (EXTRA_CONSTRAINT): New constraint 'U'.
9935         (PREDICATE_CODES): Add symbolic_operand.
9936
9937         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
9938         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
9939         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
9940         (integer division and modulus patterns): Split in default and
9941         Unicos/Mk versions.
9942         (*divmodsi_internal, *divmoddi_internal): Disable for
9943         TARGET_ABI_UNICOSMK.
9944         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
9945         little-endian and big-endian versions.
9946         (ext, ins, msk): Likewise.
9947         (extv, extzv, insv): Support big-endian mode.
9948         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
9949         (call_umk, call_value_umk, *call_umk, tablejump_umk,
9950         *tablejump_umk_internal, *call_value_umk): New.
9951         (*movdi_nofix): Add pattern for loading an address into a register on
9952         TARGET_ABI_UNICOSMK.
9953         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
9954         (umk_mismatch_args, arg_home_umk): New.
9955         (various insns): Don't use mov, fmov, nop, fnop and unop.
9956         (realign): Support TARGET_ABI_UNICOSMK.
9957
9958         * config/alpha/unicosmk.h: New file.
9959         * config/alpha/t-unicosmk: New file.
9960
9961         * fixinc/inclhack.def (unicosmk_restrict): New.
9962         * fixinc/fixincl.x: Regenerate.
9963
9964         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
9965         (wchar_t): Check for and define __WCHAR_T__.
9966
9967 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
9968
9969         * combine.c (simplify_shift_const): Treat shifts by the mode
9970         size as undefined.
9971
9972 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9973
9974         * cpphash.h (struct tokenrun): New.
9975         (struct cpp_context): New member bol.
9976         (struct cpp_reader): New members.
9977         (_cpp_init_tokenrun): New.
9978         * cppinit.c (cpp_create_reader): Set up the token runs.
9979         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
9980         (lex_token): New internalised version of _cpp_lex_token.  Don't
9981         handle directives or the multiple include optimization here any
9982         more.  Simply lex a token.
9983         * cpplib.c (run_directive): Clear bol.
9984         (_cpp_pop_buffer): Set bol.
9985         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
9986         arguments.
9987
9988 2001-09-11  Michael Meissner  <meissner@redhat.com>
9989
9990         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
9991         give an error if the user uses -mfp32.
9992         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
9993         default options.
9994         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
9995         floating point register size.
9996         (EXTRA_SPECS): Add CPP_FPR_SPEC.
9997
9998         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
9999         HOST_WIDE_INT_PRINT_DEC to properly print the result of
10000         int_size_in_bytes.
10001         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10002         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10003
10004 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
10005
10006         * dbxout.c (dbxout_parms): Fix typo in comment.
10007         * unroll.c (loop_find_equiv_value): Ditto.
10008         * toplev.c (rest_of_compilation): Ditto.
10009         * loop.c (scan_loop): Ditto.
10010         * dwarf2out.c (struct dw_fde_struct): Ditto.
10011
10012 2001-09-10  Zack Weinberg  <zackw@panix.com>
10013
10014         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
10015         copying identifier when we're just going to throw it away.
10016         (parse_identifier_slow): New routine to handle abnormal cases.
10017         (_cpp_lex_token): Update call site.
10018
10019         * hashtable.c (ht_lookup): Don't assume that the string we've
10020         been given is NUL-terminated.
10021         * system.h: #define __builtin_expect(a, b) to (a) if not
10022         GCC >=3.0.
10023
10024 2001-09-10  Michael Meissner  <meissner@redhat.com>
10025
10026         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
10027         binutils, gdb.
10028
10029 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
10030
10031         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
10032
10033 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10034
10035         * builtins.c (c_getstr): Correct thinko in last change and further
10036         cleanup.
10037
10038 2001-09-10  Tim Freeman <tim@fungibole.com>
10039
10040         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
10041         into varray's and register them as roots with the garbage
10042         collector so they are not collected too soon.
10043
10044 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
10045
10046         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
10047         New.
10048         * basic-block.h (flow_obstack, label_value_list,
10049         tail_recursion_label_list): Declare
10050         (tidy_fallthru_edges): Declare.
10051         (expunge_block, last_loop_beg_note): Delete.
10052         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
10053         * cfg.c: New file
10054         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
10055         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
10056         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
10057         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
10058         expunge_block, flow_delete_block, compute_bb_for_insn,
10059         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
10060         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
10061         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
10062         try_redirect_by_replacing_jump, last_loop_beg_note,
10063         redirect_edge_and_branch, redirect_edge_and_branch_force,
10064         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
10065         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
10066         commit_edge_insertions, dump_flow_info, debug_flow_info,
10067         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
10068         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
10069         Move here from flow.c
10070         * cfganal.c: New file.
10071         (forwarder_block_p, can_fallthru, mark_critical_edges,
10072          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
10073          find_unreachable_blocks, create_edge_list, free_edge_list,
10074          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
10075          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
10076          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
10077          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
10078          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
10079          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
10080         Move here from flow.c
10081         * cfgbuild.c: New file
10082         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
10083          make_edges, find_basic_blocks_1, find_basic_blocks,
10084          find_sub_basic_blocks): Move here from flow.c
10085         * cfgcleanup.c: New file.
10086         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
10087          merge_blocks_move_predecessor_nojumps,
10088          merge_blocks_move_successor_nojumps, merge_blocks,
10089          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
10090          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
10091         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
10092         if succeeded.
10093         * cfgloop.c: New file
10094         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
10095          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
10096          flow_loop_exit_edges_find, flow_loop_nodes_find,
10097          flow_loop_pre_header_scan, flow_loop_pre_header_find,
10098          flow_loop_tree_node_add, flow_loops_tree_build,
10099          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
10100          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
10101         Move here from flow.c
10102         * flow.c: Remove everything moved elsewhere
10103         * output.h (cleanup_cfg): Return bool.
10104
10105         * bb-reorder.c (reorder_block_def): Remove 'index'.
10106         (insert_intra_1): Add argument BB, set block for new note.
10107         (make_reorder_chain): Do not depdent on BB indexes.
10108         (make_reorder_chain_1): Do not use BB indexes.
10109         (label_for_bb): Likewise; set BB for new insn.
10110         (emit_jump_to_block_after): Likewise.
10111         (fixup_reorder_chain): Sanity check that all basic blocks
10112         are chained; verify newly created insn chain; remove
10113         undocnitional jump simplifying; Do not use BB indexes;
10114         properly initialize count and frequency information;
10115         dump reordered sequence.
10116         (insert_intra_bb_scope_notes): update call of insert_intra_1.
10117         (insert_inter_bb_scope_notes): Set block for new insn.
10118         (reorder_basic_blocks): Dump flow info before reoredering.
10119
10120 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10121
10122         * alias.c (clear_reg_alias_info): Use K&R format definition.
10123         Avoid unsigned warning.
10124         * builtins.c: Use "unsigned int", not "unsigned".
10125         (target_char_cast): Use host_integerp and tree_low_cst.
10126         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
10127         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
10128         (c_getstr): Likewise.
10129         (std_expand_builtin_va_arg): Use int_size_in_bytes.
10130         (builtin_memcpy_read_str): Avoid unsigned warning.
10131         (expand_builtin_memcpy): Alignments are unsigned.
10132         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
10133         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
10134         * predict.c (expensive_function_p): LIMIT now unsigned.
10135         * resource.c (mark_target_live_regs): Make some vars unsigned.
10136         * sdbout.c: Use "unsigned int", not "unsigned".
10137         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
10138         (sdbout_source_line): Likewise.
10139         (sdbout_record_type_name): Remove "const" for NAME declaration.
10140         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
10141
10142 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
10143
10144         * calls.c (store_one_arg): Expand comment.
10145
10146 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10147
10148         * calls.c (store_one_arg): Make sure that the entire argument is
10149         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
10150
10151 2001-09-09  Richard Henderson  <rth@redhat.com>
10152
10153         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
10154
10155 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
10156
10157         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
10158
10159 2001-09-09  Richard Henderson  <rth@redhat.com>
10160
10161         * config/alpha/alpha.c (alpha_next_sequence_number): New.
10162         (alpha_this_literal_sequence_number): New.
10163         (alpha_this_gpdisp_sequence_number): New.
10164         (some_operand, input_operand): Add HIGH.
10165         (local_symbolic_operand): New.
10166         (alpha_encode_section_info): New.
10167         (alpha_legitimate_address_p): Allow LO_SUM.
10168         (alpha_legitimize_address): Generate HIGH+LO_SUM.
10169         (alpha_expand_mov): Likewise.
10170         (secondary_reload_class): Check memory_operand not general_operand
10171         for FP_REGS test.
10172         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
10173         (alpha_expand_unaligned_store): Likewise.
10174         (alpha_expand_unaligned_load_words): Likewise.
10175         (alpha_expand_unaligned_store_words): Likewise.
10176         (alpha_expand_block_clear): Likewise.
10177         (print_operand): Handle %#, %*, %H.
10178         (print_operand_address): Handle LO_SUM.
10179         (find_lo_sum): New.
10180         (alpha_does_function_need_gp): Use it.
10181         (alpha_expand_block_move): Fix signed compare warnings.
10182         (alpha_sa_mask, alpha_align_insns): Likewise.
10183         * config/alpha/alpha-protos.h: Update.
10184         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
10185         (MASK_EXPLICIT_RELOCS): New.
10186         (TARGET_SWITCHES): Add -mexplicit-relocs.
10187         (EXTRA_CONSTRAINT): Add 'T'.
10188         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
10189         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
10190         (ENCODE_SECTION_INFO): Out line.
10191         (REDO_SECTION_INFO_P): New.
10192         (STRIP_NAME_ENCODING): New.
10193         (ASM_OUTPUT_LABELREF): New.
10194         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
10195         (PREDICATE_CODES): Update.
10196         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
10197         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
10198         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
10199         builtin_setjmp_receiver_er, exception_receiver_1_er,
10200         call_value_osf_1_er): New patterns.
10201         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
10202         (movqi, movhi, movsi): Add explicit $31 base register to lda.
10203         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
10204         (FINAL_PRESCAN_INSN): New.
10205
10206 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
10207
10208         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
10209
10210 2001-09-08  Andreas Jaeger  <aj@suse.de>
10211
10212         * i386.h (TARGET_SWITCHES): Fix description.
10213
10214 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
10215
10216         * rs6000.c (num_insns_constant): Compute number of instructions
10217         more accurately.
10218
10219         * doc/install.texi: Explain AIX exception handling work-around.
10220         Update URL for AIX fixes.
10221
10222 2001-09-07  Jim Wilson  <wilson@redhat.com>
10223
10224         * alias.c (clear_reg_alias_info): New.
10225         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
10226         * rtl.h (clear_reg_alias_info): Declare.
10227
10228 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10229
10230         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
10231         available.
10232         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
10233         (m16m,edivm,emulm): Change declaration to match definition.
10234
10235 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
10236
10237         * reload.c (push_reload): Check for subreg_lowpart_p instead of
10238         SUBREG_BYTE being 0 when determining if the inner part of a subreg
10239         can be reloaded.
10240
10241 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10242
10243         * c-common.c (signed_or_unsigned_type): Handle machine mode types
10244         which have no corresponding C type.
10245         * fold_const.c (target_isinf,target_isnan,target_negative): Update
10246         the representation of 64-bit doubles to work with 64-bit ints.
10247
10248 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
10249
10250         * config/mips/mips.c (override_options): Do not override ISA when ABI
10251         specified if MIPS_CPU_STRING_DEFAULT was specified.
10252
10253 2001-09-07  Richard Henderson  <rth@redhat.com>
10254
10255         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
10256         (express_from_1): Wrap lines.
10257         * rtlanal.c (commutative_operand_precedence): Rename from
10258         operand_preference; export.
10259         * rtl.h: Declare it.
10260         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
10261         (simplify_binary_operation): Invoke simplify_plus_minus on
10262         (CONST (PLUS ...)) as well.
10263         (struct simplify_plus_minus_op_data): New.
10264         (simplify_plus_minus_op_data_cmp): New.
10265         (simplify_plus_minus): Use them.  Avoid infinite recursion with
10266         simplify_binary_operation wrt CONST.
10267
10268 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
10269
10270         * h8300-protos.h (general_operand_dst_push): Remove.
10271         * h8300.c (general_operand_dst_push): Likewise.
10272         * h8300.h (OK_FOR_T): Likewise.
10273         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
10274         * h8300.md (pushqi_h8300): New.
10275         (pushqi_h8300hs): Likewise.
10276         (pushqi): Likewise.
10277         (pushhi_h8300): Likewise.
10278         (pushhi_h8300hs): Likewise.
10279         (pushhi): Likewise.
10280
10281 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10282
10283         * genattrtab.c (attr_printf): First arg is unsigned.
10284         Clean up formatting of callers.
10285
10286 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
10287
10288         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
10289         registers.
10290
10291 2001-09-07  Andreas Jaeger  <aj@suse.de>
10292
10293         * i386.h (TARGET_SWITCHES): Fix descriptions.
10294
10295 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10296
10297         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
10298
10299 2001-09-06  Ira Ruben  <ira@apple.com>
10300
10301         Remove OP_IDENTIFIER.
10302         * tree.def (OP_IDENTIFIER): Remove.
10303         * tree.c (tree_node_kind enum): Remove op_id_kind.
10304         (tree_node_kind_names): Remove "op_identifiers".
10305         (make_node): Remove OP_IDENTIFIER test.
10306         (build_op_identifier): Removed because it isn't being used.
10307         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
10308         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
10309
10310 2001-09-06  Richard Henderson  <rth@redhat.com>
10311
10312         * simplify-rtx.c (simplify_binary_operation): Revert last change.
10313
10314 2001-09-06  Richard Henderson  <rth@redhat.com>
10315
10316         * simplify-rtx.c (simplify_binary_operation): Simplify contents
10317         of CONST.
10318
10319 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10320
10321         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
10322         number used for CR register.
10323
10324 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
10325                           Joern Rennecke (amylaar@cygnus.com)
10326
10327         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
10328         * h8300.c (initial_offset): Handle offset between RP and FP.
10329         (h8300_return_addr_rtx): New function.
10330         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
10331         return register.
10332         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
10333         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
10334         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
10335         (CAN_ELIMINATE, REGISTER_NAMES):
10336         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
10337
10338 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
10339
10340         Remove TYPE_NONCOPIED_PARTS.
10341         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
10342         (struct tree_type): Remove noncopied_parts.
10343         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
10344         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
10345         (fixed_type_p): Remove.
10346         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
10347         (expand_expr, MODIFY_EXPR): Likewise.
10348         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
10349         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
10350
10351 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
10352
10353         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
10354         compiler warnings.
10355         (mask64_operand): Likewise.
10356         (includes_rldic_lshift_p): Likewise.
10357         (includes_rldicr_lshift_p): Likewise.
10358
10359 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
10360
10361         * objc/objc-act.c (build_message_expr): If a class method cannot
10362         be found, do not issue a warning if a corresponding instance
10363         method exists in the root class.
10364
10365 2001-09-05  Richard Henderson  <rth@redhat.com>
10366
10367         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
10368
10369 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
10370
10371         * function.c (ggc_mark_struct_function): Mark f->outer.
10372         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
10373         * integrate.c (output_inline_function): ... not here.
10374
10375 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
10376
10377         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
10378
10379         * i386.c (size_cost): New static variable.
10380         (override_function): Use size_cost when -Os is specified.
10381
10382         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
10383         properly;  Use current_function_calls_eh_return.
10384         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
10385         use leave to avoid dependency chain.
10386
10387         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
10388         get BB loop_depth instead of computing it from LOOP notes.
10389
10390         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
10391
10392 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10393
10394         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10395         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10396         UNALIGNED_DOUBLE_INT_ASM_OP): Define
10397
10398 2001-09-05  Jeffrey A Law  (law@cygnus.com)
10399             Jason Merrill (jason@redhat.com)
10400
10401         * stor-layout.c (layout_type): Complain if an array's size can
10402         not be represented in a size_t.
10403
10404         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
10405
10406 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
10407
10408         * gcc.c: (process_command) Add parentheses around assignment
10409         used as truth value.
10410
10411 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
10412
10413         * config/mips/mips.c (save_restore_insns): Don't mark any register
10414         save slots as unchanging if current_function_calls_eh_return.
10415
10416 2001-09-05  Richard Henderson  <rth@redhat.com>
10417
10418         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
10419         * config/alpha/alpha-protos.h: Declare it.
10420         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
10421         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
10422         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
10423         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
10424         (REG_OK_FOR_BASE_P): Select one of the above.
10425
10426 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
10427
10428         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
10429         (crti.o): Prefix name of object file with $(T).
10430         (crtn.o): Likewise.
10431
10432 2001-09-05  David S. Miller  <davem@redhat.com>
10433
10434         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
10435         * config/sparc/linux64.h: Likewise.
10436
10437 2001-09-05  Andreas Jaeger  <aj@suse.de>
10438
10439         * doc/invoke.texi (i386 Options): -mwide-multiply is not
10440         available anymore, remove the documentation.
10441         (i386 Options): Fix typo, cleanup index entries.
10442
10443         * prefix.c (concat): Remove, we can use the version from liberty.
10444
10445 2001-09-05  Richard Henderson  <rth@redhat.com>
10446
10447         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
10448         New functions split out of md file expanders.
10449         * config/alpha/alpha-protos.h: Declare them.
10450         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
10451
10452 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10453
10454         * cppmacro.c (funlike_invocation_p): No need to restore context.
10455
10456 2001-09-04  Richard Henderson  <rth@redhat.com>
10457
10458         * reload.c (push_reload): Export.
10459         * reload.h (push_reload): Declare it.
10460
10461         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
10462         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
10463         * config/alpha/alpha.c (alpha_legitimize_address): New.
10464         (alpha_legitimize_reload_address): Likewise.
10465         * config/alpha/alpha-protos.h: Declare them.
10466
10467 2001-09-04  Stan Shebs  <shebs@apple.com>
10468
10469         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
10470         * config/darwin.c (machopic_stub_name): Account for internally
10471         generated lib calls such as memcpy.
10472
10473 2001-09-04  Richard Henderson  <rth@redhat.com>
10474
10475         * unwind.h (_UA_END_OF_STACK): New flag.
10476         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
10477
10478 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
10479
10480         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
10481
10482 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
10483
10484         * config/mips/mips.c (save_restore_insns): Change base_offset to
10485         fp_offset in second call to mips_emit_frame_related_store.
10486
10487 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
10488
10489         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
10490         sometimes be represented as a NOTE of type
10491         NOTE_INSN_DELETED_LABEL.
10492         (Insns): Document NOTE_INSN_DELETED_LABEL.
10493
10494 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
10495
10496         * c-common.h (tree_dump_index): Add more comments.
10497         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
10498         (dump_option_value_info): New struct.
10499         (dump_options): New array.
10500         (dump_switch_p): Parse switch options symbolically.
10501         * doc/invoke.texi (-fdump-ast): Rename to ...
10502         (-fdump-tree): ... here. Document that options are symbolic, and
10503         not all are applicable.
10504
10505 2001-09-04  David S. Miller  <davem@redhat.com>
10506
10507         * config/sparc/sparc.md (define_splits): Kill constraints.
10508
10509         Cleanup redundant and unused insn attributes.
10510         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
10511         binary, and move.  Mark ialu as default.
10512         (commented out define_function_unit "alu"): Kill.
10513         (define_attr "use_clobbered"): Kill.
10514         (whole file): Kill address insn type references.  Replace
10515         all unary/binary/move references with ialu.
10516         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
10517         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
10518         TYPE_IALU.
10519
10520         Simplify length insn attribute and make more judicious use
10521         of insn attribute defaulting.
10522         * config/sparc/sparc.md (all insns with length > one): Mark as
10523         insn type multi if real instructions, else use default if
10524         it is a forced splitter.
10525         (all insns with length == one): Use default insn length.
10526         (all insns of type ialu): Use default insn type.
10527
10528         Fix erroneous insn attribute settings.
10529         (addx): Set insn type to misc.
10530         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
10531         const_umulsidi3_sp64): Set insn type to imul.
10532
10533         Track SFmode vs DFmode insns according to UltraSPARC
10534         scheduling rules.
10535         * config/sparc/sparc.md ("fptype"): New attribute, default
10536         to "single".
10537         (all DFmode single insns): Mark as fptype "double".
10538
10539 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
10540
10541         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
10542
10543 2001-09-03  Richard Henderson  <rth@redhat.com>
10544
10545         * function.h (struct function): Add arg_pointer_save_area_init.
10546         * function.c (expand_function_end): Init arg_pointer_save_area.
10547         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
10548         when called from a nested function.
10549
10550 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
10551
10552         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
10553         is enabled.
10554
10555 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10556
10557         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
10558
10559 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
10560
10561         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
10562         (emit_push_insn): Use specified padding direction when
10563         STACK_PUSH_CODE is POST_INC.
10564
10565         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
10566
10567 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10568
10569         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
10570
10571 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10572
10573         * cppinit.c (cpp_start_read): Free the imacros list as we
10574         traverse it.  Don't free the chains before returning.
10575         (_cpp_push_next_buffer): Only try pushing buffers if we've
10576         completed -imacros handling.
10577
10578 2001-08-31  Eric Christopher  <echristo@redhat.com>
10579
10580         * gcc.c (handle_braces): Add explaination for abort.
10581
10582 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
10583
10584         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
10585         move adjustment of bitpos instead.
10586
10587 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
10588
10589         * function.c: Remove all_functions.  Make outer_function_chain
10590         static.
10591         (init_function_start): Don't add new function structure to
10592         all_functions.
10593         (find_function_data, push_function_context_to,
10594         pop_function_context_from, put_var_into_stack,
10595         trampoline_address): Update for changed structure element names.
10596         (push_function_context_to): Disentangle.
10597         (free_after_compilation): Also free F.
10598         (expand_dummy_function_end): Don't free cfun here.
10599         (put_var_into_stack): Comment why we can't use find_function_data here.
10600         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
10601         (mark_function_chain): Split into maybe_mark_struct_function and
10602         ggc_mark_struct_function.  Export the latter.
10603         (init_function_once): Mark from cfun and outer_function_chain;
10604         not all_functions.
10605
10606         * function.h (struct function): Kill next_global.  Rename next
10607         to outer.  All users updated to match.
10608         (all_functions, outer_function_chain): Don't declare.
10609
10610         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
10611         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
10612         don't touch f->inlinable, after calling rest_of_compilation.
10613
10614         * tree.h: Forward-declare struct function.  Prototype
10615         ggc_mark_struct_function.
10616
10617 2001-08-31  Kazu Hirata  <kazu@hxi.com>
10618
10619         * config/h8300/h8300.md (*andorhi3): Fix typos.
10620
10621 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10622
10623         * calls.c (emit_library_call_value): Don't use a fixed
10624         argument after VA_CLOSE, i.e. out of scope in traditional C.
10625
10626         * emit-rtl.c (gen_rtvec): Likewise.
10627
10628 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10629
10630         * Makefile.in (c-pragma.o): Depend on output.h.
10631         (reorg.o): Depend on except.h.
10632
10633         * c-pragma.c: Include output.h.
10634
10635         * reorg.c: Include except.h.
10636
10637         * unwind-dw2.c: Call __builtin_alloca, not alloca.
10638
10639 2001-08-31  Richard Henderson  <rth@redhat.com>
10640
10641         * sched-deps.c (add_dependence): Don't elide dependency if the
10642         conditional used by insn is modified in elem.
10643
10644 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
10645
10646         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
10647
10648 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
10649
10650         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
10651         dump_switch_p.
10652
10653 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
10654
10655         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
10656         function.
10657         (stormy16_asm_out_constructor): New function.
10658         (TARGET_ASM_CONSTRUCTOR): Define.
10659         (TARGET_ASM_DESTRUCTOR): Define.
10660
10661 2001-08-31  Andreas Jaeger  <aj@suse.de>
10662
10663         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
10664         * loop.c (add_label_notes): Likewise.
10665         * reload.c (find_reloads): Likewise.
10666         * config/sh/sh.c (machine_dependent_reorg): Likewise.
10667
10668 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
10669
10670         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
10671         code here.  Take _Unwind_{W,Sw}ord*.
10672         (read_encoded_value_with_base): Use them.
10673         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
10674         words.
10675         (extract_cie_info): Simplify read_?leb128 handling.
10676         (execute_stack_op, execute_cfa_program): Likewise.
10677         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
10678
10679 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
10680
10681         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
10682         the frame pointer to pop the stack if convenient.
10683
10684         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
10685         Don't use post-increment before combine.
10686         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
10687         a call-saved register.
10688
10689 2001-08-31  Andreas Jaeger  <aj@suse.de>
10690
10691         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
10692         code was correct.
10693
10694 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
10695
10696         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
10697         not DIV/MOD, of course.
10698
10699 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
10700
10701         * rtl.def: Undo my patch commited 2001-08-27.
10702
10703         * genattrtab.c: Ditto.
10704
10705         * rtl.h: Ditto.
10706
10707         * sched-int.h: Ditto.
10708
10709         * target-def.h: Ditto.
10710
10711         * target.h: Ditto.
10712
10713         * haifa-sched.c: Ditto.
10714
10715         * sched-rgn.c: Ditto.
10716
10717         * sched-vis.c: Ditto.
10718
10719         * Makefile.in: Ditto.
10720
10721         * doc/md.texi: Ditto.
10722
10723         * doc/tm.texi: Ditto.
10724
10725         * doc/contrib.texi: Ditto.
10726
10727         * doc/gcc.texi: Ditto.
10728
10729         * genattrtab.h: Remove it.
10730
10731         * genautomata.c: Remove it.
10732
10733         * genattr.c: Undo my patch and Richard Henderson's patch commited
10734         2001-08-27.
10735
10736 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
10737
10738         * config.gcc (h8300-*-elf*): New case.
10739         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
10740         (SUBTARGET_CPP_SPEC): Define.
10741         (EXTRA_SPECS): Define.
10742         (SUBTARGET_EXTRA_SPECS): Define.
10743         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
10744         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
10745
10746 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
10747
10748         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
10749         (LIB2FUNCS_EXTRA): Define.
10750         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
10751         config/h8300/fixunssfsi.c: New file.
10752
10753 2001-08-30  Kazu Hirata  <kazu@hxi.com>
10754
10755         * config/h8300/h8300.md (zero_extendqihi2): Changes to
10756         define_expand to accommodate target-specific attributes.
10757         (anonymous zero_extendqihi2 patterns): New.
10758
10759 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
10760
10761         * h8300.md (*andorhi3): New pattern.
10762
10763 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
10764
10765         * h8300.c (dosize): Fix test for "sub".
10766
10767 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
10768
10769         * c-typeck.c (pointer_diff): Try to eliminate common term before
10770         doing conversions.
10771
10772 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
10773
10774         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10775         Account for the saves of the FP registers.
10776
10777         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
10778         (TEXT_SECTION_ASM_OP): Define.
10779         (INIT_SECTION_ASM_OP): Define.
10780         (FINI_SECTION_ASM_OP): Define.
10781         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
10782         (RDATA_SECTION_FUNCITON): Provide prototype.
10783
10784 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
10785
10786         * reload1.c (move2add_note_store): Correct typo checking for
10787         argument pushes.
10788
10789 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
10790
10791         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
10792         note should not be considered outside the libcall block.
10793
10794 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10795
10796         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
10797
10798 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10799
10800         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
10801
10802 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10803
10804         * config/h8300/h8300-protos.h: Add a prototype for
10805         emit_logical_op.
10806         * config/h8300/h8300.c (emit_logical_op): New.
10807         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
10808         (andsi3): Likewise.
10809         (iorhi3): Likewise.
10810         (iorsi3): Likewise.
10811         (xorhi3): Likewise.
10812         (xorsi3): Likewise.
10813
10814 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10815
10816         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
10817         comparison with rtx INTVAL.
10818         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
10819         expression.
10820         * pa.h (FUNCTION_ARG_SIZE): Likewise.
10821
10822 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10823
10824         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
10825         comment typos.
10826
10827 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10828
10829         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
10830         (reg n) to (mem (pre_dec (reg n))
10831         (anonymous movsi pattern): Likewise.
10832
10833 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10834
10835         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
10836
10837 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10838
10839         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
10840         several special constants.
10841
10842 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10843
10844         * config/h8300/lib1funcs.asm: Fix comment typos.
10845
10846 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10847
10848         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
10849         Fix format specifier warnings.
10850
10851         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
10852         inet_makeaddr, semctl): Prototype.
10853
10854         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
10855         (save_restore_insns): Use base_offset, not gp_offset.
10856
10857         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
10858         (ASM_OUTPUT_BYTE): Fix format specifier warning.
10859
10860 2001-08-29  Richard Henderson  <rth@redhat.com>
10861
10862         * bb-reorder.c (function_tail_eff_head): New.
10863         (record_effective_endpoints): Set it.
10864         (fixup_reorder_chain): Use it.
10865
10866 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10867
10868         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
10869
10870 2001-08-28  Dale Johannesen  <dalej@apple.com>
10871
10872         * config/darwin.c (machopic_function_base_name): Add const
10873         qualifier to a string.
10874         (darwin_encode_section_info): Ditto.
10875
10876 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10877
10878         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
10879         function definition.
10880
10881 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
10882
10883         * df.h (struct df): Add rts_order variable.
10884
10885         * df.c (df_visit_next_rts): New function.
10886         (df_visit_next): Renamed to df_visit_next_rc
10887         (df_analyse_1): Allocate/compute/free rts_order as well.
10888         (df_rd_global_compute): Use df_visit_next_rc instead of
10889         df_visit_next.
10890         (df_ru_global_compute): Use df_visit_next_rts instead of
10891         df_visit_next.
10892
10893         * flow.c (flow_reverse_top_sort_order_compute): New function.
10894
10895         * basic-block.h: Add prototype.
10896
10897 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
10898
10899         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
10900         blocks, the BB_REACHABLE is now set, rather than aux being
10901         non-NULL. Update the test to reflect this.
10902
10903 2001-08-28  Eric Christopher  <echristo@redhat.com>
10904
10905         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
10906         config/mips/crti.asm: Ditto.
10907
10908 2001-08-28  Eric Christopher <echristo@redhat.com>
10909             Richard Henderson <rth@redhat.com>
10910
10911         * c-pragma.h (add_weak): Move prototype from here...
10912         * output.h (add_weak): ... to here.
10913         * varasm.c (add_weak): Fix typo.
10914         * config/mips/crti.asm: New file.
10915         * config/mips/crtn.asm: Ditto.
10916         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
10917         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
10918         (INVOKE__main): Ditto.
10919         (INIT_SECTION_ASM_OP): New.
10920         (FINI_SECTION_ASM_OP): Ditto.
10921         (STARTFILE_SPEC): Add crti.
10922         (ENDFILE_SPEC): Add crtn.
10923         * config/mips/elf64.h: Same.
10924         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
10925         Remove.
10926         * config/mips/vxworks.h: Ditto.
10927         * config/mips/t-elf: Support crti and crtn.
10928
10929 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
10930
10931         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
10932         INSN_LIST.
10933
10934 2001-08-28  Richard Henderson  <rth@redhat.com>
10935
10936         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
10937         (one_cmplbi2 splitter): Remove redundant test.
10938
10939 2001-08-28  Dale Johannesen  <dalej@apple.com>
10940
10941         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
10942
10943 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
10944
10945         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
10946
10947 2001-08-28  Stan Shebs  <shebs@apple.com>
10948
10949         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
10950         (UNALIGNED_SHORT_ASM_OP): Define.
10951         (UNALIGNED_INT_ASM_OP): Define.
10952
10953 2001-08-28  Will Cohen  <wcohen@redhat.com>
10954
10955         * config/rs6000/rs6000.md (store_multiple): Correct RTL
10956         generation for first set.
10957
10958 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
10959
10960         * flow.c (redirect_edge_succ_nodup): Return new edge.
10961         (try_simplify_condjump): Use new edge.
10962         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
10963
10964         * cse.c (cse_basic_block): Skip note instructions.
10965
10966 2001-08-27  Richard Henderson  <rth@redhat.com>
10967
10968         * combine.c (combine_simplify_rtx): Don't reverse condition
10969         if there is no reverse for the condition.
10970         (simplify_comparison): Don't simplify subregs from INT to FP.
10971
10972         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
10973         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
10974         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
10975         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
10976         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
10977         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
10978
10979 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
10980
10981         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
10982         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
10983         (pushqi1): New.
10984         (adddi_dilshr32, adddi_dishl32): Only data register can be
10985         source for mem destination.
10986
10987         * expmed.c (store_bit_field): Ignore adjustment to bitpos
10988         and use bitnum to decide about register move.
10989
10990 2001-08-27  Richard Henderson  <rth@redhat.com>
10991
10992         * genattr.c (main): Emit state_t even when not doing scheduling.
10993
10994 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
10995             Richard Henderson  <rth@redhat.com>
10996
10997         * gcse.c (reg_first_set, reg_last_set): Replace with ...
10998         (reg_avail_info, current_bb): ... these.
10999         (oprs_unchanged_p, record_last_reg_set_info): Use them.
11000         (compute_hash_table): Likewise.
11001
11002 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
11003
11004         * flow.c (verify_flow_info): Use checksums to verify edges.
11005
11006 2001-08-27  Richard Henderson  <rth@redhat.com>
11007
11008         * genautomata.c (expand_automata): Always create a description.
11009
11010 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
11011
11012         * optabs.c (expand_binop): Correctly handle the carry in multiword
11013         add/subtract operations.
11014
11015 2001-08-27  Fred Fish  <fnf@be.com>
11016
11017         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
11018         __SIZE_TYPE__.
11019
11020 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
11021
11022         * reload.c (find_reloads_toplev): Back out this change:
11023
11024         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
11025
11026         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
11027         mem if the address is a mode_dependent_address_p.
11028
11029 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
11030
11031         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
11032         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
11033         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
11034         RTL constructions.
11035
11036         * genattr.c (main): New variable num_insn_reservations.  Increase
11037         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
11038         pipeline hazard recognizer interface.
11039
11040         * genattrtab.h: New file.
11041
11042         * genattrtab.c: Include genattrtab.h.
11043         (attr_printf, check_attr_test, make_internal_attr,
11044         make_numeric_value): Move protypes into genattrtab.h.  Define them
11045         as external.
11046         (num_dfa_decls): New global variable.
11047         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
11048         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
11049         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
11050         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
11051
11052         * genautomata.c: New file.
11053
11054         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
11055
11056         * sched-int.h: (curr_state): Add the external definition for
11057         automaton pipeline interface.
11058         (haifa_insn_data): Add comments for members blockage and units.
11059
11060         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11061         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11062         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11063         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11064         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11065         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11066         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
11067         macros.
11068         (TARGET_SCHED): Use the new macros.
11069
11070         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
11071         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
11072         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
11073         dfa_bubble): New members in gcc_target.sched.
11074
11075         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
11076         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
11077         (insn_queue): Redefine it as pointer to array.
11078         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
11079         INSN_QUEUE_SIZE.
11080         (max_insn_queue_index_macro_value): New variable.
11081         (curr_state, dfa_state_size, ready_try): New varaibles for
11082         automaton interface.
11083         (ready_element, ready_remove, max_issue): New function prototypes
11084         for automaton interface.
11085         (choose_ready): New function prototype.
11086         (insn_unit, blockage_range): Add comments.
11087         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
11088         FUNCTION_UNITS_SIZE == 0.
11089         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
11090         actual_hazard, potential_hazard): Add comments.
11091         (insn_cost): Use cost -1 as undefined value.  Remove
11092         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
11093         pipeline interface.
11094         (ready_element, ready_remove): New functions for automaton
11095         interface.
11096         (schedule_insn): Add new code for automaton pipeline interface.
11097         (queue_to_ready): Add new code for automaton pipeline interface.
11098         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
11099         (debug_ready_list): Print newline when the queue is empty.
11100         (max_issue): New function for automaton pipeline interface.
11101         (choose_ready): New function.
11102         (schedule_block): Add new code for automaton pipeline interface.
11103         Print ready list before scheduling each insn.
11104         (sched_init): Add new code for automaton pipeline interface.
11105         Initiate insn cost by -1.
11106         (sched_finish): Free the current automaton state and finalize
11107         automaton pipeline interface.
11108
11109         * sched-rgn.c: Include target.h.
11110         (init_ready_list, new_ready, debug_dependencies): Add new code for
11111         automaton pipeline interface.
11112
11113         * sched-vis.c: Include target.h.
11114         (get_visual_tbl_length): Add code for automaton interface.
11115         (target_units, print_block_visualization):  Add comments.
11116
11117         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
11118         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
11119         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
11120         (getruntime.o, genautomata.o): New entries.
11121         (genattrtab.o): Add new dependency file genattrtab.h.
11122         (genattrtab): Add new dependencies.  Link it with `libm.a'.
11123         (getruntime.o, hashtab.o): New entries for canadian cross.
11124
11125         * doc/md.texi: Description of automaton based model.
11126
11127         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
11128         Add comments.
11129         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11130         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11131         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11132         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11133         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11134         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11135         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
11136         hook descriptions.
11137         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
11138         MAX_DFA_ISSUE_RATE): New macro descriptions.
11139
11140         * doc/contrib.texi: Add dfa based scheduler contribution.
11141
11142         * doc/gcc.texi: Add more information about genattrtab.
11143
11144 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
11145
11146         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
11147         an RTL basic block.
11148
11149 2001-08-27  Richard Henderson  <rth@redhat.com>
11150
11151         * function.c (expand_function_end): Don't init arg_pointer_save_area.
11152         (get_arg_pointer_save_area): New.  Create an init it here.
11153         (fix_lexical_addr): Use it.
11154         * function.h: Declare it.
11155         * builtins.c (expand_builtin_setjmp_receiver): Use it.
11156         * stmt.c (expand_nl_goto_receiver): Use it.
11157
11158 2001-08-27  Richard Henderson  <rth@redhat.com>
11159
11160         * final.c (final_scan_insn): Don't enter APP_ON mode for
11161         empty asm strings.
11162
11163         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
11164         alignment for assemble_integer for DW_EH_PE_aligned.
11165         * except.c (output_function_exception_table): Likewise.
11166
11167 2001-08-26  Andreas Jaeger  <aj@suse.de>
11168
11169         * c-tree.h: Add prototyp for c_sizeof_nowarn.
11170
11171 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
11172
11173         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
11174
11175 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
11176
11177         * config/rs6000/rs6000.c (mask_operand): Rewrite without
11178         bit-shifting loop.
11179         (mask64_operand): Likewise.
11180         (rldic_operand): Delete.
11181         (includes_lshift64_p): Delete.
11182         (includes_rldic_lshift_p): New function.
11183         (includes_rldicr_lshift_p): New function.
11184         (print_operand): Don't call rldic_operand in case 'W'.
11185         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
11186         (includes_lshift64_p): Remove.
11187         (includes_rldic_lshift_p): Declare.
11188         (includes_rldicr_lshift_p): Declare.
11189         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
11190         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
11191         Replace match_operand rldic_operand predicate with
11192         const_int_operand.  Replace includes_lshift64_p condition with
11193         includes_rldic_lshift_p.
11194         <ashldi3_internal 64 bit rldicr patterns>: New.
11195
11196 2001-08-27  Andreas Jaeger  <aj@suse.de>
11197
11198         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11199         * errors.c: Likewise.
11200         * final.c: Likewise.
11201         * dwarf2asm.c: Likewise.
11202         * doprint.c (checkit): Likewise.
11203         * diagnostic.c: Likewise.
11204         * collect2.c: Likewise.
11205         * calls.c: Likewise.
11206         * c-semantics.c (build_stmt): Likewise.
11207         * c-format.c (status_warning): Likewise.
11208         * c-errors.c (pedwarn_c99): Likewise.
11209         * builtins.c (validate_arglist): Likewise.
11210         * config/pj/pj.c (pj_printf): Likewise.
11211         * fix-header.c: Likewise.
11212         * gcc.c: Likewise.
11213         * gcov.c (fnotice): Likewise.
11214         * gensupport.c (message_with_line): Likewise.
11215         * mips-tfile.c: Likewise.
11216         * protoize.c (notice): Likewise.
11217         * read-rtl.c (fatal_with_file_and_line): Likewise.
11218         * rtl-error.c: Likewise.
11219         * tradcpp.c: Likewise.
11220         * tree.c: Likewise.
11221         * cp/tree.c (build_min_nt): Likewise.
11222         (build_min): Likewise.
11223         * cp/lex.c: Likewise.
11224         * cp/errfn.c: Likewise.
11225         * cp/rtti.c (create_pseudo_type_info): Likewise.
11226
11227 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
11228
11229         * df.c (df_uses_record): Return after recording all uses
11230         in ASM_OPERANDS.
11231
11232 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
11233
11234         * df.c (df_insn_modify): Realloc the INSN table here, if
11235         necessary, here, too.
11236
11237 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
11238
11239         * config/mips/mips.c (mips_function_value): Handle complex return
11240         values.
11241
11242 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
11243
11244         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
11245         unshared.
11246         * reload.c (make_memloc): Copy result if it is still
11247         reg_equiv_memory_loc[regno] on return.
11248         (subst_reloads) [ENABLE_CHECKING]: Check that none of
11249         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
11250         reg_equiv_mem are modified by the substitutions.
11251
11252 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11253
11254         * predict.c (expensive_function_p): New.
11255         * rtl.h (expensive_function_p): Declare.
11256         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
11257         (use_fast_prologue_epilogue): New static variable.
11258         (expand_prologue): Set it; emit short prologues if unset.
11259         (expand_epilogue): Likewise.
11260
11261 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
11262
11263         * config.gcc: Add stormy16-*-elf case.
11264         * config/stormy16/stormy-abi: New file.
11265         * config/stormy16/stormy16-lib2.c: New file.
11266         * config/stormy16/stormy16-protos.h: New file.
11267         * config/stormy16/stormy16.c: New file.
11268         * config/stormy16/stormy16.h: New file.
11269         * config/stormy16/stormy16.md: New file.
11270         * config/stormy16/t-stormy16: New file.
11271
11272 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
11273
11274         * i386.h (no-accumulate-outgoing-args): Use proper mask.
11275
11276 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
11277
11278         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
11279         descriptor members are pointer size, not constant 4.
11280         * config/rs6000/rs6000.md (define_splits): Remove more unused
11281         constraints.
11282
11283 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11284
11285         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
11286
11287 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
11288
11289         * cp/rtti.c (VPARAMS): Fix parameter.
11290
11291 2001-08-24  Zack Weinberg  <zackw@panix.com>
11292
11293         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
11294         to zero.
11295         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
11296         to switch.
11297         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
11298         in if controlling use of insv.
11299         (extract_bit_field): Likewise, for extv and extzv.
11300
11301 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
11302
11303         * i386.md (movcc peep2): Fix load of 0.
11304
11305 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11306
11307         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
11308         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
11309
11310 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
11311
11312         * c-pragma.h: Move weak_syms and weak_decls...
11313         * varasm.c: ...here.  Now static.
11314         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
11315         depend on HANDLE_PRAGMA_WEAK.
11316
11317         * c-common.c (c_alignof, c_alignof_expr): Move here...
11318         * c-typeck.c: ...from here.
11319         * c-tree.h, c-common.h: Adjust.
11320
11321 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
11322
11323         * config/ia64/ia64.c (rws_update): If !pred, set write_count
11324         instead of incrementing it.
11325
11326         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
11327         asm ready, don't try to move them all into the same array element.
11328
11329 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11330
11331         * function.c (thread_prologue_and_epilogue_insns): Avoid
11332         fallthru flag on edge to exit.
11333
11334         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
11335
11336         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
11337         dead edges.
11338
11339 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
11340
11341         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
11342         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
11343         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
11344         Remove prototype.
11345
11346 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
11347
11348         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
11349         replace "GNU CC" with "GCC".
11350
11351 2001-08-23  Richard Henderson  <rth@redhat.com>
11352
11353         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
11354         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
11355         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
11356         Need GR between FR and not GR_AND_FR.
11357         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
11358         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
11359         AR regs before GR regs.
11360         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
11361         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
11362         (REGISTER_MOVE_COST): Update.
11363         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
11364
11365 2001-08-23  Richard Henderson  <rth@redhat.com>
11366
11367         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
11368         a register class.
11369
11370 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
11371
11372         * reload1.c (emit_reload_insns): Don't look for notes
11373         on a NULL store_insn.
11374
11375 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11376
11377         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
11378         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
11379         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
11380         format specifier warnings.
11381         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
11382
11383 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
11384
11385         * config/i386/i386-protos.h: Correct declaration of
11386         i386_pe_asm_named_section.
11387
11388 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11389
11390         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
11391         variable i.
11392         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11393
11394 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
11395
11396         * cpperror.c (print_location): Don't show _Pragma.
11397         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
11398         and file change callback generation here.
11399         (stack_include_file): Update use of cpp_push_buffer.
11400         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
11401         (struct cpp_buffer): Remove type, pfile members.
11402         * cppinit.c (cpp_handle_option): Use free_chain.
11403         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
11404         (skip_escaped_newlines, get_effective_char, lex_percent): Take
11405         a cpp_reader rather than a cpp_buffer.
11406         (skip_escaped_newlines, get_effective_char, skip_block_comment,
11407         skip_line_comment, parse_string, lex_percent, lex_dot,
11408         _cpp_lex_token): Update accordingly.
11409         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
11410         generation here.
11411         (cpp_push_buffer): Update prototype.
11412         (run_directive): Update use of cpp_push_buffer.
11413         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
11414         handle_assertion): Update use of run_directive.
11415         * cpplib.h (enum cpp_buffer_type): Remove.
11416         (cpp_push_buffer): Update prototype.
11417         * fix-header.c (read_scan_file): Update.
11418
11419 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11420
11421         * gcc.c (struct prefix_list): Change prefix to const char *.
11422
11423 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11424
11425         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
11426
11427 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
11428
11429         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
11430         from a new MEM.
11431
11432         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
11433         a squeezable note.
11434         * rtl.h: Adjust.
11435         * ifcvt.c (dead_or_predicable): Adjust.
11436         * loop.c (find_and_verify_loops): Adjust.
11437         * stmt.c (expand_end_case): Adjust.
11438         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
11439         head and end insn pointers in the basic block, not just local copies.
11440         (merge_blocks_move_predecessor_nojumps): Likewise.
11441
11442 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
11443
11444         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
11445         bitmap.h, builtin-types.def, builtins.c, builtins.def,
11446         c-aux-info.c, c-common.c, c-common.def, c-common.h,
11447         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
11448         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
11449         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
11450         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
11451         conditions.h, config.gcc, configure.frag, configure.in,
11452         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
11453         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
11454         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
11455         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
11456         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
11457         emit-rtl.c, errors.c, errors.h, except.c, except.h,
11458         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
11459         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
11460         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
11461         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
11462         gencheck.c, gencodes.c, genconfig.c, genemit.c,
11463         genextract.c, genflags.c, gengenrtl.c, genmultilib,
11464         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
11465         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
11466         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
11467         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
11468         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
11469         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
11470         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
11471         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
11472         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
11473         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
11474         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
11475         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
11476         params.h, predict.c, predict.def, predict.h, prefix.c,
11477         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
11478         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
11479         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
11480         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
11481         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
11482         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
11483         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
11484         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
11485         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
11486         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
11487         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
11488         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
11489         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
11490         xcoffout.h: replace "GNU CC" with "GCC".
11491
11492 2001-08-21  Richard Henderson  <rth@redhat.com>
11493
11494         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
11495         (final_scan_insn): Consider jump tables data even if we have no
11496         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
11497         ADDR_VEC_ALIGN.
11498         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
11499         (ASM_OUTPUT_CASE_END): Remove.
11500         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
11501         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
11502         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
11503
11504 2001-08-21  Richard Henderson  <rth@redhat.com>
11505
11506         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
11507         at barrier insns.  Emit stop bits before barriers.
11508
11509         * flow.c (flow_find_cross_jump): Don't consider unconditional
11510         return insns for commoning.
11511
11512         * final.c (compute_alignments): Fix typo.
11513
11514         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
11515         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
11516         (store_bit_field): Use mode_for_extraction more places.
11517         (extract_bit_field): Likewise.
11518
11519 2001-08-21  Zack Weinberg  <zackw@panix.com>
11520
11521         * caller-save.c: Don't include insn-codes.h.
11522         (reg_save_code, reg_restore_code): Make arrays of int.
11523         All uses updated to match.
11524         (insert_save, insert_restore): No need to initialize "code"
11525         variable upon declaration.
11526         * Makefile.in: update dependencies; fix typo in clean rule.
11527
11528 2001-08-21  Richard Henderson  <rth@redhat.com>
11529
11530         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
11531         (merge_if_block): Handle fallout from same.
11532
11533 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11534
11535         * builtins.c (type_to_class): Fix typo in last change.
11536
11537 2001-08-21  Richard Henderson  <rth@redhat.com>
11538
11539         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
11540         ia64_asm_output_label.
11541
11542         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
11543         copy of gp while the real gp register contains garbage.
11544
11545 2001-08-21  Zack Weinberg  <zackw@panix.com>
11546
11547         * expmed.c (mode_for_extraction): New function.
11548         (store_bit_field, extract_bit_field): Use it.
11549         * expr.h: Prototype it and provide an enum for its first argument.
11550
11551         * combine.c, function.c, recog.c: Don't include insn-codes.h.
11552         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
11553         and digging through the insn_data tables.
11554         * Makefile.in: Update dependencies.
11555
11556 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
11557
11558         * cppfiles.c (stack_include_file): line-map.c now handles include
11559         depth.
11560         (handle_missing_handler): Similarly.
11561         (_cpp_execute_include): Similarly.
11562         (_cpp_pop_file_buffer): Similarly.
11563         * cpphash.h (struct cpp_reader): Remove system_include_depth,
11564         buffer_stack_depth and include_depth.
11565         * cpplib.c (do_include_common): line-map.c now handles include depth.
11566         (cpp_push_buffer): Similarly.
11567         (_cpp_pop_buffer): Similarly.
11568         * cppmacro.c (builtin_macro): Update.
11569         * line-map.c (init_line_maps): Set depth.
11570         (add_line_map): Increment "used" earlier.  Update and use the
11571         include depth.
11572         (trace_include): Use the include depth.
11573         * line-map.h (struct line_maps): New member depth.
11574
11575 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
11576
11577         * cppfiles.c (stack_include_file): Don't handle -H here.
11578         * cppinit.c (cpp_start_read): Set include tracing after
11579         cpp_post_options and after stacking the main file.
11580         * line-map.c (trace_include): New.
11581         (init_line_maps, add_line_map): Update.
11582         * line-map.h (struct line_maps): New member trace_includes.
11583
11584 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
11585
11586         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
11587         * cppfiles.c (stack_include_file): Only stack a file if there
11588         is something to do.  Return a boolean indicating whether a
11589         buffer was stacked or not.
11590         (_cpp_execute_include): Similarly.
11591         (_cpp_read_file): Similarly.
11592         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
11593
11594 2001-08-21  Sam Steingold  <sds@gnu.org>
11595
11596         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
11597         (RECACHE): keep obufp_before_macroname up to date
11598
11599 2001-08-21  Zack Weinberg  <zackw@panix.com>
11600
11601         * stmt.c: Don't include insn-codes.h.
11602         (expand_end_case): Machine specific logic moved to expr.c.
11603         No need to worry about __builtin_classify_type.
11604         (check_for_full_enumeration_handling, emit_case_nodes):
11605         Kill #if 0 blocks.
11606
11607         * builtins.o (expand_builtin_classify_type): Split up so code
11608         can be shared with fold_builtin_classify_type.
11609         (type_to_class, fold_builtin_classify_type): New functions.
11610         (fold_builtins): Handle __builtin_classify_type.
11611
11612         * expr.c (do_tablejump): Now static.
11613         (case_values_threshold, try_casesi, try_tablejump): New;
11614         code mostly from stmt.c (expand_end_case).
11615         (expr.h): Update prototypes.
11616
11617         * Makefile.in (stmt.o): Update dependencies.
11618
11619 2001-08-21  Will Cohen  <wcohen@redhat.com>
11620
11621         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
11622         declaration of variable i.
11623         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
11624         declaration of variable i.
11625
11626 2001-08-21  Richard Henderson  <rth@redhat.com>
11627
11628         * crtstuff.c: Fix thinko last change.  Move list tails to start
11629         of CRT_END section.  Tidy ifdefs.
11630         (__EH_FRAME_BEGIN__): Always static for ELF.
11631         (__do_global_ctors_1): Rename from __frame_dummy.
11632         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
11633         name change; don't hide __EH_FRAME_BEGIN__.
11634
11635 2001-08-21  Richard Henderson  <rth@redhat.com>
11636
11637         * gdbinit.in: Move break on exit after break on fancy_abort.
11638
11639         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
11640         sized types.
11641
11642 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
11643
11644         * cpphash.h (_cpp_push_next_buffer): New.
11645         * cppinit.c (do_includes): Remove.
11646         (push_include, free_chain, _cpp_push_next_buffer): New.
11647         (cpp_start_read): Use them to rework command line option handling.
11648         (cpp_handle_option): Combine handling of -include and -imacros.
11649         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
11650         appropriate.  Always insert missing \n at EOF.
11651         * cpplib.c (start_directive): Get the directive position right.
11652         * cppmain.c (cb_file_change): Always print the first line, unless
11653         preprocessed.
11654
11655 2001-08-20  Andreas Jaeger  <aj@suse.de>
11656
11657         * profile.c (compute_branch_probabilities): Remove extra new-line
11658         in error message.
11659         * flow.c (verify_flow_info): Likewise.
11660
11661 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
11662
11663         * basic-block.h (basic_block): Add new field 'flags'.
11664         (BB_REACHABLE): Define.
11665         (expunge_block): Declare.
11666         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
11667         (EXIT_BLOCK_PTR): Ditto.
11668         (expunge_block): Remove static declaration.
11669         (cleanup_cfg): Clear bb->aux on every basic block.
11670         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
11671         computing reachability.
11672         (delete_unreachable_blocks): Delete block b if b->flags has
11673         BB_REACHABLE unset.
11674
11675 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
11676
11677         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
11678
11679 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11680
11681         * sparc.c (sparc_variable_issue): Fix typo in last change.
11682
11683 2001-08-20  Richard Henderson  <rth@redhat.com>
11684
11685         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
11686
11687 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11688
11689         * pa.h (RETURN_IN_MEMORY): Improve comment.
11690
11691 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
11692
11693         * doc/invoke.texi (Profiling options): Clarify the interactions
11694         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
11695
11696 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
11697
11698         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
11699         command.
11700
11701 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11702
11703         * gcc.c (make_relative_prefix): Allocate a sufficiently large
11704         buffer.
11705
11706 2001-08-20  Richard Henderson  <rth@redhat.com>
11707
11708         * final.c (end_final): Fix typo last change.
11709
11710 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
11711
11712         * cppinit.c (init_standard_includes): The returned buffer
11713         is already malloc-ed.
11714         * gcc.c (add_prefix): Similarly.
11715         * prefix.c (translate_name): Update to support clear buffer
11716         ownership rules.
11717         (update_path): Similarly.  Be sure to free any newly allocated
11718         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
11719         (tr): New function.
11720         * prefix.h (update_path): Update prototype and document.
11721         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
11722         up and update to new buffer ownership rules.
11723         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
11724
11725 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11726
11727         * final.c (compute_alignments): New function.
11728         (init_insn_lengths): Do not care label_align.
11729         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
11730         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
11731         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
11732         (shorted_branches): Realloc label_align array; do
11733         not call init_insn_lengths; Do not care about loop alignments.
11734         * output.h (compute_alignments): Declare.
11735         * toplev.c (rest_of_compilation): Call compute_alignments.
11736         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
11737
11738         * predict.c (block_info_def): Add npredecesors, remove nvisited;
11739         change visited to tovisit.
11740         (propagate_freq): Use faster traversing algorithm.
11741         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
11742         to tovisit; reverse meaning.
11743
11744         * predict.c (struct block_info_def): Remove nvisited.
11745         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
11746         (estimate_bb_frequencies): Call mark_dfs_back_edges.
11747
11748 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
11749
11750         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
11751         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
11752         (TARGET_FUSED_MADD): New.
11753         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
11754         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
11755         the multiply-add instructions.
11756
11757 2001-08-19  Richard Henderson  <rth@redhat.com>
11758
11759         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
11760         is aligned to pointer size.
11761
11762 2001-08-19  Richard Henderson  <rth@redhat.com>
11763
11764         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
11765         display markers during final schedule.
11766
11767 2001-08-19  Richard Henderson  <rth@redhat.com>
11768
11769         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
11770
11771 2001-08-19  Richard Henderson  <rth@redhat.com>
11772
11773         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
11774         in the same string.
11775         (ASM_NAME_TO_STRING): Remove.
11776         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
11777         in the same string.  Remove support for expressions.
11778
11779 2001-08-19  Richard Henderson  <rth@redhat.com>
11780
11781         * config/i386/i386.md (tablejump): Make an expander; handle
11782         pic relative addressing here.
11783         (tablejump_1): Rename from tablejump_pic.
11784         (casesi): Remove.
11785
11786 2001-08-19  Richard Henderson  <rth@redhat.com>
11787
11788         * regclass.c (fix_register): Fix typo.
11789
11790 2001-08-18  Richard Henderson  <rth@redhat.com>
11791
11792         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
11793         (struct _Unwind_Context): Expand br_loc to hold it.
11794         (uw_frame_state_for): Handle leaf functions better.
11795         (uw_update_reg_address): Update for br_loc change.
11796
11797 2001-08-18  Richard Henderson  <rth@redhat.com>
11798
11799         * crtstuff.c: Move list heads before code that uses them.
11800         (__JCR_LIST__): Remove initial null.
11801         (frame_dummy, __frame_dummy): Do java registration here ...
11802         (__do_global_ctors_aux): ... not here.
11803
11804         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
11805         (__do_global_dtors_aux): Update to match.
11806         (__JCR_LIST__, __do_jv_register_classes): New.
11807         (.init): Call it.
11808         * config/ia64/crtend.asm (__JCR_END__): New.
11809         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
11810         instead of an indirect LTOFF22 reloc.
11811
11812 2001-08-18  Richard Henderson  <rth@redhat.com>
11813
11814         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
11815         * regclass.c (init_reg_sets_1): Fix typo.
11816         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
11817         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
11818         (ia64_compute_frame_size): Make ar.unat live when in use.
11819         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
11820         for ar.pfs; remove ar.unat handling.
11821         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
11822         call-saved.
11823         (PREDICATE_CODES): Add ar_pfs_reg_operand.
11824         * config/ia64/ia64-protos.h: Update decls.
11825         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
11826         (sibcall_pic): Likewise.
11827
11828 2001-08-18  Richard Henderson  <rth@redhat.com>
11829
11830         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
11831         pred_rel_mutex when searching for insn_group_barrier.
11832         * config/ia64/ia64.md (cycle_display): Combine the expander
11833         and insn patterns.
11834
11835         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
11836         bit before asm as needed.
11837
11838 2001-08-18  Richard Henderson  <rth@redhat.com>
11839
11840         * timevar.def (TV_MACH_DEP): New.
11841         * toplev.c (rest_of_compilation): Use it.
11842         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
11843
11844 2001-08-18  Zack Weinberg  <zackw@panix.com>
11845
11846         * unwind-dw2.c (execute_stack_op): Add default aborts to
11847         the inner switches to prevent warnings.
11848
11849 2001-08-18  Richard Henderson  <rth@redhat.com>
11850
11851         * timevar.h (struct timevar_time_def): Change element type to float.
11852         (ticks_to_msec, clocks_to_msec): Likewise.
11853         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
11854         (get_time): Likewise.
11855         (timevar_print): Adjust zero check and printing to match.
11856
11857 2001-08-18  Zack Weinberg  <zackw@panix.com>
11858
11859         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
11860         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
11861         Eliminate overfull or underfull hboxes.
11862
11863 2001-08-18  Zack Weinberg  <zackw@panix.com>
11864
11865         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11866
11867 2001-08-18  Zack Weinberg  <zackw@panix.com>
11868
11869         * haifa-sched.c: Convert to target hooks.  Macros replaced
11870         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
11871         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
11872         MD_SCHED_FINISH, and HAVE_cycle_display.
11873         * target-def.h (TARGET_SCHED_ADJUST_COST,
11874         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
11875         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
11876         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
11877         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
11878         New hook #defines to be overridden.
11879         (TARGET_SCHED): Bring them all together.
11880         (TARGET_INITIALIZER): Update.
11881         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
11882         instead of 'struct rtx_def *' throughout.
11883         (struct sched): New set of hooks for the scheduler.
11884         * Makefile.in (haifa-sched.o): Depend on target.h.
11885         * doc/tm.texi: Document the new scheduler hooks, together in
11886         their own section, instead of scattered around.
11887         Fix a bunch of underfull/overfull hboxes.
11888
11889         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
11890         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
11891         sparc.h: Don't define any of the old scheduler macros.
11892
11893         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
11894         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
11895         sparc.c: Create hook functions from code extracted from
11896         corresponding target header, or make existing hooks static, as
11897         appropriate.  Set the appropriate entries in targetm.
11898
11899         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
11900         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
11901         rs6000-protos.h, s390-protos.h, sparc-protos.h:
11902         Remove prototypes for functions which are now static.
11903
11904         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
11905         related gunk; the Haifa scheduler is now the only choice.
11906
11907 2001-08-18  Zack Weinberg  <zackw@panix.com>
11908
11909         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
11910         * genopinit.c: Put floating point divide insns in sdiv_optab.
11911         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
11912         * config/gofast.h, config/c4x/c4x.h,
11913         config/ia64/hpux_longdouble.h, config/mips/mips.h,
11914         config/pa/long_double.h, config/rs6000/sysv4.h,
11915         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
11916         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
11917         (init_optabs): Use init_optabv for overflow-trapping optabs.
11918         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
11919         cmp_optab RTX codes so have_insn_for can find them.
11920
11921         * optabs.c (expand_simple_binop, expand_simple_unop,
11922         have_insn_for, gen_sub3_insn): New interfaces.
11923         * expr.h: Prototype new functions.
11924         (enum optab_methods): Move here from optabs.h.
11925
11926         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
11927         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
11928         Use new functions instead of working directly with optabs.
11929         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
11930         unroll.c: Don't include optabs.h.
11931         * caller-save.c, combine.c, function.c, stmt.c: Just include
11932         insn-codes.h, not optabs.h.
11933         * Makefile.in: Update dependencies.
11934
11935         * combine.c (make_compound_operation, simplify_comparison):
11936         Fix typos testing for this or that instruction.
11937
11938 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
11939
11940         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
11941         generating libgcc.a.
11942
11943 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11944
11945         * except.c (TYPE_HASH): Delete.
11946
11947         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
11948         HOST_WIDE_INT.
11949
11950         * tree.c (TYPE_HASH): Delete.
11951
11952         * tree.h (TYPE_HASH): Define.
11953
11954 2001-08-18  Graham Stott  <grahams@redhat.com>
11955
11956         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
11957         define_split.
11958         (adddi3_internal_2+2): Likewise.
11959         (eh_set_lr_di+1): Likewise.
11960
11961 2001-08-17  Richard Henderson  <rth@redhat.com>
11962
11963         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11964         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
11965         * dwarf2asm.c: ... here.
11966         * dwarfout.c: Remove them.
11967
11968         * varasm.c (assemble_integer): Add align parameter.
11969         (assemble_real, output_constant, output_constructor): Likewise.
11970         * output.h: Update decls.
11971         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
11972         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
11973         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
11974         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
11975         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
11976         Update all callers.
11977
11978         * final.c (end_final): Abort profile block generation if we
11979         haven't layed it out properly.
11980         * output.h (assemble_eh_integer): Remove stale decl.
11981         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
11982         (min_align): New.
11983         (assemble_integer): Handle unaligned data.
11984         (assemble_real): Abort on unaligned data.
11985         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
11986         anything useful.
11987         (default_dtor_section_asm_out_destructor): Use assemble_align.
11988         (default_named_section_asm_out_constructor): Likewise.
11989         (default_ctor_section_asm_out_constructor): Likewise.
11990         * config/darwin.c (machopic_asm_out_constructor): Likewise.
11991         (machopic_asm_out_destructor): Likewise.
11992         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
11993         (nextstep_asm_out_destructor): Likewise.
11994         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
11995         (vms_asm_out_destructor): Likewise.
11996
11997 2001-08-17  Richard Henderson  <rth@redhat.com>
11998
11999         * config/mips/iris6.h (TARGET_IRIX6): New.
12000         (current_section_name, current_section_flags): New.
12001         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
12002         (MAX_OFILE_ALIGNMENT): New.
12003         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
12004         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
12005         (copy_file_data): Split out from
12006         (mips_asm_file_end): ... here.
12007         (mips_asm_file_start): Remove extra .section directive.  Use
12008         tmpfile instead of mips_make_temp_file.
12009         (mips_unique_section): Use const char * as needed for warnings.
12010         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
12011         re-add align parameter.
12012         (iris6_asm_named_section): New.
12013         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
12014         (iris6_asm_output_align, iris6_section_align_1): New.
12015         (iris6_asm_file_start, iris6_asm_file_end): New.
12016         * config/mips/mips-protos.h: Update decls.
12017
12018 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
12019
12020         * doc/install.texi (Install GCC): Add links to build status pages.
12021         (Specific): Ditto.
12022         (Final install): Ditto; request updates for specific info
12023
12024 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12025
12026         * cpperror.c (print_location):  Don't take a file name; use the
12027         line map instead.
12028         (_cpp_begin_message): Similarly.
12029         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
12030         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
12031         (cpp_pedwarn_with_file_and_line): Remove.
12032         * cppfiles.c (stack_include_file): Update; set filename to stdin
12033         here when appropriate.
12034         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
12035         (_cpp_begin_message): Don't take a file name.
12036         * cppinit.c: Add comment.
12037         * cpplex.c: Fix end-of-directive indicator.
12038         * cpplib.c: Don't include intl.h.
12039         (run_directive, do_diagnostic): Update.
12040         (do_line): Update to not use nominal_fname.
12041         (cpp_push_buffer): Don't take a filename.
12042         * cpplib.h (struct ht): Remove.
12043         (cpp_push_buffer): Don't take a filename.
12044         (cpp_pedwarn_with_file_and_line): Remove.
12045         * cppmacro.c (struct cpp_macro): Remove file.
12046         (builtin_macro): Update.
12047         (_cpp_create_definition): Update.
12048         * cppmain.c: Correct comment.
12049         * fix-header.c (read_scan_file): Update.
12050
12051 2001-08-17  Kazu Hirata  <kazu@hxi.com>
12052
12053         * sbitmap.c: Fix comment formatting.
12054         * sched-deps.c: Likewise.
12055         * sibcall.c: Likewise.
12056         * simplify-rtx.c: Likewise.
12057         * ssa.c: Likewise.
12058         * ssa-ccp.c: Likewise.
12059         * stor-layout.c: Likewise.
12060         * timevar.c: Likewise.
12061         * toplev.c: Likewise.
12062         * unwind-dw2.c: Likewise.
12063         * unwind-dw2-fde.c: Likewise.
12064         * varasm.c: Likewise.
12065
12066 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12067
12068         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
12069         or larger than an integer in memory.
12070
12071 2001-08-17  Zack Weinberg  <zackw@panix.com>
12072
12073         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
12074         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
12075         * rtl.h: Don't forward-declare union tree_node here.  Don't
12076         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
12077         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12078         and tree respectively.
12079         * tree.h: Don't forward-declare struct rtx_def here.  Don't
12080         typedef tree here.  Change all uses of struct rtx_def *,
12081         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12082         and tree respectively.
12083
12084 2001-08-17  Richard Henderson  <rth@redhat.com>
12085
12086         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
12087         config/mips/openbsd.h: Fix typos last change.
12088
12089 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12090
12091         * doc/invoke.texi (Optimize Options): The default for
12092         -finline-limit is 600.
12093
12094 2001-08-17  Richard Henderson  <rth@redhat.com>
12095
12096         * varasm.c (text_section): Allow TEXT_SECTION to override the
12097         printing of TEXT_SECTION_ASM_OP.
12098         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
12099         (DATA_SECTION, BSS_SECTION): Remove.
12100         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
12101         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
12102         Rename from s/_NAME//.
12103         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
12104         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
12105         (TEXT_SECTION): ... here.  New.
12106         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
12107         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
12108         * config/mips/openbsd.h: Likewise.
12109         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
12110         (mips_asm_file_end): Likewise test.
12111         (mips_output_function_epilogue): Likewise.  Switch back to data
12112         section after emitting the function.
12113
12114         * doc/tm.texi (Sections): Document TEXT_SECTION.
12115
12116 2001-08-17  Richard Henderson  <rth@redhat.com>
12117
12118         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
12119         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
12120
12121 2001-08-17  Richard Henderson  <rth@redhat.com>
12122
12123         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
12124         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
12125         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
12126         Add aligned attribute.
12127
12128 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
12129
12130         * config/sh/sh.md: Add modes to unspecs in first insn to match
12131         those in the second.
12132
12133         * Makefile.in: Fix collect2 copy for Cygwin.
12134
12135 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12136
12137         Install the proper patch.
12138         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12139         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12140         (expand_function_start): Likewise.
12141         * stmt.c (expand_decl): Likewise.
12142         * varasm.c (make_decl_rtx): Likewise.
12143
12144 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12145
12146         * final.c: Undo my previous accidental checkin.
12147         * output.h: Likewise.
12148         * tm.texi: Likewise.
12149
12150 2001-08-16  Richard Henderson  <rth@redhat.com>
12151
12152         * varasm.c (named_section_flags): Remove align parameter.
12153         * varasm.c, dwarf2out.c: Update all callers.
12154         * output.h: Update prototypes.
12155
12156         * target.h (target.asm_out.named_section): Remove align parameter.
12157         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
12158         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
12159         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
12160         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
12161         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
12162
12163         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
12164         (get_named_section_flags, set_named_section_flags): New.
12165         (named_section_flags): Use them.
12166         (named_section): Do decl vs section flags check here...
12167         (default_section_type_flags): ... not here.
12168         (init_varasm_once): Create in_named_htab.
12169         (resolve_unique_section): Mark reloc unused.
12170
12171 2001-08-16  Richard Henderson  <rth@redhat.com>
12172
12173         * varasm.c (force_const_mem): Keep pool alignment in bits.
12174         (output_constant_pool): Use assemble_align.
12175
12176 2001-08-16  Zack Weinberg  <zackw@panix.com>
12177
12178         * doc/tm.texi: Remove extra @table command.
12179
12180 2001-08-16  Zack Weinberg  <zackw@panix.com>
12181
12182         * final.c (shorten_branches): Clear the end of the label_align
12183         array only if we made it larger.  Break up messy expressions
12184         for clarity.
12185
12186         * diagnostic.c (internal_error): Check for error recursion
12187         before doing ICE suppression.
12188
12189         * timevar.c: Timing variables now count in milliseconds.
12190         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
12191         (get_time): Not here.
12192         (timevar_print): Don't print any timer whose user, cpu, and
12193         wall times are all zero as displayed.
12194         * timevar.h: Update comment aboout units.  Make timevar
12195         counters unsigned.
12196
12197 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
12198
12199         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12200         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12201         (expand_function_start): Likewise.
12202         * stmt.c (expand_decl): Likewise.
12203         * varasm.c (make_decl_rtx): Likewise.
12204
12205 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
12206
12207         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
12208         (finalize_record_size): Don't set TYPE_USER_ALIGN.
12209
12210 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12211
12212         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
12213         variables.
12214
12215 2001-08-16  Andreas Jaeger  <aj@suse.de>
12216
12217         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
12218         prototype.
12219
12220 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
12221
12222         * rtl.h (only_sets_cc0_p): New prototype.
12223         * jump.c (sets_cc0_p): Handle INSN.
12224         (only_sets_cc0_p): New function.
12225         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
12226         (tidy_fallthru_edge): Likewise.
12227         * integrate.c (copy_insn_list): Likewise.
12228         * unroll.c (unroll_loop): Likewise.
12229         (copy_loop_body): Likewise.
12230
12231 2001-08-15  Jason Eckhardt  <jle@redhat.com>
12232
12233         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
12234
12235 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12236
12237         * predict.c (struct block_info_def): Remove nvisited.
12238         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12239         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12240
12241         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
12242         (ix86_adjust_cost): Teach scheduler that latency to load operand can
12243         be masked.
12244
12245 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
12246
12247         * predict.def: Update hitrates.
12248
12249 2001-08-15  Richard Henderson  <rth@redhat.com>
12250
12251         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
12252
12253 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
12254
12255         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
12256         note from its associated jump.
12257
12258 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12259
12260         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
12261         also on 64-bit s390x targets.
12262
12263 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
12264
12265         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
12266         function.
12267         (arm_expand_prologue): Handled nested functions which take a
12268         variable argument list.
12269         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
12270         macro with an invocation of
12271         arm_compute_initial_elimination_offset.
12272         * config/arm/arm-protos.h: Prototype
12273         arm_compute_initial_elimination_offset.
12274
12275 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12276
12277         * doc/install.texi (Specific, avr): Fix markup.
12278         (Specific, c4x): Ditto.
12279
12280 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12281
12282         * predict.c (dump_prediction): Change `bool' parameter to `int'.
12283
12284 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
12285
12286         * Makefile.in (OBJS): Add rtl-error.o
12287         (rtl-error.o): New rule.
12288         (diagnostic.o): Adjust dependency.
12289         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
12290         error_for_asm, _fatal_insn, _fatal_insn_not_found,
12291         warning_for_asm): Move to...
12292         rtl-error.c: ...here.  New file.
12293
12294 2001-08-14  Richard Henderson  <rth@redhat.com>
12295
12296         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
12297         if USING_SJLJ_EXCEPTIONS.
12298
12299 2001-08-14  Steve Ellcey <sje@cup.hp.com>
12300
12301         * tlink.c (scan_linker_output): Check string for unsatisfied in
12302         addition to undefined and unresolved.
12303
12304 2001-08-14  Graham Stott  <grahams@redhat.com>
12305
12306         * libgcc2.c (*): Replace EH_FRAME_SECTION with
12307         EH_FRAME_SECTION_NAME.
12308
12309 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
12310
12311         * genattrtab.c (simplify_test_exp_in_temp): New function.
12312         (simplify_test_exp): Avoid explicit use of temporary obstack.
12313         (simplify_cond, insert_right_side, evaluate_eq_attr,
12314         simplify_and_tree, simplify_or_tree, eliminate_known_true):
12315         Use simplify_test_exp_in_temp.
12316         (optimize_attrs): Iterate until expression stabilizes.
12317
12318 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
12319
12320         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
12321         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
12322
12323 2001-08-13  Richard Henderson  <rth@redhat.com>
12324
12325         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
12326         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
12327         * config/arm/conix-elf.h: Likewise.
12328
12329 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
12330
12331         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
12332         in gcc.c.
12333         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12334
12335         * gcse.c (hash_scan_set): Expressions that are set as part of
12336         jump instructions are not available.
12337
12338 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12339
12340         * config/s390/s390.c (print_operand, s390_function_prologue,
12341         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
12342
12343 2001-08-13  Richard Henderson  <rth@redhat.com>
12344
12345         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
12346         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
12347         * doc/tm.texi (Exception Region Output): Document it.
12348
12349 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
12350
12351         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
12352         DWARF2 instead of stabs by default.
12353
12354 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
12355
12356         * config/rs6000/rs6000.c: Include optabs.h.
12357
12358 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
12359
12360         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
12361         save/restore routines.
12362         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
12363
12364 2001-08-13  Andreas Jaeger  <aj@suse.de>
12365
12366         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
12367         the english is correct.
12368
12369 2001-08-13  Zack Weinberg  <zackw@panix.com>
12370
12371         * expr.h: Split out optab- and libfunc-related code to...
12372         * optabs.h, libfuncs.h: ... these new headers.
12373
12374         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
12375         (OPTABS_H): New.
12376         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
12377         dependencies.
12378         * mkconfig.sh: Don't include insn-codes.h from config.h.
12379
12380         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
12381         enum insn_code is available.  Move reload_in_optab and
12382         reload_out_optab array declarations to optabs.h.
12383         * regmove.c (gen_add3_insn): Move to optabs.c, export from
12384         there, prototype in expr.h.
12385         * gencodes.c: Cleanup: zap global variables, don't use
12386         printf where puts will do, don't bother defining MAX_INSN_CODE
12387         which nothing uses, let CODE_FOR_nothing get its value implicitly.
12388
12389         * genemit.c, genopinit.c: Include optabs.h in generated file.
12390         * genoutput.c: Include insn-codes.h in generated file.
12391         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
12392         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
12393         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
12394         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
12395         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
12396         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
12397         Include optabs.h.
12398         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
12399         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
12400         config/m88k/m88k.c, config/sparc/sparc.c:
12401         Include libfuncs.h.
12402         * reload.c: Include expr.h and optabs.h before reload.h.
12403         * config/alpha/alpha.c: Include tree.h before reload.h.
12404         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
12405         and reload.h in that order.
12406         * config/sparc/sparc.c: Include debug.h.
12407         * recog.c: Include insn-codes.h.
12408
12409 2001-08-13  Andreas Jaeger  <aj@suse.de>
12410
12411         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
12412         s390*linux.
12413
12414 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
12415
12416         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
12417         * gcc.c (init_spec): Fix typo in comment.
12418         * varasm.c (data_section): Fix typo in comment.
12419
12420 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
12421
12422         * predict.c (dump_prediction): New argument "USED".
12423         (combine_predictions_for_insn): Determine the used heuristics,
12424         output the case no heuristic applied.
12425         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
12426
12427 2001-08-13  Andreas Jaeger  <aj@suse.de>
12428
12429         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
12430         register %rip.
12431
12432 2001-08-13  Kazu Hirata  <kazu@hxi.com>
12433
12434         * jump.c: Fix formatting.
12435
12436 2001-08-13  Kazu Hirata  <kazu@hxi.com>
12437
12438         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
12439         length.
12440
12441 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
12442
12443         * loop.c (check_dbra_loop): Use condjump_label to compute
12444         jump_label.
12445
12446         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
12447         to better document the files they're in.
12448
12449 2001-08-12  Zack Weinberg  <zackw@panix.com>
12450
12451         * recog.h (struct insn_operand_data): Shrink 'mode' field
12452         to 16 bits.
12453
12454 2001-08-12  Kazu Hirata  <kazu@hxi.com>
12455
12456         * gcc.c: Fix comment formatting.
12457         * gccspec.c: Likewise.
12458         * gcov.c: Likewise.
12459         * gcse.c: Likewise.
12460         * genemit.c: Likewise.
12461         * gengenrtl.c: Likewise.
12462         * genrecog.c: Likewise.
12463         * gensupport.c: Likewise.
12464         * ggc-page.c: Likewise.
12465         * global.c: Likewise.
12466         * graph.c: Likewise.
12467         * ifcvt.c: Likewise.
12468         * integrate.c: Likewise.
12469         * lcm.c: Likewise.
12470         * libgcc2.c: Likewise.
12471         * loop.c: Likewise.
12472         * mbchar.c: Likewise.
12473         * optabs.c: Likewise.
12474         * predict.c: Likewise.
12475         * prefix.c: Likewise.
12476         * profile.c: Likewise.
12477         * protoize.c: Likewise.
12478         * real.c: Likewise.
12479         * recog.c: Likewise.
12480         * regclass.c: Likewise.
12481         * regmove.c: Likewise.
12482         * reg-stack.c: Likewise.
12483         * reload1.c: Likewise.
12484         * resource.c: Likewise.
12485         * rtlanal.c: Likewise.
12486         * rtl.c: Likewise.
12487
12488 2001-08-12  Kazu Hirata  <kazu@hxi.com>
12489
12490         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
12491         a tree representing a constant is passed to the macro.
12492
12493 2001-08-12  Richard Henderson  <rth@redhat.com>
12494
12495         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
12496         (rs6000_elf_asm_out_destructor): New.
12497         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
12498         (DTORS_SECTION_ASM_OP): Remove.
12499         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12500         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
12501
12502 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
12503
12504         Revert:
12505         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12506         * gcc.c (set_collect_gcc_options): New function, split out from
12507         main.
12508         Ignore elided switches.
12509         (do_spec_1): Invoke before executing command.
12510         (set_input): Export.
12511         Move declaration ...
12512         * gcc.h (set_input): ... here.
12513         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
12514         file.
12515
12516 2001-08-12  Richard Henderson  <rth@redhat.com>
12517
12518         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
12519         thinko wrt TARGET_RELOCATABLE.
12520
12521 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
12522
12523         * fix-header.c (cb_file_change): Update prototype.
12524
12525 2001-08-11  Zack Weinberg  <zackw@panix.com>
12526
12527         * toplev.c (set_float_handler): Make static.
12528         * toplev.h: Don't prototype set_float_handler.
12529
12530         * simplify-rtx.c: Don't include setjmp.h.
12531         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
12532         New functions.
12533         (simplify_unary_operation, simplify_binary_operation): Use them,
12534         via do_float_handler.
12535
12536         * fold-const.c: Don't include setjmp.h.
12537         (exact_real_inverse_1): New function.
12538         (exact_real_inverse): Use it, via do_float_handler.
12539
12540         * varasm.c: Don't include setjmp.h.
12541         (assemble_real_1): New function.
12542         (assemble_real): Use it, via do_float_handler.
12543         Call internal_error if we get a trap here.
12544
12545         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
12546         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
12547
12548 2001-08-11  Zack Weinberg  <zackw@panix.com>
12549
12550         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
12551         STACK_BOUNDARY if not already defined.
12552
12553         * calls.c, function.c, reload1.c, explow.c: Don't default
12554         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
12555         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
12556
12557         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
12558         to run-time test.
12559
12560         * doc/tm.texi: Document that STACK_BOUNDARY is required;
12561         clarify difference between it and PREFERRED_STACK_BOUNDARY.
12562
12563 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12564
12565         * cppmacro.c (enter_macro_context): Push macro expansions even
12566         if empty.
12567
12568 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12569
12570         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
12571         (rs6000_elf_section_type_flags): Actually return a value.
12572
12573 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
12574
12575         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
12576         Clean up code: add missing comments and prototypes, fix warnings,
12577         remove obsolete code, fix spacing to conform to coding style.
12578
12579 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
12580
12581         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
12582         and TARGET_ASM_CLOSE_PAREN.
12583         (regclass_map): CC register belongs to class NO_REGS.
12584         (legitimize_pic_address): Don't generate unnecessary moves
12585         (to avoid confusing loop optimization).
12586         (check_and_change_labels): Replace jump_long by indirect_jump.
12587         (s390_final_chunkify): Don't start a new literal pool on section
12588         switch in 64-bit code.
12589         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
12590
12591         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
12592         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
12593         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
12594         modes correctly.
12595         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
12596         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
12597         (CONST_COSTS): Fixed incorrect costs.
12598
12599         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
12600         Use emit_jump instead of emit_jump_insn (gen_jump).
12601         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
12602         (to avoid confusing flow analysis).
12603         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
12604         (casesi, casesi_jump): New.
12605         (jump_long): Removed.  Functionality merged into indirect_jump.
12606         (indirect_jump): Accept address_operand, not just register_operand.
12607         (cjump_long, icjump_long): Use same logic as indirect_jump.
12608         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
12609         Fixed broken setjmp/longjmp handling.
12610         (do_builtin_setjmp_setup): Removed.
12611
12612         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
12613         broken GNU as versions that don't accept .quad with large
12614         negative values.  Use hexadecimal output instead.
12615         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
12616         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
12617         FUNCTION_EPILOGUE): Removed.  Now in targetm.
12618
12619         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
12620
12621         * config/s390/fixdfdi.h: Add missing copyright statement.
12622         Fix type conflicts on 64-bit.  Add missing SFmode routines.
12623
12624         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
12625         email address.
12626
12627 2001-08-11  Richard Henderson  <rth@redhat.com>
12628
12629         * rtl.h (REG_EH_RETHROW): Remove.
12630         * rtl.c (reg_note_name): Update.
12631         * combine.c (distribute_notes): Don't check for it.
12632
12633 2001-08-11  Richard Henderson  <rth@redhat.com>
12634
12635         * combine.c (distribute_notes): Place REG_SETJMP.
12636
12637 2001-08-11  Richard Henderson  <rth@redhat.com>
12638
12639         * doc/extend.texi (Arrays and pointers implementation): Discourage
12640         relying on sign-extension of pointers.
12641
12642 2001-08-11  H.J. Lu <hjl@gnu.org>
12643
12644         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
12645         in_dtors.
12646         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
12647         RDATA_SECTION_ASM_OP.
12648
12649 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12650
12651         * doc/install.texi (Specific, c4x): Fix cross-reference to the
12652         main manual to work both for info and HTML versions.
12653
12654 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12655             Matt Kraai <kraai@alumni.carnegiemellon.edu>
12656
12657         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
12658         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
12659         (struct cpp_pool): New member first.
12660         * cppinit.c (append_include_chain): Plug memory leaks.
12661         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
12662         Allocate pragma structures from the (aligned) macro pool to
12663         avoid leaking memory.
12664         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
12665         so we don't leak memory.
12666         * hashtable.c (ht_destroy): New.
12667         * hashtable.h (ht_destroy): New.
12668
12669 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12670             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12671
12672         * c-lex.c (map): Make const.
12673         (cb_file_change): Update for callback passing a line map.
12674         Don't assume we have a previous map.  Remove sanity check
12675         about popping too many files.
12676         * cpperror.c (print_location): Make map const.
12677         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
12678         (cpp_make_system_header): Similarly.
12679         (search_from): Similarly.
12680         (_cpp_execute_include): Don't remember where we came from.
12681         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
12682         (struct cpp_reader): Make map const.
12683         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
12684         * cpplib.c (do_line): Update; line maps now hold sysp.
12685         (cpp_push_buffer): Similarly.
12686         (_cpp_do_file_change): Similarly; callback with map instead.
12687         (cpp_get_line_maps): Constify return value.
12688         (_cpp_pop_buffer): Update.
12689         * cpplib.h (struct cpp_file_change): Remove.
12690         (struct cpp_callbacks): Update.
12691         (cpp_get_line_maps): Constify return value.
12692         * cppmacro.c (_cpp_create_definition): Update.
12693         * cppmain.c (struct printer): Constify map.
12694         (maybe_print_line): Similarly.
12695         (print_line): Similarly.  Deduce flags 1 and 2 here.
12696         (cb_file_change): Update.
12697         * line-map.c (free_line_maps): Warn regardless.
12698         (add_line_map): Return pointer to const.  When passed NULL to_file
12699         with LC_LEAVE, use the obvious values for the return point so the
12700         caller doesn't have to figure them out.
12701         (lookup_line): Return pointer to const.
12702         (print_containing_files): Take pointer to const.
12703         * line-map.h (struct line_map): New members reason, sysp.
12704         (add_line_map): Return pointer to const.
12705         (lookup_line): Similarly.
12706         (print_containing_files): Take pointer to const.
12707
12708 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
12709             Richard Henderson  <rth@redhat.com>
12710
12711         * regmove.c (regmove_optimize): Avoid setting a register twice in
12712         a parallel set.
12713
12714 2001-08-10  Richard Henderson  <rth@redhat.com>
12715
12716         * doc/extend.texi (Arrays and pointers implementation): Document
12717         behavior of pointer/integer conversion.
12718
12719 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
12720
12721         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
12722
12723 2001-08-10  Richard Henderson  <rth@redhat.com>
12724
12725         * doc/extend.texi (C Implementation): New chapter.
12726         * doc/gcc.texi (Top): Link it in.
12727
12728 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
12729
12730         * doc/install.texi (Specific): Fix CVS merge botch.
12731
12732 2001-08-10  Richard Henderson  <rth@redhat.com>
12733
12734         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
12735         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
12736
12737 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
12738
12739         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
12740         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
12741         this macro is now required.
12742
12743         * cselib.c (cselib_process_insn), flow.c (propagate_block),
12744         loop.c (find_and_verify_loops), reload.c (reload): Check
12745         for rtx code of CALL_INSN, not CALL, when deciding if we
12746         need to check for REG_SETJMP note.
12747
12748         * gcse.c (compute_hash_table, compute_store_table): Update
12749         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
12750         logic.
12751
12752         * config/avr/avr.c: Fix typo.
12753         * config/convex/convex.c (expand_movstr): Use adjust_address.
12754         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
12755         variable.
12756         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
12757         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
12758         Fix typo.
12759         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
12760         Do define STACK_BOUNDARY.
12761         * config/i370/i370.c: Include expr.h.
12762         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
12763         config/pa/som.h, config/v850/v850.h: Take in_ctors and
12764         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
12765         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
12766         * config/m88k/m88k.c: Include c-tree.h after expr.h.
12767         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
12768         * config/romp/romp.c: Include expr.h after tree.h.
12769         Include toplev.h.
12770         (output_fpop): Use xmalloc, not oballoc.
12771         * config/we32k/we32k.c: Include expr.h.
12772
12773 2001-08-10  Kazu Hirata  <kazu@hxi.com>
12774
12775         * config/h8300/h8300.h: Fix formatting.
12776
12777 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
12778
12779         * c-common.h (RETURN_NULLIFIED_P): Lose.
12780         * c-semantics.c (genrtl_return_stmt): Don't check it.
12781
12782 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12783
12784         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
12785         (mips_annotate_frame_insn): New function.
12786         (mips_emit_frame_related_store): New function.
12787         (save_restore_insns): Don't mark instructions that set up the base
12788         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
12789         the store instructions instead.
12790         (mips_expand_prologue): If the stack size is moved into a temporary
12791         register, do not mark that move as frame-related.  Add a
12792         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
12793
12794 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12795
12796         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
12797         stack slot as unchanging if current_function_calls_eh_return.
12798
12799 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12800
12801         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
12802         access the second half of the TFmode scratch operand.
12803
12804 2001-08-10  Anthony Green  <green@redhat.com>
12805
12806         * java/class.c (emit_register_classes): Conditionalize code on
12807         JCR_SECTION_NAME.
12808
12809 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12810
12811         * doc/install.texi (Specific, avr): Fix cross-reference to the
12812         main manual to work both for info and HTML versions.
12813
12814 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12815
12816         * stmt.c (expand_null_return_1): Remove code to generate simple returns
12817         and "use_goto" argument.
12818         (expand_null_return, expand_value_return): Update all callers.
12819         * function.c (expand_function_end): Remove code to generate simple
12820         return.
12821         * config/vax/vax.md (epilogue): New expander for function return.
12822         * doc/md.texi (epilogue): Remove "if defined".
12823
12824 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
12825
12826         * Makefile.in: Partially revert my previous change:
12827         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
12828         of the hashtab.o and safe-ctype.o rules.
12829
12830 2001-08-09  Richard Henderson  <rth@redhat.com>
12831
12832         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
12833         (USE_COLLECT2): Remove duplicate definition.
12834         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
12835         (use_collect2): Remove dead code.
12836         * configure.in (use_collect2): Remove will_use_collect2 and
12837         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
12838         * configure: Rebuild.
12839
12840         * target.h (targetm.asm_out.constructor): New.
12841         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
12842         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
12843         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
12844         * varasm.c (in_ctors, in_dtors): New.
12845         (assemble_constructor, assemble_destructor): Remove.
12846         (default_stabs_asm_out_destructor): New.
12847         (default_named_section_asm_out_destructor): New.
12848         (dtors_section, default_dtor_section_asm_out_destructor): New.
12849         (default_stabs_asm_out_constructor): New.
12850         (default_named_section_asm_out_constructor): New.
12851         (ctors_section, default_ctor_section_asm_out_constructor): New.
12852         * output.h: Update declarations.
12853         * c-decl.c (c_expand_body): Use target hooks instead of
12854         assemble_constructor and assemble_destructor.
12855         * profile.c (output_func_start_profiler): Likewise.
12856         * objc/objc-act.c (finish_objc): Likewise.
12857         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
12858         for the constructor.
12859         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
12860
12861         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
12862         (DTORS_SECTION_ASM_OP): Likewise.
12863         (__CTOR_LIST__): Use attribute section when possible.
12864         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
12865
12866         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
12867         ASM_OUTPUT_CONSTRUCTOR.
12868
12869         * config/darwin.c (machopic_asm_out_constructor): New.
12870         (machopic_asm_out_destructor): New.
12871         * config/darwin-protos.h: Update declarations.
12872         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12873         (ASM_OUTPUT_DESTRUCTOR): Remove.
12874         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12875         * config/nextstep.c (nextstep_asm_out_constructor): New.
12876         (nextstep_asm_out_destructor): New.
12877         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12878         (ASM_OUTPUT_DESTRUCTOR): Remove.
12879         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12880         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
12881         ASM_OUTPUT_*STRUCTOR.
12882         * config/i386/aix386ng.h: Likewise.
12883
12884         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
12885         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
12886         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12887         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12888         * config/lynx.h: Likewise.
12889         * config/netware.h: Likewise.
12890         * config/psos.h: Likewise.
12891         * config/alpha/alpha-interix.h: Likewise.
12892         * config/alpha/elf.h: Likewise.
12893         * config/arc/arc.h: Likewise.
12894         * config/arm/aof.h: Likewise.
12895         * config/arm/coff.h: Likewise.
12896         * config/arm/elf.h: Likewise.
12897         * config/c4x/c4x.h: Likewise.
12898         * config/h8300/h8300.h: Likewise.
12899         * config/i386/cygwin.h: Likewise.
12900         * config/i386/djgpp.h: Likewise.
12901         * config/i386/i386-coff.h: Likewise.
12902         * config/i386/i386-interix.h: Likewise.
12903         * config/i386/sco5.h: Likewise.
12904         * config/i386/vsta.h: Likewise.
12905         * config/i386/win32.h: Likewise.
12906         * config/i960/i960-coff.h: Likewise.
12907         * config/ia64/sysv4.h: Likewise.
12908         * config/m68hc11/m68hc11.h: Likewise.
12909         * config/m68k/coff.h: Likewise.
12910         * config/m68k/mot3300.h: Likewise.
12911         * config/m88k/m88k.h: Likewise.
12912         * config/mcore/mcore-pe.h: Likewise.
12913         * config/mcore/mcore.h: Likewise.
12914         * config/mips/elf.h: Likewise.
12915         * config/mips/elf64.h: Likewise.
12916         * config/mips/iris6.h: Likewise.
12917         * config/pa/pa64-hpux.h: Likewise.
12918         * config/rs6000/sysv4.h: Likewise.
12919         * config/sh/sh.h: Likewise.
12920         * config/sparc/litecoff.h: Likewise.
12921
12922         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
12923         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12924         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12925         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12926         (ASM_OUTPUT_DESTRUCTOR): Remove.
12927         * config/a29k/a29k.c: Move include of tree.h.
12928         * config/a29k/udi.h: Delete file.
12929         * config/alpha/alpha.c (vms_asm_out_constructor): New.
12930         (vms_asm_out_destructor): New.
12931         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
12932         (EXTRA_SECTION_FUNCTIONS): Likewise.
12933         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12934         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12935         * config/c4x/c4x.c: Move include of tree.h.
12936         * config/clipper/clipper.c (clix_asm_out_constructor): New.
12937         (clix_asm_out_destructor): New.
12938         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12939         (ASM_OUTPUT_DESTRUCTOR): Remove.
12940         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12941         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12942         (TARGET_ASM_CONSTRUCTOR): New.
12943         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
12944         (sco_asm_out_constructor): New.
12945         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
12946         * config/i386/svr3gas.h: Remove stack grows up code.
12947         Remove code duplicated from i386/sysv3.h.
12948         (TARGET_ASM_CONSTRUCTOR): New.
12949         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12950         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
12951         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12952         (TARGET_ASM_CONSTRUCTOR): New.
12953         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
12954         (m68hc11_asm_out_destructor): New.
12955         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
12956         (TARGET_ASM_DESTRUCTOR): New.
12957         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
12958         * config/m68k/dpx2.h: Properly undef all the bits inherited from
12959         config/svr3.h pertaining to section manipulation.
12960         * config/m68k/dpx2g.h: Remove #if 0 code.
12961         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
12962         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
12963         (ASM_OUTPUT_CONSTRUCTOR): Remove.
12964         (TARGET_ASM_CONSTRUCTOR): New.
12965         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
12966         (m88k_svr3_asm_out_constructor): New.
12967         (m88k_svr3_asm_out_destructor): New.
12968         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12969         (ASM_OUTPUT_DESTRUCTOR): Remove.
12970         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12971         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
12972         * config/rs6000/aix.h: Likewise.
12973         * config/mips/rtems64.h: Don't undef removed constructor related bits.
12974         * config/mips/vxworks.h: Likewise.
12975         * config/rs6000/lynx.h: Likewise.
12976         * config/sh/elf.h: Likewise.
12977         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
12978         (DTORS_SECTION_ASM_OP): New.
12979         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12980         (ASM_OUTPUT_DESTRUCTOR): Remove.
12981         * config/sparc/sol2-sld-64.h: Likewise.
12982         * config/vax/vax.c (vms_asm_out_constructor): New.
12983         (vms_asm_out_destructor): New.
12984         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12985         (ASM_OUTPUT_DESTRUCTOR): Remove.
12986         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12987
12988         * doc/tm.texi (@node Initialization): Update.
12989
12990 2001-08-09  Richard Henderson  <rth@redhat.com>
12991
12992         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
12993         (__do_global_dtors_aux): Use gp-relative static data to avoid
12994         one dynamic relocation.
12995         (__do_frame_setup): Register Java classes.
12996         * config/alpha/crtend.asm (__JCR_END__): New.
12997
12998 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
12999
13000         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
13001         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
13002         (GEN, STAGESTUFF): Add new files.
13003         (insn-constants.h, s-constants, tm-preds.h, s-preds,
13004         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
13005         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
13006         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
13007         as well as insn-codes.h and insn-flags.h in config.h; and no
13008         extra headers in tconfig.h and hconfig.h.
13009
13010         * gencodes.c: Eliminate code to generate predicate declarations
13011         or #defines for md-file constants.
13012         * genconstants.c, genpreds.c: New files.
13013
13014         * i386.md: Re-order guard expressions such that TARGET_64BIT
13015         comes first, when this permits better optimization.  Add
13016         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
13017         why this is desirable.
13018
13019 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
13020
13021         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
13022         (find_fde_for_dso): Remove.
13023         (_Unwind_IteratePhdrCallback): New.
13024         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
13025         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
13026
13027 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13028
13029         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
13030         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
13031
13032 2001-08-09  Graham Stott  <grahams@redhat.com>
13033
13034         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
13035         (vis_no_unit): Use it.
13036         (visualize_no_unit): Add the insn only if room exists.
13037
13038 2001-08-09  Graham Stott  <grahams@redhat.com>
13039
13040         * predict.c (estimate_probability): Replace magic numbers with
13041         appropriate enumeration.
13042
13043 2001-08-09  Graham Stott  <grahams@redhat.com>
13044
13045         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
13046         parameter.
13047         (EXTRACT_FLAGS): Likewise.
13048
13049 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
13050
13051         * config/mips/mips.c    (mips_legitimate_address_p): Check for
13052         CONST_INT in last patch.
13053
13054 2001-08-08  Anthony Green  <green@redhat.com>
13055
13056         * java/class.c (emit_register_classes): Use assemble_jcr if
13057         possible.  Keep the original mechanism as a fallback.
13058         * defaults.h (JCR_SECTION_NAME): Define if we have named section
13059         and weak symbol support.
13060         * crtstuff.c (__JCR_LIST__): Define.
13061         (__JCR_END__): Define.
13062         (_Jv_RegiserClasses): Define weak symbol if possible.
13063         (__do_global_ctors_aux): Register classes for ELF targets with
13064         weak symbol support.
13065
13066 2001-08-08  Kazu Hirata  <kazu@hxi.com>
13067
13068         * dbxout.c: Fix comment formatting.
13069         * dependence.c: Likewise.
13070         * df.c: Likewise.
13071         * diagnostic.c: Likewise.
13072         * dominance.c: Likewise.
13073         * doprint.c: Likewise.
13074         * dwarf2out.c: Likewise.
13075         * dwarfout.c: Likewise.
13076         * emit-rtl.c: Likewise.
13077         * except.c: Likewise.
13078         * explow.c: Likewise.
13079         * expmed.c: Likewise.
13080         * expr.c: Likewise.
13081         * flow.c: Likewise.
13082         * fold-const.c: Likewise.
13083         * function.c: Likewise.
13084
13085 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13086
13087         * global.c (retry_global_alloc): Avoid shadowing allocno.
13088
13089 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
13090
13091         * except.c (remove_fixup_regions): Fix typo.
13092
13093 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
13094
13095         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
13096         unsigned HOST_WIDE_INT to avoid warning.
13097         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
13098         * flow.c (set_block_for_new_insns): Likewise.
13099
13100 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
13101
13102         * sibcall.c (return_value_pseudo): New static variable.
13103         (skip_copy_to_return_value): Handle return_value_pseudo.
13104         (call_ends_block_p): Ensure that return_value_pseudo is set.
13105         (optimize_sibling_and_tail_recursive_call): Discover the
13106         load of pseudo return value in alternate exit block.
13107
13108 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13109
13110         * calls.c (ECF_ALWAYS_RETURN): New constant.
13111         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
13112         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
13113         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
13114         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
13115         * rtl.c (reg_note_name): New name.
13116         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
13117
13118 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
13119
13120         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
13121
13122 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13123
13124         * alias.c (get_alias_set): Return a previously calculated
13125         alias set for a VAR_DECL.
13126         * function.c (gen_mem_addressof): Calculate the alias set before
13127         touching the RTL.
13128
13129 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
13130
13131         * predict.def: Set hitrates according our experimental run.
13132
13133 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
13134
13135         * i386.h (HARD_REGNO_RENAME_OK): New macro.
13136
13137 2001-08-08  H.J. Lu <hjl@gnu.org>
13138
13139         * config/mips/mips.c (mips_unique_section): New. Copied from
13140         config/mips/elf.h.
13141
13142         * config/mips/mips-protos.h (mips_unique_section): New
13143         prototype.
13144
13145         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
13146
13147         * config/mips/little.h: New. Generic little endian mips
13148         targets. Only mips*-*-linux* is converted to use it so far.
13149
13150         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
13151         (WCHAR_TYPE): Defined
13152         (WCHAR_TYPE_SIZE): Likewise.
13153         (INIT_SUBTARGET_OPTABS): Likewise.
13154         (BSS_SECTION_ASM_OP): Likewise.
13155         (SBSS_SECTION_ASM_OP): Likewise.
13156         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13157         (ASM_DECLARE_OBJECT_NAME): Likewise.
13158         (UNIQUE_SECTION): Likewise.
13159         (EXTRA_SECTIONS): Likewise.
13160         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
13161         (ASM_OUTPUT_DESTRUCTOR): Likewise.
13162         (ASM_OUTPUT_DEF): Likewise.
13163         (HANDLE_SYSV_PRAGMA): Removed.
13164         (NO_IMPLICIT_EXTERN_C): Likewise.
13165         (TARGET_MEM_FUNCTIONS): Likewise.
13166         (STARTFILE_SPEC): Likewise.
13167         (ENDFILE_SPEC): Likewise.
13168         (LIB_SPEC): Likewise.
13169         (INVOKE__main): Likewise.
13170         (CTOR_LIST_BEGIN): Likewise.
13171         (CTOR_LIST_END): Likewise.
13172         (DTOR_LIST_BEGIN): Likewise.
13173         (DTOR_LIST_END): Likewise.
13174         (SET_ASM_OP): Likewise.
13175         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13176         (ASM_OUTPUT_DEF): Likewise.
13177         (ASM_OUTPUT_IDENT): Likewise.
13178
13179         * config/mips/mips.h (ASM_SPEC): Undefine before define.
13180         (CPLUSPLUS_CPP_SPEC): Likewise.
13181         (ASM_APP_ON) Redefine only if not defined.
13182         (ASM_APP_OFF): Likewise.
13183         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13184         (ASM_OUTPUT_IDENT): Likewise.
13185
13186         * config.gcc: Update tm_file for Linux/mips.
13187
13188 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
13189
13190         * cselib.c (cselib_record_sets): If insn is predicated, turn
13191         sources into IF_THEN_ELSEs.
13192
13193         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
13194         Turn into define_insn_and_split.
13195
13196         * sched-deps.c: Include "cselib.h".
13197         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
13198         Use cselib to turn memory addresses into VALUEs.
13199         (sched_analyze): Call cselib_init/cselib_finish if necessary.
13200         * sched-int.h (struct sched_info): New member USE_CSELIB.
13201         * sched-ebb.c (ebb_sched_info): Initialize it.
13202         * sched-rgn.c (rgn_sched_info): Likewise.
13203         * Makefile.in (sched-deps.o): Update dependencies.
13204
13205         * cselib.h (cselib_subst_to_values): Declare.
13206         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
13207         that have no value and autoincs to be handled by generating a new
13208         dummy value.
13209
13210 2001-08-08  Graham Stott  <grahams@redhat.com>
13211
13212         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
13213         within fixed length SEQUENCE.
13214
13215 2001-08-08  Graham Stott  <grahams@redhat.com>
13216
13217         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
13218         (diagnostic_prefixing_rule): Likewise.
13219         (diagnostic_line_cutoff): Likewise.
13220         (diagnostic_kind_count): Likewise.
13221
13222 2001-08-08  Graham Stott  <grahams@redhat.com>
13223
13224         * alias.c (find_base_decl): Delete redundent assignment.
13225
13226 2001-08-08  Graham Stott  <grahams@redhat.com>
13227
13228         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
13229         (abs): Uppercase and paranthesize macro parameter.
13230         (MEM_DEPENDENCY): Add whitespace.
13231
13232 2001-08-08  Graham Stott  <grahams@redhat.com>
13233
13234         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
13235         failure check for CONST_INT
13236
13237 2001-08-08  Graham Stott  <grahams@redhat.com>
13238
13239         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
13240         (libcall_dead_p): Likewise.
13241
13242         (mark_used_regs): Constify fmt.
13243         (find_use_as_address): Likewise.
13244
13245 2001-08-08  Graham Stott  <grahams@redhat.com>
13246
13247         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
13248          parameter.
13249
13250 2001-08-08  Graham Stott  <grahams@redhat.com>
13251
13252         * combine.c (combine_simplify_rtx): Update comment and
13253         remove erroneous test.
13254
13255 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13256
13257         * cppinit.c (cpp_finish): Pop the final buffer without comment.
13258         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
13259         take care to avoid multiple no-newline at EOF warnings in that
13260         case.
13261
13262 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
13263
13264         * calls.c (expand_call): Do not emit INSN_SETJMP note.
13265         (emit_library_call_value_1): Likewise.
13266         (emit_call_1): Emit REG_SETJMP note.
13267         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
13268         of INSN_SETJMP
13269         * cselib.c (cselib_process_insn): Likewise.
13270         * flow.c (propagate_block): Likewise.
13271         * loop.c (find_and_verify_loops): Likewise.
13272         * reload.c (find_equiv_regs): Likewise.
13273         * reload1.c (reload): Likewise.
13274         * resource.c (mark_referenced_resources,
13275         mark_set_resources): Likewise.
13276         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
13277         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
13278         * haifa-sched.c (unlink_other_notes): Likewise.
13279         (reemit_notes): Likewise.
13280         * sched-ebb.c (sched_ebb): Likewise.
13281         * sched-rgc.c (sched_region): Likewise.
13282         * rtl.c (note_insn_name): Likewise.
13283         (reg_note_name): Add REG_SETJMP
13284         * rtl.h (reg_note): Add REG_SETJMP.
13285         (insn_note): Remove NOTE_INSN_SETJMP.
13286
13287         * profile.c (branch_prob): Add fake edges for setjmp.
13288
13289 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
13290
13291         * config.gcc: Quote target_cpu_default2 correctly for
13292         powerpc*-*-* targets.
13293
13294 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13295
13296         * cpplib.h, line-map.h: Update comments.
13297         * cppmain.c (printer_init): Move inline.
13298         (maybe_print_line, print_line): Take a map pointer.
13299         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
13300         (cb_file_change): Don't use prior value of print.map.
13301
13302 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
13303
13304         * doc/install.texi: Document fine-grained multilib configuration.
13305
13306 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13307
13308         * rtlanal.c (find_first_parameter_load): Call note_stores
13309         only on the instructions.
13310
13311 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13312
13313         * alias.c (nonlocal_mentioned_p):
13314         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
13315         * calls.c (emit_call_1): Likewise.
13316         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
13317         * cselib.c (cselib_process_insn): Likewise.
13318         * df.c (df_insns_modify): Likewise.
13319         * flow.c (need_fake_edge_p): Likewise.
13320         (propagate_one_insn): Likewise.
13321         * haifa-sched.c (reemit_notes): Likewise.
13322         * integrate.c (copy_insn_list): Likewise.
13323         * jump.c (delete_prior_computation): Likewise.
13324         * local-alloc.c (validate_equiv_mem): Likewise.
13325         * loop.c (scan_loop): Likewise.
13326         * predict.c (estimate_probability): Likewise.
13327         * reload.c (reload): Likewise.
13328         * sched-deps (sched_analyze): Likewise.
13329         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
13330         * gcse.c (compute_hash_table): Likewise.
13331         (mark_call): Likewise.
13332         (store_killed_in_insn): Likewise.
13333
13334 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
13335
13336         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
13337
13338 2001-08-06  Richard Henderson  <rth@redhat.com>
13339
13340         * varasm.c (assemble_gc_entry): Remove.
13341         * output.h: Likewise.
13342
13343 2001-08-06  Richard Henderson  <rth@redhat.com>
13344
13345         * varasm.c (assemble_constructor): Take a symbol_ref and a
13346         priority instead of a bare string.  Move priority handling
13347         here from cp/decl2.c.
13348         * output.h: Update decls.
13349
13350         * c-decl.c (c_expand_body): Update calls to assemble_constructor
13351         and assemble_destructor.
13352         * profile.c (output_func_start_profiler): Likewise.
13353         * objc/objc-act.c (finish_objc): Likewise.
13354         (build_module_descriptor): Return the symbol not the symbol name.
13355
13356 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
13357
13358         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
13359         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
13360         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
13361         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
13362         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
13363         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
13364
13365 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13366
13367         * cpperror.c (print_containing_files): Moved to line-map.c.
13368         (print_location): line-map.c handles re-listing or otherwise.
13369         * cpphash.h (struct lexer_state): Remove next_bol.
13370         (struct cpp_buffer): Remove include_stack_listed.
13371         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
13372         Remove faked buffer handling.
13373         (_cpp_do_file_change): Tweak.
13374         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
13375         * cppmain.c (struct printer): Remove filename.
13376         (print_line, cb_file_change): Update accordingly.
13377         * line-map.c: Include intl.h.
13378         (init_line_maps): Initialize last_listed.
13379         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
13380         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
13381         (print_containing_files): New.
13382         * line-map.h (struct line_maps): New member last_listed.
13383         (print_containing_files, INCLUDED_FROM): New.
13384         * Makefile.in: Update.
13385         * po/POTFILES.in: Add line-map.c.
13386
13387 2001-08-06  Richard Henderson  <rth@redhat.com>
13388
13389         * except.c (convert_from_eh_region_ranges_1): Never mark
13390         USE or CLOBBER insns as throwing.
13391
13392         * expr.c (store_constructor): Don't clobber memory targets.
13393
13394 2001-08-06  Andreas Jaeger  <aj@suse.de>
13395
13396         * profile.c (branch_prob): Remove unused variable insn.
13397
13398         * Makefile.in (local-alloc.o): Add dependency on except.h.
13399
13400         * local-alloc.c: Include except.h for can_throw_internal prototype.
13401
13402 2001-08-06  Richard Henderson  <rth@redhat.com>
13403
13404         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
13405         * function.c (expand_main_function): Implement it.
13406         * doc/tm.texi: Document it.
13407
13408 2001-08-06  Stan Shebs  <shebs@apple.com>
13409
13410         * doc/install.texi: Document powerpc-*-darwin* details.
13411
13412 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
13413
13414         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
13415         (ASM_CPU_SPEC): Move back to rs6000.h
13416         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
13417
13418         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
13419
13420         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
13421         readded.
13422
13423         * config/rs6000/linux64.h: Ditto.
13424
13425         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13426         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
13427         nothing.
13428
13429         Remove accidently readded definitions of FUNCTION_PROLOGUE,
13430         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
13431
13432         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13433         to rs6000.h
13434
13435 2001-08-05  Richard Henderson  <rth@redhat.com>
13436
13437         * local-alloc.c (update_equiv_regs): Do not move insns that
13438         can throw.
13439
13440 2001-08-05  Jan Hubicka  <jh@suse.cz>
13441
13442         * Makefile.in (reload1.o): Add dedendancy on except.h
13443         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
13444         prototypes.
13445         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
13446         indicating wehther edges has been cleaned up.
13447         * reload1.c: Inlucde except.h
13448         (fixup_abnormal_edges): Accept deleted insns.
13449         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
13450         after combine.
13451
13452 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13453
13454         * cpplib.c (do_line): Correct line number after pop_buffer.
13455
13456 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13457
13458         PR preprocessor/3824
13459         * line-map.c: Update comments.
13460         * line-map.h: Update comments.
13461         * tradcif.y: Don't consider large numbers unsigned.
13462
13463 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13464
13465         PR preprocessor/3081
13466         * c-lex.c (map): New.
13467         (cb_file_change): Update map and use it.
13468         (cb_def_pragma, cb_define, cb_undef): Use map and line.
13469         (c_lex): Update to use map.
13470         * cpperror.c (print_location): Move to using logical line numbers.
13471         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
13472         (cpp_make_system_header): Similarly.
13473         (_cpp_execute_include): Stop line numbering hacks.  Store the
13474         line we will return to.
13475         * cpphash.h (CPP_BUF_LINE): Remove.
13476         (struct cpp_buffer): Remove lineno and pseudo_newlines.
13477         Add map and return_to_line.
13478         (_cpp_do_file_change): Update.
13479         * cppinit.c (cpp_start_read): Update line kludge.
13480         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
13481         (trigraph_ok): Use logical line numbers for diagnostics.
13482         (skip_block_comment): Likewise.
13483         (skip_whitespace): Likewise.
13484         (skip_line_comment): Use pfile->line instead.
13485         (_cpp_lex_token): Update to use logical line numbering exclusively.
13486         Handle BOL locally.  Accept new lines in directives, but keep
13487         pfile->line decremented.  Diagnostics use logical lines.  Update
13488         directive handling.
13489         * cpplib.c (SEEN_EOL): New.
13490         (skip_rest_of_line, check_eol): Use it.
13491         (end_directive): Increase line number when accepting the newline
13492         at the end of a directive.
13493         (run_directive): Simplify.
13494         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
13495         (_cpp_do_file_change): Update to take buffer line number as an
13496         argument, and store the current map in the cpp_reader.  Remove
13497         line number kludges.
13498         (_cpp_do__Pragma): Restore output position after a _Pragma.
13499         (cpp_push_buffer): Don't set output line or lineno.
13500         (_cpp_pop_buffer): Transfer more info from a faked buffer.
13501         Remove line kludge.  Set output_line.
13502         * cppmacro.c (builtin_macro): Update handling of __LINE__.
13503         (parse_arg): Use logical lines.
13504         (save_lookahead_token): Save EOFs too now.
13505         * cppmain.c (struct printer): Fix comments.
13506         (printer_init): Simplify, let caller do errors.
13507         (scan_translation_unit, check_multiline_token, dump_macro): Update.
13508         (maybe_print_line): Simplify.
13509         (print_line): Don't print a linemarker if -P.
13510         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
13511         (cb_file_change): Simplify.
13512         * line-map.h (LAST_SOURCE_LINE): Fix.
13513         (CURRENT_LINE_MAP): New.
13514
13515 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
13516
13517         * doloop.c (doloop_modify_runtime): Properly compute number of
13518         iterations if loop was unrolled.
13519
13520         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
13521         if their CSELIB_VAL_PTRs are.
13522
13523         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
13524         (setup_spill_pointers): Initialize it.
13525         (spill_restore_mem): Set it.
13526         (do_spill, do_restore): Use it to add REG_INC note.
13527         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
13528
13529         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
13530         asms if other insns are available.
13531
13532         * config/ia64/ia64.c (condop_operator): New predicate.
13533         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
13534         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
13535         patterns.
13536
13537         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
13538         temporary register than directly using a MEM.
13539
13540 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
13541
13542         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
13543         parameter in last change.
13544
13545 2001-08-04  Zack Weinberg  <zackw@panix.com>
13546
13547         * sparc.md: Don't use #if inside C test expression.
13548
13549 2001-08-04  Richard Henderson  <rth@redhat.com>
13550
13551         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
13552
13553 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
13554
13555         * cpphash.h (struct cpp_reader): New member directive_line.
13556         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
13557         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
13558         do_pragma): Pass line to callbacks.
13559         (start_directive): Record line of directive.
13560         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
13561         cb_include): Similarly.
13562         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
13563         Similarly.
13564
13565 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
13566
13567         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
13568         comment.
13569
13570 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
13571
13572         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
13573
13574         * reload1.c (fixup_abnormal_edges): New static function.
13575         (reload): Use it.
13576
13577         * flow.c (need_fake_edge_p): New function.
13578         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
13579         avoid call insn to be very last insn in the insn stream.
13580
13581         * profile.c (branch_prob): Call flow_call_edges_add instead of
13582         doing that by hand; cleanup cfg to re-merge basic blocks once
13583         we are done.
13584
13585 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13586
13587         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
13588         are also on line-map.h.
13589         * cppfiles.c (stack_include_file): Update.
13590         * cpphash.h (struct cpp_buffer): New member return_at_eof.
13591         (_cpp_pop_buffer): New.
13592         * cppinit.c (cpp_destroy, cpp_finish): Update.
13593         (do_includes): Mark each buffer to return at EOF.
13594         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
13595         return as requested.
13596         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
13597         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
13598         * cpplib.h (cpp_pop_buffer): Remove.
13599         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
13600         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
13601         buffers.
13602         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
13603         to pop buffers.
13604         (do_preprocessing): Update.
13605         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
13606         * c-parse.in (_yylex): Similarly.
13607         * scan-decls.c (scan_decls): Similarly.
13608         * line-map.h: Update comments.
13609
13610         * objc/Make-lang.in (objc-act.o): Update dependencies.
13611
13612 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13613
13614         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
13615         and soft register for operand 0.
13616         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
13617
13618 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13619
13620         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
13621         register for operand 0.
13622         ("bitcmpqi_z_used"): Allow memory for operand 0.
13623         (split "bitcmpqi"): New split to handle address reg as operand 1.
13624
13625 2001-08-04  Andreas Jaeger  <aj@suse.de>
13626
13627         * gcse.c: Revert Daniel's last patch.
13628
13629 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
13630
13631         * sparc-protos.h: Add prototypes for fp_zero_operand and
13632         reg_or_0_operand.
13633         * sh-protos.h: Add prototype for fpul_operand.
13634
13635 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
13636
13637         * doc/extend.texi (Other Builtins): Fix typo in last change.
13638
13639 2001-08-03  Richard Henderson  <rth@redhat.com>
13640
13641         * target.h (gcc_target): Add asm_out.named_section,
13642         section_type_flags, have_named_sections.
13643         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
13644         (TARGET_HAVE_NAMED_SECTIONS): New.
13645         (TARGET_SECTION_TYPE_FLAGS): New.
13646
13647         * Makefile.in (toplev.o): Depend on TARGET_H.
13648         (varasm.o, dbxout.o): Likewise.
13649         * c-common.c (decl_attributes): Check targetm.have_named_sections
13650         instead of ifdef ASM_OUTPUT_SECTION_NAME.
13651         * dbxout.c (dbxout_function_decl): Likewise.
13652         (dbxout_function_end): Likewise.
13653         * toplev.c (compile_file): Likewise.
13654         * varasm.c (exception_section): Likewise.
13655         * cp/decl2.c (finish_objects): Likewise.
13656
13657         * defaults.h (EH_FRAME_SECTION): Remove.
13658         (EH_FRAME_SECTION_ASM_OP): Remove.
13659         (EH_FRAME_SECTION_NAME): New.
13660         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
13661         (UNIQUE_SECTION_P): Remove.
13662         * dwarf2out.c (SECTION_FORMAT): Remove.
13663         (ASM_OUTPUT_SECTION): Remove.
13664         (output_call_frame_info): Use named_section_flags.
13665         (output_comp_unit, dwarf2out_start_source_file): Likewise.
13666         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
13667         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
13668         * varasm.c (in_eh_frame, eh_frame_section): Remove.
13669         (named_section_flags): New.
13670         (named_section): Use it and targetm.section_type_flags.
13671         (resolve_unique_section): New.
13672         (assemble_start_function): Use it.
13673         (asm_emit_uninitialised, assemble_variable): Likewise.
13674         (default_section_type_flags): New.
13675         (default_no_named_section, default_elf_asm_named_section): New.
13676         (default_coff_asm_named_section, default_pe_asm_named_section): New.
13677         * output.h: Update varasm.c decls.
13678         (SECTION_*): New flags.
13679
13680         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
13681         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
13682
13683         * config/elfos.h (UNIQUE_SECTION_P): Remove.
13684         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
13685         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
13686         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13687         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
13688         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
13689         * config/mips/elf.h, config/mips/elf64.h: Likewise.
13690         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
13691         * config/pa/pa64-hpux.h,
13692
13693         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
13694         (TARGET_ASM_NAMED_SECTION): New.
13695         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
13696         * config/alpha/vms.h, config/arm/coff.h: Likewise.
13697         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
13698         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
13699         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
13700         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
13701         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13702         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
13703         * config/i386/sco5.h, config/i386/win32.h: Likewise.
13704         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
13705         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
13706         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
13707         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
13708         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
13709         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
13710         * config/sparc/sysv4.h: Likewise.
13711
13712         * config/nextstep.h: Error until named sections implemented.
13713
13714         * config/a29k/a29k.c (a29k_asm_named_section): New.
13715         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
13716         (vms_section_type_flags, vms_asm_named_section): New.
13717         * config/arm/arm.c (arm_elf_asm_named_section): New.
13718         * config/avr/avr.c (asm_output_section_name): Remove.
13719         * config/avr/avr-protos.h: Update.
13720         * config/c4x/c4x.c (c4x_asm_named_section): New.
13721         * config/h8300/h8300.c (h8300_asm_named_section): New.
13722         * config/i386/i386.c (sco_asm_named_section): New.
13723         * config/i386/winnt.c (SECTION_PE_SHARED): New.
13724         (i386_pe_section_type_flags): New.
13725         (i386_pe_asm_named_section): New.
13726         * config/i386/i386-protos.h: Update.
13727         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
13728         * config/mcore/mcore.c (mcore_asm_named_section): New.
13729         * config/mips/mips.c (iris6_asm_named_section): New.
13730         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
13731         instead of UNIQUE_SECTION_P.
13732         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
13733         (xcoff_asm_named_section): New.
13734         * config/sh/sh.c (sh_asm_named_section): New.
13735         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
13736
13737         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
13738         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
13739         (EH_FRAME_SECTION_NAME): New.
13740         (EXCEPTION_SECTION): New.
13741         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
13742         (DEBUG_*_SECTION): Remove.
13743         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
13744         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
13745         (EH_FRAME_SECTION_ASM_OP): Remove.
13746
13747         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
13748         (ASM_OUTPUT_SECTION_NAME): Remove.
13749         (TARGET_ASM_NAMED_SECTION): New.
13750         (TARGET_HAVE_NAMED_SECTIONS): New.
13751         (TARGET_SECTION_TYPE_FLAGS): New.
13752         (EH_FRAME_SECTION_ASM_OP): Remove.
13753         (EH_FRAME_SECTION_NAME): New.
13754
13755 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
13756
13757         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
13758         for complex expressions when cfun == 0.
13759         * doc/extend.texi: Document that __builtin_constant_p can be
13760         used in data initializers as well as functions.
13761
13762 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
13763
13764         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
13765         variable I locally, instead of expecting a declaration in the
13766         calling context.
13767
13768 2001-08-03  Richard Henderson  <rth@redhat.com>
13769
13770         * except.c (collect_one_action_chain): Add an explicit cleanup
13771         action if regions surrounding a catch were encoded entirely
13772         within the call-site entry.
13773
13774 2001-08-03  Richard Henderson  <rth@redhat.com>
13775
13776         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
13777         don't take REGNO of a non-register.
13778
13779 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13780
13781         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
13782         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
13783         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
13784         (__gthread_mutex_init_function): New function for mutex initialization.
13785
13786 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13787
13788         * Makefile.in: Revert screwed up commit.
13789
13790 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13791
13792         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
13793         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
13794         merged by linker script to get a final _exit().
13795         (__do_global_dtors): New for destructor handling in specific exit
13796         section.
13797         (__do_global_ctors): New for constructors in specific install section.
13798         (__map_data_section): Map data sections before running constructors.
13799         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
13800         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
13801         (DTORS_SECTION_ASM_OP): Likewise.
13802         (CTORS_SECTION_FUNCTION): Define to force a reference to
13803         __do_global_ctors.
13804         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
13805
13806 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13807
13808         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
13809
13810         * Makefile.in: Add df.h to gcse.c dependencies.
13811
13812 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13813
13814         * varasm.c (output_constant_def_contents): Use for the length of a
13815         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
13816         depending on which is larger.
13817
13818 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13819
13820         * gcse.c: Include df.h for use as a dataflow analyzer.
13821         Remove regvec.
13822         Declaration of reg_set_info: gone.
13823         New df_analyzer variable used by store motion.
13824         (reg_set_info): Deleted.
13825         (mark_mem_regs): New function, analyze regs used by a mem.
13826         (store_ops_ok): Use dataflow analyzer results to determine if
13827         necessary regs are changed in the block.
13828         (find_moveable_store): Remove check for symbol ref, we can handle
13829         much more complex expressions now.
13830         (compute_store_table): Remove most of the code, it's unnecessary
13831         now that the dataflow analyzer records the info for us.
13832         (store_killed_after): Add parameter to say whether to do the
13833         store_ops_okay test, used to speed up testing when we already know
13834         the answer, and just want to know if the store itself was killed.
13835         (build_store_vector): Largely rewritten to calculate the various
13836         vectors properly, and somewhat optimized.
13837         (store_motion): Init the df_analyzer, get REG_DEF chains.
13838         Also handle trapping expressions (since mems almost always trap)
13839         (simple_mem): Redefine what a simple mem is.
13840
13841 2001-08-03  DJ Delorie  <dj@redhat.com>
13842
13843         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
13844         set from a constant part of the condition.
13845
13846 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
13847
13848         * mkdeps.c (deps_add_default_target): Make local variable
13849         ``start'' a const char pointer.
13850         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
13851
13852 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13853
13854         * doc/install.texi (Configuration): Fix markup.
13855         (Specific, i?86-*-udk): Likewise.
13856         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
13857         --with-gnu-ld.
13858         Document --enable-threads and --enable-libgcj status.
13859         (Specific, mips-sgi-irix*): Canonicalize triples.
13860         (Specific, mips-sgi-irix5): Warn about problems with this config.
13861         Mention required GNU as patch.
13862         Native assembler problems are fixed.
13863         (Specific, mips-sgi-irix6): Update O32 ABI support status.
13864         Document --enable-threads and --enable-libgcj status.
13865
13866 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13867
13868         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
13869         of mkinstalldirs.
13870
13871 2001-08-03  Richard Henderson  <rth@redhat.com>
13872
13873         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
13874         constant data.
13875
13876 2001-08-03  Richard Henderson  <rth@redhat.com>
13877
13878         * rtlanal.c (find_first_parameter_load): Stop if we
13879         reach a CODE_LABEL at BOUNDARY.
13880
13881 2001-08-03  Richard Henderson  <rth@redhat.com>
13882
13883         * config/alpha/alpha.md (force_movdi): New insn.
13884         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
13885         Tweek FRP marking of VMS prologue insns.
13886         * config/alpha/vms.h (EPILOGUE_USES): New.
13887
13888 2001-08-02  Richard Henderson  <rth@redhat.com>
13889
13890         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
13891
13892 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
13893
13894         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
13895         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
13896         config/convex/convex.h, config/d30v/d30v.c,
13897         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
13898         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
13899         config/mips/mips.h, config/mn10200/mn10200.h,
13900         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
13901         config/v850/v850.h, config/vax/openbsd.h,
13902         config/vax/openbsd1.h, config/vax/ultrix.h,
13903         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
13904         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
13905         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
13906         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
13907         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
13908         in comments and documentation.
13909
13910 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13911
13912         * line-map.c: New.
13913         * line-map.h: New.
13914         * Makefile.in (line-map.o): New.
13915         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
13916         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
13917         * cpperror.c (print_containing_files): Similarly.
13918         (print_location): Update.  Don't output a space before _Pragma.
13919         * cppfiles.c (stack_include_file): Set to line 1 immediately.
13920         (stack_include_filee, cpp_make_system_header): Update.
13921         (_cpp_execute_include): Get logical line number right for calling
13922         as-yet-unterminated #include.
13923         * cpphash.h (struct cpp_reader): Add line_maps.
13924         (_cpp_do_file_change): Update.
13925         * cppinit.c (cpp_create_reader): Initialize line maps.
13926         (cpp_destroy): Destroy line maps.
13927         (cpp_start_read): Get logical line number right.
13928         * cpplex.c (parse_string): Only warn once for multi-line strings.
13929         Use boolean variable for null warning.
13930         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
13931         already.
13932         (do_include_common): End the directive early.
13933         (do_line): Don't warn about out-of-range lines in preprocessed
13934         source.  Update.  Remove unused variables.
13935         (_cpp_do_file_change): Update for new line mapping.
13936         (pragma_cb): New typedef.
13937         (cpp_register_pragma): Stop looking ahead before calling the
13938         handler.  Clean up.
13939         (do_pragma_system_header): End directive early.
13940         (cpp_get_line_maps): New.
13941         (cpp_pop_buffer): Fudge logical line.  Update.
13942         * cpplib.h: Include line-map.h
13943         (enum cpp_fc_reason): Remove.
13944         (struct cpp_file_change): Update.
13945         (cpp_get_line_maps): New.
13946         * cppmain.c (struct_printer): New member map.
13947         (cb_file_change): Update for new mappings.
13948         * fix-header.c (cb_file_change): Similarly.
13949
13950 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13951
13952         * Makefile.in (libgcc.mk): Define mkinstalldirs.
13953         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
13954
13955 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
13956
13957         * config/vax/vax.c: include expr.h.
13958
13959 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13960
13961         * Makefile.in ($(srcdir)/configure): Only rebuild in
13962         maintainer mode.
13963         ($(srcdir)/config.in): Only define in maintainer mode.
13964         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
13965
13966 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
13967
13968         * doc/install.texi (Install GCC: Binaries): Update Bull info.
13969
13970 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13971
13972         * gcc.c (set_collect_gcc_options): New function, split out from
13973         main.
13974         Ignore elided switches.
13975         (do_spec_1): Invoke before executing command.
13976         (set_input): Export.
13977         Move declaration ...
13978         * gcc.h (set_input): ... here.
13979         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13980         file.
13981
13982 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
13983
13984         Kill -fhonor-std.
13985         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
13986         interaction.
13987         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
13988
13989 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
13990
13991         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
13992         for the unnamed instructions it expands to.
13993
13994 2001-08-02  Richard Henderson  <rth@redhat.com>
13995
13996         * regclass.c (call_really_used_regs): Conditionally define.
13997         (init_reg_sets_1): Don't use it if not defined.
13998         (fix_register): Similarly, don't set it.
13999
14000 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14001
14002         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
14003         Correct comment that had been missed in the previous change.
14004
14005 2001-08-01  Stan Shebs  <shebs@apple.com>
14006
14007         * config/darwin.c (machopic_stub_name): Try matching by name.
14008         (update_stubs): New function.
14009         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
14010         unconditionally.
14011
14012 2001-08-01  Richard Henderson  <rth@redhat.com>
14013
14014         * except.c (output_function_exception_table): Use assemble_align.
14015         * varasm.c (assemble_eh_label): Remove.
14016         (assemble_eh_align, assemble_eh_integer): Remove.
14017
14018 2001-08-01  Robert Lipe  <robertl@caldera.com>
14019
14020         * dwarfout.c: Remove reference to README.DWARF.
14021
14022 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
14023
14024         * regclass.c (call_really_used_regs): New array for registers which
14025         are actually used by a call.
14026         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
14027         new array.
14028         (fix_register): Set call_really_used too.
14029         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
14030         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
14031
14032 2001-08-01  Richard Henderson  <rth@redhat.com>
14033
14034         * read-rtl.c (read_name): Consider \r whitespace.
14035
14036 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
14037
14038         * config.gcc: Recognize powerpc-*-netbsd*.
14039
14040         * doc/install.texi (Host/target specific installation notes for
14041         GCC): Mention powerpc-*-netbsd*.
14042
14043         * config/rs6000/netbsd.h: New file.
14044         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
14045         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
14046         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
14047         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
14048         (TARGET_VERSION): Redefine.
14049
14050         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
14051         mcall-netbsd as a match for mcall-sysv.
14052         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
14053         (ncrti.S, ncrtn.S): New targets.
14054         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
14055
14056         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
14057         "netbsd' as a V4 ABI.
14058         (ASM_SPEC): Check for -mcall-netbsd.
14059         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
14060         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
14061         (LIB_SPEC, ENDFILE_SPEC): Ditto.
14062         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
14063         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
14064         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
14065         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
14066
14067         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
14068         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
14069
14070 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
14071
14072         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
14073         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
14074         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
14075         including "unwind-pe.h".
14076
14077 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
14078
14079         * rs6000.md (define_splits): Kill unused constraints.
14080
14081 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
14082                               Jan Hubicka  <jh@suse.cz>
14083
14084         * function.c (thread_prologue_and_epilogue_insns): Kill code
14085         dealing with non-existent CFG.
14086
14087 2001-08-01  Kazu Hirata  <kazu@hxi.com>
14088
14089         * alias.c: Fix comment formatting.
14090         * bitmap.c: Likewise.
14091         * builtins.c: Likewise.
14092         * calls.c: Likewise.
14093         * c-common.c: Likewise.
14094         * c-decl.c: Likewise.
14095         * c-dump.c: Likewise.
14096         * c-lex.c: Likewise.
14097         * collect2.c: Likewise.
14098         * combine.c: Likewise.
14099         * conflict.c: Likewise.
14100         * cppfiles.c: Likewise.
14101         * cppinit.c: Likewise.
14102         * cpplex.c: Likewise.
14103         * cpplib.c: Likewise.
14104         * cppmacro.c: Likewise.
14105         * cppspec.c: Likewise.
14106         * c-pragma.c: Likewise.
14107         * crtstuff.c: Likewise.
14108         * cse.c: Likewise.
14109         * cselib.c: Likewise.
14110         * c-semantics.c: Likewise.
14111         * c-typeck.c: Likewise.
14112
14113 2001-08-01  H.J. Lu <hjl@gnu.org>
14114
14115         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
14116
14117 2001-08-01  H.J. Lu <hjl@gnu.org>
14118
14119         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
14120
14121 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
14122
14123         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
14124         contextualizing Objective-C class name lookup by the lexer.
14125         (typespec_reserved_nonattr): Disable ObjC class name lookup after
14126         seeing a TYPESPEC.
14127         (protocoldef): Add support for forward @protocol declarations.
14128         (yylexname): Suppress ObjC class name lookup in certain contexts;
14129         re-enable after lookup is complete.
14130         (_yylex): Re-enable ObjC class name lookup when certain
14131         punctuation marks are seen.
14132
14133         * objc/objc-act.c (check_protocol_recursively): New function used
14134         for finding circular dependencies in protocols.
14135         (objc_declare_protocols): New function for handling forward
14136         @protocol declarations.
14137         (receiver_is_class_object): Detect the case when 'self' is used
14138         inside of a class method.
14139         (build_message_expr): Issue a warning if class method is desired
14140         but instance method is found instead.
14141         (conforms_to_protocol): Streamline.
14142         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
14143         protocol Foo, even if 'Bar foo' does not.
14144         (check_protocols): Streamline.
14145         (start_protocol): Add checks for circular and duplicate protocol
14146         definitions.
14147         (encode_aggregate_within): For typedefs of structs, encode the
14148         underlying struct.
14149         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
14150         (objc_declare_protocols): New prototype.
14151
14152 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14153
14154         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
14155         * cpplex.c (handle_newline): Update prototype.  Maintain logical
14156         line number.
14157         (skip_escaped_newlines, skip_block_comment, parse_string):
14158         Update accordingly.
14159         (_cpp_lex_token): Update, and store token position within the token.
14160         * cpplib.h (struct cpp_token): Add line and column entries.
14161         * cppmacro.c (replace_args): Position stringified tokens correctly.
14162
14163 2001-08-01  Andreas Jaeger  <aj@suse.de>
14164
14165         * basic-block.h: Add prototype for last_loop_beg_note.
14166
14167 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
14168
14169         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
14170         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
14171         comment.
14172         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
14173         while handling WITH_CLEANUP_EXPR node. Use second operand calling
14174         expand_decl_cleanup.
14175         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
14176         the first RTX.
14177         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
14178         operand while calling simple_cst_equal.
14179         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
14180         operand is the cleanup expression, the third is the RTL_EXPR.
14181         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
14182
14183 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
14184
14185         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
14186
14187 2001-07-31  matthew green  <mrg@eterna.com.au>
14188
14189         * config.gcc (i386-*-netbsdelf): New description.
14190         * config/i386/netbsd-elf.h: New file.
14191
14192 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
14193
14194         * loop.c (check_dbra_loop): Use single_set to compute
14195         jump_label.
14196
14197 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
14198
14199         PowerPC reorg and support for powerpc64-*-linux*.
14200
14201         Also fixes emitting of constants on 32 bit and 64 bit
14202         platforms.
14203
14204         * config.gcc: powerpc64-*-linux* is a new target.
14205         Things that needed aix.h now also include xcoff.h
14206
14207         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
14208         xcoff.h.
14209         Move AIX specific stuff into aix.h.
14210         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
14211         with more than just XCOFF now.
14212         (SET_ASM_OP): Remove, now defined where needed.
14213         (FUNCTION_PROLOGUE): New macro definition.
14214         (FUNCTION_EPILOGUE): New macro definition.
14215         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
14216
14217         * config/rs6000/xcoff.h: New file.
14218
14219         * config/rs6000/linux64.h: New file.
14220
14221         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
14222
14223 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
14224
14225         * rs6000.c (print_operand_address): Handle ELF syntax.
14226         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
14227         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
14228         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
14229
14230 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
14231
14232         * rs6000.c (rs6000_override_options): Only disable
14233         flag_function_sections for XCOFF.
14234         (exact_log2_cint_operand): New predicate.
14235         (reg_or_{add,sub}_cint64_operand): New predicates.
14236         (add_operand): Compare CONST_INT with fewer function calls.
14237         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
14238         (print_operand, case 'p'): Ensure positive operand.
14239         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
14240         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
14241         (PREDICATE_CODES): Add new predicates.
14242         * rs6000.md (addsi3): Split 32-bit constants more correctly.
14243         (divsi3, modsi3): Ensure positive power-of-2.
14244         (adddi3): Use new predicate.  Split 32-bit constants more
14245         correctly.  Re-arrange splitter to handle any constant.
14246         (subdi3): Use new predicate.
14247         (divdi3, moddi3): Ensure positive power-of-2.
14248         (movdi): Use rs6000_emit_set_const.
14249         (load_toc_v4_pic_di): Delete.
14250
14251 2001-07-31  Graham Stott <grahams@redhat.com>
14252
14253         * function.c (pad_below): Revert 2001-07-26 patch.
14254
14255 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
14256
14257         * reg-stack (convert_regs_1): Fix best edge condition.
14258
14259 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
14260
14261         * jump.c (duplicate_loop_exit_test): Better test for jumps
14262         entering the loop; create loop pre_header.
14263
14264 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
14265
14266         * doc/install.texi: Add s390 and s390x as new targets.
14267         * doc/invoke.texi: Add documentation of S/390 and zSeries
14268         target options.
14269         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
14270
14271 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14272
14273         * config/m68k/m68k.md: Replace all general_operand with
14274         nonimmediate_operand for all destinations.
14275         * config/m68k/m68k.c (not_sp_operand): Likewise.
14276
14277 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
14278
14279         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
14280
14281 2001-07-30  Richard Henderson  <rth@redhat.com>
14282
14283         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
14284         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
14285
14286 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14287
14288         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
14289         Add missing doc strings
14290         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
14291         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
14292
14293 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
14294
14295         * i386.c (ix86_output_main_function_alignment_hack): New function.
14296         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
14297
14298         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
14299         edges by EDGE_DFS_BACK flag.
14300         (dump_edge_info): Add dfs_back flag.
14301         * basic-block.h (EDGE_DFS_BACK): New constant.
14302         (mark_dfs_back_edges): Declare.
14303         * alias.c (loop_p): Remove.
14304         (mark_constant_function): Use mark_dfs_back_edges.
14305
14306         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
14307         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
14308         (compensate_edge): Break out from ...
14309         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
14310         (convert_regs_2): Set block_done once block is really done;
14311         Do updating of the predecessors counts.
14312
14313         * toplev.c (rest_of_compilation): Recompute block_for_insn
14314         before post-reload cfg_cleanup.
14315         * function.c (thread_prologue_epilogue_insns):
14316         Call set_block_for_new_insns when emitting prologue directly.
14317
14318 2001-07-30  Andreas Jaeger  <aj@suse.de>
14319
14320         * jump.c: Add prototype for mark_modified_reg.
14321
14322         * cse.c (set_live_p): Add unused attribute.
14323
14324         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
14325         overflow.
14326         (scan_for_source_files): Use long for count to avoid overflow.
14327         (output_data): Likewise.
14328         (output_data): Don't use string concatatenation to silence gcc
14329         -traditional.
14330
14331         * predict.c: Fix typos and grammar.
14332
14333         * gcse.c (insert_insn_end_bb): Remove unused variables.
14334
14335 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
14336
14337         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
14338         (attempt_auto_inc): LIkewise.
14339         (mark_used_reg): Likewise.
14340         (try_pre_increment_1): Likewise.
14341         * regclass.c (regclass): Likewise.
14342         * global.c (allocno_compare): Update comment; change scaling factor.
14343         * local-alloc.c (QTY_CMP_PRI): Likewise.
14344         * regs.h (REG_FREQ_FROM_BB): New.
14345         (REG_FREQ_MAX): Likewise.
14346
14347 2001-07-30  H.J. Lu <hjl@gnu.org>
14348
14349         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
14350         -D_GNU_SOURCE.
14351
14352 2001-07-30  H.J. Lu  (hjl@gnu.org)
14353
14354         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
14355         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
14356         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
14357
14358 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
14359
14360         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
14361         as -mthumb-interwork when -mcpu=arm7 is specified.
14362
14363 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14364
14365         * predict.def (noreturn, loop branch, loop exit): Mark as first
14366         match heuristics.
14367
14368 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
14369
14370         * combine.c (try_combine): Avoid barrier after noop jumps.
14371
14372 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14373
14374         * cpphash.h (struct cpp_reader): Remove import_warning.
14375         * cpplib.c (skip_rest_of_line): Don't bother turning off
14376         macro expansion.
14377         (parse_include): Move include handling to...
14378         (do_include_common): ... here.  Move import warning from...
14379         (do_import): ... here.
14380         (do_pragma_poison): Don't do a callback for poison identifiers.
14381         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
14382         * cppmain.c (setup_callbacks): Similarly.
14383
14384 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
14385
14386         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
14387         handle multiple sets.
14388         * except.c (sjlj_mark_call_sites): .... here.
14389         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
14390
14391 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
14392
14393         Suggested by Richard Henderson and Richard Kenner:
14394         * combine.c (recog_for_combine): Use the fake recog
14395         only if instruction does not match.
14396         * rtl.h (NOOP_MOVE_INSN_CODE): New.
14397         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
14398
14399         * combine.c (try_combine): Discover noop jump as direct jump.
14400
14401 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
14402
14403         * df.c (df_rd_global_compute): Add successors to worklist, not
14404         current item.
14405         (df_ru_global_compute): Ditto.
14406
14407 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
14408
14409         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
14410         increment REG_N_SETS.
14411
14412 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
14413
14414         * sbitmap.h: New prototype for sbitmap_a_xor_b.
14415
14416         * sbitmap.c (sbitmap_a_xor_b): New function.
14417         ifdef the basic block stuff on IN_GCC.
14418
14419 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14420
14421         * cppexp.c (parse_defined): Always record the macro name.
14422         (lex): Don't worry about identifiers, or special-case
14423         CPP_NOT here.
14424         (_cpp_parse_expr): Figure out at the end of the routine
14425         whether we saw a valid !defined() expression.
14426         * cppfiles.c (stack_include_file): Update for mi_valid.
14427         (_cpp_pop_file_buffer): Similarly.
14428         * cpplex.c (_cpp_lex_token): Similarly.
14429         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
14430         mi_if_not_defined, mi_lexed): Remove.
14431         (mi_valid): New.
14432         * cpplib.c (do_if): Simplify.
14433         (do_endif, push_conditional, _cpp_handle_directive): Update
14434         for renaming of mi_state to mi_valid.
14435 doc:
14436         * cpp.texi: Add index entries for digraphs, and add comment
14437         that C++ refers to them as alternative tokens.
14438
14439 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
14440
14441         * basic-block.h (CLEANUP_PRE_LOOP): New.
14442         * except.c (finish_eh_generation): Update call of cleanup_cfg.
14443         * sibcall.c (optimize_sibling_calls): Likewise.
14444         * toplev.c (rest_of_compilation): Likewise.
14445         * flow.c (try_forward_edges): Take argument MODE;
14446         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
14447         (try_optimize_cfg): Update call of try_forward_edges.
14448
14449 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
14450                                 Jan Hubicka  <jh@suse.cz>
14451
14452         * (validate_replace_rtx_1): Fix simplification of MINUS.
14453
14454 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
14455
14456         PR preprocessor/3669
14457         * cppinit.c (init_dependency_output): Turn off dump requests
14458         if sending dependencies to stdout.
14459
14460 2001-07-28  Richard Henderson  <rth@redhat.com>
14461
14462         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
14463         not optimizing.
14464
14465 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
14466
14467         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
14468
14469 2001-07-28  Kazu Hirata  <kazu@hxi.com>
14470
14471         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
14472         is VAR_DECL first to prevent an ICE.
14473
14474 2001-07-28  Richard Henderson  <rth@redhat.com>
14475
14476         * varasm.c (immed_real_const_1): Don't elide special cases for
14477         nested functions.
14478         (clear_const_double_mem): Clear const_tiny_rtx too.
14479
14480 2001-07-28  Richard Henderson  <rth@redhat.com>
14481
14482         * dwarf2out.c (dw_val_class_offset): New.
14483         (struct dw_ranges_struct, dw_ranges_ref): New.
14484         (ranges_table, ranges_table_allocated): New.
14485         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
14486         (add_AT_offset, add_ranges, output_ranges): New.
14487         (print_die, output_die): Handle dw_val_class_offset.
14488         (attr_checksum, size_of_die, value_format): Likewise.
14489         (gen_lexical_block_die): Handle non-contiguous blocks.
14490         (gen_block_die): Likewise.
14491         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
14492         if needed.  Dump the ranges table.
14493         * final.c (final_start_function): Remove unnecessary notes and
14494         rebuild the block tree before numbering the blocks.
14495         * function.c (reorder_blocks_0): Walk the existing block tree
14496         to unmark all blocks.
14497         (reorder_blocks_1): Create block fragments when duplicate block
14498         notes are seen.
14499         (reorder_fix_fragments): New.
14500         (reorder_blocks): Call it.
14501         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
14502
14503 2001-07-28  Richard Henderson  <rth@redhat.com>
14504
14505         * emit-rtl.c (adjust_address): Make a copy of the memory address.
14506
14507 2001-07-28  Richard Henderson  <rth@redhat.com>
14508
14509         * flow.c (add_to_mem_set_list): New function.
14510         (init_propagate_block_info): Use it.
14511         (mark_set_1): Likewise.
14512         (insn_dead_p): Canonicalize memory address for dead store
14513         comparison.  Allow wider mode stores to kill narrower mode stores.
14514         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
14515         (invalidate_mems_from_set): Don't handle MEMs.
14516
14517 2001-07-28  Kazu Hirata  <kazu@hxi.com>
14518
14519         * config/h8300/h8300.h: Fix formatting.
14520
14521 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
14522
14523         * basic-block.h (EDGE_FREQUENCY): New macro.
14524         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
14525         for new BB/edges.
14526         * flow.c (find_sub_basic_blocks): Likewise.
14527         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
14528         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
14529
14530         * predict.c (DEF_PREDICTOR): New argument FLAGS.
14531         (HITRATE): New macro.
14532         (PRED_FLAG_FIRST_MATCH): New constant.
14533         (predictor_info): New field flgags.
14534         (combine_predictions_for_insn): Use DS theory to combine
14535         probabilities; set the edge probabilities when finished.
14536         (estimate_probability): Avoid duplicated matches
14537         of LOOP_BRANCH heuristics for nested loops; update comment.
14538         * predict.def: Add flags for each prediction, set probabilities
14539         according to B&L paper.
14540         * predict.h (DEF_PREDICTOR): New argument FLAGS.
14541
14542         * profile.c (compute_branch_probabilities):  Cleanup way the edge
14543         probabilities are computed and REG_BR_PROB notes are dropped; if
14544         values does not match, emit error.
14545         (init_branch_prob): Do error instead of warning when profile driven
14546         feedback is missing or corrupt.
14547
14548 2001-07-27  DJ Delorie  <dj@redhat.com>
14549
14550         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
14551         against a constant, try to adjust the compare to have the desired
14552         constant in it so that min/max optimizations happen more often.
14553
14554 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14555
14556         * flow.c (last_loop_beg_note): New function.
14557         (redirect_edge_and_branch): Use it.
14558         (split_edge): Likewise.
14559
14560         * alias.c (loop_p): Avoid uninitialized memory access.
14561
14562         * flow.c (try_forward_edges): Avoid accessing freed memory.
14563
14564         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
14565         variable access.
14566
14567 2001-07-26  Andrew Haley  <aph@redhat.com>
14568         Joern Rennecke <amylaar@redhat.com>
14569
14570         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
14571         (SUBTARGET_CPP_ENDIAN_SPEC): New.
14572         (SUBTARGET_CPP_SPEC): New.
14573         (CPP_SPEC): Remove.
14574         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
14575         (SUBTARGET_CPP_PTR_SPEC): New.
14576         (CPP_DEFAULT_CPU_SPEC): New.
14577         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
14578         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14579         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
14580         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14581         (SUBTARGET_CPP_SPEC): Define as an empty string.
14582
14583 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14584
14585         * doc/install.texi (Configuration): Properly link the host
14586         specific instructions also when generating HTML.
14587
14588 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
14589
14590         * flow.c (redirect_edge_and_branch_force): Test
14591         target->global_live_at_start.
14592
14593 2001-07-26  Richard Henderson  <rth@redhat.com>
14594
14595         * simplify-rtx.c (avoid_constant_pool_reference): Export.
14596         * rtl.h (avoid_constant_pool_reference): Declare it.
14597         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
14598         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
14599
14600 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
14601
14602         * rtl.h (cleanup_barriers): Declare.
14603         * jump.c (cleanup_barriers): New function.
14604         * toplev.c (rest_of_compilation): Call cleanup_barriers
14605         before loop optimizer and after bb_reorder.
14606
14607         * flow.c (back_edge_of_syntactic_loop_p): New.
14608         (split_edge): Use it.
14609
14610 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14611
14612         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
14613
14614 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
14615
14616         * cse.c (cse_process_notes): Replace any registers if the address
14617         remains valid.
14618
14619 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
14620
14621         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
14622         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
14623         (propagate_block): Update prototype.
14624         * flow.c (update_life_info): Simplify the CFG and
14625         recalculate the global regs which are alive when
14626         removing dead code during a global update.
14627         (propagate_block): Return non-zero if an INSN is
14628         deleted.
14629
14630 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14631
14632         * Makefile.in (LIBICONV): Define.
14633
14634 2001-07-26  Catherine Moore  <clm@redhat.com>
14635
14636         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
14637         of conditional to avoid tree checking errors.
14638
14639 2001-07-26  Kazu Hirata  <kazu@hxi.com>
14640
14641         * regmove.c (regmove_optimize): Don't replace a reg with
14642         another reg of a different mode.
14643
14644 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
14645
14646         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
14647         limit length of dependency flush list.
14648         * params.h (MAX_PENDING_LIST_LENGTH): Define.
14649         * sched-int.h  (struct deps): Add pending_flush_length field.
14650         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
14651         has 1 element in it.
14652         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
14653         (sched_analyze): After a jump, if the pending memory flush list is too
14654         large, flush the pending lists.
14655         (init_deps): Initialize pending_flush_length to 0.
14656         * doc/invoke.texi (max_pending_list_length): Document parameter.
14657
14658 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
14659
14660         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
14661         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
14662         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
14663
14664 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14665
14666         * cpphash.h (struct_lexer_state): Delete was_skipping.
14667         Move skipping here from struct cpp_reader.
14668         * cpplex.c (parse_identifier): Update.
14669         (_cpp_lex_token): Don't skip tokens in a directive.
14670         * cpplib.c (struct if_stack): Update.
14671         (start_directive, end_directive): Don't change skipping state.
14672         (_cpp_handle_directive): Update.
14673         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
14674         (do_else, do_endif): Update; only check for excess tokens if not
14675         in a skipped conditional block.
14676         (push_conditional): Update for new struct if_stack.
14677
14678 2001-07-26  Graham Stott  <grahams@redhat.com>
14679
14680         * function.c (locate_and_pad_parm): Also pad initial offset
14681         so that the total argument size also includes the padding.
14682
14683 2001-07-26  Graham Stott <grahams@redhat.com>
14684
14685         * gensupport.c (alter_output_for_insn): Correct enable checking failure
14686         change XSTR to XTMPL.
14687
14688         (process_one_cond_exec): Likewise
14689
14690 2001-07-25  Richard Henderson  <rth@redhat.com>
14691
14692         * varasm.c (assemble_variable): Create DECL_RTL before setting
14693         TREE_ASM_WRITTEN.
14694
14695 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
14696
14697         * predict.c (estimate_probability): Avoid duplicated predictions.
14698
14699         * loop.c (find_and_verify_loops): Grok multiple barriers.
14700
14701 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14702
14703         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
14704
14705         * dbxout.c: Consistently use putc instead of fputc.
14706         (print_wide_int): New function; call instead of direct fprintf.
14707         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
14708         (dbxout_type_fields, dbxout_type_method_1): Likewise.
14709         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
14710         (print_int_cst_octal): Likewise.
14711         (print_octal): Show we wrote characters.
14712         (dbxout_type): Set have_used_extensions in more places.
14713
14714 2001-07-25  Catherine Moore  <clm@redhat.com>
14715
14716         * config/v850/v850.c (v850_va_arg):  Use addr
14717         instead of valist to build incr.
14718
14719 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
14720
14721         * flow.c (delete_dead_jumptables): New function.
14722         (life_analyzis): Call it.
14723         * bb-reorder.c (skip_insns_after_block): Handle contradictory
14724         sequences.
14725
14726 2001-07-25  Richard Henderson  <rth@redhat.com>
14727
14728         * except.c (reachable_handlers): Handle a region being removed
14729         out from under a RESX.
14730
14731 2001-07-25  Richard Henderson  <rth@redhat.com>
14732
14733         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
14734         swap GE/GT if it is an fp comparison.
14735
14736 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
14737
14738         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
14739         operands.
14740
14741 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
14742
14743         * ssa.c (rename_insn_1): Do not wrap an assignment to a
14744         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
14745         glitch.
14746
14747         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
14748         throw an exception.
14749         (visit_expression): When attempting to simplify an expression,
14750         retrieve any modes for arguments before they are simplified
14751         to constants.
14752
14753 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
14754             Janis Johnson  <janis@us.ibm.com>
14755
14756         * stmt.c (expand_goto): A nonlocal goto can be a call too.
14757         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
14758         pointer parameters to match documented usage of nonlocal_goto.
14759         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
14760         parameters to their correct order.
14761         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
14762         parameters to their correct order.
14763
14764 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
14765
14766         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
14767
14768 2001-07-25  Jan Hubicka  <jh@suse.cz>
14769             Richard Henderson  <rth@redhat.com>
14770
14771         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
14772         the sequence.
14773         (make_edges): New argument update_p; populate the edge cache if set.
14774         (find_basic_blocks): Update make_edges invocation.
14775
14776 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14777
14778         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
14779
14780 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14781
14782         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
14783         -Acpu and -Amachine.h.
14784         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
14785         Corrected header to say ELF not a.out.
14786         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
14787         when given -msoft-float.
14788
14789 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14790
14791         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
14792         extra multilib parts like arm-elf.
14793         (i960-*-coff*, i960-*-rtems): Should not use collect2.
14794         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
14795         crtfini.o as extra multilib parts.
14796
14797 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14798
14799         * configure.in: Add rtems as a supported thread model.
14800         * gthr-rtems.h: Add missing entry point __gthread_active_p.
14801         * configure: Rebuilt.
14802
14803 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
14804
14805         * stor-layout.c (get_mode_alignment): make it work when
14806         BITS_PER_UNIT is not a power of two.
14807         * builtins.c (get_pointer_alignment): Likewise.
14808
14809 2001-07-24  Richard Henderson  <rth@redhat.com>
14810
14811         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
14812         the retrieved constant into the expected mode.
14813
14814 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
14815
14816         * flow.c (try_simplify_condjump): Avoid duplicated edges.
14817         (verify_flow_info): Check for duplicated edges; clarify
14818         error reporting.
14819
14820         * flow.c (block_label): Update basic_block_for_insn.
14821         (commit_edge_insertions): Call compute_bb_for_insn.
14822
14823         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
14824         returns too.
14825
14826         * flow.c (redirect_edge_and_branch,
14827         try_optimize_cfg): Use redirect_edge_succ_nodup
14828         (redirect_edge_succ_nodup): New.
14829         * basic_block.h (redirect_edge_succ_nodup): Declare.
14830
14831         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
14832         after gcse.
14833
14834 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
14835
14836         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
14837         (try_crossjump_to_edge): Update commetns.
14838         (try_crossjump_bb): Likewise.
14839
14840 2001-07-24  Richard Henderson  <rth@redhat.com>
14841
14842         * combine.c (distribute_notes): Move set of need_refresh
14843         for noop_move_p down to catch all cases.
14844
14845 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
14846
14847         * recog.c (split_all_insns_noflow): New.
14848         * rtl.h (split_all_insns_noflow): Declare.
14849         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
14850         * m68hc11.c (m68hc11_reorg): Likewise.
14851         * sh.c (machine_dependent_reorg): Likewise.
14852         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
14853         call.
14854
14855 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
14856
14857         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
14858         (ashlsi3_n splitter): Likewise.
14859         (lshrsi3_n splitter): Likewise.
14860
14861         (GOTaddr2picreg): Make const SImode.
14862         (sym_label2reg): Likewise.
14863         (symGOT2reg): Likewise.
14864         (symGOTOFF2reg) Likewise.
14865
14866         (casesi_worker_0): Make unspec SImode.
14867
14868 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
14869
14870         * config/sh/sh.c (barrier_align): Check that an operand really is
14871         an insn before extracting its INSN_CODE.
14872
14873 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
14874
14875         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
14876         dangling else.
14877
14878         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
14879         for SImode to prevent overflow.
14880
14881 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14882
14883         * config/mips/irix6-libc-compat.c: New file.
14884         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
14885         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
14886         passing workaround.
14887
14888 2001-07-24  lars brinkhoff  <lars@nocrew.org>
14889
14890         * rtl.texi (REG_POINTER): Document.
14891         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
14892         QFmode, HFmode, TQFmode, QCmode, and HCmode.
14893
14894 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
14895
14896         * flow.c (delete_noop_moves): Do not confuse libcall regions.
14897
14898 2001-07-23  Richard Henderson  <rth@redhat.com>
14899
14900         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
14901
14902 2001-07-23  Kazu Hirata  <kazu@hxi.com>
14903
14904         * config/h8300/h8300-protos.h: Add a prototype for
14905         general_operand_dst_push.
14906         * config/h8300/h8300.c (general_operand_dst_push): New.
14907         * config/h8300/h8300.h (OK_FOR_T): New.
14908         (EXTRA_CONSTRAINT): Use it.
14909         * config/h8300/h8300.md (movqi_push): Remove and integrate into
14910         the existing movqi pattern.
14911         (movhi_push): Likewise.
14912
14913         * reload.c: Fix comment typos.
14914
14915 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
14916
14917         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
14918
14919 2001-07-23  H.J. Lu  (hjl@gnu.org)
14920
14921         * doc/extend.texi: Update __builtin_return_address and
14922         __builtin_frame_address.
14923
14924 2001-07-23  Richard Henderson  <rth@redhat.com>
14925
14926         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
14927         before CSE.
14928         * config/i386/i386.md: New setcc+movzbl peephole2.
14929
14930 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14931
14932         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
14933         * objc/objc-act.c: Include debug.h.
14934         (synth_module_prologue): Save and restore debug hooks too.
14935
14936 2001-07-23  lars brinkhoff  <lars@nocrew.org>
14937
14938         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
14939         and C4X_FLOAT_FORMAT.
14940         (BOOL_TYPE_SIZE): Document.
14941
14942 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
14943
14944         * unroll.c (loop_iterations): Fix miscalculation of initial
14945         giv offset.
14946
14947 2001-07-13  Andrew Haley  <aph@redhat.com>
14948
14949         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
14950         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
14951         * config/sh/sh.c (sh_can_redirect_branch): New function.
14952         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
14953         * reorg.c (steal_delay_list_from_target): Use
14954         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
14955
14956 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
14957
14958         * flow.c (try_simplify_condjump): Unlink insn chain on
14959         fallthru edge; use can_fallthru.
14960
14961 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
14962
14963         * basic-block.h (find_sub_basic_block): Declare.
14964         * flow.c (make_edges): New arguments MIN and MAX;
14965         (find_sub_basic_blocks): Revamp to use make_edges
14966         and purge_dead_edges.
14967         (find_basic_blocks): Update call of find_sub_basic_block.
14968
14969         * recog.c (split_all_insns): Always expect CFG to be consistent;
14970         call find_sub_basic_blocks in case something has changed.
14971         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
14972         has been built.
14973
14974         * basic-block.h (delete_noop_moves): Declare.
14975         * combine.c (combine_instructions): Call it.
14976         (recog_for_combine): Tolerate noop moves
14977         (distribute_notes): Force refresh when register dies at noop move.
14978         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
14979         too.
14980         (life_analysis): Update delete_noop_moves call.
14981         (set_noop_p): Move too ...
14982         * rtlanal.c (noop_move_p): ... here.
14983         * rtl.h (noop_move_p): Declare.
14984
14985         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
14986         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
14987         after combine.
14988         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
14989         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
14990
14991 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
14992
14993         * reload.c (push_reload): Fix typo in comment.
14994         (find_reloads_address): Ditto.
14995         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
14996
14997 2001-07-22  Richard Henderson  <rth@redhat.com>
14998
14999         * flow.c: Grammar check and clarify a lot of comments.
15000         (try_simplify_condjump): Rename variables to be clearer.
15001         (try_forward_edges): Skip complex and fallthru edges.
15002         Rearrange tests to avoid duplicate checks.
15003         (flow_find_cross_jump): Likewise.
15004         (outgoing_edges_match): Allow match if neither branch has
15005         probability data.  Loosen probability match to 5%.
15006         (try_crossjump_to_edge): Hoist repeated indirection into
15007         local variables.
15008         (try_crossjump_bb): Don't check complex edges.  Eliminate
15009         redundant crossjump tests.
15010         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
15011         checks before more expensive checks.
15012
15013 2001-07-22  Richard Henderson  <rth@redhat.com>
15014
15015         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
15016         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
15017         arguments.
15018
15019 2001-07-22  Richard Henderson  <rth@redhat.com>
15020
15021         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
15022         (const_sint32_operand): Likewise.
15023         * m68k.md (anon mulsi pattern): Use const_int_operand not
15024         const_sint32_operand.
15025         (umulsi3_highpart): Zero extend a constant input.
15026         (smulsi3_highpart): Don't bother checking SImode constant.
15027         (const_umulsi3_highpart): Give op3 DImode.
15028         (const_smulsi3_highpart): Likewise.
15029
15030 2001-07-22  Richard Henderson  <rth@redhat.com>
15031
15032         * flow.c (split_block): Make sure bb_note is included in the
15033         new block when splitting before a label.
15034
15035 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
15036
15037         * basic-block.h (redirect_edge_and_branch_force,
15038         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
15039         * flow.c (redirect_edge_and_branch_force,
15040         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
15041         (redirect_edge_and_branch_force): Fix copying of lifeness information.
15042         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
15043         * ifcvt.c (dead_or_predictable): Take BB as an new destination
15044         instead of label; update CFG after transformation.
15045         (find_if_case_1): Update call, use redirect_edge_and_branch_force
15046         for finishing the transformation; handle even case where ELSE
15047         does not follow THEN.
15048         (find_if_case_2): Update call of dead_or_predictable; simplify
15049         CFG update.
15050
15051         * emit-rtl.c (split_branch_probability): New global variable.
15052         (try_split): Take care to set split_branch_probability and
15053         create REG_BR_PROB note for new jump insns.
15054         * md.texi (define_split): Document new feature.
15055
15056         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
15057
15058 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
15059
15060         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
15061         (asm_out_file): Remove redundant declaration.
15062         (assemble_asm): Remove old #if 0 block.
15063         (assemble_variable): Remove end of function; debug output is
15064         now handled with global_decl.  Remove old #if 0 block.  Update.
15065         Remove saved_in_section and associated no-op code.
15066         * Makefile.in (varasm.o): Correct dependencies.
15067
15068 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
15069
15070         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
15071         the definition in defaults.h.
15072
15073 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
15074
15075         * jump.c: Update comments.
15076         (delete_barrier_successors, delete_unreferenced_labels,
15077         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
15078         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
15079         jump_optimize, jump_optimize_minimal): Kill.
15080         (rebuild_jump_labels): Move code from jump_optimize_1.
15081         (purge_line_number_notes): Likewise.
15082         (copy_loop_headers): Likewise.
15083         * reg-stack.c: Update comment.
15084         * stmt.c: Likewise.
15085         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
15086         JUMP_AFTER_REGSCAN): Kill.
15087         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
15088         purge_line_number_notes and copy_loop_headers.
15089
15090 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
15091            Richard Henderson  <rth@redhat.com>
15092
15093         * dbxout.c (dbxout_global_decl): New.
15094         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15095         * sdbout.c (sdbout_finish): New.
15096         (sdbout_debug_hooks): Use it, add comments.
15097         (sdbout_global_decl): Defer initialised public vars to
15098         sdbout_finish.
15099         * varasm.c (assemble_variable): Don't output debug information
15100         for file-scope variables.
15101
15102 2001-07-22  Richard Henderson  <rth@redhat.com>
15103
15104         * config/alpha/alpha.c (get_trap_mode_suffix): New.
15105         (get_round_mode_suffix): New.
15106         (print_operand): Use them for [/].  Remove support for [&'`()+].
15107         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
15108         * config/alpha/alpha.md (attr round_suffix): New.
15109         (attr trap_suffix): New.
15110         (all insns): Set them appropriately.  Use %/ instead of the
15111         myriad punctuators.
15112
15113 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15114
15115         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
15116
15117 2001-07-22  Richard Henderson  <rth@redhat.com>
15118
15119         * regrename.c (regrename_optimize): Compute nregs for each
15120         potential target register.
15121
15122 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
15123            Richard Henderson  <rth@redhat.com>
15124
15125         * dbxout.c (dbxout_global_decl): New.
15126         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15127         * sdbout.c (sdbout_finish): New.
15128         (sdbout_debug_hooks): Use it, add comments.
15129         (sdbout_global_decl): Defer initialised public vars to
15130         sdbout_finish.
15131         * varasm.c (assemble_variable): Don't output debug information
15132         for file-scope variables.
15133
15134 2001-07-21  H.J. Lu  (hjl@gnu.org)
15135
15136         * config/mips/mips.c (mips_cpu): Moved into ...
15137         (override_options): Here.
15138
15139         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
15140         mips_tune.
15141         (mips_cpu): Removed.
15142
15143 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15144
15145         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
15146         ("iorqi3"): Likewise.
15147         ("xorqi3"): Likewise.
15148         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
15149         ("*subhi3_sp): Likewise.
15150         ("*subhi3"): Likewise.
15151         ("extendhisi2"): Accept D, X and Y as source operand to avoid
15152         reload problems.
15153
15154 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
15155
15156         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
15157         * config/freebsd.h: Likewise.
15158         * config/linux.h: Likewise.
15159         * config/openbsd.h: Likewise.
15160         * config/alpha/linux-elf.h: Likewise.
15161         * config/arm/linux-elf.h: Likewise.
15162         * config/d30v/d30v.h: Likewise.
15163         * config/fr30/fr30.h: Likewise.
15164         * config/ia64/aix.h: Likewise.
15165         * config/ia64/ia64.h: Likewise.
15166         * config/mips/linux.h: Likewise.
15167         * config/pj/pj.h: Likewise.
15168         * config/rs6000/linux.h: Likewise.
15169         * config/sparc/linux.h: Likewise.
15170         * config/sparc/linux64.h: Likewise.
15171
15172 2001-07-20  Bruce Korb  <bkorb@gnu.org>
15173
15174         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
15175         because getc() and char* may disagree on signedness.
15176
15177 2001-07-20  Richard Henderson  <rth@redhat.com>
15178
15179         * doc/rtl.texi (REG_DEAD): Update for current semantics.
15180
15181         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
15182         insns to delete in the presence of cc0 in a jump insn.
15183
15184 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15185                                 Jan Hubicka  <jh@suse.cz>
15186
15187         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
15188         of doing the change by hand.
15189
15190 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15191
15192         * rtlanal.c (set_noop_p): Return true for noop jumps.
15193
15194         * expr.c (emit_single_push_insn): Add call to push expander.
15195         * expr.h (optab_index): Add OTI_push
15196         (push_optab): New constant.
15197         * genopinit.c (optabs): Add push_optab.
15198         * optabs.c (init_optab): Init push optab.
15199         * md.texi (push??1): Document
15200
15201 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15202
15203         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
15204         expand to emit the pattern; put a REG_INC note for push/pop
15205         instructions.
15206         ("movdf", "movdf_internal"): Likewise.
15207         ("movsi", "movsi_internal"): Likewise.
15208         ("movsf", "movsf_internal"): Likewise.
15209         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
15210
15211 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15212
15213         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
15214         gen_highpart.
15215
15216 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
15217
15218         * params.def: Change default max inline insns to 100.
15219
15220 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
15221
15222         * combine.c (combine_simplify_rtx): Generate a new shift operation
15223         when simplifying the first operand of a (neg (ashift)) expression.
15224
15225 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15226
15227         * regclass.c (N_REG_INTS): Use only 32 bits per element.
15228
15229 2001-07-20  Kelley Cook  <kelley.cook@home.com>
15230
15231         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
15232         information.   Move rest into ...
15233         (*-*-solaris): ... here.  Eliminate redundant information and
15234         reword necessary packages section.  Delete 4.x assembler bug info.
15235         (sparc-sun-*): Merge into ...
15236         (sparc-sun-sunos*): here.
15237
15238 2001-07-20  Catherine Moore  <clm@redhat.com>
15239
15240         * config/v850/v850.md (casesi): Generate LABEL_REF
15241         with Pmode.
15242
15243 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
15244
15245         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
15246         * i386.c (ix86_zero_extend_to_Pmode): Make global.
15247         * i386.md (strclrsi expander): Use it.
15248
15249 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15250
15251         * integrate.c (copy_insn_list): handle
15252         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
15253         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
15254         identically as to CODE_LABEL.
15255
15256         * fold-const (fold): Convert A/B/C to A/(B*C) and
15257         A/(B/C) to (A/B)*C
15258
15259         * except.c (connect_post_landing_pads): Delete the RESX insns.
15260
15261 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
15262
15263         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
15264
15265         * config/mips/mips.md (nmadd/nmsub): Use macro.
15266
15267 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
15268
15269         * cppinit.c (remove_dup_dir): Make static.
15270         (remove_dup_dirs): Make static. Only warn about preempting a
15271         system directory with a non-system directory.
15272
15273 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
15274
15275         * ifcvt.c (noce_try_store_flag_constants): Correct order
15276         of parameters to trunc_int_for_mode.
15277
15278 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
15279
15280         * reorg.c (fill_simple_delay_slots): If an instruction might throw
15281         an exception that will be caught within this function, do not fill
15282         its delay slot with any subsequent instruction.
15283
15284 2001-07-19  Steve Ellcey <sje@cup.hp.com>
15285
15286         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
15287         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
15288         pointer extension instruction.
15289         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
15290         * simplify-rtx.c (simplify_unary_operation) Likewise.
15291         * explow.c (convert_memory_address) Check value of
15292         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
15293         less than zero.
15294         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
15295         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
15296         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
15297         Add Multilib Support.
15298         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
15299         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
15300         Add Multilib Support.
15301         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
15302         support.
15303         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
15304         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
15305         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
15306
15307 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
15308
15309         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
15310         old and new operands in `<', `3' and `b'.
15311
15312 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
15313
15314         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
15315         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
15316         (toplev.o): Don't depend on xcoffout.h.
15317         * c-decl.c: Include debug.h
15318         (duplicate_decls): Use debug hook.
15319         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
15320         (dbx_debug_hooks, xcoff_debug_hooks): Update.
15321         (dbxout_types): Remove.
15322         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
15323         * debug.c (do_nothing_debug_hooks): Update.
15324         (debug_true_tree, debug_nothing_rtx): New.
15325         * debug.h (struct rtx_def): New.
15326         (struct gcc_debug_hooks): New hooks ignore_block,
15327         outlining_inline_function and label.
15328         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
15329         dwarf2out_frame_finish): New.
15330         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
15331         Make static, update prototype.
15332         (dwarf2_debug_hooks): Update.
15333         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
15334         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
15335         * dwarfout.c (dwarf_debug_hooks): Update.
15336         * emit-rtl.c: Include debug.h.
15337         (remove_unnecessary_notes): Use debug hook.
15338         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
15339         (final_scan_insn): Use debug hook.
15340         * integrate.c (output_inline_function): Use debug hook.
15341         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
15342         (sdb_debug_hooks): Update.
15343         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
15344         * toplev.c: Don't include xcoffout.h.
15345         (note_outlining_of_inline_function, debug_ignore_block): Remove.
15346         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
15347         Remove.
15348         * tree.h (dwarf2out_do_frame): Remove.
15349
15350 2001-07-19  Catherine Moore  <clm@cygnus.com>
15351
15352         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
15353
15354 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
15355
15356         * reload1.c (eliminate_regs_in_insn): When updating a set
15357         to the frame pointer to the hardware frame pointer, perform
15358         the update always not just when REPLACE is set.
15359
15360         * reload1.c (choose_reload_regs): Don't inherit a reload
15361         that crosses multiple registers if registers past the first
15362         don't fit in the desired class.
15363
15364         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
15365         when negating constants.
15366
15367 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
15368
15369         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
15370         * doc/tree.texi: Ditto.
15371
15372 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
15373             Jakub Jelinek  <jakub@redhat.com>
15374
15375         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
15376         (extract_cie_info): Handle "eh" augmentation properly,
15377         remember eh_ptr.
15378         (struct frame_state, __frame_state_for): New.
15379
15380 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15381
15382         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
15383         HANDLE_SYSV_PRAGMA): Define.
15384         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
15385         previous args.
15386         (copy_object): Caller changed.
15387
15388 2001-07-19  Andreas Schwab  <schwab@suse.de>
15389
15390         * configure.in (assembler dwarf2 debug_line support): Define nop
15391         insn for m68k.
15392         * configure: Regenerated.
15393
15394 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
15395
15396         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
15397         dwarfout.h.
15398         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
15399         to conditionally compiled block.
15400         (dbx_debug_hooks, xcoff_debug_hooks): Update.
15401         * dbxout.h (dbxout_function): Remove.
15402         * debug.c (do_nothing_debug_hooks): Update.
15403         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
15404         global_decl, deferred_inline_function.
15405         * dwarf2out.c (dwarf2_debug_hooks): Update.
15406         (dwarf2out_global_decl): New.
15407         * dwarfout.c: Don't include dwarfout.h.
15408         (dwarfout_global_decl, dwarfout_function_decl,
15409         dwarfout_deferred_inline_function): New.
15410         (dwarf_debug_hooks): Update.
15411         * dwarfout.h: Remove.
15412         * final.c: Don't include dwarfout.h.
15413         * sdbout.c (sdbout_global_decl): New.
15414         (sdbout_debug_hooks): Update.
15415         * toplev.c: Don't include dwarfout.h.
15416         (check_global_declarations, rest_of_compilation): Use new debug hooks.
15417         (note_deferral_of_defined_inline_function): Remove.
15418         * toplev.h (note_deferral_of_defined_inline_function): Remove.
15419         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
15420         * ch/lex.c: Don't include dwarfout.h.
15421         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
15422         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
15423         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
15424         * cp/optimize.c: Include debug.h.
15425         (maybe_clone_body): Use debug hook.
15426         * cp/semantics.c: Include debug.h.
15427         (expand_body): Use debug hook.
15428         * po/POTFILES.in: Remove dwarfout.h.
15429
15430 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
15431
15432         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
15433         * c-parse.in (yyerror, _yylex): Similarly.
15434         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
15435         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
15436         Update comments.
15437         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
15438         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
15439
15440 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
15441
15442         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
15443         in-class declaration at -g1.  Fixes c++/2814.
15444
15445 2001-07-18  Richard Henderson  <rth@redhat.com>
15446
15447         * doc/md.texi (reload_in/out): Document restrictions in predicates
15448         and constraints for these patterns.  Document empty string matching
15449         ALL_REGS.
15450
15451 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15452
15453         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
15454
15455 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15456
15457         * cse.c: Undo my previous patch.
15458
15459 2001-07-18  Tom Tromey  <tromey@redhat.com>
15460
15461         For PR java/2812:
15462         * configure: Rebuilt.
15463         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
15464         instead.
15465         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
15466
15467 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
15468                                 Jan Hubicka  <jh@suse.cz>
15469
15470         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
15471         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
15472         * jump.c (mark_jump_label): Do not forward branches.
15473
15474 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
15475
15476         * cse.c (delete_trivially_dead_insns): Delete the libcall block
15477         when return value is unused.
15478
15479 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15480
15481         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
15482
15483 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
15484
15485         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
15486         on error.  We can't blindly return the result of
15487         pthread_mutex_trylock because it returns a positive number on
15488         error, while we must return -1 on error.
15489         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
15490         fixes.
15491         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
15492
15493 2001-07-18  Andreas Jaeger  <aj@suse.de>
15494
15495         * integrate.c (output_inline_function): Correct type of debug_hooks.
15496
15497 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
15498
15499         * combine.c (combine_simplify_rtx): DIV can be treated
15500         associatively for floats if unsafe math optimisations are enabled.
15501
15502 2001-07-17  Richard Henderson  <rth@redhat.com>
15503
15504         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
15505
15506 2001-07-17  Richard Henderson  <rth@redhat.com>
15507
15508         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
15509         don't force the function address into a register.
15510         (expand_call, emit_library_call_value_1): Update callers.
15511         * builtins.c (expand_builtin_apply): Likewise.
15512         * expr.h (prepare_call_address): Update decl.
15513
15514 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
15515
15516         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
15517         config directory.
15518         * config/i386/chorus.h: Move up.
15519         * config/sparc/chorus.h: Likewise.
15520         * config/rs6000/chorus.h: Likewise.
15521         * config/chorus.h: Moved here.
15522
15523 2001-07-17  Andreas Schwab  <schwab@suse.de>
15524
15525         * configure.in  (assembler eh_frame optimization): Handle big
15526         endian.
15527         * configure: Regenerated.
15528
15529 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
15530
15531         * expr.c (epxand_expr): Convert divisions into multiplications by
15532         reciprocals if -ffast-math.
15533
15534 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
15535
15536         * dbxout.c (dbxout_really_begin_function): Rename to
15537         dbxout_begin_function.
15538         (dbx_debug_hooks, xcoff_debug_hooks): Update.
15539         (dbxout_begin_function): Remove.
15540         (dbxout_function): Update.
15541         (dbxout_source_line): Update prototype.
15542         * dbxout.h (dbxout_begin_function): Remove.
15543         * debug.c (do_nothing_debug_hooks): Update.
15544         (debug_nothing_tree): Update.
15545         (debug_nothing_charstar_rtx): Remove.
15546         * debug.h (union tree_node): Declare.
15547         (struct rtx_def): Remove.
15548         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
15549         begin_function.  Change source_line prototype.
15550         (debug_nothing_tree): New.
15551         (debug_nothing_charstar_rtx): Delete.
15552         (dwarf2out_begin_prologue): Moved from ...
15553         * tree.h: ... here.
15554         * dwarf2out.c (dwarf2_debug_hooks): Update.
15555         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
15556         debug info, call dwarf2out_source_line.
15557         (dwarf2out_souce_line): Update prototype.
15558         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
15559         Change prototype, make static.
15560         (dwarfout_source_line): Update prototype.
15561         (dwarf_debug_hooks): Update.
15562         * dwarfout.h (dwarfout_begin_function): Remove.
15563         * final.c (final_start_function, final_scan_insn): Use appropriate
15564         debug hooks, update to use notice_source_line.
15565         (output_source_line): Rename notice_source_line.  Don't call the
15566         source_line debug hook.
15567         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
15568         make static, update prototype.
15569         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
15570         prototype.
15571         (sdbout_end_prologue): New.
15572         (sdbout_source_line): Update prototype.
15573         (sdbout_debug_hooks): Update.
15574         (sdbout_symbol): Remove unused var.
15575         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
15576         Delete.
15577         * varasm.c: Include debug.h.
15578         (assemble_start_function): Use begin_function debug_hook.
15579         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15580         update with prototype.
15581         (xcoffout_source_line): Update prototype.
15582         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15583         update prototype.
15584         (xcoffout_source_line): Update prototype.
15585
15586 2001-07-17  Richard Henderson  <rth@redhat.com>
15587
15588         * c-typeck.c (build_binary_op): Do not shorten unsigned
15589         right shift after sign extension.
15590
15591 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
15592
15593         * combine.c (combine_simplify_rtx): Attempt to simplify
15594         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
15595
15596         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
15597         (simplify_binary_operation, simplify_unary_operation,
15598          simplify_relational_operation): Use it.
15599
15600         * combine.c (combine_simplify_rtx): Don't do associative law
15601         on divisions; allow associative law on floats.
15602
15603 2001-07-17  H.J. Lu <hjl@gnu.org>
15604             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15605
15606         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
15607         ASM_OUTPUT_WEAK_ALIAS are defined.
15608         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
15609         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
15610         Moved ...
15611         * config/mips/iris5.h: ... here.
15612         (HANDLE_SYSV_PRAGMA): Defined as 1.
15613         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
15614         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
15615         symbol.
15616
15617 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
15618
15619         * c-parse.in (all_prefix_attributes): New variable.
15620         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
15621         (maybe_resetattrs): New production.
15622         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
15623         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
15624         notype_initdcl, nested_function, notype_nested_function,
15625         component_decl, components, components_notype,
15626         component_declarator, component_notype_declarator,
15627         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
15628         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
15629         after a comma being applied to more than one declarator.
15630         * doc/extend.texi (Attribute Syntax): Update.  Remove
15631         documentation of bugs that are no longer present.
15632
15633 2001-07-13  Eric Christopher  <echristo@redhat.com>
15634
15635         * config/mips/mips.h: Change TUNE_MIPS* options to use
15636         mips_tune.
15637         (EXTRA_SPECS): Add cc1_cpu_spec.
15638         * config/mips/mips.md (muldf3): Fix typo.
15639
15640 2001-07-16  Richard Henderson  <rth@redhat.com>
15641
15642         * config/m68k/m68k.c: Include expr.h and reload.h.
15643         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
15644         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
15645
15646 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
15647             Richard Henderson  <rth@redhat.com>
15648
15649         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
15650         (insn_live_p): Fix fall off end of function.
15651         (dead_libcall_p): Remove COUNTS argument; update callers.
15652         (delete_trivially_dead_insns): Remove unused variables.
15653
15654 2001-07-17  Andreas Jaeger  <aj@suse.de>
15655
15656         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
15657         x86-64 pic support.
15658
15659         * lcm.c (optimize_mode_switching): Avoid warning for unused
15660         variable if !NORMAL_MODE.
15661
15662         * flow.c (try_crossjump_to_edge): Remove unused variable.
15663
15664 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15665
15666         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
15667         atexit declaration in stdlib.h.
15668
15669 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
15670
15671         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
15672
15673 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15674
15675         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
15676         * except.c (finish_eh_generation): Update call of cleanup_cfg;
15677         do rebuild_jump_labels instead of jump_optimize
15678         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
15679         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
15680         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
15681
15682         * flow.c: Include timevar.h
15683         (find_basic_block): Push/pop timevar;
15684         (cleanup_cfg): Likewise.
15685         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
15686         * Makefile: Add dependencies on timevar.h
15687
15688         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
15689         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
15690
15691         * rtl.h (delete_trivially_dead_insns): Add new parameter.
15692         * toplev.c (rest_of_compilation): Update calls.
15693         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
15694         (delete_trivially_dead_insns): ... here; accept new argument
15695         preserve_basic_blocks; preserve basic blocks if set.
15696
15697         * reg-stack.c (stack_regs_mentioned): Return 0 if
15698         stack_regs_mentioned_data is not initialized.
15699         (reg_to_stack): Make stack_regs_mentioned survive after the
15700         reg-stack is completted; do not call cleanup_cfg.
15701         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
15702         make cleanup_cfg after bb-reorder to output to debug file.
15703
15704 2001-07-16  Richard Henderson  <rth@redhat.com>
15705
15706         * regclass.c (init_reg_sets): Use only 32 bits per initializer
15707         from int_reg_class_contents.
15708
15709 2001-07-16  Richard Henderson  <rth@redhat.com>
15710
15711         * hard-reg-set.h (regs_invalidated_by_call): Declare.
15712         * regclass.c (regs_invalidated_by_call): Move from cse.c.
15713         (init_reg_sets_1): Move initialization from cse_main.
15714         * cse.c (regs_invalidated_by_call): Move to regclass.c.
15715         (cse_main): Move its initialization also.
15716         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
15717         * flow.c (propagate_one_insn): Likewise.
15718         * gcse.c (compute_hash_table): Likewise.
15719         (compute_kill_rd, compute_store_table): Likewise.
15720         * sched-deps.c (sched_analyze_1): Likewise.
15721
15722 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
15723
15724         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
15725         gen_rtx_SET.
15726
15727 2001-07-16  Steve Ellcey <sje@cup.hp.com>
15728
15729         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
15730         in if statement so we don't access undefined memory.
15731
15732 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
15733
15734         * gcse.c: Update comment at top.
15735         Update comment on mem handling.
15736         mem_last_set, mem_first_set, mem_set_in_block: gone.
15737         Declaration of reg_set_info: gone.
15738         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
15739         pointless with load_killed_in_block_p (they are *more*
15740         conservative then it, not less, and less accurate).
15741         (oprs_not_set_p): Ditto.
15742         (alloc_gcse_mem): Don't allocate mem_set_in_block
15743         (free_gcse_mem): Don't free it, either.
15744         (record_last_mem_set_info): Update comment in front, remove
15745         mem_*set_* stuff. Note the reason we don't handle stores directly
15746         here.
15747         (compute_hash_table): Update comments to reflect reality. Remove
15748         mem_*set_* references.
15749         (reset_opr_set_tables): Remove mem_*set_* references.
15750         (mark_call): Ditto.
15751         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
15752         (mark_clobber): Ditto (on both parts, we double set here too).
15753         (expr_killed_p): Remove mem_set_in_block test.
15754         (compute_transp): Remove mem_set_in_block test.
15755
15756         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
15757         of edge, and removal of phi alternative to dump file.
15758         (ssa_ccp_substitute_constants): Add note about register now being
15759         constant, and which uses were replaced in what insns to dump file.
15760
15761 2001-07-16  Andreas Jaeger  <aj@suse.de>
15762
15763         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
15764         variables of type HOST_WIDEST_INT.
15765
15766         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
15767         (__bb_exit_func): Correct type of count_max to avoid overflow.
15768         (num_digits): Handle long long argument.
15769
15770         * combine.c (gen_lowpart_for_combine): Remove unused variable.
15771
15772 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15773
15774         * output.h (sdb_begin_function_line): Restore as an extern
15775         variable.
15776         * sdbout.c (sdb_begin_function_line): Make extern.
15777
15778 2001-07-15  Richard Henderson  <rth@redhat.com>
15779
15780         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
15781         * genrecog.c (maybe_both_true_mode): New.
15782         (maybe_both_true_2): Use it.
15783         (write_switch): Don't put Pmode in a switch.
15784         * rtl.c (mode arrays): Don't explicitly size them.
15785
15786 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15787
15788         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
15789         handling; move unconditional splitting before mode switching.
15790
15791         * i386.md (type): Add fistp type.
15792         (i387, length_attr, scheduling definitions): Handle this type.
15793         (fix_trunc?f?i2): Revamp to use mode switching.
15794         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
15795         * i386.h (fp_cw_mode): New enum
15796         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
15797         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
15798
15799 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15800
15801         * Makefile.in (integrate.o): Add debug.h.
15802         * integrate.c (debug.h): Add.
15803         (output_inline_function): Save, reset, and restore debug_hooks.
15804
15805 2001-07-15  Richard Henderson  <rth@redhat.com>
15806
15807         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
15808         instead of COMPARE for the EQUIV expression.
15809
15810 2001-07-15  Richard Henderson  <rth@redhat.com>
15811
15812         * flow.c (redirect_edge_and_branch_force): Initialize
15813         global_live_at_start and global_live_at_end.
15814         (allocate_bb_life_data): Export.
15815         * basic-block.h (allocate_bb_life_data): Declare.
15816         * toplev.c (rest_of_compilation): Call it.
15817
15818 2001-07-15  Richard Henderson  <rth@redhat.com>
15819
15820         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
15821         (alpha_tablejump_best_label): New.
15822         * config/alpha/alpha-protos.h: Declare them.
15823         * config/alpha/alpha.md: Use braced strings for code blocks.
15824         (tablejump_osf): Break out add with r29.
15825         (tablejump_osf_internal): Remove.
15826         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
15827         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
15828
15829 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15830
15831         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
15832         of the movable.
15833
15834         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
15835
15836         * i386-protos.h (ix86_split_fp_branch): Update prototype.
15837         (ix86_fp_jump_nontrivial_p): New.
15838         * i386.md (fp_jcc_?): Update call of split_fp_branch;
15839         use ix86_fp_jump_nontrivial_p.
15840         * i386.c (ix86_fp_jump_nontrivial_p): New.
15841         (ix86_split_fp_branch): Accept code instead of rtx.
15842         (ix86_expand_compare): Expand comparison early in case
15843         doing so is resonably cheap.
15844
15845 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
15846
15847         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
15848         not 'machine'.
15849         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
15850         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
15851
15852 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
15853
15854         * dbxout.c (dbxout_source_line): Make static, update prototype.
15855         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
15856         (dbxout_init, dbxout_finish, dbxout_source_line,
15857         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
15858         * dbxout.h (dbxout_source_line): Delete.
15859         * debug.c (debug_nothing_file, debug_nothing_file_int,
15860         debug_nothing_file_charstar_rtx): New.
15861         (do_nothing_debug_hooks): Update.
15862         (debug_nothing_void, debug_nothing_charstar_rtx,
15863         dwarf2out_end_epilogue): New.
15864         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15865         * debug.h (struct rtx_def): Declare.
15866         (gcc_debug_hooks): New hooks source_line, end_epilogue
15867         and end_function.
15868         (debug_nothing_void, debug_nothing_charstar_rtx,
15869         dwarf2out_end_epilogue): New.
15870         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15871         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
15872         (dwarf2_debug_hooks): Update.
15873         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
15874         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
15875         * dwarf2out.h (dwarf2out_source_line): Remove.
15876         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
15877         Make static, update prototype.
15878         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
15879         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
15880         (dwarf_debug_hooks): Update.
15881         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
15882         dwarfout_end_function): Remove.
15883         * final.c (profile_function): Use debug hooks for ending functions
15884         and epilogues.
15885         (output_source_line, final_end_function): Update prototype,
15886         use debug hooks.
15887         (final_start_function, final_scan_insn): Update.
15888         * output.h (sdb_begin_function_line): Remove.
15889         (final_end_function): Update prototype.
15890         * sdbout.c (sdb_begin_function_line): Make static.
15891         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
15892         (sdbout_source_line): New.
15893         (sdbout_end_epilogue, sdbout_end_function): Make static, update
15894         prototypes.
15895         (sdb_debug_hooks): Update.
15896         (sdbout_init, sdbout_source_line,
15897         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
15898         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
15899         * toplev.c (compile_file, rest_of_compilation): Update.
15900         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
15901         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
15902         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
15903         Update for prototype changes.
15904         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
15905         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
15906
15907 2001-07-15  Richard Henderson  <rth@redhat.com>
15908
15909         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
15910         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
15911         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
15912         * config/alpha/alpha.c: Likewise.
15913         * config/alpha/alpha.md: Likewise.
15914         * config/alpha/alpha32.h: Likewise.
15915         * config/alpha/vms.h: Likewise.
15916         (OPEN_VMS): Remove.
15917
15918 2001-07-14  Richard Henderson  <rth@redhat.com>
15919
15920         * config/alpha/alpha.md: Use define_constants for unspec values.
15921         Substitute throughout.
15922
15923 2001-07-14  Tim Josling  <tej@melbpc.org.au>
15924
15925         * tree.def (EXPON_EXPR) remove. Never supported anyway.
15926
15927 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15928
15929         * pa.md: Remove unused constraints from define_split's.
15930
15931 2001-04-14  Richard Henderson  <rth@redhat.com>
15932
15933         * ifcvt.c (find_cond_trap): Test for exit block.
15934
15935 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
15936
15937         Re-install recently reverted patch.
15938         * emit-rtl.c (try_split): Update mark_jump_label call.
15939         * flow.c (find_sub_basic_blocks): Likewise.
15940         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
15941         jump_back_p): Kill.
15942         (mark_all_labels): Kill second parameter.
15943         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
15944         (rebuild_jump_labels, jump_optimize_minimal): Update call
15945         of jump_optimize_1.
15946         (jump_optimize_1): Kill crossjumping code.
15947         (mark_jump_label): Kill cross_jump parameter.
15948         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
15949         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
15950         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
15951          splitting.
15952         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
15953         DFI_bpro.
15954         (dump_file_info): Likewise.
15955         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
15956         reorganize passes to do reg-stack first, bb-reorder second.
15957         * invoke.texi (-d letters doc): Remove the jump2 pass.
15958
15959 2001-07-14  Richard Henderson  <rth@redhat.com>
15960
15961         * ifcvt.c (find_cond_trap): New.
15962         (find_if_header): Call it.
15963         (merge_if_block): Relax existing jump sanity check.
15964         * jump.c (jump_optimize_1): Remove conditional trap handling.
15965
15966 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
15967
15968         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
15969         millicode.
15970         (insn_refs_are_delayed): Correct comment.
15971         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
15972         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
15973         instead of r31.  Make associated insn !TARGET_64BIT, and
15974         provide an additional 64-bit insn that clobbers r2.
15975         (divsi3): Likewise.
15976         (udivsi3): Likewise.
15977         (modsi3): Likewise.
15978         (umodsi3): Likewise.
15979
15980 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
15981
15982         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
15983
15984         * flow.c (redirect_edge_and_branch_force, split_edge,
15985         try_crossjump_to_edge): Use set_block_for_new_insns.
15986         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
15987
15988 2001-07-13  H.J. Lu  (hjl@gnu.org)
15989
15990         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
15991         the correct patch.
15992
15993 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
15994
15995         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
15996
15997 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
15998
15999         * c-common.c (decl_attributes): Take a pointer to the node to
16000         which attributes are to be attached, and a flags argument.
16001         * c-common.h (enum attribute_flags): New.
16002         (decl_attributes): Update prototype.
16003         * c-decl.c (start_decl, push_parm_decl, finish_struct,
16004         finish_enum, start_function): Update calls to decl_attributes.
16005         * c-parse.in (component_declarator, component_notype_declarator,
16006         label): Update calls to decl_attributes.
16007
16008 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
16009
16010         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
16011         * config/avr/avr.c (legitimate_address_p): Return value changed
16012         from letter to register classes. For better debugging.
16013
16014 2001-07-13  Kazu Hirata  <kazu@hxi.com>
16015
16016         * jump.c (reversed_comparison_code_parts): Fix comment typos.
16017
16018 2001-07-13  H.J. Lu  (hjl@gnu.org)
16019
16020         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
16021
16022 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
16023
16024         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
16025         correctly for shared configurations.
16026         * config/t-libgcc-pic:  New.
16027         * config/{i386,m68k,sparc}/t-openbsd:  New.
16028         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
16029         Support -shared.  Support debugging libraries with -g.
16030         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
16031         frame information does not emit pointer diffs.
16032         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
16033         emit pointer diffs.
16034
16035 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
16036
16037         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
16038
16039 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
16040
16041         * combine.c (try_combine): Ensure const_int pow2 is positive.
16042
16043 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
16044
16045         * config.gcc: Add configuration for s/390.
16046         * config/s390/s390.c: New. Subroutines for code generation.
16047         * config/s390/s390.h: New. Definitions for s/390.
16048         * config/s390/s390-protos.h: New. Prototypes.
16049         * config/s390/linux.h: New. Definitions for linux for s/390.
16050         * config/s390/linux64.h: New. Definitions for linux for zSeries.
16051         * config/s390/t-linux: New. Makefile fragment.
16052         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
16053         * config/s390/fixdfdi.h: New. Fix L_fix*di.
16054
16055 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
16056
16057         * emit-rtl.c (try_split): Update mark_jump_label call.
16058         * flow.c (find_sub_basic_blocks): Likewise.
16059         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16060         jump_back_p): Kill.
16061         (mark_all_labels): Kill second parameter.
16062         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16063         (rebuild_jump_labels, jump_optimize_minimal): Update call
16064         of jump_optimize_1.
16065         (jump_optimize_1): Kill crossjumping code.
16066         (mark_jump_label): Kill cross_jump parameter.
16067         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16068         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16069         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16070          splitting.
16071         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16072         DFI_bpro.
16073         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16074         reorganize passes to do reg-stack first, bb-reorder second.
16075         * invoke.texi (-d letters doc): Remove the jump2 pass.
16076
16077 2001-07-12  Steve Ellcey <sje@cup.hp.com>
16078
16079         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
16080
16081 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16082
16083         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
16084         basic blocks.
16085         (verify_flow_info): Make diagnostics prettier.
16086
16087 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
16088
16089         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
16090
16091         * flow.c (outgoing_edges_match): Return early if condition reversal
16092         failed.
16093
16094 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
16095
16096         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
16097         (mips_move_2words): When splitting a move into two instructions,
16098         prefix the second address operand with '%D'.
16099
16100 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
16101
16102         * Makefile.in (final.o): Depend on debug.h.
16103         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
16104         (dbx_debug_hooks): Add new hooks.
16105         (xcoff_debug_hooks): New.
16106         * debug.c (debug_nothing_file_int_int): New.
16107         (do_nothing_debug_hooks): Update.
16108         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
16109         (debug_nothing_file_int_int): New.
16110         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
16111         static, update prototype.
16112         (dwarf2_debug_hooks): Update.
16113         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
16114         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
16115         static, update prototype.
16116         (dwarf_debug_hooks): Update.
16117         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
16118         * final.c: Include debug.h.
16119         (final_scan_insn): Use debug hooks when beginning and ending blocks.
16120         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
16121         static, update prototype.
16122         (sdb_debug_hooks): Update.
16123         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
16124         * toplev.c: Distinguish between xcoff and dbx.
16125
16126         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
16127         Call all debug hooks, not just dwarf ones.
16128
16129 2001-07-11  Timothy Wall  <twall@redhat.com>
16130
16131         * config.gcc: Add configuration for AIX5/IA64.
16132         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
16133         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
16134         support prefix/suffix code.
16135         * config/ia64/t-aix: New.  Makefile fragment.
16136         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
16137
16138 2001-07-11  Kazu Hirata  <kazu@hxi.com>
16139
16140         * recog.c (validate_change): Fix a comment typo.
16141
16142 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
16143
16144         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
16145         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
16146         hooks directly.
16147         * dbxout.c (dbx_debug_hooks): Add new hooks.
16148         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
16149         make static.
16150         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
16151         make static.
16152         * dbxout.h (dbxout_start_new_source_file,
16153         dbxout_resume_previous_source_file): Delete.
16154         * debug.c (do_nothing_debug_hooks): Add new hooks.
16155         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16156         (debug_nothing_int_charstar, debug_nothing_int): New.
16157         * debug.h (gcc_debug_hooks): New hooks define, undef,
16158         start_source_file and end_source_file.
16159         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16160         (debug_nothing_int_charstar, debug_nothing_int): New.
16161         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
16162         the conditionally compiled section.
16163         (dwarf2out_start_source_file, dwarf2out_end_source_file,
16164         dwarf2out_define, dwarf2out_undef): Make static.
16165         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
16166         dwarf2out_define, dwarf2out_undef): Remove.
16167         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
16168         (dwarfout_start_source_file, dwarfout_end_source_file,
16169         dwarfout_define, dwarfout_undef): Make static.
16170         (dwarfout_start_source_file_check,
16171         dwarfout_end_source_file_check): New.
16172         (dwarfout_define, dwarfout_finish): Update.
16173         * dwarfout.h (dwarfout_start_new_source_file,
16174         dwarfout_resume_previous_source_file, dwarfout_define,
16175         dwarfout_undef): Remove.
16176         * sdbout.c (sdb_debug_hooks): Add new hooks.
16177         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
16178         make static.
16179         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
16180         make static, take an arg.
16181         * sdbout.h (sdbout_start_new_source_file,
16182         sdbout_resume_previous_source_file): Delete.
16183         * toplev.c (debug_start_source_file, debug_end_source_file,
16184         debug_define, debug_undef): Delete.
16185         * toplev.h (debug_start_source_file, debug_end_source_file,
16186         debug_define, debug_undef): Delete.
16187
16188         * java/jcf-parse.c: Include debug.h.
16189         (parse_class_file): Update to use debug hooks directly.
16190         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
16191
16192 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16193
16194         * alias.c (set_mem_alias_set): New function.
16195         * rtl.h (set_mem_alias_set): Declare it.
16196         * builtins.c (expand_builtin_return_addr): Call it instead of
16197         using MEM_ALIAS_SET accessor.
16198         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
16199         (get_memory_rtx, expand_builtin_va_arg): Likewise.
16200         (expand_builtin_va_copy):Likewise.
16201         * caller-save.c (setup_save_areas): Likewise.
16202         * calls.c (compute_argument_addresses): Likewise.
16203         * explow.c (set_mem_attributes): Likewise.
16204         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
16205         (expand_assignment, store_constructor_field, store_field): Likewise.
16206         (expand_expr_unaligned): Likewise.
16207         * function.c (assign_stack_temp_for_type): Likewise.
16208         (put_reg_into_stack, gen_mem_addressof): Likewise.
16209         * ifcvt.c (noce_try_cmove_arith): Likewise.
16210         * reload1.c (reload, alter_reg): Likewise.
16211         * config/alpha/alpha.c (get_aligned_mem): Likewise.
16212         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
16213         (alpha_expand_unaligned_store): Likewise
16214         (alpha_expand_unaligned_load_words): Likewise.
16215         (alpha_expand_unaligned_store_words): Likewise.
16216         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
16217         (alpha_expand_epilogue): Likewise.
16218         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
16219         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
16220         * config/i386/i386.c (legitimize_pic_address): Likewise.
16221         * config/i960/i960.c (setup_incoming_varargs): Likewise.
16222         * config/ia64/ia64.c (spill_restore_mem): Likewise.
16223         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
16224         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
16225         * config/mips/mips.c (mips_va_arg): Likewise.
16226         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
16227         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
16228         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
16229         (setup_incoming_varargs, rs6000_va_arg): Likewise.
16230         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
16231         (rs6000_emit_epilogue): Likewise.
16232         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
16233         * config/sparc/sparc.c (sparc_va_arg): Likewise.
16234         * config/v850/v850.c (v850_va_arg): Likewise.
16235
16236 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
16237
16238         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
16239         when fallthru edge is present.
16240         (mege_blocks): Handle case where creation of jump insn
16241         is required.
16242
16243         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
16244         CLEANUP_POST_REGSTACK): New constants.
16245         * except.c (finish_eh_generation): Update call of cleanup_cfg,
16246         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
16247         * output.h (cleanup_cfg): Update prototype.
16248         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
16249         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
16250         cleanup_cfg call; kill missleading comment.
16251         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
16252         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
16253         parameter; control optimizations performed using it.
16254         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
16255         try_crossjump_bb): New functions.
16256
16257 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16258
16259         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
16260         extern.
16261         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
16262         pa_output_function_prologue.
16263         * pa-protos.h (pa_output_function_prologue): New prototype.
16264
16265 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16266
16267         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
16268         and low to get correct sign extension in low+high test.
16269
16270 2001-07-11  Janis Johnson <janis@us.ibm.com>
16271
16272         * gcov.c (arcdata): Use gcov_type to fix branch percentage
16273         for large hit count.
16274
16275         * profile.c (branch_prob): Fix .bbg info for computed gotos
16276         and C++ EH code.
16277
16278 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
16279
16280         * stmt.c (parse_output_constraint): New function, split out
16281         from ...
16282         (expand_asm_operands): ... here.  Use parse_output_constraint.
16283         * tree.h (parse_output_constraint): Declare it.
16284
16285 2001-07-11  Richard Henderson  <rth@redhat.com>
16286
16287         * bitmap.c: Comment some functions; fiddle whitespace.
16288         (bitmap_free): Don't export.
16289         (bitmap_element_allocate): Use memset.
16290         * bitmap.h (bitmap_free): Don't declare.
16291
16292 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
16293
16294         * gcse.c, lcm.c, sched-deps.c:
16295         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
16296
16297         * flow.c (flow_loops_find): Free dom if we found no loops, since
16298         we aren't going to save it.
16299
16300         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
16301         done.
16302
16303 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
16304
16305         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
16306
16307 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16308
16309         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
16310         #ifndef DWARF2_DEBUGGING_INFO.
16311
16312 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16313
16314         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
16315
16316 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16317
16318         * config/mips/mips.c (gen_int_relational): Tell the caller not to
16319         reverse a branch if a NE comparison is implemented with GTU.
16320
16321 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16322             H.J. Lu  <hjl@gnu.org>
16323
16324         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
16325         constant addresses.
16326         (call_internal2): Likewise.
16327         (call_value_internal1): Likewise.
16328         (call_value_internal2): Likewise.
16329         (call_value_multiple_internal1): Likewise.
16330         (call_value_multiple_internal2): Likewise.
16331
16332 2001-07-10  Kazu Hirata  <kazu@hxi.com>
16333
16334         * calls.c (emit_library_call_value_1): Fix a comment typo.
16335         * dwarf2out.c (mem_loc_descriptor): Likewise.
16336         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
16337
16338 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
16339
16340         * simplify-rtx.c (simplify_subreg): Fix typo in comment
16341
16342 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16343
16344         * recog.c (offsettable_address_p): Handle LO_SUM case.
16345         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
16346         instead of plus_constant.
16347
16348 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16349
16350         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
16351         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
16352
16353 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16354
16355         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
16356         adjust_address_nv instead of plus_constant.
16357
16358 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
16359
16360         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
16361         dwarf2out.o): Depend on debug.h, wrap long lines.
16362         * dbxout.c: Include debug.h.
16363         (dbx_debug_hooks): New.
16364         (dbxout_init): Make static, take just 2 args.
16365         (dbxout_finish): Make static.
16366         * dbxout.h (dbxout_init, dbxout_finish): Delete.
16367         * debug.c: New file.
16368         * debug.h: New file.
16369         * dwarf2out.c: Include debug.h.
16370         (dwarf2_debug_hooks): New.
16371         (dwarf2out_init): Make static.
16372         (dwarf2out_finish): Make static, take 2 args.
16373         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
16374         * dwarfout.c: Include debug.h.
16375         (dwarf_debug_hooks): New.
16376         (dwarfout_init): Make static.
16377         (dwarfout_finish): Make static, take 2 args.
16378         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
16379         * sdbout.c: Include debug.h.
16380         (sdb_debug_hooks): New.
16381         (sdbout_init): Make static, take 2 args.
16382         * sdbout.h (sdbout_init): Delete.
16383         * toplev.c: Include debug.h.
16384         (debug_hooks): New.
16385         (compile_file): Set deubg_hooks based on command line options.
16386         Use the hooks unconditionally rather than conditional compilation.
16387
16388 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
16389
16390         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
16391         first_insn_after_basic_block_note instead.
16392
16393         * df.c (df_bb_refs_unlink): #if 0 out for now.
16394
16395 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
16396
16397         * ssa.h: Add prototype for ssa_const_prop
16398         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
16399         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
16400         (ssa_fast_dce): Remove unused variable
16401
16402 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
16403
16404         * diagnostic.c (finish_diagnostic): Rename to
16405         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
16406         calls thourghout.
16407
16408 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
16409
16410         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
16411         .loc support.
16412
16413         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
16414         (dump_file): Only pad the demangled name with spaces if the
16415         mangled name was padded with spaces.
16416
16417 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
16418
16419         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
16420         edge detection.
16421
16422 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16423
16424         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
16425         extraction if no direct load if either EXPAND_CONST_ADDRESS or
16426         EXPAND_INITIALIZER.
16427
16428         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
16429         whether can put offset inside LO_SUM to check mode alignment, not size.
16430
16431 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
16432
16433         * doc/tm.texi (Misc): Fix thinko.
16434
16435 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
16436
16437         * regmove.c (replace_in_call_usage): Fix warnings.
16438         * sched-deps.c (add_dependence): Fix warnings.
16439         * simplify-rtx.c (simplify_subreg): Likewise.
16440         Return NULL_RTX instead of NULL.
16441
16442         * reg-stack.c (emit_swap_insn): Eliminate warnings.
16443         (subst_asm_stack_regs): Likewise.
16444
16445         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
16446         warnings.
16447
16448         * dwarf2out.c (output_call_frame_info): Declare i as int.
16449         (build_abbrev_table): Declare n_alloc as int.
16450         (dwarf2out_finish): Initialize die.
16451         * except.c: Declare sjlj_funcdef_number as unsigned.
16452         (connect_post_landing_pads): Declare j as unsigned.
16453         (convert_to_eh_region_ranges): Initialize call_site.
16454         (output_function_exception_table): Initialize tt_format_size.
16455         * expr.c (move_by_pieces_1): Initialize to1.
16456         (store_constructor): Initialize minelt and maxelt.
16457         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
16458         * function.c (instantiate_decls): Avoid signed/unsigned warning.
16459
16460         * c-decl.c (combine_parm_decls): Unused, remove.
16461         * c-tree.h: Remove prototype for combine_parm_decls.
16462
16463         * reload.c (push_reload): Fix warning.
16464         (regno_clobbered_p): Likewise.
16465         * reload1.c (replace_pseudos_in_call_usage): Likewise.
16466         (reload_combine): Likewise.
16467
16468         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
16469         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
16470         warnings.
16471         * bitmap.c (bitmap_operation): Change user.
16472         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
16473
16474 2001-07-10  Eric Christopher  <echristo@redhat.com>
16475
16476         * config/mips/mips.c (override_options): Fix typo.
16477
16478 2001-07-09  Stan Shebs  <shebs@apple.com>
16479
16480         * target.h (struct gcc_target): New fields init_builtins and
16481         expand_builtin.
16482         * target-def.h (TARGET_INIT_BUILTINS): New macro.
16483         (TARGET_EXPAND_BUILTIN): New macro.
16484         (TARGET_INITIALIZER): Add them.
16485         * builtins.c: Include target.h.
16486         (expand_builtin): Use targetm.expand_builtin.
16487         (default_init_builtins): New function.
16488         (default_expand_builtin): New function.
16489         * expr.h (default_init_builtins): Declare.
16490         (default_expand_builtin): Declare.
16491         * c-common.c (c_common_nodes_and_builtins): Use
16492         targetm.init_builtins.
16493         * defaults.h (MD_INIT_BUILTINS): Remove.
16494         * Makefile.in (builtins.o): Depend on target.h.
16495
16496         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
16497         (TARGET_EXPAND_BUILTIN): Define.
16498         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
16499         (MD_EXPAND_BUILTIN): Remove.
16500
16501         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
16502         (TARGET_EXPAND_BUILTIN): Define.
16503         (c4x_init_builtins): Make endlink arg a local.
16504         (c4x_print_operand): Fix typos in adjust_address usages.
16505         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
16506         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
16507         (MD_EXPAND_BUILTIN): Remove.
16508
16509         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
16510         (TARGET_EXPAND_BUILTIN): Define.
16511         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
16512         (ix86_init_builtins): Call new function only if TARGET_MMX.
16513         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
16514         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
16515         (MD_EXPAND_BUILTIN): Remove.
16516
16517         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
16518         (TARGET_EXPAND_BUILTIN): Define.
16519         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
16520         (MD_EXPAND_BUILTIN): Remove.
16521
16522         * doc/tm.texi: Document these changes.
16523
16524 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
16525
16526         * basic-block.h (tree_node): Forward declare if needed.
16527         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
16528         (BLOCK_HEAD_TREE): Define.
16529         (BLOCK_END_TREE): Define.
16530         (struct loops): Rename field 'tree' to 'tree_root'.
16531         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
16532         'end_tree'.
16533         (flow_loops_tree_build): Rename reference to field 'tree' to
16534         'tree_root'.
16535         (flow_loops_level_compute): Ditto.
16536         * predict.c (estimate_bb_frequencies): Ditto.
16537         * tree.h (struct tree_common): Add field 'aux'.
16538
16539 2001-07-09  Stan Shebs  <shebs@apple.com>
16540
16541         * config/darwin.c (darwin_encode_section_info): Don't mark any
16542         DECL_EXTERNAL node as defined.
16543
16544 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16545
16546         * pa.c (pa_init_machine_status, pa_mark_machine_status,
16547         pa_free_machine_status, hppa_init_pic_save): Delete.
16548         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
16549         (hppa_profile_hook): Use hppa_pic_save_rtx.
16550         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
16551         hppa_init_pic_save): Delete.
16552         (hppa_pic_save_rtx): Declare.
16553         * pa.md (call, call_value, sibcall, sibcall_value,
16554         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
16555
16556 2001-07-09  Kazu Hirata  <kazu@hxi.com>
16557
16558         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
16559         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
16560
16561 2001-07-09  Andreas Jaeger  <aj@suse.de>
16562
16563         * output.h: Add declaration of final_forward_branch_p.
16564
16565         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
16566
16567         * varray.c: Include errors.h for internal_error and trim_filename
16568         declarations.
16569
16570         * Makefile.in (varray.o): Add errors.h.
16571
16572 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
16573
16574         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
16575         * optabs.c (have_add2_insn): Check whether the add insn chosen
16576         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
16577         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
16578
16579 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
16580
16581         * Makefile.in (OBJS): Add ssa-ccp.o
16582         (ssa-ccp.o): Add dependencies.
16583         * toplev.c (DFI_ssa_ccp): New dump file enum.
16584         (dump_file): Add entry for dumping after SSA CCP.
16585         (flag_ssa_ccp): New flag variable.
16586         (f_options): Add -fssa-ccp.
16587         (rest_of_compilation): Run SSA CCP if requested.
16588         * timevar.def (TV_SSA_CCP): New timevar.
16589         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
16590         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
16591         Fix minor typo in SSA DCE documentation.
16592         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
16593         Add documentation for new dump option.  Renumber dump files
16594         appropriately.
16595
16596 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16597
16598         * emit-rtl.c (gen_highpart_mode): New.
16599         * rtl.h (gen_highpart_mode): Declare.
16600         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
16601         operand can be VOIDmode constant.
16602
16603 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
16604
16605         * flow.c (redirect_edge_and_branch_force): New.
16606         (can_fallthru): Ensure that basic blocks are succeeding.
16607         (try_optimize_cfg): Do not delete basic block if it is the last one.
16608
16609         * flow.c (try_redirect_by_replacing_jump): Do not remove
16610         jumps with side effects, unlink chain on fallthru edge;
16611         set block for new jump instruction; avoid basic block to
16612         over by line number note.
16613
16614         * flow.c (try_simplify_condjump): Verify that the condjump
16615         is not always falling through.
16616
16617         Re-install patch:
16618         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
16619
16620         * flow.c (forwarder_block_p): Fix for fallthru blocks.
16621         (try_redirect_by_replacing_jump): Update properly the count
16622         and frequency information.
16623
16624 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16625
16626         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
16627         address that is a LO_SUM specially.
16628         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
16629
16630         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
16631
16632         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
16633         (operand_subword): Use them.
16634         (change_address_1): Renamed from change_address; new arg VALIDATE.
16635         * expr.h: Reflect above changes; change_address now macro.
16636         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
16637         making MEM.
16638         * cselib.c (add_mem_for_addr): Likewise.
16639         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
16640         * regmove.c (try_apply_stack_adjustment): Likewise.
16641         * reload.c (push_reload, make_memloc): Likewise.
16642         * reload1.c (eliminate_regs): Likewise.
16643         * simplify-rtx.c (simplify_replace_rtx): Likewise.
16644         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
16645         adjust_addess.
16646         * combine.c (make_extraction, simplify_shift_const): Likewise.
16647         (gen_lowpart_for_combine): Likewise.
16648         * cse.c (gen_lowpart_if_possible): Likewise.
16649         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
16650         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
16651         * optabs.c (gen_move_insn): Likewise.
16652         * reload1.c (alter_reg): Likewise.
16653         * simplify-rtx.c (simplify_subreg): Likewise.
16654         * stmt.c (expand_anon_union_decl): Likewise.
16655         * recog.c (validate_replace_rtx_1): Likewise.
16656         (expr.h): Include.
16657         * Makefile.in (recog.o): Add $(EXPR_H).
16658         * explow.c (stabilize): Call replace_equiv_address.
16659         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
16660         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
16661
16662 2001-07-03  Andrew Haley  <aph@redhat.com>
16663
16664         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
16665         the mode of the memory location.
16666
16667 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
16668
16669         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
16670
16671 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
16672
16673         * final.c (output_addr_const): Use target opening and
16674         closing parentheses.
16675         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
16676         defaults, add to TARGET_ASM_OUT.
16677         * target.h (struct gcc_target): Add open_paren and close_paren.
16678         * doc/md.texi: Update.
16679         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
16680         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
16681         TARGET_ASM_CLOSE_PAREN.
16682         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16683         Override.
16684         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16685         Override.
16686         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
16687         * config/a29k/a29k.h: Similarly.
16688         * config/alpha/alpha.h: Similarly.
16689         * config/arc/arc.h: Similarly.
16690         * config/arm/aof.h: Similarly.
16691         * config/arm/aout.h: Similarly.
16692         * config/avr/avr.h: Similarly.
16693         * config/c4x/c4x.h: Similarly.
16694         * config/clipper/clipper.h: Similarly.
16695         * config/convex/convex.h: Similarly.
16696         * config/d30v/d30v.h: Similarly.
16697         * config/dsp16xx/dsp16xx.h: Similarly.
16698         * config/elxsi/elxsi.h: Similarly.
16699         * config/fr30/fr30.h: Similarly.
16700         * config/h8300/h8300.h: Similarly.
16701         * config/i370/i370.h: Similarly.
16702         * config/i386/i386.h: Similarly.
16703         * config/i860/i860.h: Similarly.
16704         * config/i960/i960.h: Similarly.
16705         * config/ia64/ia64.h: Similarly.
16706         * config/m32r/m32r.h: Similarly.
16707         * config/m68hc11/m68hc11.h: Similarly.
16708         * config/m68k/m68k.h: Similarly.
16709         * config/m88k/m88k.h: Similarly.
16710         * config/mcore/mcore.h: Similarly.
16711         * config/mips/mips.h: Similarly.
16712         * config/mn10200/mn10200.h: Similarly.
16713         * config/mn10300/mn10300.h: Similarly.
16714         * config/ns32k/ns32k.h: Similarly.
16715         * config/pa/pa.h: Similarly.
16716         * config/pdp11/pdp11.h: Similarly.
16717         * config/pj/pj.h: Similarly.
16718         * config/romp/romp.h: Similarly.
16719         * config/rs6000/rs6000.h: Similarly.
16720         * config/sh/sh.h: Similarly.
16721         * config/sparc/sparc.h: Similarly.
16722         * config/v850/v850.h: Similarly.
16723         * config/vax/vax.h: Similarly.
16724         * config/we32k/we32k.h: Similarly.
16725
16726 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
16727
16728         * doc/c-tree.texi: Document representation of attributes.
16729
16730 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16731
16732         * doc/tm.texi: Update some places for the rename of target to
16733         targetm.  Fix typo.
16734
16735 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16736
16737         * target.h (struct gcc_target): Add insert_attributes.
16738         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
16739         (TARGET_INITIALIZER): Update.
16740         * tree.c, tree.h (default_insert_attributes): New function.
16741         Update comments on other default functions to refer to targetm,
16742         not target.
16743         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
16744         TARGET_INSERT_ATTRIBUTES.
16745         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
16746         * c-common.c (decl_attributes): Use targetm.insert_attributes.
16747         Don't use PRAGMA_INSERT_ATTRIBUTES.
16748         * Makefile.in (c-common.o): Depend on $(TARGET_H).
16749         * c-decl.c (start_decl, start_function): Don't call
16750         SET_DEFAULT_DECL_ATTRIBUTES.
16751         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16752         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
16753         declare.
16754         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
16755         (c4x_check_attribute): Avoid modifying attribute list itself.
16756         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
16757         Make static.
16758         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
16759         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
16760         declare.
16761         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
16762         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
16763         Make static.
16764         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16765         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
16766         declare.
16767         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
16768         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
16769         Adjust parameters.  Make static.
16770
16771 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16772
16773         * c-common.c (decl_attributes): Only take a single attributes
16774         parameter.
16775         * c-common.h (decl_attributes): Update prototype.
16776         * c-decl.c (start_decl, start_function): Only take a single
16777         attributes parameter.  Update calls to decl_attributes.
16778         (finish_struct, finish_enum): Update calls to decl_attributes.
16779         (push_parm_decl): Expect unified list of attributes.  Update call
16780         to decl_attributes.
16781         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
16782         notype_nested_function, component_declarator,
16783         component_notype_declarator, label): Update calls to
16784         decl_attributes.
16785         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
16786         lists that are passed to push_parm_decl.
16787         * c-tree.h (start_function, start_decl): Update prototypes.
16788         * config/sh/sh-protos.h, config/sh/sh.c
16789         (sh_pragma_insert_attributes): Only take a single attributes
16790         parameter.
16791         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
16792         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
16793         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
16794         build_module_descriptor, generate_static_references,
16795         generate_strings, build_selector_translation_table,
16796         generate_descriptor_table, generate_protocols,
16797         generate_ivars_list, generate_dispatch_table,
16798         generate_protocol_list, generate_category,
16799         generate_shared_structures, really_start_method, add_objc_decls,
16800         generate_classref_translation_entry): Update calls to start_decl
16801         and start_function.
16802         (build_tmp_function_decl, start_method_def): Unify attribute lists
16803         that are passed to push_parm_decl.
16804
16805 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
16806
16807         * final.c (no_asm_to_stream): New.
16808         (final_scan_insn): Use target structures for prologue ends
16809         and epilogue starts.
16810         * output.h (no_asm_to_stream): New.
16811         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
16812         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
16813         (TARGET_ASM_OUT): Update.
16814         * target.h (struct gcc_target): New members function_end_prologue
16815         and function_begin_epilogue.
16816         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
16817         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
16818         * config/alpha/alpha.c (output_end_prologue): Rename to
16819         alpha_output_function_end_prologue.  Use in target struct
16820         and make static.
16821         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
16822         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
16823         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
16824         ia64_output_function_end_prologue.  Use in target struct
16825         and make static.
16826         (ia64_function_prologue, ia64_funciton_epilogue): Rename
16827         mistyped prototypes.
16828         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
16829         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
16830         Delete.
16831         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
16832         an use in target struct, make static.
16833         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
16834         Delete.
16835
16836 2001-07-08  Richard Henderson  <rth@redhat.com>
16837
16838         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
16839
16840 2001-07-08  Richard Henderson  <rth@redhat.com>
16841
16842         * config/i386/i386.md: Remove constraints strings from define_split
16843         and define_peephole2 patterns.
16844         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
16845         (eh_return): Use them.
16846
16847 2001-07-08  Richard Henderson  <rth@redhat.com>
16848
16849         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
16850         Document MD_FALLBACK_FRAME_STATE_FOR.
16851
16852 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16853
16854         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
16855         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
16856         elimination.
16857         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
16858
16859 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
16860
16861         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
16862         of the label inside NAME as opposed to just the end of NAME.
16863
16864 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
16865
16866         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
16867         * config/alpha/alpha.c (alpha_init_machine_status,
16868         alpha_mark_machine_status, alpha_free_machine_status): Delete.
16869         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
16870         (vms_valid_decl_attribute_p): Make static, conditionally compile.
16871         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
16872
16873 2001-07-06  Stan Shebs  <shebs@apple.com>
16874
16875         * target.h (targetm): Rename global from "target", so as not to
16876         conflict with local variables.
16877         * c-decl.c: Ditto.
16878         * c-typeck.c: Ditto.
16879         * final.c: Ditto.
16880         * tree.c: Ditto.
16881         * cp/decl.c: Ditto.
16882         * cp/decl2.c: Ditto.
16883         * cp/typeck.c: Ditto.
16884         * 1750a/1750a.c: Ditto.
16885         * a29k/a29k.c: Ditto.
16886         * arc/arc.c: Ditto.
16887         * arm/arm.c: Ditto.
16888         * avr/avr.c: Ditto.
16889         * clipper/clipper.c: Ditto.
16890         * convex/convex.c: Ditto.
16891         * d30v/d30v.c: Ditto.
16892         * dsp16xx/dsp16xx.c: Ditto.
16893         * elxsi/elxsi.c: Ditto.
16894         * fr30/fr30.c: Ditto.
16895         * h8300/h8300.c: Ditto.
16896         * i370/i370.c: Ditto.
16897         * i386/i386.c: Ditto.
16898         * i860/i860.c: Ditto.
16899         * i960/i960.c: Ditto.
16900         * ia64/ia64.c: Ditto.
16901         * m32r/m32r.c: Ditto.
16902         * m68hc11/m68hc11.c: Ditto.
16903         * m68k/m68k.c: Ditto.
16904         * m88k/m88k.c: Ditto.
16905         * mips/mips.c: Ditto.
16906         * ns32k/ns32k.c: Ditto.
16907         * pa/pa.c: Ditto.
16908         * pdp11/pdp11.c: Ditto.
16909         * romp/romp.c: Ditto.
16910         * rs6000/rs6000.c: Ditto.
16911         * sh/sh.c: Ditto.
16912         * sparc/sparc.c: Ditto.
16913         * vax/vax.c: Ditto.
16914         * we32k/we32k.c: Ditto.
16915         * doc/tm.texi: Update the manual to match.
16916
16917 2001-07-06  Richard Henderson  <rth@redhat.com>
16918
16919         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
16920         DWARF2_UNWIND_INFO not just whether it is defined.
16921
16922 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
16923
16924         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
16925         call to simplify_binary_operation returns a new pattern.
16926
16927 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16928
16929         * glimits.h (__SHRT_MAX__): New.
16930         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
16931         (SHRT_MAX): Define in terms of __SHRT_MAX__.
16932
16933 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
16934
16935         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
16936         avoid warnings.
16937
16938 2001-07-06  Richard Henderson  <rth@redhat.com>
16939
16940         * bitmap.c (bitmap_release_memory): Move adjacent to the
16941         allocation functions.
16942         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
16943         the implementation.  Binary search for the set bit.
16944         (bitmap_union_of_diff): Allocate the temporary on the stack
16945         instead of using xmalloc.
16946
16947 2001-07-06  Richard Henderson  <rth@redhat.com>
16948
16949         * genrecog.c (validate_pattern): Warn for constraints in
16950         define_{expand,split,peephole2}.  Remove strict_low_part
16951         before looking up match_dup.
16952
16953 2001-07-06  DJ Delorie  <dj@redhat.com>
16954
16955         * doc/gcc.texi (Makefile): Rename to be a more general purpose
16956         chapter about various build hints and history.  Add section
16957         talking about the various types of native and cross builds.
16958
16959 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
16960
16961         * Makefile.in (final.o): Depend on target.h.
16962         * final.c: Include target.h.
16963         (default_function_pro_epilogue): New.
16964         (final_start_function): Use target structure for function prologues.
16965         (final_end_function): Use target structure for function epilogues.
16966         * fold-const.c (real_hex_to_f): Constify s and p.
16967         * output.h (default_function_pro_epilogue): New.
16968         * real.h (real_hex_to_f): Update prototype.
16969         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
16970         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
16971         (TARGET_INITIALIZER): Update.
16972         * target.h (gcc_target): Add struct asm_out.
16973         * doc/tm.texi: Update.
16974
16975 config:
16976         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
16977         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
16978         in cpu/cpu.c, or rename old functions consistently.  Take
16979         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
16980         redundant macros and prototypes.  Make new functions static.
16981
16982         * 1750a/1750a.c: Similarly.
16983         * 1750a/1750a.h: Similarly.
16984         * a29k/a29k-protos.h: Similarly.
16985         * a29k/a29k.c: Similarly.
16986         * a29k/a29k.h: Similarly.
16987         * arc/arc-protos.h: Similarly.
16988         * arc/arc.c: Similarly.
16989         * arc/arc.h: Similarly.
16990         * arm/arm-protos.h: Similarly.
16991         * arm/arm.c: Similarly.
16992         * arm/arm.h: Similarly.
16993         * avr/avr-protos.h: Similarly.
16994         * avr/avr.c: Similarly.
16995         * avr/avr.h: Similarly.
16996         * clipper/clipper-protos.h: Similarly.
16997         * clipper/clipper.c: Similarly.
16998         * clipper/clipper.h: Similarly.
16999         * convex/convex.c: Similarly.
17000         * convex/convex.h: Similarly.
17001         * d30v/d30v-protos.h: Similarly.
17002         * d30v/d30v.c: Similarly.
17003         * d30v/d30v.h: Similarly.
17004         * d30v/d30v.md: Similarly.
17005         * dsp16xx/dsp16xx-protos.h: Similarly.
17006         * dsp16xx/dsp16xx.c: Similarly.
17007         * dsp16xx/dsp16xx.h: Similarly.
17008         * elxsi/elxsi.c: Similarly.
17009         * elxsi/elxsi.h: Similarly.
17010         * fr30/fr30.c: Similarly.
17011         * fr30/fr30.md: Similarly.
17012         * h8300/h8300-protos.h: Similarly.
17013         * h8300/h8300.c: Similarly.
17014         * h8300/h8300.h: Similarly.
17015         * i370/i370-protos.h: Similarly.
17016         * i370/i370.c: Similarly.
17017         * i370/i370.h: Similarly.
17018         * i386/i386.c: Similarly.
17019         * i386/osf1elf.h: Similarly.
17020         * i386/osfrose.h: Similarly.
17021         * i860/i860-protos.h: Similarly.
17022         * i860/i860.c: Similarly.
17023         * i860/i860.h: Similarly.
17024         * i960/i960-protos.h: Similarly.
17025         * i960/i960.c: Similarly.
17026         * i960/i960.h: Similarly.
17027         * ia64/ia64-protos.h: Similarly.
17028         * ia64/ia64.c: Similarly.
17029         * ia64/ia64.h: Similarly.
17030         * m32r/m32r-protos.h: Similarly.
17031         * m32r/m32r.c: Similarly.
17032         * m32r/m32r.h: Similarly.
17033         * m68hc11/m68hc11-protos.h: Similarly.
17034         * m68hc11/m68hc11.c: Similarly.
17035         * m68hc11/m68hc11.h: Similarly.
17036         * m68k/crds.h: Similarly.
17037         * m68k/dpx2.h: Similarly.
17038         * m68k/m68k-protos.h: Similarly.
17039         * m68k/m68k.c: Similarly.
17040         * m68k/m68k.h: Similarly.
17041         * m68k/news.h: Similarly.
17042         * m88k/m88k-protos.h: Similarly.
17043         * m88k/m88k.c: Similarly.
17044         * m88k/m88k.h: Similarly.
17045         * mips/mips-protos.h: Similarly.
17046         * mips/mips.c: Similarly.
17047         * mips/mips.h: Similarly.
17048         * ns32k/merlin.h: Similarly.
17049         * ns32k/ns32k.c: Similarly.
17050         * ns32k/ns32k.h: Similarly.
17051         * ns32k/tek6000.h: Similarly.
17052         * pa/pa-protos.h: Similarly.
17053         * pa/pa.c: Similarly.
17054         * pa/pa.h: Similarly.
17055         * pdp11/2bsd.h: Similarly.
17056         * pdp11/pdp11-protos.h: Similarly.
17057         * pdp11/pdp11.c: Similarly.
17058         * pdp11/pdp11.h: Similarly.
17059         * romp/romp-protos.h: Similarly.
17060         * romp/romp.c: Similarly.
17061         * romp/romp.h: Similarly.
17062         * rs6000/rs6000-protos.h: Similarly.
17063         * rs6000/rs6000.c: Similarly.
17064         * rs6000/rs6000.h: Similarly.
17065         * rs6000/sysv4.h: Similarly.
17066         * sh/sh-protos.h: Similarly.
17067         * sh/sh.c: Similarly.
17068         * sh/sh.h: Similarly.
17069         * sparc/sparc-protos.h: Similarly.
17070         * sparc/sparc.c: Similarly.
17071         * sparc/sparc.h: Similarly.
17072         * vax/vax.c: Similarly.
17073         * vax/vax.h: Similarly.
17074         * vax/vms.h: Similarly.
17075         * we32k/we32k.c: Similarly.
17076         * we32k/we32k.h: Similarly.
17077
17078 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
17079
17080         * basic-block.h (first_insn_after_basic_block_note): Declare.
17081         * flow.c (first_insn_after_basic_block_note): Define.  Moved
17082         from...
17083         * ssa.c (first_insn_after_basic_block_note): Remove.
17084         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
17085         necessary.
17086         (ssa_eliminate_dead_code): Properly update the CFG and PHI
17087         nodes when we find a dead conditional branch.  Insert BARRIERs
17088         after any blocks with no successors, but which do not have
17089         any BARRIERs.
17090
17091 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
17092
17093         * varray.c (varray_check_failed): Use internal_error.
17094
17095 2001-07-05  Andrew Haley  <aph@redhat.com>
17096
17097         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
17098         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
17099         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
17100
17101 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
17102
17103         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
17104         reference if the target constant is also a SYMBOL_REF.
17105
17106 2001-07-05  Eric Christopher  <echristo@redhat.com>
17107
17108         * config/mips/mips.h (MASK_MIPS3900): Remove.
17109         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
17110         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
17111         (TARGET_MIPS3900): Change to use mips_arch.
17112         (TARGET_MIPS4000): New.
17113         (TARGET_MIPS4100): New.
17114         (TARGET_MIPS4300): New.
17115         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
17116         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
17117         for -mipsX.
17118         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
17119         (ISA_HAS_BRANCHLIKELY): To here.
17120         (CC1_CPU_SPEC):  New.
17121         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
17122         (mips_arch_string): Declare.
17123         (mips_arch): Declare.
17124         (TARGET_OPTIONS): Add -march and -mtune.
17125
17126         * config/mips/mips.c (mips_arch_string): New.
17127         (mips_arch): New.
17128         (override_options): Handle -march for codegen and -mtune
17129         for scheduling. Use mips_arch. Move tx39 target default here.
17130         (mips_parse_cpu): Move error message to override_options.
17131
17132         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
17133
17134         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
17135
17136         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
17137         (MIPS Options): Ditto.  Change mcpu entry to historical text.
17138
17139 2001-07-05  H.J. Lu  (hjl@gnu.org)
17140
17141         * config/mips/mips.c (mips_parse_cpu): New function to parse
17142         -march=*/-mcpu=*.
17143
17144 2001-07-05  Jim Wilson  <wilson@redhat.com>
17145
17146         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
17147         * config/ia64/t-ia64: Likewise.
17148         (LIB1ASMFUNCS): Update comment.
17149
17150 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
17151
17152         * doc/install.texi (Install GCC: Binaries): Fix typo.
17153
17154 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17155
17156         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
17157         reference using the stack pointer, adjust it since we push Y
17158         temporarily.
17159         ("*ashrsi3"): Likewise.
17160         ("*lshrsi3"): Likewise.
17161
17162 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17163
17164         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
17165         when -fomit-frame-pointer is used.
17166
17167 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
17168
17169         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
17170         (try_redirect_by_replacing_jump): Reverse updating properly the
17171         count and frequency information.  Reverse removing cc0 setter.
17172         (forwarder_block_p): Reverse fixing for fallthru blocks.
17173
17174 2001-07-05  DJ Delorie  <dj@redhat.com>
17175
17176         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
17177         (translate_options): If the above is defined, use it to map
17178         given options to new options.
17179         * doc/tm.texi: Document it.
17180
17181 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
17182             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17183
17184         * doc/invoke.texi (Optimize Options): Document that -fgcse may
17185         cause programs using computed gotos to run more slowly.
17186
17187 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17188
17189         * doc/install.texi (Specific): Markup, spelling and typo fixes.
17190         Fixed sorting.
17191         Consistently require binutils 2.11.2, not prereleases.
17192         (Specific, decstation-*): Canonicalize as mips-dec-*.
17193         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
17194         always necessary.
17195         (Specific, m68k-altos): Removed reference to README.altos, deleted.
17196         (Specific, mips-*): Reword MIPS C compiler requirements.
17197         (Specific, powerpc*-*-*): New, mention --with-cpu once.
17198         (Specific, sunv5): Removed, obsolete.
17199
17200 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17201
17202         * dwarf2out.c (output_loc_list): Use an all ones mask for
17203         .text asm output and don't rely on long long
17204         literals. Reformat some long lines.
17205
17206 2001-07-05  Andreas Jaeger  <aj@suse.de>
17207
17208         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
17209         section.
17210
17211 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17212
17213         * dwarf2out.c (dwarf2out_define): Update comment.
17214         (dwarf2out_undef): Ditto.
17215         (dwarf2out_start_source_file): Ditto.
17216         (dwarf2out_end_source_file): Ditto.
17217         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
17218         since we never call the start/end debug hook for the primary file.
17219
17220 2001-07-04  Kazu Hirata  <kazu@hxi.com>
17221
17222         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
17223         from shll.
17224
17225 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17226
17227         * cppinit.c (remove_dup_dirs): Inform if a system include
17228         directory is being reordered.
17229         * doc/invoke.texi (Directory Options): GCC warns if you hide a
17230         system include.
17231         * doc/cpp.texi (Search Paths): Likewise.
17232         * doc/gcc.texi (Interoperation): Remove information about
17233         -I/usr/include.
17234
17235 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17236
17237         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
17238         (VARRAY_TOP_CHAR_PTR): Likewise.
17239
17240 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17241
17242         * gcc.c (process_command): Don't assign elements of a const char*.
17243
17244 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17245
17246         * emit-rtl.c (change_address): Don't abort if invalid address while
17247         reload is in progress.
17248
17249 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17250
17251         * c-lex.c (cb_file_change): Pass line number to
17252         debug_start_source_file.
17253         (cb_undefine): Pass correct line number to debug_undef.
17254
17255         * toplev.c (debug_start_source_file): Add line number to
17256         parameters. Pass it along to dwarf2out_start_source_file.
17257         (decode_g_option): Stop resetting debug level back to normal when
17258         we change debug formats, unless the current level is
17259         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
17260         3).
17261
17262         * toplev.h (debug_start_source_file): Add line number to
17263         parameters.
17264
17265         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
17266         parameters.
17267
17268         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
17269         parameters.
17270         Output debug_macinfo data for starting file if requested.
17271         (dwarf2out_end_source_file): Output debug_macinfo data for ending
17272         file if requested.
17273         (dwarf2out_define): Output debug_macinfo data for defining a macro
17274         if requested.
17275         (dwarf2out_undef): Output debug_macinfo data for undefining a
17276         macro if requested.
17277         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
17278         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
17279         (macinfo_section_label): New. DWARF2 macro info section label.
17280         (dwarf2out_init): If we want macro info, output the start label
17281         for the section.
17282         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
17283         attribute to the compilation unit die pointing to the macro info.
17284
17285 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17286
17287         * dwarf2out.c (new_loc_list): Move to inside #ifdef
17288         DWARF2_DEBUGGING_INFO.
17289         (add_loc_descr_to_loc_list): Ditto.
17290         (output_loc_list): Ditto.
17291         Also, fix thinko in curr not being initialized.
17292         (gen_internal_sym): Ditto.
17293
17294 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17295
17296         * emit-rtl.c (replace_equiv_address): New function.
17297         * expr.h (replace_equiv_address): New declaration.
17298         * explow.c (validize_mem): Call it instead of change_address and
17299         also call if -fforce-addr and address is constant.
17300         * expr.c: Replace more calls to change_address with adjust_address
17301         and/or replace_equiv_address or to validize_mem.
17302         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
17303         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
17304         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17305         * config/i370/i370.md, config/i860/i860.md: Likewise.
17306         * config/i960/i960.md, config/mips/mips.c: Likewise.
17307         * config/mips/mips.md, config/pa/pa.md: Likewise.
17308         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
17309         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
17310
17311 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17312
17313         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
17314
17315         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
17316         function.
17317
17318 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
17319
17320         * doc/include: New directory.
17321         * doc/fdl.texi: Move to doc/include/fdl.texi.
17322         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
17323         * doc/include/funding.texi, doc/include/gpl.texi: New files.
17324         * doc/gcc.texi: Use funding.texi and gpl.texi.
17325         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
17326         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
17327         Update dependencies and use -I $(docdir)/include.
17328
17329 2001-07-04  Anthony Green  <green@redhat.com>
17330
17331         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
17332
17333 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17334
17335         * doc/install.texi (sparc64-*-*): Remove garbage.
17336
17337 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
17338
17339         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
17340         Fix typo in last change to use adjust_address.
17341
17342 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17343
17344         * doc/install.texi (Specific): Update information for *-*-solaris*.
17345
17346 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17347
17348         * explow.c (plus_constant_wide): Reinitialize Y for restart.
17349
17350 2001-07-03  Stan Shebs  <shebs@apple.com>
17351
17352         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
17353         case for flag_no_mach_text_sections.
17354         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
17355         * config/darwin.c (flag_no_mach_text_sections): Remove.
17356         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
17357
17358 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17359
17360         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
17361         and avoid checking for constant as first operand.
17362         * recog.c (find_constant_term_loc): No longer static.
17363         (adj_offettable_operand): Delete.
17364         * rtl.h (adj_offsettable_operand): Delete declaration.
17365         (find_constant_term): Add declaration.
17366         * caller-save.c: Replace calls to adj_offsettable_operand with calls
17367         to adjust_address.
17368         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
17369         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
17370         * config/i386/i386.c, config/i386/i386.md: Likewise.
17371         * config/i860/i860.c, config/i960/i960.c: Likewise.
17372         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
17373         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
17374         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
17375         * config/mips/mips.c, config/mips/mips.md: Likewise.
17376         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
17377         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
17378         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
17379         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
17380         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
17381         * config/ns32k/ns32k.md: Likewise.
17382
17383 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
17384
17385         * rtl.c (copy_rtx): Handle 'T' format letter.
17386         * gensupport.c (collect_insn_data): Likewise.
17387         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
17388
17389 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
17390
17391         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
17392         -B option.  Use 'dir' not 'foo' as example directory name.
17393
17394 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17395
17396         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17397         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
17398
17399 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
17400
17401         * doc/cppinternals.texi: Improve formatting and logical markup.
17402
17403 2001-07-03  Andreas Jaeger  <aj@suse.de>
17404
17405         * Makefile.in (insn-recog.o): Add dependency on reload.h.
17406
17407         * genrecog.c (write_header): Include reload.h for prototypes in
17408         insn-recog.c.
17409
17410 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
17411
17412 config:
17413         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
17414         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
17415         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
17416         i386_pe_valid_type_attribute_p): Add.
17417         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
17418         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
17419
17420 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17421
17422         * explow.c (plus_constant_wide, case LO_SUM): New case.
17423         (plus_constant_for_output_wide): Delete.
17424         * rtl.h (plus_constant_for_output): Delete.
17425         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
17426         instead of plus_constant_for_output.
17427         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
17428         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
17429         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
17430         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
17431         * config/sparc/sparc.md: Likewise.
17432         Convert some change_address calls to adjust_address.
17433
17434 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
17435
17436         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
17437         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
17438         documentation of -std and -Wwrite-strings.
17439
17440 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
17441
17442         * cse.c (canon_hash): Don't register registers in very small
17443         register classes, as extending their lifetime might cause
17444         reload to fail.
17445
17446 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17447
17448         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17449
17450         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17451         (try_redirect_by_replacing_jump): Update properly the count
17452         and frequency information.
17453
17454 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
17455
17456         * toplev.c (dump_file_index): Move SSA dumps just after first
17457         jump dump.
17458         (dump_file): Corresponding changes.
17459         (rest_of_compilation): Move SSA path to just after the first
17460         jump pass.
17461         * doc/gcc.texi (Passes): Update due to movement of SSA path.
17462         * doc/invoke.texi: Update dump file #s as they were completely
17463         out of date with reality.
17464
17465 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
17466
17467         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
17468
17469         * expr.c (emit_move_insn_1): Deal with non-default
17470         STACK_PUSH_CODE.
17471
17472         * expr.c (emit_single_push_insn): Fix warning.
17473
17474 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
17475
17476         * expr.c (emit_move_insn_1): Avoid modifying
17477         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
17478
17479 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17480
17481         * emit-rtl.c (adjust_address): New function.
17482         * expr.h (adjust_address): Add declaration.
17483         * builtins.c: Replace some calls to change_address with calls to it
17484         or to validize_mem.
17485         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
17486         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
17487         * config/arm/arm.c, config/convex/convex.c: Likewise.
17488         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17489         * config/i386/i386.c, config/i386/i386.md: Likewise.
17490         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
17491         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
17492         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
17493         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
17494         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
17495
17496 2001-07-02  Jim Wilson  <wilson@redhat.com>
17497
17498         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
17499
17500 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
17501
17502         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
17503         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
17504
17505 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
17506
17507         * cppinit.c (lang_defaults): New table.
17508         (set_lang): Just read from lang_defaults into the live options
17509         structure.
17510
17511 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
17512
17513         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
17514         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
17515         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
17516
17517 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17518
17519         * doc/install.texi: Various spelling and markup fixes.
17520         (Installing GCC): Component specific installation instructions are
17521         gone.
17522         Fix reference.
17523         Warn about removing old install dir in the presence of shared libs.
17524         (Configuration): Invoke with options target to match configure
17525         --help.
17526         Consistently refer to gas, gld pathnames.
17527         Invert --enable-multilib documentation.
17528         Remove references to old compiler versions.
17529
17530 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17531
17532         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
17533
17534 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17535
17536         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
17537         section.
17538         (Specific, mips*-sgi-irix5): Note IDO download.
17539         Reworded MIPS C hints.
17540         Use GNU as instead of GAS.
17541         Markup fixes.
17542         Removed SGI Freeware reference, IRIX 6 only.
17543         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
17544         Note N64 library requirement/workaround.
17545         Update O32 hints.
17546         Complete list of structure passing bug victims.
17547
17548 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17549
17550         * doc/install.texi: Remove CVS Id.
17551
17552 2001-07-02  Andreas Jaeger  <aj@suse.de>
17553
17554         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
17555         (find_inherently_necessary): Remove unused variable.
17556
17557 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
17558
17559         * c-common.h (TDI_inlined): New ast dump phase.
17560         (dump_flag_name): New function.
17561         * c-dump.c (dump_files): Add inlined phase.
17562         (dump_flag_name): Define.
17563         * doc/invoke.texi (-fdump-ast-inlined): Document.
17564
17565 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17566
17567         * stor-layout.c (layout_decl): Revert change to handling of alignment
17568         in packed types.
17569
17570 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17571
17572         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
17573         for FIELD_DECL.
17574
17575 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
17576
17577         * doc/tm.texi (FUNCTION_ARG): Document that the last call
17578         is special.
17579
17580 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
17581
17582         * tlink.c (recompile_files): Remove COMPILER_PATH and
17583         LIBRARY_PATH from the environment.
17584
17585 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
17586
17587         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
17588         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
17589         enumerators.
17590         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
17591
17592         * c-parse.in (OBJC_STRING): Kill.
17593         (objc_string): Decompose to [objc_string] '@' STRING.
17594         (reswords): Take the leading '@' off all the Objective C keywords.
17595         (objc_rid_sans_at): Kill.
17596         (init_reswords): Don't initialize it.
17597         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
17598         (_yylex): Kill reconsider label.  Look ahead one token after
17599         an '@'; if we get an identifier, check whether it's an
17600         Objective C @-keyword.  If so, return the keyword.  Otherwise,
17601         put back the token and return the '@' as a terminal.
17602
17603         * cpplib.c (lex_macro_node): Remove unnecessary check for
17604         leading '@' on identifier.  Clarify control flow and commentary.
17605
17606 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17607
17608         * cse.c (new_label_ref): Variable deleted.
17609         (insert): Remove set of new_label_ref.
17610         (check_for_label_ref): New function.
17611         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
17612
17613 See ChangeLog.5 for earlier changes.