OSDN Git Service

09410e7e4af7d23efcdad6adead704f431e08739
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-12-15  Kazu Hirata  <kazu@hxi.com>
2
3         * config/h8300/h8300.md: Adjust whitespacing.  Remove
4         constraints from expanders.  Replace \@ with @.
5
6 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
7
8         * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
9
10 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
11
12         * regrename.c (copyprop_hardreg_forward): Do not keep register
13         value data live across abnormal call or eh egdes.
14
15 Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16
17         * expr.c (highest_pow2_factor, case INTEGER_CST): Return
18         BIGGEST_ALIGNMENT for 0.
19
20 Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
21
22         * predict.def (PRED_NORETURN): Make probabilities match reality.
23         (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
24         Likewise.
25
26 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
27
28         * configure.in: Check for ld.
29         (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
30         * configure, config.in: Rebuilt.
31         * config.gcc: Add crtbeginT.o to extra_parts where needed.
32         * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
33         frame unwinding on Linux.
34         * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
35         frame unwinding.
36         * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
37         (LINK_EH_SPEC): Define.
38         * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
39         * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
40         * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
41         iterate further if pc falls into current library, but fde was not
42         found.
43         * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
44         if using glibc.
45         (LINK_EH_SPEC): Define.
46         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
47         Use crtbeginT.o for -static.
48         (LINK_EH_SPEC): Define.
49         * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
50         * Makefile.in (crtbeginT.o): Add rule.
51         * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
52         If neither -static-libgcc nor -shared-libgcc is passed and -shared,
53         use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
54         If none of the above switches are passed, use -lgcc -lgcc_eh.
55         (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
56         * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
57         creating libgcc_s.so, put them into separate libgcc_eh.a instead.
58         * unwind-dw2-fde.c: Don't include any headers if this file
59         is included from other .c file.
60         * unwind-dw2-fde-glibc.c: New file.
61         * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
62         Use it instead of EH_FRAME_SECTION_NAME where appropriate.
63
64 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
65
66         * builtins.c (expand_builtin_memcmp): Mark parameter with
67         ATTRIBUTE_UNUSED.
68         * cfgcleanup.c (insns_match_p): Likewise.
69         * regrename.c (mode_change_ok): Likewise.
70         * gcc.c (execute): Const-ify.
71
72 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
73
74         * c-parse.in (typename): Do not split attributes.
75         Remove unsupported attributes warning.
76
77         * c-decl.c (groktypename): Apply attributes.
78
79 2001-12-14  Richard Henderson  <rth@redhat.com>
80
81         * config/ia64/ia64.c (spill_restore_mem): Mark iterator 
82         initialization as possibly dead.
83
84 2001-12-14  Richard Henderson  <rth@redhat.com>
85
86         * regrename.c (mode_change_ok): New.
87         (find_oldest_value_reg): Use it.
88
89 2001-12-14  Richard Henderson  <rth@redhat.com>
90
91         * regrename.c (struct value_data): Add max_value_regs.
92         (init_value_data): Initialize it.
93         (kill_value): Kill values that overlap the dying register.
94         (set_value_regno): New.
95         (kill_set_value, kill_autoinc_value, copy_value): Use it.
96         (copyprop_hardreg_forward_1): Kill earlyclobber operands
97         before looking at inputs.
98
99 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
100
101         * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
102         DECL_WEAK for function descriptors.
103         * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
104         weak support present.
105         (ASM_WEAKEN_LABEL): Same.
106
107 2001-12-14  Kazu Hirata  <kazu@hxi.com>
108
109         * config/h8300/h8300.md (anonymous pattern): Add a missing
110         mode.
111
112 2001-12-14  Kazu Hirata  <kazu@hxi.com>
113
114         * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
115         comment typo.
116
117 2001-12-14  Kazu Hirata  <kazu@hxi.com>
118
119         * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
120         Remove the initialization requierment.
121         (h8300_handle_tiny_data_attribute): Likewise.
122
123 2001-12-14  Kazu Hirata  <kazu@hxi.com>
124
125         * config/h8300/h8300.md (udivqi3): Remove.
126         (divqi3): Likewise.
127         (udivhi3): Likewise.
128         (divhi3): Likewise.
129         (umodqi3): Likewise.
130         (modqi3): Likewise.
131         (umodhi3): Likewise.
132         (modhi3): Likewise.
133         (udivmodqi3): New.
134         (divmodqi3): Likewise.
135         (udivmodhi3): Likewise.
136         (divmodhi3): Likewise.
137
138 Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
139
140         * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
141         by active_insn_p; count conditional jump as instruction.
142
143 2001-12-14  DJ Delorie  <dj@redhat.com>
144             Danny Smith  <dannysmith@users.sourceforge.net>
145
146         * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
147         at SYM_NAME[0] or SYM_NAME[3].
148         (STRIP_NAME_ENCODING): Don't check for leading '*'.
149
150 2001-12-14  Ira Ruben   <ira@apple.com>
151
152         Add -### option (displays driver-generated commands without
153         executing and quotes all arguments).
154         * doc/invoke.texi: Add -###.
155         * gcc.c (verbose_only_flag) - New flag.
156         * (execute): If -### write quoted arguments and return.
157         * (display_help): Print meaning of -###.
158         * (process_command): Handle -###.
159
160 2001-12-14  Ira Ruben   <ira@apple.com>
161
162         Fix to no allow -save-temps to clobber user's source file.
163         * gcc.c: Add static globals input_stat and input_stat_set.
164         (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
165         set, check that user's input file is not overwritten.
166         (set_input): Reset input_stat_set for each new file.
167
168 Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
169
170         * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
171
172 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
173
174         * combine.c (record_dead_and_set_regs): Use
175         regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
176
177 2001-12-14  Roger Sayle <roger@eyesopen.com>
178
179         * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
180         __builtin_fsqrt to __builtin_sqrt.
181
182         * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
183         * doc/extend.texi: Simplify documentation to match patch.
184
185 Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
186
187         * config.gcc: Revamp target_cpu_default2 to strings;
188         support new x86 variants.
189         * i386.c (override_options): Default x86_cpu_string and x86_arch_string
190         properly; set prefetch_sse.
191         * i386.h (x86_prefetch_sse): Declare.
192         (TARGET_PREFETCH_SSE): New.
193         (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
194         (TARGET_CPU_DEFAULT_*): New.
195
196 Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
197                               Jan Hubicka  <jh@suse.cz>
198
199         * config/i386/i386.h (struct processor_costs): Add new members
200           prefetch_block and simultaneous_prefetches.
201           (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
202         * config/i386/i386.c (processor_costs structs): Add values for
203           prefetch_block and simultaneous_prefetches.
204         * config/i386/i386.md (unspec values): Remove values for prefetch
205           operations, which now use the PREFETCH rtx code.
206           (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
207           unified prefetch support.
208
209 2001-12-14  Jason Merrill  <jason@redhat.com>
210
211         * diagnostic.c (sorry): Increment sorrycount before saving the
212         buffer state.
213
214 Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
215
216         * i386.md (sqrt?f): Fix conditionals.
217
218 Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
219
220         * config.gcc (alpha64-dec-*vms*): New case.
221         * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
222         * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
223         * config/alpha/xm-vms64.h: Likewise.
224
225         * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
226         (alpha_write_linkage): Test for null alpha_links.
227         (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
228         (vms_section_type_flags, vms_asm_named_section): Handle them.
229
230 Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
231
232         * i386.c (ix86_fpmath, ix86_fpmath_string): New.
233         (override_option): Set ix86_fpmath.
234         * i386.h (MASK_MIX_SSE_I387): Remove.
235         (TARGET_SSE_MATH): New.
236         (TARGET_MIX_SSE_I387): Use ix86_fpmath.
237         (TARGET_SWITCHES): Remove "mix-sse-i387".
238         (fpmath_unit): New enum.
239         (ix86_fpmath, ix86_fpmath_string): Declare.
240         * i386.md (swapsf): Fix condition.
241         (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
242         (fp_?f_*_nosse): New.
243         (fp_*): Use TARGET_SSE_MATH.
244         * invoke.texi (-mfpmath): Document.
245         (-msse2): Add.
246
247 2001-12-14  Jason Merrill  <jason@redhat.com>
248
249         * dwarf2out.c (output_die): Print the string in the comment for
250         a DW_FORM_strp.
251
252 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
253
254         * netbsd.h (COLLECT_SHARED_INIT_FUNC)
255         (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
256         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
257         (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
258
259 2001-12-13  Richard Henderson  <rth@redhat.com>
260
261         * regrename.c (kill_value_regno): Simplify chain removal.
262         (kill_value): Kill all of HARD_REGNO_NREGS.
263         (kill_set_value): Use kill_value not kill_value_regno.
264         (kill_autoinc_value): Likewise.
265         (copyprop_hardreg_forward): Don't collect refresh_blocks.
266         Call delete_noop_moves.
267
268 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
269
270         * attribs.c (c_common_attribute_table): Swap decl_req and type_req
271         for the mode attribute.
272         (handle_mode_attribute): Handle types, not decls.
273
274 2001-12-13  Jason Merrill  <jason@redhat.com>
275
276         * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
277
278 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
279
280         * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
281         constraint to base register.
282         (eh_set_lr_si): Same.
283
284 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
285
286         * expr.c (expand_expr, case ADDR_EXPR): Don't honor
287         flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
288         modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
289
290 Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
291
292         * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
293         warning and reformat comments.
294         (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
295         (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
296         if overflow.
297
298 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
299
300         * config/rs6000/rs6000.c (rs6000_override_options): Add
301         SUBSUBTARGET_OVERRIDE_OPTIONS.
302
303         * config/rs6000/eabialtivec.h: New file.
304
305         * config/rs6000/linuxaltivec.h: New file.
306
307         * config.gcc: Add powerpc-*-eabialtivec and
308         powerpc-*-linux-gnualtivec.
309
310 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
311
312         * toplev.c (process_options, parse_options_and_default_flags):
313         Set flag_no_inline before the post_options hook.
314
315 2001-12-13  Richard Henderson  <rth@redhat.com>
316
317         * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
318         is false.
319
320 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
321
322         * collect2.c (COLLECT_SHARED_INIT_FUNC)
323         (COLLECT_SHARD_FINI_FUNC): Define default values.
324         (write_c_file_stat): Use them to call construtor and destructor
325         functions in shared libraries.
326         * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
327         (COLLECT_SHARD_FINI_FUNC): Document them.
328         * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
329         (COLLECT_SHARD_FINI_FUNC): Define.
330
331         * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
332         shared library.  Pass -shared through to the linker.
333         * config/arm/netbsd.h (LINK_SPEC): Likewise.
334
335         * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
336         (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
337         (SHLIB_INSTALL): Define.
338
339 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
340
341         * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
342         the same way as we handle SYMBOL_REFS.
343
344 Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
345
346         * loop.c (remove_constant_addition): Fix prototype and whitespace.
347         (emit_prefetch_instructions): Remove warnings and whitespace
348         changes.
349
350 Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
351
352         * config/alpha/vms-cc.c (preprocess_args): Fix forward
353         declaration.
354
355 Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
356
357         * predict.c (estimate_probability): Reorganize opcode heuristics.
358         * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
359         PRED_FPOPCODE): New.
360
361         * i386.c (override_options): Recognize various CPU variants and set
362         SSE/MMX/3dNOW flags accordingly.
363         * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
364         MASK_3DNOW_A_SET): New.
365         (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
366         (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
367         (MASK_*): Renumber.
368         (TARGET_FLAGS): Use new masks.
369         (CPP_CPU_SPECS): Recognize new CPU variants.
370         * invoke.texi (-mcpu): Update documentation.
371
372         * flags.h (flag_prefetch_loop_arrays): Declare.
373         * loop.h (LOOP_PREFETCH): Define new constant.
374         * loop.c (strength_reduce): Call emit_prefetch_instructions.
375         (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
376         PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
377         constants.
378         (check_store_data): New structure.
379         (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
380         New functions.
381         * toplev.c: Include insn-flags.h.
382         (flag_prefetch_loop_arrays): New global variable.
383         (lang_independent_option): Add -fprefetch-loop-arrays.
384         (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
385         is set.
386         * Makefile.in (toplev.c): Depend on insn-flags.h.
387         * invoke.texi (-fprefetch-loop-arrays): Document.
388
389         * predict.c (estimate_probability): Distribute the loop exit
390         probability according to number of exit edges.
391
392         * cfgcleanup.c (insns_match_p): Break out from ...;
393         (flow_find_cross_jump): ... here;
394         (outgoing_edges_match): Add parameter MODE; attempt to match everything
395         except for tablejumps.
396         (try_crossjump_to_edge): Accept complex edges.
397         (try_crossjump_bb): Likewise.
398
399 2001-11-29  Corey Minyard <minyard@acm.org>
400
401         * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
402         instead of plus_constant.
403         * simplify-rtx.c (neg_const_int): New.
404         (simplify_gen_binary, simplify_plus_minus): Use it.
405
406 2001-12-12  Roger Sayle  <roger@eyesopen.com>
407
408         * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
409         expand_builtin_strcpy): Additional arguments TARGET and MODE.
410         (expand_builtin_bzero, expand_builtin_strcpy,
411         expand_builtin_strncpy, expand_builtin_bzero): Pass additional
412         TARGET and MODE parameters to the above functions.
413         (expand_builtin_memset, expand_builtin_memcpy): Optimize the
414         case where the LEN parameter is constant zero.
415         (expand_builtin_memcmp): No longer conditional on
416         HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
417         the cases where len is either constant zero or one.
418         Optimize to call to memcpy, even if the memcpy isn't inlined.
419         (expand_builtin_strncpy): Optimize to call memcpy, even if the
420         memcpy isn't inlined.
421         (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
422         to optimize to a call to memcmp.
423         (expand_builtin): expand_builtin_memcmp can always be called,
424         and pass the required parameters to expand_builtin_memcmp,
425         expand_builtin_memset, expand_builtin_memcpy and
426         expand_builtin_strcpy.
427
428 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
429
430         * config.gcc (arm-*-freebsd*): Add target.
431         * config/arm/freebsd.h: New file.
432         * config/arm/arm.h (CPP_PREDEFINES): Do not define.
433         (CPP_SPEC): #undef before defining.
434         (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
435         * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
436         -Amachine=arm.
437         * config/arm/linux-elf.h: Likewise.
438         * config/arm/netbsd.h: Likewise.
439         * config/arm/riscix.h: Likewise.
440         * config/arm/riscix1-1.h: Likewise.
441         * config/arm/semiaof.h: Likewise.
442
443 2001-12-12  Richard Henderson  <rth@redhat.com>
444
445         * regrename.c (copyprop_hardreg_forward): New optimization.
446         (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
447         kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
448         replace_oldest_value_reg, replace_oldest_value_addr,
449         replace_oldest_value_mem, copyprop_hardreg_forward_1,
450         debug_value_data, validate_value_data): New.
451         * rtl.h (copyprop_hardreg_forward): Declare.
452         * toplev.c (flag_cprop_registers): New.
453         (f_options): Add -fcprop-registers
454         (rest_of_compilation): Invoke it.
455         (parse_options_and_default_flags): Set it at -O1.
456         * doc/invoke.texi: Document it.
457
458 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
459
460         * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
461         (DEBUG_RANGES_SECTION_LABEL): Define.
462         (ranges_section_label): Add.
463         (add_AT_range_list): New.
464         (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
465         (output_loc_list): Location expression length is always 2-byte.
466         (output_die): Handle dw_val_class_range_list.
467         (gen_lexical_block_die): Call add_AT_range_list.
468         (dwarf2out_init): Initialize ranges_section_label.
469         (dwarf2out_finish): Emit ranges_section_label.
470
471 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
472
473         * c-typeck.c (digest_init): Allow initializing
474         static storage duration objects with compound literals.
475         * doc/extend.texi (Compound literals): Document the extension.
476
477 2001-12-12  Richard Henderson  <rth@redhat.com>
478
479         * emit-rtl.c (adjust_address_1): Always copy address to avoid
480         shared rtl.
481
482 Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
483
484         * stmt.c (expand_end_case): Do subtraction of lower bound as trees
485         to avoid overflow.
486
487 Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
488
489         * cppfiles.c (read_include_file): Set buffer size properly when
490         file is shorter than expected.
491
492 Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
493
494         * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
495         enumeral types - encode them using 'i'.
496
497 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
498
499         * doc/extend.texi (Deprecated Features): Deprecate implicit
500         typename. Document that named return and initializer lists are now
501         removed.
502
503 2001-12-11  Roger Sayle <roger@eyesopen.com>
504
505         * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
506         compiler warning about enumeration values not being handled.
507
508 2001-12-11  Momchil Velikov  <velco@fadata.bg>
509
510         * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
511         shifts.
512
513 2001-12-11  Richard Henderson  <rth@redhat.com>
514
515         * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
516         * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
517         * config/alpha/alpha.md (prefetch): New.
518
519 2001-12-11  Richard Henderson  <rth@redhat.com>
520
521         * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
522         if C has only low bits set and doesn't intersect with X or Y.
523
524 Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
525
526         * basic-block.h (flow_preorder_transversal_compute): Declare.
527         * cfganal.c (flow_preorder_transversal_compute): Implement.
528
529 Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
530
531         * cfganal.c (flow_depth_first_order_compute): Always
532         increment dfsnum.
533
534 2001-11-30 Alan Matsuoka <alanm@redhat.com>
535
536         * combine.c (combine_simplify_rtx) : Can't simplify
537         cases that use mode class MODE_CC.
538
539 2001-12-11  Richard Henderson  <rth@redhat.com>
540
541         * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
542         which there is no divide expander.
543
544 2001-12-11  Richard Henderson  <rth@redhat.com>
545
546         * except.c (sjlj_find_directly_reachable_regions): Don't
547         consider RNL_BLOCKED a directly reachable region.
548         (sjlj_assign_call_site_values): Trust directly_reachable.
549         (sjlj_emit_dispatch_table): Likewise.
550
551 2001-12-11  Richard Henderson  <rth@redhat.com>
552
553         * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
554         we represent the address load's dependency on the gp.
555         (divmoddi_internal_er): Likewise.
556         (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
557
558 2001-12-11  Richard Henderson  <rth@redhat.com>
559
560         * emit-rtl.c (widen_memory_access): New.
561         * expr.h (widen_memory_access): Declare it.
562         * config/alpha/alpha.c (get_aligned_mem): Use it.
563
564 2001-12-11  Richard Henderson  <rth@redhat.com>
565
566         * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
567         simplification above out of range check.
568
569 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
570
571         * config/sparc/sparc.md (prefetch): New.
572
573 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
574
575         * output.h (regno_uninitialized): Make argument unsigned.
576
577         * flow.c (regno_uninitialized): Make regno unsigned.
578
579 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
580
581         * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
582         * config/cris/cris.h (ENDFILE_SPEC): Define.
583         * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
584         * config/pa/elf.h: Likewise.
585
586 2001-12-11  Richard Henderson  <rth@redhat.com>
587
588         * objc/objc-act.c (build_string_class_template): New.
589         (build_objc_string_object): Call it.
590
591 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
592
593         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
594         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
595         * calls.c (store_unaligned_arguments_into_pseudos): Check
596         FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
597         are passed/returned.
598         * expr.c (move_block_from_reg): Ditto.
599         (move_block_from_reg): Ditto.
600         (copy_blkmode_from_reg): Ditto.
601         * stmt.c (expand_return): Ditto.
602         * stor-layout.c (compute_record_mode): If
603         FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
604         MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
605         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
606         so that Structures of one field are still treated as structures.
607         (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
608         (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
609         (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
610         * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
611         * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
612         to special case handling of structure padding.
613
614 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
615
616         * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
617         (may_trap_exp): Stores only are risk if they trap, too, not just
618         if code == MEM.
619
620 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
621
622         * flow.c (find_regno_partial): Indent properly.  Add a default to
623         switch.
624
625 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
626
627         * c-common.c (combine_strings): Complain if concatenating
628         __FUNCTION__.
629         * c-parse.in (yylexname): Flag artificial strings.
630         * tree.h (TREE_ARTIFICIAL_STRING_P): New.
631 doc:
632         * extend.texi: Update.
633
634 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
635
636         * c-common.c (type_for_mode): Handle unsigned vectors.
637         (type_for_mode): Remove redundant calls to TYPE_MODE.
638
639         * tree.c (make_vector): New.
640         (build_common_tree_nodes_2): Use make_vector for vector types.
641         Add unsigned vector types.
642
643         * tree.h (tree_index): Add unsigned types for vectors.
644         (unsigned_V16QI_type_node): New.
645         (unsigned_V4SI_type_node): New.
646         (unsigned_V8QI_type_node): New.
647         (unsigned_V8HI_type_node): New.
648         (unsigned_V4HI_type_node): New.
649         (unsigned_V2SI_type_node): New.
650
651 2001-12-11  Stan Shebs  <shebs@apple.com>
652
653         * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
654         test of class names.
655
656 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
657
658         * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
659         cpu configuration headers.
660         * config/h8300/elf.h: Include dbxelf.h.
661         * config/m68k/linux.h: Likewise.
662         * config/m68k/m68020-elf.h: Likewise.
663         * config/m68k/m68kv4.h: Likewise.
664         * config/sh/elf.h: Likewise.
665         * config/m68k/m68kemb.h: Add comment about the its purpose.
666
667 2001-12-11  Richard Henderson  <rth@redhat.com>
668
669         * objc/objc-act.c (build_constructor): Cast initializer values
670         to the proper field types.
671
672 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
673
674         * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
675
676 2001-12-10  Roger Sayle <roger@eyesopen.com>
677
678         * builtins.c (expand_builtin): Use a switch statement to list
679         those functions not expanded without optimizations, instead of a
680         series of equality tests.
681
682 Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
683
684         * config/alpha/vms.h (LIB_SPEC): Define.
685         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
686
687         * libgcc2.c (_bb): Remove ctime declaration.
688
689         * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
690         that works if LN_S = cp.
691
692         * config/alpha/x-vms (version): Change "." to "_".
693
694         * configure.in: Hardcode that vfork works on VMS host.
695         * configure: Regenerated.
696
697 Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
698
699         * gcc.c (convert_filename): Add do_obj parameter. Don't convert
700         unless do_obj true.
701         (process_command): Modify calls to convert_filename.
702
703 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
704
705         * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
706
707 Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
708
709         * combine.c (known_cond): Check mode of each operand to determine
710         if COND is comparing floating point values.
711
712 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
713
714         * rs6000.h (processor_type): Add PPC405.
715         (RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
716         * rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
717         rios1, rs64, and ppc630 processors.
718         * rs6000.c (processor_target_table): Add PPC405.
719
720 2001-12-10  Richard Henderson  <rth@redhat.com>
721
722         * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
723         instead of hardcoding subregs into the _be and _le patterns.
724
725 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
726
727         * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
728
729 Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
730
731         * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
732         what insn does.
733
734 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
735
736         * doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
737         copyright notice formerly conditioned on @ifinfo on @ifnottex
738         instead.
739
740 Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
741
742         * vmsdbgout.c (lookup_filename): Remove warning.
743
744 Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
745
746         * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
747
748         * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
749         (exeext, target_alias, prefix, local_prefix): Define.
750         * config/alpha/x-vms (USE_COLLECT2): Make empty.
751         * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
752         file specifications. Remove ".".
753         (GCC_INCLUDE_DIR): Remove redefinition (redundant).
754         * fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
755
756 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
757
758         * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
759
760 Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
761
762         * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
763         Add rules for building [vp]crt0.o
764         * config/alpha/vms.h (START_FILE_SPEC): Define.
765         * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
766         * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
767         * doc/invoke.texi: Document special Alpha/VMS options.
768
769 Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
770
771         * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
772         * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
773         not GNUC.
774
775 Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
776                           Douglas B. Rupp  <rupp@gnat.com>
777
778         * tree.c (append_random_char): Conditionalize INO for VMS.
779
780 2001-12-09  Richard Henderson  <rth@redhat.com>
781
782         * cfgcleanup.c (label_is_jump_target_p): New function.
783         (try_optimize_cfg): Use label_is_jump_target_p to check if label is
784         target of a JUMP_INSN from the preceding block.
785
786 Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
787
788         * vmsdbgout.c (lookup_filename): Assign null string instead
789         of null pointer to fnam.
790
791 2001-12-09  Richard Henderson  <rth@redhat.com>
792
793         * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
794         immediately after a call; insert nops before a call.
795
796 2001-12-09  Richard Henderson  <rth@redhat.com>
797
798         * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
799         not FUNCTION_BOUNDARY.
800         * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
801         * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
802         * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
803
804 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
805
806         * config/mmix/mmix.c (mmix_function_block_profiler,
807         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
808         unused functions.
809         * config/mmix/mmix-protos.h (mmix_function_block_profiler,
810         mmix_block_profiler, mmix_function_block_profiler_exit): Delete
811         prototypes.
812
813         * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
814         Delete obsoleted macros.
815
816 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
817
818         * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
819         doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
820
821         * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
822         cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
823         function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
824         config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
825         config/i370/i370.c, config/i386/i386.c,
826         config/i386/i386-interix.h, config/i386/i386.md,
827         config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
828         config/m32r/m32r-protos.h, config/mcore/mcore.h,
829         config/rs6000/rs6000.h, config/sparc/linux64.h,
830         config/sparc/sparc.c, config/v850/v850-protos.h,
831         config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
832         spelling errors.
833
834 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
835
836         * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
837         altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
838
839         * config/rs6000/rs6000.c: Ditto.
840
841         * config/rs6000/rs6000.md: Ditto.
842
843 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
844
845         * 1750a.md: Add default case in switch.
846         * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
847         if-else statement.
848         * dsp16xx.c (print_operand_address): Likewise.
849         * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
850         * ia64.md: Add missing braces.
851         * rs6000-protos.h (s8bit_cint_operand): Prototype.
852         * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
853         if-else statement.
854         * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
855         * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
856         * dbxout.c (dbxout_source_file): Move a variable into the scope
857         where it is used.
858         * final.c (profile_function): Mark parameter with
859         ATTRIBUTE_UNUSED.
860         * genemit.c (gen_expand): Likewise for generated file.
861         * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
862
863         * vmsdbg.h: Delete spurious close-comment.
864         (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
865         * vmsdbgout.c (write_modbeg): Define return type.
866
867         * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
868         * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
869         * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
870         * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
871         * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
872         * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
873         * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
874
875 2001-12-08  Tom Rix  <trix@redhat.com>
876
877         * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
878         * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
879         * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
880         for powerpc64.
881         * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
882         movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
883         * config/rs6000/rs6000.c (expand_block_move): Do not use
884         gen_movstrsi_2reg and powerpc64.
885
886 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
887
888         * c-common.h (rid): Add RID_CHOOSE_EXPR and
889         RID_TYPES_COMPATIBLE_P.
890
891         * c-parse.in (reswords): Add __builtin_choose_expr.
892         Add __builtin_types_compatible_p.
893         Add CHOOSE_EXPR token.
894         Add TYPES_COMPATIBLE_P token.
895         Add production for CHOOSE_EXPR.
896         Add production for TYPES_COMPATIBLE_P.
897
898         * doc/extend.texi (__builtin_choose_expr): Add documentation.
899         (__builtin_types_compatible_p): Likewise.
900
901 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
902
903         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
904         to unions.
905
906 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
907
908         * c-parse.in: Take string literals in assembler constructs,
909         not expressions.
910         * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
911         check the strings are STRING_CSTs.
912
913 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
914
915         * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
916         using combine_strings to do the concatenation.
917         * c-parse.in: Replace uses of the string non-terminal with STRING.
918         Don't attempt string concatenation.
919         (OBJC_STRING): New terminal.
920         (string): Remove non-terminal.
921         (_yylex): Call combine_strings on function names.  Generate
922         OBJC_STRING terminals; don't pass '@' on to yacc.
923         * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
924         (build_asm_stmt): Similarly.
925
926 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
927
928         * rtlanal.c (get_jump_table_offset): Delete unused variable.
929
930 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
931
932         * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
933         (prefetch): Rewrite using PREFETCH RTL primitive.
934         * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
935         * arm.c (arm_init_builtins): Don't initialize a builtin for
936         __builtin_prefetch here.
937         (arm_expand_builtin): Don't expand __builtin_prefetch here.
938
939 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
940
941         * final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
942         in test for a subreg.
943
944 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
945
946         * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
947         strings.
948
949 2001-12-07  Richard Henderson  <rth@redhat.com>
950
951         * doc/extend.texi: Fix typo last change.
952
953         * c-decl.c (c_language): Remove duplicate.
954
955 2001-12-07  Dale Johannesen  <dalej@apple.com>
956
957         * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
958         * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
959         specific codegen, eliminate a register copy.
960         (print_operand_address): Add support for Darwin's lo16(constant)
961         syntax.
962         (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
963         generation of addresses within very large data objects.
964         (s8bit_cint_operand):  New.
965         * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
966         Move "mtjmpr" to correct functional unit for 750/7400/7450.
967         Add imul2 and imul3 insn types for multiplication by 16- and
968         8-bit constants.
969         Change tablejump patterns to strongly discourage using LR
970         rather than CTR.
971         Add %lo16 patterns for Darwin loads and stores.
972
973 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
974
975         * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
976
977 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
978
979         * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
980         with %sp because it can cause the delayed instruction to load
981         below the stack.
982
983 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
984
985         * alpha.c (alpha_expand_unaligned_store,
986         alpha_expand_unaligned_store_words): Use constm1_rtx in place of
987         call to immed_double_const.
988
989 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
990
991         * doc/extend.texi (Variable Attributes): Document vector_size.
992
993         * attribs.c (c_common_attribute_table): Add vector_size.
994         (handle_vector_size_attribute): New.
995         (vector_size_helper): New.
996         (decl_attributes): Relayout the decl after calculating attribs.
997
998 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
999
1000         * doc/gcc.texi: Don't include install-old.texi.  Adjust menu
1001         description for Trouble section.
1002         * doc/install-old.texi: Adjust for inclusion as chapter of new
1003         installation manual.
1004         * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
1005         Adjust to include old installation chapter as chapter of new
1006         installation manual.
1007
1008 Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
1009
1010         * rtl.h (get_jump_table_offset): Declare.
1011         * rtlanal.c (get_jump_table_offset): Implement.
1012
1013 Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1014
1015         * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
1016         Deleted; were used only by BB profiler code.
1017         (sbb_head, sbb_tail, sbb_label_num): Likewise.
1018         (end_final): Delete now-unused vars I, PTR, and SPTR.
1019
1020         * expr.c (store_field): Remove warning.
1021         (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
1022         (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
1023         (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
1024         divisor constant power of 2.
1025         (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
1026
1027 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1028
1029         * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
1030         shifting.
1031
1032 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1033
1034         * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
1035         (DWARF_FRAME_REGISTERS): Delete.
1036
1037 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
1038
1039         * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
1040         * builtins.def (BUILT_IN_PREFETCH): Change arguments.
1041         * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
1042         with defaults for read prefetch with high degree of locality.
1043         * doc/extend.texi (__builtin_prefetch): Update documentation.
1044         * doc/md.texi (prefetch): Add documentation.
1045
1046 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1047
1048         * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
1049         UNIX V5.1A stdio.h.
1050         * fixinc/fixincl.x: Regenerate.
1051         Fixes PR libf2c/4826.
1052
1053 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
1054             Richard Henderson  <rth@redhat.com>
1055
1056         * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
1057         (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
1058
1059         * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
1060         to PRE_GCC3_DWARF_FRAME_REGISTERS.
1061         (frame_state): Same.
1062         (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
1063
1064 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1065
1066         * langhooks.c (lhd_staticp): Mark parameter with
1067         ATTRIBUTE_UNUSED.
1068
1069 2001-12-06  H.J. Lu <hjl@gnu.org>
1070
1071         * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
1072         reduce noise.
1073         (.po.pox): Likewise.
1074         (o/$(PACKAGE).pot): Likewise.
1075
1076 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
1077
1078         * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
1079         * tree-inline.c (expand_call_inline): ... here.
1080
1081 2001-12-06  H.J. Lu <hjl@gnu.org>
1082
1083         * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
1084         (.po.pox): Likewise.
1085         (o/$(PACKAGE).pot): Likewise.
1086
1087 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
1088
1089         * config.gcc: Include dbxelf.h before elfos.h.
1090         * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
1091
1092 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
1093
1094         * cppfiles.c (open_file): If we've opened a directory by
1095         mistake, close it.
1096         (find_include_file): Avoid turning / into // or // into ///.
1097
1098 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1099
1100         * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
1101         (STRUCT_VALUE_REGNUM): Restore definition.
1102
1103 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
1104
1105         * flow.c (find_regno_partial): Return register, not the expression
1106         the register is in.
1107
1108 Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1109
1110         * function.c (handle_epilogue_set): Check for FP setting case when
1111         SP is set from FP in same insn.
1112
1113 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
1114
1115         * config/arm/arm.c (load_multiple_sequence): Pass pointer to
1116         RTX when calling alter_subreg().
1117         (store_multiple_sequence): Pass pointer to RTX when calling
1118         alter_subreg().
1119
1120 Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1121
1122         * function.c (assing_parms): Fix typo in last change.
1123         * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
1124         * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
1125         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1126         * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
1127
1128 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
1129
1130         * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
1131         correct code selecting section.
1132
1133 Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
1134
1135         * final.c (count_basic_block, add_bb, add_bb_string):
1136         Kill.
1137         (end_final, final_start_function, final, final_scan_insn,
1138         leaf_function_p): Kill BB profiler related code.
1139         * flags.h (profile_block_flag): Kill.
1140         * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
1141         BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
1142         __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
1143         bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
1144         reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
1145         __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
1146         __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
1147         __bb_init_trace_func): Kill.
1148         * toplev.c (profile_block_flag): Kill.
1149         (indepdendent_decode_option, process_options): Kill -a related code.
1150         * alpha.c (direct_call_operand): Likewise.
1151         * arm.c (arm_expand_prologue, thumb_expand_prologue,
1152         thumb_expand_epilogue): Likewise.
1153         * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
1154         * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1155         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1156         MACHINE_STATE_RESTORE): Kill.
1157         * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1158         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1159         MACHINE_STATE_RESTORE): Kill.
1160         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1161         * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
1162         ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
1163         code.
1164         (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
1165         * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1166         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1167         MACHINE_STATE_RESTORE): Kill.
1168         * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1169         * i960.c (i960_output_function_prologue): Kill BB profiler related
1170         code.
1171         * ia64.c (ia64_compute_frame_size): Likewise.
1172         * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1173         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1174         MACHINE_STATE_RESTORE): Kill.
1175         * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
1176         * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1177         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1178         MACHINE_STATE_RESTORE): Kill.
1179         * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
1180         * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1181         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1182         MACHINE_STATE_RESTORE): Kill.
1183         * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
1184         Kill BB profiler related code.
1185         * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1186         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1187         MACHINE_STATE_RESTORE): Kill.
1188         * mips.c (mips_expand_prologue): Kill BB profiler related code.
1189         * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1190         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1191         MACHINE_STATE_RESTORE): Kill.
1192         * rs6000.c (rs6000_override_options): Kill BB profiler related code.
1193         * s960.c (s390_function_prologue): Kill BB profiler related code.
1194         * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1195         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1196         MACHINE_STATE_RESTORE): Kill.
1197         * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1198         * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1199         * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1200         * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1201         * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
1202         sparc_nonflat_function_epilogue): Kill BB profiler related code.
1203         (sparc_function_block_profiler, sparc_block_profiler,
1204         sparc_function_block_profiler_exit): Kill.
1205         * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
1206         (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1207         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1208         MACHINE_STATE_RESTORE): Kill.
1209         * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1210         * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1211         * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1212         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1213         MACHINE_STATE_RESTORE): Kill.
1214         * doc/invoke.texi: Kill documentation of -a and -ax.
1215         * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1216         FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1217         MACHINE_STATE_RESTORE): Kill.
1218
1219 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
1220
1221         * doc/rtl.texi: Use a table to display RTL format characters.
1222
1223 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
1224
1225         * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
1226
1227 Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1228
1229         * function.c (keep_stack_depressed): Check global_live_at_start
1230         of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
1231
1232 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
1233
1234         * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
1235         as set by the generic FreeBSD configure framework.
1236
1237 2001-12-04  Jason Merrill  <jason@redhat.com>
1238
1239         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1240         start_inlining, end_inlining.
1241         * tree-inline.c (expand_call_inline): Call them.
1242         * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
1243         (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
1244         (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
1245         * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
1246         (lhd_tree_inlining_end_inlining): New fn.
1247
1248 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1249
1250         * c-common.c (shadow_warning): New function, moved from cp/decl.c.
1251         * c-common.h (shadow_warning): New.
1252         * c-decl.c: Include c-common.h.
1253         (warn_if_shadowing): New, broken out of pushdecl.
1254         (pushdecl): Use warn_if_shadowing.
1255         (store_parm_decls): Prevent duplicate -Wshadow warnings.
1256
1257 Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
1258
1259         * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
1260         (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
1261         (LIB_SPEC): Remove.
1262
1263 Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1264
1265         * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
1266         (QUAL_UNION_TYPE): New type.
1267
1268         * varasm.c (output_constant, case ERROR_MARK): New case.
1269
1270         * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
1271         (c_com): Delete its reference.
1272         * builtins.c: Delete memory checking code.
1273         * calls.c, expr.c, function.c, stmt.c: Likewise.
1274         * builtins.c (expand_builtin_arg_info): Remove reference to
1275         EXPAND_MEMORY_USE_* modifiers.
1276         * explow.c (expr_size): Likewise.
1277         * expr.c (expand_expr, expand_increment): Likewise.
1278         * expr.h (ARGS_SIZE_RTX): Likewise.
1279         * function.c (assign_parms, expand_pending_sizeso): Likewise.
1280         * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
1281         * expr.c (in_check_memory_usage): Delete.
1282         (get_push_address, get_memory_usage_from_modifier): Delete.
1283         (expand_assigment): Use EXPAND_WRITE on destination.
1284         (expand_expr): Delete ro_modifier.
1285         * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
1286         add EXPAND_WRITE.
1287         (memory_use_mode): Delete.
1288         * flags.h (flag_check_memory_usage): Deleted.
1289         (flag_prefix_function_name): Likewise.
1290         * function.c (expand_function_start): Don't set
1291         current_function_check_memory_usage.
1292         * function.h (check_memory_usage): Delete.
1293         * libfuncs.h, optabs.c: Delete chkr_* stuff.
1294         * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
1295         EXPAND_WRITE.
1296         * toplev.c (flag_check_memory_usage): Deleted.
1297         (flag_prefix_function_name): Likewise.
1298         (f_options, process_options): Delete references to above.
1299         * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
1300         * varasm.c (CHKR_PREFIX): Deleted.
1301         (make_decl_rtl): Remove flag_prefix_function_name handling.
1302         (assemble_name): Likewise.
1303         * doc/extend.texi: Remove no_check_memory_usage attribute.
1304         * doc/invoke.texi: Remove -fcheck-memory-usage
1305         and -fprefix-function-name.
1306
1307 2001-12-05  Andreas Schwab  <schwab@suse.de>
1308
1309         * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
1310         from autoconf.
1311
1312 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
1313
1314         * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
1315
1316 2001-12-05  William Cohen  <wcohen@redhat.com>
1317
1318         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
1319         instruction.
1320
1321 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
1322
1323         * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
1324         builtins.
1325
1326         * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
1327         better reflect reality (change from Apple's tree).
1328         Add more of altivec instructions.
1329         Add ftruncv4sf2 pattern.
1330         Remove more unspecs (vector merge instructions, etc).
1331
1332         * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
1333         builtins.
1334         (bdesc_1arg): New, for 1 argument altivec builtins.
1335         (altivec_expand_builtin): Handle unary and ternary ops.
1336         (altivec_init_builtins): Ditto.
1337
1338 Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1339
1340         * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
1341         * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
1342
1343 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1344
1345         * gcse.c (store_killed_in_insn): Consider pure calls
1346         as potential store killers in addition to normal calls.
1347
1348 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1349
1350         * expr.c (expand_expr): When checking promoted value, use
1351         DECL_MODE (exp) and not mode.
1352
1353 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1354
1355         * c-typeck.c (output_init_element): Call digest_init
1356         just once, not in each if branch and check its return value for
1357         error_mark_node.
1358
1359 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
1360
1361         * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
1362         type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
1363         (finish_struct): Break the loop if n_incomplete went to 0.
1364         For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
1365
1366 Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
1367
1368         * config/alpha/alpha.c (alpha_va_start): Update VMS case.
1369
1370 Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1371                           Douglas B. Rupp  <rupp@gnat.com>
1372
1373         * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
1374         * doc/invoke.texi: Add -gvms.
1375         * doc/passes.texi: Add mention of vmsdbgout.c.
1376         * doc/tm.texi: Document VMS debugging output.
1377
1378 Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1379
1380         * function.h (tree, rtx): Remove no-longer-needed definitions.
1381
1382         * function.c (keep_stack_depressed): Refine check for register
1383         clobbered over call.
1384
1385         * expr.c (store_expr): When copying string constant into array,
1386         use functions that update memrefs instead of computations on
1387         addresses to better track MEMs.  Also properly handle 32/64 pointers.
1388         (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
1389         (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
1390
1391         * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
1392         underneath COMPONENT_REFs.
1393         (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
1394
1395 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
1396
1397         * toplev.c (display_target_options): Don't print twice.
1398
1399 Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
1400
1401         * emit-rtl.c (set_unique_reg_note): Don't set
1402         a REG_EQUAL or REG_EQUIV note if multiple sets
1403         are present.
1404
1405 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1406
1407         * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
1408         CASE_DROPS_THROUGH.
1409
1410 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
1411
1412         * rtl.h (initialize_uninitialized_subregs): New prototype.
1413         * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
1414         when optimization is on.
1415         * flow.c (find_regno_partial): Find subregs within an expression.
1416         (initialize_uninitialized_subregs): Initialize live on entry registers
1417         which are used in subreg expressions.
1418
1419 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
1420
1421         * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
1422
1423 2001-12-04  DJ Delorie  <dj@redhat.com>
1424
1425         * fixinc/fixincl.c (initialize): Avoid problemsome macro
1426         parameter names (PR 3388).
1427
1428 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
1429
1430         * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
1431         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
1432
1433 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1434
1435         * c-common.def (COMPOUND_LITERAL_EXPR): New.
1436         * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
1437         (c_staticp): New function.
1438         * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
1439         (c_staticp): Declare.
1440         * c-typeck.c (default_function_array_conversion, build_unary_op):
1441         Don't handle CONSTRUCTOR specially.
1442         (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
1443         * c-decl.c (build_compound_literal): New function.
1444         * c-tree.h (build_compound_literal): Declare.
1445         * c-parse.in (primary): Use build_compound_literal.
1446         * c-lang.c (LANG_HOOKS_STATICP): Define.
1447         * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
1448         * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
1449         * doc/extend.texi: Update documentation of compound literals.
1450         Fixes PR c/4787.
1451
1452 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1453
1454         * langhooks.h (struct lang_hooks): Add staticp.
1455         * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
1456         (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
1457         * langhooks.c (lhd_staticp): New function.
1458         * tree.c (staticp): Call lang_hooks.staticp for language-specific
1459         tree codes.
1460
1461 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
1462
1463         * cppspec.c (lang_specific_driver): Set is_cpp_driver.
1464         * gcc.c (process_command): Ensure the cpp driver sees
1465         --help and --target-help, and that the help is printed
1466         exactly once.
1467
1468 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
1469
1470         * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
1471
1472 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
1473
1474         * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
1475         flag_strict_aliasing.  Use separate assignment statements.
1476
1477 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
1478
1479         * build-make, cross-make: Delete file.
1480         * configure.in: Set and substitute CROSS, ALL,
1481         SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
1482         HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
1483         whether build == host and host == target.  Do not
1484         AC_SUBST_FILE build_overrides or cross_overrides.  Do not
1485         AC_SUBST cross_defines or extra_c_flags.
1486         * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
1487         (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
1488         HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
1489         partially or completely with autoconf-substituted @variable@
1490         notation.
1491         (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
1492         @build_overrides@, @extra_c_flags@, all.build, install-build,
1493         install-cross-rest, install-float-h-cross): Deleted.
1494         (install-normal): Rename to install.  Delete old "install"
1495         indirection rule.
1496
1497 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
1498
1499         * stmt.c (expand_return): Clear destination instead of clobbering it
1500         when setting a return value via bitsets.
1501
1502 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
1503
1504         * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
1505         it has DECL_SAVED_TREE.
1506
1507         * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
1508         is in a different binding level, get its abstract origin to be
1509         olddecl.
1510         * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
1511         check earlier.
1512         * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
1513         DECL_INITIAL is NULL.
1514
1515 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
1516
1517         * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
1518         Return correct value if one of the subexpressions was optimized to
1519         0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
1520         (and_reg_cond): Similarly.
1521
1522 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
1523
1524         * function.c (assign_parms): Set last_named only for last named
1525         argument.
1526
1527 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1528
1529         * doc/install.texi: Use the GFDL.  Include years from old install
1530         manual in copyright notice.  Include copyright and GFDL notice on
1531         HTML index page.  Include usual footer on testing.html.
1532         * doc/install.texi2html: Build gfdl.html.  Use -I
1533         $SOURCEDIR/include.
1534         * doc/include/fdl.texi: Adapt for use in the install manual.
1535
1536 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1537
1538         * doc/install.texi: Document that installed native compiler for
1539         building cross compilers should be GCC 2.95 or later.
1540
1541 2001-12-03  Eric Christopher  <echristo@redhat.com>
1542
1543         * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
1544         * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
1545         patterns.
1546
1547 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
1548
1549         * rtl.def (PREFETCH): New rtx code.
1550         * doc/rtl.texi (PREFETCH): Add documentation.
1551         * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
1552         * rtlanal.c (reg_referenced_p): Ditto.
1553         * sched-vis.c (print_exp):  Ditto.
1554         * ssa-dce.c (find_inherently_necessary):  Ditto.
1555
1556         * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
1557           (PREFETCH_BLOCK): Define.
1558         * config/ia64/ia64.md (itanium_class): Add lfetch.
1559           (prefetch, prefetch_internal): New.
1560
1561         * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
1562         * builtins.def (BUILT_IN_PREFETCH): New.
1563         * builtins.c (expand_builtin_expect): New.
1564           (expand_builtin): Call it.
1565         * doc/extend.texi: Document __builtin_prefetch.
1566
1567         * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
1568           conflicts with new generic prefetch functionality.
1569         * config/i386/i386.c (ix86_expand_builtin): Use new name for
1570           prefetch_sse.
1571
1572 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
1573
1574         * objc/Make-lang.in: Update copyright.
1575         (OBJC_OBJS): Add objc-lang.o.
1576         (objc-lang.o): New rule.
1577         * objc/config-lang.in: Fix file description and update
1578         copyright.
1579         * objc/objc-act.c: Do not include langhooks.h and
1580         langhooks-def.h
1581         (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
1582         (objc_post_options): Move to objc-lang.c.
1583         (objc_init_options): Move to objc-lang.c.
1584         (objc_init): Make non-static.
1585         (objc_decode_option): Make non-static.
1586         (HASHFUNCTION): Remove macro.
1587         (hash_func): New function.
1588         (hash_enter): Replace HASHFUNCTION with hash_func.
1589         (hash_lookup): Replace HASHFUNCTION with hash_func.
1590         (maybe_objc_tree_codes): New function.
1591         (init_objc): Move ObjC tree code initialization to
1592         maybe_objc_tree_codes().
1593         * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
1594         (objc_init): New public prototype.
1595         (objc_decode_option): New public prototype.
1596         (maybe_add_objc_tree_codes): New public prototype.
1597         * objc/objc-lang.c: New file.
1598         (lang_hooks): Moved from objc-act.c.
1599         (objc_post_options): Moved from objc-act.c.
1600         (objc_init_options): Moved from objc-act.c.
1601
1602 2001-12-03  Geoff Keating  <geoffk@redhat.com>
1603
1604         * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
1605         of array elements.
1606
1607 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1608
1609         PR c/4988
1610         * gcc.c (process_command): Don't add a preprocessor option for
1611         --help and --target-help; cc1 is enough.
1612
1613 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1614
1615         * c-decl.c (grokdeclarator): Use ISO word.
1616         * cppinit.c: Remove leading capital from diagnostic messages, as
1617         per GNU coding standards.
1618         * emit-rtl.c: Similarly.
1619         * final.c: Similarly.
1620         * gcc.c: Similarly.
1621         * tradcpp.c: Similarly.
1622         * config/arm/arm.c: Similarly.
1623         * config/arm/arm.h: Similarly.
1624         * config/avr/avr.c: Similarly.
1625         * config/avr/avr.h: Similarly.
1626         * config/c4x/c4x.c: Similarly.
1627         * config/cris/cris.c: Similarly.
1628         * config/cris/cris.h: Similarly.
1629         * config/d30v/d30v.c: Similarly.
1630         * config/dsp16xx/dsp16xx.c: Similarly.
1631         * config/dsp16xx/dsp16xx.h: Similarly.
1632         * config/h8300/h8300.c: Similarly.
1633         * config/i386/i386.c: Similarly.
1634         * config/i386/xm-djgpp.h: Similarly.
1635         * config/i960/i960.h: Similarly.
1636         * config/m32r/m32r.c: Similarly.
1637         * config/m68hc11/m68hc11.c: Similarly.
1638         * config/m88k/m88k.c: Similarly.
1639         * config/m88k/m88k.h: Similarly.
1640         * config/mcore/mcore.c: Similarly.
1641         * config/mcore/mcore.h: Similarly.
1642         * config/mips/mips.c: Similarly.
1643         * config/mmix/mmix.c: Similarly.
1644         * config/pa/pa.c: Similarly.
1645         * config/rs6000/rs6000.c: Similarly.
1646         * config/rs6000/sysv4.h: Similarly.
1647         * config/s390/s390.c: Similarly.
1648         * config/sparc/sparc.c: Similarly.
1649         * config/v850/v850-c.c: Similarly.
1650         * config/v850/v850.c: Similarly.
1651
1652 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
1653
1654         * rs6000.h (RETURN_IN_MEMORY): Cast result of
1655         int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
1656
1657 Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
1658
1659         * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
1660         bit twiddling constant.
1661
1662 Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
1663
1664         * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
1665         call purge_dead_edges after removing.
1666         (delete_null_pointer_checks): Do not handle delete_list.
1667
1668         * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
1669         (count_basic_blocks): ... here.
1670         (find_basic_blocks, find_bb_boundaries): Cleanup.
1671
1672         * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
1673         overflow for types greater then 2 * HOST_WIDE_INT.
1674
1675         * reload.c (find_reloads): Update the duplicates after swapingg.
1676
1677 Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
1678
1679         * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
1680
1681 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
1682
1683         * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
1684         MASK_LONG_DOUBLE_128): Delete.
1685         (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
1686         TARGET_AIX_STRUCT_RET): New flags.
1687         (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
1688         -mlong-double-64.  Add entries for -m(no-)aix-struct-return
1689         and -m(no-)svr4-struct-return.
1690         (TARGET_OPTIONS): Add entry for -mlong-double-.
1691         (rs6000_long_double_size_string, rs6000_long_double_type_size,
1692         rs6000_altivec_abi): Declare.
1693         (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
1694         LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
1695         (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
1696         structures of size <= 8 bytes in registers.
1697         (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
1698
1699         * config/rs6000/rs6000.c (rs6000_long_double_size_string,
1700         rs6000_long_double_type_size, rs6000_altivec_abi): New
1701         globals.
1702         (rs6000_override_options): Set rs6000_long_double_type_size
1703         from rs6000_long_double_size_string, if nonzero.  Set the
1704         MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
1705         not already set.
1706         (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
1707         target_flags bit.
1708         (rs6000_init_builtins): This hook now takes no arguments.
1709
1710         * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
1711         DRAFT_V4_STRUCT_RET to 1.
1712
1713 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1714
1715         * c-typeck.c (really_start_incremental_init, push_init_level):
1716         Avoid constructor_max_index being other than an INTEGER_CST.
1717
1718 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
1719
1720         * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
1721         unsigned.
1722         (ASM_GENERATE_INTERNAL_LABEL): Same.
1723         (UNIQUE_SECTION): Fix typo.
1724
1725 2001-12-02  Richard Henderson  <rth@redhat.com>
1726
1727         * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
1728
1729 2001-12-02  Richard Henderson  <rth@redhat.com>
1730
1731         * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
1732         (MEM_EXPR): Rename from MEM_DECL; adjust all users.
1733         * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
1734         * expr.h, final.c, reload1.c: Adjust users.
1735
1736         * alias.c (nonoverlapping_component_refs_p): New.
1737         (decl_for_component_ref, adjust_offset_for_component_ref): New.
1738         (nonoverlapping_memrefs_p): Use them.
1739         * emit-rtl.c (component_ref_for_mem_expr): New.
1740         (set_mem_attributes): Use it.
1741         (set_mem_offset): New.
1742         * expr.c (expand_assignment): Call set_mem_attributes for
1743         inner references; adjust the memory offset as needed.
1744         * print-rtl.c (print_mem_expr): New.
1745         (print_rtx): Use it.
1746
1747 Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
1748
1749         * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
1750
1751         * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
1752         (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
1753         (ASM_SPEC): Don't redefine.
1754         (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
1755         * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
1756         * config/alpha/vms-dwarf2.asm: New file.
1757
1758         * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
1759         * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
1760         * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
1761         (vmsdbgout_after_prologue): New declaration.
1762         * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
1763         * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
1764         * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
1765         (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
1766         (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
1767         (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
1768         * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
1769         Test VMS_DEBUGGING_INFO.
1770         (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
1771         (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
1772         * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
1773         * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
1774         VMS_AND_DWARF2_DEBUG.
1775         (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
1776         (decode_g_option): Add "vms" to debug_type_names.
1777         (process_options): Set vmsdbg_debug_hooks if -gvms.
1778         (lang_independent_init): Emit line number for VMS unless -g0.
1779         * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
1780         * vmsdbg.h, vmsdbgout.c: New files.
1781
1782 Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1783
1784         * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
1785
1786 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1787
1788         * cfgrtl.c (purge_all_dead_edges): Initialize variable.
1789         * dwarf2out.c (is_cxx): Prototype.
1790         * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
1791         warning.
1792         * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
1793
1794 Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1795
1796         * libgcc2.c (__bb_exit_func): Fix line wrap problems.
1797
1798 2001-12-02  Geoff Keating  <geoffk@redhat.com>
1799
1800         * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
1801         * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
1802         rather than simplify_subreg.  Check for volatile-ness.  Check that
1803         we're not splitting one slow operation into two slow operations.
1804
1805 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
1806
1807         * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
1808         before shifting.
1809
1810 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
1811
1812         * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
1813         capital from diagnostics.
1814         * c-lex.c (cb_file_change): Similarly.
1815         * c-parse.in : Similarly.
1816         * cfgrtl.c (verify_flow_info): Similarly.
1817         * collect2.c: Similarly.
1818         * cppfiles.c (find_include_file): Similarly.
1819         * cppinit.c (cpp_handle_option): Similarly.
1820         * cpplex.c (cpp_spell_token): Similarly.
1821         * cppmain.c (do_preprocessing): Similarly.
1822         * gcc.c (translate_options, process_command, do_spec1,
1823         main, pfatal_execute): Similarly.
1824         * genattr.c (main): Similarly.
1825         * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
1826         write_test_expr, main): Similarly.
1827         * gencodes.c (main): Similarly.
1828         * genconfig.c (main): Similarly.
1829         * genconstants.c (main): Similarly.
1830         * genemit.c (main): Similarly.
1831         * genextract.c (main): Similarly.
1832         * genflags.c (main): Similarly.
1833         * genopinit.c (main): Similarly.
1834         * genoutput.c (process_template, main): Similarly.
1835         * genpeep.c (main): Similarly.
1836         * genrecog.c (main): Similarly.
1837         * gensupport.c (is_predicable, identify_predicable_attribute,
1838         alter_predicate_for_insn, init_md_reader_args, main): Similarly.
1839         * ggc-page.c (alloc_anon): Similarly.
1840         * mips-tfile.c (add_string, add_procedure, add_file, read_line,
1841         parse_begin, parse_bend, parse_def, parse_end, parse_file,
1842         parse_stabs_common, parse_stabs, write_varray, write_object,
1843         read_seek, copy_object, main, error): Similarly.
1844         * profile.c (compute_branch_probabilities): Similarly.
1845         * reg-stack.c (check_asm_stack_operands): Similarly.
1846         * reload.c (find_reloads): Similarly.
1847         * reload1.c (spill_failure, failed_reload): Similarly.
1848         * rtl-error.c (_fatal_insn_not_found): Similarly.
1849         * toplev.c (read_integral_parameter, crash_signal,
1850         decode_f_option, set_target_switch, parse_options_and_default_flags)
1851         : Similarly.
1852         * tradcif.y (parse_number, yylex): Similarly.
1853         * tradcpp.c (main, fancy_abort): Similarly.
1854         * tree.c (tree_check_failed): Similarly.
1855         * varray.c (varray_check_failed): Similarly.
1856         * xcoffout.c (xcoff_output_standard_types): Similarly.
1857 objc:
1858         * objc-act.c (get_object_ref, lookup_and_install_protocols,
1859         build_objc_string_object, objc_declare_alias, build_ivar_chain,
1860         finish_message_expr, build_protocol_expr, is_public,
1861         start_class): Similarly.
1862
1863 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
1864
1865         * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
1866         trailing period from diagnostics.
1867         * c-lex.c (cb_file_change): Similarly.
1868         * cppmacro.c (check_trad_stringification): Similarly.
1869         * gcc.c (do_spec_1): Similarly.
1870         * genattr.c (main): Similarly.
1871         * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
1872         * gencodes.c (main): Similarly.
1873         * genconfig.c (main): Similarly.
1874         * genconstants.c (main): Similarly.
1875         * genemit.c (main): Similarly.
1876         * genextract.c (main): Similarly.
1877         * genopinit.c (main): Similarly.
1878         * genoutput.c (main): Similarly.
1879         * genpeep.c (main): Similarly.
1880         * genrecog.c (main): Similarly.
1881         * mips-tfile.c (add_file, error): Similarly.
1882         * profile.c (init_branch_prob): Similarly.
1883         * reload1.c (spill_failure): Similarly.
1884         * stmt.c (parse_output_constraint): Similarly.
1885         * varasm.c (assemble_variable): Similarly.
1886
1887 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1888
1889         * m68k.c (init_FPA_table): Provide static prototype.
1890         * mips/abi64.h (mips_function_value): Move prototype to ...
1891         * mips-protos.h (mips_function_value): ... here.
1892         * mips.c: Include halfpic.h.
1893         * output.h (rdata_section): Prototype.
1894
1895         * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1896         * m88k.c (m88k_svr3_asm_out_constructor,
1897         m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
1898         !OBJECT_FORMAT_ELF.
1899         * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1900         * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1901         * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1902
1903 2001-12-01  Geoff Keating  <geoffk@redhat.com>
1904
1905         * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
1906         LO_SUM addresses less than word size are not legitimate,
1907         because they lead to invalid SUBREGs.
1908         * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
1909
1910 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
1911
1912         * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
1913         while scanning for multiple back edges.
1914
1915 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1916
1917         * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
1918         * config/rs6000/tramp.asm: Use it.
1919
1920 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
1921
1922         * gencheck.c, gengenrtl.c: Don't define xmalloc.
1923         * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
1924         xmalloc.
1925
1926 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1927
1928         * pa.c (output_ascii): Cast `p' to unsigned char.
1929
1930 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
1931
1932         * config/rs6000/rs6000.c (altivec_expand_builtin): add
1933         ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
1934         *_16qi,_8hi, rename existing V4SI ones to *_4si.
1935         (altivec_init_builtins): Ditto.
1936         (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
1937
1938         * config/rs6000/rs6000.md: Add attribute types vecsimple,
1939         veccomplex, vecfloat, and vecperm, for altivec instructions.
1940         Modify altivec patterns to use appropriate attribute type.
1941         Modify altivec patterns to match RTL operations where appropriate
1942         (IE no unspec where we can avoid it).
1943         Add vector unit scheduling for ppc7450.
1944         Rename patterns to what they are where appropriate
1945         (altivec_vaddfp->addv4sf3, etc)
1946
1947         * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
1948         Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
1949
1950         * config/rs6000/sysv4.h: Add -mcpu=7450.
1951
1952         * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
1953         _builtin_altivec_ld_interal function.
1954
1955 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1956
1957         * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
1958         strchr, strrchr, isascii, gettimeofday.
1959         * config.in, configure: Regenerate.
1960
1961 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
1962
1963         * unroll.c (unroll_loop): Correct special exit cases.
1964
1965 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
1966
1967         * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
1968         accept DFmode and DImode only.
1969
1970 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
1971
1972         * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
1973         (STACK_DYNAMIC_OFFSET): Same.
1974
1975 2001-11-30  Richard Henderson  <rth@redhat.com>
1976
1977         * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
1978
1979 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
1980
1981         * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
1982         (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
1983         the values in call_used_registers.
1984
1985 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
1986
1987         * gthr-dce.h: If _DCE_THREADS is not defined, then just include
1988         gthr-single.
1989
1990 2001-11-30  Jason Merrill  <jason@redhat.com>
1991
1992         * dwarf2out.c (is_cxx): New fn.
1993         (add_data_member_location_attribute): Check it.
1994         * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
1995
1996 Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1997
1998         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
1999
2000 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
2001
2002         * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
2003         MODE_VECTOR_FLOAT as allowed.
2004
2005 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
2006
2007         Purge cruft now we have build libiberty.
2008
2009         * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
2010         HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
2011         USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
2012         USE_HOST_STRSTR): Delete variables.
2013         (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
2014         hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
2015         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2016         $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
2017         (LIBIBERTY, BUILD_LIBIBERTY): New variables.
2018         (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
2019         (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
2020         (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
2021         (HOST_LIBS): Ditto.
2022         (HOST_RTL): Remove hashtab.o safe-ctype.o.
2023         (OBJS): Remove splay-tree.o.
2024         (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
2025         (distclean): No need to delete splay-tree.c obstack.c
2026         hashtab.c safe-ctype.c.
2027         (mostlyclean): Delete build copies of print-rtl.c bitmap.c
2028         errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
2029         * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
2030         Delete.
2031         * configure.in: Don't use them.
2032         Set and substitute @FORBUILD@.
2033         * config.in, configure: Regenerate.
2034         * doprint.c: Move to libiberty/_doprnt.c.
2035         * doc/configterms.texi: Document that libiberty is now built
2036         up to three times.  Fix typo.
2037
2038 2001-11-30  Jason Merrill  <jason@redhat.com>
2039
2040         * dwarf2out.c (add_data_member_location_attribute): Do the
2041         right thing for virtual bases.
2042         * dbxout.c (dbxout_type): For a virtual base, print the offset
2043         within the vtable.
2044
2045 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
2046
2047         * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
2048
2049 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
2050
2051         * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
2052         go in memory.
2053         Remove unused attribute for named.
2054
2055 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2056
2057         * genattrtab.c (attr_rtx_1): New function containing the
2058         majority of `attr_rtx'.  Move variable declarations into the
2059         scope where they are used.  Eliminate unnecessary gotos.
2060         (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
2061         VA_FIXEDARG, and VA_CLOSE.
2062
2063 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
2064
2065         * config/cris/cris.c (cris_notice_update_cc): Check first
2066         destination also against overlap with cc_status.value2 and second
2067         destination against overlap with cc_status.value1.  For overlaps,
2068         clear overlapped value, don't just CC_STATUS_INIT.
2069
2070         * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
2071         Fix typo in comment.
2072         (LINK_SPEC): Remove whitespace at end of line.
2073
2074 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2075
2076         * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
2077
2078 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
2079
2080         * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
2081         macros for the supported debugging types.
2082
2083 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
2084
2085         PR other/4932
2086         * config/i386/i386.c (print_operand):  Verify that the
2087           argument to %c is a constant and not a conditional which
2088           needs to be reversed.
2089
2090 Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
2091
2092         * emit-rtl.c (gen_lowpart_common): Fix conversion of
2093         REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
2094         of low part of those arrays for 32bit and 64bit hosts.
2095
2096 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2097
2098         * Makefile.in (insn-output.o): Depend on insn-codes.h.
2099
2100 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
2101
2102         * configure.in (target_list): Add generated-manpages.
2103         * configure: Regenerate.
2104         * Makefile.in (generated-manpages): Depend on
2105         lang.generated-manpages.
2106         * objc/Make-lang.in (objc.generated-manpages): New dummy target.
2107
2108 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
2109
2110         * config/arm/crti.asm (_init): Add .thumb_func if compiled
2111         with -mthumb.
2112         (_fini): Add .thumb_func if compiled with -mthumb.
2113
2114 2001-11-28  Eric Christopher  <echristo@redhat.com>
2115
2116         * config/mips/mips.c (override_options): Fix thinko in mips_tune
2117         for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
2118
2119 Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
2120
2121         * alpha.md (tablejump): Use pic_offset_table_rtx
2122         instead of gen_rtx_REG.
2123
2124 Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
2125
2126         * expr.c (store_expr): When copying a string constant into an
2127         array, reset the known alignment of the MEM for the section to
2128         be cleared to BITS_PER_UNIT.
2129
2130 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2131
2132         * config/cris/cris.c: Remove whitespace at end of line.
2133
2134 Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
2135
2136         * config.gcc (i[34567]86-*-interix3*): New case.
2137         * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
2138         New files.
2139
2140 2001-11-28  Richard Henderson  <rth@redhat.com>
2141
2142         * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
2143         symbolic_operand as the predicate.
2144
2145 2001-11-28  Richard Henderson  <rth@redhat.com>
2146
2147         * doloop.c (doloop_modify_runtime): Properly select induction
2148         variable; skip late entry test if biv initializer created by loop.
2149
2150 Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2151
2152         * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
2153         EXPR_WITH_FILE_LOCATION, so change checks and documentation.
2154
2155         * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
2156
2157         * tree.h: Add missing checks on some macros; make formatting more
2158         consistent.
2159
2160         * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
2161         level; only add to pending_sizes if find it.
2162
2163         * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
2164
2165         * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
2166         Add casts to remove warnings.
2167
2168         * Makefile.in (OBJS): Sort alphabetically.
2169
2170         * print-rtl.c (print_rtx): If RTX code is bad, just say so.
2171         Also minor cleanups.
2172
2173 Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
2174
2175         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
2176         (FLAGS_TO_PASS): Add STAGE_PREFIX.
2177         (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
2178         to STAGE_PREFIX.
2179
2180 Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
2181
2182         * cse.c (true_dependence_in_rtx): New function.
2183         (invalidate): Use it.
2184
2185         * c-common.h (GOTO_FAKE_P): New macro.
2186         * tree-inline.c (GOTO_FAKE_P): Set.
2187         * c-tree.texi (GOTO_FAKE_P): Document.
2188
2189         * varasm.c (assemble_variable): Set reloc to 3 for error_mark
2190         containing pointers.
2191         (output_addressed_constants): Check for local/external relocations.
2192         * elfos.h (SELECT_SECTION): Classify data section.
2193         * tm.texi (SELECT_SECTION): Update documentation.
2194
2195         * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
2196         (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
2197
2198 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2199
2200         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2201         UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
2202         OBJECT_FORMAT_ROSE.
2203
2204 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
2205
2206         * config/cris/cris.c: Tweak spacing for prototypes.
2207         (LOSE_AND_RETURN): New macro.
2208         (cris_operand_lossage): New function.
2209         (cris_print_index, cris_print_base): Use cris_operand_lossage
2210         rather than fatal_insn.
2211         (cris_print_operand, cris_print_operand_address): Use
2212         LOSE_AND_RETURN rather than fatal_insn and internal_error.
2213         (cris_output_addr_const): Use LOSE_AND_RETURN and
2214         output_operand_lossage rather than fatal_insn and internal_error
2215         for valid but unexpected rtx expressions.
2216
2217         * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
2218         for a SUBREG in src or dest, abort instead.
2219
2220 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2221
2222         * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
2223         doc.
2224
2225 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
2226
2227         * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
2228         preprocessor define.  If only DBX_DEBUGGING_INFO or only
2229         DWARF2_DEBUGGING_INFO is supported for the target, provide
2230         appropriate definitions.
2231
2232 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2233
2234         * Makefile.in: Update, and add c-objc-common.o dependencies.
2235         * c-lang.c: Remove unnecessary includes.
2236         (c_init): Move bulk of code to c_objc_common_init, and call it.
2237         (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
2238         inline_forbidden_p, c_cannot_inline_tree_fn): Move to
2239         c-objc-common.c.
2240         * c-objc-common.c: New.  Mostly pulled from c-lang.c.
2241         * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
2242         c_objc_common_init, c_missing_noreturn_ok_p): New.
2243         * toplev.c: Update comment.
2244         * doc/passes.texi: Update.
2245 objc:
2246         * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2247         LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2248         LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
2249         (objc_init): Update to use c_objc_common_init.
2250
2251 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
2252
2253         * cpphash.c (_cpp_init_hashtable): Update.
2254         * cpphash.h (struct spec_nodes): Remove n_L.
2255         * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
2256
2257 2001-11-17  Richard Henderson  <rth@redhat.com>
2258
2259         * unroll.c (loop_iterations): Move last change ...
2260         * doloop.c (doloop_modify_runtime): ... here.
2261
2262 2001-11-17  Corey Minyard  <minyard@acm.org>
2263             Richard Henderson  <rth@redhat.com>
2264
2265         * unroll.c (loop_iterations): Detect one situation in which we
2266         overestimate the number of iterations.
2267
2268 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2269
2270         * gcc.c (set_input): Export.
2271         Move declaration ...
2272         gcc.h (set_input): ... here.
2273
2274 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2275
2276         * gcc.c (set_collect_gcc_options): New function, split out from
2277         main.
2278         Ignore elided switches.
2279         (do_spec): Invoke before executing command.
2280         (do_spec_1): Likewise.
2281         Fixes PR other/3968.
2282
2283 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
2284
2285         * config/cris/cris.h (INT_ASM_OP): Remove.
2286
2287 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2288
2289         * config/i386/sol2.h (WINT_TYPE): Redefine.
2290         (WINT_TYPE_SIZE): Likewise.
2291
2292 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2293
2294         * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
2295         (dup2): Make static and add prototype.
2296         * m68k/plexus.h: Don't define NO_DUP2.
2297         * configure.in (AC_CHECK_FUNCS): Add dup2.
2298         * config.in, configure: Regenerate.
2299
2300         * ia64/aix.h (REG_SIZE): Don't #undef.
2301         * sparc.h (REG_SIZE): Delete.
2302         * flow.c (mark_used_regs): Don't use REG_SIZE.
2303         * regs.h (REG_SIZE): Delete.
2304
2305 2001-11-27  Andreas Schwab  <schwab@suse.de>
2306
2307         * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
2308         PREFERRED_DEBUGGING_TYPE.
2309
2310 Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2311
2312         * Makefile.in (c-lang.o): Depends on langhooks-def.h.
2313         (expr.o, varasm.o): Depends on langhooks.h.
2314         * c-common.c (c_safe_from_p): Always declare.
2315         (c_expand_expr): Refine when declared.
2316         * c-lang.c (c-common.h): Now include.
2317         (LANG_HOOKS_SAFE_FROM_P): Define new hook.
2318         (c_init): Don't set lang_safe_from_expr.
2319         * expr.c (langhooks.h): Now include.
2320         (lang_safe_from_p): No longer define.
2321         (safe_from_p): Use lang hook.
2322         (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
2323         (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
2324         * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
2325         * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
2326         (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
2327         * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
2328         * langhooks.h (struct lang_hooks): New fields expand_constant
2329         and safe_from_p.
2330         * output.h (output_constant): Size arg is HOST_WIDE_INT.
2331         * stmt.c (expand_decl_init): No longer need to expand constant
2332         for CONST_DECL.
2333         * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
2334         * toplev.c (lang_expand_constant): Delete var.
2335         * tree.c (save_expr): Don't put another SAVE_EXPR around simple
2336         operations on SAVE_EXPR.
2337         * varasm.c (langhooks.h): Now include.
2338         (compare_constant_1): Use lang_hooks, not lang_expand_constant.
2339         (record_constant_1, output_addressed_constants): Likewise.
2340         (initializer_constant_valid_p, output_constant): Likewise.
2341         (output_constant_def): Process no-defer of string constant.
2342         (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
2343         (output_constant): Strip more conversions.
2344         Track our size and pad for the rest.
2345         (array_size_for_constructor): Remove code for non-byte STRING_CST.
2346         (output_constructor): SIZE now HOST_WIDE_INT.
2347
2348 2001-11-27  Richard Henderson  <rth@redhat.com>
2349
2350         * ifcvt.c (noce_try_store_flag_constants): Test for overflow
2351         in computing DIFF.
2352
2353 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
2354
2355         * cppfiles.c (read_include_file): Add comment.
2356
2357 2001-11-26  Richard Henderson  <rth@redhat.com>
2358
2359         * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
2360
2361 2001-11-26  Richard Henderson  <rth@redhat.com>
2362
2363         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
2364         * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
2365         commented out override.
2366
2367 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2368
2369         * cppfiles.c (stack_include_file): Don't optimize zero-length
2370         files.
2371         (read_include_file): NUL-terminate read files.
2372         * cpplex.c (handle_newline, skip_escaped_newlines,
2373         get_effective_char, skip_whitespace, parse_identifier,
2374         parse_identifier_slow, parse_number, parse_string,
2375         _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
2376         NUL-terminated.
2377         * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
2378         Be sure buffers are NUL terminated.
2379         * cppmacro.c (warn_of_redefinition): Kill compile warning.
2380
2381 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
2382
2383         * c-common.c: Include tree-inline.h.
2384         (c_language): Move separate definitions here.
2385         (c_common_init_options, c_common_post_options): New.
2386         (c_common_lang_init): Rename c_common_init.
2387         * c-common.h (c_common_lang_init): Similarly.
2388         (c_common_init_options, c_common_post_options): New.
2389         * c-lang.c (c_post_options): Move body to c_common_post_options.
2390         (c_init_options): Use c_common_init_options.
2391         (c_init): Update.
2392         * langhooks.def: Rearrange.
2393         * langhooks.h: Rearrange, and improve comments.
2394         * toplev.c (do_compile): New function.
2395         (toplev_main): Use it.
2396         (lang_independent_f_options, parse_options_and_default_flags,
2397         process_options): Remove trailing periods.
2398         * Makefile.in: Update.
2399 objc:   * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
2400         functions.
2401         (ojbc_init): Update.
2402
2403 2001-11-26  Richard Henderson  <rth@redhat.com>
2404
2405         * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
2406
2407 2001-11-26  DJ Delorie  <dj@redhat.com>
2408
2409         * expr.c (store_constructor): Actually use the value computed
2410         if WORD_REGISTER_OPERATIONS.
2411
2412 2001-11-26  Richard Henderson  <rth@redhat.com>
2413
2414         * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
2415         for CONSTRUCTOR.
2416
2417 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
2418
2419         * rs6000.c (output_mi_thunk): Handle minimal-toc and call
2420         correct function on AIX.
2421
2422 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
2423
2424         * toplev.c (process_options): Don't force
2425         flag_optimize_sibling_calls to zero just because exceptions are
2426         enabled.
2427
2428 Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
2429
2430         * df.h (transfer_function_sbitmap): Use PARAMS around argument
2431         list in function prototypes.
2432         (transfer_function_bitmap): Likewise.
2433
2434 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
2435
2436         * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
2437         * config/i386/netbsd-elf.h: Likewise.
2438
2439 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
2440
2441         * doc/trouble.texi: Remove outdated RS/6000 comments.
2442
2443 Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
2444
2445         * final.c (walk_alter_subreg): Fix return value.
2446
2447 Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
2448
2449         * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
2450         alter_subreg.
2451         * sparc.md (post-reload splitters): Do not call alter_subreg.
2452         * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
2453
2454 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
2455
2456         * regclass.c (choose_hard_reg_mode): Handle vector arguments.
2457
2458 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
2459
2460         * final.c: (insn_lengths): Make it an int *, so that large jump
2461         tables don't overflow.
2462
2463 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
2464
2465         * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
2466         (format_types): Use it for scanf.
2467         (dollar_arguments_pointer_p): New.
2468         (init_dollar_format_checking): Store details of which arguments
2469         are pointers.
2470         (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
2471         (finish_dollar_format_checking): Take extra parameter
2472         pointer_gap_ok.  Treat unused arguments differently if
2473         pointer_gap_ok and the unused arguments are pointers.
2474         (check_format_info_main): Pass extra argument to
2475         finish_dollar_format_checking.
2476         * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
2477         unused arguments are present between used arguments with operand
2478         numbers.
2479
2480 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
2481
2482         * df.c: Add prototypes for hybrid_search_bitmap and
2483         hybrid_search_sbitmap.
2484         (hybrid_search_bitmap): New function.
2485         (hybrid_search_sbitmap): New function.
2486         (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
2487         (iterative_dataflow_bitmap): Ditto.
2488
2489 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2490
2491         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2492         address computations.
2493
2494 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2495
2496         * config/m68hc11/m68hc11.c (d_register_operand): Must accept
2497         register b (low part of d).
2498
2499 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2500
2501         * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
2502         passed to mcount.
2503
2504 Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
2505
2506         * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
2507         * config/alpha/x-vms: New file, to compile the above.
2508         * config.gcc (alpha*-dec-vms*): Add x-vms.
2509
2510 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
2511
2512         * genextract.c (main): Set ro_loc for peepholes.
2513
2514 Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
2515
2516         * fix-header.c (main): Move inf_buffer termination and inf_limit
2517         calculation to after read.
2518
2519         * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
2520         (__UNIX_FOPEN): Define.
2521
2522 Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2523
2524         * function.c (assign_stack_temp_for_type): Clear alias set before
2525         setting new one.
2526
2527 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
2528
2529         * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
2530         format.
2531         * rs6000.md (cmptf): Fix typo.
2532
2533 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
2534
2535         * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
2536         * varasm.c (output_constructor): Use assemble_integer rather
2537         than ASM_OUTPUT_BYTE.
2538
2539 2001-11-23  Andreas Jaeger  <aj@suse.de>
2540
2541         * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
2542         extension.
2543
2544 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
2545
2546         * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
2547         default definition.
2548         (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
2549         (MULTILIB_DEFAULTS): Remove previous definition.
2550
2551 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
2552
2553         * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
2554         * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
2555
2556 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2557
2558         * cris.h: Revert thinko in last patch.
2559
2560 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
2561
2562         * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
2563         FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
2564         cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
2565         dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
2566         explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
2567         sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
2568
2569         * predict.c, reg-stack.c: Fix spelling errors.
2570
2571 2001-10-09  Andrew Haley  <aph@redhat.com>
2572
2573         * calls.c (check_sibcall_argument_overlap): Use slot_offset for
2574         start of stack slot.
2575
2576 2001-11-22  Graham Stott  <grahams@redhat.com>
2577
2578         * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
2579         replacement jump after original jump.
2580
2581         (verify_flow_info): Remove redundent initialisation.
2582         Handle reaching end of insn list before finding a BARRIER.
2583         Only issue one missing barrier diagnostic.
2584
2585 2001-11-22  Graham Stott  <grahams@redhat.com>
2586
2587         * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
2588
2589 Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2590
2591         * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
2592         insn actually does.
2593
2594 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
2595
2596         * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
2597         Fix typo -mm32rx=> -m32rx.
2598
2599         * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
2600         targets.
2601
2602         * config.gcc (xscale-coff): Add necessary header files to
2603         tm_file variable.
2604
2605 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
2606
2607         * rs6000.c (output_cbranch): Use $, not %$, in output template.
2608
2609 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
2610
2611         * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
2612         (lang_type_quals): Declare.
2613         (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
2614         retrieve language-specific qualifiers for a type node, instead of
2615         C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
2616         lang_dump_tree.
2617         * tree-dump.h: Rename from c-dump.h.
2618         * c-common.h (C_TYPE_QUALS): Removed.
2619         Move declarations for tree-dump.c interface to...
2620         * tree.h: ... here. Remove lang_dump_tree.
2621         * langhooks.h (struct lang_hooks_for_tree_dump): New.
2622         (struct lang_hooks): Add tree_dump hooks.
2623         * langhooks.c (lhd_tree_dump_dump_tree): New function.
2624         (lhd_tree_dump_type_quals): New function.
2625         * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
2626         Declare.
2627         (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
2628         * Makefile.in: Move tree-dump.o to language-independent back-end.
2629
2630 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2631
2632         * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
2633         * alpha.h (DBX_REGISTER_NUMBER): Likewise.
2634         * arc.h (DBX_REGISTER_NUMBER): Likewise.
2635         * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
2636         * avr.h (DBX_REGISTER_NUMBER): Likewise.
2637         * c4x.h (DBX_REGISTER_NUMBER): Likewise.
2638         * clipper.h (DBX_REGISTER_NUMBER): Likewise.
2639         * convex.h (DBX_REGISTER_NUMBER): Likewise.
2640         * cris.h (DBX_REGISTER_NUMBER): Likewise.
2641         * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
2642         * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
2643         * fr30.h (DBX_REGISTER_NUMBER): Likewise.
2644         * h8300.h (DBX_REGISTER_NUMBER): Likewise.
2645         * i370.h (DBX_REGISTER_NUMBER): Likewise.
2646         * i860.h (DBX_REGISTER_NUMBER): Likewise.
2647         * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
2648         * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
2649         * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2650         * m32r.h (DBX_REGISTER_NUMBER): Likewise.
2651         * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
2652         * m88k.h (DBX_REGISTER_NUMBER): Likewise.
2653         * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
2654         * mcore.h (DBX_REGISTER_NUMBER): Likewise.
2655         * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
2656         * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
2657         * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
2658         * romp.h (DBX_REGISTER_NUMBER): Likewise.
2659         * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
2660         * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2661         * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
2662         * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
2663         * v850.h (DBX_REGISTER_NUMBER): Likewise.
2664         * vax.h (DBX_REGISTER_NUMBER): Likewise.
2665         * we32k.h (DBX_REGISTER_NUMBER): Likewise.
2666
2667         * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
2668         * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
2669
2670 2001-11-21  H.J. Lu <hjl@gnu.org>
2671
2672         * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
2673
2674 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2675
2676         * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
2677         emit_cmp_and_jump_insns.
2678
2679         * stormy16.c (xstormy16_expand_builtin_va_arg,
2680         xstormy16_expand_casesi): Likewise.
2681
2682 Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2683
2684         * function.c (keep_stack_depressed): Major rework.
2685         (handle_epilogue_set, emit_equiv_load): New functions.
2686         (thread_prologue_and_epilogue_insns): keep_stack_depressed now
2687         has return value.
2688         * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
2689         * rtl.h (SET_IS_RETURN_P): New macro.
2690
2691         * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
2692         and also support TREE_ADDRESSABLE.
2693         * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
2694
2695 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
2696
2697         * rs6000.md (cmptf_internal1): Replace %$ with $.
2698
2699 Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
2700
2701         * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
2702         (read_include_file): Use STAT_SIZE_TOO_BIG.
2703
2704         * cppinit.c (INO_T_COPY): Define.
2705         (INO_T_EQ): Uppercase parameters.
2706         (append_include_chain): Use INO_T_COPY.
2707
2708 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
2709
2710         * cfg.c: Fix typos and formatting in the introductory comment.
2711
2712 Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
2713
2714         * profile.c (compute_branch_probabilites):  Compute probabilities
2715         for entry/exit edges; estimate probabilities for zero counts.
2716
2717 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
2718
2719         * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
2720         to emit_library_call.
2721         * function.c (expand_main_function, expand_function_start,
2722         expand_function_end): Likewise.
2723         * profile.c (output_func_start_profiler): Likewise.
2724         * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
2725         second argument to emit_library_call.
2726         * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
2727         as second argument to emit_library_call.
2728         * calls.c (emit_library_call): Update fn_type description.
2729
2730 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
2731
2732         * c-decl.c (c_expand_deferred_function): Only call c_expand_body
2733         if fndecl is still DECL_INLINE and has DECL_RESULT.
2734
2735 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2736
2737         * clipper.c (clipper_movstr): Avoid uninitialized warning.
2738         * i960.c (is_mask, legitimize_address): Likewise.
2739         * m88k.c (m88k_expand_prologue): Likewise.
2740         * m88k.md: Likewise.
2741         * mcore.c (emit_new_cond_insn): Likewise.
2742         * stormy16.c (xstormy16_emit_cbranch): Likewise.
2743
2744 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
2745
2746         * config.gcc: Delete powerpcle-*-solaris2* stanza.
2747         * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
2748         config/rs6000/rs6000.h, config/rs6000/rs6000.md,
2749         config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
2750         config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
2751         config/rs6000/t-ppcos: Expunge all references to Solaris.
2752
2753         * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
2754
2755         * config/rs6000/rs6000.md: Replace '%$' with '$' in all
2756         output templates.
2757         * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
2758         and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
2759
2760 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2761
2762         * sh.md: Avoid uninitialized warnings.
2763         * vax.c (vax_rtx_cost): Likewise.
2764
2765 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
2766
2767         * rs6000.c (direct_return): Check if we are saving altivec
2768         registers.
2769         (first_altivec_reg_to_save): New.
2770         Updated stack frame layout comments.
2771         (rs6000_stack_info): Calculate altivec register save size.
2772         Save link register if we saved some altivec registers.
2773         (rs6000_stack_info): Align save size to 16 if altivec abi or
2774         abi_darwin.
2775         (rs6000_stack_info): Calculate altivec register offsets.
2776         (rs6000_stack_info): Add altivec info to save_size.
2777         (debug_stack_info): Add altivec debug info.
2778         (rs6000_emit_prologue): Save altivec registers and vrsave.
2779         (compute_vrsave_mask): New.
2780         (altivec_expand_builtin): Remove unused variables.
2781         (rs6000_parse_abi_options): Add static qualifier.
2782         (rs6000_expand_builtin): Remove unused parameters.
2783         (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
2784         (altivec_init_builtins): Same.
2785         (is_altivec_return_reg): New.
2786         (vrsave_operation): New.
2787         (ALTIVEC_REG_BIT): New.
2788         (generate_set_vrsave): New.
2789
2790         * rs6000.md (get_vrsave): New.
2791         (set_vrsave): New.
2792         (*set_vrsave_internal): New.
2793
2794         * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
2795         altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
2796         altivec_padding_size, vrsave_mask.
2797         (TOTAL_ALTIVEC_REGS): New.
2798         (EPILOGUE_USES): Add VRSAVE_REGNO.
2799
2800 2001-11-20  Jeff Law <law@redhat.com>
2801
2802         * unroll.c (copy_loop_body): Update LABEL_NUSES for the
2803         exit label as necessary.
2804
2805 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
2806
2807         * reload1.c (elimination_effects): Use function_invariant_p
2808         instead of CONSTANT_P when considering register equivalences.
2809
2810 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
2811
2812         * config.gcc: Add FreeBSD/PowerPC target.
2813         (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2814         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2815         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2816         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2817         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2818         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
2819         freebsd-spec.h to tm_file.
2820         (rs6000-*-lynxos*): Add lynx.h to tm_file.
2821         * config/freebsd.h: Tidy up.
2822         (USING_CONFIG_FREEBSD): Define.
2823         (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
2824         FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
2825         FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
2826         (TARGET_HAS_F_SETLKW): Define.
2827         (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
2828         * config/freebsd-spec.h: New file.
2829         * config/rs6000/freebsd.h: New file.
2830         * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
2831         * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
2832         USING_SVR4_H to know when to turn on ELF support.
2833         * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
2834         define only if not already defined.
2835         Add FreeBSD support.
2836         * config/rs6000/aix.h (TARGET_VERSION): Define.
2837         * config/rs6000/beos.h: Likewise.
2838         * config/rs6000/darwin.h: Likewise.
2839         * config/rs6000/mach.h: Likewise.
2840         * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
2841         Don't include lynx.h directly.
2842
2843 2001-11-20  Graham Stott  <grahams@redhat.com>
2844
2845         * unwind-dw2-fde.c (__deregister_frame_info_bases):
2846         Fix lossage in last change return OB.
2847
2848 Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
2849
2850         * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
2851         Remove unneeded exit related macros.
2852
2853 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
2854
2855         * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
2856
2857         * rs6000.c (rs6000_emit_move): Add TFmode case.
2858         * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
2859         LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
2860         LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
2861         * rs6000.h: ... to here.
2862         * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
2863         trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
2864         fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
2865
2866 Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2867
2868         * emit-rtl.c (get_mem_attrs): Fix typo.
2869
2870 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
2871
2872         * c-lang.c (finish_file): Backout 2001-11-16
2873         changes, instead set DECL_DEFER_OUTPUT for static inline functions
2874         before calling c_expand_deferred_function.
2875
2876 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
2877
2878         * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
2879         Don't register empty .eh_frame sections.
2880         (__deregister_frame_info_bases, __deregister_frame): Don't
2881         unregister them either.
2882
2883 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
2884
2885         * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
2886         (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
2887         * configure: Regenerate.
2888         * config.in: Add dummy definitions of new flags.
2889         * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
2890         * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
2891         * gcc.c (ASM_DEBUG_SPEC): New macro.
2892         (asm_debug): New static variable.
2893         (default_compilers): Add asm_debug when assembling from
2894         user input.
2895         (static_specs): Add asm_debug.
2896
2897 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
2898
2899         * config.gcc (*-*-freebsd*): Remove configuration block.
2900
2901 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
2902
2903         bootstrap/4422
2904         * configure.in: Setup ability to run ./stage[1234]/xgcc in
2905         fixinc *as if* it were a proper lang subdirectory.
2906         * configure: Rebuilt.
2907
2908 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
2909
2910         * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
2911
2912 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2913
2914         * 1750a.md: Don't use hex format for a const_int.
2915
2916 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
2917
2918         * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
2919
2920 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
2921
2922         * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
2923         defined (prevents link errors when gettext isn't in the system
2924         library).
2925
2926 2001-11-19  DJ Delorie  <dj@redhat.com>
2927
2928         * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
2929         (validate_const_int): New.
2930         (read_rtx): Validate constant integers.
2931         * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
2932
2933 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
2934
2935         * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
2936
2937 Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
2938
2939         * toplev.c (DUMPFILE_FORMAT): Define default.
2940         (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
2941         (close_dump_file, compile_file): Likewise.
2942         * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
2943         * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
2944
2945 2001-11-19  Jeff Law <law@redhat.com>
2946
2947         * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
2948         a nop-jump.
2949
2950 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
2951
2952         * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
2953         Don't fall off the base token run.
2954
2955 2001-11-19  Jason Wilkins <fenix@io.com>
2956
2957         * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
2958
2959 Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2960
2961         * tree.def (VIEW_CONVERT_EXPR): New tree code.
2962         * tree.h (handled_component_p): New declaration.
2963         * alias.c (handled_component_p): Move function from here ...
2964         * expr.c (handled_component_p): ... to here and non longer static.
2965         (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
2966         (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
2967         (get_inner_reference): Handle VIEW_CONVERT_EXPR.
2968         (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
2969         (expand_expr, case VIEW_CONVERT_EXPR): New case.
2970         (expand_expr, cse ADDR_EXPR): No need to copy if already
2971         BIGGEST_ALIGNMENT.
2972         * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
2973         * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
2974         (output_constant): Handle VIEW_CONVERT_EXPR.
2975         * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
2976         Add new case for VIEW_CONVERT_EXPR.
2977
2978 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2979
2980         * a29k/unix.h (ASM_FILE_START): Const-ify.
2981         * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
2982         * i386/isc.h (ASM_FILE_START): Const-ify.
2983         * i386/sun386.h (ASM_FILE_START): Likewise.
2984         * m32r.md: Likewise.
2985         * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
2986         * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
2987         * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
2988         * mn10200.md: Initialize variable.
2989
2990 Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
2991
2992         * gcse.c (try_replace_reg): Copy RTX before creating note.
2993
2994         * df.h (df_ref_flags): New uenum.
2995         (DF_REF_FLAGS): New macro.
2996         (struct ref): Add field "flags".
2997         * df.c (HANDLE_SUBREG): Remove.
2998         (df_ref_create): Likewise; set flags field of ref.
2999         (df_def_record_1): Strip down read_write subreg; remove
3000         commented out code; set READ_WRITE flag.
3001         (read_modify_subreg_p): New static function.
3002         (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
3003         new argument "flags".
3004         (df_insn_refs_record): Update call of df_uses_record.
3005         (df_insn_modify): Avoid #if 0 around comment.
3006         (df_dump): Dump the read/write flag.
3007
3008         * predict.c (propagate_freq): Make cyclic_probability and frequency
3009         volatile
3010
3011         * i386.c (ix86_cc_mode): Accept USE.
3012
3013         * cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
3014         jump is turned into simplejump.
3015
3016 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
3017
3018         * doc/fragments.texi, doc/trouble.texi: Remove links to old
3019         installation chapter.
3020         * doc/gcc.texi: Don't claim that this manual documents
3021         installation.  Mark Installation menu entry as being out of date.
3022
3023 Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
3024
3025         * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
3026         (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
3027         * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
3028
3029 2001-11-19  Jason Merrill  <jason@redhat.com>
3030
3031         * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
3032         cur_token, not after.
3033
3034         * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
3035         Lose ASM_OUTPUT_CONSTRUCTOR.
3036         * system.h: Poison it and INT_ASM_OP.
3037         * c-lang.c (finish_file): Don't check for it.
3038         * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
3039
3040 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3041
3042         * mmix.c (mmix_cc1_ignored_option): Const-ify.
3043         (mmix_init_machine_status): Make static to match declaration.
3044         (mmix_unique_section): Const-ify.
3045         (mmix_output_quoted_string): Avoid automatic aggregate
3046         initialization.
3047         (mmix_output_register_setting): Likewise.
3048         (mmix_output_shiftvalue_op_from_str): Likewise.
3049
3050         * mmix.h (mmix_cc1_ignored_option): Const-ify.
3051         (ASM_OUTPUT_BYTE): Fix format specifier warning.
3052         (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3053
3054 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3055
3056         PR c/4448
3057         * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
3058         name __objc_thread_exit_status so that it matches the
3059         variable defined in objc/thr.h.
3060
3061 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3062
3063         PR bootstrap/4020
3064         * mklibgcc.in: Add missing semi-colons.
3065         * Makefile.in: Same.
3066
3067 Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3068
3069         * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
3070         after re-laying out decl in incomplete case.
3071         (expand_expr, case ADDR_EXPR): Fix typo in copy case.
3072
3073 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3074
3075         * doc/install-old.texi: Move some sections out to ...
3076         * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
3077         ... here.  New files.  Make into chapters rather than sections.
3078         * doc/gcc.texi: Include the new files and add menu entries for
3079         them.
3080         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3081
3082 Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3083
3084         * tree.h (TYPE_ALIGN_OK): New flag.
3085         * emit-rtl.c (set_mem_attributes): Handle it.
3086         * expr.c (emit_single_push_insn): Only set to alias set 0 if
3087         doing sibcall optimization.
3088         (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
3089         when make temporary.
3090         (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
3091         (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
3092
3093         * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
3094
3095 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3096
3097         * c-decl.c (c_decode_option): Give deprecation warning for
3098         -traditional.
3099         * doc/invoke.texi (-traditional): Note that this option is
3100         deprecated.
3101
3102 Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
3103
3104         * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
3105         arg to HOST_WIDE_INT, not long.
3106
3107         * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
3108         (HAS_INIT_SECTION): Define.
3109         (REAL_ARITHMETIC): Don't undefine.
3110
3111 2001-11-18  Egor Duda  <deo@logos-m.ru>
3112
3113         * config/i386/cygwin.h: Strip leading '*' from name, if any.
3114
3115 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
3116
3117         * Makefile.in (c-parse.o, c-common.o): Update dependencies.
3118         * c-common.c: Include diagnostic.h.
3119         (c_common_finish): New.
3120         * c-common.h (c_common_finish): New.
3121         * c-lang.c (LANG_HOOKS_FINISH): Override.
3122         * c-parse.in: Don't include diagnostic.h.
3123         (finish_parse): Remove.
3124         * langhooks.h: Update comments.
3125         * toplev.c (lang_dependent_init): New prototype.
3126         (finalize): New.
3127         (compile_file): Split cleanup code out to finalize.
3128         (lang_dependent_init): Stop if lang_hooks.init fails.
3129         (toplev_main): Update.
3130         * tree.h (finish_parse): Remove.
3131 objc:
3132         * objc-act.c (LANG_HOOKS_FINISH): Override.
3133
3134 Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
3135
3136         * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
3137         * config/alpha/vms_tramp.asm: New file.
3138         * config/alpha/vms-tramp.asm: Removed.
3139
3140 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
3141
3142         * c-common.c (struct disabled_builtin, disabled_builtins,
3143         disable_builtin_function, builtin_function_disabled_p): New.
3144         (builtin_function_2): Check for disabled built-in functions.
3145         * c-common.h (disable_builtin_function): Declare.
3146         * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
3147         * doc/invoke.texi: Document -fno-builtin-FUNCTION.
3148         * doc/extend.texi: Mention -fno-builtin-FUNCTION.
3149
3150 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3151
3152         PR target/4606
3153         * config.gcc: Remove reference to va-clipper.h.
3154
3155 2001-11-17  Stan Shebs  <shebs@apple.com>
3156
3157         * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
3158         AltiVec-related bitfields.
3159
3160 Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3161
3162         * except.c (enum eh_region_type): Add ERT_UNKNOWN.
3163         (mark_eh_region, case ERT_UKNONW): New case.
3164
3165 2001-11-17  Christopher Faylor  <cgf@redhat.com>
3166             Corinna Vinschen  <vinschen@redhat.com>
3167
3168         * config/i386/cygwin.h: Search target specific include directory for
3169         w32api stuff, if appropriate.
3170
3171 Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
3172
3173         * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
3174
3175 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
3176
3177         * config/rs6000/rs6000.md: Change all ldvx to lvx.
3178
3179 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
3180
3181         * gensupport.c (process_rtx): Don't assume filename is the first
3182         argument of any rtl.
3183
3184 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3185
3186         * vax-protos.h (reg_was_0_p): New prototype.
3187         * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
3188         * vax.c (follows_p, reg_was_0_p): New functions.
3189
3190 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3191
3192         * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
3193         (casesi1): Likewise.  Define new pattern which arises by simplification
3194         when operand 1 is a constant int.  Correct pattern which arises by
3195         simplification when operand 1 is zero.
3196
3197 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
3198
3199         * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
3200         arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
3201         arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
3202         arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
3203         arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
3204         arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
3205         xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
3206         * config/arm/aof.h: Don't include arm.h.
3207         * config/arm/aout.h: Likewise.
3208         * config/arm/coff.h: Don't include semi.h and aout.h.
3209         * config/arm/elf.h: Don't include aout.h.
3210         * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
3211         (TARGET_VERSION): Undef before defining.
3212         (ARM_OS_NAME): Likewise
3213         (TARGET_DEFAULT): Likewise
3214         (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
3215         * config/arm/pe.h: Don't include arm/coff.h.
3216         * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
3217         SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
3218         * config/arm/riscix1-1.h: Likewise.
3219         * config/arm/rix-gas.h: Don't include riscix.h.
3220         (DBX_CONTIN_LENGTH): Undef before defining.
3221         * config/arm/semi.h: Don't include aout.h.
3222         * config/arm/semiaof.h: Don't include aof.h.
3223         * config/arm/strongarm-coff.h: Don't include coff.h.
3224         * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
3225         * config/arm/vxarm.h: Don't include arm/coff.h.
3226         * config/arm/xscale-coff.h: Don't include coff.h.
3227
3228 Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3229
3230         * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
3231         emit_cmp_insn.
3232
3233 2001-11-16  Andreas Jaeger  <aj@suse.de>
3234
3235         * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
3236         to ....
3237         (fixup_fallthru_exit_predecessor): ... this.
3238         Change callers and prototype.
3239
3240 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
3241
3242         * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
3243         hand; don't use gen_setcc_2.
3244         (ix86_expand_builtin): Fix pshufw.
3245         * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
3246         case UNORDERED to emit the right assembler instruction.
3247         (mmx_pshufw): Lose operand 2.
3248         (cvtsi2ss): Fix representation.
3249         From Graham Stott:
3250         (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
3251
3252 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
3253
3254         * doc/include/linux-and-gnu.texi: Remove.
3255         * doc/gnu.texi: New.
3256         * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
3257         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3258
3259 2001-11-16  Kazu Hirata  <kazu@hxi.com>
3260
3261         * config/a29k/a29k.c: Fix comment formatting.
3262         * config/a29k/a29k.h: Likewise.
3263         * config/arc/arc.c: Likewise.
3264         * config/arc/arc.h: Likewise.
3265         * config/vax/vax.c: Likewise.
3266         * config/vax/vax.h: Likewise.
3267         * config/we32k/we32k.c: Likewise.
3268         * config/we32k/we32k.h: Likewise.
3269
3270 2001-11-16  Jeff Law  <law@redhat.com>
3271
3272         * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
3273         creating a new jump insn.
3274
3275 Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3276
3277         * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
3278         copy misaligned data.
3279         * varasm.c (assemble_variable): Set alignment into MEM when changed.
3280
3281 2001-11-16  Graham Stott  <grahams@redhat.com>
3282
3283         * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
3284         OPALIGN type.
3285
3286 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
3287
3288         * except.c: Support for catching a list of types with a single handler
3289         (struct eh_region): Change type and filter to lists for catch regions.
3290         (mark_eh_region): Mark the filter list for GC also.
3291         (expand_start_catch): Always build a list if argument not NULL and
3292         register each type of the list through add_type_for_runtime.
3293         (duplicate_eh_region_1): Change type into type_list for catch regions.
3294         (assign_filter_values): Assign a filter to each type associated with a
3295         catch region. Assign filter for NULL types in a unique entry in the
3296         filter list.
3297         (build_post_landing_pads): Emit compare and jump for each filter of
3298         the list associated with a catch region.
3299         (reachable_next_level): When the type thrown is known, stop the search
3300         as soon as one type within a catch list matches. Also, a handler is
3301         potentially reachable only if at least one of the types it catches
3302         has not been previously caught.
3303         (collect_one_action_chain): Retrieve the filter for a NULL type list
3304         from the first filter list entry. For non NULL type lists, add an
3305         action record for every filter assigned.
3306         * except.h: Reflect changes in comment before expand_start_catch.
3307
3308 Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3309
3310         * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
3311         BLKmode.
3312
3313 Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
3314
3315         * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
3316
3317 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
3318
3319         * c-lang.c (finish_file): Don't emit static inline functions if
3320         they weren't referenced.
3321
3322 2001-11-15  Stan Shebs  <shebs@apple.com>
3323
3324         * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
3325
3326 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3327
3328         * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
3329         call.
3330         * config/i386/i386.md: Likewise.
3331
3332 Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3333
3334         * timevar.c (rtl.h): Include so get fancy abort.
3335
3336 2001-11-15  Dale Johannesen  <dalej@apple.com>
3337
3338         * config/darwin.h (SELECT_RTX_SECTION):  Force address
3339         initializers into 'const' section
3340         * config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
3341         if_then_else to match result, not operands
3342
3343 Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3344
3345         * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
3346         * emit-rtl.c (change_address): Fix typo in default alignment.
3347         (adjust_address_1): Use mode of NEW, not MODE, when setting size.
3348         * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
3349         * rtl.h (REGNO_PTR_FRAME_P): New macro.
3350
3351         * expr.c (store_field): Pass tree instead of max size; callers changed.
3352         Change handling of alignment.
3353         Only copy to_rtx if is TARGET.
3354         (expand_expr_unaligned): Delete; callers now use expand_expr.
3355         (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
3356         (expand_assignment): Change handling of alignment.
3357         Only copy to_rtx if was original.
3358         (get_inner_reference): No longer return alginment; callers changed.
3359         (expand_expr, case COMPONENT_REF): Change handling of alignment.
3360         (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
3361         (compare_from_rtx): Delete ALIGN parm; all callers changed.
3362         (do_compare_rtx_and_jump): Likewise.
3363         * expr.h: Reflect above changes.
3364         * tree.h: Likewise.
3365         * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
3366         to get_inner_reference.
3367         * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
3368         * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
3369         * optabs.c: Likewise.
3370         (prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
3371         (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
3372         * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
3373         compare_rtx_and_jump, and emit_cmp_jump_insns.
3374         * fold-const.c: Remove PALIGN in calls to get_inner_reference.
3375         * function.c (assign_stack_temp_for_type): No longer static.
3376         * optabs.h (emit_cmp_insn): Remove ALIGN parm.
3377         (prepare_cmp_insn): Delete declaration.
3378         * rtl.h (assign_stack_temp_for_type): Add declaration.
3379         * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
3380         * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
3381         * config/i386/i386.c,config/mips/mips.c: Likewise.
3382         * config/i860/i860.c, config/ia64/ia64.c: Likewise.
3383         * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
3384
3385 2001-11-15  Stan Shebs  <shebs@apple.com>
3386
3387         * config/rs6000/rs6000.h: Fix a comment typo.
3388         (RTX_COSTS): Sort processor versions better.
3389
3390 2001-11-15  Kazu Hirata  <kazu@hxi.com>
3391
3392         * config/h8300/h8300.md: Fix insn length of bit insns.
3393
3394 2001-11-15  Jason Merrill  <jason@redhat.com>
3395
3396         * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
3397         DIEs if there were errors in the source.
3398
3399         * config/alpha/alpha-interix.h, config/alpha/elf.h,
3400         config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
3401         config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
3402         config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
3403         config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
3404         config/elfos.h, config/lynx.h, config/netware.h,
3405         config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
3406         config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
3407         uses to use ASM_LONG.
3408
3409 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
3410
3411         * gensupport.c  process_include : Change call to alloca to
3412         xmalloc.
3413
3414 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
3415
3416         * config/rs6000/rs6000.md: Use spaces instead of tabs in output
3417         templates.
3418
3419 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3420
3421         * final.c (alter_subreg): If simplify_subreg can't do anything,
3422         handle REG ourselves and abort for others.
3423
3424 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
3425
3426         * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
3427         routines.
3428
3429 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3430
3431         * fix-header.c (read_scan_file): Update.
3432
3433 Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3434
3435         * toplev.c (toplev_main): Don't start timing until after
3436         command-line options are parsed.
3437
3438 2001-11-15  Andreas Schwab  <schwab@suse.de>
3439
3440         * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
3441         makefile frag, not host makefile frag.
3442         (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
3443         (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
3444         used.
3445         (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
3446         * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
3447         * config/m88k/t-dgux (STMP_FIXPROTO): Define.
3448         * config/i386/t-cygwin (STMP_FIXPROTO): Define.
3449         * config/i386/t-dgux (STMP_FIXPROTO): Define.
3450         * config/x-interix: Don't define STMP_FIXPROTO and
3451         FIXPROTO_DEFINES.
3452         * config/t-interix: New file, define STMP_FIXPROTO.
3453         * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
3454         * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
3455         * config/t-svr4 (FIXPROTO_DEFINES): Define.
3456         * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
3457         * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
3458         * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
3459         * config/m68k/t-hp3200: Renamed from x-hp3200.
3460         * config/i370/t-oe: Renamed from x-oe.
3461         * config/mips/t-iris: Renamed from x-iris.
3462         * config/pa/t-bsd: Renamed from x-pa.
3463         * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
3464         * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
3465         config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
3466         config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
3467         config/rs6000/x-cygwin: Remove files.
3468
3469         * configure.in: Check for target objdump and use that in eh_frame
3470         optimization test.
3471         * configure: Regenerated.
3472
3473 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
3474
3475         * jump.c (squeeze_notes): Return true if no real insns were found.
3476         * rtl.h (squeeze_notes): Adjust prototype.
3477         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
3478         squeeze_notes finds no real instructions, abort.
3479         (merge_blocks_move_successor_nojumps): Likewise.
3480         * loop.c (find_and_verify_loops): Likewise.
3481         * stmt.c (expand_end_case): Likewise.
3482         * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
3483         find any real instructions.
3484
3485         * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
3486
3487         * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
3488         conditional jump, request updating life into for the block
3489         containing it.  Fix a typo which prevented life info update.
3490         Clear blocks bitmap before using it.
3491
3492 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
3493
3494         * c-common.c: Include c-lex.h.
3495         (c_common_lang_init): Change prototype.  Call init_c_lex and
3496         init_pragma from here.
3497         * c-common.h (c_common_lang_init): Change prototype.
3498         * c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
3499         * c-lang.c (c_init): Change prototype.  Update.
3500         (c_init_options): Update.
3501         * c-lex.c (cpp_filename): Remove.
3502         (init_c_lex): Update.  Read the main file, and get the original
3503         file name.
3504         (yyparse): Finish the command line options.
3505         * c-parse.in (c_parse_init): Call init_reswords here.
3506         (init_parse): Remove.
3507         * c-tree.h (c_init_decl_processing): New.
3508         * cpphash.c (_cpp_init_hashtable): After initializing the hash
3509         table, populate it.
3510         * cppinit.c (read_original_filename, cpp_finish_options): New.
3511         (cpp_create_reader): New prototype. Defer hash table initialization.
3512         (cpp_start_read): Rename cpp_read_main_file.  Initialize the
3513         hash table.  Get the original filename.
3514         * cpplib.h (cpp_create_reader): Update.
3515         (cpp_start_read): Remove.
3516         (cpp_read_main_file, cpp_finish_options): New.
3517         * cppmain.c (main, do_preprocessing): Update.
3518         * langhooks.h (struct langhooks): Update init prototype.
3519         * toplev.c (general_init, parse_options_and_default_flags,
3520         process_options, lang_indpendent_init, lang_dependent_init,
3521         init_asm_output): New; perform the bulk of initialization.
3522         (compile_file): Move most of initialization to above functions.
3523         (debug_hooks): Initialize statically.
3524         (set_Wunused): Relocate.
3525         (toplev_main): Move most of initialization to other init functions.
3526         Have a clear logic flow.
3527         * tree.h (init_parse, init_decl_processing): Remove.
3528 objc:
3529         * objc-act.c (objc_init): Update prototype, combine with old
3530         init_parse.
3531         (objc_init_options): Update.
3532
3533
3534 2001-11-15  Andreas Jaeger  <aj@suse.de>
3535
3536         * cfgrtl.c (purge_all_dead_edges): Use int as argument for
3537         portability.
3538         * basic-block.h: Adjust prototype.
3539
3540 2001-11-15  Kazu Hirata  <kazu@hxi.com>
3541
3542         * config/rs6000/aix31.h: Fix comment formatting.
3543         * config/rs6000/beos.h: Likewise.
3544         * config/rs6000/darwin.h: Likewise.
3545         * config/rs6000/eabi.asm: Likewise.
3546         * config/rs6000/linux.h: Likewise.
3547         * config/rs6000/linux64.h: Likewise.
3548         * config/rs6000/lynx.h: Likewise.
3549         * config/rs6000/netbsd.h: Likewise.
3550         * config/rs6000/rs6000.c: Likewise.
3551         * config/rs6000/rs6000.h: Likewise.
3552         * config/rs6000/rs6000.md: Likewise.
3553         * config/rs6000/sol2.h: Likewise.
3554         * config/rs6000/tramp.asm: Likewise.
3555         * config/rs6000/xcoff.h: Likewise.
3556         * config/rs6000/xm-beos.h: Likewise.
3557
3558 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
3559
3560         * rtl.def (INCLUDE) : Define.
3561         * gensupport.c  (init_include_reader, process_include,
3562         save_string) :  New functions to implement an include facility
3563         in .md files.
3564         * gensupport.h : Add prototype for init_md_reader_args.
3565         * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
3566         genextract.c genflags.c genopinit.c genoutput.c
3567         genpeep.c genrecog.c: Change call to init_md_reader to
3568         init_md_reader_args.
3569         * md.texi: Document (include "path") and -I directives for RTL
3570         generation tools.
3571
3572 2001-11-14  DJ Delorie  <dj@redhat.com>
3573
3574         * integrate.c (get_hard_reg_initial_reg): New.
3575         * integrate.h (get_hard_reg_initial_reg): Prototype.
3576         * local-alloc.c (block_alloc): Don't tie pseudos that
3577         represent call-saved hard regs' initial values.
3578
3579 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3580
3581         * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
3582         recursion.
3583
3584 2001-11-14  Roger Sayle <roger@eyesopen.com>
3585
3586         * fold-const.c (fold): Optimize strlen comparisons against zero.
3587
3588 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
3589
3590         * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
3591         sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
3592         sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
3593         sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
3594         sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
3595         sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
3596         sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
3597         Include various CPU headers via tm_file.  a.out based platforms now
3598         properly include sparc/aout.h.  sol2.h usage now implies including
3599         elfos.h, svr4.h, and sparc/sysv4.h.
3600         * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
3601         Also define to '1'.
3602         * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
3603         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3604         DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
3605         Remove.  They are a.out specific and belong in sparc/aout.h.
3606         * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
3607         ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
3608         DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
3609         sparc/sparc.h.
3610         * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
3611         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
3612         Moved here from sparc/sparc.h.
3613         * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
3614         defining.
3615         * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
3616         * config/sparc/lynx.h:  Don't include lynx.h.
3617         (SELECT_SECTION): Do not undef.
3618         * config/sparc/openbsd.h: Don't include sparc/sparc.h.
3619         * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
3620         and sparc/sysv4.h.
3621         * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
3622         * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
3623         sparc/aout.h now.
3624         * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
3625         Don't undef, there is no need.
3626         * config/sparc/splet.h (CPP_PREDEFINES): Define.
3627         * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
3628         * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
3629         Don't include sparc/sparc.h.
3630         * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
3631         SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3632         DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
3633         elfos.h and svr4.h.
3634         (TARGET_VERSION): Define.
3635         * config/sparc/vxsim.h (TARGET_VERSION): Define.
3636
3637 Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
3638
3639         * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
3640         (cfg_layout_finalize): Use it.
3641         * bb-reorder.c (HAVE_epilogue): Remove.
3642         (make_reorder_chain): Do not care special placement of
3643         last basic block.
3644
3645         * predict.c (expected_value_to_br_prob): Delete the note
3646         once transformed.
3647
3648         * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
3649         measure integration time separately.
3650
3651 Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3652
3653         * function.c (struct temp_slot): ALIGN now unsigned.
3654
3655 2001-11-14  Kazu Hirata  <kazu@hxi.com>
3656
3657         * config/dsp16xx/dsp16xx.c: Fix comment formatting.
3658         * config/dsp16xx/dsp16xx.h: Likewise.
3659         * config/dsp16xx/dsp16xx.md: Likewise.
3660
3661 2001-11-14  Kazu Hirata  <kazu@hxi.com>
3662
3663         * config/h8300/h8300.c (get_shift_alg): Reorganize the code
3664         that deals with 7-bit shifts in HImode.
3665
3666 Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
3667
3668         * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
3669         * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
3670         (final_scan_insn): Update call of alter_subreg.
3671         (cleanup_subreg_operands): Likewise.
3672         (alter_subreg): Rewrite using simplify_subreg.
3673         (output_address, output_operand): Update call of alter_subreg.
3674         * output.h (alter_subreg): Update prototype.
3675         * sdbout.c (sdbout_symbol): Update call of alter_subreg.
3676         * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
3677         * Makefile.in (final.o): Add dependency on expr.h
3678
3679 Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3680
3681         * c-lang.c (finish_file): Make I unsigned to eliminate warning.
3682
3683 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
3684
3685         * doc/install.texi (sparc-*-linux*): Mention requirements for
3686         binutils and glibc.
3687
3688 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
3689
3690         * Makefile.in (POD2MAN): Don't include --section=1.
3691         (manext): Rename to man1ext.  All users changed.
3692         (man7ext): New.
3693         (man7dir): New.
3694         (generated-manpages): Also depend on $(docdir)/gfdl.7,
3695         $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
3696         ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
3697         --section=1 in calls to $(POD2MAN).
3698         ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
3699         (maintainer-clean, install, uninstall): Handle the new man pages.
3700         ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
3701         (installdirs): Create man7dir.
3702         * doc/cpp.texi: Include GFDL in this manual.  In the man page,
3703         refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
3704         texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
3705         the SEE ALSO man page section.
3706         * doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
3707         and fsf-funding(7) in the SEE ALSO man page section.
3708         * doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
3709         gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
3710         * doc/include/fdl.texi, doc/include/funding.texi,
3711         doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
3712         * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
3713
3714 2001-11-13  Richard Henderson  <rth@redhat.com>
3715
3716         * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
3717         as appropriate for the artificial decl.
3718
3719 2001-11-13  Richard Henderson  <rth@redhat.com>
3720
3721         * loop.c (combine_movables): Turn off combination until
3722         move_movables validation bugs are fixed.
3723
3724 2001-11-13  DJ Delorie  <dj@redhat.com>
3725
3726         * config.gcc (powerpc|rs6000): Set default cpp options based
3727         on --with-cpu settings.
3728         * config/rs6000/softfloat.h: New.
3729
3730 2001-11-13  Kazu Hirata  <kazu@hxi.com>
3731
3732         * config/h8300/h8300.c (shift_alg_si): Use special code for
3733         25-bit shifts on H8/S.
3734         (get_shift_alg): Generate special code for 25-bit shifts on
3735         H8/S.
3736
3737 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
3738
3739         * emit-rtl.c (adjust_address_1): Add ADJUST argument.
3740         (adjust_automodify_address_1): New.
3741         * expr.h (adjust_address, adjust_address_nv): Adjust.
3742         (adjust_automodify_address, adjust_automodify_address_nv): Define.
3743         (adjust_address_1): Update prototype.
3744         (adjust_automodify_address_1): Add prototype.
3745         * expr.c (move_by_pieces_1): Use adjust_automodify_address.
3746         (store_by_pieces_2): Likewise.
3747
3748 Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3749
3750         * Makefile.in (explow.o): Now depends on ggc.h.
3751         * explow.c (ggc.h): Include.
3752         (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
3753
3754         * Makefile.in (expr.o): Depends on insn-attr.h.
3755         * expr.c (insn-attr.h): New include.
3756         (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
3757         of MEM.
3758         (highest_pow2_factor, case INTEGER_CST): Handle negative values.
3759         (expand_expr): Remove unneeded mark_temp_addr_taken calls and
3760         clean up related usage in ADDR_EXPR.
3761         (expand_expr_unaligned): Likewise.
3762
3763         * emit-rtl.c (change_address): Fix typo in alias setting.
3764
3765 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3766
3767         * Makefile.in (cfgcleanup.o): Depend on insn-config.h
3768
3769 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
3770
3771         PR bootstrap/3451
3772         * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
3773         GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
3774
3775 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
3776
3777         * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
3778         sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
3779         sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
3780         sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
3781         sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
3782         sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
3783         sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
3784         sparc64-*-linux*):  Include various CPU headers via tm_file.
3785         * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
3786         (SELECT_SECTION): Likewise.
3787         (SELECT_RTX_SECTION): Likewise.
3788         * config/sparc/sparc_bi.h: New file.
3789         * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
3790         * config/sparc/linux-aout.h: Likewise.
3791         * config/sparc/linux.h: Don't include sparc/sysv4.h.
3792         * config/sparc/linux64.h: Likewise.
3793         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
3794         * config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
3795         * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
3796         and dbxcoff.h
3797         (ASM_OUTPUT_IDENT): Do not #undef.
3798         (SELECT_SECTION): Likewise.
3799         (SELECT_RTX_SECTION): Likewise.
3800         * config/sparc/liteelf.h: Don't include gofast.h.
3801         * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
3802         * config/sparc/lynx.h: Don't include sparc/sparc.h.
3803         * config/sparc/pbd.h: Likewise.
3804         * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
3805         * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
3806         * config/sparc/rtemself.h: Don't include rtems.h.
3807         * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
3808         * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
3809         sparc_bi.h instead.
3810         * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
3811         * config/sparc/sol2.h: Include sparc/sparc.h directly.
3812         * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
3813         * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
3814         * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
3815         * config/sparc/sp86x-elf.h: Don't include gofast.h.
3816         * config/sparc/splet.h: Don't include sparc/aout.h.
3817         * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
3818         * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
3819         * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
3820         * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
3821         * config/sparc/vxsparc64.h: Don't include gofast.h.
3822         (SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
3823
3824 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3825
3826         * doc/standards.texi: Mention C99 TC1.
3827
3828 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3829
3830         * mips-protos.h (mips_output_conditional_branch): Const-ify.
3831         * mips.c (mips_output_conditional_branch): Likewise.
3832
3833 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3834
3835         * config/h8300/h8300.c (shift_alg_si): Use special code for
3836         15-bit logical shifts and 31-bit logical shifts.
3837         (get_shift_alg): Generate special code for 15-bit and 31-bit
3838         logical shifts.
3839
3840 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3841
3842         * config/h8300/h8300.c (shift_alg_qi): Use rotations when
3843         doing 6-bit logical shifts on H8/S.
3844         (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
3845         (get_shift_alg): Generate special code for 21-bit shifts on
3846         H8/S.
3847
3848 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3849
3850         * config/h8300/h8300.c (get_shift_alg): Remove a redundant
3851         label.
3852
3853 Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3854
3855         * alias.c (nonoverlapping_memrefs_p): Only update size from memref
3856         if both size and offset known.
3857
3858 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
3859
3860         * config/ia64/freebsd.h: Fix misspelling.
3861
3862 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
3863
3864         * doc/gcc.texi: Move several chapters out to ...
3865         * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
3866         doc/include/linux-and-gnu.texi, doc/interface.texi,
3867         doc/makefile.texi, doc/passes.texi, doc/portability.texi:
3868         ... here.  New files.
3869         * doc/gcc.texi, doc/contrib.texi: Move section headings into
3870         contrib.texi.
3871         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3872
3873 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3874
3875         * config/alpha/alpha-interix.h: Fix comment formatting.
3876         * config/alpha/alpha.c: Likewise.
3877         * config/alpha/alpha.h: Likewise.
3878         * config/alpha/alpha32.h: Likewise.
3879         * config/alpha/freebsd.h: Likewise.
3880         * config/alpha/unicosmk.h: Likewise.
3881         * config/alpha/vms.h: Likewise.
3882
3883 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3884
3885         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3886
3887 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
3888
3889         * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
3890         numbers.
3891
3892 Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3893
3894         * emit-rtl.c (set_mem_attributes): If making object, can set alignment
3895         from type.
3896         (replace_equiv_address): Call update_temp_slot_address.
3897
3898         * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
3899
3900         * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
3901
3902 2001-11-12  Kazu Hirata  <kazu@hxi.com>
3903
3904         * config/h8300/h8300.c (shift_alg_qi): New.
3905         (shift_alg_hi): Likewise.
3906         (shift_alg_si): Likewise.
3907         (get_shift_alg): Change the type of count to unsigned int.
3908         Use the tables.
3909
3910 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
3911
3912         * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
3913         * c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
3914         to decide whether to defer a function.
3915         (finish_function): Adjust.
3916         (c_expand_deferred_function): New function.
3917         * c-lang.c (deferred_fns): New variable.
3918         (c_init): Initialize it, and mark it as a root.
3919         (defer_fn): New function.
3920         (finish_file): Expand all deferred functions.
3921         * c-tree.h (defer_fn): Declare.
3922         (c_expand_deferred_function): Likewise.
3923         * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
3924         * objc-act.c (deferred_fns): New variable.
3925         (objc_init): Initialize it, and mark it as a root.
3926         (defer_fn): New function.
3927         (finish_file): Expand all deferred functions.
3928
3929 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3930
3931         * alpha.c (unicosmk_special_name): Prototype.
3932         (unicosmk_ssib_name): Delete unused variable.
3933         * alpha/unicosmk.h (common_section, ssib_section): Prototype.
3934         * alpha/vms.h (PREFIX): Undef before defining.
3935         * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
3936         * i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
3937         controlling usage.  Const-ify.
3938         (alias_number): Delete unused variable.
3939         * m32r/m32r.c (m32r_sched_init): Add missing argument.
3940         (m32r_expand_block_move): Fix uninitialized warnings.
3941         * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
3942         always true' warnings.
3943         * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
3944         * sh/sh.c: Include "integrate.h".
3945         (output_far_jump): Fix uninitialized warning.
3946         * final.c (shorten_branches): Avoid automatic aggregate
3947         initialization.
3948         * integrate.c (subst_constants): Likewise.
3949
3950 2001-11-11  Kazu Hirata  <kazu@hxi.com>
3951
3952         * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
3953         (get_shift_alg): Remove redundant code.
3954
3955 2001-11-11  Kazu Hirata  <kazu@hxi.com>
3956
3957         * config/pa/milli64.S: Fix comment formatting.
3958         * config/pa/pa-64.h: Likewise.
3959         * config/pa/pa-linux.h: Likewise.
3960         * config/pa/pa-protos.h: Likewise.
3961         * config/pa/pa.c: Likewise.
3962         * config/pa/pa.h: Likewise.
3963         * config/pa/pa32-linux.h: Likewise.
3964         * config/pa/pa32-regs.h: Likewise.
3965         * config/pa/pa64-hpux.h: Likewise.
3966         * config/pa/pa64-regs.h: Likewise.
3967         * config/pa/som.h: Likewise.
3968
3969 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3970
3971         * doc/gcc.texi: Move several chapters out to ...
3972         * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
3973         doc/service.texi, doc/standards.texi, doc/trouble.texi,
3974         doc/vms.texi: ... here.  New files.
3975         * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3976
3977 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
3978
3979         * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
3980         cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
3981         collect2.c, combine.c, config.in, configure, configure.in,
3982         conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
3983         genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
3984         reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
3985         spelling errors.
3986
3987 Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3988
3989         * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
3990         Adjust operand number in CONST_DOUBLE.
3991
3992         * expmed.c (extract_bit_field): No longer pass in alignment.
3993         (extract_fixed_bit_field, extract_split_bit_field): Likewise.
3994         (store_bit_field, store_fixed_bit_field, store_split_bit_field):
3995         Likewise.
3996         * expr.c (store_constructor, store_constructor_field): Likewise.
3997         (store_field, emit_group_load, emit_group_store): Likewise.
3998         * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
3999         (store_bit_field, extract_bit_field): Likewise.
4000         * calls.c, expr.c, function.c: Change calls to above functions.
4001         * ifcvt.c, stmt.c: Likewise.
4002
4003         * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
4004         constant and one is on frame.
4005         If know memref offset, adjust size from decl.
4006
4007 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4008
4009         * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
4010         format specifier warning.
4011         * convex.h (ASM_OUTPUT_BYTE): Likewise.
4012         * elfos.h (ALIGN_ASM_OP): Undef before defining.
4013         * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
4014         warning.
4015         * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4016         * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4017         * i386-interix.h (gen_stdcall_suffix): Prototype.
4018         * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4019         * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4020         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4021         * i386/interix.c (gen_stdcall_suffix): Const-ify.
4022         * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4023         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
4024         specifier warnings.
4025         * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4026         * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4027         ASM_OUTPUT_LONG_DOUBLE): Likewise.
4028         * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4029         * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4030         * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4031         * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4032         * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
4033         ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
4034         * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4035         * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4036         Likewise.
4037         * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4038         Likewise.
4039         * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
4040         * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4041         ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
4042         Likewise.
4043         * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
4044         Likewise.
4045         * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4046         Likewise.
4047         * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
4048         * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4049         * m68k/news.h (PRINT_OPERAND): Likewise.
4050         * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4051         ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
4052         * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4053         * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
4054         definition.
4055         * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4056         ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
4057         ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
4058         * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4059         * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
4060         ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
4061         PRINT_OPERAND): Likewise.
4062         * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4063         Likewise.
4064         * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4065         * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4066         * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
4067         * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4068         * mips.c (mips_output_external_libcall): Mark parameter with
4069         ATTRIBUTE_UNUSED.
4070         (mips_asm_file_start): Move variable into the scope where it's
4071         used.
4072         * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4073         * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4074         * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
4075         * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4076         * ns32k.c (print_operand): Likewise.
4077         * pa.c (print_operand, output_div_insn): Likewise.
4078         * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
4079         ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
4080         * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
4081         * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4082         specifier warnings.
4083         * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4084         * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4085         (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
4086         * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4087         specifier warnings.
4088         * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4089
4090         * sdbout.c (sdbout_end_epilogue): Mark parameter with
4091         ATTRIBUTE_UNUSED.
4092         * varasm.c (assemble_global): Likewise.
4093
4094 2001-11-11  H.J. Lu <hjl@gnu.org>
4095
4096         * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
4097
4098 Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
4099
4100         * final.c (*_MAX_SKIP): Use *_max_skip variables.
4101         * flags.h (align_loops_max_skip, align_jumps_max_skip,
4102         align_labels_max_skip): New global variables.
4103         * toplev.c (align_loops_max_skip, align_jumps_max_skip,
4104         align_labels_max_skip): New global variables.
4105         (toplev_main): Set new variables.
4106         * i386.c (override_options): Set max_skip values.
4107
4108 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
4109
4110         * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
4111         * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
4112         * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
4113         don't print an @fptr for labels either.
4114         (xstormy16_output_addr_vec): Don't print @fptr here.
4115         * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
4116
4117 Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
4118
4119         * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
4120         an ANSI/ISO definitino.
4121         (ssa_const_prop): Likewise.
4122
4123 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
4124
4125         * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
4126         altivec registers.
4127
4128 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4129
4130         * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
4131         * cpplex.c (hex_digit_value): Use hex_p/hex_value.
4132         * cppmain.c (general_init): Call hex_init.
4133         * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
4134
4135         * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
4136
4137         * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
4138         of dgux.c:output_file_start().
4139
4140         * i386/dgux.c: Delete file.
4141
4142 2001-11-09  Richard Henderson  <rth@redhat.com>
4143
4144         * config/alpha/alpha.c (decl_in_text_section): New.
4145         (current_file_function_operand): Use it.
4146         (alpha_encode_section_info, alpha_end_function): Likewise.
4147
4148 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
4149
4150         * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
4151         * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
4152         they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
4153         so OS specific files and use CPP_PREDEFINES for their needs.
4154         * config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
4155         target headers to tm_file.
4156         * config/ia64/aix.h (TARGET_VERSION): Likewise.
4157         * config/ia64/hpux.h (TARGET_VERSION): Likewise.
4158         * config/ia64/linux.h (TARGET_VERSION): Likewise.
4159         (FUNCTION_PROFILER): Remove.
4160         * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
4161         version in config/ia64/linux.h.
4162         * config/ia64/freebsd.h: New file.
4163         * config/freebsd.h: Tidy up.
4164         (_USING_CONFIG_FREEBSD): Define.
4165         (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
4166         (FBSD_CPP_SPEC): Define generic FreeBSD spec.
4167         (FBSD_STARTFILE_SPEC): Likewise.
4168         (FBSD_ENDFILE_SPEC): Likewise.
4169         (FBSD_LIB_SPEC): Likewise.
4170         (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
4171         (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
4172         set an ELF-improper one.
4173
4174 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4175
4176         * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
4177         constant can be loaded in a single instruction to a register.  When
4178         loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
4179         depdi for insertion of most significant 32-bits on 64-bit hosts.
4180         * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
4181         with ldil/ldo/depdi instruction sequence on 64-bit hosts.
4182         * pa.md: New addmove pattern for adding constant_int to HImode
4183         register and moving result to HImode register.  Remove HImode HIGH
4184         and LO_SUM patterns.
4185
4186 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4187
4188         * Makefile.in: Update.
4189         * c-decl.c (print_lang_decl, print_lang_type): Remove.
4190         (print_lang_identifier): Rename c_print_identifier.
4191         * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4192         (print_lang_statistics, lang_print_xnode): Remove.
4193         * c-parse.in (set_yydebug): Rename c_set_yydebug.
4194         * c-tree.h (c_set_yydebug, c_print_identifier): New.
4195         * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
4196         LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
4197         LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
4198         LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4199         (LANG_HOOKS_INITIALIZER): Update.
4200         * langhooks.h (struct lang_hooks): New members.
4201         (lang_print_tree_hook): New.
4202         * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
4203         * print-tree.c: Include langhooks.h.
4204         (print_node): Update.
4205         * toplev.c (decode_d_option): Update.
4206         * tree.c: Include langhooks.h.
4207         (dump_tree_statistics): Update.
4208         * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
4209         print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
4210 objc:
4211         * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
4212         LANG_HOOKS_SET_YYDEBUG): Override.
4213         (lang_print_xnode, print_lang_statistics): Remove.
4214
4215 2001-11-09  Richard Henderson  <rth@redhat.com>
4216
4217         * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
4218         on the symbol string.
4219
4220 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4221
4222         * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
4223         ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
4224         * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
4225
4226         * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
4227
4228         * tlink.c (recompile_files): Copy strings passed to `putenv'.
4229
4230 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
4231
4232         * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
4233         (TYPE_READONLY): Likewise.
4234
4235         * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
4236
4237         * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
4238         don't pass --gdwarf2 to the assembler if the compiler will also
4239         provide debug info.
4240
4241         * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4242         Don't change INDEX.
4243
4244 Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4245
4246         * alias.c (nonoverlapping_memrefs_p): New function.
4247         (true_dependence, canon_true_depenence, write_dependence_p): Call it.
4248
4249         * emit-rtl.c (set_mem_attributes): Get alignments for constants.
4250
4251 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
4252
4253         * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
4254         (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
4255         generating altivec code.
4256         (FIXED_REGISTERS): VRSAVE is fixed.
4257         (CALL_USED_REGISTERS): VRSAVE is call used.
4258
4259 2001-11-09  Jason Eckhardt  <jle@rice.edu>
4260
4261         * config/mips/mips.c (mips_output_conditional_branch): Do not hard
4262         code the branch target as ".+16/.+12", but rather use labels.
4263
4264 Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
4265
4266         * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
4267         to work around limitations of certain versions of GAS.
4268
4269         * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
4270         (muldi3): Update due to SUBREG_BYTE changes.
4271         (casesi): Similarly.
4272
4273 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
4274
4275         * doc/invoke.texi: Remove comment referring to -xf77-version.
4276
4277 2001-11-09  Kazu Hirata  <kazu@hxi.com>
4278
4279         * config/convex/convex.c: Fix comment formatting.
4280         * config/convex/convex.h: Likewise.
4281
4282 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
4283
4284         * Makefile.in (.po.pox): Look both in srcdir and builddir
4285         for $(PACKAGE).pot.
4286         (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
4287         to the source directory.
4288
4289 2001-11-09 Ben Elliston  <bje@redhat.com>
4290            Michael Meissner  <meissner@redhat.com>
4291            Andrew MacLeod  <amacleod@redhat.com>
4292            Richard Henderson  <rth@redhat.com>
4293            Nick Clifton  <nickc@redhat.com>
4294            Catherine Moore  <clm@redhat.com>
4295
4296         * m32r.c: Add support for m32rx processor.
4297         * m32r.h: Ditto.
4298         * m32r.md: Ditto.
4299         * t-m32r: Ditto.
4300         * m32r-protos.h: Add prototypes for m32rx functions.
4301         * doc/invoke.texi: Document -m32rx option.
4302
4303 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
4304
4305         * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
4306         or after reload.
4307
4308 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
4309
4310         * doc/install.texi2html: Use $MAKEINFO --no-split.
4311
4312 2001-11-09  Andreas Schwab  <schwab@suse.de>
4313
4314         * Makefile.in ($(HOST_PREFIX_1)rtl.o,
4315         $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
4316         $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
4317         $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
4318         $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
4319
4320 2001-11-09  H.J. Lu <hjl@gnu.org>
4321
4322         * config/mips/mips.c (mips_output_function_prologues): Cast
4323         `tsize' to long for output.
4324
4325 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
4326
4327         * c-lang.c (LANG_HOOKS_NAME): New.
4328         (lang_hooks): Constify.
4329         (c_init_options): Update.
4330         (lang_identify): Remove.
4331         * c-parse.in (language_string): Remove.
4332         * dbxout.c: Include langhooks.h.
4333         (dbxout_symbol_location): Update.
4334         * dwarf2out.c: Include langhooks.h.
4335         (gen_compile_unit_die): Update.
4336         * dwarfout.c: Include langhooks.h.
4337         (prototyped_attribute, output_compile_unit_die): Update.
4338         * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
4339         (LANG_HOOKS_INITIALIZER): Update.
4340         * langhooks.h (struct lang_hooks): New members.  Constify.
4341         * stringpool.c: Don't include toplev.h.
4342         (set_identifier_size): Remove.
4343         * toplev.c (toplev_main): Initialize identifier size.
4344         (print_version): Update.
4345         * tree.h (language_string, init_lex, lang_identify,
4346         set_identifier_size): Remove.
4347         * Makefile.in: Update dependencies.
4348         * config/darwin.c: Include langhooks.h.
4349         (func_name_maybe_scoped): Update.
4350         * config/darwin.h (ASM_END_FILE): Update.
4351         * config/nextstep.h (ASM_END_FILE): Update.
4352         * config/nextstep21.h (ASM_END_FILE): Update.
4353         * config/i386/sun386.h (ASM_END_FILE): Update.
4354         * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
4355         (rs6000_output_function_epilogue): Update.
4356 objc:
4357         * objc-act.c (LANG_HOOKS_NAME): Override.
4358         (struct lang_hooks): Constify.
4359         (objc_init_options): Update.
4360         (lang_identify): Remove.
4361
4362 Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
4363
4364         * fold-const.c (lshift_double): Honor PREC.
4365         (rshift_double): Likewise.
4366
4367 2001-11-08  Kazu Hirata  <kazu@hxi.com>
4368
4369         * config/1750a/1750a.c: Fix comment formatting.
4370         * config/1750a/1750a.h: Likewise.
4371
4372 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
4373
4374         * configure.in (--enable-languages): Be more permissive about
4375         syntax.  Check for empty lists better.  Warn about $LANGUAGES.
4376         * configure: Regenerated.
4377
4378 2001-11-08  Richard Henderson  <rth@redhat.com>
4379
4380         * dwarf2asm.c (dw2_force_const_mem): Fix typo.
4381
4382 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
4383
4384         * config.gcc: Rename stormy16 to xstormy16.
4385         * config/stormy16/stormy-abi: Likewise.
4386         * config/stormy16/stormy16-protos.h: Likewise.
4387         * config/stormy16/stormy16.c: Likewise.
4388         * config/stormy16/stormy16.h: Likewise.
4389         * config/stormy16/stormy16.md: Likewise.
4390
4391 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
4392
4393         * tree.h (TYPE_VOLATILE): Add enable-checking code.
4394         (TYPE_READONLY): Likewise.
4395
4396 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4397
4398         * reload1.c (reload): Don't delete equiv insn if can throw.
4399
4400         * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
4401         (clear_storage): Likewise, for OBJECT.
4402
4403 Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
4404
4405         * pa.c (emit_move_sequence): Fix SUBREG expression to
4406         use proper byte offset when extending a constant from
4407         SImode to DImode.
4408
4409 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
4410
4411         * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
4412         which cannot throw.
4413
4414 Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4415
4416         * explow.c (convert_memory_address, case SUBREG): Only return
4417         inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
4418
4419 2001-11-08  Richard Henderson  <rth@redhat.com>
4420
4421         * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
4422         (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
4423         (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
4424
4425 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
4426
4427         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
4428
4429 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
4430
4431         * dwarf2out.c (debug_str_hash): New.
4432         (struct indirect_string_node): New.
4433         (struct dw_val_struct): Change type of val_str to it.
4434         (DEBUG_STR_SECTION_FLAGS): Define.
4435         (add_AT_string): Push string into hashtable, increment reference
4436         counter.
4437         (AT_string): Return string from ht_identifier.
4438         (AT_string_form): New.
4439         (free_AT): For dw_val_class_str, just decrement reference counter.
4440         (size_of_string): Remove.
4441         (size_of_die): Use AT_string_form to decide what size the string
4442         occupies in DIE.
4443         (size_of_pubnames): Use strlen instead of size_of_string.
4444         (value_format): Use AT_string_form for dw_val_class_str.
4445         (output_die): Output DW_FORM_strp strings using
4446         dw2_asm_output_offset.
4447         (indirect_string_alloc, output_indirect_string): New.
4448         (dwarf2out_finish): Emit .debug_str strings if there are any.
4449
4450 2001-11-08  Andreas Franck  <afranck@gmx.de>
4451
4452         * configure.in: Add AC_ARG_PROGRAM to support program name
4453         transformation with --program-prefix, --program-suffix and
4454         --program-transform-name.
4455         * configure: Regenerated.
4456         * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
4457         PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
4458         GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
4459         PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
4460         program_transform_name the way suggested by autoconf.
4461         (GCC_TARGET_INSTALL_NAME): Define.
4462         (install-driver): Use the transformed target alias name.
4463
4464 2001-11-08  Richard Henderson  <rth@redhat.com>
4465
4466         * config/mips/mips.c (save_restore_insns): Remove GP from the
4467         restore registers mask early instead of special casing it inside
4468         the loop.
4469
4470 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
4471
4472         * cp/decl.c (shadow_warning): New function.
4473         (pushdecl): Improve -Wshadow warnings.  Don't give both a warning
4474         and an error when a block scope decl shadows a parameter.
4475
4476 2001-11-08  Richard Henderson  <rth@redhat.com>
4477
4478         * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
4479         case as well.
4480
4481 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4482
4483         * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
4484         to implement floating negation on processors prior to PA 2.0.
4485
4486 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
4487
4488         * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
4489         (USE_LINKONCE_INDIRECT): Define.
4490         (dw2_output_indirect_constant_1): Try to output indirect constants
4491         into linkonce sections if possible.
4492         (dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
4493         (dw2_output_indirect_constants): Likewise.
4494
4495 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
4496
4497         * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
4498
4499 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
4500
4501         * c-decl.c (pushdecl): Remove file and line.
4502         * c-typeck.c (pop_init_level): Remove size.
4503
4504 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
4505
4506         * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
4507         for rs6000.
4508
4509         * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
4510         (TARGET_ALTIVEC): New.
4511         (TARGET_SWITCHES): Add altivec.
4512         (FIRST_PSEUDO_REGISTER): Change to 109.
4513         (CALL_USED_REGISTERS): Same.
4514         (FIRST_ALTIVEC_REGNO): New.
4515         (LAST_ALTIVEC_REGNO): New.
4516         (ALTIVEC_REGNO_P): New.
4517         (UNITS_PER_ALTIVEC_WORD): New.
4518         (ALTIVEC_VECTOR_MODE): New.
4519         (FIXED_REGISTERS): Add altivec registers.
4520         (REG_ALLOC_ORDER): Same.
4521         (HARD_REGNO_NREGS): Adjust for altivec registers.
4522         (HARD_REGNO_MODE_OK): Same.
4523         (MODES_TIEABLE_P): Same.
4524         (REGISTER_MOVE_COST): Same.
4525         (REGNO_REG_CLASS): Same.
4526         (reg_class): Add ALTIVEC_REGS.
4527         (REG_CLASS_NAMES): Same.
4528         (REG_CLASS_CONTENTS): Same.
4529         (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
4530         (ALTIVEC_ARG_RETURN): New.
4531         (FUNCTION_VALUE): Handle VECTOR_TYPE.
4532         (LIBCALL_VALUE): Handle altivec vector modes.
4533         (VECTOR_MODE_SUPPORTED_P): New.
4534         (ALTIVEC_ARG_MIN_REG): New.
4535         (ALTIVEC_ARG_MAX_REG): New.
4536         (ALTIVEC_ARG_NUM_REG): New.
4537         (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
4538         (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
4539         (REGISTER_NAMES): Add altivec regs.
4540         (DEBUG_REGISTER_NAMES): Same.
4541         (ADDITIONAL_REGISTER_NAMES): Same.
4542         (rs6000_builtins): New.
4543         (MD_EXPAND_BUILTIN): New.
4544         (MD_INIT_BUILTINS): New.
4545         (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
4546         for AltiVec instructions.
4547         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
4548         (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
4549         registers.
4550         (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
4551         (TARGET_SWITCHES): Add no-altivec.
4552         (DATA_ALIGNMENT): Align vectors to 128 bits.
4553         (TARGET_OPTIONS): Add abi= option.
4554         Add rs6000_abi_string extern.
4555         (LOCAL_ALIGNMENT): New.
4556         (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
4557         (MASK_ALTIVEC_ABI): New.
4558         (TARGET_ALTIVEC_ABI): New.
4559         (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
4560         call-saved.
4561         (STACK_BOUNDARY): Adjust for altivec.
4562         (BIGGEST_ALIGNMENT): Same.
4563         (rs6000_args): Add vregno.
4564         (USE_ALTIVEC_FOR_ARG_P): New.
4565         (FIXED_REGISTERS): Add vrsave register.
4566         (CALL_USED_REGISTERS): Same.
4567         (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
4568         (VRSAVE_REGNO): New.
4569         (reg_class): Add VRSAVE_REGS.
4570         (REG_CLASS_NAMES): Same.
4571         (REG_CLASS_CONTENTS): Same.
4572         (REGNO_REG_CLASS): Same.
4573
4574         * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
4575         (ABI_STACK_BOUNDARY): Same.
4576         (BIGGEST_ALIGNMENT): Same.
4577         (ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
4578         (ROUND_TYPE_ALIGN): Same.
4579
4580         * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4581         to 64.
4582
4583         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4584         to 64.
4585
4586         * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4587         to 64.
4588
4589         * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
4590         (altivec_expand_builtin): New.
4591         (altivec_init_builtins): New.
4592         (TARGET_EXPAND_BUILTIN): New.
4593         (TARGET_INIT_BUILTINS): New.
4594         (rs6000_init_builtins): New.
4595         (struct builtin_description): New.
4596         (bdesc_2arg): New.
4597         (rs6000_reg_names): Add altivec registers.
4598         (alt_reg_names): Same.
4599         (secondary_reload_class): Altivec regs can hold altivec regs and
4600         memory.
4601         (rs6000_emit_move): Force constants into memory for AltiVec moves.
4602         (print_operand): Add 'y' case for printing altivec memory
4603         operands.
4604         (rs6000_legitimize_address): Legitimize vector addresses into
4605         [REG+REG] or [REG].
4606         (altivec_expand_binop_builtin): New.
4607         New string rs6000_current_abi.
4608         (rs6000_override_options): Call rs6000_parse_abi_options.
4609         (rs6000_parse_abi_options): New.
4610         (function_arg_boundary): Vector arguments must be 16
4611         byte aligned.
4612         (function_arg_advance): Handle vector arguments.
4613         (function_arg_partial_nregs): Same.
4614         (init_cumulative_args): Same.
4615         (function_arg): Same.
4616
4617         * config/rs6000/rs6000.md (altivec_lvx): New.
4618         (type): Add altivec attribute.
4619         (movv4si): New.
4620         (*movv4si_internal): New.
4621         (movv16qi): New.
4622         (*movv16qi_internal): New.
4623         (movv8hi): New.
4624         (*movv8hi_internal1): New.
4625         (movv4sf): New.
4626         (*movv4sf_internal1): New.
4627         (altivec_stvx): New.
4628         (vaddubm): New.
4629         (vadduhm): New.
4630         (vadduwm): New.
4631         (vaddfp): New.
4632         (vaddcuw): New.
4633         (vaddubs): New.
4634         (vaddsbs): New.
4635         (vadduhs): New.
4636         (vaddshs): New.
4637         (vadduws): New.
4638         (vaddsws): New.
4639         (vand): New.
4640         (vandc): New.
4641         (vavgub): New.
4642         (vavgsb): New.
4643         (vavguh): New.
4644         (vavgsh): New.
4645         (vavguw): New.
4646         (vavgsw): New.
4647         (vcmpbfp): New.
4648         (vcmpequb): New.
4649         (vcmpequh): New.
4650         (vcmpequw): New.
4651         (vcmpeqfp): New.
4652         (vcmpgefp): New.
4653         (vcmpgtub): New.
4654         (vcmpgtsb): New.
4655         (vcmpgtuh): New.
4656         (vcmpgtsh): New.
4657         (vcmpgtuw): New.
4658         (vcmpgtsw): New.
4659         (vcmpgtfp): New.
4660         (vcmpgefp): New.
4661         (vcmpgtub): New.
4662         (vcmpgtsb): New.
4663         (vcmpgtuh): New.
4664         (vcmpgtsh): New.
4665         (vcmpgtuw): New.
4666         (vcmpgtsw): New.
4667         (vcmpgtfp): New.
4668         (vmaxub): New.
4669         (vmaxsb): New.
4670         (vmaxuh): New.
4671         (vmaxsh): New.
4672         (vmaxuw): New.
4673         (vmaxsw): New.
4674         (vmaxfp): New.
4675         (vmrghb): New.
4676         (vmrghh): New.
4677         (vmrghw): New.
4678         (vmrglb): New.
4679         (vmrglh): New.
4680         (vmrglw): New.
4681         (vminub): New.
4682         (vminsb): New.
4683         (vminuh): New.
4684         (vminsh): New.
4685         (vminuw): New.
4686         (vminsw): New.
4687         (vminfp): New.
4688         (vmuleub): New.
4689         (vmulesb): New.
4690         (vmuleuh): New.
4691         (vmulesh): New.
4692         (vmuloub): New.
4693         (vmulosb): New.
4694         (vmulouh): New.
4695         (vmulosh): New.
4696         (vnor): New.
4697         (vor): New.
4698         (vpkuhum): New.
4699         (vpkuwum): New.
4700         (vpkpx): New.
4701         (vpkuhss): New.
4702         (vpkshss): New.
4703         (vpkuwss): New.
4704         (vpkswss): New.
4705         (vpkuhus): New.
4706         (vpkshus): New.
4707         (vpkuwus): New.
4708         (vpkswus): New.
4709         (vrlb): New.
4710         (vrlh): New.
4711         (vrlw): New.
4712         (vslb): New.
4713         (vslh): New.
4714         (vslw): New.
4715         (vsl): New.
4716         (vslo): New.
4717         (vsrb): New.
4718         (vrsh): New.
4719         (vrsw): New.
4720         (vsrab): New.
4721         (vsrah): New.
4722         (vsraw): New.
4723         (vsr): New.
4724         (vsro): New.
4725         (vsububm): New.
4726         (vsubuhm): New.
4727         (vsubuwm): New.
4728         (vsubfp): New.
4729         (vsubcuw): New.
4730         (vsububs): New.
4731         (vsubsbs): New.
4732         (vsubuhs): New.
4733         (vsubshs): New.
4734         (vsubuws): New.
4735         (vsubsws): New.
4736         (vsum4ubs): New.
4737         (vsum4sbs): New.
4738         (vsum4shs): New.
4739         (vsum2sws): New.
4740         (vsumsws): New.
4741         (vxor): New.
4742
4743 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
4744
4745         * Makefile.in (df.o): Add fibheap.h to dependencies.
4746
4747         * df.h: Add prototypes for transfer functions, iterative_dataflow
4748         functions.
4749         (enum df_flow_dir): New enum.
4750         (enum df_confluence_op): New enum.
4751         (struct df): Add inverse_rts_map.
4752
4753         * df.c: Add sbitmap.h to the list of includes.
4754         (df_rd_global_compute): Removed.
4755         (df_ru_global_compute): Removed.
4756         (df_lr_global_compute): Removed.
4757         (df_rd_transfer_function): New function.
4758         (df_ru_transfer_function): New function.
4759         (df_lr_transfer_function): New function.
4760         (df_analyse_1): allocate/compute/free df->inverse_rts_map.
4761         Use iterative_dataflow_bitmap instead of df_*_global_compute.
4762         (iterative_dataflow_sbitmap): New function.
4763         (iterative_dataflow_bitmap): New function.
4764
4765 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
4766
4767         * doc/gcc.texi: Move terminology and spelling conventions to
4768         htdocs/codingconventions.html.
4769
4770 2001-11-07  Graham Stott  <grahams@redhat.com>
4771
4772         * cse.c (cse_insn): Emit BARRIER after unconditional jump.
4773
4774 Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
4775
4776         * expmed.c (expand_mult): Force operand to register before computing
4777         cost.
4778         * i386.c (x86_decompose_lea): New global vairable.
4779         * i386.h (x86_decompose_lea): Declare.
4780         (TARGET_DECOMPOSE_LEA): New macro.
4781         (RTX_COST): Handle leas properly.
4782
4783 2001-11-06  Richard Henderson  <rth@redhat.com>
4784
4785         * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
4786         defined for a CONSTRUCTOR; don't check it.
4787
4788 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
4789
4790         * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
4791         test for absolute pathnames.
4792
4793 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
4794
4795         * unwind-dw2.c (execute_cfa_program): Evaluate call frame
4796         instructions up to the target pc inclusive.
4797
4798 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
4799
4800         * loop.c (loop_regs_scan):  Don't invalidate PIC register.
4801
4802 2001-11-06  Eric Christopher  <echristo@redhat.com>
4803
4804         * config/mips/mips.md(movdf_internal2): Add constraints for float
4805         to general register move.
4806         * config/mips/elf64.h: Add default ABI.
4807
4808 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4809
4810         * alias.c:: Include langhooks.h.
4811         * emit-rtl.c: Similarly.
4812         * toplev.c: Similarly.
4813         * tree-inline.c: Similarly.
4814         * langhooks-def.h: New, the old langhooks.h.  Give the default
4815         hooks a common prefix.
4816         * langhooks.h: Contents extracted from toplev.h.
4817         * toplev.h: Move langhook stuff to langhooks.h.
4818         * langhooks.c: Give default hooks a common prefix.
4819
4820         * c-lang.c: Include langhooks-def.h.
4821         * objc/objc-act.c: Similarly.
4822         * Makefile.in: Update.
4823         * objc/Make-lang.in: Update.
4824
4825 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
4826
4827         * doc/install.texi: Document that configure options not listed in
4828         this file are unsupported.  Document --with-system-zlib.
4829
4830 Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4831
4832         * rtl.h (mem_for_const_double): New declaration.
4833         * varasm.c (mem_for_const_double): New function.
4834         * config/convex/convex.md (movdf): Use it.
4835         * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
4836         * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
4837         * config/m68k/m68kv4.h: Likewise.
4838
4839         * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
4840         of new GP reg classes.
4841
4842         * expr.c (store_field): When making temp object for unaligned
4843         component, set it to alias set 0.
4844
4845 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
4846
4847         * c-common.c (c_expand_expr_stmt): Apply default conversions to
4848         non-lvalue arrays if C99.
4849         * c-typeck.c (default_conversion): Split out code handling
4850         array-to-pointer and function-to-pointer conversions into a
4851         separate default_function_array_conversion function.
4852         (default_function_array_conversion): New function.  Keep track of
4853         whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
4854         arrays unchanged outside C99 mode instead of giving an error for
4855         them.
4856         (build_component_ref): Use pedantic_non_lvalue when handling
4857         COMPOUND_EXPR.  Don't handle COND_EXPR specially.
4858         (convert_arguments): Use default_function_array_conversion.
4859         (build_unary_op): For ADDR_EXPR, take a flag indicating whether
4860         non-lvalues are OK.
4861         (unary_complex_lvalue): Likewise.
4862         (internal_build_compound_expr): Use
4863         default_function_array_conversion.  Apply default conversions to
4864         function in compound expression.
4865         (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
4866         Use default_function_array_conversion.
4867         * doc/extend.texi: Update documentation of subscripting non-lvalue
4868         arrays.
4869         Fixes PR c/461.
4870
4871 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
4872
4873         * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
4874         (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
4875         corresponding to the complete set of .po and .gmo files in
4876         the source directory's po subdir, modified by LINGUAS.  Don't
4877         look at ALL_LINGUAS.
4878         * configure.in: Don't set ALL_LINGUAS.
4879         * configure: Regenerate.
4880
4881         * Makefile.in (.po.gmo): Don't move into source directory.
4882         (.po.pox): Clarify comments.
4883         (install-po): Look for .gmo files in both srcdir and objdir;
4884         don't fail if a file is totally missing.
4885         (distclean): rmdir ada subdirectory too.
4886
4887 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
4888
4889         * config/rs6000/rs6000.c (rs6000_select_section): Handle
4890         CONSTRUCTORs _correctly_.
4891
4892 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4893
4894         * c-decl.c (delete_block): Remove.
4895         * c-tree.h (delete_block): Remove.
4896
4897 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4898
4899         * cppexp.c (lex, parse_defined): Update warning about defined.
4900
4901 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
4902
4903         * config/rs6000/rs6000.c (rs6000_select_section): Handle
4904         CONSTRUCTORs too.
4905
4906 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
4907
4908         * config/arm/arm.c (arm_return_in_memory): Cope with
4909         int_size_in_bytes returning -1.
4910
4911         * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
4912         DECL being NULL.
4913
4914 Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
4915
4916         * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
4917         remove unneeded dependencies;
4918         (cfglayout.o): New.
4919         * cfglayout.c, cfglayout.h: New files; break out from ...
4920         * bb-reorder.c: ... here; Remove unneeded includes;
4921
4922 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
4923
4924         * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
4925
4926 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
4927
4928         * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
4929         mode as well.  Do not explicitly create intermediate regs.
4930
4931 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4932
4933         * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
4934         (common_section): Delete unused variable.
4935         (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
4936         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
4937         * arm-protos.h (arm_poke_function_name, aof_add_import,
4938         aof_delete_import): Const-ify.
4939         * arm.c (legitimize_pic_address): Wrap variables in the macro
4940         controlling their usage.
4941         (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
4942         (arm_poke_function_name, pic_chain, import, aof_add_import,
4943         aof_delete_import): Const-ify.
4944         * i386.c (ix86_osf_output_function_prologue): Const-ify.
4945         * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4946         ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
4947         * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
4948         * i860/sysv3.h: Add missing comment closure.
4949         * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
4950         * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
4951         to symbolic_operand.
4952
4953         * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
4954         (i960-*-*): Set tmake_file.
4955         (sparc86x-*-elf*): Fix typo in header name.
4956
4957         * sched-rgn.c (schedule_insns): Delete unused variable.
4958
4959 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4960
4961         PR c/2820
4962         * c-typeck.c (lookup_field): Rework to return a chain down to
4963         the looked-up field.
4964         (build_component_ref): Use the new lookup_field to handle
4965         nested anonymous entities correctly.
4966
4967 Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4968
4969         * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
4970         Change parameters to gen_rtx_CONST_DOUBLE.
4971         (GEN_INT64, sparc_emit_set_const64): Likewise.
4972         * config/sparc/sparc.md (movdf split): Likewise.
4973
4974 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
4975
4976         * unroll.c (calculate_giv_inc): Use find_last_value rather
4977         than just hoping the last instruction is the right SET.
4978         [Fixes 990604-1.c on stormy16.]
4979
4980         * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
4981         library at all if -T is used.
4982
4983         * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
4984         some uses of uninitialized variables in error cases.
4985
4986         * config/stormy16/stormy16.c (stormy16_output_shift): Don't
4987         look at 'temp' if we won't be using it.
4988
4989         * config/stormy16/stormy16.h (CONST_COSTS): Define.
4990         (RTX_COSTS): Define.
4991         (ADDRESS_COST): Define.
4992         (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
4993
4994         * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
4995
4996         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
4997         stormy16_asm_output_mi_thunk.
4998         * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
4999         function.
5000         * config/stormy16/stormy16-protos.h
5001         (stormy16_asm_output_mi_thunk): New prototype.
5002
5003 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
5004
5005         * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
5006         FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
5007         caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
5008         cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
5009         sched-int.h, toplev.c, config/alpha/alpha.c,
5010         config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
5011         config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
5012         config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
5013         config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
5014         config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
5015         config/ns32k/ns32k.md, config/rs6000/rs6000.c,
5016         config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
5017
5018 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5019
5020         * Makefile.in (dbxout.o): Depend on function.h.
5021         * collect2.c (is_in_list): Hide unused function.
5022         * dbxout.c: Include function.h.
5023         (source_label_number, dbxout_source_line, dbxout_source_file,
5024         dbxout_function_end, dbxout_begin_function): Wrap/move inside
5025         macros controlling usage.
5026         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
5027         * output.h (exports_section): Prototype.
5028
5029         * convex.c (convex_output_function_prologue): Fix format specifier
5030         warning.
5031         (asm_declare_function_name): Fix signed/unsigned warning.
5032         (print_operand): Fix format specifier warning.
5033         * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
5034         * dsp16xx-protos.h (uns_comparison_operator,
5035         num_1600_core_shifts): Prototype.
5036         * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
5037         (frame_size, frame_pointer_offset): Delete.
5038         (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
5039         Make static.  Fix format specifier warnings.
5040         * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
5041         (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
5042         * dsp16xx.md: Add default case in switches.
5043         * fr30.h (IN_RANGE): Delete.
5044         * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5045         * mcore-protos.h (mcore_output_cmov): Const-ify.
5046         * mcore.c (mcore_output_cmov): Likewise.
5047         * mcore.h (switch_to_section): Make static and prototype.
5048         * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
5049         unsigned>=0 warnings.
5050         * mn10300.h (REGNO_IN_RANGE_P): Likewise.
5051         * rs6000-protos.h (read_only_data_section,
5052         read_only_private_data_section): Prototype.
5053         * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5054         * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
5055         * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
5056
5057 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5058
5059         * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
5060         ATTRIBUTE_UNUSED.
5061         * final.c (final_scan_insn): Add brackets around body of if-stmt.
5062         * gcc.c (convert_filename): Add static prototype.  Const-ify.
5063         Wrap variable in macros controlling its use.
5064         * output.h (sdata_section): Add prototype.
5065
5066         * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5067         (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
5068         * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
5069         (ASM_FILE_START): Const-ify.
5070         (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
5071         specifier warning.
5072         * c4x.md: Don't use the 'U' integer suffix.
5073         * clipper.md (clipper_movstr): Delete declaration.
5074         * d30v-protos.h (d30v_move_2words): Const-ify.
5075         (debug_stack_info): Add prototype.
5076         * d30v.c: Include "integrate.h".
5077         (d30v_function_arg_boundary, d30v_function_arg,
5078         d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
5079         signed/unsigned warnings.
5080         (d30v_print_operand_memory_reference, d30v_move_2words):
5081         Const-ify.
5082         * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
5083         * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
5084         * fr30.md: Const-ify.
5085         * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5086         * i370.c (i370_label_scan, mvs_get_label): Make definition static.
5087         (mvs_get_label_page): Hide unused static function.
5088         * i860.c (current_function_original_name): Const-ify.
5089         * i860/sysv3.h (current_function_original_name): Likewise.
5090         * i860/sysv4.h (current_function_original_name): Likewise.
5091         * i960.md: Add default case in switches.  Remove unused variable.
5092         * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
5093         * m32r.md: Const-ify.
5094         * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
5095         * m68hc11.c: Include "reload.h".
5096         (static_chain_reg, print_options, m68hc11_asm_file_start):
5097         Const-ify.
5098         * m68hc11.md: Delete unused variable.  Const-ify.  Add parens
5099         around & in comparison.
5100         * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5101         * mn10200.c (shift_mode): Remove trailing comma.
5102         * mn10300-protos.h (output_tst): Const-ify.
5103         * mn10300.c (output_tst): Likewise.
5104         * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
5105         warnings.
5106         * pa-protos.h (output_ascii): Use regular char *, not unsigned.
5107         * pa.c (output_ascii): Likewise.
5108         * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5109         * pdp11.md (expand_unop): Delete declarations.
5110         * pj-protos.h (pj_output_addsi3): Const-ify.
5111         * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
5112         pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
5113         unique_src_operand): Add prototypes.
5114         (pj_output_store_into_lval): Make definition static.
5115         (pj_function_incoming_arg): Don't use unary plus.
5116         (pj_output_addsi3): Const-ify.
5117         * romp.md (get_symref): Delete declarations.
5118         * v850-c.c (mark_current_function_as_interrupt): Don't return
5119         value from void function.
5120         * v850.c: Include "integrate.h".
5121         * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
5122         * vax-protos.h (const_section): Add prototype.
5123
5124 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
5125
5126         * machmode.def: Add documentation for the seventh argument in
5127         vector modes.
5128
5129 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
5130
5131         * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
5132         consistently.
5133         <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
5134         <-melf>: Don't have markup for ELF acronym.
5135
5136 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
5137
5138         * config.gcc (mmix-*-*): New target.
5139         * doc/invoke.texi: Document MMIX options.
5140         * doc/contrib.texi: Add note about MMIX port to my entry.
5141         * config/mmix/t-mmix: New file.
5142         * config/mmix/mmix.h: New file.
5143         * config/mmix/mmix-protos.h: New file.
5144         * config/mmix/mmix.c: New file.
5145         * config/mmix/mmix.md: New file.
5146         * config/mmix/crti.asm: New file.
5147         * config/mmix/crtn.asm: New file.
5148
5149 2001-11-03  Kazu Hirata  <kazu@hxi.com>
5150
5151         * config/sparc/linux-aout.h: Fix comment formatting.
5152         * config/sparc/linux.h: Likewise.
5153         * config/sparc/linux64.h: Likewise.
5154         * config/sparc/lynx.h: Likewise.
5155         * config/sparc/pbd.h: Likewise.
5156         * config/sparc/sol2-sld-64.h: Likewise.
5157         * config/sparc/sol2.h: Likewise.
5158         * config/sparc/sparc.c: Likewise.
5159         * config/sparc/sparc.h: Likewise.
5160         * config/sparc/sparc.md: Likewise.
5161         * config/sparc/sunos4.h: Likewise.
5162         * config/sparc/vxsim.h: Likewise.
5163         * config/sparc/vxsparc.h: Likewise.
5164         * config/sparc/vxsparc64.h: Likewise.
5165
5166 Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5167
5168         * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
5169         reference to CONST_DOUBLE_MEM in comment.
5170         * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
5171         (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
5172         (init_emit_once): Don't clear CONST_DOUBLE_MEM.
5173         * function.c (pop_function_context_from): Don't call
5174         restore_varasm_status.
5175         * function.h (restore_varasm_status): Delete declaration.
5176         * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
5177         * rtl.c: Likewise.
5178         * rtl.def (CONST_DOUBLE): Update comment.
5179         * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
5180         (CONST_DOUBLE_CHAIN): Likewise.
5181         (CONST_DOUBLE_MEM): Delete.
5182         (gen_rtx_CONST_DOUBLE): Update parameters.
5183         * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
5184         Remove reference to CONST_DOUBLE_MEM.
5185         (const_alias_set): New variable.
5186         (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
5187         (immed_real_const_1): Adjust tests for 0, 1, and 2.
5188         Don't set CONST_DOUBLE_MEM.
5189         (clear_const_double_mem): Don't do anything with const_tiny_rtx.
5190         (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
5191         Put constant in const_alias_set.
5192         (struct pool_constant): ALIGN now unsigned.
5193         OFFSET now HOST_WIDE_INT.
5194         Delete LABEL.
5195         (restore_varasm_status): Deleted.
5196         (mark_pool_constant): Mark desc->rtl.
5197         (force_const_mem): Rework to store rtl in hash table,
5198         not CONST_DOUBLE_MEM.
5199         Put constant in const_alias_set.
5200         (find_pool_constant): Check desc->rtl.
5201         (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
5202         (init_varasm_once): Initialize const_alias_set.
5203
5204         * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
5205         force_const_mem.
5206
5207         * reload.c (combine_reloads): Don't combine an output reload if there
5208         are other reloads around for part of the output.
5209
5210         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
5211         constant expression.
5212         (set_mem_decl): New function.
5213         * expr.h (set_mem_decl): New declaration.
5214         * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
5215         (output_asm_operand_names): Add tab.
5216         * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
5217
5218         * builtins.c (get_memory_rtx): Properly set MEM alias set and
5219         attributes.
5220
5221 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
5222
5223         * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
5224         Use "invalid" instead of "illegal".  Use @r in comments in
5225         examples.
5226
5227 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
5228
5229         * c-decl.c (pushdecl): Move block inside if conditional to remove
5230         possibility of a segfault.  Lookup block-level extern
5231         variables in enclosing scopes correctly.
5232
5233         * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
5234
5235 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5236
5237         * expmed.c (store_bit_field): Use simplify_gen_subreg to make
5238         SUBREG so we avoid SUBREGing memory.
5239
5240         * expmed.c (store_bit_field): Same.
5241
5242 2001-11-02  DJ Delorie  <dj@redhat.com>
5243
5244         * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
5245         using FP registers for DImode mem-mem moves is acceptable.
5246
5247 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
5248
5249         * builtins.c (apply_args_size): Handle vector arguments.
5250         (apply_result_size): Same.
5251
5252         * machmode.def: Set WIDER mode field for all vector entries.
5253
5254 2001-11-02  Graham Stott  <grahams@redhat.com>
5255
5256         * recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
5257
5258 2001-11-01  Eric Christopher  <echristo@redhat.com>
5259
5260         * config.gcc: Revert part of earlier patch.
5261         * config/mips/linux.h: Ditto.
5262         * df.c: Include tm_p.h to avoid warnings.
5263         * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
5264         #if/#endif.
5265         * config/mips/mips.c: Define mips_abi regardless.
5266         (mips_output_function_prologues): Add long casts for .frame
5267         output.
5268         (override_options): Allow use of ABI_32.
5269
5270 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5271
5272         * config/m68hc11/m68hc11.c: Fix comment formatting.
5273         * config/m68hc11/m68hc11.h: Likewise.
5274         * config/m68hc11/m68hc11.md: Likewise.
5275
5276 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
5277
5278         * c-typeck.c (default_conversion): Retain the original expression
5279         codes.
5280         * gcc.dg/Wparentheses.c: New tests.
5281
5282 2001-11-01  David S. Miller  <davem@redhat.com>
5283
5284         * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
5285         64-bit Sparc description more in line with reality.
5286
5287 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
5288
5289         * Makefile.in (GCOV_OBJS): Add version.o.
5290         * gcov.c: Include "version.h" and <getopt.h>.
5291         (gcov_version_string): Remove.
5292         (print_usage): Take a parameter to determine whether this is a
5293         call from --help or an error message.  Give fuller output that
5294         follows the GNU Coding Standards for --help.
5295         (print_version): New function.
5296         (options): New.
5297         (process_args): Use getopt_long.  Support long options.  Follow
5298         GNU Coding Standards for --help and --version.
5299         * doc/gcov.texi: Document long options.
5300         Addresses part of PR other/704.
5301
5302 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5303
5304         * pa.c (output_move_double): Fix typo in double load.
5305
5306 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5307
5308         * config/h8300/h8300.c (h8300_encode_label): Compute a string
5309         before passing it to ggc_alloc_string.
5310
5311 2001-11-01  Kazu Hirata  <kazu@hxi.com>
5312
5313         * config/m68k/3b1.h: Fix comment formatting.
5314         * config/m68k/3b1g.h: Likewise.
5315         * config/m68k/a-ux.h: Likewise.
5316         * config/m68k/amix.h: Likewise.
5317         * config/m68k/apollo68.h: Likewise.
5318         * config/m68k/atari.h: Likewise.
5319         * config/m68k/aux-exit.c: Likewise.
5320         * config/m68k/ccur-GAS.h: Likewise.
5321         * config/m68k/crds.h: Likewise.
5322         * config/m68k/dpx2.h: Likewise.
5323         * config/m68k/dpx2g.h: Likewise.
5324         * config/m68k/hp310.h: Likewise.
5325         * config/m68k/hp320.h: Likewise.
5326         * config/m68k/isi.h: Likewise.
5327         * config/m68k/linux.h: Likewise.
5328         * config/m68k/lynx.h: Likewise.
5329         * config/m68k/m68k-psos.h: Likewise.
5330         * config/m68k/m68k.c: Likewise.
5331         * config/m68k/m68k.h: Likewise.
5332         * config/m68k/m68k.md: Likewise.
5333         * config/m68k/m68kelf.h: Likewise.
5334         * config/m68k/m68kv4.h: Likewise.
5335         * config/m68k/mot3300.h: Likewise.
5336         * config/m68k/news.h: Likewise.
5337         * config/m68k/next.h: Likewise.
5338         * config/m68k/pbb.h: Likewise.
5339         * config/m68k/plexus.h: Likewise.
5340         * config/m68k/sgs.h: Likewise.
5341         * config/m68k/sun3.h: Likewise.
5342         * config/m68k/tower.h: Likewise.
5343         * config/m68k/vxm68k.h: Likewise.
5344
5345 2001-10-31  DJ Delorie  <dj@redhat.com>
5346
5347         * config/mips/mips.h (mips_cache_flush_func): Prototype.
5348         (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
5349         (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
5350         * config/mips/mips.c (mips_cache_flush_func): New.
5351         * doc/invoke.texi: Document the new options.
5352
5353 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
5354
5355         * config.gcc (cris-*-linux*, tm_file): Rearrange order.
5356         * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
5357
5358         * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
5359
5360         * config/cris/cris.c: Include output.h after tree.h but before
5361         target.h.
5362
5363 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
5364
5365         * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
5366         (INTL_SUBDIRS): Just intl.
5367         (.SUFFIXES): Add .gmo .po .pox.
5368         (native): Also depend on build-@POSUB@.
5369         (intl.all, intl.install): Depend on config.h and things it includes.
5370         (po-generated): New target; depend on c-parse.c and tradcif.c.
5371         (install-normal): Also depend on install-@POSUB@.
5372         (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
5373         (build-, install-, build-po, update-po, install-po,
5374         .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
5375
5376         * aclocal.m4: Prefix each entry in CATALOGS with "po/"
5377         * configure.in: Don't munge XGETTEXT.  Don't generate
5378         po/Makefile.in.
5379         * configure: Regenerate.
5380
5381         * exgettext: Delete.
5382         * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
5383         * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
5384
5385 2001-10-31  Kazu Hirata  <kazu@hxi.com>
5386
5387         * config/h8300/h8300.md (two anonymous patterns): New.
5388
5389 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
5390
5391         * tree.h (tree_index): Add support for V16QI and V8HI.
5392         (V8HI_type_node): New.
5393         (V16QI_type_node): New.
5394
5395         * tree.c (build_common_tree_nodes_2): Same.
5396
5397         * c-common.c (type_for_mode): Same.
5398
5399 2001-10-31  Kazu Hirata  <kazu@hxi.com>
5400
5401         * config/i386/att.h: Fix comment formatting.
5402         * config/i386/beos-elf.h: Likewise.
5403         * config/i386/bsd.h: Likewise.
5404         * config/i386/bsd386.h: Likewise.
5405         * config/i386/crtdll.h: Likewise.
5406         * config/i386/cygwin.asm: Likewise.
5407         * config/i386/cygwin.h: Likewise.
5408         * config/i386/djgpp.h: Likewise.
5409         * config/i386/freebsd-aout.h: Likewise.
5410         * config/i386/freebsd.h: Likewise.
5411         * config/i386/gas.h: Likewise.
5412         * config/i386/i386-interix.h: Likewise.
5413         * config/i386/i386-protos.h: Likewise.
5414         * config/i386/i386.c: Likewise.
5415         * config/i386/i386.h: Likewise.
5416         * config/i386/i386.md: Likewise.
5417         * config/i386/i386elf.h: Likewise.
5418         * config/i386/interix.c: Likewise.
5419         * config/i386/isc.h: Likewise.
5420         * config/i386/isccoff.h: Likewise.
5421         * config/i386/iscdbx.h: Likewise.
5422         * config/i386/linux.h: Likewise.
5423         * config/i386/lynx.h: Likewise.
5424         * config/i386/mingw32.h: Likewise.
5425         * config/i386/netbsd-elf.h: Likewise.
5426         * config/i386/next.h: Likewise.
5427         * config/i386/osf1elf.h: Likewise.
5428         * config/i386/osfrose.h: Likewise.
5429         * config/i386/sco5.h: Likewise.
5430         * config/i386/seq-gas.h: Likewise.
5431         * config/i386/seq-sysv3.h: Likewise.
5432         * config/i386/sequent.h: Likewise.
5433         * config/i386/sol2.h: Likewise.
5434         * config/i386/sun386.h: Likewise.
5435         * config/i386/uwin.asm: Likewise.
5436         * config/i386/uwin.h: Likewise.
5437         * config/i386/vxi386.h: Likewise.
5438         * config/i386/win32.h: Likewise.
5439         * config/i386/winnt.c: Likewise.
5440         * config/i386/xm-cygwin.h: Likewise.
5441         * config/i386/xm-mingw32.h: Likewise.
5442
5443 2001-10-31  Kazu Hirata  <kazu@hxi.com>
5444
5445         * builtins.def: Fix comment typos.
5446         * config/alpha.c: Likewise.
5447         * config/arm/arm.c: Likewise.
5448         * config/avr/avr.h: Likewise.
5449         * config/d30v/d30v.c: Likewise.
5450         * config/d30v/d30v.h: Likewise.
5451         * config/d30v/d30v.md: Likewise.
5452         * config/dsp16xx/dsp16xx.c: Likewise.
5453         * config/fr30/fr30.c: Likewise.
5454         * config/fr30/fr30.md: Likewise.
5455         * config/i386/i386.c: Likewise.
5456         * config/i860/i860.c: Likewise.
5457         * config/i960/i960.c: Likewise.
5458         * config/ia64/ia64.c: Likewise.
5459         * config/mips/mips.c: Likewise.
5460         * config/pa/pa.c: Likewise.
5461         * config/rs6000/rs6000.c: Likewise.
5462         * config/s390/s390.c: Likewise.
5463         * config/sparc/sparc.c: Likewise.
5464
5465 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5466
5467         * config/mips/elf.h: Fix comment formatting.
5468         * config/mips/elf64.h: Likewise.
5469         * config/mips/iris5.h: Likewise.
5470         * config/mips/iris5gas.h: Likewise.
5471         * config/mips/iris6.h: Likewise.
5472         * config/mips/isa3264.h: Likewise.
5473         * config/mips/linux.h: Likewise.
5474         * config/mips/mips.c: Likewise.
5475         * config/mips/mips.h: Likewise.
5476         * config/mips/mips.md: Likewise.
5477         * config/mips/mips16.S: Likewise.
5478         * config/mips/netbsd.h: Likewise.
5479         * config/mips/osfrose.h: Likewise.
5480         * config/mips/r3900.h: Likewise.
5481         * config/mips/sni-svr4.h: Likewise.
5482         * config/mips/svr4-t.h: Likewise.
5483         * config/mips/ultrix.h: Likewise.
5484
5485 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
5486
5487         * bitmap.c (bitmap_element_free): Don't forget to update head->indx
5488         when we update head->current.
5489
5490 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
5491
5492         * tree.c (id_string_size): Remove.
5493         (dump_tree_statistics): Update.
5494         * toplev.c (compile_file): If dumping stats, dump tree stats too.
5495
5496 Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
5497
5498         * sched-rgn.c (schedule_insns): Fix comment.
5499
5500 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
5501
5502         * configure.in: Correct previous change: don't assume that
5503         gas's version number _isn't_ the last thing on the line, or
5504         isn't the only number on the line, either.
5505         * configure: Regenerate.
5506
5507 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5508
5509         * cfgcleanup.c: Fix a comment typo.
5510
5511 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5512
5513         * alias.c: Fix comment formatting.
5514         * recog.c: Likewise.
5515         * config/cris/cris.c: Likewise.
5516         * config/cris/cris.h: Likewise.
5517         * config/i960/i960.c: Likewise.
5518         * config/i960/i960.h: Likewise.
5519
5520 2001-10-30  Kazu Hirata  <kazu@hxi.com>
5521
5522         * config/arm/arm.c: Fix a comment typo.
5523         * config/arm/arm.h: Likewise.
5524         * config/ia64/ia64.c: Likewise.
5525
5526 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
5527
5528         * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
5529         REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
5530         * rtl.h (set_unique_reg_note): Change return value.
5531         * gcse.c (try_replace_reg): Use set_unique_reg_note.
5532         * cse.c (cse_insn): Likewise.
5533         * expr.c (emit_move_insn): Likewise.
5534         * explow.c (force_reg): Likewise.
5535         * local-alloc (update_equiv_regs): Likewise.
5536         * loop.c (move_moveables, load_mems): Likewise.
5537         * reload (find_reloads): Likewise.
5538
5539 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
5540
5541         Localization fixes.
5542         * c-decl.c (parmlist_tags_warning, start_struct,
5543         check_for_loop_decls): Separate messages for struct, union and
5544         enum cases to allow for languages in which they have different
5545         genders.
5546         * c-format.c (scanf_flag_specs): Separate short and long name of
5547         the assignment suppression feature.
5548         (check_format_types): Localize "pointer" and "different types"
5549         strings.
5550         * c-lex.c (lex_number): Localize "an unsigned long int" and
5551         related strings.
5552         (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
5553         warning message.
5554         * c-typeck.c (build_unary_up): Separate messages for increment and
5555         decrement cases to allow for languages in which they use different
5556         articles.  Localize the strings "increment" and "decrement" in one
5557         case.
5558
5559 Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
5560
5561         * lcm.c (optimize_mode_switching):  Do not rebuild liveness information
5562         when no changes has been made.
5563
5564         * gcse.c (reg_set_bitmap): Turn into reg_set.
5565         (modify_mem_list_set, canon_modify_mem_list_set)
5566         (clear_modify_mem_tables, free_modify_mem_tables): New.
5567         (gcse_main); Use free_modify_mem_tables.
5568         (free_gcse_mem): Likewise; free the bitmaps.
5569         (alloc_gcse_main): Initialize the bitmaps.
5570         (canon_list_insert): Set canon_modify_mem_list_set.
5571         (record_last_mem_set_info): Likewise; set modify_mem_list_set.
5572         (compute_hash_table): Use clear_modify_mem_tables.
5573         (reset_opr_set_tables): Likewise.
5574         (oprs_not_set_p): reg_set_bitmap is regset.
5575         (mark_set, mark_clobber): Likewise.
5576
5577         * df.h (DF_EQUIV_NOTES): New constant.
5578         (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
5579         when asked for.
5580
5581         * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
5582         (init_regions, schedule_insns): Conditionalize the checking
5583         code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
5584
5585 Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
5586
5587         * i386.md (movti_rex64 splitter): Fix condition.
5588
5589 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
5590
5591         * configure.in: Do not assume that gas's version number is the
5592         last thing on the first line of as --version output.
5593         * configure: Regenerate.
5594
5595         * tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
5596         MT_WARNING, MT_ERROR, MT_FATAL.
5597         (main): Call gcc_init_libintl.
5598         (v_message): Call gettext on msgid and "warning: "
5599         * tradcif.y: Include intl.h.
5600         (yyerror): Make parameter definition consistent with
5601         prototype.  Call gettext on msgid argument.
5602
5603 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5604
5605         * combine.c (num_sign_bit_copies): Avoid signed/unsigned
5606         warnings.
5607
5608         * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
5609
5610 Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5611
5612         * reload1.c (eliminate_regs): Test for reg_renumber being allocated
5613         before referencing it.
5614
5615 2001-10-26  DJ Delorie  <dj@redhat.com>
5616
5617         * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
5618         override -G, and force -G0.
5619
5620 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
5621
5622         * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
5623         FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
5624         c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
5625         timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
5626
5627         * loop.h (struct induction): Rename ext_dependant to
5628         ext_dependent.
5629         * loop.c: Change all uses.
5630         (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
5631         All callers changed.
5632         * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
5633
5634 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
5635
5636         * c-parse.in (expr_no_commas, primary), c-typeck.c
5637         (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
5638
5639 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
5640
5641         Undo assemble_name change in earlier patch.
5642
5643 Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
5644
5645         * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
5646         determining the type of the receiver, do not check that TREE_CODE
5647         of receiver is CALL_EXPR before calling receiver_is_class_object().
5648         (receiver_is_class_object): For the GNU runtime: recognize
5649         the case that the receiver is self in a class method context.
5650         Check that TREE_CODE of receiver is CALL_EXPR when checking that
5651         the receiver is a call to objc_get_class.
5652
5653 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5654
5655         * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
5656
5657 Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5658
5659         * Makefile.in (OBJS): Put all files in alphabetical order.
5660
5661         * dwarf2out.c (add_const_value_attribute): Fix error in last
5662         change.
5663
5664 Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
5665
5666         * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
5667         * cfgcleanup.c (merge_blocks): Update the life flag after merging;
5668         fix warning.
5669         * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
5670         (life_analysis): call purge_all_dead_edges after deleting noops.
5671         (delete_noop_move): Do not purge CFG.
5672         * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
5673
5674 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
5675
5676         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
5677         * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
5678         (ASM_GLOBALIZE_LABEL): Use assemble_name.
5679         (ASM_OUTPUT_COMMON): Likewise.
5680         * config/rs6000/rs6000.c (print_operand): Use assemble_name.
5681         (rs6000_output_function_epilogue): Likewise.
5682         (output_mi_thunk): Fix typo.
5683         (rs6000_output_symbol_ref): Use assemble_name.
5684         (output_toc): Likewise.
5685         * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
5686         * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
5687         assemble_name calls STRIP_NAME_ENCODING.
5688         (ASM_OUTPUT_LABEL): Use assemble_name.
5689         (ASM_GLOBALIZE_LABEL): Likewise.
5690         (ASM_DECLARE_FUNCTION_NAME): Likewise.
5691         (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
5692         (ASM_OUTPUT_LOCAL): Likewise.
5693
5694 Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5695
5696         * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
5697         (expand_builtin_apply, expand_builtin_return): Likewise.
5698         (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
5699
5700 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
5701
5702         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5703         ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
5704         c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
5705         configure, configure.in, except.c, except.h, flow.c, function.c,
5706         gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
5707         predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
5708         sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
5709         unroll.c: Fix spelling errors.
5710
5711         * doc/extend.texi, doc/invoke.texi: Fix spelling.
5712
5713         * doc/gcc.texi: Document use of "dependent" and American spelling.
5714
5715 Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
5716
5717         * expr.c (emit_group_load): Support CONCATs by storing them to memory
5718         and reloading.
5719
5720 Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5721
5722         * expr.c (store_constructor_field): Only call adjust_address on MEM.
5723
5724 Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
5725
5726         * genrecog.c (write_switch):  Output if before switch for
5727         DT_elt_zero_wide_safe.
5728
5729 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5730
5731         * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
5732         * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
5733         (FUNCTION_PROFILER): Const-ify.
5734         * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
5735         (eliminate_constant_term, assemble_name, output_addr_const):
5736         Remove declarations.
5737         (ptr_half_pic_address_p, half_pic_hash): Prototype.
5738         (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
5739         half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
5740         * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
5741         (half_pic_declare, half_pic_external): Const-ify.
5742         * toplev.c: Include "halfpic.h".
5743
5744 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
5745
5746         * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
5747         config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
5748         config/i386/i386.c, config/i386/i386-interix.h,
5749         config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
5750         config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
5751         config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
5752         config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
5753         config/sparc/sparc.c, config/m68hc11/m68hc11.c,
5754         config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
5755         config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
5756         spelling errors.
5757
5758         * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5759         ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
5760         c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
5761         collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
5762         haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
5763         regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
5764         system.h, toplev.c: Fix spelling errors.
5765
5766 Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5767
5768         * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
5769
5770         * dwarf2out.c (reg_number): Abort if pseudo.
5771         (reg_loc_descriptor): Return 0 if pseudo.
5772         (is_based_loc): Return 0 if pseudo.
5773         (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
5774         recursive calls.
5775         (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
5776         (loc_descriptor): Return 0 if can't find location and handle 0
5777         return from recursive calls.
5778         (loc_descriptor_from_tree): Likewise.
5779         Fix handling of indirect.
5780         Also return 0 for PLACEHOLDER_EXPR.
5781         Clean up COMPONENT_REF cases.
5782         (add_AT_location_descriptor): Simplify, but handle 0 return from
5783         loc_descriptor.
5784         (add_const_value_attribute): Avoid shift count warning.
5785         (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
5786         Set comp_unit_die as context if not in function.
5787
5788         * config/mips/mips-protos.h: Break up long lines.
5789         Remove needless #ifdef/#endif blocks.
5790         Don't declare functions declared in file made by genpreds or recog.h.
5791         * config/mips/mips.c (mips_output_function_prologue): TSIZE
5792         is now HOST_WIDE_INT; delete unneeded casts.
5793         * config/mips/mips.h: Don't use #elif.
5794
5795         * expr.c (stor_constructor_field): Always call adjust_address.
5796         Copy TARGET before changing its alias set.
5797         (store_field): Likewise, for TO_RTX.
5798         (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
5799         replacement.
5800         (safe_from_p, case ADDR_EXPR): Properly check for conflict.
5801         (find_placeholder): Return 0 if can't find object.
5802         (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
5803         returns 0.
5804
5805 Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
5806
5807         * ifcvt.c (if_convert): Call clear_aux_for_blocks.
5808
5809 Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
5810
5811         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
5812         merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
5813         (merge_blocks): Properly udpate life after making edge nonfallthru.
5814         * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
5815
5816 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5817
5818         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5819
5820 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
5821
5822         * c-typeck.c (convert_arguments): When comparing for enumeral
5823         type equality, use TYPE_MAIN_VARIANT.
5824         * gcc.dg/Wconversion.c: New tests.
5825
5826 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5827
5828         * s390/s390.c: Fix comment typos.
5829         * s390/s390.h: Likewise.
5830         * s390/s390.md: Likewise.
5831
5832 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5833
5834         * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
5835         (walk_tree): Use it for tail calls where appropriate.
5836
5837 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5838
5839         * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
5840         non-local label_refs.
5841
5842 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5843
5844         * config/h8300/h8300.md (4 anonymous patterns): New.
5845
5846 2001-10-26  Kazu Hirata  <kazu@hxi.com>
5847
5848         * config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
5849         algorithm through the shift_info structure.
5850         (emit_a_shift): Update the use of get_shift_alg.
5851
5852 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
5853
5854         * sched-rgn.c: Remove bitset typedef.
5855         Change bitset to sbitmap in prototypes / variable types.
5856         Remove bbset_size.
5857         Remove edgeset_bits.
5858         Remove edgeset_size.
5859         s/BITSET_ADD/SET_BIT/g
5860         s/BITSET_INVERT/sbitmap_ones/g
5861         s/BITSET_INTER/sbitmap_a_and_b/g
5862         s/BITSET_UNION/sbitmap_a_or_b/g
5863         s/BITSET_DIFFER/sbitmap_difference/g
5864         s/bitset_member/TEST_BIT/g
5865         (BITSET_*): Removed.
5866         (bitset_member): Removed.
5867         (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
5868         EXECUTE_IF_SET_IN_SBITMAP.
5869         (split_edges): Rewrite, use sbitmap functions instead of bitset
5870         operations.
5871         (schedule_region): Allocate/free sbitmaps, rather than bitsets.
5872
5873 2001-10-26  Andreas Schwab  <schwab@suse.de>
5874
5875         * reload1.c (emit_input_reload_insns): Fix parens in last
5876         (undocumented) change that was supposed to change only whitespace.
5877
5878 Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5879
5880         * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
5881
5882         * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
5883         ASM_OPERANDS.
5884
5885 2001-10-26  Andreas Jaeger  <aj@suse.de>
5886
5887         * flow.c (clear_log_links): Remove unused variable.
5888         * cfgcleanup.c (cleanup_cfg): Likewise.
5889
5890 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
5891
5892         * tree-inline.c (remap_decl): Don't copy size and size_unit here.
5893         (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
5894
5895 2001-10-26  Richard Henderson  <rth@redhat.com>
5896
5897         * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
5898         rename PV_REG to R27_REG.
5899         (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
5900         (REG_CLASS_FROM_LETTER): Update.
5901         (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
5902         * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
5903         (udivsi3, modsi3, umodsi3): Likewise.
5904         (divdi3, udivdi3, moddi3, umoddi3): Likewise.
5905
5906 2001-10-26  Richard Henderson  <rth@redhat.com>
5907
5908         * cfg.c (clear_aux_for_blocks): Split out of ...
5909         (free_aux_for_blocks): here.
5910         (clear_aux_for_edges): Split from ...
5911         (free_aux_for_edges): here.
5912         * basic-block.h: Declare them.
5913         * lcm.c (compute_antinout_edge): Use them.
5914         (compute_laterin, compute_available, compute_nearerout): Likewise.
5915         (optimize_mode_switching): Likewise.
5916
5917 2001-10-26  Richard Henderson  <rth@redhat.com>
5918
5919         * Makefile.in (unstage*): Remove as, ld, collect-ld before
5920         moving everything back to the main build directory.
5921
5922 2001-10-26  Christopher Faylor  <cgf@redhat.com>
5923
5924         * config/i386/cygwin.h: Search target specific include directory, if
5925         appropriate.
5926
5927 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5928
5929         * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
5930         of macro guards. Fix #endif comment.
5931
5932         * output.h (default_exception_section, default_eh_frame_section):
5933         Move prototypes outside of macro guard.
5934
5935         * crtstuff.c: Fix #endif comment.
5936
5937 Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
5938
5939         * doc/md.texi (movMM): Clarify semantics of storing into a
5940         non-paradoxical SUBREG.
5941
5942 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
5943
5944         * langhooks.c (lang_hook_default_clear_binding_stack): New.
5945         (lang_hook_default_get_alias_set): Move next to other alias
5946         hooks.
5947         * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
5948         (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
5949         (LANG_HOOKS_INITIALIZER): Add it.
5950         * toplev.h (struct lang_hooks): Add clear_binding_stack.
5951         * toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
5952         instead of a loop calling poplevel.
5953
5954 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
5955
5956         * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
5957         occurrences of #elif with #if...#endif.
5958
5959 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5960
5961         * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
5962
5963 Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5964
5965         * alias.c (can_address_p): No longer static.
5966         * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
5967         Return 0 if all parameters are default values.
5968         (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
5969         (adjust_address_1): Try harder to compute a size.
5970         * expr.c (expand_assignment, store_constructor): If can't address,
5971         set MEM_KEEP_ALIAS_SET_P.
5972         (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
5973         (store_field): Likewise.
5974         (store_constructor): Simplify call to store_constructor_field.
5975         * expr.h (can_address_p): New declaration.
5976         * gensupport.c (gen_rtx_CONST_INT): New function.
5977         * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
5978         (MEM_SIZE): Get size from mode, if not set and not BLKmode.
5979         (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
5980
5981         * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
5982
5983 2001-10-24  Christopher Faylor  <cgf@redhat.com>
5984
5985         * config/i386/cygwin.h: Use proper path for mingw crt files when
5986         -mno-cygwin.
5987
5988 Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5989
5990         * dwarf2out.c (file_info_cmp): Always return consistent results.
5991
5992 2001-10-24  Roger Sayle <roger@eyesopen.com>
5993
5994         * stmt.c (expand_end_case): Index jumptables from zero for
5995         suitably small values of minval.
5996
5997 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
5998
5999         * stor-layout.c (place_union_field): If any field was aligned with
6000         attribute aligned, set record type's TYPE_USER_ALIGN.
6001         (place_field): Likewise.
6002         (finalize_record_size): Don't clear TYPE_USER_ALIGN.
6003         (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
6004
6005 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
6006
6007         * c-common.h (struct c_common_identifier): Remove rid_code field.
6008         (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
6009
6010         * c-typeck.c (constructor_designated): New local flag.
6011         (struct constructor_stack): Add "designated" field to match.
6012         (start_init): Clear it.
6013         (really_start_incremental_init, push_init_level): Push and
6014         clear it.
6015         (pop_init_level): Pop it.
6016         (set_designator): Set it.
6017
6018         (pop_init_level): Suppress "missing initializer" warnings if
6019         constructor_designated is true.
6020         (process_init_element): Suppress warning about union
6021         initialization under traditional C, if constructor_designated
6022         is true.
6023
6024 Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6025
6026         * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
6027         change.
6028
6029 Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
6030
6031         * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
6032
6033 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
6034
6035         * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
6036         the node was already a set to a constant.
6037
6038 Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6039
6040         * emit-rtl.c (set_mem_attributes): Fix typo in last change.
6041         * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
6042
6043 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6044
6045         * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
6046         (ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
6047         (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6048         * s390.c (s390_final_chunkify): Don't use string concatenation.
6049         (s390_function_prologue, s390_function_epilogue): Const-ify.
6050         * s390.h (FUNCTION_PROFILER): Remove unused variable.
6051
6052 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
6053
6054         * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
6055         prototypes.
6056
6057 2001-10-23  Stan Shebs  <shebs@apple.com>
6058
6059         * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
6060         -traditional-cpp in first-stage compilation.
6061
6062 Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6063
6064         * gensupport.c (target_flags): Add.
6065
6066 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
6067
6068         * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
6069         if needed.
6070         (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
6071         * except.c (expand_builtin_frob_return_addr): Likewise.
6072         (expand_builtin_eh_return): Likewise.
6073         * stmt.c (expand_computed_goto): Likewise.
6074         * explow.c (memory_address): Likewise.
6075         (allocate_dynamic_stack_space): Clean up predicate testing.
6076         (probe_stack_range): Convert SIZE to Pmode.
6077         * calls.c (rtx_for_function_call): Only call convert_memory_address
6078         if needed.
6079         Pass function call operand as ptr_mode, not Pmode.
6080         * expr.c (expand_assignment): Clean up calls to convert_memory
6081         address by only doing so when needed and making offsets Pmode.
6082         (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
6083         * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
6084         is in Pmode, not ptr_mode.
6085
6086 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6087
6088         * darwin-protos.h (constructor_section, destructor_section,
6089         mod_init_section, mod_term_section): Prototype.
6090         * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
6091         Const-ify.
6092         * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
6093         Likewise.
6094         (SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
6095         objc_section_init declaration.
6096         (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
6097         (objc_section_init, try_section_alias): Make static.
6098         (alias_section): Make static and hide unused function.
6099         (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6100
6101 Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6102
6103         * alias.c (can_address_p): Compnonents are not addressable if
6104         the containing type has alias set 0.
6105         (get_alias_set): Rework to use STRIP_NOPS.
6106         Only call front-end routine on object, type, or object with
6107         NOPs stripped, not inner values.
6108         Use language hook to call front-end routine.
6109         * builtins.c (get_memory_rtx): Always call set_mem_attributes.
6110         (expand_builtin_apply): Call set_mem_align on MEMs we make.
6111         Don't pass alignment to emit_block_move.
6112         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
6113         (expand_builtin_memset): Likewise, but for clear_storage.
6114         * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
6115         and remove C++ specific parts.
6116         * c-common.h (c_common_get_alias_set): Add declaration.
6117         * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
6118         * calls.c (emit_call_1): Fix typo in sibcall_pop case.
6119         (save_fixed_argument_area): Call set_mem_align.
6120         Remove alignment in call to emit_block_move.
6121         (emit_library_call_value_1, store_one_arg): Likewise.
6122         (target_for_arg): Remove; disabled long ago.
6123         * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
6124         once and similar cleanups.
6125         (offset_address): Use proper introductory comment.
6126         * expr.c (emit_block_move): Use alignment from that of MEM args, not
6127         from explicit operand; all callers changed.
6128         (clear_storage): Likewise.
6129         (expand_assignment): Don't call set_mem_alias_set on to_rtx.
6130         (store_field): Remove kludge on alias set used for to_rtx.
6131         (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
6132         (expand_expr_unaligned): Call set_mem_attributes instead of
6133         set_mem_alias_set.
6134         * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
6135         * function.c (assign_stack_temp_for_type): Set MEM alignment.
6136         (expand_function_end): Track MEM attributes of trampolines.
6137         * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
6138         * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
6139         attributes from original.
6140         * langhooks.c (lang_hook_default_get_alias_set): New function.
6141         (hook_get_alias_set_0): New function.
6142         * langhooks.h (hook_get_alias_set_0): New declaration.
6143         (lang_hook_default_get_alias_set): Likewise.
6144         (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
6145         * reload1.c (alter_reg): Use adjust_address_nv.
6146         * rtl.c (get_mode_alignment): Moved to here.
6147         * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
6148         change default if unknown from 1 to BITS_PER_UNIT.
6149         * stor-layout.c (get_mode_alignment): Remove from here.
6150         * toplev.h (struct lang_hoks): Add get_alias_set field.
6151         * tree.h (lang_get_alias_set): Delete declaration.
6152         * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
6153         * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
6154         (ix86_va_arg): Likewise.
6155         * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6156         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6157         * config/sparc/sparc.c (sparc_va_arg): Likewise.
6158         * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6159         (expand_block_move_mem): Remove dead code.
6160
6161 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
6162
6163         * c-common.c (warn_div_by_zero): New.
6164         * c-common.h (warn_div_by_zero): New.
6165         * c-decl.c (c_decode_option): Take it on the command line.
6166         * c-typeck.c (build_binary_op): Warn about division by zero.
6167         * doc/invoke.texi: Document the new command line option, fix
6168         documentation of -Wmultichar.
6169         * testsuite/gcc.dg/divbyzero.c: New tests.
6170         * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
6171
6172 Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
6173
6174         * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
6175
6176         * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
6177         to avoid update_life_info call.
6178         * basic-block.h (CLEANUP_UPATE_LIFE): Define.
6179         * cfgcleanup.c (bb_flags): New enum.
6180         (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
6181         (notice_new_block, update_forwarder_flag): New functions.
6182         (try_simplify_condjump): Use FORWARDER_BLOCK_P.
6183         (try_forward_edges): Likewise; update flags.
6184         (merge_blocks): Likewise.
6185         (outgoing_edges_match): Likewise.
6186         (try_crossjump_to_edge): Likewise.
6187         (try_optimize_cfg): Likewise; initialize and clear the flags;
6188         recompute life info if needed.
6189         (cleanup_cfg): No need to clear aux pointers.
6190
6191 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
6192
6193         * config/i386/i386.c (override_options): Default to minimum
6194         stack alignment when optimizing for code size.
6195         * doc/invoke.texi (-mpreferred-stack-boundary): Document the
6196         change.
6197
6198         * config/i386/i386.c (override_options): Set upper limit of
6199         -mpreferred-stack-boundary to 12.
6200
6201 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
6202
6203         * recog.c (peephole2_optimize): Add default case to switch.
6204
6205 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
6206
6207         * doc/gcc.texi (Sending Patches): Remove.
6208
6209 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
6210
6211         * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
6212         fields when comparing.
6213
6214 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6215
6216         * arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
6217         * arm.c (HOST_INT, HOST_UINT): Likewise.
6218
6219 2001-10-22  Stan Shebs  <shebs@apple.com>
6220
6221         * config/darwin-protos.h (darwin_exception_section): Declare.
6222         (darwin_eh_frame_section): Declare.
6223
6224 Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
6225
6226         * i386.md (movti_rex64): Fix mode.
6227
6228 2001-10-22  Stan Shebs  <shebs@apple.com>
6229
6230         * target.h (struct gcc_target): Add asm_out.exception_section,
6231         asm_out.eh_frame_section.
6232         * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
6233         (TARGET_ASM_EH_FRAME_SECTION): New.
6234         (TARGET_INITIALIZER): Update.
6235         * output.h (default_exception_section): Declare.
6236         (default_eh_frame_section): Declare.
6237         * dwarf2out.c: Include target.h.
6238         (output_call_frame_info): Call target hook for eh frames.
6239         (default_eh_frame_section): New function.
6240         * except.c: Include target.h.
6241         (output_function_exception_table): Call target hook for exception
6242         section.
6243         * varasm.c (default_exception_section): Rename from
6244         exception_section, remove EXCEPTION_SECTION macro.
6245
6246         * config/darwin.h (darwin_eh_frame_section): New function.
6247         (EXCEPTION_SECTION): Remove.
6248         (TARGET_ASM_EXCEPTION_SECTION): Define.
6249         * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
6250         (nextstep_exception_section): New function.
6251         (nextstep_eh_frame_section): New function.
6252         (TARGET_ASM_EXCEPTION_SECTION): Define.
6253         (TARGET_ASM_EH_FRAME_SECTION): Define.
6254
6255         * config/pa/som.h (EXCEPTION_SECTION): Remove.
6256         (TARGET_ASM_EXCEPTION_SECTION): Define.
6257         * config/rs6000/sysv4.h, config/rs6000/xcoff.h
6258         (EXCEPTION_SECTION): Remove.
6259         (TARGET_ASM_EXCEPTION_SECTION): Define.
6260         * config/stormy16/stormy16.h: Remove comments referencing
6261         EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
6262
6263         * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
6264         TARGET_ASM_EH_FRAME_SECTION.
6265
6266 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
6267
6268         * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
6269         terms.
6270
6271         * c-format.c: Fix spelling typo in comment.
6272
6273         * sched-int.h: Fix typo in GCC preamble.
6274
6275 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6276
6277         PR debug/4252
6278         * doc/invoke.texi: Remove references to -fdump-translation-unit.
6279
6280 2001-10-22  Richard Henderson  <rth@redhat.com>
6281
6282         * config/i386/i386.c (ix86_expand_clear): New.
6283         * config/i386/i386-protos.h: Declare it.
6284         * config/i386/i386.md (setcc peep2s): Use it.
6285         (movsi_xor): Unexport.
6286
6287 2001-10-22  Richard Henderson  <rth@redhat.com>
6288
6289         * flow.c (clear_log_links): Use free_INSN_LIST_list, not
6290         free_EXPR_LIST_list for LOG_LINKS.
6291
6292 2001-10-21  Robert Lipe  <robertlipe@usa.net>
6293
6294         * config/i386/i386.c (sco_asm_named_section): Delete.
6295         (sco_asm_out_constructor): Delete.
6296         * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
6297         (ASM_OUTPUT_DOUBLE_INT): Likewise.
6298         (TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
6299         (TARGET_ASM_NAMED_SECTION): Use default for ELF.
6300         (EXCEPTION_SECTION): Delete EH scn renaming hack.
6301
6302 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6303
6304         * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
6305         and/or fold extra calls into fewer ones.
6306         * collect2.c (dump_file): Likewise.
6307         * cppexp.c (parse_number): Likewise.
6308         * cpplex.c (_cpp_lex_direct): Likewise.
6309         * final.c (output_asm_insn, asm_fprintf): Likewise.
6310         * fix-header.c (inf_scan_ident, main): Likewise.
6311         * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
6312         Likewise.
6313         * fold-const.c (real_hex_to_f): Likewise.
6314         * gen-protos.c (parse_fn_proto): Likewise.
6315         * genattrtab.c (check_attr_test, check_attr_value): Likewise.
6316         * genrecog.c (change_state, write_action): Likewise.
6317         * gensupport.c (shift_output_template): Likewise.
6318         * local-alloc.c (requires_inout): Likewise.
6319         * mips-tfile.c (IS_ASM_IDENT): Likewise.
6320         * protoize.c (is_id_char, main): Likewise.
6321         * real.c (asctoeg): Likewise.
6322         * recog.c (asm_operand_ok): Likewise.
6323         * reload.c (find_reloads): Likewise.
6324         * scan.c (scan_identget_token): Likewise.
6325         * sched-vis.c (print_value): Likewise.
6326         * stringpool.c (ggc_alloc_string): Likewise.
6327         * toplev.c (read_integral_parameter, decode_g_option): Likewise.
6328         * tradcif.y (parse_number, yylex, parse_escape): Likewise.
6329         * tradcpp.c (rescan): Likewise.
6330         * tree.c (clean_symbol_name): Likewise.
6331         * varasm.c (decode_reg_name): Likewise.
6332
6333         * alpha.h (ASM_OUTPUT_ASCII): Likewise.
6334         * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
6335         * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
6336         * m88k.c (output_ascii): Likewise.
6337         * m88k.h (OVERRIDE_OPTIONS): Likewise.
6338         * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
6339         * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
6340         * sh.h (REG_CLASS_FROM_LETTER): Likewise.
6341
6342 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6343
6344         * langhooks.c (lang_hook_default_do_nothing,
6345         lang_hook_default_decode_option): New defaults.
6346         * langhooks.h: Make hooks unconditional and non-NULL.
6347         * toplev.c (compile_file, toplev_main): Update.
6348         * toplev.h: Update comments.
6349         * objc/objc-act.c (lang_hooks): Update to new paradigm.
6350
6351 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6352
6353         * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
6354
6355         * system.h (IN_RANGE): New macro.
6356
6357 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
6358
6359         * aclocal.m4 (AM_WITH_NLS): Also create and substitute
6360         INTLDEPS variable, which does not include $LIBICONV.
6361         * Makefile.in: Use INTLDEPS in LIBDEPS.
6362         * configure: Regenerate.
6363
6364 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
6365
6366         * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
6367         * cpplex.c (lex_percent, lex_dot): Remove.
6368         (get_effective_char, skip_block_comment, skip_line_comment,
6369         parse_identifier_slow, parse_number, parse_string, save_comment,
6370         _cpp_lex_direct): Update to do lookback freely.
6371         (IF_NEXT_IS, BACKUP): New macros.
6372         * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
6373         * cppmacro.c (paste_tokens): Update.
6374
6375 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
6376
6377         * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
6378
6379 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
6380
6381         * reload1.c (reload): Check CONSTANT_P before calling
6382         LEGITIMATE_PIC_OPERAND_P.
6383         * config/cris/cris.c (cris_legitimate_pic_operand): Revert
6384         workaround of 2001-10-13.
6385
6386 Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
6387
6388         * i386.c (split_di): Handle splitting of DFmode.
6389
6390 Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6391
6392         * emit-rtl.c (set_mem_attributes): Alignment is in bits.
6393         (adjust_address_1, offset_address): Likewise.
6394
6395         * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
6396         (output_asm_insn): Call it for each line output.
6397         Don't record an operand more than once.
6398
6399         * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
6400         * main.c: Include config.h and system.h, but not ansidecl.h.
6401         * Makefile.in (main.o): Update accordingly.
6402
6403 Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
6404
6405         * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
6406
6407 Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
6408
6409         * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
6410         * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
6411         Break out from ...
6412         (find_sub_basic_blocks): ... here;
6413         (find_many_sub_basic_blocks): New.
6414         * recog.c (split_all_insns): Update find_sub_basic_blocks call.
6415
6416         * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
6417
6418         * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
6419
6420         * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
6421
6422         * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
6423         * flow.c (update_life_info): Measure time.
6424         * c-decl.c: Include timevar.h
6425         (c_expand_body): Measure time.
6426         * toplev.c (rest_of_compilation): Measure time of mode switching
6427         separately.
6428         * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
6429
6430         * toplev.c (flag_asynchronous_unwind_tables): New global variable.
6431         (lang_independent_options): Add asynchronous-unwind-tables
6432         (toplev_main): flag_asynchronous_unwind_tables implies
6433         flag_unwind_tables.
6434         * flags.h (flag_asynchronous_unwind_tables): Declare.
6435         * dwarf2out.c (dwarf2out_stack_adjust): Take into account
6436         flag_asynchronous_unwind_tables.
6437         (output_call_frame_info): Likewise.
6438         * invoke.texi (-fasynchronous-unwind-tables): Document.
6439         * i386.c (optimization_options): Enable
6440         flag_asynchronous_unwind_tables.
6441
6442         * i386.c (ix86_expand_setcc):  Always expect target to be QImode.
6443         * i386.md (s* expanders): Destination is QImode.
6444
6445         * toplev.c (rest_of_compilation): Do not call clear_log_links.
6446         * rtl.h (clear_log_links): Kill.
6447         * flow.c (clear_log_links): Make static; accept blocks parameter;
6448         do no clear life info.
6449         (update_life_info): Call clear_log_links.
6450
6451         * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
6452
6453 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
6454
6455         * cpplex.c (handle_newline, skip_escaped_newlines,
6456         get_effective_char, skip_block_comment, skip_line_comment,
6457         parse_identifier_slow, parse_number, parse_string,
6458         _cpp_lex_direct): Update to do more stepping back.
6459         (trigraph_ok): Similarly.  Rename trigraph_p.
6460         (SAVE_STATE, RESTORE_STATE): Remove.
6461         (BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
6462
6463         * cpplib.c (destringize): Rename destringize_and_run, and
6464         call run_directive directly.
6465         (_cpp_do__Pragma): Simplify.
6466
6467 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6468
6469         * pe.c (arm_pe_unique_section): Const-ify.
6470         * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6471         (switch_to_section): Add static prototype.
6472
6473         * output.h (drectve_section): Prototype.
6474
6475 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
6476
6477         * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
6478         fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
6479         parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
6480         i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
6481         i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
6482         i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
6483         i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
6484         i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
6485         i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
6486         i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
6487         i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
6488         i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
6489         ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
6490         mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
6491         powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
6492         powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
6493         powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
6494         powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
6495         powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
6496         powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
6497         rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
6498         sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
6499         v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
6500         cris-*-none, cris-*-linux*: Update ${tmfile} list.
6501         (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
6502         i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
6503         mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
6504         powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
6505         v850-*-*): Delete superflous ${cpu_type} setting.
6506         * config/linux.h: Delete svr4.h include.
6507         (SET_ASM_OP): Delete.
6508         * config/netware.h (INT_ASM_OP): Undef before define.
6509         * config/ptx4.h: Delete elfos.h include.
6510         (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
6511         * config/svr4.h: Delete elfos.h include. Update commentary.
6512         * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
6513         config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
6514         config/mn10200/mn10300.h, config/stormy16/stormy16.h,
6515         config/v850/v850.h: Delete svr4.h include.
6516         * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
6517         config/m68k/m68kv4.h, config/m88k/sysv4.h,
6518         config/sparc/sysv4.h: Update includes.
6519         * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
6520         config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
6521         config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
6522         config/m88k/dguxbcs.h: Delete includes.
6523         * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
6524         (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
6525         * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
6526         it.
6527         * config/m88k/dgux.h: Delete include.
6528         (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
6529         defining it.
6530         * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
6531         ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
6532         * config/sh/elf.h: Update include.
6533         (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
6534         DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
6535
6536 2001-10-19  Catherine Moore  <clm@redhat.com>
6537
6538         * config/stormy16/stormy-abi:  Updates to varargs descriptions.
6539         * config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
6540         base and count fields.
6541         (stormy16_expand_builtin_va_start):  last_reg_count changed to
6542         size_of_reg_args.  Use count + size in first comparison.
6543
6544 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6545
6546         * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
6547         * toplev.h (struct lang_hooks): New field HONOR_READONLY.
6548         * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
6549         TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
6550         Set alignment from type if INDIRECT_REF.
6551         (adjust_address_1, offset_address): Simplify alignment compuitation.
6552         * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
6553         here; done by set_mem_attributes.
6554
6555 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6556
6557         * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
6558         * arm-protos.h (rdata_section, zero_init_section, common_section):
6559         Prototype.
6560         * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
6561         * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
6562         traditional mode stringification.
6563         * function.c (thread_prologue_and_epilogue_insns): Wrap variable
6564         in macros controling its use.
6565         * rtlanal.c: Include tm_p.h.
6566         * varasm.c (asm_output_aligned_bss): Mark parameter with
6567         ATTRIBUTE_UNUSED.
6568         (assemble_constant_align, assemble_start_function, assemble_align,
6569         assemble_variable, assemble_trampoline_template,
6570         output_constant_def_contents): Wrap potentially empty if-stmt body
6571         in brackets.
6572
6573 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6574
6575         * a29k-protos.h (literal_section): Prototype.
6576         * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
6577         * a29k.md: Ensure function pointers are prototyped.
6578         * genattrtab.c (write_eligible_delay): Mark parameter with
6579         ATTRIBUTE_UNUSED.
6580
6581 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6582
6583         * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
6584         * 1750a.c (print_operand): Fix format specifier warning.
6585         * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
6586         * 1750a.md: Likewise.
6587         * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
6588         * genemit.c (output_add_clobbers): Mark parameter with
6589         ATTRIBUTE_UNUSED.
6590         * genrecog.c (write_subroutine): Likewise.
6591         * integrate.c (expand_inline_function): Delete unused variable.
6592         * varasm.c (remove_from_pending_weak_list): Wrap with
6593         ASM_WEAKEN_LABEL.
6594
6595 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
6596
6597         * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
6598         field is different to previous argument's neg field.
6599
6600         * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
6601
6602 Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6603
6604         * final.c (get_decl_from_op): New function.
6605         (output_asm_insn): Call it; write "*" when item with decl is address.
6606
6607 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
6608
6609         * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
6610         about 64-bit support from the 3.0_branch version.
6611
6612 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
6613
6614         * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
6615         USE_INCLUDED_LIBINTL when appropriate.
6616         * configure, config.in: Regenerate.
6617         * Makefile.in (datadir): Set to @datadir@.
6618         (intl.o): Also depend on $(CONFIG_H) and system.h.
6619
6620         * intl.c: Factor out common gettext initialization sequence.
6621         (gcc_init_libintl):  New function.
6622         * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
6623         otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
6624         off NLS.  Add multiple include guard.  No need to #ifdef-guard
6625         an #undef.  Prototype gcc_init_libintl here.
6626
6627         * collect2.c (main), cppmain.c (general_init), gcc.c (main),
6628         gcov.c (main), protoize.c (main), toplev.c (toplev_main):
6629         Use gcc_init_libintl.
6630
6631 2001-10-19  Catherine Moore  <clm@redhat.com>
6632
6633         * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
6634
6635         * config/stormy16/stormy16.c (stormy16_split_move):  Make
6636         sure that REG_INC notes are present for auto_inc operands.
6637
6638 2001-10-19  Andreas Jaeger  <aj@suse.de>
6639
6640         * configure: Regenerated.
6641         * configure.in: Add x86_64 to switch statements.
6642
6643 2001-10-18  Richard Henderson  <rth@redhat.com>
6644
6645         * config/alpha/alpha.md (sibcall_osf_1): Load destination
6646         address into $27 explicitly.
6647         (sibcall_value_osf_1): Likewise.
6648
6649 Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6650
6651         * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
6652         (offset_address): New function.
6653         (free_emit_status): Free regno_decl.
6654         (init_emit): Pass proper number of elements to xcalloc.
6655         Allocate regno_decl.
6656         (mark_emit_status): Mark regno_decl values.
6657         * expr.c (highest_pow2_factor): New function.
6658         (expand_assigment): Use it and offset_address.
6659         Properly handle ptr_mode vs. Pmode in offset calculation.
6660         (store_constructor, expand_expr_unaligned): Likewise.
6661         (expand_expr, case COMPONENT_EXPR): Likewise.
6662         * expr.h (offset_address): New decl.
6663         * function.h (struct emit_status): Add regno_decl.
6664         (REGNO_DECL): New macro.
6665         * final.c (output_asm_name): Move in file and don't conditionalize
6666         on flag_print_asm_name.
6667         (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
6668         Output names of operands, if known.
6669         * function.c (assign_parms): Set REGNO_DECL.
6670         * integrate.c (integrate_decl_tree): Likewise.
6671         * stmt.c (expand_decl): Likewise.
6672         * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
6673
6674 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
6675
6676         * attribs.c (handle_noinline_attribute): New function.
6677         (handle_used_attribute): Likewise.
6678         (c_common_attribute_table): Added noinline and used.
6679         * doc/extend.texi (Function Attributes): Document them.
6680         * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
6681         Warn when merging inline with attribute noinline.
6682         (start_decl, start_function): Warn if inline and attribute
6683         noinline appear in the same declaration.
6684
6685 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
6686
6687         * config.gcc: Update c4x and i370 for C front end-specific
6688         dependencies.
6689         * config/c4x/c4x-c.c: New.
6690         * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
6691         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6692         New declarations.
6693         * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
6694         (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6695         Make extern.
6696         (c4x_init_pragma): Remove.
6697         (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
6698         c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
6699         c4x_pr_ignored): Move to c4x-c.c.
6700         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6701         * config/c4x/t-c4x: Update.
6702         * config/i370/i370-c.c: New.
6703         * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
6704         (i370_pr_map): Move to i370-c.c.
6705         * config/i370/t-i370: New.
6706
6707         * doc/tm.texi: Update.
6708
6709 2001-10-17  Stan Shebs  <shebs@apple.com>
6710
6711         * config/rs6000/rs6000.c: Make assorted mechanical formatting and
6712         typo fixes throughout.
6713         (machopic_output_stub): Remove some dead code.
6714
6715 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
6716
6717         * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
6718         leak.
6719
6720 Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6721
6722         * Makefile.in (print-rtl.o): Depend on TREE_H.
6723         * alias.c (get_alias_set): Make two passes over objects to first
6724         see if inner object is access via restricted pointer.
6725         Defer allocating alias set for restricted pointer until here.
6726         Call find_placeholder with second arg nonzero.
6727         Minor cleanups.
6728         * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
6729         set for restricted pointer types.
6730         * emit-rtl.c (set_mem_attributes): Set more attributes.
6731         (set_mem_align, change_address, adjust_address_1): New functions.
6732         (change_address_1): Now static.
6733         (adjust_address, adjust_address_nv): Deleted.
6734         (replace_equiv_address): Call change_address_1.
6735         * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
6736         (find_placeholder): Get starting point from PLIST arg.
6737         (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
6738         * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
6739         (adjust_address, adjust_address_nv): New macros.
6740         * print-rtl.c (tree.h): New include.
6741         (print_rtx, case MEM): Print all memory attributes.
6742
6743 2001-10-17  Richard Henderson  <rth@redhat.com>
6744
6745         * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
6746
6747 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
6748
6749         * c-tree.texi: Eliminate duplicated word.
6750         * cpp.texi: Likewise.
6751         * install.texi: Likewise.
6752         * invoke.texi: Likewise.
6753         * tm.texi: Likewise.
6754
6755 2001-10-17  Michael Collison  <collison@isisinc.net>
6756
6757         * dsp16xx.c: Fix comment formatting to match GNU standards.
6758         (dsp16xx_output_function_prologue): Change type of 'size'
6759         parameter from 'int' to HOST_WIDE_INT.
6760         (dsp16xx_output_function_epilogue): Change type of 'size'
6761         parameter from 'int' to HOST_WIDE_INT.
6762
6763 2001-10-16  Richard Henderson  <rth@redhat.com>
6764
6765         * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
6766         * configure, config.in: Rebuild.
6767
6768         * config/i386/i386.c (ix86_output_addr_vec_elt): New.
6769         (ix86_output_addr_diff_elt): New.
6770         * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
6771         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6772         (JUMP_TABLES_IN_TEXT_SECTION): New.
6773         * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
6774         * config/i386/i386-protos.h: Update.
6775
6776         * config/i386/386bsd.h, config/i386/beos-elf.h,
6777         config/i386/freebsd-aout.h, config/i386/freebsd.h,
6778         config/i386/i386-interix.h, config/i386/i386elf.h,
6779         config/i386/linux.h, config/i386/netbsd-elf.h,
6780         config/i386/netbsd.h, config/i386/openbsd.h,
6781         config/i386/ptx4-i.h, config/i386/rtemself.h,
6782         config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
6783         (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
6784
6785 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
6786
6787         * stmt.c (expand_asm_operands): Update commentary.
6788
6789 2001-10-16  Stan Shebs  <shebs@apple.com>
6790
6791         * config/darwin.h (GCC_NAME): Remove, no longer used.
6792         (NO_MATH_LIBRARY): Ditto.
6793         (MATH_LIBRARY): Define to emptiness.
6794         (DWARF2_DEBUGGING_INFO): Define.
6795         (PREFERRED_DEBUGGING_TYPE): Define.
6796         (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
6797         (EXCEPTION_SECTION): Define.
6798         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6799         * config/darwin.c (darwin_encode_section_info): Handle case of
6800         DECL_INITIAL being error_mark_node.
6801
6802 2001-10-16  Richard Henderson  <rth@redhat.com>
6803
6804         * alpha.c (current_file_function_operand): Don't fail for profiling.
6805         (direct_call_operand): New.
6806         * alpha-protos.h: Declare it.
6807         * alpha.h (EXTRA_CONSTRAINT): Use it.
6808         (PREDICATE_CODES): Add it.
6809         (ASM_OUTPUT_MI_THUNK): Remove.
6810         * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
6811         * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
6812
6813 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
6814
6815         * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
6816         (JUMP_TABLES_IN_TEXT_SECTION): Define.
6817
6818 Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
6819
6820         * cfg.c (free_edge): Break out from ....
6821         (remove_edge): ... here.
6822         (clear_edges): Use free_edge.
6823
6824         * att.h (ASM_QUAD): Add comment.
6825         * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
6826
6827 Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
6828
6829         * i386.c (split_ti): New function.
6830         (ix86_split_to_parts): Support TImodes.
6831         * i386.h (VALID_INT_MODE_P): Add TImode.
6832         * i386.md (movdi splitter): Fix.
6833         (movti): Support 64bit integer registers.
6834         (movti_rex64): New function and splitter.
6835
6836         * i386.c (*_cost): Add movsx/movzx cost.
6837         * i386.h (struct processor_costs): Add movsx/movzx fields.
6838         (RTX_COSTS): Handle zero/sign extend + avoid believing that
6839         64bit operations require split on 64bit machine.
6840         (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
6841
6842         * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
6843         (ix86_expand_move): Avoid pushes of memory if size does not match;
6844         move long constants to register.
6845         (x86_initialize_trampoline): Fix mode.
6846         * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
6847         Use ASM_QUAD on 64bit.
6848         * i386.md (test pattern): Disallow impossible constants.
6849         (tablejump PIC expander): Fix emitting of sum.
6850         (movdicc_rex64): Rename to movdicc.
6851         * linux64.h (LINK_SPEC): Add missing '%'.
6852
6853 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
6854
6855         * tree-inline.c (inlinable_function_p): Leave it up to the
6856         front-end to turn -finline-functions into DECL_INLINE set for all
6857         functions.
6858
6859 2001-10-16  Stan Shebs  <shebs@apple.com>
6860
6861         * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
6862
6863 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
6864
6865         * recog.c: Formatting and comment typo fixes.
6866
6867         * configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
6868         version in single tree build.
6869         * configure: Regenerate.
6870
6871 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
6872
6873         * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
6874         MODE arguments to gen_rtx and compare operand with const0_rtx.
6875
6876 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6877
6878         * system.h: Poison old unused target macros.
6879         * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
6880         * config/stormy16/stormy16.c: Update references to obsolete macros.
6881         * config/stormy16/stormy16.h: Similarly.
6882         * config/stormy16/stormy16.md: Similarly.
6883         * config/cris/cris.h: Similarly.
6884
6885 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
6886
6887         * cpplib.c (struct pragma_entry): Store the name as a hashnode.
6888         (lookup_pragma_entry, insert_pragma_entry, do_pragma,
6889         cpp_register_pragma): Update accordingly.
6890
6891 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
6892
6893         * c-pragma.h (cpp_register_pragma_space): Remove.
6894         * cpplib.h (cpp_register_pragma_space): Remove.
6895         * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
6896         (cpp_register_pragma_space): Remove.
6897         (cpp_register_pragma): Simplify using lookup_pragma_entry,
6898         add sanity checks.
6899         (do_pragma): Similarly.
6900         (_cpp_init_internal_pragmas): Don't register namespaces.
6901
6902         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
6903         Don't register namespaces.
6904         * cp/lex.c (init_cp_pragma): Similarly.
6905         * doc/tm.texi: Update.
6906
6907 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6908
6909         PR c/4157
6910         * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
6911
6912 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
6913
6914         * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
6915         add scheduling support.
6916         * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
6917         * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
6918         * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
6919
6920
6921 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
6922
6923         * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
6924         missing CONSTANT_P test in core GCC.
6925
6926 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
6927
6928         * cppmain.c (struct printer): New member source.
6929         (scan_translation_unit): Fix spacing at start of lines.
6930         (cb_line_change): Update.
6931
6932         * gcc.dg/cpp/spacing2.c: New test.
6933
6934 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
6935
6936         * config/cris/arit.c: Use __builtin_labs, not abs.
6937
6938         * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
6939
6940         * config/cris/cris.c (cris_target_asm_function_epilogue): Move
6941         misplaced sprintf and fprintf argument.
6942
6943 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
6944
6945         * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
6946         * configure.in, Makefile.in: Take out obsolete check-po logic.
6947         * configure, config.in: Regenerate.
6948
6949 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
6950
6951         * objc/objc-act.c (finish_objc): Correct precondition for emitting
6952         symtab declarations.
6953
6954 2001-10-12  Stan Shebs  <shebs@apple.com>
6955
6956         * config/rs6000/rs6000.c: Remove uses of "register" specifier in
6957         declarations of arguments and local variables.
6958
6959 2001-10-12  Christopher Faylor  <cgf@redhat.com>
6960
6961         * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
6962         ENDFILE_SPEC definition.
6963
6964 2001-10-12  Kazu Hirata  <kazu@hxi.com>
6965
6966         * gthr-dce.h: Fix comment formatting.
6967         * gthr-posix.h: Likewise.
6968         * gthr-single.h: Likewise.
6969         * gthr-solaris.h: Likewise.
6970         * gthr-vxworks.h: Likewise.
6971         * gthr-win32.h: Likewise.
6972
6973 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
6974
6975         * final.c (output_asm_insn): Make sure assembly dialects are
6976         terminated, not nested.  Output `|' and `}' characters if they
6977         don't appear inside assembly dialect selection.
6978         * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
6979         rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
6980         rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
6981         strsetsi_rex_1): Add {} braces.
6982
6983 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
6984
6985         * toplev.c (compile_file): Ignore return value from yyparse.
6986         Always pop any nested binding levels after yyparse returns.
6987
6988 2001-10-11  Richard Henderson  <rth@redhat.com>
6989
6990         * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
6991
6992 2001-10-11  Richard Henderson  <rth@redhat.com>
6993
6994         * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
6995         fall back to add_AT_long_long for large CONST_INT.
6996
6997 2001-10-11  Richard Henderson  <rth@redhat.com>
6998
6999         * config/i386/i386.md (setcc splitters): Add four splitters to
7000         simplify compound compares that simplify_comparison can't handle.
7001
7002 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
7003
7004         * cpplex.c (digraph_spellings, token_spellings): Make static.
7005
7006 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7007
7008         * unroll.c (loop_iterations): Fixup last patch.
7009
7010 2001-10-11  Richard Henderson  <rth@redhat.com>
7011
7012         * rtl.h (REG_VTABLE_REF): New.
7013         * rtl.c (reg_note_name): Add it.
7014         * combine.c (distribute_notes): Handle it.
7015         * final.c (final_scan_insn): Handle it.
7016         * tree.def (VTABLE_REF): New.
7017         * expr.c (expand_expr): Handle it.
7018         * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
7019         * output.h: Declare them.
7020
7021 2001-10-11  Richard Henderson  <rth@redhat.com>
7022
7023         * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
7024         for a DECL_INITIAL.
7025
7026 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
7027
7028         * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
7029         available in 64-bit mode.
7030
7031 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7032
7033         * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
7034         cris-*-linux* cases.
7035         * config/cris/cris-protos.h: New file.
7036         * config/cris/cris.c: New file.
7037         * config/cris/cris.h: New file.
7038         * config/cris/cris.md: New file.
7039         * config/cris/linux.h: New file.
7040         * config/cris/aout.h: New file.
7041         * config/cris/arit.c: New file.
7042         * config/cris/cris_abi_symbol.c: New file.
7043         * config/cris/mulsi3.asm: New file.
7044         * config/cris/t-aout: New file.
7045         * config/cris/t-cris: New file.
7046         * config/cris/t-elfmulti: New file.
7047         * config/cris/t-linux: New file.
7048         * doc/invoke.texi: Add CRIS options.
7049         * doc/install.texi (Specific): Add blurb for CRIS.
7050
7051 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
7052
7053         * config/float-i128.h: Make sure __STDC__VERSION__ is defined
7054         before using it.
7055         * config/float/i32.h: Likewise.
7056         * config/float-i386.h: Likewise.
7057         * config/float-i64.h: Likewise.
7058         * config/float-m68k.h: Likewise.
7059         * config/float-sh.h: Likewise.
7060         * config/float-sparc.h: Likewise.
7061
7062 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
7063
7064         * doc/contrib.texi: Add note about CRIS port to my entry.
7065
7066 2001-10-11  Kazu Hirata  <kazu@hxi.com>
7067
7068         * basic-block.h: Fix formatting.
7069         * bitmap.h: Likewise.
7070         * cpplib.h: Likewise.
7071         * c-tree.h: Likewise.
7072         * diagnostic.h: Likewise.
7073         * flags.h: Likewise.
7074         * ggc.h: Likewise.
7075         * longlong.h: Likewise.
7076         * real.h: Likewise.
7077         * reload.h: Likewise.
7078         * rtl.h: Likewise.
7079         * tree.h: Likewise.
7080
7081 2001-10-10  Richard Henderson  <rth@redhat.com>
7082
7083         * c-parse.in (asm_operand): Allow named operands.
7084         * genconfig.c (max_recog_operands): Set to 29.
7085         * local-alloc.c (requires_inout): Skip multiple digits.
7086         * recog.c (asm_operand_ok): Likewise.
7087         (preprocess_constraints): Use strtoul for matching constraints.
7088         (constrain_operands): Likewise.
7089         * regmove.c (find_matches): Likewise.
7090         * reload.c (find_reloads): Likewise.
7091         * stmt.c (parse_output_constraint): Don't reject in-out
7092         constraint on operands > 9.  Reject '[' in constraint.
7093         (expand_asm_operands): Handle named operands.  Use strtoul
7094         for matching constraints.
7095         (check_operand_nalternatives): Split out from expand_asm_operands.
7096         (check_unique_operand_names): New.
7097         (resolve_operand_names, resolve_operand_name_1): New.
7098
7099         * doc/extend.texi (Extended Asm): Document named operands.
7100         * doc/md.texi (Simple Constraints): Document matching constraints
7101         on operands > 9.
7102
7103 2001-10-10  Richard Henderson  <rth@redhat.com>
7104
7105         * combine.c (try_combine): Handle a SEQUENCE of one insn.
7106
7107         * i386.c (test splitter): Narrow tests vs paradoxical subregs.
7108         (jcc splitters): Add two splitters to simplify compound compares
7109         that simplify_comparison can't handle.
7110
7111 2001-10-10  Richard Henderson  <rth@redhat.com>
7112
7113         * langhooks.c: Include langhooks.h.
7114         * Makefile.in (langhooks.o): Depend on it.
7115
7116 Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
7117
7118         * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
7119         should not be considered as a no-op.
7120         * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
7121
7122 2001-10-10  Stan Shebs  <shebs@apple.com>
7123
7124         * alias.c: Remove uses of "register" specifier in declarations
7125         of arguments and local variables.
7126         * c-common.c: Ditto.
7127         * c-convert.c: Ditto.
7128         * c-decl.c: Ditto.
7129         * c-format.c: Ditto.
7130         * c-semantics.c: Ditto.
7131         * c-typeck.c: Ditto.
7132         * caller-save.c: Ditto.
7133         * calls.c: Ditto.
7134         * cfg.c: Ditto.
7135         * cfgbuild.c: Ditto.
7136         * cfgrtl.c: Ditto.
7137         * collect2.c: Ditto.
7138         * combine.c: Ditto.
7139         * convert.c: Ditto.
7140         * cppexp.c: Ditto.
7141         * cppfiles.c: Ditto.
7142         * cse.c: Ditto.
7143         * dbxout.c: Ditto.
7144         * defaults.h: Ditto.
7145         * df.c: Ditto.
7146         * dwarf2out.c: Ditto.
7147         * dwarfout.c: Ditto.
7148         * emit-rtl.c: Ditto.
7149         * explow.c: Ditto.
7150         * expmed.c: Ditto.
7151         * expr.c: Ditto.
7152         * final.c: Ditto.
7153         * fix-header.c: Ditto.
7154         * floatlib.c: Ditto.
7155         * flow.c: Ditto.
7156         * fold-const.c: Ditto.
7157         * function.c: Ditto.
7158         * gcc.c: Ditto.
7159         * gcse.c: Ditto.
7160         * gen-protos.c: Ditto.
7161         * genattrtab.c: Ditto.
7162         * gencheck.c: Ditto.
7163         * genconfig.c: Ditto.
7164         * genemit.c: Ditto.
7165         * genextract.c: Ditto.
7166         * genflags.c: Ditto.
7167         * gengenrtl.c: Ditto.
7168         * genoutput.c: Ditto.
7169         * genpeep.c: Ditto.
7170         * genrecog.c: Ditto.
7171         * gensupport.c: Ditto.
7172         * global.c: Ditto.
7173         * gmon.c: Ditto.
7174         * graph.c: Ditto.
7175         * haifa-sched.c: Ditto.
7176         * hard-reg-set.h: Ditto.
7177         * hash.c: Ditto.
7178         * integrate.c: Ditto.
7179         * jump.c: Ditto.
7180         * lists.c: Ditto.
7181         * local-alloc.c: Ditto.
7182         * loop.c: Ditto.
7183         * mips-tdump.c: Ditto.
7184         * mips-tfile.c: Ditto.
7185         * optabs.c: Ditto.
7186         * prefix.c: Ditto.
7187         * print-rtl.c: Ditto.
7188         * read-rtl.c: Ditto.
7189         * real.c: Ditto.
7190         * recog.c: Ditto.
7191         * reg-stack.c: Ditto.
7192         * regclass.c: Ditto.
7193         * regmove.c: Ditto.
7194         * reload.c: Ditto.
7195         * reload1.c: Ditto.
7196         * reorg.c: Ditto.
7197         * resource.c: Ditto.
7198         * rtl.c: Ditto.
7199         * rtlanal.c: Ditto.
7200         * scan.c: Ditto.
7201         * sched-deps.c: Ditto.
7202         * sched-rgn.c: Ditto.
7203         * sdbout.c: Ditto.
7204         * simplify-rtx.c: Ditto.
7205         * stmt.c: Ditto.
7206         * stor-layout.c: Ditto.
7207         * toplev.c: Ditto.
7208         * tradcif.y: Ditto.
7209         * tradcpp.c: Ditto.
7210         * tree.c: Ditto.
7211         * unroll.c: Ditto.
7212         * varasm.c: Ditto.
7213         * xcoffout.c: Ditto.
7214
7215 2001-10-10  Richard Henderson  <rth@redhat.com>
7216
7217         * rtl.h (can_reverse_comparison_p): Remove.
7218
7219 2001-10-10  Christopher Faylor <cgf@redhat.com>
7220
7221         * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
7222         used.
7223
7224 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7225
7226         * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
7227         (Thanks to Chris Faylor for suggesting macro name).
7228         (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
7229         WIN32 defines.
7230         (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
7231         (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
7232         (MATH_LIBRARY): Undef before definition.
7233         (OUTPUT_QUOTED_STRING): Likewise.
7234         * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
7235
7236 2001-10-10  Richard Henderson  <rth@redhat.com>
7237
7238         * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
7239         (fde_unencoded_compare): Likewise.  Don't use subtraction to get
7240         a tristate comparison value.
7241         (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
7242
7243 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7244
7245         PR c++/4512
7246         * unroll.c (loop_iterations): Ignore insns generated by loop
7247         unrolling.
7248
7249         * config.gcc (mips*-*-gnu*): Delete support.
7250         * config/mips/gnu.h: Remove.
7251
7252 2001-10-10  Kazu Hirata  <kazu@hxi.com>
7253
7254         * calls.c: Fix formatting.
7255         * c-decl.c: Likewise.
7256         * cfgcleanup.c: Likewise.
7257         * combine.c: Likewise.
7258         * cppfiles.c: Likewise.
7259         * cpplib.c: Likewise.
7260         * cppmacro.c: Likewise.
7261         * crtstuff.c: Likewise.
7262         * cse.c: Likewise.
7263         * dwarf2out.c: Likewise.
7264         * expmed.c: Likewise.
7265         * expr.c: Likewise.
7266         * fold-const.c: Likewise.
7267         * function.c: Likewise.
7268         * gcse.c: Likewise.
7269         * genattrtab.c: Likewise.
7270         * ggc-page.c: Likewise.
7271         * integrate.c: Likewise.
7272         * libgcc2.c: Likewise.
7273         * loop.c: Likewise.
7274         * optabs.c: Likewise.
7275         * profile.c: Likewise.
7276         * protoize.c: Likewise.
7277         * real.c: Likewise.
7278         * recog.c: Likewise.
7279         * reload1.c: Likewise.
7280         * reload.c: Likewise.
7281         * reorg.c: Likewise.
7282         * resource.c: Likewise.
7283         * sched-rgn.c: Likewise.
7284         * sdbout.c: Likewise.
7285         * stmt.c: Likewise.
7286         * toplev.c: Likewise.
7287         * varasm.c: Likewise.
7288
7289 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
7290
7291         * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
7292         * Makefile.in (langhooks.o): Add dependencies.
7293
7294 Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
7295
7296         * rs6000.c (rs6000_emit_load_toc_table): Don't
7297         strdup the toc label.
7298         (create_TOC_reference): Likewise.
7299
7300 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7301
7302         * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
7303         version default.
7304
7305 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
7306
7307         * config/i386/i386.c (ix86_attribute_table): Correct
7308         min_len, max_len fields for dllimport, dllexport and shared.
7309
7310 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
7311
7312         * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
7313         doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
7314         Consistently use "nonzero" instead of "non-zero".
7315
7316 2001-10-09  Kazu Hirata  <kazu@hxi.com>
7317
7318         * acconfig.h: Fix comment formatting.
7319         * c-dump.h: Likewise.
7320         * c-tree.h: Likewise.
7321         * conditions.h: Likewise.
7322         * expr.h: Likewise.
7323         * function.h: Likewise.
7324         * gthr.h: Likewise.
7325         * hwint.h: Likewise.
7326         * integrate.h: Likewise.
7327         * intl.h: Likewise.
7328         * loop.h: Likewise.
7329         * optabs.h: Likewise.
7330
7331 2001-10-09  Kazu Hirata  <kazu@hxi.com>
7332
7333         * c-common.h: Fix comment formatting.
7334         * c-dump.c: Likewise.
7335         * cfg.c: Likewise.
7336         * diagnostic.h: Likewise.
7337         * except.c: Likewise.
7338         * gcc.h: Likewise.
7339         * gcov-io.h: Likewise.
7340         * genattrtab.c: Likewise.
7341         * output.h: Likewise.
7342         * predict.h: Likewise.
7343         * reload1.c: Likewise.
7344         * reload.h: Likewise.
7345         * resource.h: Likewise.
7346         * scan.h: Likewise.
7347         * system.h: Likewise.
7348         * tree.h: Likewise.
7349         * tree-inline.c: Likewise.
7350         * tsystem.h: Likewise.
7351         * varasm.c: Likewise.
7352         * xcoffout.h: Likewise.
7353
7354 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7355
7356         * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
7357
7358 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
7359
7360         * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
7361         config/i386/i386elf.h, config/i386/netbsd-elf.h,
7362         config/i386/netware.h, config/mcore/gfloat.h,
7363         config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
7364         config/netware.h, gccbug.in: Update FSF address.
7365
7366 2001-10-09  Kazu Hirata  <kazu@hxi.com>
7367
7368         * c-common.c: Fix comment typos.
7369         * cfgrtl.c: Likewise.
7370         * collect2.c: Likewise.
7371         * cpplex.c: Likewise.
7372         * doloop.c: Likewise.
7373         * dwarf2out.c: Likewise.
7374         * dwarfout.c: Likewise.
7375         * expr.c: Likewise.
7376         * fold-const.c: Likewise.
7377         * gcc.c: Likewise.
7378         * gcov.c: Likewise.
7379         * gcse.c: Likewise.
7380         * global.c: Likewise.
7381         * ifcvt.c: Likewise.
7382         * loop.c: Likewise.
7383         * optabs.c: Likewise.
7384         * protoize.c: Likewise.
7385         * regclass.c: Likewise.
7386         * reorg.c: Likewise.
7387         * rtl.h: Likewise.
7388         * stmt.c: Likewise.
7389         * tree.h: Likewise.
7390         * doc/cpp.texi: Likewise.
7391         * doc/c-tree.texi: Likewise.
7392         * doc/extend.texi: Likewise.
7393         * doc/invoke.texi: Likewise.
7394         * doc/objc.texi: Likewise.
7395         * doc/tm.texi: Likewise.
7396
7397 2001-10-08  Richard Henderson  <rth@redhat.com>
7398
7399         * varasm.c (set_named_section_flags): Initialize "declared".
7400
7401 2001-10-08  Robert Lipe  <robertlipe@usa.net>
7402
7403         * varasm.c (struct in_named_entry): Add declared.
7404         (named_section_first_declaration): New function.
7405         (default_elf_asm_named_section): Use it.
7406         * output.h (named_section_first_declaration): New.
7407
7408 2001-10-08  Richard Henderson  <rth@redhat.com>
7409
7410         * i386.md (movsi_xor): Export.
7411         (setcc peep2): Use it when available; add an alternative to
7412         match zero_extendhisi2_and.
7413
7414 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7415
7416         * romp-protos.h (romp_initialize_trampoline): New function.
7417         * romp.c (romp_initialize_trampoline): Likewise.
7418         * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
7419         romp_initialize_trampoline.
7420
7421 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7422
7423         * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
7424         * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7425         * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7426         * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7427
7428 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
7429
7430         * unroll.c (loop_iterations): Extend check for multiple back edges.
7431
7432 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
7433
7434         * langhooks.h: New file.
7435         * Makefile.in (OBJS): Added langhooks.o.
7436         (c-lang.o): Depend on langhooks.h.
7437         (c-common.o): Don't depend on tree-inline.h.
7438         (tree-inline.o): Depend on toplev.h.
7439         (langhooks.o): New rule.
7440         * c-common.c: Don't include tree-inline.h.
7441         (c_mark_lang_decl): Mark argument c as unused.
7442         (c_common_lang_init): Don't initialize hooks here.
7443         * c-lang.c: Include langhooks.h, then override some macros.
7444         (lang_hooks): Initialize with macros in langhooks.h.
7445         (c_init): Don't initialize hooks here.
7446         * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
7447         (struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
7448         * tree-inline.c: Include toplev.h.  Don't define hook variables.
7449         * tree-inline.h: Don't define hook types nor declare hook
7450         variables.  Move macros to...
7451         * langhooks.c: ... new file, as functions.  Adjust all callers.
7452
7453 2001-10-08  Jeffrey A Law  <law@cygnus.com>
7454
7455         * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
7456         purge_mem_unchanging_flag on all instructions, not just on those
7457         before NOTE_INSN_FUNCTION_BEG.
7458
7459 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
7460
7461         * cppmacro.c (_cpp_create_definition): Leave comments off.
7462
7463         * doc/cpp.texi: Update.
7464
7465 2001-10-08  DJ Delorie  <dj@redhat.com>
7466
7467         * c-decl.c (grokfield): Make sure the only unnamed fields
7468         we're allowing are either structs or unions.
7469         * doc/extend.texi: Add documentation for the unnamed field
7470         extension.
7471
7472 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
7473
7474         * aclocal.m4 (gcc_AC_PROG_GNAT): New.
7475         * configure.in: Use it.
7476         * configure: Regenerated.
7477         * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
7478         config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
7479
7480 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
7481
7482         * cppfiles.c (open_file): Don't mark zero-length files
7483         never-reread here.  Don't output diagnostics here either.
7484         (stack_include_file): Mark them never-reread here.
7485         (_cpp_read_file): Update.
7486
7487 2001-10-08  Richard Henderson  <rth@redhat.com>
7488
7489         * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7490
7491 2001-10-08  Richard Henderson  <rth@redhat.com>
7492
7493         * expr.c (store_expr): When converting a CONST_INT for storage
7494         in a SUBREG, convert it to both SUBREG modes before stripping
7495         the SUBREG.
7496
7497 2001-10-08  Richard Henderson  <rth@redhat.com>
7498
7499         * varasm.c (restore_varasm_status): New.
7500         * function.h: Declare it.
7501         * function.c (pop_function_context_from): Call it.
7502
7503 2001-10-08  Richard Henderson  <rth@redhat.com>
7504
7505         * c-common.h (struct c_lang_decl): Add declared_inline.
7506         * c-tree.h (DECL_DECLARED_INLINE_P): New.
7507         * c-lang.c (c_disregard_inline_limits): Use it.
7508         * c-decl.c (duplicate_decls): Likewise.
7509         (pushdecl, redeclaration_error_message): Likewise.
7510         (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
7511         (grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
7512         Set DECL_INLINE if -finline-functions.
7513         (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
7514
7515 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
7516
7517         * cppmacro.c (funlike_invocation_p): Move some logic to caller
7518         in enter_macro_context.  Create a padding token in its own context
7519         if necessary when the search for '(' fails.
7520         (enter_macro_context): Update.
7521
7522 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
7523
7524         * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
7525         genmultilib, toplev.c: Fix spelling errors of "separate" as
7526         "seperate", and corresponding spelling errors of related words.
7527
7528 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7529
7530         * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
7531         * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
7532         Likewise.
7533         * c-dump.c (dump_option_value_info): Likewise.
7534         * c-format.c (format_length_info, format_char_info,
7535         format_flag_spec, format_flag_pair, format_kind_info): Likewise.
7536         * collect2.c (names): Likewise.
7537         * cppdefault.h (default_include): Likewise.
7538         * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
7539         * flow.c (life_analysis): Likewise.
7540         * gcc.c (dir_separator_str, modify_target, option_map,
7541         target_option_translations, spec_list_1, extra_specs_1,
7542         init_spec): Likewise.
7543         * gcov.c (gcov_version_string): Likewise.
7544         * genattr.c (write_units): Likewise.
7545         * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
7546         * gengenrtl.c (rtx_definition, defs): Likewise.
7547         * genrecog.c (pred_table): Likewise.
7548         * global.c (global_alloc): Likewise.
7549         * lcm.c (optimize_mode_switching): Likewise.
7550         * local-alloc.c (find_free_reg): Likewise.
7551         * params.h (param_info): Likewise.
7552         * predict.c (predictor_info): Likewise.
7553         * protoize.c (unexpansion_struct): Likewise.
7554         * real.c (bmask): Likewise.
7555         * recog.h (insn_operand_data, insn_data): Likewise.
7556         * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
7557         * stmt.c (expand_nl_goto_receiver): Likewise.
7558         * toplev.c (da, debug_args, lang_opt, documented_lang_options,
7559         target_switches, target_options): Likewise.
7560         * tradcif.y (token, tokentab2, yylex): Likewise.
7561         * tree.h (attribute_spec): Likewise.
7562
7563         * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
7564         Likewise.
7565         * arc.c (arc_output_function_epilogue): Likewise.
7566         * arm.c (processors, all_cores, all_architectures,
7567         arm_override_options, isr_attribute_arg, isr_attribute_args,
7568         arm_isr_value): Likewise.
7569         * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
7570         Likewise.
7571         * c4x.c (c4x_int_reglist): Likewise.
7572         * d30v.c (override_options): Likewise.
7573         * h8300.c (shift_insn): Likewise.
7574         * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
7575         pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
7576         ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
7577         builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
7578         ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
7579         * i386.h (processor_costs, ix86_cost): Likewise.
7580         * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
7581         * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
7582         * m68k.c (codes_68881, codes_FPA): Likewise.
7583         * m88k.c (mode_from_align, max_from_align, all_from_align,
7584         best_from_align, m_options): Likewise.
7585         * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
7586         * mcore.c (mode_from_align): Likewise.
7587         * mips/elf64.h (UNIQUE_SECTION): Likewise.
7588         * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
7589         * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
7590         * mips.h (mips_regno_to_class): Likewise.
7591         * ns32k.c (scales): Likewise.
7592         * pa.c (import_string, magic_milli): Likewise.
7593         * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
7594         * sparc.c (leaf_reg_remap, sparc_override_options,
7595         reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
7596         Likewise.
7597         * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
7598
7599 2001-10-07  Dale Johannesen  <dalej@apple.com>
7600
7601         * reload1.c (reload_reg_free_p): Teach register interference
7602         checking that multiple output reloads are emitted in
7603         reverse order.
7604         reload1.c (reload_reg_reaches_end_p):  Ditto.
7605         reload1.c (reloads_conflict):  Ditto.
7606
7607 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
7608
7609         * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
7610         NULL_TREE inside @code.
7611
7612 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
7613
7614         * doc/gcc.texi: Document consistent style of "32-bit",
7615         "Objective-C", and "@code{NULL}".
7616
7617 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
7618
7619         * cpplex.c (enum spell_type): Add SPELL_NUMBER.
7620         (cpp_token_len, cpp_spell_token, cpp_output_token,
7621         _cpp_equiv_tokens): Handle it.
7622         * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
7623         CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
7624         * cppexp.c (_cpp_parse_expr): Use the correct operator code in
7625         error messages.
7626
7627 Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7628
7629         * gcc.c (default_compilers): Remove .ada.
7630
7631 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
7632
7633         * doc/cppinternals.texi: Update.
7634
7635 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
7636
7637         * gcc.c (main): Set this_file_error if the appropriate
7638         compiler for a language has not been installed.
7639
7640 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
7641
7642         * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
7643
7644 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
7645
7646         * gccbug.in (CATEGORIES): Add ada.
7647
7648 2001-10-05  Catherine Moore  <clm@redhat.com>
7649
7650         * config/stormy16/stormy-abi:  Document abi changes.
7651         * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
7652         (ICALL_REGS): New register class.
7653         (NUM_ARGUMENT_REGISTERS): Now 6.
7654         (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
7655         in registers.
7656         (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
7657         * config/stormy16.md (call_internal, call_value_internal,
7658         indirect_jump): Use new 'z' constraint.
7659
7660 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7661
7662         * doc/cppinternals.texi: Update.
7663
7664 2001-10-05  Richard Henderson  <rth@redhat.com>
7665
7666         * dwarf2out.c (FRAME_BEGIN_LABEL): New.
7667         (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
7668         the gas section-name-as-label feature.
7669
7670 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
7671
7672         * doc/cppinternals.texi: Update.
7673
7674 Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7675
7676         * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
7677         to ensure valid SImode constants.
7678
7679 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
7680
7681         * Makefile.in (c-decl.o): Depend on tree-inline.h.
7682         (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
7683         * c-decl.c: Include tree-inline.h.
7684         (c_expand_body): Call optimize_inline_calls. Determine whether
7685         a function is inlinable upfront, and only clear
7686         DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
7687         * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
7688         (c_disregard_inline_limits): New function.
7689         (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
7690         (c_post_options): Enable tree inlining if inlining is enabled.
7691         Don't inline trees when instrumenting functions.
7692         (c_init): Initialize lang_disregard_inline_limits and
7693         lang_cannot_inline_tree_fn.
7694         * tree-inline.c (initialize_inlined_parameters): Handle calls
7695         with fewer arguments than declared parameters, and fewer
7696         parameters than passed arguments.  Don't assume value is a
7697         DECL.
7698         (declare_return_variable): Convert return value back to the
7699         original type, if it was promoted.
7700         (tree_inlinable_function_p): New function.
7701         (inlinable_function_p): Don't look at DECL_INLINE if we're
7702         inlining all functions.  Make it work with a NULL id.
7703         Re-check DECL_UNINLINABLE after language-specific checks.
7704         * tree-inline.h (tree_inlinable_function_p): Declare it.
7705         * integrate.c (save_for_inline): Don't bother to prepare argvec
7706         when not inlining.
7707         * cse.c (check_for_label_ref): Don't check deleted labels.
7708
7709         * Makefile.in (tree-inline.o): Depend on newly-included headers.
7710         * tree-inline.c: Include headers needed for the functions moved in.
7711         (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
7712         (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
7713         (copy_body, initialize_inlined_parameters): Likewise.
7714         (declare_return_variable, inlinable_function_p): Likewise.
7715         (expand_call_inline, expand_calls_inline): Likewise.
7716         (optimize_inline_calls, clone_body): Likewise.
7717         (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
7718         (copy_tree_r, remap_save_expr): Likewise.
7719
7720 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
7721
7722         * Makefile.in (OBJS): Added tree-inline.o.
7723         (c-common.o): Depend on tree-inline.h.
7724         (tree-inline.o): New target.
7725         * c-common.c: Include tree-inline.h.
7726         (c_mark_lang_decl): Don't mark saved_tree.
7727         (c_common_lang_init): Set lang_anon_aggr_type_p.
7728         * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
7729         (struct c_lang_decl): Moved saved_tree to tree_decl.
7730         * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
7731         * integrate.h (function_attribute_inlinable_p): Declare it.
7732         * integrate.c (function_attribute_inlinable_p): Export it.
7733         * tree-inline.c: New file.  Define variables declared in...
7734         * tree-inline.h: New file.  Declare functions to be moved to
7735         tree-inline.c.  Define macros and declare types and hooks for
7736         language-specific tree inlining.
7737         (flag_inline_trees): Moved definition from cp/decl2.c.
7738         * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
7739         (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
7740         (struct tree_decl): Moved saved_tree from c_lang_decl and
7741         inlined_fns from C++'s lang_decl.
7742
7743 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
7744
7745         * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
7746         propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
7747
7748 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
7749
7750         * doc/cppinternals.texi: Update.
7751
7752 2001-10-04  Eric Christopher  <echristo@redhat.com>
7753
7754         * config/mips/mips.c (init_cumulative_args): Remember to set
7755         cum->prototype.
7756         * config.gcc: Redo linux configuration. Add target_cpu_default
7757         of soft-float to all mipsisa32 combinations and tx39.
7758         * config/mips/linux.h: Remove include of mips.h.
7759
7760 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
7761
7762         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
7763         HOST_LDFLAGS and HOST_CPPFLAGS.
7764
7765 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
7766
7767         * c-parse.in (objc_inherit_code, objc_pq_context,
7768         objc_public_flag): Make static.
7769         (objc_interface_context, objc_implementation_context,
7770         objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
7771         global tree array in objc/objc-act.[ch].
7772         (methoddef): Remove unnecessary code.
7773
7774         * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
7775         Hoist struct definitions to objc-act.h.
7776         (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
7777         cat_count): Place declaration in objc-act.h.
7778         (objc_tree_index): Move enumeration to objc-act.h.
7779         (objc_global_trees): Place declaration and macro accessors in
7780         objc-act.h.
7781         (implementation_context): Remove duplicate; use
7782         objc_implementation_context instead:
7783         (method_context): Remove duplicate; use objc_method_context
7784         instead.
7785         (objc_ellipsis_node, objc_method_prototype_template,
7786         implemented_classes, function_type): Move global vars to
7787         objc_global_trees.
7788         (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
7789         (build_message_expr): Move actual construction of ObjC message
7790         send nodes to finish_message_expr.
7791         (finish_message_expr): New routine, contains code formerly in
7792         build_message_expr.
7793         * objc/objc-act.h (finish_message_expr): New prototype.
7794         (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
7795         declarations; these vars are now part of objc_global_trees.
7796         (objc_tree_index, objc_global_trees): Move definitions from
7797         objc-act.c.
7798         * objc/objc-tree.def: Update copyright info.
7799
7800 Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
7801
7802         * dwarf2asm.c (unaligned_integer_asm_op): Abort if
7803         op is NULL.
7804         * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
7805         only if TARGET_ARCH64.
7806
7807 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
7808
7809         * doc/extend.texi: Fix some problems with previous checkin.
7810         * doc/invoke.texi: Likewise.
7811
7812 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
7813
7814         * cpphash.h: Update comments.
7815         (cpp_context): Update.
7816         (spec_nodes): Remove n__Pragma.
7817         * cppinit.c (cpp_create_reader): Update.
7818         (builtin_array): Add _Pragma.
7819         * cpplib.h: Update comments.
7820         (NODE_DISABLED, BT_PRAGMA): New.
7821         (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
7822         * cppmacro.c (struct cpp_macro): Remove disabled.
7823         (builtin_macro): Return int, handle _Pragma, push the new token
7824         on the context stack.
7825         (funlike_invocation_p): Unconstify, update.
7826         (enter_macro_context): Handle builtins here.
7827         (replace_args, push_token_context, push_ptoken_context):
7828         Update for prototype changes.
7829         (_cpp_pop_context): Update.
7830         (cpp_get_token): Don't handle buitins, nor _Pragma here.
7831         (cpp_sys_macro_p): Update.
7832         (_cpp_free_definition): Clear disabled flag.
7833         (_cpp_create_definition): Upate.
7834         * cppmain.c: Update comments.
7835
7836 Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
7837                                 Andreas Jaeger <aj@suse.de>,
7838                                 Jan Hubicka    <jh@suse.cz>
7839
7840         * doc/invoke.texi (i386 Options): Document x86-64 options.
7841         (i386 and x86-64 Options): Rename i386 options section.
7842
7843         * config/i386/i386.h (TARGET_UNWIND_INFO): New.
7844         (TARGET_SWITCHES): Add -munwind-info.
7845         (MASK_NO_UNWIND_INFO): New.
7846         (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
7847         biarch compilation.
7848         (ASM_OUTPUT_DOUBLE_INT): New.
7849
7850         * config/i386/linux64.h: New spec file for Linux x86-64 support.
7851         * config.gcc: Fix tm_file settings for x86-64.
7852         * config/i386/x86-64.h: New file with OS independent x86-64
7853         definitions.
7854         * config/i386/biarch64.h: New file used to configure compiler
7855         to biarch/64bit compilation.
7856
7857         * config/i386/i386.c: (override_options): Set flags default
7858         for 64bit compilation.
7859
7860 Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
7861
7862         * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
7863         (ix86_expand_int_movcc): Optimize DImode conditional moves with
7864         constants on x86_64.
7865         (ix86_attr_length_immediate_default): Support MODE_DI.
7866         * i386.md (fixdi splitter): Add missing "&& 1" in splitter
7867         condition.
7868         (indirect_jump, tablejump): Turn into expander.
7869
7870 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7871
7872         * c-common.c (c_format_attribute_table): Make format and
7873         format_arg attributes apply to function types rather than to
7874         decls.
7875         (is_valid_printf_arglist): Construct an attribute list and pass
7876         that to check_function_format rather than a name.
7877         * c-common.h (check_function_format): Adjust prototype.
7878         * c-decl.c (duplicate_decls): Preserve attributes from type of
7879         built-in decl when allowing for harmless conflict in types.
7880         * c-format.c (record_function_format,
7881         record_international_format, function_format_list,
7882         international_format_info, international_format_list): Remove.
7883         (function_format_info): Remove next, name and assembler_name.
7884         Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
7885         (decode_format_attr): New.
7886         (handle_format_attribute): Handle receiving a type rather than a
7887         decl.  Call decode_format_attr.  Store format information in a
7888         function_format_info.
7889         (handle_format_arg_attribute): Correct comment.  Handle receiving
7890         a type rather than a decl.  Use unsigned HOST_WIDE_INT for
7891         arg_num.
7892         (check_format_info_recurse, check_format_info_main): Take argument
7893         numbers as unsigned HOST_WIDE_INT.
7894         (check_function_format): Take a list of attributes from the
7895         function type rather than a name or assembler name.  Check for
7896         format attributes in that list and the attributes on the type of
7897         the current function rather than looking through
7898         function_format_list.
7899         (check_format_info): Use unsigned HOST_WIDE_INT for argument
7900         numbers.
7901         (check_format_info_recurse): Take format_arg attributes from the
7902         type of the function calls rather than using
7903         international_format_list.  Allow for multiple format_arg
7904         attributes.
7905         * c-typeck.c (build_function_call): Pass type attributes to
7906         check_function_format rather than name or assembler name.  Don't
7907         require there to be a name or assembler name to check formats.
7908
7909 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7910
7911         * attribs.c (decl_attributes): Possibly call
7912         insert_default_attributes to insert default attributes on
7913         functions in a lazy manner.
7914         * builtin-attrs.def: New file; define the default format and
7915         format_arg attributes.
7916         * c-common.c (c_format_attribute_table): Move to earlier in the
7917         file.
7918         (c_common_nodes_and_builtins): Initialize format_attribute_table.
7919         (enum built_in_attribute, built_in_attributes,
7920         c_attrs_initialized, c_init_attributes,
7921         c_common_insert_default_attributes): New.
7922         (c_common_lang_init): Don't initialize format_attribute_table.  Do
7923         call c_init_attributes.
7924         * Makefile.in (c-common.o): Depend on builtin-attrs.def.
7925         * c-common.h (init_function_format_info): Don't declare.
7926         (c_common_insert_default_attributes): Declare.
7927         * c-decl.c (implicitly_declare, builtin_function): Call
7928         decl_attributes.
7929         (init_decl_processing): Don't call init_function_format_info.
7930         (insert_default_attributes): New.
7931         * c-format.c (handle_format_attribute,
7932         handle_format_arg_attribute): Be quiet about inappropriate
7933         declaration when applying default attributes.
7934         (init_function_format_info): Remove.
7935         * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
7936         (insert_default_attributes): Declare.
7937
7938 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
7939
7940         * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
7941
7942 2001-10-01  Jim Wilson  <wilson@redhat.com>
7943
7944         * sched-deps.c (add_dependence): When elide conditional dependence,
7945         check that insn doesn't modify cond2.
7946
7947 2001-10-01  Dale Johannesen  <dalej@apple.com>
7948
7949         * config/rs6000/rs6000.h (enum processor_type): Add support
7950         for 7400 (G4) and 7450.
7951         (RTX_COSTS): Ditto.
7952         * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
7953         (rs6000_issue_rate): Ditto.
7954         (rs6000_adjust_cost): Fix cycle counts for compares.
7955         (debug_stack_info):  Fix an obvious typo.
7956         * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
7957         * doc/invoke.texi: Document.
7958         * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
7959         for Darwin.
7960         (PROCESSOR_DEFAULT): Ditto.
7961
7962 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
7963
7964         * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
7965         (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
7966         later recursive make invocation.
7967
7968 2001-10-01  Hans Boehm  <boehm@acm.org>
7969
7970         * optabs.c (emit_libcall_block): When using non-call exceptions,
7971         don't add REG_LIBCALL reg notes to trapping calls.
7972
7973 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
7974
7975         * flow.c (propagate_block_delete_libcall): Remove unused first arg
7976         (propagate_one_insn):  Update for above change
7977
7978 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
7979
7980         * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
7981         _Unwind_GetTextRelBase): Argument is unused.
7982
7983 Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
7984
7985         * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
7986         Loop through NOPs, placeholders, and components.
7987         Don't go through NOPs if change mode.
7988         (record_alias_subset): Do nothing if SUBSET and SET are the same.
7989         * emit-rtl.c (set_mem_alias_set): Enable check.
7990         * expr.c (find_placeholder): New function.
7991         (expand_expr, case PLACEHOLDER_EXPR): Use it.
7992         (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
7993         to modify it and avoid unneeded copies.
7994         * expr.h (expand_expr): Always define.
7995         (find_placeholder): New declaration.
7996
7997 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
7998
7999         * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
8000         operand 2 is the stack pointer.
8001         ("addr-peephole"): Fix address computation peephole when operand 2
8002         is the stack pointer.
8003
8004 Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8005
8006         * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
8007         (ix86_setup_incoming_varargs): Likewise.
8008
8009 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
8010
8011         * stor-layout.c (layout_type): Don't complain about too-large
8012         array here.
8013
8014 Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8015
8016         * function.c (keep_stack_depressed): Don't use delete_insn.
8017
8018         * expr.h (set_mem_alias_set): Move decl to here.
8019         * rtl.h (mem_attrs): New typedef and struct.
8020         (union rtunion_def): Add field for mem_attrs.
8021         (X0MEMATTR, MEM_ATTRS): New macros.
8022         (MEM_ALIAS_SET): Use MEM_ATTRS.
8023         (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
8024         (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
8025         (set_mem_alias_set): Delete decl from here.
8026
8027         * alias.c (set_mem_alias_set): Delete from here.
8028         * emit-rtl.c (mem_attrs_htab): New variable.
8029         (rtx_htab_mark, rtx_htab_mark_1): Deleted.
8030         (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
8031         (mem_attrs_mark, get_mem_attrs): Likewise.
8032         (gen_rtx_MEM): Clear MEM_ATTRS.
8033         (set_mem_attributes): Move to here.
8034         (set_mem_alias_set): Likewise, and call get_mem_attrs.
8035         (init_emit_once): const_int_htab now deletable htab.
8036         Initialize mem_attrs_htab.
8037         * explow.c (set_mem_attributes): Delete from here.
8038         * function.c (put_var_into_stack): Clear MEM_ATTRS.
8039         (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
8040         * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
8041         * reload1.c (reload): Rework changing REG to MEM.
8042
8043 2001-09-30  H.J. Lu <hjl@gnu.org>
8044
8045         * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
8046         * config.in: Rebuild.
8047
8048 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8049
8050         * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
8051         ("tsthi_1"): Avoid allocation in register y.
8052         ("*movqi_68hc12"): Reorganize and fix constraints.
8053         ("zero_extendqisi2"): Prefer d over x and y for operand 1.
8054         ("addqi3"): Likewise.
8055         ("addhi3"): Fix constraints.
8056         ("*logicalhi3_zexthi"): Disparage soft registers.
8057
8058 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8059
8060         * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
8061         to tmp reg.
8062
8063 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
8064
8065         * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
8066         that we use setjmp/longjmp exceptions.
8067
8068 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
8069
8070         * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
8071         POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
8072         struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8073         _cpp_pool_alloc, _cpp_next_chunk): Remove.
8074         (_cpp_extend_buff, BUFF_ROOM): Update.
8075         (_cpp_append_extend_buff): New.
8076         (struct cpp_reader): Remove macro_pool, add a_buff.
8077         * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
8078         macro_pool.
8079         (cpp_destroy): Free a_buff instead of macro_pool.
8080         * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
8081         new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8082         _cpp_pool_alloc, ): Remove.
8083         (parse_number, parse_string): Update use of _cpp_extend_buff.
8084         (_cpp_extend_buff): Update.
8085         (_cpp_append_extend_buff, cpp_aligned_alloc): New.
8086         * cpplib.c (glue_header_name, parse_answer):
8087         Update use of _cpp_extend_buff.
8088         (cpp_register_pragma, cpp_register_pragma_space): Use
8089         _cpp_aligned_alloc.
8090         (do_assert, do_unassert): Check for EOL, update.
8091         * cppmacro.c (stringify_arg, collect_args): Update to use
8092         _cpp_extend_buff and _cpp_append_extend_buff.
8093         (save_parameter, parse_params, alloc_expansion_token,
8094         _cpp_create_definition): Rework memory management.
8095
8096 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
8097
8098         * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
8099         update md_exec_prefix.
8100         (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
8101         to string constant.
8102
8103 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
8104
8105         * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
8106         (SELECT_CC_MODE): Use s390_select_ccmode.
8107         * config/s390/s390-protos.h (s390_select_ccmode): Add.
8108         * config/s390/s390.c (s390_select_ccmode): New.
8109         (s390_match_ccmode): Add CCLmode.
8110         (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
8111         (output_branch_condition, output_inverse_branch_condition): Removed.
8112         (print_operand): Use s390_branch_condition_mnemonic.
8113         * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
8114         subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
8115         (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
8116
8117         * config/s390/s390.c (check_and_change_labels): Preserve CC mode
8118         when converting conditional branches to far branches.
8119         * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
8120         cmpint_di): Use CCSmode instead of CCUmode.
8121
8122         * config/s390/s390.c (legitimate_la_operand_p): New.
8123         * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
8124         * config/s390/s390.md (movsi): Convert load address patterns to
8125         arithmetic operations when necessary.
8126         (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
8127         (do_la): Renamed to *do_la and use legitimate_la_operand_p.
8128         (*do_la_reg_0): Don't use before reload.
8129
8130         * config/s390/s390.c (legitimize_address): Make more efficient
8131         use of two-register addressing mode.
8132
8133         * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
8134         with -mno-backchain in some corner cases.
8135
8136         * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
8137
8138 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
8139
8140         * reload.c (find_reloads): Mark new USE insns with QImode.
8141         (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
8142         find_reloads_subreg_address): Likewise.
8143         * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
8144         encountered.
8145         * reload1.c (reload_combine_note_use): Likewise, inside USEs and
8146         CLOBBERs.
8147         (reload): Make sure there are no USEs with mode other than
8148         VOIDmode.  At the end, remove those marked with QImode.
8149
8150 2001-09-29  Per Bothner  <per@bothner.com>
8151
8152         * cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
8153         * Makefile.in (includedir):  Rename to local_includedir.
8154         (includedir):  Define as $(prefix)/include.
8155         * config.in (PREFIX_INCLUDE_DIR):  New variable.
8156         * configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
8157
8158 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
8159
8160         * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
8161         storehps builtins.
8162         * doc/extend.texi (Vector Extensions): New node.
8163         * doc/invoke.texi (Machine Dependent Options): Add documentation for
8164         i386 -mmmx, -msse, -m3dnow.
8165
8166 Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
8167
8168         * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
8169
8170 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
8171
8172         * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
8173
8174         * doc/invoke.texi (Optimize Options): Delete spurious @table.
8175
8176 2001-09-28  Richard Henderson  <rth@redhat.com>
8177
8178         * varasm.c (assemble_integer): Bound alignment check by
8179         BIGGEST_ALIGNMENT.
8180
8181         * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
8182
8183 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8184
8185         * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
8186
8187 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
8188
8189         Mostly from Graham Stott  <grahams@redhat.com>
8190         * c-common.c (type_for_mode): Add support for V2SFmode.
8191         * tree.c (build_common_tree_nodes_2): Likewise.
8192         * tree.h (enum tree_index, global_trees): Likewise.
8193         * config/i386/i386.c (x86_3dnow_a): New variable.
8194         (override_options): Support 3Dnow extensions.
8195         (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
8196         Athlon's version of 3Dnow.
8197         (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
8198         (ix86_expand_builtin): Handle them.
8199         (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
8200         * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
8201         TARGET_3DNOW_A): New macros.
8202         (TARGET_SWITCHES): Add 3Dnow switches.
8203         (VALID_MMX_REG_MODE_3DNOW): New macro.
8204         (VECTOR_MODE_SUPPORTED_P): Use it.
8205         (enum ix86_builtins): Add entries for 3Dnow builtins.
8206         * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
8207         pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
8208         pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
8209         pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
8210         pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
8211         pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
8212         (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
8213         mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
8214         mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
8215         sfence_insn, prefetch): Make these available if TARGET_SSE or
8216         TARGET_3DNOW_A.
8217
8218 Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
8219
8220         * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
8221         ix86_va_start, ix86_build_va_list): Declare.
8222         * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
8223         ix86_va_start, ix86_build_va_list): New global functions.
8224         * i386.md (sse_prologue_save_insn): New insn.
8225         (sse_prologue_save): New expander.
8226         * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
8227         BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
8228
8229 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8230
8231         * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
8232         Use size_t everywhere, make definitions consistent with
8233         prototypes.
8234
8235 Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
8236
8237         * gcse.c (replace_store_insn): Use delete_insn.
8238         * loop.c (move_movables): Likewise; avoid delete_insn
8239         from clobbering notes moved elsewhere.
8240         (check_dbra_loop): Use delete_insn.
8241         * ssa.c (convert_from_ssa): Likewise.
8242         * cse.c (cse_insn): Use delete_insn.
8243
8244 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
8245
8246         * cpphash.h (struct cpp_buff): Make unsigned.
8247         (_cpp_get_buff): Take length of size_t.
8248         (_cpp_unaligned_alloc): New.
8249         (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
8250         (struct cpp_reader): Remove ident_pool.  Add u_buff.
8251         * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
8252         (cpp_destroy): Destroy u_buff, not ident_pool.
8253         * cpplex.c (parse_number, parse_string, save_comment,
8254         cpp_token_as_text): Update to use the unaligned buffer.
8255         (new_buff): Make unsigned.
8256         (_cpp_unaligned_alloc): New.
8257         * cpplib.c (glue_header_name): Update to use the unaligned buffer.
8258         * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
8259         Similarly.
8260         (collect_args): Make unsigned.
8261
8262 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
8263
8264         * cpplex.c (cpp_output_token): Use a putc loop for
8265         SPELL_OPERATOR, and fwrite for SPELL_IDENT.
8266
8267         * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
8268         * configure, config.in: Regenerate.
8269         * system.h: Replace fwrite and fprintf with their unlocked
8270         variants if available.
8271
8272 2001-09-27  Richard Henderson  <rth@redhat.com>
8273
8274         * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
8275         in favour of .eh_frame.
8276
8277 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
8278
8279         * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
8280         to macros.
8281         (LIBCALL_VALUE): Likewise.
8282
8283 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8284
8285         * cpphash.h: Update comment.
8286         * cpplex.c: Update comments.
8287         (_cpp_can_paste): Remove.
8288         * cpplib.h (_cpp_can_paste): Remove.
8289         * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
8290         lexer rather than _cpp_can_paste.
8291
8292 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
8293
8294         * doc/cppinternals.texi: Update.
8295
8296 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8297
8298         * cpphash.h (struct cpp_pool): Remove locks and locked.
8299         (struct cpp_context): Add member buff.
8300         (struct cpp_reader): Remove member argument_pool.
8301         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8302         * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
8303         * cpplex.c (chunk_suitable): Remove pool argument.
8304         (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
8305         (new_buff, _cpp_extend_buff): Update.
8306         (_cpp_get_buff): Fix silly pointer bug.  Be more selective about
8307         which buffer is returned.
8308         (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
8309         (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8310         * cppmacro.c (lock_pools, unlock_pools): Remove.
8311         (push_ptoken_context): Take a _cpp_buff.
8312         (enter_macro_context): Pool locking removed.
8313         (replace_args): Use a _cpp_buff for the replacement list with
8314         arguments replaced.
8315         (push_token_context): Clear buff.
8316         (expand_arg): Use _cpp_pop_context.
8317         (_cpp_pop_context): Free a context's buffer, if any.
8318
8319 2001-09-26  DJ Delorie  <dj@redhat.com>
8320
8321         * c-typeck.c (digest_init): Check for sizeless arrays.
8322
8323 2001-09-26  Richard Henderson  <rth@redhat.com>
8324
8325         * optabs.c (init_one_libfunc): Create a dummy function type
8326         instead of using error_mark_node.
8327
8328 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
8329
8330         * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
8331         _cpp_extend_buff, _cpp_free_buff): New.
8332         (struct cpp_reader): New member free_buffs.
8333         * cppinit.c (cpp_destroy): Free buffers.
8334         * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
8335         _cpp_extend_buff, _cpp_free_buff): New.
8336         * cpplib.h (struct cpp_options): Remove unused member.
8337         * cppmacro.c (collect_args): New.  Combines the old parse_arg
8338         and parse_args.  Use _cpp_buff for memory allocation.
8339         (funlike_invocation_p, replace_args): Update.
8340
8341 Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
8342
8343         * final.c (final_scan_insn): Use delete_insn instead of delete_note.
8344
8345 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
8346
8347         * except.c (sjlj_mark_call_sites): Change address inside sequence.
8348
8349 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
8350
8351         * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
8352         glibc.
8353
8354 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
8355             Jim Wilson  <wilson@redhat.com>
8356
8357         * doc/install.texi (Specific, ia64-*-linux): Document.
8358
8359 Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
8360
8361         * Makefile.in (cfgrtl.o): Add.
8362         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8363         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8364         free_aux_for_edge): Declare.
8365         * cfg.c
8366         (HAVE_return): Undefine.
8367         * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8368         free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8369         free_aux_for_edge): New global functions.
8370         (first_delete_block): New static variable.
8371         (init_flow): Clear first_delete_block.
8372         (basic_block_for_insn, label_value_list, tail_recursion_label_list,
8373          can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
8374          try_redirect_by_replacing_jump, last_loop_beg_note,
8375          back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
8376          delete_insn, delete_insn_chain, create_basic_block_structure,
8377          create_basic_block, flow_delete_block, compute_bb_for_insn,
8378          free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
8379          set_block_for_new_insns, split_block, merge_blocks_nomove,
8380          block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
8381          redirect_edge_and_branch, force_nonfallthru_and_redirect,
8382          force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
8383          tidy_fallthru_edges, split_edge, insert_insn_on_edge,
8384          commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
8385          debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
8386          purge_all_dead_edges): Move to ....
8387         * cfgrtl.c: New file; .... Here.
8388
8389         * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
8390         (reroder_basic_block): Use alloc_aux_for_blocks.
8391         * predict.c (estimate_bb_frequencies): Likewise; use
8392         alloc_aux_for_edges.
8393         * profile.c (compute_branch_probabilities): Likewise.
8394         (branch_prob): Likewise.
8395         * reg-stack.c (reg_to_stack): Likewise.
8396
8397         * emit-rtl.c (emit_insns_after): Never return NULL.
8398
8399         * basic-block.h (set_block_for_new_insns): Delete.
8400         * cfgrtl.c (set_block_for_new_insns): Delete.
8401
8402         * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
8403         calls when crossjumping.
8404
8405         * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
8406         * unroll.c (copy_loop_body): Use delete_insn.
8407
8408         * final.c (final, final_scan_insn): Use delete_insn/delete_note.
8409         * function.c (fixup_var_refs_insn, fixup_var_refs_1,
8410         keep_stack_depressed): Likewise.
8411         * gcse.c (cprop_cc0_jump): Likewise.
8412         * local-alloc.c (update_equiv_regs): Likewise.
8413         * loop.c (scan_loop, loop_delete_insns): Likewise.
8414         * regmove.c (try_auto_increment, fixup_match_1): Likewise.
8415         * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
8416         delete_output_reload, delete_address_reloads_1,
8417         reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
8418         Likewise.
8419         * sibcall.c (replace_call_placeholder): Likewise.
8420         * cse.c (cse_insn): Likewise.
8421
8422 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
8423
8424         From Graham Stott  <grahams@redhat.com>
8425         (def_builtin): Only define builtins appropriate for target_flags.  All
8426         callers changed.
8427         (builtin_decsription): Add new field mask which is used to determine
8428         when to define the builtin via the macro def_builtin.
8429
8430         (bdesc_comi): Initialise new mask fields.
8431         (bdesc_2srg): Likewise.
8432         (bdesc_1arg): Likewise.
8433
8434         * config/i386/i386.c (ix86_init_builtins): Correct return type
8435         building v4hi_ftype_v4hi_int_int tree node.
8436         (ix86_expand_sse_comi): Fix typo swapping operands.
8437         Don't swap comparision condition, it is already swapped.
8438         (ix86_expand_sse_compare): Before swapping operands
8439         move operand 1 into new rtx and not the target rtx.
8440         Don't swap comparison condition, it is already swapped.
8441         Always check whether we need to create a new TARGET.
8442
8443         * config/i386/i386.md: (sse_comi) Fix typos.
8444         (sse_ucomi): Likewise.
8445         (cvtss2si): Fix operand 0 contraint.
8446         (cvttss2si): Likewise.
8447         (sse_unpckhps): Fix mode for operand 2.
8448         (sse_unpcklps): Likewise.
8449
8450 2001-09-25  Graham Stott  <grahams@redhat.com>
8451
8452         * sibcall.c (skip_copy_to_return_value): Tighten return value
8453         copy check.
8454
8455 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
8456
8457         * rs6000.c (lwa_operand): Address must be word aligned.
8458
8459 Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8460
8461         * tree.c (type_hash_marked_p): Consider as marked if debug symbol
8462         number has been set.
8463         (type_hash_mark): Mark type itself.
8464
8465 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
8466
8467         * c-lex.c (cb_def_pragma): Update.
8468         (c_lex): Update, and skip padding.
8469         * cppexp.c (lex, parse_defined): Update, remove unused variable.
8470         * cpphash.h (struct toklist): Delete.
8471         (union utoken): New.
8472         (struct cpp_context): Update.
8473         (struct cpp_reader): New members eof, avoid_paste.
8474         (_cpp_temp_token): New.
8475         * cppinit.c (cpp_create_reader): Update.
8476         * cpplex.c (_cpp_temp_token): New.
8477         (_cpp_lex_direct): Add PREV_WHITE when parsing args.
8478         (cpp_output_token): Don't print leading whitespace.
8479         (cpp_output_line): Update.
8480         * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
8481         do_include_common, do_line, do_ident, do_pragma,
8482         do_pragma_dependency, _cpp_do__Pragma, parse_answer,
8483         parse_assertion): Update.
8484         (get_token_no_padding): New.
8485         * cpplib.h (CPP_PADDING): New.
8486         (AVOID_LPASTE): Delete.
8487         (struct cpp_token): New union member source.
8488         (cpp_get_token): Update.
8489         * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
8490         (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
8491         replace_args, quote_string, stringify_arg, parse_arg, next_context,
8492         enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
8493         _cpp_backup_tokens, _cpp_create_definition): Update.
8494         (push_arg_context): Delete.
8495         (padding_token, push_token_context, push_ptoken_context): New.
8496         (make_string_token, make_number_token): Update, rename.
8497         (cpp_get_token): Update to handle tokens as pointers to const,
8498         and insert padding appropriately.
8499         * cppmain.c (struct printer): New member prev.
8500         (check_multiline_token): Constify.
8501         (do_preprocessing, cb_line_change): Update.
8502         (scan_translation_unit): Update to handle spacing.
8503         * scan-decls.c (get_a_token): New.
8504         (skip_to_closing_brace, scan_decls): Update.
8505         * fix-header.c (read_scan_file): Update.
8506
8507         * doc/cpp.texi: Update.
8508
8509 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8510
8511         * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
8512         leak by passing malloc'ed pointer to reconcat, not concat.
8513
8514 2001-09-24  DJ Delorie  <dj@redhat.com>
8515
8516         * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
8517
8518 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
8519
8520         * flow.c (delete_dead_jumptables): Delete jumptable if the only
8521         reference is from the literal pool.
8522
8523 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
8524
8525         * doc/install.texi (Final install): Request additional information
8526         in mail about successful builds.
8527
8528 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8529
8530         * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
8531         initial value of return pointer register instead of value in frame-20.
8532         Revise comments.
8533
8534 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8535
8536         * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
8537         (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
8538         the libcall if there isn't a referenced identifier for the symbol.
8539
8540 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8541
8542         * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
8543         non 64-bit machines.  Use these as a plabel for the trampoline.
8544         (TRAMPOLINE_SIZE): Adjust size for new words.
8545         (INITIALIZE_TRAMPOLINE): Initialize new words.
8546         (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
8547         pointer to the plabel in the trampoline.
8548
8549 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8550
8551         * pa.c (function_arg): Pass floating arguments in both general and
8552         floating registers in indirect (dynamic) calls when generating code
8553         for the 32 bit ABI and the HP assembler.
8554
8555 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8556
8557         * doc/install.texi: Markup fixes.
8558         Use Solaris 2, SunOS 4 as appropriate.
8559         (Specific, *-*-solaris2*): Explain this.
8560         Unconditionally warn against /usr/ucb tools.
8561         Remove Sun as warning, obsolete.
8562         Move X11 header bug workaround here, update patches.
8563         (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
8564         (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
8565
8566 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
8567
8568         * errors.h (warning, error, fatal, internal_error): Don't mark
8569         with ATTRIBUTE_PRINTF_n.
8570         * toplev.h (internal_error, fatal_io_error, warning, error,
8571         pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
8572         error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
8573         Likewise.
8574
8575 Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8576
8577         * function.c (pop_function_context_from): var_refs_queue
8578         and temp slots now in GC memory.
8579         (mark_function_status, free_after_compilation): Likewise;
8580         also struct function now in GC memory.
8581         (assign_stack_temp_for_type): struct temp_slot now in GC memory.
8582         (combine_temp_slots): Likewise.
8583         (schedule_fixup_var_refs): var_refs_queue now in GC memory.
8584         (prepare_function_start): Use GC memory for struct function.
8585         (mark_temp_slot): Deleted.
8586         (gcc_mark_struct_function): struct function now in GC memory.
8587
8588         * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
8589         code for division, not modulus.
8590
8591         * rtl.def (MEM): Remove obsolete part of comment.
8592
8593 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
8594
8595         * c-format.c (init_function_format_info): Check __builtin_printf
8596         and __builtin_fprintf even if -ffreestanding.  Check C99 functions
8597         in gnu89 mode.
8598
8599 Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8600
8601         * c-common.c (format_attribute_table): Remove decl.
8602         * tree.h (format_attribute_table, lang_attribute_table): New decls.
8603         (lang_attribute_common): Likewise.
8604
8605         * function.c (fix_lexical_address): Use set_mem_alias_set.
8606         (expand_function_start): Likewise.
8607         * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
8608
8609         * varasm.c (output_constant): Fix unused variable warning.
8610
8611         * attribs.c: New file, from c-common.c.
8612         (attribute_tables): Now four elements.
8613         (format_attribute_table, lang_attribute_common): New variables.
8614         (init_attributes): Reflect above changes.
8615         (handle_mode_attribute): Delete check for wider than uintmax.
8616         * c-common.c: Delete parts moved to attribs.c.
8617         (enum attrs): Deleted; unused.
8618         (c_format_attribute_table): New variable.
8619         (c_common_lang_init): Initialize format_attribute_table with it.
8620         * c-common.h (decl_attributes): Remove decl.
8621         * tree.h (decl_attribute): Move it to here.
8622         * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
8623         (attribs.o): New rule.
8624
8625 2001-09-22  Andreas Jaeger  <aj@suse.de>
8626
8627         * builtins.c (c_getstr): Remove unused variable.
8628
8629 2001-09-21  Richard Henderson  <rth@redhat.com>
8630
8631         * reload1.c (reload): Use delete_insn instead of splatting
8632         NOTE_INSN_DELETED.
8633
8634 2001-09-21  Richard Henderson  <rth@redhat.com>
8635
8636         * reload.c (push_secondary_reload): Don't check for "=" in output
8637         constraint after ""->ALL_REGS check.
8638
8639 2001-09-21  Richard Henderson  <rth@redhat.com>
8640
8641         * predict.c (expected_value_to_br_prob): Use pc_set.
8642
8643         * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
8644         ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
8645
8646 2001-09-21  Richard Henderson  <rth@redhat.com>
8647
8648         * rtl.h (LCT_RETURNS_TWICE): New.
8649         * calls.c (emit_call_1): Set current_function_calls_setjmp for
8650         ECF_RETURNS_TWICE.
8651         (emit_library_call_value_1): Map LCT_RETURNS_TWICE
8652         to ECF_RETURNS_TWICE.
8653         * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
8654         call to setjmp.
8655
8656         * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
8657
8658         * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
8659         (JMP_BUF_SIZE): New.
8660
8661 2001-09-21  Richard Henderson  <rth@redhat.com>
8662
8663         * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
8664         to R8_REGS.
8665
8666 2001-09-21  Richard Henderson  <rth@redhat.com>
8667
8668         * tree.def (FDESC_EXPR): New.
8669         * expr.c (expand_expr): Handle it.
8670         * varasm.c (initializer_constant_valid_p): Likewise.
8671         (output_constant): Likewise.
8672         * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8673         * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8674         (ASM_OUTPUT_FDESC): New.
8675         * doc/tm.texi: Document the new macros.
8676
8677 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
8678
8679         * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
8680         ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
8681         once merging is complete.
8682
8683 Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
8684
8685         * integrate.c (allocate_initial_values): Eliminate unused arg warning.
8686
8687 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
8688
8689         * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
8690         that would be invalid after a merge.
8691
8692 Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
8693
8694         * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
8695         * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
8696         remove some labels.
8697         (flow_delete_insn): This one.
8698         (delete_insn_chain): Rename from ...; do not care labels.
8699         (flow_delete_insn_chain): ... this one.
8700         (flow_delete_block): Remove the insns one BB has been expunged.
8701         (merge_blocks_nomove): Likewise.
8702         (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
8703         updating BB boundaries.
8704         (tidy_fallthru_edge): Likewise.
8705         (commit_one_edge_insertion): Likewise.
8706         * cfgbuild.c (find_basic_block): Likewise.
8707         (find_basic_blocks_1): Likewise.
8708         * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
8709         (try_crossjump_to_edge): Likewise.
8710         (try_optimize_cfg): Likewise.
8711         * cse.c (delete_trivially_dead_insns): Likewise.
8712         * df.c (df_insn_delete): Likewise.
8713         * doloop.c (doloop_modify): Use delete_related_insns.
8714         * emit-rtl.c (try_split): Likewise.
8715         (remove_insn): Update BB boundaries.
8716         * expect.c (connect_post_landing_pads): Use delete_related_insns.
8717         * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
8718         updating BB boundaries.
8719         (propagate_block_delete_insn): Likewise.
8720         (propagate_block_delete_libcall): Likewise.
8721         * function.c (delete_handlers): Use delete_related_insns.
8722         (thread_prologue_and_epilogue_insns): Likewise.
8723         * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
8724         * genpeep.c (gen_peephole): Use delete_related_insns.
8725         * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
8726         BB boundaries.
8727         (find_cond_trap): Likewise.
8728         * integrate.c (save_for_inline): Use delete_related_insns.
8729         (copy_insn_list): Likewise.
8730         * jump.c (pruge_linie_number_notes): Likewise.
8731         (duplicate_loop_exit_test): Likewise.
8732         (delete_computation): Likewise.
8733         (delete_related_insn): Rename from ...; use delete_insn
8734         (delete_insn): ... this one.
8735         (redirect_jump): Use delete_related_insns.
8736         * loop.c (scan_loop): Likewise.
8737         (move_movables): Likewise.
8738         (find_and_verify_loops): Likewise.
8739         (check_dbra_loop): Likewise.
8740         * recog.c (peephole2_optimize): Likewise.
8741         * reg-stack.c (delete_insn_for_stacker): Remove.
8742         (move_for_stack_reg): Use delete_insn.
8743         * regmove.c (combine_stack_adjustments_for_block): Likewise.
8744         * reload1.c (delete_address_reloads): Use delete_related_insns.
8745         (fixup_abnormal_edges): Use delete_insn.
8746         * recog.c (emit_delay_sequence): Use delete_related_insns.
8747         (delete_from-delay_slot): Likewise.
8748         (delete_scheduled_jump): likewise.
8749         (optimize_skip): Likewise.
8750         (try_merge_delay_insns): Likewise.
8751         (full_simple_delay_slots): Likewise.
8752         (fill_slots_from_thread): Likewise.
8753         (relax_delay_slots): Likewise.
8754         (make_return_insns): Likewise.
8755         (dbr_schedule): Likewise.
8756         * rtl.h (delete_insn): Rename to delete_related_insns.
8757         (delete_insn, delete_insn_chain): New prototypes.
8758         * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
8759         by df_insn_delete already.
8760         * ssa-dce.c (delete_insn_bb): Use delete_insn.
8761         * ssa.c (convert_from_ssa): Use delete_related_insns.
8762         * unroll.c (unroll_loop): Likewise.
8763         (calculate_giv_inc): Likewise.
8764         (copy_loop_body): Likewise.
8765
8766         * i386-protos.h (ix86_libcall_value, ix86_function_value,
8767         ix86_function_arg_regno_p, ix86_function_arg_boundary,
8768         ix86_return_in_memory, ix86_function_value): Declare.
8769         * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
8770         new static valurables.
8771         (x86_64_reg_class): New enum
8772         (x86_64_reg_class_name): New array.
8773         (classify_argument, examine_argument, construct_container,
8774          merge_classes): New static functions.
8775         (optimization_options): Enable flag_omit_frame_pointer and disable
8776         flag_pcc_struct_return on 64bit.
8777         (ix86_libcall_value, ix86_function_value,
8778         ix86_function_arg_regno_p, ix86_function_arg_boundary,
8779         ix86_return_in_memory, ix86_function_value): New global functions.
8780         (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
8781         (function_arg_advance): Handle x86_64 passing conventions.
8782         (function_arg): Likewise.
8783         * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
8784         (RETURN_IN_MEMORY): Move offline.
8785         (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
8786         (FUNCTION_VALUE_REGNO_P): New macro.
8787         (FUNCTION_ARG_REGNO_P): Move offline.
8788         (struct ix86_args): Add maybe_vaarg.
8789         * next.h (FUNCTION_VALUE_REGNO_P): Delete.
8790         * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
8791
8792 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
8793
8794         * s390.md: Changed attributes for scheduling.
8795         * s390.c: (s390_adjust_cost, s390_adjust_priority)
8796         Changed scheduling
8797
8798 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
8799
8800         Table-driven attributes.
8801         * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
8802         config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
8803         config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
8804         config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
8805         config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
8806         config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
8807         doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
8808         tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
8809         * tree.h (struct tree_decl): Change machine_attributes to
8810         attributes.
8811         * doc/c-tree.texi: Document that all attributes are now attached
8812         to decls and types.
8813         * c-common.c (add_attribute, attrtab, attrtab_idx,
8814         default_valid_lang_attribute, valid_lang_attribute): Remove.
8815         (attribute_tables, attributes_initialized,
8816         c_common_attribute_table, default_lang_attribute_table): New
8817         variables.
8818         (handle_packed_attribute, handle_nocommon_attribute,
8819         handle_common_attribute, handle_noreturn_attribute,
8820         handle_unused_attribute, handle_const_attribute,
8821         handle_transparent_union_attribute, handle_constructor_attribute,
8822         handle_destructor_attribute, handle_mode_attribute,
8823         handle_section_attribute, handle_aligned_attribute,
8824         handle_weak_attribute, handle_alias_attribute,
8825         handle_no_instrument_function_attribute,
8826         handle_no_check_memory_usage_attribute, handle_malloc_attribute,
8827         handle_no_limit_stack_attribute, handle_pure_attribute): New
8828         functions.
8829         (init_attributes, decl_attributes): Rewrite to implement
8830         table-driven attributes.
8831         * c-common.h (enum attribute_flags): Move to tree.h.
8832         * c-format.c (decl_handle_format_attribute,
8833         decl_handle_format_arg_attribute): Rename to
8834         handle_format_attribute and handle_format_arg_attribute.  Update
8835         for table-driven attributes.
8836         * c-common.h (decl_handle_format_attribute,
8837         decl_handle_format_arg_attribute): Remove prototypes.
8838         (handle_format_attribute, handle_format_arg_attribute): Add
8839         prototypes.
8840         * c-decl.c (grokdeclarator): Handle attributes nested inside
8841         declarators.
8842         * c-parse.in (setattrs, maybe_setattrs): Remove.
8843         (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
8844         Update to handle nested attributes properly.
8845         (maybe_resetattrs, after_type_declarator,
8846         parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
8847         absdcl1_ea, direct_absdcl1): Update to handle nested attributes
8848         properly.
8849         (make_pointer_declarator): Update to handle nested attributes
8850         properly.
8851         * doc/extend.texi: Update documentation of limits of attributes
8852         syntax.  Warn about problems with attribute semantics in C++.
8853         * target.h (struct target): Remove valid_decl_attribute and
8854         valid_type_attribute.  Add attribute_table and
8855         function_attribute_inlinable_p.
8856         * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
8857         TARGET_VALID_TYPE_ATTRIBUTE): Remove.
8858         (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
8859         Add.
8860         (TARGET_INITIALIZER): Update.
8861         * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
8862         definition.
8863         (function_attribute_inlinable_p): New function.  Check for the
8864         presence of any machine attributes before using
8865         targetm.function_attribute_inlinable_p.
8866         (function_cannot_inline_p): Update.
8867         * Makefile.in (integrate.o): Update dependencies.
8868         * doc/tm.texi: Update documentation of target attributes and
8869         example definition of TARGET_VALID_TYPE_ATTRIBUTE.
8870         * tree.c (default_valid_attribute_p, valid_machine_attribute):
8871         Remove.
8872         (default_target_attribute_table,
8873         default_function_attribute_inlinable_p): New.
8874         (lookup_attribute): Update comment to clarify handling of multiple
8875         attributes with the same name.
8876         (merge_attributes, attribute_list_contained): Allow multiple
8877         attributes with the same name but different arguments to appear in
8878         the same attribute list.
8879         * tree.h (default_valid_attribute_p): Remove prototype.
8880         (struct attribute_spec): New.
8881         (default_target_attribute_table): Declare.
8882         (enum attribute_flags): Move from c-common.h.  Add
8883         ATTR_FLAG_TYPE_IN_PLACE.
8884         (default_function_attribute_inlinable_p): Declare.
8885         * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
8886         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8887         (TARGET_ATTRIBUTE_TABLE): Define.
8888         (vms_attribute_table): New.
8889         * config/arc/arc.c (arc_valid_decl_attribute): Remove.
8890         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8891         (TARGET_ATTRIBUTE_TABLE): Define.
8892         (arc_attribute_table, arc_handle_interrupt_attribute): New.
8893         * config/arm/arm.c (arm_valid_type_attribute_p,
8894         arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
8895         Remove.
8896         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8897         define.
8898         (TARGET_ATTRIBUTE_TABLE): Define.
8899         (arm_attribute_table, arm_handle_fndecl_attribute,
8900         arm_handle_isr_attribute): New.
8901         * config/avr/avr.c (avr_valid_type_attribute,
8902         avr_valid_decl_attribute): Remove.
8903         (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
8904         define.
8905         (TARGET_ATTRIBUTE_TABLE): Define.
8906         (avr_attribute_table, avr_handle_progmem_attribute,
8907         avr_handle_fndecl_attribute): New.
8908         * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
8909         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8910         (TARGET_ATTRIBUTE_TABLE): Define.
8911         (c4x_attribute_table, c4x_handle_fntype_attribute): New.
8912         * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
8913         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8914         (TARGET_ATTRIBUTE_TABLE): Define.
8915         (h8300_attribute_table, h8300_handle_fndecl_attribute,
8916         h8300_handle_eightbit_data_attribute,
8917         h8300_handle_tiny_data_attribute): New.
8918         * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
8919         i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
8920         Remove prototypes.
8921         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
8922         declarations.
8923         * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
8924         (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8925         define.
8926         (TARGET_ATTRIBUTE_TABLE): Define.
8927         (ix86_attribute_table, ix86_handle_cdecl_attribute,
8928         ix86_handle_regparm_attribute): New.
8929         * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
8930         i386_pe_valid_type_attribute_p): Remove.
8931         (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
8932         * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
8933         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8934         (TARGET_ATTRIBUTE_TABLE): Define.
8935         (ia64_attribute_table): New.
8936         * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
8937         interrupt_ident2, model_ident1, model_ident2): Remove.
8938         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8939         (TARGET_ATTRIBUTE_TABLE): Define.
8940         (init_idents): Update.
8941         (m32r_attribute_table, m32r_handle_model_attribute): New.
8942         * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
8943         Remove.
8944         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8945         (TARGET_ATTRIBUTE_TABLE): Define.
8946         (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
8947         * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
8948         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8949         (TARGET_ATTRIBUTE_TABLE): Define.
8950         (mcore_attribute_table, mcore_handle_naked_attribute): New.
8951         * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
8952         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8953         (TARGET_ATTRIBUTE_TABLE): Define.
8954         (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
8955         * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
8956         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8957         (TARGET_ATTRIBUTE_TABLE): Define.
8958         (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
8959         * config/sh/sh.c (sh_valid_decl_attribute): Remove.
8960         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8961         (TARGET_ATTRIBUTE_TABLE): Define.
8962         (sh_attribute_table, sh_handle_interrupt_handler_attribute,
8963         sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
8964         New.
8965         * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
8966         Remove.
8967         (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
8968         (TARGET_ATTRIBUTE_TABLE): Define.
8969         (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
8970         New.
8971         * config/v850/v850.c (v850_valid_decl_attribute): Remove.
8972         (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8973         (TARGET_ATTRIBUTE_TABLE): Define.
8974         (v850_attribute_table, v850_handle_interrupt_attribute,
8975         v850_handle_data_area_attribute): New.
8976         * config/v850/v850-c.c (mark_current_function_as_interrupt):
8977         Return void.  Call decl_attributes instead of
8978         valid_machine_attribute.
8979
8980 Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
8981
8982         * sh-protos.h (sh_pr_n_sets): Declare.
8983         * sh.c (calc_live_regs): If the initial value for PR has been copied,
8984         look at the copy to determine if PR needs to be saved.
8985         sh_pr_n_sets: New function.
8986         * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
8987         (ALLOCATE_INITIAL_VALUE): Define.
8988
8989         * sh.c (initial_elimination_offset):
8990         Fix RETURN_ADDRESS_POINTER_REGNUM case.
8991
8992 Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
8993
8994         * integrate.c (allocate_initial_values): New function.
8995         * integrate.h (allocate_initial_values): Declare.
8996         * local-alloc.c (local_alloc): Move call to allocate_reg_info from
8997         here...
8998         * reload1.c (reload): And initialization of reg_equiv_memory_loc
8999         from here...
9000         * toplev.c (rest_of_compilation): To here.
9001         Call allocate_initial_values.
9002         * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
9003
9004 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9005
9006         * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
9007
9008 2001-09-20  DJ Delorie  <dj@redhat.com>
9009
9010         * c-typeck.c (really_start_incremental_init): Discriminate
9011         between zero-length arrays and flexible arrays.
9012         (push_init_level): Detect zero-length arrays and handle them
9013         like fixed-sized arrays.
9014         * expr.c (store_constructor): Handle zero-length arrays and
9015         flexible arrays correctly.
9016         * doc/extend.texi: Update zero-length array notes.
9017
9018 2001-09-20  Jim Wilson  <wilson@redhat.com>
9019
9020         * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
9021         (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
9022         for issue port conflicts.
9023         (cycle_end_fill_slots): TYPE_L instructions take two slots.
9024
9025 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
9026
9027         * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
9028         on ia64.
9029
9030 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9031
9032         * fold-const.c (hashtab.h): Include.
9033         (int_const_binop): Remove FORSIZE arg and compute from type; all
9034         callers changed.
9035         Call size_int_type_wide for all single-word constants.
9036         (size_htab_hash, size_htab_eq): New functions.
9037         (size_int_type_wide): Rework to use hash table.
9038         * ggc-common.c (hashtab.h): Include.
9039         (struct d_htab_root): New struct.
9040         (d_htab_roots): New variable.
9041         (ggc_add_deletable_htab, ggc_htab_delete): New functions
9042         (ggc_mark_roots): Handle deletable htabs.
9043         * ggc-page.c (ggc_marked_p): New function.
9044         * ggc-simple.c (ggc_marked_p): Likewise.
9045         * ggc.h: Reformatting throughout.
9046         (ggc_marked_p, ggc_add_deletable_htab): New declarations.
9047         * tree.c (init_obstacks): Make type_hash_table a deletable root.
9048         (type_hash_add): Allocate struct type_hash from GC memory.
9049         (mark_hash_entry, mark_type_hash): Deleted.
9050         (type_hash_marked_p, type_hash_mark): New functions.
9051         * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
9052
9053 Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
9054
9055         * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
9056         than SImode.
9057
9058 Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
9059
9060         * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
9061         array-too-large test for signed sizetype.
9062
9063 Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
9064
9065         * i386.md (indirect_jump): Allow Pmode operand.
9066         (tablejump): LIkewise; perform expansion to 64bit mode.
9067         * i386.c (symbolic_operand): Allow 64bit PIC references.
9068         (pic_symbolic_operand): Likewise.
9069         (ix86_find_base_term): Strip the 64bit PIC references.
9070         (legitimate_pic_address_disp_p): Handle 64bit PIC.
9071         (legitimize_pic_address): Likewise.
9072         (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
9073         * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
9074
9075 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
9076
9077         * stringpool.c (get_identifier_with_length): New function.
9078         * tree.h (get_identifier_with_length): New prototype.
9079
9080 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
9081             David Edelsohn  <edelsohn@gnu.org>
9082
9083         Revert:
9084         * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
9085         already sign-extended.
9086
9087         * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
9088         * config/rs6000/rs6000.c (logical_operand): Always compare op as
9089         HOST_WIDE_INT.
9090         (rs6000_emit_set_long_const): Avoid unnecessary shift.
9091         (output_profile_hook): Declare label_name const.
9092         * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
9093         to match constraints.
9094
9095 2001-09-19  Stan Shebs  <shebs@apple.com>
9096
9097         * alias.c: Fix typos in comments.
9098         * sched-rgn.c (init_ready_list): Ditto.
9099         * unwind-dw2.c (uw_frame_state_for): Ditto.
9100         * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
9101         * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
9102         * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
9103
9104 2001-09-19  Richard Henderson  <rth@redhat.com>
9105
9106         * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
9107         to the exit block.
9108         * Makefile.in (cfg.o): Depend on TM_P_H.
9109
9110 2001-09-19  Richard Henderson  <rth@redhat.com>
9111
9112         * config/alpha/alpha.c (local_symbol_p): Split out from ...
9113         (local_symbolic_operand): ... here.
9114         (small_symbolic_operand): Check mode.
9115         (global_symbolic_operand): New.
9116         (input_operand): Reject symbolics if explicit relocs.
9117         (call_operand): Tidy.
9118         (alpha_legitimize_address): Use movdi_er_high_g.
9119         (alpha_expand_mov): Likewise.
9120         * config/alpha/alpha-protos.h: Update.
9121         * config/alpha/alpha.h (PREDICATE_CODES): Update.
9122         * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
9123         (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
9124         (UNSPECV_LDGP2): Remove.
9125         (all call patterns): Use 's' not 'i' for symbolic constraint.
9126         (call_osf call_value_osf): Use call_operand.
9127         (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
9128         (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
9129         (prologue_ldgp_1_er): Remove.
9130         (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
9131         (builtin_setjmp_receiver_er patterns): Use them.
9132         (exception_receiver_er): Likewise.
9133
9134 2001-09-19  Richard Henderson  <rth@redhat.com>
9135
9136         * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
9137
9138         * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
9139         and NON_LOCAL_GOTO notes.
9140         * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
9141         copy over CALL_INSN_FUNCTION_USAGE.
9142
9143 2001-09-18  Catherine Moore  <clm@redhat.com>
9144
9145         * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
9146         Define as 0.
9147
9148 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
9149
9150         * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
9151         new-style tm_file specification.  Specify correct tm_p_file,
9152         md_file, and out_file for s390x.
9153
9154         * config/s390/linux.h, linux64.h:  Don't include other target
9155         macro header files.  Now handled via tm_file.
9156
9157         * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
9158         TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
9159         are defined before use.
9160
9161 Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
9162
9163         * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
9164         code generation only for Gnu assembler.
9165
9166 2001-09-18  Catherine Moore  <clm@redhat.com>
9167
9168         * config/stormy16 (LIB_SPEC): Remove -lnosys.
9169
9170 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
9171
9172         * config/mips/mips.c (mips_frame_set): New.
9173         (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
9174         a parallel frame-related expression with a set for each register.
9175
9176 2001-09-18  Philip Blundell  <philb@gnu.org>
9177
9178         * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
9179         header files.
9180
9181 2001-09-17  Dale Johannesen  <dalej@apple.com>
9182
9183         * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
9184         * config/rs6000/aix.h (FIXED_R2): Define.
9185         * config/rs6000/darwin.h (FIXED_R2): Define.
9186         * config/rs6000/sysv4.h (FIXED_R2): Define.
9187
9188 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
9189
9190         * except.c (dw2_build_landing_pads): New local
9191         clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
9192         barrier after clobbers.  Fixes c++/4012.
9193
9194 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9195
9196         * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
9197
9198 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
9199
9200         * dostage2, dostage3, listing, make-l2.com, makefile.vms,
9201         patch-apollo-includes, vmsconfig.com: Remove obsolete files.
9202
9203 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9204
9205         * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
9206         alloca/strcpy.
9207
9208 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
9209
9210         * cpphash.h (_cpp_lex_direct): New.
9211         * cpplex.c (_cpp_lex_token): Update.
9212         (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
9213         and increment that pointer.
9214         * cppmacro.c (alloc_expansion_token): New.
9215         (lex_expansion_token): Lex macro expansion directly into
9216         macro storage.
9217
9218 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
9219
9220         * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
9221
9222 Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
9223
9224         * basic-block.h (free_bb_for_insn): Declare.
9225         * bb-reorder.c (label_for_bb): Use block_label.
9226         (emit_jump_to_block_after): Remove.
9227         (insert_intra_1): Do not update block_for_insn.
9228         (insert_inter_bb_scope_notes): Likewise; update bb->end
9229         * cfg.c (free_bb_for_insn): New.
9230         (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
9231         (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
9232         (commit_one_edge_insertion): Likewise.
9233         (commit_one_edge_insertion): Do not update BB boundary.
9234         (commit_edge_insertions): Do not call compute_bb_for_insn.
9235         * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
9236         * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
9237         (merge_blocks_move_successor_nojumps): Likewise.
9238         (try_crossjump_to_edge): Do not update block_for_insn.
9239         * combine.c (combine_instructions): Remove compute_bb_for_insn call.
9240         * df.c (df_pattern_emit_later): Do not update BB boundary.
9241         (df_jump_pattern_emit_after): Likewise.
9242         (df_insn_move_before): Use emit_insn_before.
9243         * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
9244          properly.
9245         (add_insn_after, add_insn_before, emit_insns_after): Update BB
9246         boundaries and basic_block_for_insn.
9247         (reorder_insns_nobb): Rename from reorder_insns.
9248         (reorder_insns): New.
9249         (emit_block_insn_before, emit_block_insn_after): Kill.
9250         * flow.c (check_function_return_warnings): Do not call
9251         compute_bb_for_insn; Do not free basic_block_for_insn.
9252         (attempt_auto_inc): Do not update basic_block_for_insn.
9253         * function.c (emit_return_into_block): Likewise;
9254         do not update BB boundaries.
9255         * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
9256         (insert_insn_end_bb): Use emit_insn_before; Likewise.
9257         (pre_insert_copy_insn): Likewise.
9258         (update_ld_motion_notes): Likewise.
9259         (insert_insn_start_bb): Likewise.
9260         (replace_store_insn): Likewise.
9261         * ifcvt.c (noce_process_if_block): Likewise.
9262         (if_convert): Do not call compute_bb_for_insn.
9263         * lcm.c (optimize_mode_switching): Do not update BB boundaries.
9264         Use emit_insn_before and emit_insn_after.
9265         * recog.c (split_all_insns): Do not update BB boundaries;
9266         Do not call compute_bb_for_insn.
9267         (peephole2_optimize): Do not update BB boundaries.
9268         * reg-stack.c (emit_pop_insn): Use emit_insn_after and
9269         emit_insn_before.
9270         (emit_swap_insn): Likewise.
9271         (convert_regs_1): Likewise.
9272         * reload1.c (reload): Call compute_bb_for_insn.
9273         * rtl.h (reorder_insns_nobb): Declare.
9274         * ssa.c (rename_equivalent_regs): Use emit_insn_before.
9275         * toplev.c (rest_of_compilation): Call free_bb_for_insn
9276         at places CFG is invalidated; do not call compute_bb_for_insn.
9277
9278         * cfg.c (expunge_block): Invalidate BB structure.
9279
9280         * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
9281         array.
9282
9283         * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
9284
9285 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9286
9287         * cpphash.h (_cpp_lex_token): Update prototype.
9288         * cpplex.c (_cpp_lex_token): New prototype.
9289         * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
9290         lex_macro_node, read_flag, do_pragma_poison): Update.
9291         * cppmacro.c (cpp_get_token, parse_params,
9292         lex_expansion_token): Update.
9293
9294 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
9295
9296         * cppmain.c (scan_translation_unit): Don't worry about
9297         putting a space after hashes.
9298         * cpplib.c (directive_diagnostics): New.
9299         (_cpp_handle_directive): Update to use directive_diagnostics.
9300         (run_directive): Don't toggle prevent_expansion.
9301         (do_line): Backup in case of the line extension.
9302         * cpplib.h (cpp_lexer_pos): Remove.
9303         * cppmacro.c (_cpp_create_definition): Precede a leading #
9304         with whitespace.
9305
9306 2001-09-15  Richard Henderson  <rth@redhat.com>
9307
9308         * c-typeck.c (comptypes): Handle zero-length arrays properly.
9309
9310 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9311
9312         * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
9313
9314 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9315
9316         PR preprocessor/3571
9317         * tradcpp.c (handle_directive): Skip non-vertical space.
9318
9319 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9320
9321         * cppmain.c (setup_callbacks): Set line callback only
9322         if outputting preprocessed source.
9323
9324 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9325
9326         * collect2.c (main): Const-ification.
9327         * gcc.c (translate_options, process_command): Use xstrdup in
9328         lieu of xmalloc/strcpy.
9329         (main): Use concat in lieu of xmalloc/strcpy/strcat.
9330
9331 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9332
9333         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
9334         example.
9335
9336 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9337
9338         * scan-decls.c (scan_decls): Fix typo.
9339
9340 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
9341
9342         * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
9343         Split mlstring_pos into mls_line and mls_col.
9344         * cppinit.c (cpp_create_reader): Initialize line to 1.
9345         (cpp_destroy): Free tokenruns.
9346         (push_include): Don't update lexer_pos.
9347         * cpplex.c (unterminated, parse_string): Update.
9348         (lex_token): Don't update lexer_pos, update.
9349         * cpplib.c (if_stack): Save line instead of line + col.
9350         (start_directive, _cpp_do__Pragma, do_else, do_elif,
9351         push_conditional, _cpp_pop_buffer): Update.
9352         * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
9353         (_cpp_create_definition): Update.
9354
9355 2001-09-15  Eric Christopher  <echristo@redhat.com>
9356
9357         * config/mips/abi64.h: Add support for MEABI.
9358
9359 2001-09-15  Eric Christopher  <echristo@redhat.com>
9360
9361         * config/mips/mips.md: Add unspec #2.
9362         (reload_indi): Use.
9363         (reload_outdi): Ditto.
9364         (reload_outsi): Ditto.
9365         (HILO_delay): New.
9366
9367 2001-09-15  Eric Christopher  <echristo@redhat.com>
9368             Jason Eckhardt  <jle@redhat.com>
9369
9370         * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
9371         * config/mips/isa32-linux.h: New file.
9372         * config/mips/isa3264.h: Ditto.
9373         * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
9374         * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
9375         (output_block_mode): Support MEABI.
9376         (function_arg): Ditto. Fix floating point arg passing.
9377         (mips_va_start): Ditto.
9378         (override_options): Add isas 32 and 64, meabi, mips32 and mips64
9379         processors.
9380         (mips_asm_file_start): Add new section to pass abi to gdb.
9381         (function_arg_pass_by_reference): Support MEABI.
9382         (mips_parse_cpu): Support mips32 and mips64 processors.
9383         * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
9384         TARGET_MIPS5KC.  Support isa32 and isa64.
9385         (processor_type): Add r4kc, r5kc, r20kc.
9386         (GENERATE_MULT3_SI): New.
9387         (GENERATE_MULT3_DI): Ditto.
9388         (GENERATE_MULT3): Remove.
9389         (ISA_HAS_64BIT_REGS): Add isa == 64.
9390         (ISA_HAS_8CC): Add mips_isa = 32 and 64.
9391         (ISA_HAS_MADD_MSUB): New.
9392         (ISA_HAS_CLZ_CLO): Ditto.
9393         (ISA_HAS_DCLZ_DCLO): Ditto.
9394         (ABI_GAS_ASM_SPEC): New.
9395         (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
9396         (ASM_SPEC): Ditto.
9397         (LINK_SPEC): Ditto.
9398         (SUBTARGET_CC1_SPEC): Ditto.
9399         (SUBTARGET_CPP_SIZE_SPEC): Ditto.
9400         (PAD_VARARGS_DOWN): Support MEABI.
9401         (HARD_REGNO_NREGS): Move to mips.c.
9402         (ASM_OUTPUT_IDENT): Add #undef.
9403         * config/mips/mips.md: Add r4kc, r5kc, r20kc.
9404         (mulsi3): Use GENERATE_MULT3_SI.
9405         (mulsi3_mult3): Ditto.  Support mips32, mips64.
9406         (mul_acc_si): Use ISA_HAS_MADD_MSUB.
9407         (mul_sub_si): New pattern.
9408         (unnamed splitters): New.
9409         (muldi3): Use GENERATE_MULT3_DI.
9410         (muldi3_internal2): Ditto.
9411         (movdicc): Support mips32.
9412         * config/mips/t-isa3264: New file.
9413
9414 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
9415
9416         * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
9417         || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
9418         || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
9419
9420         * reorg.c (fill_slots_from_thread): After call to
9421         steal_delay_list_from_target, update own_thread as new_thread may
9422         have branched.
9423
9424 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
9425
9426         * cpperror.c (print_location): Take line and column, for
9427         default positioning use the previously lexed token.
9428         (_cpp_begin_message): Take line and column.
9429         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9430         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9431         * cpphash.h (_cpp_begin_message): Update prototype.
9432         * cppinit.c (push_include): Don't set output line.
9433         * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
9434         * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
9435         (do_pragma): Kludge for front ends.  Don't expand macros at all.
9436         * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
9437         (struct cpp_token): Remove output_line.
9438         (struct cpp_callbacks): New member line_change.
9439         * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
9440         cpp_get_token): Preserve BOL flag.
9441         (cpp_get_line): Remove.
9442         (_cpp_backup_tokens): Remove useless abort().
9443         * cppmain.c (cb_line_change): New.
9444         (scan_translation_unit): Don't worry about starting new lines here.
9445         * scan-decls.c (scan_decls): Update.
9446         * c-lex.c (c_lex, init_c_lex): Update.
9447         (cb_line_change, src_lineno): New.
9448
9449 Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
9450
9451         * tree.c (append_random_chars): Generate the random
9452         characters in a reproducable fashion.
9453
9454 2001-09-14  Richard Henderson  <rth@redhat.com>
9455
9456         * config/i386/i386.c (internal_label_prefix): New.
9457         (internal_label_prefix_len): New.
9458         (override_options): Set them.
9459         (local_symbolic_operand): New.
9460         (legitimate_pic_address_disp_p): Use it.
9461         (legitimize_pic_address): Likewise.
9462
9463 2001-09-14  Marc Espie <espie@openbsd.org>
9464
9465         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
9466         correctly.
9467
9468 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9469
9470         * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
9471         * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
9472
9473 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
9474
9475         * rtlanal.c (subreg_regno_offset): Add semicolon to end of
9476         invocation of SUBREG_REGNO_OFFSET.
9477
9478         * haifa-sched.c: Fix typo in FSF copyright statement.
9479         * sched-deps.c: Fix typo in FSF copyright statement.
9480         * sched-ebb.c: Fix typo in FSF copyright statement.
9481         * sched-rgn.c: Fix typo in FSF copyright statement.
9482         * sched-vis.c: Fix typo in FSF copyright statement.
9483
9484         * config.gcc: Move inclusion of arm elf specific header files
9485         from the files themselves into the tm_file variable.  Make
9486         sure that elfos.h is included before target specific elf
9487         headers.
9488         * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
9489         already defined.
9490         (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
9491         * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
9492         ASM_OUTPUT_CASE_LABEL): Protect definition.
9493         (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
9494         not already defined.
9495         * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
9496         LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
9497         Remove duplicate definition.
9498         (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
9499         (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
9500         (RDATA_SECTION_FUNCTION): Remove redundant definition.
9501         (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
9502         Remove inclusion of arm/elf.h.
9503         * config/arm/unknown-elf.h: as for conix-elf.h.
9504         (STARTFILE_SPEC): Include crti.o and crtn.o.
9505         * config/arm/linux-elf.h: as for conix-elf.h.
9506         * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
9507         * config/arm/strongarm-elf.h: Remove inclusion of
9508         unknown-elf.h.
9509         * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
9510         * config/arm/unknown-elf-oabi.h: Remove inclusion of
9511         unknown-elf.h and elf.h.
9512         * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
9513         * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
9514         ASM_WEAKEN_LABEL): Remove redundant definition.
9515         * config/arm/elf.h: Test for inclusion of elfos.h
9516         (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
9517         ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
9518         SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
9519         EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
9520         redundant definition.
9521         (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
9522         ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
9523         ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
9524         * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
9525         Add rules to build crti.o and crtn.o
9526         * crti.asm: New file.
9527         * crtn.asm: New file.
9528
9529 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
9530
9531         * c-parse.in (_yylex): Use _cpp_backup_tokens.
9532         * cpphash.h (struct tokenrun): Add prev.
9533         (struct lexer_state): Remove bol.
9534         (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
9535         (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
9536         : Remove.
9537         * cppinit.c (cpp_create_reader): Don't set bol.
9538         (cpp_destroy): Don't free lookaheads.
9539         * cpplex.c (lex_directive): Remove.
9540         (next_tokenrun): Update.
9541         (_cpp_lex_token): Clean up logic.
9542         (lex_token): Update to return a pointer to lexed token, since it
9543         can move to the start of the buffer.  Simpify newline handling.
9544         * cpplib.c (SEEN_EOL): Update.
9545         (skip_rest_of_line): Remove lookahead stuff.
9546         (end_directive): Line numbers are already incremented.  Revert
9547         to start of lexed token buffer if we can.
9548         (_cpp_handle_directive, do_pragma, do_pragma_dependency,
9549         parse_answer): Use _cpp_backup_tokens.
9550         (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
9551         instead.  Don't check for EOL.
9552         (do_include_common, do_line, do_pragma_system_header): Use
9553         skip_rest_of_line.
9554         * cpplib.h (BOL, _cpp_backup_tokens): New.
9555         * cppmacro.c (save_lookahead_token, take_lookahead_token,
9556         alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
9557         cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
9558         (builtin_macro): Don't use cpp_get_line.
9559         (cpp_get_line): Short term kludge.
9560         (parse_arg): Handle directives in arguments here.  Back up when
9561         appropriate.  Store EOF at end of argument list.
9562         (funlike_invocation_p): Use _cpp_backup_tokens.
9563         (push_arg_context): Account for EOF at end of list.
9564         (cpp_get_token): Remove lookahead stuff.  Update.
9565
9566 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9567
9568         * c-parse.in (yyerror): Const-ification and/or static-ization.
9569         * c-typeck.c (push_member_name): Likewise.
9570         * collect2.c (main): Likewise.
9571         * dbxout.c (dbxout_parms): Likewise.
9572         * diagnostic.c (format_with_decl): Likewise.
9573         * dwarf2out.c (output_ranges): Likewise.
9574         * dwarfout.c (fundamental_type_code): Likewise.
9575         * except.c (dw2_output_call_site_table): Likewise.
9576         * gcc.c (do_spec_1): Likewise.
9577         * genopinit.c (optabs): Likewise.
9578         * objc/objc-act.c (synth_id_with_class_suffix, start_class,
9579         gen_declaration_1, handle_impent): Likewise.
9580         * protoize.c (default_include, in_system_include_dir, abspath):
9581         Likewise.
9582         * sched-vis.c (visualize_stall_cycles): Likewise.
9583         * sdbout.c (plain_type_1, sdbout_end_function,
9584         sdbout_end_epilogue): Likewise.
9585         * varasm.c (decode_reg_name): Likewise.
9586
9587         * 1750a.c (mod_regno_adjust): Likewise.
9588         * alpha.c (alpha_write_one_linkage,
9589         unicosmk_output_default_externs): Likewise.
9590         * arm.c (arm_condition_codes): Likewise.
9591         * arm.h (arm_condition_codes): Likewise.
9592         * avr.c (output_movsisf, encode_section_info): Likewise.
9593         * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
9594         Likewise.
9595         * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9596         * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9597         * m88k.c (output_function_profiler): Likewise.
9598         * mips.c (mips_output_conditional_branch): Likewise.
9599         * ns32k.c (ns32k_out_reg_names): Likewise.
9600         * ns32k.h (ns32k_out_reg_names): Likewise.
9601         * pj.c (pj_output_rval): Likewise.
9602         * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
9603         * sparc.c (sparc_flat_function_prologue,
9604         sparc_flat_function_epilogue): Likewise.
9605
9606 2001-09-13  Markus Werle <numerical.simulation@web.de>
9607             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9608
9609         * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
9610         Aachen University of Technology".
9611
9612 2001-09-13  Andreas Schwab  <schwab@suse.de>
9613
9614         * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
9615         C99.
9616
9617 2001-09-13  Richard Henderson  <rth@redhat.com>
9618
9619         * config/alpha/alpha.c (small_symbolic_operand): New.
9620         (override_options): Set MASK_SMALL_DATA based on pic/PIC.
9621         (some_operand, input_operand): Don't handle HIGH.
9622         (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
9623         (alpha_expand_mov): Likewise.
9624         (print_operand) [H]: Just print HIGH symbol.
9625         (print_operand_address): Handle small data.
9626         * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
9627         (TARGET_SWITCHES): Add -msmall-data/large-data.
9628         (PIC_OFFSET_TABLE_REGNUM): New.
9629         (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
9630         (PREDICATE_COES): Update.
9631         * config/alpha/alpha.md (adddi_er_high): New.
9632         (adddi_er_low): Handle small data.
9633         * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
9634         prefer .sdata to .rodata.
9635         (SELECT_RTX_SECTION): Likewise.
9636
9637 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
9638
9639         * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
9640         defining __size_t and leaving size_t undefined.
9641
9642 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
9643
9644         * basic-block.h (expunge_block): Declare.
9645         * cfg.c (expunge_block): Remove static declaration.
9646
9647 2001-09-12  Richard Henderson  <rth@redhat.com>
9648
9649         * integrate.c (copy_insn_list): Copy label name from
9650         NOTE_INSN_DELETED_LABEL.
9651
9652 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9653
9654         * c-common.c (c_tree_code_name): Const-ification.
9655         * c-decl.c (c_decode_option): Likewise.
9656         * c-typeck.c (warn_for_assignment): Likewise.
9657         * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
9658         Likewise.
9659         * cppinit.c (output_deps): Likewise.
9660         * dependence.c (dependence_string, direction_string): Likewise.
9661         * dwarf2out.c (output_ranges): Likewise.
9662         * fixinc/fixfixes.c (emit_gnu_type): Likewise.
9663         * fixinc/gnu-regex.c (re_error_msgid): Likewise.
9664         * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
9665         standard_startfile_prefix, standard_startfile_prefix_1,
9666         standard_startfile_prefix_2, tooldir_base_prefix,
9667         standard_bindir_prefix, find_a_file): Likewise.
9668         * genattrtab.c (make_length_attrs): Likewise.
9669         * gencheck.c (tree_codes): Likewise.
9670         * genemit.c (gen_split): Likewise.
9671         * genrecog.c (special_mode_pred_table): Likewise.
9672         * graph.c (graph_ext): Likewise.
9673         * protoize (default_include): Likewise.
9674         * reload.c (reload_when_needed_name): Likewise.
9675         * sched-vis.c (visualize_stall_cycles): Likewise.
9676         * tlink.c (recompile_files): Likewise.
9677         * toplev.c (decode_g_option): Likewise.
9678         * tradcpp.c (output_deps): Likewise.
9679         * varasm.c (decode_reg_name): Likewise.
9680
9681         * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
9682         Const-ification.
9683         * arm.md: Likewise.
9684         * avr.c (avr_regnames, encode_section_info): Likewise.
9685         * c4x.c (float_reg_names): Likewise.
9686         * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
9687         * elfos.h (const_section): Likewise.
9688         * i386.c (ix86_comp_type_attributes): Likewise.
9689         * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
9690         * ia64/aix.h (UNIQUE_SECTION): Likewise.
9691         * ia64.c (type_names): Likewise.
9692         * m68hc11.c (reg_class_names): Likewise.
9693         * m88k.c (m_options): Likewise.
9694         * mips.c (mips_output_conditional_branch, mips_unique_section):
9695         Likewise.
9696         * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9697         * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
9698         ultra_code_names): Likewise.
9699         * sparc.h (OVERRIDE_OPTIONS): Likewise.
9700
9701 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
9702
9703         * configure.in (gcc_cv_as_shf_merge): Fix a typo.
9704         Use --fatal-warnings option for gas.
9705         * configure: Rebuilt.
9706
9707 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9708
9709         * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
9710
9711 2001-09-11  Jim Wilson  <wilson@redhat.com>
9712
9713         * alias.c (clear_reg_alias_info): Only handle pseudo registers.
9714
9715 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
9716
9717         * builtins.c (c_strlen): Treat an offset too large for a
9718         HOST_WIDE_INT as out of range.
9719
9720 Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
9721
9722         * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
9723         (EDGE_CRITICAL_P): New predicate.
9724         * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
9725         handling.
9726         (insert_insn_on_edge): Use EDGE_CRITICAL_P.
9727         (dump_edge_info): Remove "crit".
9728         * cfganal.c (mark_critical_edges): Kill.
9729         * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
9730         * cfgcleanup.c (cleanup_cfg): Likewise.
9731         * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
9732         (find_spanning_tree): Likewise.
9733         * reg-stack.c (convert_regs_1): Likewise.
9734         * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
9735
9736         * basic-block.h (create_basic_block_structure): New.
9737         (create_basic_block): Update prototype.
9738         (force_nonfallthru): New.
9739         * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
9740         * cfg.c (create_basic_block_structure): Rename from create_basic_block;
9741         handle updating of block_for_insn, creating of empty BBs and BBs at
9742         the end of INSN chain.
9743         (create_basic_block): New function.
9744         (split_block): Use create_basic_block.
9745         (force_nonfallthru_and_redirect): Break out from ...; cleanup
9746         (redirect_edge_and_branch_force): ... here.
9747         (force_nonfallthru): New.
9748         (split_edge): Rewrite to use force_nonfallthru and create_block.
9749         * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
9750         (find_basic_blocks): Free basic_block_for_insn.
9751         * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
9752
9753         * cfg.c: Fix formating.
9754         * cfgcleanup.c: Fix formating.
9755         (merge_blocks, tail_recursion_label_p): Return bool.
9756         (merge_blocks_move_predecessor_nojumps,
9757          merge_blocks_move_successor_nojumps): Return void.
9758
9759 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
9760
9761         * configure.in: Check whether assembler supports section merging.
9762         * config.in: Rebuilt.
9763         * configure: Rebuilt.
9764         * varasm.c (variable_section, output_constant_pool): Pass alignment
9765         to SELECT_SECTION and SELECT_RTX_SECTION.
9766         (mergeable_string_section): New.
9767         (mergeable_constant_section): New.
9768         (default_elf_asm_named_section): Output SECTION_MERGE and
9769         SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9770         * output.h (mergeable_string_section): New.
9771         (mergeable_constant_section): New.
9772         (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
9773         * toplev.c (flag_merge_constants): New.
9774         (f_options): Add -fmerge-constants and -fmerge-all-constants
9775         options.
9776         (toplev_main): Default to -fno-merge-constants if not optimizing.
9777         * flags.h (flag_merge_constants): Add extern.
9778         * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
9779         * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
9780         argument.
9781         * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
9782         Define if assembler has working .subsection -1 support.
9783         (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
9784         Put constant into special SHF_MERGE sections if the linker should
9785         attempt to merge duplicates.
9786         * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
9787         macro argument.
9788         Put constant into special SHF_MERGE sections if the linker should
9789         attempt to merge duplicates.
9790         * config/alpha/elf.h: Likewise.
9791         (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
9792         has working .subsection -1 support.
9793         * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
9794         SELECT_SECTION.
9795         * config/svr3.h: Likewise.
9796         * config/darwin.h: Likewise.
9797         * config/arm/aof.h: Likewise.
9798         * config/arm/linux-elf.h: Likewise.
9799         * config/avr/avr.h: Likewise.
9800         * config/c4x/c4x.h: Likewise.
9801         * config/d30v/d30v.h: Likewise.
9802         * config/i386/dgux.h: Likewise.
9803         * config/i386/osfrose.h: Likewise.
9804         * config/i386/sco5.h: Likewise.
9805         * config/i386/svr3gas.h: Likewise.
9806         * config/ia64/aix.h: Likewise.
9807         * config/m32r/m32r.h: Likewise.
9808         * config/m68k/m68k.h: Likewise.
9809         * config/m88k/dgux.h: Likewise.
9810         * config/m88k/m88k.h: Likewise.
9811         * config/mcore/mcore-pe.h: Likewise.
9812         * config/mips/mips.h: Likewise.
9813         * config/pa/pa.h: Likewise.
9814         * config/pa/pa-linux.h: Likewise.
9815         * config/romp/romp.h: Likewise.
9816         * config/rs6000/sysv4.h: Likewise.
9817         * config/rs6000/xcoff.h: Likewise.
9818         * config/s390/linux.h: Likewise.
9819         * config/sparc/sparc.h: Likewise.
9820         * config/sparc/sysv4.h: Likewise.
9821         * config/stormy16/stormy16.h: Likewise.
9822         * config/v850/v850.h: Likewise.
9823         * config/vax/vms.h: Likewise.
9824         * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
9825         and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9826         * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
9827         default_elf_asm_named_section for SHF_MERGE sections.
9828
9829 Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
9830
9831         * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
9832         is OK.
9833
9834 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
9835
9836         * c-common.c (split_specs_attrs): Allow for empty attributes with
9837         empty TREE_PURPOSE.  Fixes PR c/4294.
9838
9839 Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
9840
9841         * basic-block.h (cached_make_edge, make_single_succ): New.
9842         (make_edge): Remove first parameter.
9843         * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
9844         * cfg.c (cached_make_edge): Rename from make_edge; return newly
9845         created edge; use obstack allocation.
9846         (make_edge, make_single_succ_edge): New.
9847         (first_removed_edge): New static variable.
9848         (init_flow): Initialize first_removed_edge and n_edges.
9849         (clear_edges): Use remove_edge.
9850         (flow_delete_block): Likewise.
9851         (remove_edge): Add removed edges to the removed edges list.
9852         (split_block, redirect_edge_and_branch_force, split_edge):
9853         Use make_edge.
9854         * cfganal.c (flow_call_edges_add): Updaet make_edge call.
9855         (add_noreturn_fake_exit_edges): Likewise.
9856         (connect_infinite_loops_to_exit): Liekwise.
9857         * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
9858         Use cached_make_edge.
9859         * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
9860         * profile.c (branch_prob): Update make_edge call.
9861         * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
9862
9863 2001-09-11  Richard Henderson  <rth@redhat.com>
9864
9865         * config/alpha/alpha.c: Tidy formatting.
9866         (local_symbolic_operand): Verify mode.
9867         (alpha_sa_mask): Ignore unicos for eh_return.
9868         (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
9869         * config/alpha/alpha.md (umk divsi patterns): Remove.
9870         (extendsfdf2): Remove unicos check.
9871         (tablejump): Merge vms and unicos code; always use direct set
9872         plus label_ref use.
9873
9874 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
9875
9876         * config.gcc (alpha*-*-unicosmk*): New target.
9877
9878         * config/alpha/alpha-protos.h (symbolic_operand,
9879         unicosmk_add_call_info_word, unicosmk_add_extern,
9880         unicosmk_defer_case_vector, unicosmk_unique_section,
9881         unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
9882         unicosmk_asm_file_start, unicosmk_asm_file_end,
9883         unicosmk_output_common): Declare.
9884
9885         * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
9886         direct_return, function_arg, alpha_va_start, alpha_va_arg,
9887         alpha_does_function_need_gp, alpha_end_function): Support Cray
9888         Unicos/Mk.
9889         (alpha_init_machine_status, alpha_mark_machine_status,
9890         alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
9891         unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
9892         unicosmk_asm_named_section, unicosmk_insert_attributes,
9893         unicosmk_section_type_flags, symbolic_operand,
9894         unicosmk_output_module_name, unicosmk_output_default_externs,
9895         unicosmk_output_dex, unicosmk_output_externs,
9896         unicosmk_output_addr_vec, unicosmk_ssib_name,
9897         unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
9898         unicosmk_asm_file_end, unicosmk_output_common,
9899         unicosmk_section_type_flags, unicosmk_unique_section,
9900         unicosmk_add_call_info_word, unicosmk_text_section,
9901         unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
9902         unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
9903         unicosmk_dex_count, unicosmk_special_name): New.
9904         (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
9905         TARGET_ABI_UNICOSMK.
9906         (get_aligned_mem, alpha_expand_unaligned_load,
9907         alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
9908         alpha_expand_unaligned_store_words): Support big-endian mode.
9909         (print_operand): Likewise. New format specifier 't'. Use
9910         TARGET_AS_SLASH_BEFORE_SUFFIX.
9911         (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
9912         (alpha_pv_save_size): Update with above change.
9913         (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
9914         alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
9915         Unicos/Mk.
9916
9917         * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
9918         (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
9919         (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
9920         (EXTRA_CONSTRAINT): New constraint 'U'.
9921         (PREDICATE_CODES): Add symbolic_operand.
9922
9923         * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
9924         UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
9925         (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
9926         (integer division and modulus patterns): Split in default and
9927         Unicos/Mk versions.
9928         (*divmodsi_internal, *divmoddi_internal): Disable for
9929         TARGET_ABI_UNICOSMK.
9930         (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
9931         little-endian and big-endian versions.
9932         (ext, ins, msk): Likewise.
9933         (extv, extzv, insv): Support big-endian mode.
9934         (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
9935         (call_umk, call_value_umk, *call_umk, tablejump_umk,
9936         *tablejump_umk_internal, *call_value_umk): New.
9937         (*movdi_nofix): Add pattern for loading an address into a register on
9938         TARGET_ABI_UNICOSMK.
9939         (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
9940         (umk_mismatch_args, arg_home_umk): New.
9941         (various insns): Don't use mov, fmov, nop, fnop and unop.
9942         (realign): Support TARGET_ABI_UNICOSMK.
9943
9944         * config/alpha/unicosmk.h: New file.
9945         * config/alpha/t-unicosmk: New file.
9946
9947         * fixinc/inclhack.def (unicosmk_restrict): New.
9948         * fixinc/fixincl.x: Regenerate.
9949
9950         * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
9951         (wchar_t): Check for and define __WCHAR_T__.
9952
9953 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
9954
9955         * combine.c (simplify_shift_const): Treat shifts by the mode
9956         size as undefined.
9957
9958 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
9959
9960         * cpphash.h (struct tokenrun): New.
9961         (struct cpp_context): New member bol.
9962         (struct cpp_reader): New members.
9963         (_cpp_init_tokenrun): New.
9964         * cppinit.c (cpp_create_reader): Set up the token runs.
9965         * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
9966         (lex_token): New internalised version of _cpp_lex_token.  Don't
9967         handle directives or the multiple include optimization here any
9968         more.  Simply lex a token.
9969         * cpplib.c (run_directive): Clear bol.
9970         (_cpp_pop_buffer): Set bol.
9971         * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
9972         arguments.
9973
9974 2001-09-11  Michael Meissner  <meissner@redhat.com>
9975
9976         * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
9977         give an error if the user uses -mfp32.
9978         (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
9979         default options.
9980         (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
9981         floating point register size.
9982         (EXTRA_SPECS): Add CPP_FPR_SPEC.
9983
9984         * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
9985         HOST_WIDE_INT_PRINT_DEC to properly print the result of
9986         int_size_in_bytes.
9987         * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
9988         * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
9989
9990 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
9991
9992         * dbxout.c (dbxout_parms): Fix typo in comment.
9993         * unroll.c (loop_find_equiv_value): Ditto.
9994         * toplev.c (rest_of_compilation): Ditto.
9995         * loop.c (scan_loop): Ditto.
9996         * dwarf2out.c (struct dw_fde_struct): Ditto.
9997
9998 2001-09-10  Zack Weinberg  <zackw@panix.com>
9999
10000         * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
10001         copying identifier when we're just going to throw it away.
10002         (parse_identifier_slow): New routine to handle abnormal cases.
10003         (_cpp_lex_token): Update call site.
10004
10005         * hashtable.c (ht_lookup): Don't assume that the string we've
10006         been given is NUL-terminated.
10007         * system.h: #define __builtin_expect(a, b) to (a) if not
10008         GCC >=3.0.
10009
10010 2001-09-10  Michael Meissner  <meissner@redhat.com>
10011
10012         * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
10013         binutils, gdb.
10014
10015 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
10016
10017         * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
10018
10019 Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10020
10021         * builtins.c (c_getstr): Correct thinko in last change and further
10022         cleanup.
10023
10024 2001-09-10  Tim Freeman <tim@fungibole.com>
10025
10026         * dwarf2out.c (incomplete_types, decl_scope_table): Make them
10027         into varray's and register them as roots with the garbage
10028         collector so they are not collected too soon.
10029
10030 Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
10031
10032         * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
10033         New.
10034         * basic-block.h (flow_obstack, label_value_list,
10035         tail_recursion_label_list): Declare
10036         (tidy_fallthru_edges): Declare.
10037         (expunge_block, last_loop_beg_note): Delete.
10038         (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
10039         * cfg.c: New file
10040         (basic_block_for_insn, label_value_list): Move from flow.c; make global.
10041         (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
10042         init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
10043         flow_delete_insn, flow_delete_insn_chain, create_basic_block,
10044         expunge_block, flow_delete_block, compute_bb_for_insn,
10045         update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
10046         make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
10047         redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
10048         try_redirect_by_replacing_jump, last_loop_beg_note,
10049         redirect_edge_and_branch, redirect_edge_and_branch_force,
10050         tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
10051         split_edge, insert_insn_on_edge, commit_one_edge_insertion,
10052         commit_edge_insertions, dump_flow_info, debug_flow_info,
10053         dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
10054         verify_flow_info, purge_dead_edges, purge_all_dead_edges):
10055         Move here from flow.c
10056         * cfganal.c: New file.
10057         (forwarder_block_p, can_fallthru, mark_critical_edges,
10058          mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
10059          find_unreachable_blocks, create_edge_list, free_edge_list,
10060          print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
10061          flow_edge_list_print, remove_fake_successors, remove_fake_edges,
10062          add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
10063          flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
10064          flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
10065          flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
10066         Move here from flow.c
10067         * cfgbuild.c: New file
10068         (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
10069          make_edges, find_basic_blocks_1, find_basic_blocks,
10070          find_sub_basic_blocks): Move here from flow.c
10071         * cfgcleanup.c: New file.
10072         (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
10073          merge_blocks_move_predecessor_nojumps,
10074          merge_blocks_move_successor_nojumps, merge_blocks,
10075          flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
10076          try_crossjump_bb, try_optimize_cfg): Move here from flow.c
10077         (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
10078         if succeeded.
10079         * cfgloop.c: New file
10080         (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
10081          flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
10082          flow_loop_exit_edges_find, flow_loop_nodes_find,
10083          flow_loop_pre_header_scan, flow_loop_pre_header_find,
10084          flow_loop_tree_node_add, flow_loops_tree_build,
10085          flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
10086          flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
10087         Move here from flow.c
10088         * flow.c: Remove everything moved elsewhere
10089         * output.h (cleanup_cfg): Return bool.
10090
10091         * bb-reorder.c (reorder_block_def): Remove 'index'.
10092         (insert_intra_1): Add argument BB, set block for new note.
10093         (make_reorder_chain): Do not depdent on BB indexes.
10094         (make_reorder_chain_1): Do not use BB indexes.
10095         (label_for_bb): Likewise; set BB for new insn.
10096         (emit_jump_to_block_after): Likewise.
10097         (fixup_reorder_chain): Sanity check that all basic blocks
10098         are chained; verify newly created insn chain; remove
10099         undocnitional jump simplifying; Do not use BB indexes;
10100         properly initialize count and frequency information;
10101         dump reordered sequence.
10102         (insert_intra_bb_scope_notes): update call of insert_intra_1.
10103         (insert_inter_bb_scope_notes): Set block for new insn.
10104         (reorder_basic_blocks): Dump flow info before reoredering.
10105
10106 Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10107
10108         * alias.c (clear_reg_alias_info): Use K&R format definition.
10109         Avoid unsigned warning.
10110         * builtins.c: Use "unsigned int", not "unsigned".
10111         (target_char_cast): Use host_integerp and tree_low_cst.
10112         (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
10113         (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
10114         (c_getstr): Likewise.
10115         (std_expand_builtin_va_arg): Use int_size_in_bytes.
10116         (builtin_memcpy_read_str): Avoid unsigned warning.
10117         (expand_builtin_memcpy): Alignments are unsigned.
10118         (expand_builtin_strncpy, expand_builtin_memset): Likewise.
10119         (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
10120         * predict.c (expensive_function_p): LIMIT now unsigned.
10121         * resource.c (mark_target_live_regs): Make some vars unsigned.
10122         * sdbout.c: Use "unsigned int", not "unsigned".
10123         (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
10124         (sdbout_source_line): Likewise.
10125         (sdbout_record_type_name): Remove "const" for NAME declaration.
10126         * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
10127
10128 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
10129
10130         * calls.c (store_one_arg): Expand comment.
10131
10132 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10133
10134         * calls.c (store_one_arg): Make sure that the entire argument is
10135         pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
10136
10137 2001-09-09  Richard Henderson  <rth@redhat.com>
10138
10139         * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
10140
10141 Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
10142
10143         * loop.c (combine_givs): Fix computing of benefit once giv is combined.
10144
10145 2001-09-09  Richard Henderson  <rth@redhat.com>
10146
10147         * config/alpha/alpha.c (alpha_next_sequence_number): New.
10148         (alpha_this_literal_sequence_number): New.
10149         (alpha_this_gpdisp_sequence_number): New.
10150         (some_operand, input_operand): Add HIGH.
10151         (local_symbolic_operand): New.
10152         (alpha_encode_section_info): New.
10153         (alpha_legitimate_address_p): Allow LO_SUM.
10154         (alpha_legitimize_address): Generate HIGH+LO_SUM.
10155         (alpha_expand_mov): Likewise.
10156         (secondary_reload_class): Check memory_operand not general_operand
10157         for FP_REGS test.
10158         (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
10159         (alpha_expand_unaligned_store): Likewise.
10160         (alpha_expand_unaligned_load_words): Likewise.
10161         (alpha_expand_unaligned_store_words): Likewise.
10162         (alpha_expand_block_clear): Likewise.
10163         (print_operand): Handle %#, %*, %H.
10164         (print_operand_address): Handle LO_SUM.
10165         (find_lo_sum): New.
10166         (alpha_does_function_need_gp): Use it.
10167         (alpha_expand_block_move): Fix signed compare warnings.
10168         (alpha_sa_mask, alpha_align_insns): Likewise.
10169         * config/alpha/alpha-protos.h: Update.
10170         * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
10171         (MASK_EXPLICIT_RELOCS): New.
10172         (TARGET_SWITCHES): Add -mexplicit-relocs.
10173         (EXTRA_CONSTRAINT): Add 'T'.
10174         (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
10175         (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
10176         (ENCODE_SECTION_INFO): Out line.
10177         (REDO_SECTION_INFO_P): New.
10178         (STRIP_NAME_ENCODING): New.
10179         (ASM_OUTPUT_LABELREF): New.
10180         (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
10181         (PREDICATE_CODES): Update.
10182         * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
10183         call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
10184         movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
10185         builtin_setjmp_receiver_er, exception_receiver_1_er,
10186         call_value_osf_1_er): New patterns.
10187         (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
10188         (movqi, movhi, movsi): Add explicit $31 base register to lda.
10189         * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
10190         (FINAL_PRESCAN_INSN): New.
10191
10192 Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
10193
10194         * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
10195
10196 2001-09-08  Andreas Jaeger  <aj@suse.de>
10197
10198         * i386.h (TARGET_SWITCHES): Fix description.
10199
10200 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
10201
10202         * rs6000.c (num_insns_constant): Compute number of instructions
10203         more accurately.
10204
10205         * doc/install.texi: Explain AIX exception handling work-around.
10206         Update URL for AIX fixes.
10207
10208 2001-09-07  Jim Wilson  <wilson@redhat.com>
10209
10210         * alias.c (clear_reg_alias_info): New.
10211         * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
10212         * rtl.h (clear_reg_alias_info): Declare.
10213
10214 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10215
10216         * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
10217         available.
10218         (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
10219         (m16m,edivm,emulm): Change declaration to match definition.
10220
10221 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
10222
10223         * reload.c (push_reload): Check for subreg_lowpart_p instead of
10224         SUBREG_BYTE being 0 when determining if the inner part of a subreg
10225         can be reloaded.
10226
10227 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
10228
10229         * c-common.c (signed_or_unsigned_type): Handle machine mode types
10230         which have no corresponding C type.
10231         * fold_const.c (target_isinf,target_isnan,target_negative): Update
10232         the representation of 64-bit doubles to work with 64-bit ints.
10233
10234 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
10235
10236         * config/mips/mips.c (override_options): Do not override ISA when ABI
10237         specified if MIPS_CPU_STRING_DEFAULT was specified.
10238
10239 2001-09-07  Richard Henderson  <rth@redhat.com>
10240
10241         * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
10242         (express_from_1): Wrap lines.
10243         * rtlanal.c (commutative_operand_precedence): Rename from
10244         operand_preference; export.
10245         * rtl.h: Declare it.
10246         * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
10247         (simplify_binary_operation): Invoke simplify_plus_minus on
10248         (CONST (PLUS ...)) as well.
10249         (struct simplify_plus_minus_op_data): New.
10250         (simplify_plus_minus_op_data_cmp): New.
10251         (simplify_plus_minus): Use them.  Avoid infinite recursion with
10252         simplify_binary_operation wrt CONST.
10253
10254 Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
10255
10256         * h8300-protos.h (general_operand_dst_push): Remove.
10257         * h8300.c (general_operand_dst_push): Likewise.
10258         * h8300.h (OK_FOR_T): Likewise.
10259         (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
10260         * h8300.md (pushqi_h8300): New.
10261         (pushqi_h8300hs): Likewise.
10262         (pushqi): Likewise.
10263         (pushhi_h8300): Likewise.
10264         (pushhi_h8300hs): Likewise.
10265         (pushhi): Likewise.
10266
10267 Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
10268
10269         * genattrtab.c (attr_printf): First arg is unsigned.
10270         Clean up formatting of callers.
10271
10272 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
10273
10274         * config/mips/mips.c (override_options): Allow abi32 with 64 bit
10275         registers.
10276
10277 2001-09-07  Andreas Jaeger  <aj@suse.de>
10278
10279         * i386.h (TARGET_SWITCHES): Fix descriptions.
10280
10281 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
10282
10283         * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
10284
10285 2001-09-06  Ira Ruben  <ira@apple.com>
10286
10287         Remove OP_IDENTIFIER.
10288         * tree.def (OP_IDENTIFIER): Remove.
10289         * tree.c (tree_node_kind enum): Remove op_id_kind.
10290         (tree_node_kind_names): Remove "op_identifiers".
10291         (make_node): Remove OP_IDENTIFIER test.
10292         (build_op_identifier): Removed because it isn't being used.
10293         * print-tree.c (print_node): Remove OP_IDENTIFIER case.
10294         * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
10295
10296 2001-09-06  Richard Henderson  <rth@redhat.com>
10297
10298         * simplify-rtx.c (simplify_binary_operation): Revert last change.
10299
10300 2001-09-06  Richard Henderson  <rth@redhat.com>
10301
10302         * simplify-rtx.c (simplify_binary_operation): Simplify contents
10303         of CONST.
10304
10305 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
10306
10307         * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
10308         number used for CR register.
10309
10310 Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
10311                           Joern Rennecke (amylaar@cygnus.com)
10312
10313         * h8300-protos.h (h8300_return_addr_rtx): New prototype.
10314         * h8300.c (initial_offset): Handle offset between RP and FP.
10315         (h8300_return_addr_rtx): New function.
10316         * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
10317         return register.
10318         (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
10319         (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
10320         (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
10321         (CAN_ELIMINATE, REGISTER_NAMES):
10322         (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
10323
10324 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
10325
10326         Remove TYPE_NONCOPIED_PARTS.
10327         * tree.h (TYPE_NONCOPIED_PARTS): Remove.
10328         (struct tree_type): Remove noncopied_parts.
10329         * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
10330         * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
10331         (fixed_type_p): Remove.
10332         (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
10333         (expand_expr, MODIFY_EXPR): Likewise.
10334         * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
10335         * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
10336
10337 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
10338
10339         * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
10340         compiler warnings.
10341         (mask64_operand): Likewise.
10342         (includes_rldic_lshift_p): Likewise.
10343         (includes_rldicr_lshift_p): Likewise.
10344
10345 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
10346
10347         * objc/objc-act.c (build_message_expr): If a class method cannot
10348         be found, do not issue a warning if a corresponding instance
10349         method exists in the root class.
10350
10351 2001-09-05  Richard Henderson  <rth@redhat.com>
10352
10353         * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
10354
10355 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
10356
10357         * function.c (ggc_mark_struct_function): Mark f->outer.
10358         * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
10359         * integrate.c (output_inline_function): ... not here.
10360
10361 Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
10362
10363         * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
10364
10365         * i386.c (size_cost): New static variable.
10366         (override_function): Use size_cost when -Os is specified.
10367
10368         * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
10369         properly;  Use current_function_calls_eh_return.
10370         (ix86_expand_epilogue): Avoid dummy optimize_size tests;
10371         use leave to avoid dependency chain.
10372
10373         * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
10374         get BB loop_depth instead of computing it from LOOP notes.
10375
10376         * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
10377
10378 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10379
10380         * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10381         * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10382         UNALIGNED_DOUBLE_INT_ASM_OP): Define
10383
10384 2001-09-05  Jeffrey A Law  (law@cygnus.com)
10385             Jason Merrill (jason@redhat.com)
10386
10387         * stor-layout.c (layout_type): Complain if an array's size can
10388         not be represented in a size_t.
10389
10390         * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
10391
10392 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
10393
10394         * gcc.c: (process_command) Add parentheses around assignment
10395         used as truth value.
10396
10397 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
10398
10399         * config/mips/mips.c (save_restore_insns): Don't mark any register
10400         save slots as unchanging if current_function_calls_eh_return.
10401
10402 2001-09-05  Richard Henderson  <rth@redhat.com>
10403
10404         * config/alpha/alpha.c (alpha_legitimate_address_p): New.
10405         * config/alpha/alpha-protos.h: Declare it.
10406         * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
10407         (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
10408         (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
10409         (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
10410         (REG_OK_FOR_BASE_P): Select one of the above.
10411
10412 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
10413
10414         * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
10415         (crti.o): Prefix name of object file with $(T).
10416         (crtn.o): Likewise.
10417
10418 2001-09-05  David S. Miller  <davem@redhat.com>
10419
10420         * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
10421         * config/sparc/linux64.h: Likewise.
10422
10423 2001-09-05  Andreas Jaeger  <aj@suse.de>
10424
10425         * doc/invoke.texi (i386 Options): -mwide-multiply is not
10426         available anymore, remove the documentation.
10427         (i386 Options): Fix typo, cleanup index entries.
10428
10429         * prefix.c (concat): Remove, we can use the version from liberty.
10430
10431 2001-09-05  Richard Henderson  <rth@redhat.com>
10432
10433         * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
10434         New functions split out of md file expanders.
10435         * config/alpha/alpha-protos.h: Declare them.
10436         * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
10437
10438 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
10439
10440         * cppmacro.c (funlike_invocation_p): No need to restore context.
10441
10442 2001-09-04  Richard Henderson  <rth@redhat.com>
10443
10444         * reload.c (push_reload): Export.
10445         * reload.h (push_reload): Declare it.
10446
10447         * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
10448         (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
10449         * config/alpha/alpha.c (alpha_legitimize_address): New.
10450         (alpha_legitimize_reload_address): Likewise.
10451         * config/alpha/alpha-protos.h: Declare them.
10452
10453 2001-09-04  Stan Shebs  <shebs@apple.com>
10454
10455         * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
10456         * config/darwin.c (machopic_stub_name): Account for internally
10457         generated lib calls such as memcpy.
10458
10459 2001-09-04  Richard Henderson  <rth@redhat.com>
10460
10461         * unwind.h (_UA_END_OF_STACK): New flag.
10462         * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
10463
10464 Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
10465
10466         * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
10467
10468 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
10469
10470         * config/mips/mips.c (save_restore_insns): Change base_offset to
10471         fp_offset in second call to mips_emit_frame_related_store.
10472
10473 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
10474
10475         * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
10476         sometimes be represented as a NOTE of type
10477         NOTE_INSN_DELETED_LABEL.
10478         (Insns): Document NOTE_INSN_DELETED_LABEL.
10479
10480 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
10481
10482         * c-common.h (tree_dump_index): Add more comments.
10483         * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
10484         (dump_option_value_info): New struct.
10485         (dump_options): New array.
10486         (dump_switch_p): Parse switch options symbolically.
10487         * doc/invoke.texi (-fdump-ast): Rename to ...
10488         (-fdump-tree): ... here. Document that options are symbolic, and
10489         not all are applicable.
10490
10491 2001-09-04  David S. Miller  <davem@redhat.com>
10492
10493         * config/sparc/sparc.md (define_splits): Kill constraints.
10494
10495         Cleanup redundant and unused insn attributes.
10496         * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
10497         binary, and move.  Mark ialu as default.
10498         (commented out define_function_unit "alu"): Kill.
10499         (define_attr "use_clobbered"): Kill.
10500         (whole file): Kill address insn type references.  Replace
10501         all unary/binary/move references with ialu.
10502         * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
10503         references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
10504         TYPE_IALU.
10505
10506         Simplify length insn attribute and make more judicious use
10507         of insn attribute defaulting.
10508         * config/sparc/sparc.md (all insns with length > one): Mark as
10509         insn type multi if real instructions, else use default if
10510         it is a forced splitter.
10511         (all insns with length == one): Use default insn length.
10512         (all insns of type ialu): Use default insn type.
10513
10514         Fix erroneous insn attribute settings.
10515         (addx): Set insn type to misc.
10516         (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
10517         const_umulsidi3_sp64): Set insn type to imul.
10518
10519         Track SFmode vs DFmode insns according to UltraSPARC
10520         scheduling rules.
10521         * config/sparc/sparc.md ("fptype"): New attribute, default
10522         to "single".
10523         (all DFmode single insns): Mark as fptype "double".
10524
10525 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
10526
10527         * loop.c (express_from_1): Fix CONSTANT_P(a) case.
10528
10529 2001-09-03  Richard Henderson  <rth@redhat.com>
10530
10531         * function.h (struct function): Add arg_pointer_save_area_init.
10532         * function.c (expand_function_end): Init arg_pointer_save_area.
10533         (get_arg_pointer_save_area): Do not init arg_pointer_save_area
10534         when called from a nested function.
10535
10536 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
10537
10538         * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
10539         is enabled.
10540
10541 Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
10542
10543         * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
10544
10545 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
10546
10547         * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
10548         (emit_push_insn): Use specified padding direction when
10549         STACK_PUSH_CODE is POST_INC.
10550
10551         * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
10552
10553 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10554
10555         * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
10556
10557 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
10558
10559         * cppinit.c (cpp_start_read): Free the imacros list as we
10560         traverse it.  Don't free the chains before returning.
10561         (_cpp_push_next_buffer): Only try pushing buffers if we've
10562         completed -imacros handling.
10563
10564 2001-08-31  Eric Christopher  <echristo@redhat.com>
10565
10566         * gcc.c (handle_braces): Add explaination for abort.
10567
10568 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
10569
10570         * expmed.c (store_bit_field): Update to patch from 2001-08-27:
10571         move adjustment of bitpos instead.
10572
10573 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
10574
10575         * function.c: Remove all_functions.  Make outer_function_chain
10576         static.
10577         (init_function_start): Don't add new function structure to
10578         all_functions.
10579         (find_function_data, push_function_context_to,
10580         pop_function_context_from, put_var_into_stack,
10581         trampoline_address): Update for changed structure element names.
10582         (push_function_context_to): Disentangle.
10583         (free_after_compilation): Also free F.
10584         (expand_dummy_function_end): Don't free cfun here.
10585         (put_var_into_stack): Comment why we can't use find_function_data here.
10586         (fix_lexical_addr, trampoline_address, ): Use find_function_data.
10587         (mark_function_chain): Split into maybe_mark_struct_function and
10588         ggc_mark_struct_function.  Export the latter.
10589         (init_function_once): Mark from cfun and outer_function_chain;
10590         not all_functions.
10591
10592         * function.h (struct function): Kill next_global.  Rename next
10593         to outer.  All users updated to match.
10594         (all_functions, outer_function_chain): Don't declare.
10595
10596         * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
10597         * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
10598         don't touch f->inlinable, after calling rest_of_compilation.
10599
10600         * tree.h: Forward-declare struct function.  Prototype
10601         ggc_mark_struct_function.
10602
10603 2001-08-31  Kazu Hirata  <kazu@hxi.com>
10604
10605         * config/h8300/h8300.md (*andorhi3): Fix typos.
10606
10607 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10608
10609         * calls.c (emit_library_call_value): Don't use a fixed
10610         argument after VA_CLOSE, i.e. out of scope in traditional C.
10611
10612         * emit-rtl.c (gen_rtvec): Likewise.
10613
10614 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10615
10616         * Makefile.in (c-pragma.o): Depend on output.h.
10617         (reorg.o): Depend on except.h.
10618
10619         * c-pragma.c: Include output.h.
10620
10621         * reorg.c: Include except.h.
10622
10623         * unwind-dw2.c: Call __builtin_alloca, not alloca.
10624
10625 2001-08-31  Richard Henderson  <rth@redhat.com>
10626
10627         * sched-deps.c (add_dependence): Don't elide dependency if the
10628         conditional used by insn is modified in elem.
10629
10630 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
10631
10632         * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
10633
10634 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
10635
10636         * c-decl.c (c_decode_option): Skip '-f' prefix before calling
10637         dump_switch_p.
10638
10639 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
10640
10641         * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
10642         function.
10643         (stormy16_asm_out_constructor): New function.
10644         (TARGET_ASM_CONSTRUCTOR): Define.
10645         (TARGET_ASM_DESTRUCTOR): Define.
10646
10647 2001-08-31  Andreas Jaeger  <aj@suse.de>
10648
10649         * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
10650         * loop.c (add_label_notes): Likewise.
10651         * reload.c (find_reloads): Likewise.
10652         * config/sh/sh.c (machine_dependent_reorg): Likewise.
10653
10654 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
10655
10656         * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
10657         code here.  Take _Unwind_{W,Sw}ord*.
10658         (read_encoded_value_with_base): Use them.
10659         * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
10660         words.
10661         (extract_cie_info): Simplify read_?leb128 handling.
10662         (execute_stack_op, execute_cfa_program): Likewise.
10663         * unwind-dw2-fde.c (get_cie_encoding): Likewise.
10664
10665 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
10666
10667         * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
10668         the frame pointer to pop the stack if convenient.
10669
10670         * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
10671         Don't use post-increment before combine.
10672         * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
10673         a call-saved register.
10674
10675 2001-08-31  Andreas Jaeger  <aj@suse.de>
10676
10677         * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
10678         code was correct.
10679
10680 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
10681
10682         * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
10683         not DIV/MOD, of course.
10684
10685 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
10686
10687         * rtl.def: Undo my patch commited 2001-08-27.
10688
10689         * genattrtab.c: Ditto.
10690
10691         * rtl.h: Ditto.
10692
10693         * sched-int.h: Ditto.
10694
10695         * target-def.h: Ditto.
10696
10697         * target.h: Ditto.
10698
10699         * haifa-sched.c: Ditto.
10700
10701         * sched-rgn.c: Ditto.
10702
10703         * sched-vis.c: Ditto.
10704
10705         * Makefile.in: Ditto.
10706
10707         * doc/md.texi: Ditto.
10708
10709         * doc/tm.texi: Ditto.
10710
10711         * doc/contrib.texi: Ditto.
10712
10713         * doc/gcc.texi: Ditto.
10714
10715         * genattrtab.h: Remove it.
10716
10717         * genautomata.c: Remove it.
10718
10719         * genattr.c: Undo my patch and Richard Henderson's patch commited
10720         2001-08-27.
10721
10722 Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
10723
10724         * config.gcc (h8300-*-elf*): New case.
10725         * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
10726         (SUBTARGET_CPP_SPEC): Define.
10727         (EXTRA_SPECS): Define.
10728         (SUBTARGET_EXTRA_SPECS): Define.
10729         * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
10730         * config/h8300/elf.h, config/h8300/t-elf: Likewise.
10731
10732 Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
10733
10734         * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
10735         (LIB2FUNCS_EXTRA): Define.
10736         config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
10737         config/h8300/fixunssfsi.c: New file.
10738
10739 2001-08-30  Kazu Hirata  <kazu@hxi.com>
10740
10741         * config/h8300/h8300.md (zero_extendqihi2): Changes to
10742         define_expand to accommodate target-specific attributes.
10743         (anonymous zero_extendqihi2 patterns): New.
10744
10745 Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
10746
10747         * h8300.md (*andorhi3): New pattern.
10748
10749 Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
10750
10751         * h8300.c (dosize): Fix test for "sub".
10752
10753 Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
10754
10755         * c-typeck.c (pointer_diff): Try to eliminate common term before
10756         doing conversions.
10757
10758 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
10759
10760         * config/arm/arm.c (arm_compute_initial_elimination_offset):
10761         Account for the saves of the FP registers.
10762
10763         * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
10764         (TEXT_SECTION_ASM_OP): Define.
10765         (INIT_SECTION_ASM_OP): Define.
10766         (FINI_SECTION_ASM_OP): Define.
10767         (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
10768         (RDATA_SECTION_FUNCITON): Provide prototype.
10769
10770 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
10771
10772         * reload1.c (move2add_note_store): Correct typo checking for
10773         argument pushes.
10774
10775 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
10776
10777         * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
10778         note should not be considered outside the libcall block.
10779
10780 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10781
10782         * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
10783
10784 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10785
10786         * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
10787
10788 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10789
10790         * config/h8300/h8300-protos.h: Add a prototype for
10791         emit_logical_op.
10792         * config/h8300/h8300.c (emit_logical_op): New.
10793         * config/h8300/h8300.md (andhi3): Use emit_logical_op.
10794         (andsi3): Likewise.
10795         (iorhi3): Likewise.
10796         (iorsi3): Likewise.
10797         (xorhi3): Likewise.
10798         (xorsi3): Likewise.
10799
10800 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10801
10802         * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
10803         comparison with rtx INTVAL.
10804         (pa_output_function_prologue): Don't mix signed and unsigned in `?'
10805         expression.
10806         * pa.h (FUNCTION_ARG_SIZE): Likewise.
10807
10808 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10809
10810         * config/h8300/lib1funcs.asm: Update the copyright.  Fix
10811         comment typos.
10812
10813 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10814
10815         * config/h8300/h8300.md (anonymous movhi pattern): Don't move
10816         (reg n) to (mem (pre_dec (reg n))
10817         (anonymous movsi pattern): Likewise.
10818
10819 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10820
10821         * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
10822
10823 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10824
10825         * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
10826         several special constants.
10827
10828 2001-08-29  Kazu Hirata  <kazu@hxi.com>
10829
10830         * config/h8300/lib1funcs.asm: Fix comment typos.
10831
10832 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10833
10834         * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
10835         Fix format specifier warnings.
10836
10837         * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
10838         inet_makeaddr, semctl): Prototype.
10839
10840         * mips.c (compute_frame_size): Fix signed/unsigned warnings.
10841         (save_restore_insns): Use base_offset, not gp_offset.
10842
10843         * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
10844         (ASM_OUTPUT_BYTE): Fix format specifier warning.
10845
10846 2001-08-29  Richard Henderson  <rth@redhat.com>
10847
10848         * bb-reorder.c (function_tail_eff_head): New.
10849         (record_effective_endpoints): Set it.
10850         (fixup_reorder_chain): Use it.
10851
10852 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10853
10854         * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
10855
10856 2001-08-28  Dale Johannesen  <dalej@apple.com>
10857
10858         * config/darwin.c (machopic_function_base_name): Add const
10859         qualifier to a string.
10860         (darwin_encode_section_info): Ditto.
10861
10862 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10863
10864         * tree.c (default_valid_attribute_p): Don't use PARAMS on a
10865         function definition.
10866
10867 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
10868
10869         * df.h (struct df): Add rts_order variable.
10870
10871         * df.c (df_visit_next_rts): New function.
10872         (df_visit_next): Renamed to df_visit_next_rc
10873         (df_analyse_1): Allocate/compute/free rts_order as well.
10874         (df_rd_global_compute): Use df_visit_next_rc instead of
10875         df_visit_next.
10876         (df_ru_global_compute): Use df_visit_next_rts instead of
10877         df_visit_next.
10878
10879         * flow.c (flow_reverse_top_sort_order_compute): New function.
10880
10881         * basic-block.h: Add prototype.
10882
10883 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
10884
10885         * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
10886         blocks, the BB_REACHABLE is now set, rather than aux being
10887         non-NULL. Update the test to reflect this.
10888
10889 2001-08-28  Eric Christopher  <echristo@redhat.com>
10890
10891         * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
10892         config/mips/crti.asm: Ditto.
10893
10894 2001-08-28  Eric Christopher <echristo@redhat.com>
10895             Richard Henderson <rth@redhat.com>
10896
10897         * c-pragma.h (add_weak): Move prototype from here...
10898         * output.h (add_weak): ... to here.
10899         * varasm.c (add_weak): Fix typo.
10900         * config/mips/crti.asm: New file.
10901         * config/mips/crtn.asm: Ditto.
10902         * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
10903         (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
10904         (INVOKE__main): Ditto.
10905         (INIT_SECTION_ASM_OP): New.
10906         (FINI_SECTION_ASM_OP): Ditto.
10907         (STARTFILE_SPEC): Add crti.
10908         (ENDFILE_SPEC): Add crtn.
10909         * config/mips/elf64.h: Same.
10910         * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
10911         Remove.
10912         * config/mips/vxworks.h: Ditto.
10913         * config/mips/t-elf: Support crti and crtn.
10914
10915 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
10916
10917         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
10918         INSN_LIST.
10919
10920 2001-08-28  Richard Henderson  <rth@redhat.com>
10921
10922         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
10923         (one_cmplbi2 splitter): Remove redundant test.
10924
10925 2001-08-28  Dale Johannesen  <dalej@apple.com>
10926
10927         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
10928
10929 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
10930
10931         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
10932
10933 2001-08-28  Stan Shebs  <shebs@apple.com>
10934
10935         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
10936         (UNALIGNED_SHORT_ASM_OP): Define.
10937         (UNALIGNED_INT_ASM_OP): Define.
10938
10939 2001-08-28  Will Cohen  <wcohen@redhat.com>
10940
10941         * config/rs6000/rs6000.md (store_multiple): Correct RTL
10942         generation for first set.
10943
10944 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
10945
10946         * flow.c (redirect_edge_succ_nodup): Return new edge.
10947         (try_simplify_condjump): Use new edge.
10948         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
10949
10950         * cse.c (cse_basic_block): Skip note instructions.
10951
10952 2001-08-27  Richard Henderson  <rth@redhat.com>
10953
10954         * combine.c (combine_simplify_rtx): Don't reverse condition
10955         if there is no reverse for the condition.
10956         (simplify_comparison): Don't simplify subregs from INT to FP.
10957
10958         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
10959         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
10960         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
10961         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
10962         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
10963         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
10964
10965 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
10966
10967         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
10968         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
10969         (pushqi1): New.
10970         (adddi_dilshr32, adddi_dishl32): Only data register can be
10971         source for mem destination.
10972
10973         * expmed.c (store_bit_field): Ignore adjustment to bitpos
10974         and use bitnum to decide about register move.
10975
10976 2001-08-27  Richard Henderson  <rth@redhat.com>
10977
10978         * genattr.c (main): Emit state_t even when not doing scheduling.
10979
10980 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
10981             Richard Henderson  <rth@redhat.com>
10982
10983         * gcse.c (reg_first_set, reg_last_set): Replace with ...
10984         (reg_avail_info, current_bb): ... these.
10985         (oprs_unchanged_p, record_last_reg_set_info): Use them.
10986         (compute_hash_table): Likewise.
10987
10988 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
10989
10990         * flow.c (verify_flow_info): Use checksums to verify edges.
10991
10992 2001-08-27  Richard Henderson  <rth@redhat.com>
10993
10994         * genautomata.c (expand_automata): Always create a description.
10995
10996 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
10997
10998         * optabs.c (expand_binop): Correctly handle the carry in multiword
10999         add/subtract operations.
11000
11001 2001-08-27  Fred Fish  <fnf@be.com>
11002
11003         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
11004         __SIZE_TYPE__.
11005
11006 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
11007
11008         * reload.c (find_reloads_toplev): Back out this change:
11009
11010         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
11011
11012         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
11013         mem if the address is a mode_dependent_address_p.
11014
11015 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
11016
11017         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
11018         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
11019         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
11020         RTL constructions.
11021
11022         * genattr.c (main): New variable num_insn_reservations.  Increase
11023         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
11024         pipeline hazard recognizer interface.
11025
11026         * genattrtab.h: New file.
11027
11028         * genattrtab.c: Include genattrtab.h.
11029         (attr_printf, check_attr_test, make_internal_attr,
11030         make_numeric_value): Move protypes into genattrtab.h.  Define them
11031         as external.
11032         (num_dfa_decls): New global variable.
11033         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
11034         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
11035         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
11036         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
11037
11038         * genautomata.c: New file.
11039
11040         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
11041
11042         * sched-int.h: (curr_state): Add the external definition for
11043         automaton pipeline interface.
11044         (haifa_insn_data): Add comments for members blockage and units.
11045
11046         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11047         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11048         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11049         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11050         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11051         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11052         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
11053         macros.
11054         (TARGET_SCHED): Use the new macros.
11055
11056         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
11057         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
11058         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
11059         dfa_bubble): New members in gcc_target.sched.
11060
11061         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
11062         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
11063         (insn_queue): Redefine it as pointer to array.
11064         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
11065         INSN_QUEUE_SIZE.
11066         (max_insn_queue_index_macro_value): New variable.
11067         (curr_state, dfa_state_size, ready_try): New varaibles for
11068         automaton interface.
11069         (ready_element, ready_remove, max_issue): New function prototypes
11070         for automaton interface.
11071         (choose_ready): New function prototype.
11072         (insn_unit, blockage_range): Add comments.
11073         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
11074         FUNCTION_UNITS_SIZE == 0.
11075         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
11076         actual_hazard, potential_hazard): Add comments.
11077         (insn_cost): Use cost -1 as undefined value.  Remove
11078         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
11079         pipeline interface.
11080         (ready_element, ready_remove): New functions for automaton
11081         interface.
11082         (schedule_insn): Add new code for automaton pipeline interface.
11083         (queue_to_ready): Add new code for automaton pipeline interface.
11084         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
11085         (debug_ready_list): Print newline when the queue is empty.
11086         (max_issue): New function for automaton pipeline interface.
11087         (choose_ready): New function.
11088         (schedule_block): Add new code for automaton pipeline interface.
11089         Print ready list before scheduling each insn.
11090         (sched_init): Add new code for automaton pipeline interface.
11091         Initiate insn cost by -1.
11092         (sched_finish): Free the current automaton state and finalize
11093         automaton pipeline interface.
11094
11095         * sched-rgn.c: Include target.h.
11096         (init_ready_list, new_ready, debug_dependencies): Add new code for
11097         automaton pipeline interface.
11098
11099         * sched-vis.c: Include target.h.
11100         (get_visual_tbl_length): Add code for automaton interface.
11101         (target_units, print_block_visualization):  Add comments.
11102
11103         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
11104         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
11105         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
11106         (getruntime.o, genautomata.o): New entries.
11107         (genattrtab.o): Add new dependency file genattrtab.h.
11108         (genattrtab): Add new dependencies.  Link it with `libm.a'.
11109         (getruntime.o, hashtab.o): New entries for canadian cross.
11110
11111         * doc/md.texi: Description of automaton based model.
11112
11113         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
11114         Add comments.
11115         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11116         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11117         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11118         TARGET_SCHED_DFA_POST_CYCLE_INSN,
11119         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11120         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11121         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
11122         hook descriptions.
11123         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
11124         MAX_DFA_ISSUE_RATE): New macro descriptions.
11125
11126         * doc/contrib.texi: Add dfa based scheduler contribution.
11127
11128         * doc/gcc.texi: Add more information about genattrtab.
11129
11130 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
11131
11132         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
11133         an RTL basic block.
11134
11135 2001-08-27  Richard Henderson  <rth@redhat.com>
11136
11137         * function.c (expand_function_end): Don't init arg_pointer_save_area.
11138         (get_arg_pointer_save_area): New.  Create an init it here.
11139         (fix_lexical_addr): Use it.
11140         * function.h: Declare it.
11141         * builtins.c (expand_builtin_setjmp_receiver): Use it.
11142         * stmt.c (expand_nl_goto_receiver): Use it.
11143
11144 2001-08-27  Richard Henderson  <rth@redhat.com>
11145
11146         * final.c (final_scan_insn): Don't enter APP_ON mode for
11147         empty asm strings.
11148
11149         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
11150         alignment for assemble_integer for DW_EH_PE_aligned.
11151         * except.c (output_function_exception_table): Likewise.
11152
11153 2001-08-26  Andreas Jaeger  <aj@suse.de>
11154
11155         * c-tree.h: Add prototyp for c_sizeof_nowarn.
11156
11157 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
11158
11159         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
11160
11161 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
11162
11163         * config/rs6000/rs6000.c (mask_operand): Rewrite without
11164         bit-shifting loop.
11165         (mask64_operand): Likewise.
11166         (rldic_operand): Delete.
11167         (includes_lshift64_p): Delete.
11168         (includes_rldic_lshift_p): New function.
11169         (includes_rldicr_lshift_p): New function.
11170         (print_operand): Don't call rldic_operand in case 'W'.
11171         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
11172         (includes_lshift64_p): Remove.
11173         (includes_rldic_lshift_p): Declare.
11174         (includes_rldicr_lshift_p): Declare.
11175         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
11176         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
11177         Replace match_operand rldic_operand predicate with
11178         const_int_operand.  Replace includes_lshift64_p condition with
11179         includes_rldic_lshift_p.
11180         <ashldi3_internal 64 bit rldicr patterns>: New.
11181
11182 2001-08-27  Andreas Jaeger  <aj@suse.de>
11183
11184         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11185         * errors.c: Likewise.
11186         * final.c: Likewise.
11187         * dwarf2asm.c: Likewise.
11188         * doprint.c (checkit): Likewise.
11189         * diagnostic.c: Likewise.
11190         * collect2.c: Likewise.
11191         * calls.c: Likewise.
11192         * c-semantics.c (build_stmt): Likewise.
11193         * c-format.c (status_warning): Likewise.
11194         * c-errors.c (pedwarn_c99): Likewise.
11195         * builtins.c (validate_arglist): Likewise.
11196         * config/pj/pj.c (pj_printf): Likewise.
11197         * fix-header.c: Likewise.
11198         * gcc.c: Likewise.
11199         * gcov.c (fnotice): Likewise.
11200         * gensupport.c (message_with_line): Likewise.
11201         * mips-tfile.c: Likewise.
11202         * protoize.c (notice): Likewise.
11203         * read-rtl.c (fatal_with_file_and_line): Likewise.
11204         * rtl-error.c: Likewise.
11205         * tradcpp.c: Likewise.
11206         * tree.c: Likewise.
11207         * cp/tree.c (build_min_nt): Likewise.
11208         (build_min): Likewise.
11209         * cp/lex.c: Likewise.
11210         * cp/errfn.c: Likewise.
11211         * cp/rtti.c (create_pseudo_type_info): Likewise.
11212
11213 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
11214
11215         * df.c (df_uses_record): Return after recording all uses
11216         in ASM_OPERANDS.
11217
11218 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
11219
11220         * df.c (df_insn_modify): Realloc the INSN table here, if
11221         necessary, here, too.
11222
11223 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
11224
11225         * config/mips/mips.c (mips_function_value): Handle complex return
11226         values.
11227
11228 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
11229
11230         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
11231         unshared.
11232         * reload.c (make_memloc): Copy result if it is still
11233         reg_equiv_memory_loc[regno] on return.
11234         (subst_reloads) [ENABLE_CHECKING]: Check that none of
11235         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
11236         reg_equiv_mem are modified by the substitutions.
11237
11238 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
11239
11240         * predict.c (expensive_function_p): New.
11241         * rtl.h (expensive_function_p): Declare.
11242         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
11243         (use_fast_prologue_epilogue): New static variable.
11244         (expand_prologue): Set it; emit short prologues if unset.
11245         (expand_epilogue): Likewise.
11246
11247 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
11248
11249         * config.gcc: Add stormy16-*-elf case.
11250         * config/stormy16/stormy-abi: New file.
11251         * config/stormy16/stormy16-lib2.c: New file.
11252         * config/stormy16/stormy16-protos.h: New file.
11253         * config/stormy16/stormy16.c: New file.
11254         * config/stormy16/stormy16.h: New file.
11255         * config/stormy16/stormy16.md: New file.
11256         * config/stormy16/t-stormy16: New file.
11257
11258 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
11259
11260         * i386.h (no-accumulate-outgoing-args): Use proper mask.
11261
11262 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
11263
11264         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
11265         descriptor members are pointer size, not constant 4.
11266         * config/rs6000/rs6000.md (define_splits): Remove more unused
11267         constraints.
11268
11269 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11270
11271         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
11272
11273 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
11274
11275         * cp/rtti.c (VPARAMS): Fix parameter.
11276
11277 2001-08-24  Zack Weinberg  <zackw@panix.com>
11278
11279         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
11280         to zero.
11281         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
11282         to switch.
11283         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
11284         in if controlling use of insv.
11285         (extract_bit_field): Likewise, for extv and extzv.
11286
11287 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
11288
11289         * i386.md (movcc peep2): Fix load of 0.
11290
11291 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11292
11293         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
11294         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
11295
11296 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
11297
11298         * c-pragma.h: Move weak_syms and weak_decls...
11299         * varasm.c: ...here.  Now static.
11300         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
11301         depend on HANDLE_PRAGMA_WEAK.
11302
11303         * c-common.c (c_alignof, c_alignof_expr): Move here...
11304         * c-typeck.c: ...from here.
11305         * c-tree.h, c-common.h: Adjust.
11306
11307 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
11308
11309         * config/ia64/ia64.c (rws_update): If !pred, set write_count
11310         instead of incrementing it.
11311
11312         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
11313         asm ready, don't try to move them all into the same array element.
11314
11315 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
11316
11317         * function.c (thread_prologue_and_epilogue_insns): Avoid
11318         fallthru flag on edge to exit.
11319
11320         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
11321
11322         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
11323         dead edges.
11324
11325 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
11326
11327         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
11328         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
11329         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
11330         Remove prototype.
11331
11332 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
11333
11334         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
11335         replace "GNU CC" with "GCC".
11336
11337 2001-08-23  Richard Henderson  <rth@redhat.com>
11338
11339         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
11340         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
11341         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
11342         Need GR between FR and not GR_AND_FR.
11343         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
11344         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
11345         AR regs before GR regs.
11346         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
11347         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
11348         (REGISTER_MOVE_COST): Update.
11349         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
11350
11351 2001-08-23  Richard Henderson  <rth@redhat.com>
11352
11353         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
11354         a register class.
11355
11356 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
11357
11358         * reload1.c (emit_reload_insns): Don't look for notes
11359         on a NULL store_insn.
11360
11361 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11362
11363         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
11364         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
11365         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
11366         format specifier warnings.
11367         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
11368
11369 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
11370
11371         * config/i386/i386-protos.h: Correct declaration of
11372         i386_pe_asm_named_section.
11373
11374 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11375
11376         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
11377         variable i.
11378         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11379
11380 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
11381
11382         * cpperror.c (print_location): Don't show _Pragma.
11383         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
11384         and file change callback generation here.
11385         (stack_include_file): Update use of cpp_push_buffer.
11386         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
11387         (struct cpp_buffer): Remove type, pfile members.
11388         * cppinit.c (cpp_handle_option): Use free_chain.
11389         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
11390         (skip_escaped_newlines, get_effective_char, lex_percent): Take
11391         a cpp_reader rather than a cpp_buffer.
11392         (skip_escaped_newlines, get_effective_char, skip_block_comment,
11393         skip_line_comment, parse_string, lex_percent, lex_dot,
11394         _cpp_lex_token): Update accordingly.
11395         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
11396         generation here.
11397         (cpp_push_buffer): Update prototype.
11398         (run_directive): Update use of cpp_push_buffer.
11399         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
11400         handle_assertion): Update use of run_directive.
11401         * cpplib.h (enum cpp_buffer_type): Remove.
11402         (cpp_push_buffer): Update prototype.
11403         * fix-header.c (read_scan_file): Update.
11404
11405 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11406
11407         * gcc.c (struct prefix_list): Change prefix to const char *.
11408
11409 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11410
11411         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
11412
11413 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
11414
11415         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
11416         from a new MEM.
11417
11418         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
11419         a squeezable note.
11420         * rtl.h: Adjust.
11421         * ifcvt.c (dead_or_predicable): Adjust.
11422         * loop.c (find_and_verify_loops): Adjust.
11423         * stmt.c (expand_end_case): Adjust.
11424         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
11425         head and end insn pointers in the basic block, not just local copies.
11426         (merge_blocks_move_predecessor_nojumps): Likewise.
11427
11428 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
11429
11430         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
11431         bitmap.h, builtin-types.def, builtins.c, builtins.def,
11432         c-aux-info.c, c-common.c, c-common.def, c-common.h,
11433         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
11434         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
11435         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
11436         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
11437         conditions.h, config.gcc, configure.frag, configure.in,
11438         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
11439         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
11440         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
11441         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
11442         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
11443         emit-rtl.c, errors.c, errors.h, except.c, except.h,
11444         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
11445         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
11446         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
11447         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
11448         gencheck.c, gencodes.c, genconfig.c, genemit.c,
11449         genextract.c, genflags.c, gengenrtl.c, genmultilib,
11450         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
11451         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
11452         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
11453         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
11454         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
11455         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
11456         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
11457         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
11458         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
11459         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
11460         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
11461         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
11462         params.h, predict.c, predict.def, predict.h, prefix.c,
11463         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
11464         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
11465         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
11466         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
11467         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
11468         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
11469         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
11470         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
11471         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
11472         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
11473         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
11474         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
11475         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
11476         xcoffout.h: replace "GNU CC" with "GCC".
11477
11478 2001-08-21  Richard Henderson  <rth@redhat.com>
11479
11480         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
11481         (final_scan_insn): Consider jump tables data even if we have no
11482         independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
11483         ADDR_VEC_ALIGN.
11484         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
11485         (ASM_OUTPUT_CASE_END): Remove.
11486         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
11487         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
11488         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
11489
11490 2001-08-21  Richard Henderson  <rth@redhat.com>
11491
11492         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
11493         at barrier insns.  Emit stop bits before barriers.
11494
11495         * flow.c (flow_find_cross_jump): Don't consider unconditional
11496         return insns for commoning.
11497
11498         * final.c (compute_alignments): Fix typo.
11499
11500         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
11501         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
11502         (store_bit_field): Use mode_for_extraction more places.
11503         (extract_bit_field): Likewise.
11504
11505 2001-08-21  Zack Weinberg  <zackw@panix.com>
11506
11507         * caller-save.c: Don't include insn-codes.h.
11508         (reg_save_code, reg_restore_code): Make arrays of int.
11509         All uses updated to match.
11510         (insert_save, insert_restore): No need to initialize "code"
11511         variable upon declaration.
11512         * Makefile.in: update dependencies; fix typo in clean rule.
11513
11514 2001-08-21  Richard Henderson  <rth@redhat.com>
11515
11516         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
11517         (merge_if_block): Handle fallout from same.
11518
11519 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11520
11521         * builtins.c (type_to_class): Fix typo in last change.
11522
11523 2001-08-21  Richard Henderson  <rth@redhat.com>
11524
11525         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
11526         ia64_asm_output_label.
11527
11528         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
11529         copy of gp while the real gp register contains garbage.
11530
11531 2001-08-21  Zack Weinberg  <zackw@panix.com>
11532
11533         * expmed.c (mode_for_extraction): New function.
11534         (store_bit_field, extract_bit_field): Use it.
11535         * expr.h: Prototype it and provide an enum for its first argument.
11536
11537         * combine.c, function.c, recog.c: Don't include insn-codes.h.
11538         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
11539         and digging through the insn_data tables.
11540         * Makefile.in: Update dependencies.
11541
11542 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
11543
11544         * cppfiles.c (stack_include_file): line-map.c now handles include
11545         depth.
11546         (handle_missing_handler): Similarly.
11547         (_cpp_execute_include): Similarly.
11548         (_cpp_pop_file_buffer): Similarly.
11549         * cpphash.h (struct cpp_reader): Remove system_include_depth,
11550         buffer_stack_depth and include_depth.
11551         * cpplib.c (do_include_common): line-map.c now handles include depth.
11552         (cpp_push_buffer): Similarly.
11553         (_cpp_pop_buffer): Similarly.
11554         * cppmacro.c (builtin_macro): Update.
11555         * line-map.c (init_line_maps): Set depth.
11556         (add_line_map): Increment "used" earlier.  Update and use the
11557         include depth.
11558         (trace_include): Use the include depth.
11559         * line-map.h (struct line_maps): New member depth.
11560
11561 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
11562
11563         * cppfiles.c (stack_include_file): Don't handle -H here.
11564         * cppinit.c (cpp_start_read): Set include tracing after
11565         cpp_post_options and after stacking the main file.
11566         * line-map.c (trace_include): New.
11567         (init_line_maps, add_line_map): Update.
11568         * line-map.h (struct line_maps): New member trace_includes.
11569
11570 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
11571
11572         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
11573         * cppfiles.c (stack_include_file): Only stack a file if there
11574         is something to do.  Return a boolean indicating whether a
11575         buffer was stacked or not.
11576         (_cpp_execute_include): Similarly.
11577         (_cpp_read_file): Similarly.
11578         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
11579
11580 2001-08-21  Sam Steingold  <sds@gnu.org>
11581
11582         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
11583         (RECACHE): keep obufp_before_macroname up to date
11584
11585 2001-08-21  Zack Weinberg  <zackw@panix.com>
11586
11587         * stmt.c: Don't include insn-codes.h.
11588         (expand_end_case): Machine specific logic moved to expr.c.
11589         No need to worry about __builtin_classify_type.
11590         (check_for_full_enumeration_handling, emit_case_nodes):
11591         Kill #if 0 blocks.
11592
11593         * builtins.o (expand_builtin_classify_type): Split up so code
11594         can be shared with fold_builtin_classify_type.
11595         (type_to_class, fold_builtin_classify_type): New functions.
11596         (fold_builtins): Handle __builtin_classify_type.
11597
11598         * expr.c (do_tablejump): Now static.
11599         (case_values_threshold, try_casesi, try_tablejump): New;
11600         code mostly from stmt.c (expand_end_case).
11601         (expr.h): Update prototypes.
11602
11603         * Makefile.in (stmt.o): Update dependencies.
11604
11605 2001-08-21  Will Cohen  <wcohen@redhat.com>
11606
11607         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
11608         declaration of variable i.
11609         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
11610         declaration of variable i.
11611
11612 2001-08-21  Richard Henderson  <rth@redhat.com>
11613
11614         * crtstuff.c: Fix thinko last change.  Move list tails to start
11615         of CRT_END section.  Tidy ifdefs.
11616         (__EH_FRAME_BEGIN__): Always static for ELF.
11617         (__do_global_ctors_1): Rename from __frame_dummy.
11618         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
11619         name change; don't hide __EH_FRAME_BEGIN__.
11620
11621 2001-08-21  Richard Henderson  <rth@redhat.com>
11622
11623         * gdbinit.in: Move break on exit after break on fancy_abort.
11624
11625         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
11626         sized types.
11627
11628 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
11629
11630         * cpphash.h (_cpp_push_next_buffer): New.
11631         * cppinit.c (do_includes): Remove.
11632         (push_include, free_chain, _cpp_push_next_buffer): New.
11633         (cpp_start_read): Use them to rework command line option handling.
11634         (cpp_handle_option): Combine handling of -include and -imacros.
11635         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
11636         appropriate.  Always insert missing \n at EOF.
11637         * cpplib.c (start_directive): Get the directive position right.
11638         * cppmain.c (cb_file_change): Always print the first line, unless
11639         preprocessed.
11640
11641 2001-08-20  Andreas Jaeger  <aj@suse.de>
11642
11643         * profile.c (compute_branch_probabilities): Remove extra new-line
11644         in error message.
11645         * flow.c (verify_flow_info): Likewise.
11646
11647 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
11648
11649         * basic-block.h (basic_block): Add new field 'flags'.
11650         (BB_REACHABLE): Define.
11651         (expunge_block): Declare.
11652         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
11653         (EXIT_BLOCK_PTR): Ditto.
11654         (expunge_block): Remove static declaration.
11655         (cleanup_cfg): Clear bb->aux on every basic block.
11656         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
11657         computing reachability.
11658         (delete_unreachable_blocks): Delete block b if b->flags has
11659         BB_REACHABLE unset.
11660
11661 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
11662
11663         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
11664
11665 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11666
11667         * sparc.c (sparc_variable_issue): Fix typo in last change.
11668
11669 2001-08-20  Richard Henderson  <rth@redhat.com>
11670
11671         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
11672
11673 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11674
11675         * pa.h (RETURN_IN_MEMORY): Improve comment.
11676
11677 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
11678
11679         * doc/invoke.texi (Profiling options): Clarify the interactions
11680         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
11681
11682 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
11683
11684         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
11685         command.
11686
11687 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
11688
11689         * gcc.c (make_relative_prefix): Allocate a sufficiently large
11690         buffer.
11691
11692 2001-08-20  Richard Henderson  <rth@redhat.com>
11693
11694         * final.c (end_final): Fix typo last change.
11695
11696 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
11697
11698         * cppinit.c (init_standard_includes): The returned buffer
11699         is already malloc-ed.
11700         * gcc.c (add_prefix): Similarly.
11701         * prefix.c (translate_name): Update to support clear buffer
11702         ownership rules.
11703         (update_path): Similarly.  Be sure to free any newly allocated
11704         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
11705         (tr): New function.
11706         * prefix.h (update_path): Update prototype and document.
11707         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
11708         up and update to new buffer ownership rules.
11709         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
11710
11711 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
11712
11713         * final.c (compute_alignments): New function.
11714         (init_insn_lengths): Do not care label_align.
11715         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
11716         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
11717         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
11718         (shorted_branches): Realloc label_align array; do
11719         not call init_insn_lengths; Do not care about loop alignments.
11720         * output.h (compute_alignments): Declare.
11721         * toplev.c (rest_of_compilation): Call compute_alignments.
11722         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
11723
11724         * predict.c (block_info_def): Add npredecesors, remove nvisited;
11725         change visited to tovisit.
11726         (propagate_freq): Use faster traversing algorithm.
11727         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
11728         to tovisit; reverse meaning.
11729
11730         * predict.c (struct block_info_def): Remove nvisited.
11731         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
11732         (estimate_bb_frequencies): Call mark_dfs_back_edges.
11733
11734 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
11735
11736         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
11737         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
11738         (TARGET_FUSED_MADD): New.
11739         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
11740         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
11741         the multiply-add instructions.
11742
11743 2001-08-19  Richard Henderson  <rth@redhat.com>
11744
11745         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
11746         is aligned to pointer size.
11747
11748 2001-08-19  Richard Henderson  <rth@redhat.com>
11749
11750         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
11751         display markers during final schedule.
11752
11753 2001-08-19  Richard Henderson  <rth@redhat.com>
11754
11755         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
11756
11757 2001-08-19  Richard Henderson  <rth@redhat.com>
11758
11759         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
11760         in the same string.
11761         (ASM_NAME_TO_STRING): Remove.
11762         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
11763         in the same string.  Remove support for expressions.
11764
11765 2001-08-19  Richard Henderson  <rth@redhat.com>
11766
11767         * config/i386/i386.md (tablejump): Make an expander; handle
11768         pic relative addressing here.
11769         (tablejump_1): Rename from tablejump_pic.
11770         (casesi): Remove.
11771
11772 2001-08-19  Richard Henderson  <rth@redhat.com>
11773
11774         * regclass.c (fix_register): Fix typo.
11775
11776 2001-08-18  Richard Henderson  <rth@redhat.com>
11777
11778         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
11779         (struct _Unwind_Context): Expand br_loc to hold it.
11780         (uw_frame_state_for): Handle leaf functions better.
11781         (uw_update_reg_address): Update for br_loc change.
11782
11783 2001-08-18  Richard Henderson  <rth@redhat.com>
11784
11785         * crtstuff.c: Move list heads before code that uses them.
11786         (__JCR_LIST__): Remove initial null.
11787         (frame_dummy, __frame_dummy): Do java registration here ...
11788         (__do_global_ctors_aux): ... not here.
11789
11790         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
11791         (__do_global_dtors_aux): Update to match.
11792         (__JCR_LIST__, __do_jv_register_classes): New.
11793         (.init): Call it.
11794         * config/ia64/crtend.asm (__JCR_END__): New.
11795         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
11796         instead of an indirect LTOFF22 reloc.
11797
11798 2001-08-18  Richard Henderson  <rth@redhat.com>
11799
11800         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
11801         * regclass.c (init_reg_sets_1): Fix typo.
11802         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
11803         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
11804         (ia64_compute_frame_size): Make ar.unat live when in use.
11805         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
11806         for ar.pfs; remove ar.unat handling.
11807         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
11808         call-saved.
11809         (PREDICATE_CODES): Add ar_pfs_reg_operand.
11810         * config/ia64/ia64-protos.h: Update decls.
11811         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
11812         (sibcall_pic): Likewise.
11813
11814 2001-08-18  Richard Henderson  <rth@redhat.com>
11815
11816         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
11817         pred_rel_mutex when searching for insn_group_barrier.
11818         * config/ia64/ia64.md (cycle_display): Combine the expander
11819         and insn patterns.
11820
11821         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
11822         bit before asm as needed.
11823
11824 2001-08-18  Richard Henderson  <rth@redhat.com>
11825
11826         * timevar.def (TV_MACH_DEP): New.
11827         * toplev.c (rest_of_compilation): Use it.
11828         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
11829
11830 2001-08-18  Zack Weinberg  <zackw@panix.com>
11831
11832         * unwind-dw2.c (execute_stack_op): Add default aborts to
11833         the inner switches to prevent warnings.
11834
11835 2001-08-18  Richard Henderson  <rth@redhat.com>
11836
11837         * timevar.h (struct timevar_time_def): Change element type to float.
11838         (ticks_to_msec, clocks_to_msec): Likewise.
11839         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
11840         (get_time): Likewise.
11841         (timevar_print): Adjust zero check and printing to match.
11842
11843 2001-08-18  Zack Weinberg  <zackw@panix.com>
11844
11845         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
11846         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
11847         Eliminate overfull or underfull hboxes.
11848
11849 2001-08-18  Zack Weinberg  <zackw@panix.com>
11850
11851         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11852
11853 2001-08-18  Zack Weinberg  <zackw@panix.com>
11854
11855         * haifa-sched.c: Convert to target hooks.  Macros replaced
11856         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
11857         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
11858         MD_SCHED_FINISH, and HAVE_cycle_display.
11859         * target-def.h (TARGET_SCHED_ADJUST_COST,
11860         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
11861         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
11862         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
11863         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
11864         New hook #defines to be overridden.
11865         (TARGET_SCHED): Bring them all together.
11866         (TARGET_INITIALIZER): Update.
11867         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
11868         instead of 'struct rtx_def *' throughout.
11869         (struct sched): New set of hooks for the scheduler.
11870         * Makefile.in (haifa-sched.o): Depend on target.h.
11871         * doc/tm.texi: Document the new scheduler hooks, together in
11872         their own section, instead of scattered around.
11873         Fix a bunch of underfull/overfull hboxes.
11874
11875         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
11876         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
11877         sparc.h: Don't define any of the old scheduler macros.
11878
11879         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
11880         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
11881         sparc.c: Create hook functions from code extracted from
11882         corresponding target header, or make existing hooks static, as
11883         appropriate.  Set the appropriate entries in targetm.
11884
11885         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
11886         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
11887         rs6000-protos.h, s390-protos.h, sparc-protos.h:
11888         Remove prototypes for functions which are now static.
11889
11890         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
11891         related gunk; the Haifa scheduler is now the only choice.
11892
11893 2001-08-18  Zack Weinberg  <zackw@panix.com>
11894
11895         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
11896         * genopinit.c: Put floating point divide insns in sdiv_optab.
11897         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
11898         * config/gofast.h, config/c4x/c4x.h,
11899         config/ia64/hpux_longdouble.h, config/mips/mips.h,
11900         config/pa/long_double.h, config/rs6000/sysv4.h,
11901         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
11902         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
11903         (init_optabs): Use init_optabv for overflow-trapping optabs.
11904         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
11905         cmp_optab RTX codes so have_insn_for can find them.
11906
11907         * optabs.c (expand_simple_binop, expand_simple_unop,
11908         have_insn_for, gen_sub3_insn): New interfaces.
11909         * expr.h: Prototype new functions.
11910         (enum optab_methods): Move here from optabs.h.
11911
11912         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
11913         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
11914         Use new functions instead of working directly with optabs.
11915         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
11916         unroll.c: Don't include optabs.h.
11917         * caller-save.c, combine.c, function.c, stmt.c: Just include
11918         insn-codes.h, not optabs.h.
11919         * Makefile.in: Update dependencies.
11920
11921         * combine.c (make_compound_operation, simplify_comparison):
11922         Fix typos testing for this or that instruction.
11923
11924 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
11925
11926         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
11927         generating libgcc.a.
11928
11929 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11930
11931         * except.c (TYPE_HASH): Delete.
11932
11933         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
11934         HOST_WIDE_INT.
11935
11936         * tree.c (TYPE_HASH): Delete.
11937
11938         * tree.h (TYPE_HASH): Define.
11939
11940 2001-08-18  Graham Stott  <grahams@redhat.com>
11941
11942         * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
11943         define_split.
11944         (adddi3_internal_2+2): Likewise.
11945         (eh_set_lr_di+1): Likewise.
11946
11947 2001-08-17  Richard Henderson  <rth@redhat.com>
11948
11949         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11950         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
11951         * dwarf2asm.c: ... here.
11952         * dwarfout.c: Remove them.
11953
11954         * varasm.c (assemble_integer): Add align parameter.
11955         (assemble_real, output_constant, output_constructor): Likewise.
11956         * output.h: Update decls.
11957         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
11958         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
11959         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
11960         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
11961         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
11962         Update all callers.
11963
11964         * final.c (end_final): Abort profile block generation if we
11965         haven't layed it out properly.
11966         * output.h (assemble_eh_integer): Remove stale decl.
11967         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
11968         (min_align): New.
11969         (assemble_integer): Handle unaligned data.
11970         (assemble_real): Abort on unaligned data.
11971         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
11972         anything useful.
11973         (default_dtor_section_asm_out_destructor): Use assemble_align.
11974         (default_named_section_asm_out_constructor): Likewise.
11975         (default_ctor_section_asm_out_constructor): Likewise.
11976         * config/darwin.c (machopic_asm_out_constructor): Likewise.
11977         (machopic_asm_out_destructor): Likewise.
11978         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
11979         (nextstep_asm_out_destructor): Likewise.
11980         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
11981         (vms_asm_out_destructor): Likewise.
11982
11983 2001-08-17  Richard Henderson  <rth@redhat.com>
11984
11985         * config/mips/iris6.h (TARGET_IRIX6): New.
11986         (current_section_name, current_section_flags): New.
11987         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
11988         (MAX_OFILE_ALIGNMENT): New.
11989         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
11990         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
11991         (copy_file_data): Split out from
11992         (mips_asm_file_end): ... here.
11993         (mips_asm_file_start): Remove extra .section directive.  Use
11994         tmpfile instead of mips_make_temp_file.
11995         (mips_unique_section): Use const char * as needed for warnings.
11996         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
11997         re-add align parameter.
11998         (iris6_asm_named_section): New.
11999         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
12000         (iris6_asm_output_align, iris6_section_align_1): New.
12001         (iris6_asm_file_start, iris6_asm_file_end): New.
12002         * config/mips/mips-protos.h: Update decls.
12003
12004 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
12005
12006         * doc/install.texi (Install GCC): Add links to build status pages.
12007         (Specific): Ditto.
12008         (Final install): Ditto; request updates for specific info
12009
12010 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
12011
12012         * cpperror.c (print_location):  Don't take a file name; use the
12013         line map instead.
12014         (_cpp_begin_message): Similarly.
12015         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
12016         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
12017         (cpp_pedwarn_with_file_and_line): Remove.
12018         * cppfiles.c (stack_include_file): Update; set filename to stdin
12019         here when appropriate.
12020         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
12021         (_cpp_begin_message): Don't take a file name.
12022         * cppinit.c: Add comment.
12023         * cpplex.c: Fix end-of-directive indicator.
12024         * cpplib.c: Don't include intl.h.
12025         (run_directive, do_diagnostic): Update.
12026         (do_line): Update to not use nominal_fname.
12027         (cpp_push_buffer): Don't take a filename.
12028         * cpplib.h (struct ht): Remove.
12029         (cpp_push_buffer): Don't take a filename.
12030         (cpp_pedwarn_with_file_and_line): Remove.
12031         * cppmacro.c (struct cpp_macro): Remove file.
12032         (builtin_macro): Update.
12033         (_cpp_create_definition): Update.
12034         * cppmain.c: Correct comment.
12035         * fix-header.c (read_scan_file): Update.
12036
12037 2001-08-17  Kazu Hirata  <kazu@hxi.com>
12038
12039         * sbitmap.c: Fix comment formatting.
12040         * sched-deps.c: Likewise.
12041         * sibcall.c: Likewise.
12042         * simplify-rtx.c: Likewise.
12043         * ssa.c: Likewise.
12044         * ssa-ccp.c: Likewise.
12045         * stor-layout.c: Likewise.
12046         * timevar.c: Likewise.
12047         * toplev.c: Likewise.
12048         * unwind-dw2.c: Likewise.
12049         * unwind-dw2-fde.c: Likewise.
12050         * varasm.c: Likewise.
12051
12052 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12053
12054         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
12055         or larger than an integer in memory.
12056
12057 2001-08-17  Zack Weinberg  <zackw@panix.com>
12058
12059         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
12060         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
12061         * rtl.h: Don't forward-declare union tree_node here.  Don't
12062         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
12063         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12064         and tree respectively.
12065         * tree.h: Don't forward-declare struct rtx_def here.  Don't
12066         typedef tree here.  Change all uses of struct rtx_def *,
12067         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12068         and tree respectively.
12069
12070 2001-08-17  Richard Henderson  <rth@redhat.com>
12071
12072         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
12073         config/mips/openbsd.h: Fix typos last change.
12074
12075 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12076
12077         * doc/invoke.texi (Optimize Options): The default for
12078         -finline-limit is 600.
12079
12080 2001-08-17  Richard Henderson  <rth@redhat.com>
12081
12082         * varasm.c (text_section): Allow TEXT_SECTION to override the
12083         printing of TEXT_SECTION_ASM_OP.
12084         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
12085         (DATA_SECTION, BSS_SECTION): Remove.
12086         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
12087         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
12088         Rename from s/_NAME//.
12089         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
12090         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
12091         (TEXT_SECTION): ... here.  New.
12092         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
12093         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
12094         * config/mips/openbsd.h: Likewise.
12095         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
12096         (mips_asm_file_end): Likewise test.
12097         (mips_output_function_epilogue): Likewise.  Switch back to data
12098         section after emitting the function.
12099
12100         * doc/tm.texi (Sections): Document TEXT_SECTION.
12101
12102 2001-08-17  Richard Henderson  <rth@redhat.com>
12103
12104         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
12105         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
12106
12107 2001-08-17  Richard Henderson  <rth@redhat.com>
12108
12109         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
12110         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
12111         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
12112         Add aligned attribute.
12113
12114 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
12115
12116         * config/sh/sh.md: Add modes to unspecs in first insn to match
12117         those in the second.
12118
12119         * Makefile.in: Fix collect2 copy for Cygwin.
12120
12121 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
12122
12123         Install the proper patch.
12124         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12125         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12126         (expand_function_start): Likewise.
12127         * stmt.c (expand_decl): Likewise.
12128         * varasm.c (make_decl_rtx): Likewise.
12129
12130 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
12131
12132         * final.c: Undo my previous accidental checkin.
12133         * output.h: Likewise.
12134         * tm.texi: Likewise.
12135
12136 2001-08-16  Richard Henderson  <rth@redhat.com>
12137
12138         * varasm.c (named_section_flags): Remove align parameter.
12139         * varasm.c, dwarf2out.c: Update all callers.
12140         * output.h: Update prototypes.
12141
12142         * target.h (target.asm_out.named_section): Remove align parameter.
12143         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
12144         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
12145         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
12146         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
12147         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
12148
12149         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
12150         (get_named_section_flags, set_named_section_flags): New.
12151         (named_section_flags): Use them.
12152         (named_section): Do decl vs section flags check here...
12153         (default_section_type_flags): ... not here.
12154         (init_varasm_once): Create in_named_htab.
12155         (resolve_unique_section): Mark reloc unused.
12156
12157 2001-08-16  Richard Henderson  <rth@redhat.com>
12158
12159         * varasm.c (force_const_mem): Keep pool alignment in bits.
12160         (output_constant_pool): Use assemble_align.
12161
12162 2001-08-16  Zack Weinberg  <zackw@panix.com>
12163
12164         * doc/tm.texi: Remove extra @table command.
12165
12166 2001-08-16  Zack Weinberg  <zackw@panix.com>
12167
12168         * final.c (shorten_branches): Clear the end of the label_align
12169         array only if we made it larger.  Break up messy expressions
12170         for clarity.
12171
12172         * diagnostic.c (internal_error): Check for error recursion
12173         before doing ICE suppression.
12174
12175         * timevar.c: Timing variables now count in milliseconds.
12176         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
12177         (get_time): Not here.
12178         (timevar_print): Don't print any timer whose user, cpu, and
12179         wall times are all zero as displayed.
12180         * timevar.h: Update comment aboout units.  Make timevar
12181         counters unsigned.
12182
12183 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
12184
12185         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12186         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12187         (expand_function_start): Likewise.
12188         * stmt.c (expand_decl): Likewise.
12189         * varasm.c (make_decl_rtx): Likewise.
12190
12191 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
12192
12193         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
12194         (finalize_record_size): Don't set TYPE_USER_ALIGN.
12195
12196 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12197
12198         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
12199         variables.
12200
12201 2001-08-16  Andreas Jaeger  <aj@suse.de>
12202
12203         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
12204         prototype.
12205
12206 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
12207
12208         * rtl.h (only_sets_cc0_p): New prototype.
12209         * jump.c (sets_cc0_p): Handle INSN.
12210         (only_sets_cc0_p): New function.
12211         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
12212         (tidy_fallthru_edge): Likewise.
12213         * integrate.c (copy_insn_list): Likewise.
12214         * unroll.c (unroll_loop): Likewise.
12215         (copy_loop_body): Likewise.
12216
12217 2001-08-15  Jason Eckhardt  <jle@redhat.com>
12218
12219         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
12220
12221 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
12222
12223         * predict.c (struct block_info_def): Remove nvisited.
12224         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12225         (estimate_bb_frequencies): Call mark_dfs_back_edges.
12226
12227         * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
12228         (ix86_adjust_cost): Teach scheduler that latency to load operand can
12229         be masked.
12230
12231 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
12232
12233         * predict.def: Update hitrates.
12234
12235 2001-08-15  Richard Henderson  <rth@redhat.com>
12236
12237         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
12238
12239 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
12240
12241         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
12242         note from its associated jump.
12243
12244 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
12245
12246         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
12247         also on 64-bit s390x targets.
12248
12249 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
12250
12251         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
12252         function.
12253         (arm_expand_prologue): Handled nested functions which take a
12254         variable argument list.
12255         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
12256         macro with an invocation of
12257         arm_compute_initial_elimination_offset.
12258         * config/arm/arm-protos.h: Prototype
12259         arm_compute_initial_elimination_offset.
12260
12261 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12262
12263         * doc/install.texi (Specific, avr): Fix markup.
12264         (Specific, c4x): Ditto.
12265
12266 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
12267
12268         * predict.c (dump_prediction): Change `bool' parameter to `int'.
12269
12270 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
12271
12272         * Makefile.in (OBJS): Add rtl-error.o
12273         (rtl-error.o): New rule.
12274         (diagnostic.o): Adjust dependency.
12275         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
12276         error_for_asm, _fatal_insn, _fatal_insn_not_found,
12277         warning_for_asm): Move to...
12278         rtl-error.c: ...here.  New file.
12279
12280 2001-08-14  Richard Henderson  <rth@redhat.com>
12281
12282         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
12283         if USING_SJLJ_EXCEPTIONS.
12284
12285 2001-08-14  Steve Ellcey <sje@cup.hp.com>
12286
12287         * tlink.c (scan_linker_output): Check string for unsatisfied in
12288         addition to undefined and unresolved.
12289
12290 2001-08-14  Graham Stott  <grahams@redhat.com>
12291
12292         * libgcc2.c (*): Replace EH_FRAME_SECTION with
12293         EH_FRAME_SECTION_NAME.
12294
12295 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
12296
12297         * genattrtab.c (simplify_test_exp_in_temp): New function.
12298         (simplify_test_exp): Avoid explicit use of temporary obstack.
12299         (simplify_cond, insert_right_side, evaluate_eq_attr,
12300         simplify_and_tree, simplify_or_tree, eliminate_known_true):
12301         Use simplify_test_exp_in_temp.
12302         (optimize_attrs): Iterate until expression stabilizes.
12303
12304 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
12305
12306         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
12307         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
12308
12309 2001-08-13  Richard Henderson  <rth@redhat.com>
12310
12311         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
12312         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
12313         * config/arm/conix-elf.h: Likewise.
12314
12315 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
12316
12317         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
12318         in gcc.c.
12319         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12320
12321         * gcse.c (hash_scan_set): Expressions that are set as part of
12322         jump instructions are not available.
12323
12324 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
12325
12326         * config/s390/s390.c (print_operand, s390_function_prologue,
12327         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
12328
12329 2001-08-13  Richard Henderson  <rth@redhat.com>
12330
12331         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
12332         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
12333         * doc/tm.texi (Exception Region Output): Document it.
12334
12335 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
12336
12337         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
12338         DWARF2 instead of stabs by default.
12339
12340 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
12341
12342         * config/rs6000/rs6000.c: Include optabs.h.
12343
12344 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
12345
12346         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
12347         save/restore routines.
12348         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
12349
12350 2001-08-13  Andreas Jaeger  <aj@suse.de>
12351
12352         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
12353         the english is correct.
12354
12355 2001-08-13  Zack Weinberg  <zackw@panix.com>
12356
12357         * expr.h: Split out optab- and libfunc-related code to...
12358         * optabs.h, libfuncs.h: ... these new headers.
12359
12360         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
12361         (OPTABS_H): New.
12362         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
12363         dependencies.
12364         * mkconfig.sh: Don't include insn-codes.h from config.h.
12365
12366         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
12367         enum insn_code is available.  Move reload_in_optab and
12368         reload_out_optab array declarations to optabs.h.
12369         * regmove.c (gen_add3_insn): Move to optabs.c, export from
12370         there, prototype in expr.h.
12371         * gencodes.c: Cleanup: zap global variables, don't use
12372         printf where puts will do, don't bother defining MAX_INSN_CODE
12373         which nothing uses, let CODE_FOR_nothing get its value implicitly.
12374
12375         * genemit.c, genopinit.c: Include optabs.h in generated file.
12376         * genoutput.c: Include insn-codes.h in generated file.
12377         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
12378         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
12379         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
12380         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
12381         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
12382         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
12383         Include optabs.h.
12384         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
12385         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
12386         config/m88k/m88k.c, config/sparc/sparc.c:
12387         Include libfuncs.h.
12388         * reload.c: Include expr.h and optabs.h before reload.h.
12389         * config/alpha/alpha.c: Include tree.h before reload.h.
12390         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
12391         and reload.h in that order.
12392         * config/sparc/sparc.c: Include debug.h.
12393         * recog.c: Include insn-codes.h.
12394
12395 2001-08-13  Andreas Jaeger  <aj@suse.de>
12396
12397         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
12398         s390*linux.
12399
12400 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
12401
12402         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
12403         * gcc.c (init_spec): Fix typo in comment.
12404         * varasm.c (data_section): Fix typo in comment.
12405
12406 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
12407
12408         * predict.c (dump_prediction): New argument "USED".
12409         (combine_predictions_for_insn): Determine the used heuristics,
12410         output the case no heuristic applied.
12411         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
12412
12413 2001-08-13  Andreas Jaeger  <aj@suse.de>
12414
12415         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
12416         register %rip.
12417
12418 2001-08-13  Kazu Hirata  <kazu@hxi.com>
12419
12420         * jump.c: Fix formatting.
12421
12422 2001-08-13  Kazu Hirata  <kazu@hxi.com>
12423
12424         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
12425         length.
12426
12427 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
12428
12429         * loop.c (check_dbra_loop): Use condjump_label to compute
12430         jump_label.
12431
12432         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
12433         to better document the files they're in.
12434
12435 2001-08-12  Zack Weinberg  <zackw@panix.com>
12436
12437         * recog.h (struct insn_operand_data): Shrink 'mode' field
12438         to 16 bits.
12439
12440 2001-08-12  Kazu Hirata  <kazu@hxi.com>
12441
12442         * gcc.c: Fix comment formatting.
12443         * gccspec.c: Likewise.
12444         * gcov.c: Likewise.
12445         * gcse.c: Likewise.
12446         * genemit.c: Likewise.
12447         * gengenrtl.c: Likewise.
12448         * genrecog.c: Likewise.
12449         * gensupport.c: Likewise.
12450         * ggc-page.c: Likewise.
12451         * global.c: Likewise.
12452         * graph.c: Likewise.
12453         * ifcvt.c: Likewise.
12454         * integrate.c: Likewise.
12455         * lcm.c: Likewise.
12456         * libgcc2.c: Likewise.
12457         * loop.c: Likewise.
12458         * mbchar.c: Likewise.
12459         * optabs.c: Likewise.
12460         * predict.c: Likewise.
12461         * prefix.c: Likewise.
12462         * profile.c: Likewise.
12463         * protoize.c: Likewise.
12464         * real.c: Likewise.
12465         * recog.c: Likewise.
12466         * regclass.c: Likewise.
12467         * regmove.c: Likewise.
12468         * reg-stack.c: Likewise.
12469         * reload1.c: Likewise.
12470         * resource.c: Likewise.
12471         * rtlanal.c: Likewise.
12472         * rtl.c: Likewise.
12473
12474 2001-08-12  Kazu Hirata  <kazu@hxi.com>
12475
12476         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
12477         a tree representing a constant is passed to the macro.
12478
12479 2001-08-12  Richard Henderson  <rth@redhat.com>
12480
12481         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
12482         (rs6000_elf_asm_out_destructor): New.
12483         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
12484         (DTORS_SECTION_ASM_OP): Remove.
12485         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12486         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
12487
12488 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
12489
12490         Revert:
12491         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12492         * gcc.c (set_collect_gcc_options): New function, split out from
12493         main.
12494         Ignore elided switches.
12495         (do_spec_1): Invoke before executing command.
12496         (set_input): Export.
12497         Move declaration ...
12498         * gcc.h (set_input): ... here.
12499         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
12500         file.
12501
12502 2001-08-12  Richard Henderson  <rth@redhat.com>
12503
12504         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
12505         thinko wrt TARGET_RELOCATABLE.
12506
12507 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
12508
12509         * fix-header.c (cb_file_change): Update prototype.
12510
12511 2001-08-11  Zack Weinberg  <zackw@panix.com>
12512
12513         * toplev.c (set_float_handler): Make static.
12514         * toplev.h: Don't prototype set_float_handler.
12515
12516         * simplify-rtx.c: Don't include setjmp.h.
12517         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
12518         New functions.
12519         (simplify_unary_operation, simplify_binary_operation): Use them,
12520         via do_float_handler.
12521
12522         * fold-const.c: Don't include setjmp.h.
12523         (exact_real_inverse_1): New function.
12524         (exact_real_inverse): Use it, via do_float_handler.
12525
12526         * varasm.c: Don't include setjmp.h.
12527         (assemble_real_1): New function.
12528         (assemble_real): Use it, via do_float_handler.
12529         Call internal_error if we get a trap here.
12530
12531         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
12532         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
12533
12534 2001-08-11  Zack Weinberg  <zackw@panix.com>
12535
12536         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
12537         STACK_BOUNDARY if not already defined.
12538
12539         * calls.c, function.c, reload1.c, explow.c: Don't default
12540         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
12541         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
12542
12543         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
12544         to run-time test.
12545
12546         * doc/tm.texi: Document that STACK_BOUNDARY is required;
12547         clarify difference between it and PREFERRED_STACK_BOUNDARY.
12548
12549 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12550
12551         * cppmacro.c (enter_macro_context): Push macro expansions even
12552         if empty.
12553
12554 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12555
12556         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
12557         (rs6000_elf_section_type_flags): Actually return a value.
12558
12559 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
12560
12561         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
12562         Clean up code: add missing comments and prototypes, fix warnings,
12563         remove obsolete code, fix spacing to conform to coding style.
12564
12565 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
12566
12567         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
12568         and TARGET_ASM_CLOSE_PAREN.
12569         (regclass_map): CC register belongs to class NO_REGS.
12570         (legitimize_pic_address): Don't generate unnecessary moves
12571         (to avoid confusing loop optimization).
12572         (check_and_change_labels): Replace jump_long by indirect_jump.
12573         (s390_final_chunkify): Don't start a new literal pool on section
12574         switch in 64-bit code.
12575         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
12576
12577         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
12578         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
12579         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
12580         modes correctly.
12581         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
12582         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
12583         (CONST_COSTS): Fixed incorrect costs.
12584
12585         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
12586         Use emit_jump instead of emit_jump_insn (gen_jump).
12587         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
12588         (to avoid confusing flow analysis).
12589         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
12590         (casesi, casesi_jump): New.
12591         (jump_long): Removed.  Functionality merged into indirect_jump.
12592         (indirect_jump): Accept address_operand, not just register_operand.
12593         (cjump_long, icjump_long): Use same logic as indirect_jump.
12594         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
12595         Fixed broken setjmp/longjmp handling.
12596         (do_builtin_setjmp_setup): Removed.
12597
12598         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
12599         broken GNU as versions that don't accept .quad with large
12600         negative values.  Use hexadecimal output instead.
12601         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
12602         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
12603         FUNCTION_EPILOGUE): Removed.  Now in targetm.
12604
12605         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
12606
12607         * config/s390/fixdfdi.h: Add missing copyright statement.
12608         Fix type conflicts on 64-bit.  Add missing SFmode routines.
12609
12610         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
12611         email address.
12612
12613 2001-08-11  Richard Henderson  <rth@redhat.com>
12614
12615         * rtl.h (REG_EH_RETHROW): Remove.
12616         * rtl.c (reg_note_name): Update.
12617         * combine.c (distribute_notes): Don't check for it.
12618
12619 2001-08-11  Richard Henderson  <rth@redhat.com>
12620
12621         * combine.c (distribute_notes): Place REG_SETJMP.
12622
12623 2001-08-11  Richard Henderson  <rth@redhat.com>
12624
12625         * doc/extend.texi (Arrays and pointers implementation): Discourage
12626         relying on sign-extension of pointers.
12627
12628 2001-08-11  H.J. Lu <hjl@gnu.org>
12629
12630         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
12631         in_dtors.
12632         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
12633         RDATA_SECTION_ASM_OP.
12634
12635 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12636
12637         * doc/install.texi (Specific, c4x): Fix cross-reference to the
12638         main manual to work both for info and HTML versions.
12639
12640 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12641             Matt Kraai <kraai@alumni.carnegiemellon.edu>
12642
12643         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
12644         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
12645         (struct cpp_pool): New member first.
12646         * cppinit.c (append_include_chain): Plug memory leaks.
12647         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
12648         Allocate pragma structures from the (aligned) macro pool to
12649         avoid leaking memory.
12650         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
12651         so we don't leak memory.
12652         * hashtable.c (ht_destroy): New.
12653         * hashtable.h (ht_destroy): New.
12654
12655 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
12656             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
12657
12658         * c-lex.c (map): Make const.
12659         (cb_file_change): Update for callback passing a line map.
12660         Don't assume we have a previous map.  Remove sanity check
12661         about popping too many files.
12662         * cpperror.c (print_location): Make map const.
12663         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
12664         (cpp_make_system_header): Similarly.
12665         (search_from): Similarly.
12666         (_cpp_execute_include): Don't remember where we came from.
12667         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
12668         (struct cpp_reader): Make map const.
12669         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
12670         * cpplib.c (do_line): Update; line maps now hold sysp.
12671         (cpp_push_buffer): Similarly.
12672         (_cpp_do_file_change): Similarly; callback with map instead.
12673         (cpp_get_line_maps): Constify return value.
12674         (_cpp_pop_buffer): Update.
12675         * cpplib.h (struct cpp_file_change): Remove.
12676         (struct cpp_callbacks): Update.
12677         (cpp_get_line_maps): Constify return value.
12678         * cppmacro.c (_cpp_create_definition): Update.
12679         * cppmain.c (struct printer): Constify map.
12680         (maybe_print_line): Similarly.
12681         (print_line): Similarly.  Deduce flags 1 and 2 here.
12682         (cb_file_change): Update.
12683         * line-map.c (free_line_maps): Warn regardless.
12684         (add_line_map): Return pointer to const.  When passed NULL to_file
12685         with LC_LEAVE, use the obvious values for the return point so the
12686         caller doesn't have to figure them out.
12687         (lookup_line): Return pointer to const.
12688         (print_containing_files): Take pointer to const.
12689         * line-map.h (struct line_map): New members reason, sysp.
12690         (add_line_map): Return pointer to const.
12691         (lookup_line): Similarly.
12692         (print_containing_files): Take pointer to const.
12693
12694 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
12695             Richard Henderson  <rth@redhat.com>
12696
12697         * regmove.c (regmove_optimize): Avoid setting a register twice in
12698         a parallel set.
12699
12700 2001-08-10  Richard Henderson  <rth@redhat.com>
12701
12702         * doc/extend.texi (Arrays and pointers implementation): Document
12703         behavior of pointer/integer conversion.
12704
12705 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
12706
12707         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
12708
12709 2001-08-10  Richard Henderson  <rth@redhat.com>
12710
12711         * doc/extend.texi (C Implementation): New chapter.
12712         * doc/gcc.texi (Top): Link it in.
12713
12714 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
12715
12716         * doc/install.texi (Specific): Fix CVS merge botch.
12717
12718 2001-08-10  Richard Henderson  <rth@redhat.com>
12719
12720         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
12721         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
12722
12723 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
12724
12725         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
12726         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
12727         this macro is now required.
12728
12729         * cselib.c (cselib_process_insn), flow.c (propagate_block),
12730         loop.c (find_and_verify_loops), reload.c (reload): Check
12731         for rtx code of CALL_INSN, not CALL, when deciding if we
12732         need to check for REG_SETJMP note.
12733
12734         * gcse.c (compute_hash_table, compute_store_table): Update
12735         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
12736         logic.
12737
12738         * config/avr/avr.c: Fix typo.
12739         * config/convex/convex.c (expand_movstr): Use adjust_address.
12740         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
12741         variable.
12742         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
12743         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
12744         Fix typo.
12745         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
12746         Do define STACK_BOUNDARY.
12747         * config/i370/i370.c: Include expr.h.
12748         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
12749         config/pa/som.h, config/v850/v850.h: Take in_ctors and
12750         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
12751         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
12752         * config/m88k/m88k.c: Include c-tree.h after expr.h.
12753         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
12754         * config/romp/romp.c: Include expr.h after tree.h.
12755         Include toplev.h.
12756         (output_fpop): Use xmalloc, not oballoc.
12757         * config/we32k/we32k.c: Include expr.h.
12758
12759 2001-08-10  Kazu Hirata  <kazu@hxi.com>
12760
12761         * config/h8300/h8300.h: Fix formatting.
12762
12763 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
12764
12765         * c-common.h (RETURN_NULLIFIED_P): Lose.
12766         * c-semantics.c (genrtl_return_stmt): Don't check it.
12767
12768 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12769
12770         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
12771         (mips_annotate_frame_insn): New function.
12772         (mips_emit_frame_related_store): New function.
12773         (save_restore_insns): Don't mark instructions that set up the base
12774         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
12775         the store instructions instead.
12776         (mips_expand_prologue): If the stack size is moved into a temporary
12777         register, do not mark that move as frame-related.  Add a
12778         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
12779
12780 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12781
12782         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
12783         stack slot as unchanging if current_function_calls_eh_return.
12784
12785 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
12786
12787         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
12788         access the second half of the TFmode scratch operand.
12789
12790 2001-08-10  Anthony Green  <green@redhat.com>
12791
12792         * java/class.c (emit_register_classes): Conditionalize code on
12793         JCR_SECTION_NAME.
12794
12795 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
12796
12797         * doc/install.texi (Specific, avr): Fix cross-reference to the
12798         main manual to work both for info and HTML versions.
12799
12800 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12801
12802         * stmt.c (expand_null_return_1): Remove code to generate simple returns
12803         and "use_goto" argument.
12804         (expand_null_return, expand_value_return): Update all callers.
12805         * function.c (expand_function_end): Remove code to generate simple
12806         return.
12807         * config/vax/vax.md (epilogue): New expander for function return.
12808         * doc/md.texi (epilogue): Remove "if defined".
12809
12810 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
12811
12812         * Makefile.in: Partially revert my previous change:
12813         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
12814         of the hashtab.o and safe-ctype.o rules.
12815
12816 2001-08-09  Richard Henderson  <rth@redhat.com>
12817
12818         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
12819         (USE_COLLECT2): Remove duplicate definition.
12820         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
12821         (use_collect2): Remove dead code.
12822         * configure.in (use_collect2): Remove will_use_collect2 and
12823         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
12824         * configure: Rebuild.
12825
12826         * target.h (targetm.asm_out.constructor): New.
12827         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
12828         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
12829         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
12830         * varasm.c (in_ctors, in_dtors): New.
12831         (assemble_constructor, assemble_destructor): Remove.
12832         (default_stabs_asm_out_destructor): New.
12833         (default_named_section_asm_out_destructor): New.
12834         (dtors_section, default_dtor_section_asm_out_destructor): New.
12835         (default_stabs_asm_out_constructor): New.
12836         (default_named_section_asm_out_constructor): New.
12837         (ctors_section, default_ctor_section_asm_out_constructor): New.
12838         * output.h: Update declarations.
12839         * c-decl.c (c_expand_body): Use target hooks instead of
12840         assemble_constructor and assemble_destructor.
12841         * profile.c (output_func_start_profiler): Likewise.
12842         * objc/objc-act.c (finish_objc): Likewise.
12843         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
12844         for the constructor.
12845         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
12846
12847         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
12848         (DTORS_SECTION_ASM_OP): Likewise.
12849         (__CTOR_LIST__): Use attribute section when possible.
12850         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
12851
12852         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
12853         ASM_OUTPUT_CONSTRUCTOR.
12854
12855         * config/darwin.c (machopic_asm_out_constructor): New.
12856         (machopic_asm_out_destructor): New.
12857         * config/darwin-protos.h: Update declarations.
12858         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12859         (ASM_OUTPUT_DESTRUCTOR): Remove.
12860         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12861         * config/nextstep.c (nextstep_asm_out_constructor): New.
12862         (nextstep_asm_out_destructor): New.
12863         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12864         (ASM_OUTPUT_DESTRUCTOR): Remove.
12865         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12866         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
12867         ASM_OUTPUT_*STRUCTOR.
12868         * config/i386/aix386ng.h: Likewise.
12869
12870         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
12871         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
12872         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12873         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12874         * config/lynx.h: Likewise.
12875         * config/netware.h: Likewise.
12876         * config/psos.h: Likewise.
12877         * config/alpha/alpha-interix.h: Likewise.
12878         * config/alpha/elf.h: Likewise.
12879         * config/arc/arc.h: Likewise.
12880         * config/arm/aof.h: Likewise.
12881         * config/arm/coff.h: Likewise.
12882         * config/arm/elf.h: Likewise.
12883         * config/c4x/c4x.h: Likewise.
12884         * config/h8300/h8300.h: Likewise.
12885         * config/i386/cygwin.h: Likewise.
12886         * config/i386/djgpp.h: Likewise.
12887         * config/i386/i386-coff.h: Likewise.
12888         * config/i386/i386-interix.h: Likewise.
12889         * config/i386/sco5.h: Likewise.
12890         * config/i386/vsta.h: Likewise.
12891         * config/i386/win32.h: Likewise.
12892         * config/i960/i960-coff.h: Likewise.
12893         * config/ia64/sysv4.h: Likewise.
12894         * config/m68hc11/m68hc11.h: Likewise.
12895         * config/m68k/coff.h: Likewise.
12896         * config/m68k/mot3300.h: Likewise.
12897         * config/m88k/m88k.h: Likewise.
12898         * config/mcore/mcore-pe.h: Likewise.
12899         * config/mcore/mcore.h: Likewise.
12900         * config/mips/elf.h: Likewise.
12901         * config/mips/elf64.h: Likewise.
12902         * config/mips/iris6.h: Likewise.
12903         * config/pa/pa64-hpux.h: Likewise.
12904         * config/rs6000/sysv4.h: Likewise.
12905         * config/sh/sh.h: Likewise.
12906         * config/sparc/litecoff.h: Likewise.
12907
12908         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
12909         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12910         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12911         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12912         (ASM_OUTPUT_DESTRUCTOR): Remove.
12913         * config/a29k/a29k.c: Move include of tree.h.
12914         * config/a29k/udi.h: Delete file.
12915         * config/alpha/alpha.c (vms_asm_out_constructor): New.
12916         (vms_asm_out_destructor): New.
12917         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
12918         (EXTRA_SECTION_FUNCTIONS): Likewise.
12919         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12920         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12921         * config/c4x/c4x.c: Move include of tree.h.
12922         * config/clipper/clipper.c (clix_asm_out_constructor): New.
12923         (clix_asm_out_destructor): New.
12924         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12925         (ASM_OUTPUT_DESTRUCTOR): Remove.
12926         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12927         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12928         (TARGET_ASM_CONSTRUCTOR): New.
12929         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
12930         (sco_asm_out_constructor): New.
12931         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
12932         * config/i386/svr3gas.h: Remove stack grows up code.
12933         Remove code duplicated from i386/sysv3.h.
12934         (TARGET_ASM_CONSTRUCTOR): New.
12935         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12936         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
12937         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12938         (TARGET_ASM_CONSTRUCTOR): New.
12939         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
12940         (m68hc11_asm_out_destructor): New.
12941         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
12942         (TARGET_ASM_DESTRUCTOR): New.
12943         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
12944         * config/m68k/dpx2.h: Properly undef all the bits inherited from
12945         config/svr3.h pertaining to section manipulation.
12946         * config/m68k/dpx2g.h: Remove #if 0 code.
12947         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
12948         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
12949         (ASM_OUTPUT_CONSTRUCTOR): Remove.
12950         (TARGET_ASM_CONSTRUCTOR): New.
12951         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
12952         (m88k_svr3_asm_out_constructor): New.
12953         (m88k_svr3_asm_out_destructor): New.
12954         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12955         (ASM_OUTPUT_DESTRUCTOR): Remove.
12956         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12957         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
12958         * config/rs6000/aix.h: Likewise.
12959         * config/mips/rtems64.h: Don't undef removed constructor related bits.
12960         * config/mips/vxworks.h: Likewise.
12961         * config/rs6000/lynx.h: Likewise.
12962         * config/sh/elf.h: Likewise.
12963         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
12964         (DTORS_SECTION_ASM_OP): New.
12965         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12966         (ASM_OUTPUT_DESTRUCTOR): Remove.
12967         * config/sparc/sol2-sld-64.h: Likewise.
12968         * config/vax/vax.c (vms_asm_out_constructor): New.
12969         (vms_asm_out_destructor): New.
12970         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12971         (ASM_OUTPUT_DESTRUCTOR): Remove.
12972         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12973
12974         * doc/tm.texi (@node Initialization): Update.
12975
12976 2001-08-09  Richard Henderson  <rth@redhat.com>
12977
12978         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
12979         (__do_global_dtors_aux): Use gp-relative static data to avoid
12980         one dynamic relocation.
12981         (__do_frame_setup): Register Java classes.
12982         * config/alpha/crtend.asm (__JCR_END__): New.
12983
12984 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
12985
12986         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
12987         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
12988         (GEN, STAGESTUFF): Add new files.
12989         (insn-constants.h, s-constants, tm-preds.h, s-preds,
12990         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
12991         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
12992         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
12993         as well as insn-codes.h and insn-flags.h in config.h; and no
12994         extra headers in tconfig.h and hconfig.h.
12995
12996         * gencodes.c: Eliminate code to generate predicate declarations
12997         or #defines for md-file constants.
12998         * genconstants.c, genpreds.c: New files.
12999
13000         * i386.md: Re-order guard expressions such that TARGET_64BIT
13001         comes first, when this permits better optimization.  Add
13002         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
13003         why this is desirable.
13004
13005 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
13006
13007         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
13008         (find_fde_for_dso): Remove.
13009         (_Unwind_IteratePhdrCallback): New.
13010         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
13011         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
13012
13013 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
13014
13015         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
13016         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
13017
13018 2001-08-09  Graham Stott  <grahams@redhat.com>
13019
13020         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
13021         (vis_no_unit): Use it.
13022         (visualize_no_unit): Add the insn only if room exists.
13023
13024 2001-08-09  Graham Stott  <grahams@redhat.com>
13025
13026         * predict.c (estimate_probability): Replace magic numbers with
13027         appropriate enumeration.
13028
13029 2001-08-09  Graham Stott  <grahams@redhat.com>
13030
13031         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
13032         parameter.
13033         (EXTRACT_FLAGS): Likewise.
13034
13035 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
13036
13037         * config/mips/mips.c    (mips_legitimate_address_p): Check for
13038         CONST_INT in last patch.
13039
13040 2001-08-08  Anthony Green  <green@redhat.com>
13041
13042         * java/class.c (emit_register_classes): Use assemble_jcr if
13043         possible.  Keep the original mechanism as a fallback.
13044         * defaults.h (JCR_SECTION_NAME): Define if we have named section
13045         and weak symbol support.
13046         * crtstuff.c (__JCR_LIST__): Define.
13047         (__JCR_END__): Define.
13048         (_Jv_RegiserClasses): Define weak symbol if possible.
13049         (__do_global_ctors_aux): Register classes for ELF targets with
13050         weak symbol support.
13051
13052 2001-08-08  Kazu Hirata  <kazu@hxi.com>
13053
13054         * dbxout.c: Fix comment formatting.
13055         * dependence.c: Likewise.
13056         * df.c: Likewise.
13057         * diagnostic.c: Likewise.
13058         * dominance.c: Likewise.
13059         * doprint.c: Likewise.
13060         * dwarf2out.c: Likewise.
13061         * dwarfout.c: Likewise.
13062         * emit-rtl.c: Likewise.
13063         * except.c: Likewise.
13064         * explow.c: Likewise.
13065         * expmed.c: Likewise.
13066         * expr.c: Likewise.
13067         * flow.c: Likewise.
13068         * fold-const.c: Likewise.
13069         * function.c: Likewise.
13070
13071 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
13072
13073         * global.c (retry_global_alloc): Avoid shadowing allocno.
13074
13075 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
13076
13077         * except.c (remove_fixup_regions): Fix typo.
13078
13079 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
13080
13081         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
13082         unsigned HOST_WIDE_INT to avoid warning.
13083         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
13084         * flow.c (set_block_for_new_insns): Likewise.
13085
13086 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
13087
13088         * sibcall.c (return_value_pseudo): New static variable.
13089         (skip_copy_to_return_value): Handle return_value_pseudo.
13090         (call_ends_block_p): Ensure that return_value_pseudo is set.
13091         (optimize_sibling_and_tail_recursive_call): Discover the
13092         load of pseudo return value in alternate exit block.
13093
13094 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
13095
13096         * calls.c (ECF_ALWAYS_RETURN): New constant.
13097         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
13098         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
13099         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
13100         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
13101         * rtl.c (reg_note_name): New name.
13102         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
13103
13104 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
13105
13106         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
13107
13108 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
13109
13110         * alias.c (get_alias_set): Return a previously calculated
13111         alias set for a VAR_DECL.
13112         * function.c (gen_mem_addressof): Calculate the alias set before
13113         touching the RTL.
13114
13115 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
13116
13117         * predict.def: Set hitrates according our experimental run.
13118
13119 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
13120
13121         * i386.h (HARD_REGNO_RENAME_OK): New macro.
13122
13123 2001-08-08  H.J. Lu <hjl@gnu.org>
13124
13125         * config/mips/mips.c (mips_unique_section): New. Copied from
13126         config/mips/elf.h.
13127
13128         * config/mips/mips-protos.h (mips_unique_section): New
13129         prototype.
13130
13131         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
13132
13133         * config/mips/little.h: New. Generic little endian mips
13134         targets. Only mips*-*-linux* is converted to use it so far.
13135
13136         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
13137         (WCHAR_TYPE): Defined
13138         (WCHAR_TYPE_SIZE): Likewise.
13139         (INIT_SUBTARGET_OPTABS): Likewise.
13140         (BSS_SECTION_ASM_OP): Likewise.
13141         (SBSS_SECTION_ASM_OP): Likewise.
13142         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13143         (ASM_DECLARE_OBJECT_NAME): Likewise.
13144         (UNIQUE_SECTION): Likewise.
13145         (EXTRA_SECTIONS): Likewise.
13146         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
13147         (ASM_OUTPUT_DESTRUCTOR): Likewise.
13148         (ASM_OUTPUT_DEF): Likewise.
13149         (HANDLE_SYSV_PRAGMA): Removed.
13150         (NO_IMPLICIT_EXTERN_C): Likewise.
13151         (TARGET_MEM_FUNCTIONS): Likewise.
13152         (STARTFILE_SPEC): Likewise.
13153         (ENDFILE_SPEC): Likewise.
13154         (LIB_SPEC): Likewise.
13155         (INVOKE__main): Likewise.
13156         (CTOR_LIST_BEGIN): Likewise.
13157         (CTOR_LIST_END): Likewise.
13158         (DTOR_LIST_BEGIN): Likewise.
13159         (DTOR_LIST_END): Likewise.
13160         (SET_ASM_OP): Likewise.
13161         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13162         (ASM_OUTPUT_DEF): Likewise.
13163         (ASM_OUTPUT_IDENT): Likewise.
13164
13165         * config/mips/mips.h (ASM_SPEC): Undefine before define.
13166         (CPLUSPLUS_CPP_SPEC): Likewise.
13167         (ASM_APP_ON) Redefine only if not defined.
13168         (ASM_APP_OFF): Likewise.
13169         (ASM_OUTPUT_SOURCE_LINE): Likewise.
13170         (ASM_OUTPUT_IDENT): Likewise.
13171
13172         * config.gcc: Update tm_file for Linux/mips.
13173
13174 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
13175
13176         * cselib.c (cselib_record_sets): If insn is predicated, turn
13177         sources into IF_THEN_ELSEs.
13178
13179         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
13180         Turn into define_insn_and_split.
13181
13182         * sched-deps.c: Include "cselib.h".
13183         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
13184         Use cselib to turn memory addresses into VALUEs.
13185         (sched_analyze): Call cselib_init/cselib_finish if necessary.
13186         * sched-int.h (struct sched_info): New member USE_CSELIB.
13187         * sched-ebb.c (ebb_sched_info): Initialize it.
13188         * sched-rgn.c (rgn_sched_info): Likewise.
13189         * Makefile.in (sched-deps.o): Update dependencies.
13190
13191         * cselib.h (cselib_subst_to_values): Declare.
13192         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
13193         that have no value and autoincs to be handled by generating a new
13194         dummy value.
13195
13196 2001-08-08  Graham Stott  <grahams@redhat.com>
13197
13198         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
13199         within fixed length SEQUENCE.
13200
13201 2001-08-08  Graham Stott  <grahams@redhat.com>
13202
13203         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
13204         (diagnostic_prefixing_rule): Likewise.
13205         (diagnostic_line_cutoff): Likewise.
13206         (diagnostic_kind_count): Likewise.
13207
13208 2001-08-08  Graham Stott  <grahams@redhat.com>
13209
13210         * alias.c (find_base_decl): Delete redundent assignment.
13211
13212 2001-08-08  Graham Stott  <grahams@redhat.com>
13213
13214         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
13215         (abs): Uppercase and paranthesize macro parameter.
13216         (MEM_DEPENDENCY): Add whitespace.
13217
13218 2001-08-08  Graham Stott  <grahams@redhat.com>
13219
13220         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
13221         failure check for CONST_INT
13222
13223 2001-08-08  Graham Stott  <grahams@redhat.com>
13224
13225         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
13226         (libcall_dead_p): Likewise.
13227
13228         (mark_used_regs): Constify fmt.
13229         (find_use_as_address): Likewise.
13230
13231 2001-08-08  Graham Stott  <grahams@redhat.com>
13232
13233         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
13234          parameter.
13235
13236 2001-08-08  Graham Stott  <grahams@redhat.com>
13237
13238         * combine.c (combine_simplify_rtx): Update comment and
13239         remove erroneous test.
13240
13241 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13242
13243         * cppinit.c (cpp_finish): Pop the final buffer without comment.
13244         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
13245         take care to avoid multiple no-newline at EOF warnings in that
13246         case.
13247
13248 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
13249
13250         * calls.c (expand_call): Do not emit INSN_SETJMP note.
13251         (emit_library_call_value_1): Likewise.
13252         (emit_call_1): Emit REG_SETJMP note.
13253         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
13254         of INSN_SETJMP
13255         * cselib.c (cselib_process_insn): Likewise.
13256         * flow.c (propagate_block): Likewise.
13257         * loop.c (find_and_verify_loops): Likewise.
13258         * reload.c (find_equiv_regs): Likewise.
13259         * reload1.c (reload): Likewise.
13260         * resource.c (mark_referenced_resources,
13261         mark_set_resources): Likewise.
13262         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
13263         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
13264         * haifa-sched.c (unlink_other_notes): Likewise.
13265         (reemit_notes): Likewise.
13266         * sched-ebb.c (sched_ebb): Likewise.
13267         * sched-rgc.c (sched_region): Likewise.
13268         * rtl.c (note_insn_name): Likewise.
13269         (reg_note_name): Add REG_SETJMP
13270         * rtl.h (reg_note): Add REG_SETJMP.
13271         (insn_note): Remove NOTE_INSN_SETJMP.
13272
13273         * profile.c (branch_prob): Add fake edges for setjmp.
13274
13275 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
13276
13277         * config.gcc: Quote target_cpu_default2 correctly for
13278         powerpc*-*-* targets.
13279
13280 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
13281
13282         * cpplib.h, line-map.h: Update comments.
13283         * cppmain.c (printer_init): Move inline.
13284         (maybe_print_line, print_line): Take a map pointer.
13285         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
13286         (cb_file_change): Don't use prior value of print.map.
13287
13288 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
13289
13290         * doc/install.texi: Document fine-grained multilib configuration.
13291
13292 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
13293
13294         * rtlanal.c (find_first_parameter_load): Call note_stores
13295         only on the instructions.
13296
13297 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
13298
13299         * alias.c (nonlocal_mentioned_p):
13300         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
13301         * calls.c (emit_call_1): Likewise.
13302         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
13303         * cselib.c (cselib_process_insn): Likewise.
13304         * df.c (df_insns_modify): Likewise.
13305         * flow.c (need_fake_edge_p): Likewise.
13306         (propagate_one_insn): Likewise.
13307         * haifa-sched.c (reemit_notes): Likewise.
13308         * integrate.c (copy_insn_list): Likewise.
13309         * jump.c (delete_prior_computation): Likewise.
13310         * local-alloc.c (validate_equiv_mem): Likewise.
13311         * loop.c (scan_loop): Likewise.
13312         * predict.c (estimate_probability): Likewise.
13313         * reload.c (reload): Likewise.
13314         * sched-deps (sched_analyze): Likewise.
13315         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
13316         * gcse.c (compute_hash_table): Likewise.
13317         (mark_call): Likewise.
13318         (store_killed_in_insn): Likewise.
13319
13320 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
13321
13322         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
13323
13324 2001-08-06  Richard Henderson  <rth@redhat.com>
13325
13326         * varasm.c (assemble_gc_entry): Remove.
13327         * output.h: Likewise.
13328
13329 2001-08-06  Richard Henderson  <rth@redhat.com>
13330
13331         * varasm.c (assemble_constructor): Take a symbol_ref and a
13332         priority instead of a bare string.  Move priority handling
13333         here from cp/decl2.c.
13334         * output.h: Update decls.
13335
13336         * c-decl.c (c_expand_body): Update calls to assemble_constructor
13337         and assemble_destructor.
13338         * profile.c (output_func_start_profiler): Likewise.
13339         * objc/objc-act.c (finish_objc): Likewise.
13340         (build_module_descriptor): Return the symbol not the symbol name.
13341
13342 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
13343
13344         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
13345         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
13346         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
13347         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
13348         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
13349         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
13350
13351 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13352
13353         * cpperror.c (print_containing_files): Moved to line-map.c.
13354         (print_location): line-map.c handles re-listing or otherwise.
13355         * cpphash.h (struct lexer_state): Remove next_bol.
13356         (struct cpp_buffer): Remove include_stack_listed.
13357         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
13358         Remove faked buffer handling.
13359         (_cpp_do_file_change): Tweak.
13360         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
13361         * cppmain.c (struct printer): Remove filename.
13362         (print_line, cb_file_change): Update accordingly.
13363         * line-map.c: Include intl.h.
13364         (init_line_maps): Initialize last_listed.
13365         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
13366         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
13367         (print_containing_files): New.
13368         * line-map.h (struct line_maps): New member last_listed.
13369         (print_containing_files, INCLUDED_FROM): New.
13370         * Makefile.in: Update.
13371         * po/POTFILES.in: Add line-map.c.
13372
13373 2001-08-06  Richard Henderson  <rth@redhat.com>
13374
13375         * except.c (convert_from_eh_region_ranges_1): Never mark
13376         USE or CLOBBER insns as throwing.
13377
13378         * expr.c (store_constructor): Don't clobber memory targets.
13379
13380 2001-08-06  Andreas Jaeger  <aj@suse.de>
13381
13382         * profile.c (branch_prob): Remove unused variable insn.
13383
13384         * Makefile.in (local-alloc.o): Add dependency on except.h.
13385
13386         * local-alloc.c: Include except.h for can_throw_internal prototype.
13387
13388 2001-08-06  Richard Henderson  <rth@redhat.com>
13389
13390         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
13391         * function.c (expand_main_function): Implement it.
13392         * doc/tm.texi: Document it.
13393
13394 2001-08-06  Stan Shebs  <shebs@apple.com>
13395
13396         * doc/install.texi: Document powerpc-*-darwin* details.
13397
13398 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
13399
13400         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
13401         (ASM_CPU_SPEC): Move back to rs6000.h
13402         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
13403
13404         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
13405
13406         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
13407         readded.
13408
13409         * config/rs6000/linux64.h: Ditto.
13410
13411         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13412         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
13413         nothing.
13414
13415         Remove accidently readded definitions of FUNCTION_PROLOGUE,
13416         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
13417
13418         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13419         to rs6000.h
13420
13421 2001-08-05  Richard Henderson  <rth@redhat.com>
13422
13423         * local-alloc.c (update_equiv_regs): Do not move insns that
13424         can throw.
13425
13426 2001-08-05  Jan Hubicka  <jh@suse.cz>
13427
13428         * Makefile.in (reload1.o): Add dedendancy on except.h
13429         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
13430         prototypes.
13431         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
13432         indicating wehther edges has been cleaned up.
13433         * reload1.c: Inlucde except.h
13434         (fixup_abnormal_edges): Accept deleted insns.
13435         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
13436         after combine.
13437
13438 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
13439
13440         * cpplib.c (do_line): Correct line number after pop_buffer.
13441
13442 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13443
13444         PR preprocessor/3824
13445         * line-map.c: Update comments.
13446         * line-map.h: Update comments.
13447         * tradcif.y: Don't consider large numbers unsigned.
13448
13449 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
13450
13451         PR preprocessor/3081
13452         * c-lex.c (map): New.
13453         (cb_file_change): Update map and use it.
13454         (cb_def_pragma, cb_define, cb_undef): Use map and line.
13455         (c_lex): Update to use map.
13456         * cpperror.c (print_location): Move to using logical line numbers.
13457         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
13458         (cpp_make_system_header): Similarly.
13459         (_cpp_execute_include): Stop line numbering hacks.  Store the
13460         line we will return to.
13461         * cpphash.h (CPP_BUF_LINE): Remove.
13462         (struct cpp_buffer): Remove lineno and pseudo_newlines.
13463         Add map and return_to_line.
13464         (_cpp_do_file_change): Update.
13465         * cppinit.c (cpp_start_read): Update line kludge.
13466         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
13467         (trigraph_ok): Use logical line numbers for diagnostics.
13468         (skip_block_comment): Likewise.
13469         (skip_whitespace): Likewise.
13470         (skip_line_comment): Use pfile->line instead.
13471         (_cpp_lex_token): Update to use logical line numbering exclusively.
13472         Handle BOL locally.  Accept new lines in directives, but keep
13473         pfile->line decremented.  Diagnostics use logical lines.  Update
13474         directive handling.
13475         * cpplib.c (SEEN_EOL): New.
13476         (skip_rest_of_line, check_eol): Use it.
13477         (end_directive): Increase line number when accepting the newline
13478         at the end of a directive.
13479         (run_directive): Simplify.
13480         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
13481         (_cpp_do_file_change): Update to take buffer line number as an
13482         argument, and store the current map in the cpp_reader.  Remove
13483         line number kludges.
13484         (_cpp_do__Pragma): Restore output position after a _Pragma.
13485         (cpp_push_buffer): Don't set output line or lineno.
13486         (_cpp_pop_buffer): Transfer more info from a faked buffer.
13487         Remove line kludge.  Set output_line.
13488         * cppmacro.c (builtin_macro): Update handling of __LINE__.
13489         (parse_arg): Use logical lines.
13490         (save_lookahead_token): Save EOFs too now.
13491         * cppmain.c (struct printer): Fix comments.
13492         (printer_init): Simplify, let caller do errors.
13493         (scan_translation_unit, check_multiline_token, dump_macro): Update.
13494         (maybe_print_line): Simplify.
13495         (print_line): Don't print a linemarker if -P.
13496         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
13497         (cb_file_change): Simplify.
13498         * line-map.h (LAST_SOURCE_LINE): Fix.
13499         (CURRENT_LINE_MAP): New.
13500
13501 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
13502
13503         * doloop.c (doloop_modify_runtime): Properly compute number of
13504         iterations if loop was unrolled.
13505
13506         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
13507         if their CSELIB_VAL_PTRs are.
13508
13509         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
13510         (setup_spill_pointers): Initialize it.
13511         (spill_restore_mem): Set it.
13512         (do_spill, do_restore): Use it to add REG_INC note.
13513         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
13514
13515         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
13516         asms if other insns are available.
13517
13518         * config/ia64/ia64.c (condop_operator): New predicate.
13519         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
13520         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
13521         patterns.
13522
13523         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
13524         temporary register than directly using a MEM.
13525
13526 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
13527
13528         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
13529         parameter in last change.
13530
13531 2001-08-04  Zack Weinberg  <zackw@panix.com>
13532
13533         * sparc.md: Don't use #if inside C test expression.
13534
13535 2001-08-04  Richard Henderson  <rth@redhat.com>
13536
13537         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
13538
13539 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
13540
13541         * cpphash.h (struct cpp_reader): New member directive_line.
13542         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
13543         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
13544         do_pragma): Pass line to callbacks.
13545         (start_directive): Record line of directive.
13546         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
13547         cb_include): Similarly.
13548         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
13549         Similarly.
13550
13551 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
13552
13553         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
13554         comment.
13555
13556 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
13557
13558         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
13559
13560         * reload1.c (fixup_abnormal_edges): New static function.
13561         (reload): Use it.
13562
13563         * flow.c (need_fake_edge_p): New function.
13564         (flow_call_edges_add): Fix handling of noreturn and sibling calls;
13565         avoid call insn to be very last insn in the insn stream.
13566
13567         * profile.c (branch_prob): Call flow_call_edges_add instead of
13568         doing that by hand; cleanup cfg to re-merge basic blocks once
13569         we are done.
13570
13571 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13572
13573         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
13574         are also on line-map.h.
13575         * cppfiles.c (stack_include_file): Update.
13576         * cpphash.h (struct cpp_buffer): New member return_at_eof.
13577         (_cpp_pop_buffer): New.
13578         * cppinit.c (cpp_destroy, cpp_finish): Update.
13579         (do_includes): Mark each buffer to return at EOF.
13580         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
13581         return as requested.
13582         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
13583         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
13584         * cpplib.h (cpp_pop_buffer): Remove.
13585         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
13586         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
13587         buffers.
13588         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
13589         to pop buffers.
13590         (do_preprocessing): Update.
13591         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
13592         * c-parse.in (_yylex): Similarly.
13593         * scan-decls.c (scan_decls): Similarly.
13594         * line-map.h: Update comments.
13595
13596         * objc/Make-lang.in (objc-act.o): Update dependencies.
13597
13598 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13599
13600         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
13601         and soft register for operand 0.
13602         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
13603
13604 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13605
13606         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
13607         register for operand 0.
13608         ("bitcmpqi_z_used"): Allow memory for operand 0.
13609         (split "bitcmpqi"): New split to handle address reg as operand 1.
13610
13611 2001-08-04  Andreas Jaeger  <aj@suse.de>
13612
13613         * gcse.c: Revert Daniel's last patch.
13614
13615 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
13616
13617         * sparc-protos.h: Add prototypes for fp_zero_operand and
13618         reg_or_0_operand.
13619         * sh-protos.h: Add prototype for fpul_operand.
13620
13621 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
13622
13623         * doc/extend.texi (Other Builtins): Fix typo in last change.
13624
13625 2001-08-03  Richard Henderson  <rth@redhat.com>
13626
13627         * target.h (gcc_target): Add asm_out.named_section,
13628         section_type_flags, have_named_sections.
13629         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
13630         (TARGET_HAVE_NAMED_SECTIONS): New.
13631         (TARGET_SECTION_TYPE_FLAGS): New.
13632
13633         * Makefile.in (toplev.o): Depend on TARGET_H.
13634         (varasm.o, dbxout.o): Likewise.
13635         * c-common.c (decl_attributes): Check targetm.have_named_sections
13636         instead of ifdef ASM_OUTPUT_SECTION_NAME.
13637         * dbxout.c (dbxout_function_decl): Likewise.
13638         (dbxout_function_end): Likewise.
13639         * toplev.c (compile_file): Likewise.
13640         * varasm.c (exception_section): Likewise.
13641         * cp/decl2.c (finish_objects): Likewise.
13642
13643         * defaults.h (EH_FRAME_SECTION): Remove.
13644         (EH_FRAME_SECTION_ASM_OP): Remove.
13645         (EH_FRAME_SECTION_NAME): New.
13646         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
13647         (UNIQUE_SECTION_P): Remove.
13648         * dwarf2out.c (SECTION_FORMAT): Remove.
13649         (ASM_OUTPUT_SECTION): Remove.
13650         (output_call_frame_info): Use named_section_flags.
13651         (output_comp_unit, dwarf2out_start_source_file): Likewise.
13652         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
13653         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
13654         * varasm.c (in_eh_frame, eh_frame_section): Remove.
13655         (named_section_flags): New.
13656         (named_section): Use it and targetm.section_type_flags.
13657         (resolve_unique_section): New.
13658         (assemble_start_function): Use it.
13659         (asm_emit_uninitialised, assemble_variable): Likewise.
13660         (default_section_type_flags): New.
13661         (default_no_named_section, default_elf_asm_named_section): New.
13662         (default_coff_asm_named_section, default_pe_asm_named_section): New.
13663         * output.h: Update varasm.c decls.
13664         (SECTION_*): New flags.
13665
13666         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
13667         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
13668
13669         * config/elfos.h (UNIQUE_SECTION_P): Remove.
13670         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
13671         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
13672         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13673         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
13674         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
13675         * config/mips/elf.h, config/mips/elf64.h: Likewise.
13676         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
13677         * config/pa/pa64-hpux.h,
13678
13679         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
13680         (TARGET_ASM_NAMED_SECTION): New.
13681         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
13682         * config/alpha/vms.h, config/arm/coff.h: Likewise.
13683         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
13684         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
13685         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
13686         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
13687         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13688         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
13689         * config/i386/sco5.h, config/i386/win32.h: Likewise.
13690         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
13691         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
13692         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
13693         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
13694         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
13695         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
13696         * config/sparc/sysv4.h: Likewise.
13697
13698         * config/nextstep.h: Error until named sections implemented.
13699
13700         * config/a29k/a29k.c (a29k_asm_named_section): New.
13701         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
13702         (vms_section_type_flags, vms_asm_named_section): New.
13703         * config/arm/arm.c (arm_elf_asm_named_section): New.
13704         * config/avr/avr.c (asm_output_section_name): Remove.
13705         * config/avr/avr-protos.h: Update.
13706         * config/c4x/c4x.c (c4x_asm_named_section): New.
13707         * config/h8300/h8300.c (h8300_asm_named_section): New.
13708         * config/i386/i386.c (sco_asm_named_section): New.
13709         * config/i386/winnt.c (SECTION_PE_SHARED): New.
13710         (i386_pe_section_type_flags): New.
13711         (i386_pe_asm_named_section): New.
13712         * config/i386/i386-protos.h: Update.
13713         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
13714         * config/mcore/mcore.c (mcore_asm_named_section): New.
13715         * config/mips/mips.c (iris6_asm_named_section): New.
13716         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
13717         instead of UNIQUE_SECTION_P.
13718         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
13719         (xcoff_asm_named_section): New.
13720         * config/sh/sh.c (sh_asm_named_section): New.
13721         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
13722
13723         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
13724         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
13725         (EH_FRAME_SECTION_NAME): New.
13726         (EXCEPTION_SECTION): New.
13727         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
13728         (DEBUG_*_SECTION): Remove.
13729         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
13730         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
13731         (EH_FRAME_SECTION_ASM_OP): Remove.
13732
13733         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
13734         (ASM_OUTPUT_SECTION_NAME): Remove.
13735         (TARGET_ASM_NAMED_SECTION): New.
13736         (TARGET_HAVE_NAMED_SECTIONS): New.
13737         (TARGET_SECTION_TYPE_FLAGS): New.
13738         (EH_FRAME_SECTION_ASM_OP): Remove.
13739         (EH_FRAME_SECTION_NAME): New.
13740
13741 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
13742
13743         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
13744         for complex expressions when cfun == 0.
13745         * doc/extend.texi: Document that __builtin_constant_p can be
13746         used in data initializers as well as functions.
13747
13748 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
13749
13750         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
13751         variable I locally, instead of expecting a declaration in the
13752         calling context.
13753
13754 2001-08-03  Richard Henderson  <rth@redhat.com>
13755
13756         * except.c (collect_one_action_chain): Add an explicit cleanup
13757         action if regions surrounding a catch were encoded entirely
13758         within the call-site entry.
13759
13760 2001-08-03  Richard Henderson  <rth@redhat.com>
13761
13762         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
13763         don't take REGNO of a non-register.
13764
13765 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13766
13767         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
13768         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
13769         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
13770         (__gthread_mutex_init_function): New function for mutex initialization.
13771
13772 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13773
13774         * Makefile.in: Revert screwed up commit.
13775
13776 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
13777
13778         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
13779         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
13780         merged by linker script to get a final _exit().
13781         (__do_global_dtors): New for destructor handling in specific exit
13782         section.
13783         (__do_global_ctors): New for constructors in specific install section.
13784         (__map_data_section): Map data sections before running constructors.
13785         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
13786         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
13787         (DTORS_SECTION_ASM_OP): Likewise.
13788         (CTORS_SECTION_FUNCTION): Define to force a reference to
13789         __do_global_ctors.
13790         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
13791
13792 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13793
13794         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
13795
13796         * Makefile.in: Add df.h to gcse.c dependencies.
13797
13798 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13799
13800         * varasm.c (output_constant_def_contents): Use for the length of a
13801         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
13802         depending on which is larger.
13803
13804 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
13805
13806         * gcse.c: Include df.h for use as a dataflow analyzer.
13807         Remove regvec.
13808         Declaration of reg_set_info: gone.
13809         New df_analyzer variable used by store motion.
13810         (reg_set_info): Deleted.
13811         (mark_mem_regs): New function, analyze regs used by a mem.
13812         (store_ops_ok): Use dataflow analyzer results to determine if
13813         necessary regs are changed in the block.
13814         (find_moveable_store): Remove check for symbol ref, we can handle
13815         much more complex expressions now.
13816         (compute_store_table): Remove most of the code, it's unnecessary
13817         now that the dataflow analyzer records the info for us.
13818         (store_killed_after): Add parameter to say whether to do the
13819         store_ops_okay test, used to speed up testing when we already know
13820         the answer, and just want to know if the store itself was killed.
13821         (build_store_vector): Largely rewritten to calculate the various
13822         vectors properly, and somewhat optimized.
13823         (store_motion): Init the df_analyzer, get REG_DEF chains.
13824         Also handle trapping expressions (since mems almost always trap)
13825         (simple_mem): Redefine what a simple mem is.
13826
13827 2001-08-03  DJ Delorie  <dj@redhat.com>
13828
13829         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
13830         set from a constant part of the condition.
13831
13832 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
13833
13834         * mkdeps.c (deps_add_default_target): Make local variable
13835         ``start'' a const char pointer.
13836         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
13837
13838 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13839
13840         * doc/install.texi (Configuration): Fix markup.
13841         (Specific, i?86-*-udk): Likewise.
13842         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
13843         --with-gnu-ld.
13844         Document --enable-threads and --enable-libgcj status.
13845         (Specific, mips-sgi-irix*): Canonicalize triples.
13846         (Specific, mips-sgi-irix5): Warn about problems with this config.
13847         Mention required GNU as patch.
13848         Native assembler problems are fixed.
13849         (Specific, mips-sgi-irix6): Update O32 ABI support status.
13850         Document --enable-threads and --enable-libgcj status.
13851
13852 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13853
13854         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
13855         of mkinstalldirs.
13856
13857 2001-08-03  Richard Henderson  <rth@redhat.com>
13858
13859         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
13860         constant data.
13861
13862 2001-08-03  Richard Henderson  <rth@redhat.com>
13863
13864         * rtlanal.c (find_first_parameter_load): Stop if we
13865         reach a CODE_LABEL at BOUNDARY.
13866
13867 2001-08-03  Richard Henderson  <rth@redhat.com>
13868
13869         * config/alpha/alpha.md (force_movdi): New insn.
13870         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
13871         Tweek FRP marking of VMS prologue insns.
13872         * config/alpha/vms.h (EPILOGUE_USES): New.
13873
13874 2001-08-02  Richard Henderson  <rth@redhat.com>
13875
13876         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
13877
13878 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
13879
13880         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
13881         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
13882         config/convex/convex.h, config/d30v/d30v.c,
13883         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
13884         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
13885         config/mips/mips.h, config/mn10200/mn10200.h,
13886         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
13887         config/v850/v850.h, config/vax/openbsd.h,
13888         config/vax/openbsd1.h, config/vax/ultrix.h,
13889         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
13890         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
13891         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
13892         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
13893         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
13894         in comments and documentation.
13895
13896 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
13897
13898         * line-map.c: New.
13899         * line-map.h: New.
13900         * Makefile.in (line-map.o): New.
13901         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
13902         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
13903         * cpperror.c (print_containing_files): Similarly.
13904         (print_location): Update.  Don't output a space before _Pragma.
13905         * cppfiles.c (stack_include_file): Set to line 1 immediately.
13906         (stack_include_filee, cpp_make_system_header): Update.
13907         (_cpp_execute_include): Get logical line number right for calling
13908         as-yet-unterminated #include.
13909         * cpphash.h (struct cpp_reader): Add line_maps.
13910         (_cpp_do_file_change): Update.
13911         * cppinit.c (cpp_create_reader): Initialize line maps.
13912         (cpp_destroy): Destroy line maps.
13913         (cpp_start_read): Get logical line number right.
13914         * cpplex.c (parse_string): Only warn once for multi-line strings.
13915         Use boolean variable for null warning.
13916         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
13917         already.
13918         (do_include_common): End the directive early.
13919         (do_line): Don't warn about out-of-range lines in preprocessed
13920         source.  Update.  Remove unused variables.
13921         (_cpp_do_file_change): Update for new line mapping.
13922         (pragma_cb): New typedef.
13923         (cpp_register_pragma): Stop looking ahead before calling the
13924         handler.  Clean up.
13925         (do_pragma_system_header): End directive early.
13926         (cpp_get_line_maps): New.
13927         (cpp_pop_buffer): Fudge logical line.  Update.
13928         * cpplib.h: Include line-map.h
13929         (enum cpp_fc_reason): Remove.
13930         (struct cpp_file_change): Update.
13931         (cpp_get_line_maps): New.
13932         * cppmain.c (struct_printer): New member map.
13933         (cb_file_change): Update for new mappings.
13934         * fix-header.c (cb_file_change): Similarly.
13935
13936 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13937
13938         * Makefile.in (libgcc.mk): Define mkinstalldirs.
13939         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
13940
13941 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
13942
13943         * config/vax/vax.c: include expr.h.
13944
13945 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
13946
13947         * Makefile.in ($(srcdir)/configure): Only rebuild in
13948         maintainer mode.
13949         ($(srcdir)/config.in): Only define in maintainer mode.
13950         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
13951
13952 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
13953
13954         * doc/install.texi (Install GCC: Binaries): Update Bull info.
13955
13956 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
13957
13958         * gcc.c (set_collect_gcc_options): New function, split out from
13959         main.
13960         Ignore elided switches.
13961         (do_spec_1): Invoke before executing command.
13962         (set_input): Export.
13963         Move declaration ...
13964         * gcc.h (set_input): ... here.
13965         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13966         file.
13967
13968 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
13969
13970         Kill -fhonor-std.
13971         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
13972         interaction.
13973         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
13974
13975 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
13976
13977         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
13978         for the unnamed instructions it expands to.
13979
13980 2001-08-02  Richard Henderson  <rth@redhat.com>
13981
13982         * regclass.c (call_really_used_regs): Conditionally define.
13983         (init_reg_sets_1): Don't use it if not defined.
13984         (fix_register): Similarly, don't set it.
13985
13986 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
13987
13988         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
13989         Correct comment that had been missed in the previous change.
13990
13991 2001-08-01  Stan Shebs  <shebs@apple.com>
13992
13993         * config/darwin.c (machopic_stub_name): Try matching by name.
13994         (update_stubs): New function.
13995         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
13996         unconditionally.
13997
13998 2001-08-01  Richard Henderson  <rth@redhat.com>
13999
14000         * except.c (output_function_exception_table): Use assemble_align.
14001         * varasm.c (assemble_eh_label): Remove.
14002         (assemble_eh_align, assemble_eh_integer): Remove.
14003
14004 2001-08-01  Robert Lipe  <robertl@caldera.com>
14005
14006         * dwarfout.c: Remove reference to README.DWARF.
14007
14008 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
14009
14010         * regclass.c (call_really_used_regs): New array for registers which
14011         are actually used by a call.
14012         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
14013         new array.
14014         (fix_register): Set call_really_used too.
14015         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
14016         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
14017
14018 2001-08-01  Richard Henderson  <rth@redhat.com>
14019
14020         * read-rtl.c (read_name): Consider \r whitespace.
14021
14022 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
14023
14024         * config.gcc: Recognize powerpc-*-netbsd*.
14025
14026         * doc/install.texi (Host/target specific installation notes for
14027         GCC): Mention powerpc-*-netbsd*.
14028
14029         * config/rs6000/netbsd.h: New file.
14030         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
14031         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
14032         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
14033         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
14034         (TARGET_VERSION): Redefine.
14035
14036         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
14037         mcall-netbsd as a match for mcall-sysv.
14038         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
14039         (ncrti.S, ncrtn.S): New targets.
14040         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
14041
14042         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
14043         "netbsd' as a V4 ABI.
14044         (ASM_SPEC): Check for -mcall-netbsd.
14045         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
14046         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
14047         (LIB_SPEC, ENDFILE_SPEC): Ditto.
14048         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
14049         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
14050         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
14051         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
14052
14053         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
14054         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
14055
14056 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
14057
14058         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
14059         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
14060         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
14061         including "unwind-pe.h".
14062
14063 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
14064
14065         * rs6000.md (define_splits): Kill unused constraints.
14066
14067 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
14068                               Jan Hubicka  <jh@suse.cz>
14069
14070         * function.c (thread_prologue_and_epilogue_insns): Kill code
14071         dealing with non-existent CFG.
14072
14073 2001-08-01  Kazu Hirata  <kazu@hxi.com>
14074
14075         * alias.c: Fix comment formatting.
14076         * bitmap.c: Likewise.
14077         * builtins.c: Likewise.
14078         * calls.c: Likewise.
14079         * c-common.c: Likewise.
14080         * c-decl.c: Likewise.
14081         * c-dump.c: Likewise.
14082         * c-lex.c: Likewise.
14083         * collect2.c: Likewise.
14084         * combine.c: Likewise.
14085         * conflict.c: Likewise.
14086         * cppfiles.c: Likewise.
14087         * cppinit.c: Likewise.
14088         * cpplex.c: Likewise.
14089         * cpplib.c: Likewise.
14090         * cppmacro.c: Likewise.
14091         * cppspec.c: Likewise.
14092         * c-pragma.c: Likewise.
14093         * crtstuff.c: Likewise.
14094         * cse.c: Likewise.
14095         * cselib.c: Likewise.
14096         * c-semantics.c: Likewise.
14097         * c-typeck.c: Likewise.
14098
14099 2001-08-01  H.J. Lu <hjl@gnu.org>
14100
14101         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
14102
14103 2001-08-01  H.J. Lu <hjl@gnu.org>
14104
14105         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
14106
14107 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
14108
14109         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
14110         contextualizing Objective-C class name lookup by the lexer.
14111         (typespec_reserved_nonattr): Disable ObjC class name lookup after
14112         seeing a TYPESPEC.
14113         (protocoldef): Add support for forward @protocol declarations.
14114         (yylexname): Suppress ObjC class name lookup in certain contexts;
14115         re-enable after lookup is complete.
14116         (_yylex): Re-enable ObjC class name lookup when certain
14117         punctuation marks are seen.
14118
14119         * objc/objc-act.c (check_protocol_recursively): New function used
14120         for finding circular dependencies in protocols.
14121         (objc_declare_protocols): New function for handling forward
14122         @protocol declarations.
14123         (receiver_is_class_object): Detect the case when 'self' is used
14124         inside of a class method.
14125         (build_message_expr): Issue a warning if class method is desired
14126         but instance method is found instead.
14127         (conforms_to_protocol): Streamline.
14128         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
14129         protocol Foo, even if 'Bar foo' does not.
14130         (check_protocols): Streamline.
14131         (start_protocol): Add checks for circular and duplicate protocol
14132         definitions.
14133         (encode_aggregate_within): For typedefs of structs, encode the
14134         underlying struct.
14135         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
14136         (objc_declare_protocols): New prototype.
14137
14138 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14139
14140         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
14141         * cpplex.c (handle_newline): Update prototype.  Maintain logical
14142         line number.
14143         (skip_escaped_newlines, skip_block_comment, parse_string):
14144         Update accordingly.
14145         (_cpp_lex_token): Update, and store token position within the token.
14146         * cpplib.h (struct cpp_token): Add line and column entries.
14147         * cppmacro.c (replace_args): Position stringified tokens correctly.
14148
14149 2001-08-01  Andreas Jaeger  <aj@suse.de>
14150
14151         * basic-block.h: Add prototype for last_loop_beg_note.
14152
14153 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
14154
14155         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
14156         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
14157         comment.
14158         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
14159         while handling WITH_CLEANUP_EXPR node. Use second operand calling
14160         expand_decl_cleanup.
14161         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
14162         the first RTX.
14163         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
14164         operand while calling simple_cst_equal.
14165         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
14166         operand is the cleanup expression, the third is the RTL_EXPR.
14167         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
14168
14169 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
14170
14171         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
14172
14173 2001-07-31  matthew green  <mrg@eterna.com.au>
14174
14175         * config.gcc (i386-*-netbsdelf): New description.
14176         * config/i386/netbsd-elf.h: New file.
14177
14178 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
14179
14180         * loop.c (check_dbra_loop): Use single_set to compute
14181         jump_label.
14182
14183 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
14184
14185         PowerPC reorg and support for powerpc64-*-linux*.
14186
14187         Also fixes emitting of constants on 32 bit and 64 bit
14188         platforms.
14189
14190         * config.gcc: powerpc64-*-linux* is a new target.
14191         Things that needed aix.h now also include xcoff.h
14192
14193         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
14194         xcoff.h.
14195         Move AIX specific stuff into aix.h.
14196         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
14197         with more than just XCOFF now.
14198         (SET_ASM_OP): Remove, now defined where needed.
14199         (FUNCTION_PROLOGUE): New macro definition.
14200         (FUNCTION_EPILOGUE): New macro definition.
14201         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
14202
14203         * config/rs6000/xcoff.h: New file.
14204
14205         * config/rs6000/linux64.h: New file.
14206
14207         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
14208
14209 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
14210
14211         * rs6000.c (print_operand_address): Handle ELF syntax.
14212         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
14213         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
14214         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
14215
14216 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
14217
14218         * rs6000.c (rs6000_override_options): Only disable
14219         flag_function_sections for XCOFF.
14220         (exact_log2_cint_operand): New predicate.
14221         (reg_or_{add,sub}_cint64_operand): New predicates.
14222         (add_operand): Compare CONST_INT with fewer function calls.
14223         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
14224         (print_operand, case 'p'): Ensure positive operand.
14225         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
14226         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
14227         (PREDICATE_CODES): Add new predicates.
14228         * rs6000.md (addsi3): Split 32-bit constants more correctly.
14229         (divsi3, modsi3): Ensure positive power-of-2.
14230         (adddi3): Use new predicate.  Split 32-bit constants more
14231         correctly.  Re-arrange splitter to handle any constant.
14232         (subdi3): Use new predicate.
14233         (divdi3, moddi3): Ensure positive power-of-2.
14234         (movdi): Use rs6000_emit_set_const.
14235         (load_toc_v4_pic_di): Delete.
14236
14237 2001-07-31  Graham Stott <grahams@redhat.com>
14238
14239         * function.c (pad_below): Revert 2001-07-26 patch.
14240
14241 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
14242
14243         * reg-stack (convert_regs_1): Fix best edge condition.
14244
14245 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
14246
14247         * jump.c (duplicate_loop_exit_test): Better test for jumps
14248         entering the loop; create loop pre_header.
14249
14250 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
14251
14252         * doc/install.texi: Add s390 and s390x as new targets.
14253         * doc/invoke.texi: Add documentation of S/390 and zSeries
14254         target options.
14255         * doc/md.texi: Add documentation of S/390 and zSeries constraints.
14256
14257 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14258
14259         * config/m68k/m68k.md: Replace all general_operand with
14260         nonimmediate_operand for all destinations.
14261         * config/m68k/m68k.c (not_sp_operand): Likewise.
14262
14263 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
14264
14265         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
14266
14267 2001-07-30  Richard Henderson  <rth@redhat.com>
14268
14269         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
14270         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
14271
14272 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
14273
14274         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
14275         Add missing doc strings
14276         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
14277         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
14278
14279 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
14280
14281         * i386.c (ix86_output_main_function_alignment_hack): New function.
14282         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
14283
14284         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
14285         edges by EDGE_DFS_BACK flag.
14286         (dump_edge_info): Add dfs_back flag.
14287         * basic-block.h (EDGE_DFS_BACK): New constant.
14288         (mark_dfs_back_edges): Declare.
14289         * alias.c (loop_p): Remove.
14290         (mark_constant_function): Use mark_dfs_back_edges.
14291
14292         * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
14293         (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
14294         (compensate_edge): Break out from ...
14295         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
14296         (convert_regs_2): Set block_done once block is really done;
14297         Do updating of the predecessors counts.
14298
14299         * toplev.c (rest_of_compilation): Recompute block_for_insn
14300         before post-reload cfg_cleanup.
14301         * function.c (thread_prologue_epilogue_insns):
14302         Call set_block_for_new_insns when emitting prologue directly.
14303
14304 2001-07-30  Andreas Jaeger  <aj@suse.de>
14305
14306         * jump.c: Add prototype for mark_modified_reg.
14307
14308         * cse.c (set_live_p): Add unused attribute.
14309
14310         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
14311         overflow.
14312         (scan_for_source_files): Use long for count to avoid overflow.
14313         (output_data): Likewise.
14314         (output_data): Don't use string concatatenation to silence gcc
14315         -traditional.
14316
14317         * predict.c: Fix typos and grammar.
14318
14319         * gcse.c (insert_insn_end_bb): Remove unused variables.
14320
14321 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
14322
14323         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
14324         (attempt_auto_inc): LIkewise.
14325         (mark_used_reg): Likewise.
14326         (try_pre_increment_1): Likewise.
14327         * regclass.c (regclass): Likewise.
14328         * global.c (allocno_compare): Update comment; change scaling factor.
14329         * local-alloc.c (QTY_CMP_PRI): Likewise.
14330         * regs.h (REG_FREQ_FROM_BB): New.
14331         (REG_FREQ_MAX): Likewise.
14332
14333 2001-07-30  H.J. Lu <hjl@gnu.org>
14334
14335         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
14336         -D_GNU_SOURCE.
14337
14338 2001-07-30  H.J. Lu  (hjl@gnu.org)
14339
14340         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
14341         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
14342         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
14343
14344 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
14345
14346         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
14347         as -mthumb-interwork when -mcpu=arm7 is specified.
14348
14349 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
14350
14351         * predict.def (noreturn, loop branch, loop exit): Mark as first
14352         match heuristics.
14353
14354 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
14355
14356         * combine.c (try_combine): Avoid barrier after noop jumps.
14357
14358 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14359
14360         * cpphash.h (struct cpp_reader): Remove import_warning.
14361         * cpplib.c (skip_rest_of_line): Don't bother turning off
14362         macro expansion.
14363         (parse_include): Move include handling to...
14364         (do_include_common): ... here.  Move import warning from...
14365         (do_import): ... here.
14366         (do_pragma_poison): Don't do a callback for poison identifiers.
14367         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
14368         * cppmain.c (setup_callbacks): Similarly.
14369
14370 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
14371
14372         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
14373         handle multiple sets.
14374         * except.c (sjlj_mark_call_sites): .... here.
14375         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
14376
14377 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
14378
14379         Suggested by Richard Henderson and Richard Kenner:
14380         * combine.c (recog_for_combine): Use the fake recog
14381         only if instruction does not match.
14382         * rtl.h (NOOP_MOVE_INSN_CODE): New.
14383         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
14384
14385         * combine.c (try_combine): Discover noop jump as direct jump.
14386
14387 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
14388
14389         * df.c (df_rd_global_compute): Add successors to worklist, not
14390         current item.
14391         (df_ru_global_compute): Ditto.
14392
14393 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
14394
14395         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
14396         increment REG_N_SETS.
14397
14398 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
14399
14400         * sbitmap.h: New prototype for sbitmap_a_xor_b.
14401
14402         * sbitmap.c (sbitmap_a_xor_b): New function.
14403         ifdef the basic block stuff on IN_GCC.
14404
14405 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14406
14407         * cppexp.c (parse_defined): Always record the macro name.
14408         (lex): Don't worry about identifiers, or special-case
14409         CPP_NOT here.
14410         (_cpp_parse_expr): Figure out at the end of the routine
14411         whether we saw a valid !defined() expression.
14412         * cppfiles.c (stack_include_file): Update for mi_valid.
14413         (_cpp_pop_file_buffer): Similarly.
14414         * cpplex.c (_cpp_lex_token): Similarly.
14415         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
14416         mi_if_not_defined, mi_lexed): Remove.
14417         (mi_valid): New.
14418         * cpplib.c (do_if): Simplify.
14419         (do_endif, push_conditional, _cpp_handle_directive): Update
14420         for renaming of mi_state to mi_valid.
14421 doc:
14422         * cpp.texi: Add index entries for digraphs, and add comment
14423         that C++ refers to them as alternative tokens.
14424
14425 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
14426
14427         * basic-block.h (CLEANUP_PRE_LOOP): New.
14428         * except.c (finish_eh_generation): Update call of cleanup_cfg.
14429         * sibcall.c (optimize_sibling_calls): Likewise.
14430         * toplev.c (rest_of_compilation): Likewise.
14431         * flow.c (try_forward_edges): Take argument MODE;
14432         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
14433         (try_optimize_cfg): Update call of try_forward_edges.
14434
14435 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
14436                                 Jan Hubicka  <jh@suse.cz>
14437
14438         * (validate_replace_rtx_1): Fix simplification of MINUS.
14439
14440 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
14441
14442         PR preprocessor/3669
14443         * cppinit.c (init_dependency_output): Turn off dump requests
14444         if sending dependencies to stdout.
14445
14446 2001-07-28  Richard Henderson  <rth@redhat.com>
14447
14448         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
14449         not optimizing.
14450
14451 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
14452
14453         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
14454
14455 2001-07-28  Kazu Hirata  <kazu@hxi.com>
14456
14457         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
14458         is VAR_DECL first to prevent an ICE.
14459
14460 2001-07-28  Richard Henderson  <rth@redhat.com>
14461
14462         * varasm.c (immed_real_const_1): Don't elide special cases for
14463         nested functions.
14464         (clear_const_double_mem): Clear const_tiny_rtx too.
14465
14466 2001-07-28  Richard Henderson  <rth@redhat.com>
14467
14468         * dwarf2out.c (dw_val_class_offset): New.
14469         (struct dw_ranges_struct, dw_ranges_ref): New.
14470         (ranges_table, ranges_table_allocated): New.
14471         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
14472         (add_AT_offset, add_ranges, output_ranges): New.
14473         (print_die, output_die): Handle dw_val_class_offset.
14474         (attr_checksum, size_of_die, value_format): Likewise.
14475         (gen_lexical_block_die): Handle non-contiguous blocks.
14476         (gen_block_die): Likewise.
14477         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
14478         if needed.  Dump the ranges table.
14479         * final.c (final_start_function): Remove unnecessary notes and
14480         rebuild the block tree before numbering the blocks.
14481         * function.c (reorder_blocks_0): Walk the existing block tree
14482         to unmark all blocks.
14483         (reorder_blocks_1): Create block fragments when duplicate block
14484         notes are seen.
14485         (reorder_fix_fragments): New.
14486         (reorder_blocks): Call it.
14487         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
14488
14489 2001-07-28  Richard Henderson  <rth@redhat.com>
14490
14491         * emit-rtl.c (adjust_address): Make a copy of the memory address.
14492
14493 2001-07-28  Richard Henderson  <rth@redhat.com>
14494
14495         * flow.c (add_to_mem_set_list): New function.
14496         (init_propagate_block_info): Use it.
14497         (mark_set_1): Likewise.
14498         (insn_dead_p): Canonicalize memory address for dead store
14499         comparison.  Allow wider mode stores to kill narrower mode stores.
14500         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
14501         (invalidate_mems_from_set): Don't handle MEMs.
14502
14503 2001-07-28  Kazu Hirata  <kazu@hxi.com>
14504
14505         * config/h8300/h8300.h: Fix formatting.
14506
14507 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
14508
14509         * basic-block.h (EDGE_FREQUENCY): New macro.
14510         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
14511         for new BB/edges.
14512         * flow.c (find_sub_basic_blocks): Likewise.
14513         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
14514         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
14515
14516         * predict.c (DEF_PREDICTOR): New argument FLAGS.
14517         (HITRATE): New macro.
14518         (PRED_FLAG_FIRST_MATCH): New constant.
14519         (predictor_info): New field flgags.
14520         (combine_predictions_for_insn): Use DS theory to combine
14521         probabilities; set the edge probabilities when finished.
14522         (estimate_probability): Avoid duplicated matches
14523         of LOOP_BRANCH heuristics for nested loops; update comment.
14524         * predict.def: Add flags for each prediction, set probabilities
14525         according to B&L paper.
14526         * predict.h (DEF_PREDICTOR): New argument FLAGS.
14527
14528         * profile.c (compute_branch_probabilities):  Cleanup way the edge
14529         probabilities are computed and REG_BR_PROB notes are dropped; if
14530         values does not match, emit error.
14531         (init_branch_prob): Do error instead of warning when profile driven
14532         feedback is missing or corrupt.
14533
14534 2001-07-27  DJ Delorie  <dj@redhat.com>
14535
14536         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
14537         against a constant, try to adjust the compare to have the desired
14538         constant in it so that min/max optimizations happen more often.
14539
14540 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
14541
14542         * flow.c (last_loop_beg_note): New function.
14543         (redirect_edge_and_branch): Use it.
14544         (split_edge): Likewise.
14545
14546         * alias.c (loop_p): Avoid uninitialized memory access.
14547
14548         * flow.c (try_forward_edges): Avoid accessing freed memory.
14549
14550         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
14551         variable access.
14552
14553 2001-07-26  Andrew Haley  <aph@redhat.com>
14554         Joern Rennecke <amylaar@redhat.com>
14555
14556         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
14557         (SUBTARGET_CPP_ENDIAN_SPEC): New.
14558         (SUBTARGET_CPP_SPEC): New.
14559         (CPP_SPEC): Remove.
14560         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
14561         (SUBTARGET_CPP_PTR_SPEC): New.
14562         (CPP_DEFAULT_CPU_SPEC): New.
14563         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
14564         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14565         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
14566         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14567         (SUBTARGET_CPP_SPEC): Define as an empty string.
14568
14569 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
14570
14571         * doc/install.texi (Configuration): Properly link the host
14572         specific instructions also when generating HTML.
14573
14574 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
14575
14576         * flow.c (redirect_edge_and_branch_force): Test
14577         target->global_live_at_start.
14578
14579 2001-07-26  Richard Henderson  <rth@redhat.com>
14580
14581         * simplify-rtx.c (avoid_constant_pool_reference): Export.
14582         * rtl.h (avoid_constant_pool_reference): Declare it.
14583         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
14584         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
14585
14586 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
14587
14588         * rtl.h (cleanup_barriers): Declare.
14589         * jump.c (cleanup_barriers): New function.
14590         * toplev.c (rest_of_compilation): Call cleanup_barriers
14591         before loop optimizer and after bb_reorder.
14592
14593         * flow.c (back_edge_of_syntactic_loop_p): New.
14594         (split_edge): Use it.
14595
14596 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14597
14598         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
14599
14600 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
14601
14602         * cse.c (cse_process_notes): Replace any registers if the address
14603         remains valid.
14604
14605 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
14606
14607         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
14608         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
14609         (propagate_block): Update prototype.
14610         * flow.c (update_life_info): Simplify the CFG and
14611         recalculate the global regs which are alive when
14612         removing dead code during a global update.
14613         (propagate_block): Return non-zero if an INSN is
14614         deleted.
14615
14616 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14617
14618         * Makefile.in (LIBICONV): Define.
14619
14620 2001-07-26  Catherine Moore  <clm@redhat.com>
14621
14622         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
14623         of conditional to avoid tree checking errors.
14624
14625 2001-07-26  Kazu Hirata  <kazu@hxi.com>
14626
14627         * regmove.c (regmove_optimize): Don't replace a reg with
14628         another reg of a different mode.
14629
14630 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
14631
14632         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
14633         limit length of dependency flush list.
14634         * params.h (MAX_PENDING_LIST_LENGTH): Define.
14635         * sched-int.h  (struct deps): Add pending_flush_length field.
14636         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
14637         has 1 element in it.
14638         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
14639         (sched_analyze): After a jump, if the pending memory flush list is too
14640         large, flush the pending lists.
14641         (init_deps): Initialize pending_flush_length to 0.
14642         * doc/invoke.texi (max_pending_list_length): Document parameter.
14643
14644 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
14645
14646         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
14647         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
14648         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
14649
14650 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14651
14652         * cpphash.h (struct_lexer_state): Delete was_skipping.
14653         Move skipping here from struct cpp_reader.
14654         * cpplex.c (parse_identifier): Update.
14655         (_cpp_lex_token): Don't skip tokens in a directive.
14656         * cpplib.c (struct if_stack): Update.
14657         (start_directive, end_directive): Don't change skipping state.
14658         (_cpp_handle_directive): Update.
14659         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
14660         (do_else, do_endif): Update; only check for excess tokens if not
14661         in a skipped conditional block.
14662         (push_conditional): Update for new struct if_stack.
14663
14664 2001-07-26  Graham Stott  <grahams@redhat.com>
14665
14666         * function.c (locate_and_pad_parm): Also pad initial offset
14667         so that the total argument size also includes the padding.
14668
14669 2001-07-26  Graham Stott <grahams@redhat.com>
14670
14671         * gensupport.c (alter_output_for_insn): Correct enable checking failure
14672         change XSTR to XTMPL.
14673
14674         (process_one_cond_exec): Likewise
14675
14676 2001-07-25  Richard Henderson  <rth@redhat.com>
14677
14678         * varasm.c (assemble_variable): Create DECL_RTL before setting
14679         TREE_ASM_WRITTEN.
14680
14681 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
14682
14683         * predict.c (estimate_probability): Avoid duplicated predictions.
14684
14685         * loop.c (find_and_verify_loops): Grok multiple barriers.
14686
14687 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
14688
14689         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
14690
14691         * dbxout.c: Consistently use putc instead of fputc.
14692         (print_wide_int): New function; call instead of direct fprintf.
14693         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
14694         (dbxout_type_fields, dbxout_type_method_1): Likewise.
14695         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
14696         (print_int_cst_octal): Likewise.
14697         (print_octal): Show we wrote characters.
14698         (dbxout_type): Set have_used_extensions in more places.
14699
14700 2001-07-25  Catherine Moore  <clm@redhat.com>
14701
14702         * config/v850/v850.c (v850_va_arg):  Use addr
14703         instead of valist to build incr.
14704
14705 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
14706
14707         * flow.c (delete_dead_jumptables): New function.
14708         (life_analyzis): Call it.
14709         * bb-reorder.c (skip_insns_after_block): Handle contradictory
14710         sequences.
14711
14712 2001-07-25  Richard Henderson  <rth@redhat.com>
14713
14714         * except.c (reachable_handlers): Handle a region being removed
14715         out from under a RESX.
14716
14717 2001-07-25  Richard Henderson  <rth@redhat.com>
14718
14719         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
14720         swap GE/GT if it is an fp comparison.
14721
14722 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
14723
14724         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
14725         operands.
14726
14727 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
14728
14729         * ssa.c (rename_insn_1): Do not wrap an assignment to a
14730         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
14731         glitch.
14732
14733         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
14734         throw an exception.
14735         (visit_expression): When attempting to simplify an expression,
14736         retrieve any modes for arguments before they are simplified
14737         to constants.
14738
14739 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
14740             Janis Johnson  <janis@us.ibm.com>
14741
14742         * stmt.c (expand_goto): A nonlocal goto can be a call too.
14743         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
14744         pointer parameters to match documented usage of nonlocal_goto.
14745         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
14746         parameters to their correct order.
14747         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
14748         parameters to their correct order.
14749
14750 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
14751
14752         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
14753
14754 2001-07-25  Jan Hubicka  <jh@suse.cz>
14755             Richard Henderson  <rth@redhat.com>
14756
14757         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
14758         the sequence.
14759         (make_edges): New argument update_p; populate the edge cache if set.
14760         (find_basic_blocks): Update make_edges invocation.
14761
14762 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14763
14764         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
14765
14766 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14767
14768         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
14769         -Acpu and -Amachine.h.
14770         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
14771         Corrected header to say ELF not a.out.
14772         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
14773         when given -msoft-float.
14774
14775 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14776
14777         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
14778         extra multilib parts like arm-elf.
14779         (i960-*-coff*, i960-*-rtems): Should not use collect2.
14780         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
14781         crtfini.o as extra multilib parts.
14782
14783 2001-07-24  Joel Sherrill <joel@OARcorp.com>
14784
14785         * configure.in: Add rtems as a supported thread model.
14786         * gthr-rtems.h: Add missing entry point __gthread_active_p.
14787         * configure: Rebuilt.
14788
14789 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
14790
14791         * stor-layout.c (get_mode_alignment): make it work when
14792         BITS_PER_UNIT is not a power of two.
14793         * builtins.c (get_pointer_alignment): Likewise.
14794
14795 2001-07-24  Richard Henderson  <rth@redhat.com>
14796
14797         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
14798         the retrieved constant into the expected mode.
14799
14800 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
14801
14802         * flow.c (try_simplify_condjump): Avoid duplicated edges.
14803         (verify_flow_info): Check for duplicated edges; clarify
14804         error reporting.
14805
14806         * flow.c (block_label): Update basic_block_for_insn.
14807         (commit_edge_insertions): Call compute_bb_for_insn.
14808
14809         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
14810         returns too.
14811
14812         * flow.c (redirect_edge_and_branch,
14813         try_optimize_cfg): Use redirect_edge_succ_nodup
14814         (redirect_edge_succ_nodup): New.
14815         * basic_block.h (redirect_edge_succ_nodup): Declare.
14816
14817         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
14818         after gcse.
14819
14820 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
14821
14822         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
14823         (try_crossjump_to_edge): Update commetns.
14824         (try_crossjump_bb): Likewise.
14825
14826 2001-07-24  Richard Henderson  <rth@redhat.com>
14827
14828         * combine.c (distribute_notes): Move set of need_refresh
14829         for noop_move_p down to catch all cases.
14830
14831 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
14832
14833         * recog.c (split_all_insns_noflow): New.
14834         * rtl.h (split_all_insns_noflow): Declare.
14835         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
14836         * m68hc11.c (m68hc11_reorg): Likewise.
14837         * sh.c (machine_dependent_reorg): Likewise.
14838         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
14839         call.
14840
14841 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
14842
14843         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
14844         (ashlsi3_n splitter): Likewise.
14845         (lshrsi3_n splitter): Likewise.
14846
14847         (GOTaddr2picreg): Make const SImode.
14848         (sym_label2reg): Likewise.
14849         (symGOT2reg): Likewise.
14850         (symGOTOFF2reg) Likewise.
14851
14852         (casesi_worker_0): Make unspec SImode.
14853
14854 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
14855
14856         * config/sh/sh.c (barrier_align): Check that an operand really is
14857         an insn before extracting its INSN_CODE.
14858
14859 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
14860
14861         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
14862         dangling else.
14863
14864         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
14865         for SImode to prevent overflow.
14866
14867 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
14868
14869         * config/mips/irix6-libc-compat.c: New file.
14870         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
14871         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
14872         passing workaround.
14873
14874 2001-07-24  lars brinkhoff  <lars@nocrew.org>
14875
14876         * rtl.texi (REG_POINTER): Document.
14877         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
14878         QFmode, HFmode, TQFmode, QCmode, and HCmode.
14879
14880 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
14881
14882         * flow.c (delete_noop_moves): Do not confuse libcall regions.
14883
14884 2001-07-23  Richard Henderson  <rth@redhat.com>
14885
14886         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
14887
14888 2001-07-23  Kazu Hirata  <kazu@hxi.com>
14889
14890         * config/h8300/h8300-protos.h: Add a prototype for
14891         general_operand_dst_push.
14892         * config/h8300/h8300.c (general_operand_dst_push): New.
14893         * config/h8300/h8300.h (OK_FOR_T): New.
14894         (EXTRA_CONSTRAINT): Use it.
14895         * config/h8300/h8300.md (movqi_push): Remove and integrate into
14896         the existing movqi pattern.
14897         (movhi_push): Likewise.
14898
14899         * reload.c: Fix comment typos.
14900
14901 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
14902
14903         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
14904
14905 2001-07-23  H.J. Lu  (hjl@gnu.org)
14906
14907         * doc/extend.texi: Update __builtin_return_address and
14908         __builtin_frame_address.
14909
14910 2001-07-23  Richard Henderson  <rth@redhat.com>
14911
14912         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
14913         before CSE.
14914         * config/i386/i386.md: New setcc+movzbl peephole2.
14915
14916 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
14917
14918         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
14919         * objc/objc-act.c: Include debug.h.
14920         (synth_module_prologue): Save and restore debug hooks too.
14921
14922 2001-07-23  lars brinkhoff  <lars@nocrew.org>
14923
14924         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
14925         and C4X_FLOAT_FORMAT.
14926         (BOOL_TYPE_SIZE): Document.
14927
14928 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
14929
14930         * unroll.c (loop_iterations): Fix miscalculation of initial
14931         giv offset.
14932
14933 2001-07-13  Andrew Haley  <aph@redhat.com>
14934
14935         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
14936         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
14937         * config/sh/sh.c (sh_can_redirect_branch): New function.
14938         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
14939         * reorg.c (steal_delay_list_from_target): Use
14940         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
14941
14942 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
14943
14944         * flow.c (try_simplify_condjump): Unlink insn chain on
14945         fallthru edge; use can_fallthru.
14946
14947 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
14948
14949         * basic-block.h (find_sub_basic_block): Declare.
14950         * flow.c (make_edges): New arguments MIN and MAX;
14951         (find_sub_basic_blocks): Revamp to use make_edges
14952         and purge_dead_edges.
14953         (find_basic_blocks): Update call of find_sub_basic_block.
14954
14955         * recog.c (split_all_insns): Always expect CFG to be consistent;
14956         call find_sub_basic_blocks in case something has changed.
14957         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
14958         has been built.
14959
14960         * basic-block.h (delete_noop_moves): Declare.
14961         * combine.c (combine_instructions): Call it.
14962         (recog_for_combine): Tolerate noop moves
14963         (distribute_notes): Force refresh when register dies at noop move.
14964         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
14965         too.
14966         (life_analysis): Update delete_noop_moves call.
14967         (set_noop_p): Move too ...
14968         * rtlanal.c (noop_move_p): ... here.
14969         * rtl.h (noop_move_p): Declare.
14970
14971         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
14972         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
14973         after combine.
14974         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
14975         (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
14976
14977 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
14978
14979         * reload.c (push_reload): Fix typo in comment.
14980         (find_reloads_address): Ditto.
14981         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
14982
14983 2001-07-22  Richard Henderson  <rth@redhat.com>
14984
14985         * flow.c: Grammar check and clarify a lot of comments.
14986         (try_simplify_condjump): Rename variables to be clearer.
14987         (try_forward_edges): Skip complex and fallthru edges.
14988         Rearrange tests to avoid duplicate checks.
14989         (flow_find_cross_jump): Likewise.
14990         (outgoing_edges_match): Allow match if neither branch has
14991         probability data.  Loosen probability match to 5%.
14992         (try_crossjump_to_edge): Hoist repeated indirection into
14993         local variables.
14994         (try_crossjump_bb): Don't check complex edges.  Eliminate
14995         redundant crossjump tests.
14996         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
14997         checks before more expensive checks.
14998
14999 2001-07-22  Richard Henderson  <rth@redhat.com>
15000
15001         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
15002         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
15003         arguments.
15004
15005 2001-07-22  Richard Henderson  <rth@redhat.com>
15006
15007         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
15008         (const_sint32_operand): Likewise.
15009         * m68k.md (anon mulsi pattern): Use const_int_operand not
15010         const_sint32_operand.
15011         (umulsi3_highpart): Zero extend a constant input.
15012         (smulsi3_highpart): Don't bother checking SImode constant.
15013         (const_umulsi3_highpart): Give op3 DImode.
15014         (const_smulsi3_highpart): Likewise.
15015
15016 2001-07-22  Richard Henderson  <rth@redhat.com>
15017
15018         * flow.c (split_block): Make sure bb_note is included in the
15019         new block when splitting before a label.
15020
15021 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
15022
15023         * basic-block.h (redirect_edge_and_branch_force,
15024         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
15025         * flow.c (redirect_edge_and_branch_force,
15026         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
15027         (redirect_edge_and_branch_force): Fix copying of lifeness information.
15028         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
15029         * ifcvt.c (dead_or_predictable): Take BB as an new destination
15030         instead of label; update CFG after transformation.
15031         (find_if_case_1): Update call, use redirect_edge_and_branch_force
15032         for finishing the transformation; handle even case where ELSE
15033         does not follow THEN.
15034         (find_if_case_2): Update call of dead_or_predictable; simplify
15035         CFG update.
15036
15037         * emit-rtl.c (split_branch_probability): New global variable.
15038         (try_split): Take care to set split_branch_probability and
15039         create REG_BR_PROB note for new jump insns.
15040         * md.texi (define_split): Document new feature.
15041
15042         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
15043
15044 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
15045
15046         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
15047         (asm_out_file): Remove redundant declaration.
15048         (assemble_asm): Remove old #if 0 block.
15049         (assemble_variable): Remove end of function; debug output is
15050         now handled with global_decl.  Remove old #if 0 block.  Update.
15051         Remove saved_in_section and associated no-op code.
15052         * Makefile.in (varasm.o): Correct dependencies.
15053
15054 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
15055
15056         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
15057         the definition in defaults.h.
15058
15059 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
15060
15061         * jump.c: Update comments.
15062         (delete_barrier_successors, delete_unreferenced_labels,
15063         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
15064         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
15065         jump_optimize, jump_optimize_minimal): Kill.
15066         (rebuild_jump_labels): Move code from jump_optimize_1.
15067         (purge_line_number_notes): Likewise.
15068         (copy_loop_headers): Likewise.
15069         * reg-stack.c: Update comment.
15070         * stmt.c: Likewise.
15071         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
15072         JUMP_AFTER_REGSCAN): Kill.
15073         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
15074         purge_line_number_notes and copy_loop_headers.
15075
15076 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
15077            Richard Henderson  <rth@redhat.com>
15078
15079         * dbxout.c (dbxout_global_decl): New.
15080         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15081         * sdbout.c (sdbout_finish): New.
15082         (sdbout_debug_hooks): Use it, add comments.
15083         (sdbout_global_decl): Defer initialised public vars to
15084         sdbout_finish.
15085         * varasm.c (assemble_variable): Don't output debug information
15086         for file-scope variables.
15087
15088 2001-07-22  Richard Henderson  <rth@redhat.com>
15089
15090         * config/alpha/alpha.c (get_trap_mode_suffix): New.
15091         (get_round_mode_suffix): New.
15092         (print_operand): Use them for [/].  Remove support for [&'`()+].
15093         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
15094         * config/alpha/alpha.md (attr round_suffix): New.
15095         (attr trap_suffix): New.
15096         (all insns): Set them appropriately.  Use %/ instead of the
15097         myriad punctuators.
15098
15099 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15100
15101         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
15102
15103 2001-07-22  Richard Henderson  <rth@redhat.com>
15104
15105         * regrename.c (regrename_optimize): Compute nregs for each
15106         potential target register.
15107
15108 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
15109            Richard Henderson  <rth@redhat.com>
15110
15111         * dbxout.c (dbxout_global_decl): New.
15112         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15113         * sdbout.c (sdbout_finish): New.
15114         (sdbout_debug_hooks): Use it, add comments.
15115         (sdbout_global_decl): Defer initialised public vars to
15116         sdbout_finish.
15117         * varasm.c (assemble_variable): Don't output debug information
15118         for file-scope variables.
15119
15120 2001-07-21  H.J. Lu  (hjl@gnu.org)
15121
15122         * config/mips/mips.c (mips_cpu): Moved into ...
15123         (override_options): Here.
15124
15125         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
15126         mips_tune.
15127         (mips_cpu): Removed.
15128
15129 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15130
15131         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
15132         ("iorqi3"): Likewise.
15133         ("xorqi3"): Likewise.
15134         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
15135         ("*subhi3_sp): Likewise.
15136         ("*subhi3"): Likewise.
15137         ("extendhisi2"): Accept D, X and Y as source operand to avoid
15138         reload problems.
15139
15140 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
15141
15142         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
15143         * config/freebsd.h: Likewise.
15144         * config/linux.h: Likewise.
15145         * config/openbsd.h: Likewise.
15146         * config/alpha/linux-elf.h: Likewise.
15147         * config/arm/linux-elf.h: Likewise.
15148         * config/d30v/d30v.h: Likewise.
15149         * config/fr30/fr30.h: Likewise.
15150         * config/ia64/aix.h: Likewise.
15151         * config/ia64/ia64.h: Likewise.
15152         * config/mips/linux.h: Likewise.
15153         * config/pj/pj.h: Likewise.
15154         * config/rs6000/linux.h: Likewise.
15155         * config/sparc/linux.h: Likewise.
15156         * config/sparc/linux64.h: Likewise.
15157
15158 2001-07-20  Bruce Korb  <bkorb@gnu.org>
15159
15160         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
15161         because getc() and char* may disagree on signedness.
15162
15163 2001-07-20  Richard Henderson  <rth@redhat.com>
15164
15165         * doc/rtl.texi (REG_DEAD): Update for current semantics.
15166
15167         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
15168         insns to delete in the presence of cc0 in a jump insn.
15169
15170 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
15171                                 Jan Hubicka  <jh@suse.cz>
15172
15173         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
15174         of doing the change by hand.
15175
15176 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
15177
15178         * rtlanal.c (set_noop_p): Return true for noop jumps.
15179
15180         * expr.c (emit_single_push_insn): Add call to push expander.
15181         * expr.h (optab_index): Add OTI_push
15182         (push_optab): New constant.
15183         * genopinit.c (optabs): Add push_optab.
15184         * optabs.c (init_optab): Init push optab.
15185         * md.texi (push??1): Document
15186
15187 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15188
15189         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
15190         expand to emit the pattern; put a REG_INC note for push/pop
15191         instructions.
15192         ("movdf", "movdf_internal"): Likewise.
15193         ("movsi", "movsi_internal"): Likewise.
15194         ("movsf", "movsf_internal"): Likewise.
15195         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
15196
15197 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
15198
15199         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
15200         gen_highpart.
15201
15202 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
15203
15204         * params.def: Change default max inline insns to 100.
15205
15206 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
15207
15208         * combine.c (combine_simplify_rtx): Generate a new shift operation
15209         when simplifying the first operand of a (neg (ashift)) expression.
15210
15211 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
15212
15213         * regclass.c (N_REG_INTS): Use only 32 bits per element.
15214
15215 2001-07-20  Kelley Cook  <kelley.cook@home.com>
15216
15217         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
15218         information.   Move rest into ...
15219         (*-*-solaris): ... here.  Eliminate redundant information and
15220         reword necessary packages section.  Delete 4.x assembler bug info.
15221         (sparc-sun-*): Merge into ...
15222         (sparc-sun-sunos*): here.
15223
15224 2001-07-20  Catherine Moore  <clm@redhat.com>
15225
15226         * config/v850/v850.md (casesi): Generate LABEL_REF
15227         with Pmode.
15228
15229 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
15230
15231         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
15232         * i386.c (ix86_zero_extend_to_Pmode): Make global.
15233         * i386.md (strclrsi expander): Use it.
15234
15235 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15236
15237         * integrate.c (copy_insn_list): handle
15238         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
15239         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
15240         identically as to CODE_LABEL.
15241
15242         * fold-const (fold): Convert A/B/C to A/(B*C) and
15243         A/(B/C) to (A/B)*C
15244
15245         * except.c (connect_post_landing_pads): Delete the RESX insns.
15246
15247 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
15248
15249         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
15250
15251         * config/mips/mips.md (nmadd/nmsub): Use macro.
15252
15253 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
15254
15255         * cppinit.c (remove_dup_dir): Make static.
15256         (remove_dup_dirs): Make static. Only warn about preempting a
15257         system directory with a non-system directory.
15258
15259 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
15260
15261         * ifcvt.c (noce_try_store_flag_constants): Correct order
15262         of parameters to trunc_int_for_mode.
15263
15264 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
15265
15266         * reorg.c (fill_simple_delay_slots): If an instruction might throw
15267         an exception that will be caught within this function, do not fill
15268         its delay slot with any subsequent instruction.
15269
15270 2001-07-19  Steve Ellcey <sje@cup.hp.com>
15271
15272         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
15273         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
15274         pointer extension instruction.
15275         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
15276         * simplify-rtx.c (simplify_unary_operation) Likewise.
15277         * explow.c (convert_memory_address) Check value of
15278         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
15279         less than zero.
15280         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
15281         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
15282         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
15283         Add Multilib Support.
15284         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
15285         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
15286         Add Multilib Support.
15287         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
15288         support.
15289         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
15290         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
15291         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
15292
15293 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
15294
15295         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
15296         old and new operands in `<', `3' and `b'.
15297
15298 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
15299
15300         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
15301         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
15302         (toplev.o): Don't depend on xcoffout.h.
15303         * c-decl.c: Include debug.h
15304         (duplicate_decls): Use debug hook.
15305         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
15306         (dbx_debug_hooks, xcoff_debug_hooks): Update.
15307         (dbxout_types): Remove.
15308         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
15309         * debug.c (do_nothing_debug_hooks): Update.
15310         (debug_true_tree, debug_nothing_rtx): New.
15311         * debug.h (struct rtx_def): New.
15312         (struct gcc_debug_hooks): New hooks ignore_block,
15313         outlining_inline_function and label.
15314         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
15315         dwarf2out_frame_finish): New.
15316         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
15317         Make static, update prototype.
15318         (dwarf2_debug_hooks): Update.
15319         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
15320         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
15321         * dwarfout.c (dwarf_debug_hooks): Update.
15322         * emit-rtl.c: Include debug.h.
15323         (remove_unnecessary_notes): Use debug hook.
15324         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
15325         (final_scan_insn): Use debug hook.
15326         * integrate.c (output_inline_function): Use debug hook.
15327         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
15328         (sdb_debug_hooks): Update.
15329         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
15330         * toplev.c: Don't include xcoffout.h.
15331         (note_outlining_of_inline_function, debug_ignore_block): Remove.
15332         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
15333         Remove.
15334         * tree.h (dwarf2out_do_frame): Remove.
15335
15336 2001-07-19  Catherine Moore  <clm@cygnus.com>
15337
15338         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
15339
15340 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
15341
15342         * reload1.c (eliminate_regs_in_insn): When updating a set
15343         to the frame pointer to the hardware frame pointer, perform
15344         the update always not just when REPLACE is set.
15345
15346         * reload1.c (choose_reload_regs): Don't inherit a reload
15347         that crosses multiple registers if registers past the first
15348         don't fit in the desired class.
15349
15350         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
15351         when negating constants.
15352
15353 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
15354
15355         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
15356         * doc/tree.texi: Ditto.
15357
15358 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
15359             Jakub Jelinek  <jakub@redhat.com>
15360
15361         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
15362         (extract_cie_info): Handle "eh" augmentation properly,
15363         remember eh_ptr.
15364         (struct frame_state, __frame_state_for): New.
15365
15366 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15367
15368         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
15369         HANDLE_SYSV_PRAGMA): Define.
15370         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
15371         previous args.
15372         (copy_object): Caller changed.
15373
15374 2001-07-19  Andreas Schwab  <schwab@suse.de>
15375
15376         * configure.in (assembler dwarf2 debug_line support): Define nop
15377         insn for m68k.
15378         * configure: Regenerated.
15379
15380 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
15381
15382         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
15383         dwarfout.h.
15384         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
15385         to conditionally compiled block.
15386         (dbx_debug_hooks, xcoff_debug_hooks): Update.
15387         * dbxout.h (dbxout_function): Remove.
15388         * debug.c (do_nothing_debug_hooks): Update.
15389         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
15390         global_decl, deferred_inline_function.
15391         * dwarf2out.c (dwarf2_debug_hooks): Update.
15392         (dwarf2out_global_decl): New.
15393         * dwarfout.c: Don't include dwarfout.h.
15394         (dwarfout_global_decl, dwarfout_function_decl,
15395         dwarfout_deferred_inline_function): New.
15396         (dwarf_debug_hooks): Update.
15397         * dwarfout.h: Remove.
15398         * final.c: Don't include dwarfout.h.
15399         * sdbout.c (sdbout_global_decl): New.
15400         (sdbout_debug_hooks): Update.
15401         * toplev.c: Don't include dwarfout.h.
15402         (check_global_declarations, rest_of_compilation): Use new debug hooks.
15403         (note_deferral_of_defined_inline_function): Remove.
15404         * toplev.h (note_deferral_of_defined_inline_function): Remove.
15405         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
15406         * ch/lex.c: Don't include dwarfout.h.
15407         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
15408         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
15409         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
15410         * cp/optimize.c: Include debug.h.
15411         (maybe_clone_body): Use debug hook.
15412         * cp/semantics.c: Include debug.h.
15413         (expand_body): Use debug hook.
15414         * po/POTFILES.in: Remove dwarfout.h.
15415
15416 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
15417
15418         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
15419         * c-parse.in (yyerror, _yylex): Similarly.
15420         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
15421         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
15422         Update comments.
15423         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
15424         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
15425
15426 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
15427
15428         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
15429         in-class declaration at -g1.  Fixes c++/2814.
15430
15431 2001-07-18  Richard Henderson  <rth@redhat.com>
15432
15433         * doc/md.texi (reload_in/out): Document restrictions in predicates
15434         and constraints for these patterns.  Document empty string matching
15435         ALL_REGS.
15436
15437 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15438
15439         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
15440
15441 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15442
15443         * cse.c: Undo my previous patch.
15444
15445 2001-07-18  Tom Tromey  <tromey@redhat.com>
15446
15447         For PR java/2812:
15448         * configure: Rebuilt.
15449         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
15450         instead.
15451         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
15452
15453 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
15454                                 Jan Hubicka  <jh@suse.cz>
15455
15456         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
15457         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
15458         * jump.c (mark_jump_label): Do not forward branches.
15459
15460 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
15461
15462         * cse.c (delete_trivially_dead_insns): Delete the libcall block
15463         when return value is unused.
15464
15465 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
15466
15467         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
15468
15469 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
15470
15471         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
15472         on error.  We can't blindly return the result of
15473         pthread_mutex_trylock because it returns a positive number on
15474         error, while we must return -1 on error.
15475         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
15476         fixes.
15477         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
15478
15479 2001-07-18  Andreas Jaeger  <aj@suse.de>
15480
15481         * integrate.c (output_inline_function): Correct type of debug_hooks.
15482
15483 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
15484
15485         * combine.c (combine_simplify_rtx): DIV can be treated
15486         associatively for floats if unsafe math optimisations are enabled.
15487
15488 2001-07-17  Richard Henderson  <rth@redhat.com>
15489
15490         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
15491
15492 2001-07-17  Richard Henderson  <rth@redhat.com>
15493
15494         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
15495         don't force the function address into a register.
15496         (expand_call, emit_library_call_value_1): Update callers.
15497         * builtins.c (expand_builtin_apply): Likewise.
15498         * expr.h (prepare_call_address): Update decl.
15499
15500 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
15501
15502         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
15503         config directory.
15504         * config/i386/chorus.h: Move up.
15505         * config/sparc/chorus.h: Likewise.
15506         * config/rs6000/chorus.h: Likewise.
15507         * config/chorus.h: Moved here.
15508
15509 2001-07-17  Andreas Schwab  <schwab@suse.de>
15510
15511         * configure.in  (assembler eh_frame optimization): Handle big
15512         endian.
15513         * configure: Regenerated.
15514
15515 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
15516
15517         * expr.c (epxand_expr): Convert divisions into multiplications by
15518         reciprocals if -ffast-math.
15519
15520 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
15521
15522         * dbxout.c (dbxout_really_begin_function): Rename to
15523         dbxout_begin_function.
15524         (dbx_debug_hooks, xcoff_debug_hooks): Update.
15525         (dbxout_begin_function): Remove.
15526         (dbxout_function): Update.
15527         (dbxout_source_line): Update prototype.
15528         * dbxout.h (dbxout_begin_function): Remove.
15529         * debug.c (do_nothing_debug_hooks): Update.
15530         (debug_nothing_tree): Update.
15531         (debug_nothing_charstar_rtx): Remove.
15532         * debug.h (union tree_node): Declare.
15533         (struct rtx_def): Remove.
15534         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
15535         begin_function.  Change source_line prototype.
15536         (debug_nothing_tree): New.
15537         (debug_nothing_charstar_rtx): Delete.
15538         (dwarf2out_begin_prologue): Moved from ...
15539         * tree.h: ... here.
15540         * dwarf2out.c (dwarf2_debug_hooks): Update.
15541         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
15542         debug info, call dwarf2out_source_line.
15543         (dwarf2out_souce_line): Update prototype.
15544         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
15545         Change prototype, make static.
15546         (dwarfout_source_line): Update prototype.
15547         (dwarf_debug_hooks): Update.
15548         * dwarfout.h (dwarfout_begin_function): Remove.
15549         * final.c (final_start_function, final_scan_insn): Use appropriate
15550         debug hooks, update to use notice_source_line.
15551         (output_source_line): Rename notice_source_line.  Don't call the
15552         source_line debug hook.
15553         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
15554         make static, update prototype.
15555         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
15556         prototype.
15557         (sdbout_end_prologue): New.
15558         (sdbout_source_line): Update prototype.
15559         (sdbout_debug_hooks): Update.
15560         (sdbout_symbol): Remove unused var.
15561         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
15562         Delete.
15563         * varasm.c: Include debug.h.
15564         (assemble_start_function): Use begin_function debug_hook.
15565         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15566         update with prototype.
15567         (xcoffout_source_line): Update prototype.
15568         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15569         update prototype.
15570         (xcoffout_source_line): Update prototype.
15571
15572 2001-07-17  Richard Henderson  <rth@redhat.com>
15573
15574         * c-typeck.c (build_binary_op): Do not shorten unsigned
15575         right shift after sign extension.
15576
15577 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
15578
15579         * combine.c (combine_simplify_rtx): Attempt to simplify
15580         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
15581
15582         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
15583         (simplify_binary_operation, simplify_unary_operation,
15584          simplify_relational_operation): Use it.
15585
15586         * combine.c (combine_simplify_rtx): Don't do associative law
15587         on divisions; allow associative law on floats.
15588
15589 2001-07-17  H.J. Lu <hjl@gnu.org>
15590             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15591
15592         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
15593         ASM_OUTPUT_WEAK_ALIAS are defined.
15594         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
15595         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
15596         Moved ...
15597         * config/mips/iris5.h: ... here.
15598         (HANDLE_SYSV_PRAGMA): Defined as 1.
15599         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
15600         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
15601         symbol.
15602
15603 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
15604
15605         * c-parse.in (all_prefix_attributes): New variable.
15606         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
15607         (maybe_resetattrs): New production.
15608         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
15609         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
15610         notype_initdcl, nested_function, notype_nested_function,
15611         component_decl, components, components_notype,
15612         component_declarator, component_notype_declarator,
15613         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
15614         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
15615         after a comma being applied to more than one declarator.
15616         * doc/extend.texi (Attribute Syntax): Update.  Remove
15617         documentation of bugs that are no longer present.
15618
15619 2001-07-13  Eric Christopher  <echristo@redhat.com>
15620
15621         * config/mips/mips.h: Change TUNE_MIPS* options to use
15622         mips_tune.
15623         (EXTRA_SPECS): Add cc1_cpu_spec.
15624         * config/mips/mips.md (muldf3): Fix typo.
15625
15626 2001-07-16  Richard Henderson  <rth@redhat.com>
15627
15628         * config/m68k/m68k.c: Include expr.h and reload.h.
15629         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
15630         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
15631
15632 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
15633             Richard Henderson  <rth@redhat.com>
15634
15635         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
15636         (insn_live_p): Fix fall off end of function.
15637         (dead_libcall_p): Remove COUNTS argument; update callers.
15638         (delete_trivially_dead_insns): Remove unused variables.
15639
15640 2001-07-17  Andreas Jaeger  <aj@suse.de>
15641
15642         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
15643         x86-64 pic support.
15644
15645         * lcm.c (optimize_mode_switching): Avoid warning for unused
15646         variable if !NORMAL_MODE.
15647
15648         * flow.c (try_crossjump_to_edge): Remove unused variable.
15649
15650 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15651
15652         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
15653         atexit declaration in stdlib.h.
15654
15655 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
15656
15657         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
15658
15659 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
15660
15661         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
15662         * except.c (finish_eh_generation): Update call of cleanup_cfg;
15663         do rebuild_jump_labels instead of jump_optimize
15664         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
15665         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
15666         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
15667
15668         * flow.c: Include timevar.h
15669         (find_basic_block): Push/pop timevar;
15670         (cleanup_cfg): Likewise.
15671         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
15672         * Makefile: Add dependencies on timevar.h
15673
15674         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
15675         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
15676
15677         * rtl.h (delete_trivially_dead_insns): Add new parameter.
15678         * toplev.c (rest_of_compilation): Update calls.
15679         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
15680         (delete_trivially_dead_insns): ... here; accept new argument
15681         preserve_basic_blocks; preserve basic blocks if set.
15682
15683         * reg-stack.c (stack_regs_mentioned): Return 0 if
15684         stack_regs_mentioned_data is not initialized.
15685         (reg_to_stack): Make stack_regs_mentioned survive after the
15686         reg-stack is completted; do not call cleanup_cfg.
15687         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
15688         make cleanup_cfg after bb-reorder to output to debug file.
15689
15690 2001-07-16  Richard Henderson  <rth@redhat.com>
15691
15692         * regclass.c (init_reg_sets): Use only 32 bits per initializer
15693         from int_reg_class_contents.
15694
15695 2001-07-16  Richard Henderson  <rth@redhat.com>
15696
15697         * hard-reg-set.h (regs_invalidated_by_call): Declare.
15698         * regclass.c (regs_invalidated_by_call): Move from cse.c.
15699         (init_reg_sets_1): Move initialization from cse_main.
15700         * cse.c (regs_invalidated_by_call): Move to regclass.c.
15701         (cse_main): Move its initialization also.
15702         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
15703         * flow.c (propagate_one_insn): Likewise.
15704         * gcse.c (compute_hash_table): Likewise.
15705         (compute_kill_rd, compute_store_table): Likewise.
15706         * sched-deps.c (sched_analyze_1): Likewise.
15707
15708 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
15709
15710         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
15711         gen_rtx_SET.
15712
15713 2001-07-16  Steve Ellcey <sje@cup.hp.com>
15714
15715         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
15716         in if statement so we don't access undefined memory.
15717
15718 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
15719
15720         * gcse.c: Update comment at top.
15721         Update comment on mem handling.
15722         mem_last_set, mem_first_set, mem_set_in_block: gone.
15723         Declaration of reg_set_info: gone.
15724         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
15725         pointless with load_killed_in_block_p (they are *more*
15726         conservative then it, not less, and less accurate).
15727         (oprs_not_set_p): Ditto.
15728         (alloc_gcse_mem): Don't allocate mem_set_in_block
15729         (free_gcse_mem): Don't free it, either.
15730         (record_last_mem_set_info): Update comment in front, remove
15731         mem_*set_* stuff. Note the reason we don't handle stores directly
15732         here.
15733         (compute_hash_table): Update comments to reflect reality. Remove
15734         mem_*set_* references.
15735         (reset_opr_set_tables): Remove mem_*set_* references.
15736         (mark_call): Ditto.
15737         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
15738         (mark_clobber): Ditto (on both parts, we double set here too).
15739         (expr_killed_p): Remove mem_set_in_block test.
15740         (compute_transp): Remove mem_set_in_block test.
15741
15742         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
15743         of edge, and removal of phi alternative to dump file.
15744         (ssa_ccp_substitute_constants): Add note about register now being
15745         constant, and which uses were replaced in what insns to dump file.
15746
15747 2001-07-16  Andreas Jaeger  <aj@suse.de>
15748
15749         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
15750         variables of type HOST_WIDEST_INT.
15751
15752         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
15753         (__bb_exit_func): Correct type of count_max to avoid overflow.
15754         (num_digits): Handle long long argument.
15755
15756         * combine.c (gen_lowpart_for_combine): Remove unused variable.
15757
15758 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
15759
15760         * output.h (sdb_begin_function_line): Restore as an extern
15761         variable.
15762         * sdbout.c (sdb_begin_function_line): Make extern.
15763
15764 2001-07-15  Richard Henderson  <rth@redhat.com>
15765
15766         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
15767         * genrecog.c (maybe_both_true_mode): New.
15768         (maybe_both_true_2): Use it.
15769         (write_switch): Don't put Pmode in a switch.
15770         * rtl.c (mode arrays): Don't explicitly size them.
15771
15772 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
15773
15774         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
15775         handling; move unconditional splitting before mode switching.
15776
15777         * i386.md (type): Add fistp type.
15778         (i387, length_attr, scheduling definitions): Handle this type.
15779         (fix_trunc?f?i2): Revamp to use mode switching.
15780         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
15781         * i386.h (fp_cw_mode): New enum
15782         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
15783         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
15784
15785 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
15786
15787         * Makefile.in (integrate.o): Add debug.h.
15788         * integrate.c (debug.h): Add.
15789         (output_inline_function): Save, reset, and restore debug_hooks.
15790
15791 2001-07-15  Richard Henderson  <rth@redhat.com>
15792
15793         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
15794         instead of COMPARE for the EQUIV expression.
15795
15796 2001-07-15  Richard Henderson  <rth@redhat.com>
15797
15798         * flow.c (redirect_edge_and_branch_force): Initialize
15799         global_live_at_start and global_live_at_end.
15800         (allocate_bb_life_data): Export.
15801         * basic-block.h (allocate_bb_life_data): Declare.
15802         * toplev.c (rest_of_compilation): Call it.
15803
15804 2001-07-15  Richard Henderson  <rth@redhat.com>
15805
15806         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
15807         (alpha_tablejump_best_label): New.
15808         * config/alpha/alpha-protos.h: Declare them.
15809         * config/alpha/alpha.md: Use braced strings for code blocks.
15810         (tablejump_osf): Break out add with r29.
15811         (tablejump_osf_internal): Remove.
15812         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
15813         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
15814
15815 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
15816
15817         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
15818         of the movable.
15819
15820         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
15821
15822         * i386-protos.h (ix86_split_fp_branch): Update prototype.
15823         (ix86_fp_jump_nontrivial_p): New.
15824         * i386.md (fp_jcc_?): Update call of split_fp_branch;
15825         use ix86_fp_jump_nontrivial_p.
15826         * i386.c (ix86_fp_jump_nontrivial_p): New.
15827         (ix86_split_fp_branch): Accept code instead of rtx.
15828         (ix86_expand_compare): Expand comparison early in case
15829         doing so is resonably cheap.
15830
15831 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
15832
15833         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
15834         not 'machine'.
15835         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
15836         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
15837
15838 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
15839
15840         * dbxout.c (dbxout_source_line): Make static, update prototype.
15841         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
15842         (dbxout_init, dbxout_finish, dbxout_source_line,
15843         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
15844         * dbxout.h (dbxout_source_line): Delete.
15845         * debug.c (debug_nothing_file, debug_nothing_file_int,
15846         debug_nothing_file_charstar_rtx): New.
15847         (do_nothing_debug_hooks): Update.
15848         (debug_nothing_void, debug_nothing_charstar_rtx,
15849         dwarf2out_end_epilogue): New.
15850         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15851         * debug.h (struct rtx_def): Declare.
15852         (gcc_debug_hooks): New hooks source_line, end_epilogue
15853         and end_function.
15854         (debug_nothing_void, debug_nothing_charstar_rtx,
15855         dwarf2out_end_epilogue): New.
15856         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15857         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
15858         (dwarf2_debug_hooks): Update.
15859         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
15860         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
15861         * dwarf2out.h (dwarf2out_source_line): Remove.
15862         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
15863         Make static, update prototype.
15864         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
15865         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
15866         (dwarf_debug_hooks): Update.
15867         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
15868         dwarfout_end_function): Remove.
15869         * final.c (profile_function): Use debug hooks for ending functions
15870         and epilogues.
15871         (output_source_line, final_end_function): Update prototype,
15872         use debug hooks.
15873         (final_start_function, final_scan_insn): Update.
15874         * output.h (sdb_begin_function_line): Remove.
15875         (final_end_function): Update prototype.
15876         * sdbout.c (sdb_begin_function_line): Make static.
15877         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
15878         (sdbout_source_line): New.
15879         (sdbout_end_epilogue, sdbout_end_function): Make static, update
15880         prototypes.
15881         (sdb_debug_hooks): Update.
15882         (sdbout_init, sdbout_source_line,
15883         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
15884         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
15885         * toplev.c (compile_file, rest_of_compilation): Update.
15886         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
15887         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
15888         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
15889         Update for prototype changes.
15890         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
15891         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
15892
15893 2001-07-15  Richard Henderson  <rth@redhat.com>
15894
15895         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
15896         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
15897         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
15898         * config/alpha/alpha.c: Likewise.
15899         * config/alpha/alpha.md: Likewise.
15900         * config/alpha/alpha32.h: Likewise.
15901         * config/alpha/vms.h: Likewise.
15902         (OPEN_VMS): Remove.
15903
15904 2001-07-14  Richard Henderson  <rth@redhat.com>
15905
15906         * config/alpha/alpha.md: Use define_constants for unspec values.
15907         Substitute throughout.
15908
15909 2001-07-14  Tim Josling  <tej@melbpc.org.au>
15910
15911         * tree.def (EXPON_EXPR) remove. Never supported anyway.
15912
15913 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15914
15915         * pa.md: Remove unused constraints from define_split's.
15916
15917 2001-04-14  Richard Henderson  <rth@redhat.com>
15918
15919         * ifcvt.c (find_cond_trap): Test for exit block.
15920
15921 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
15922
15923         Re-install recently reverted patch.
15924         * emit-rtl.c (try_split): Update mark_jump_label call.
15925         * flow.c (find_sub_basic_blocks): Likewise.
15926         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
15927         jump_back_p): Kill.
15928         (mark_all_labels): Kill second parameter.
15929         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
15930         (rebuild_jump_labels, jump_optimize_minimal): Update call
15931         of jump_optimize_1.
15932         (jump_optimize_1): Kill crossjumping code.
15933         (mark_jump_label): Kill cross_jump parameter.
15934         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
15935         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
15936         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
15937          splitting.
15938         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
15939         DFI_bpro.
15940         (dump_file_info): Likewise.
15941         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
15942         reorganize passes to do reg-stack first, bb-reorder second.
15943         * invoke.texi (-d letters doc): Remove the jump2 pass.
15944
15945 2001-07-14  Richard Henderson  <rth@redhat.com>
15946
15947         * ifcvt.c (find_cond_trap): New.
15948         (find_if_header): Call it.
15949         (merge_if_block): Relax existing jump sanity check.
15950         * jump.c (jump_optimize_1): Remove conditional trap handling.
15951
15952 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
15953
15954         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
15955         millicode.
15956         (insn_refs_are_delayed): Correct comment.
15957         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
15958         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
15959         instead of r31.  Make associated insn !TARGET_64BIT, and
15960         provide an additional 64-bit insn that clobbers r2.
15961         (divsi3): Likewise.
15962         (udivsi3): Likewise.
15963         (modsi3): Likewise.
15964         (umodsi3): Likewise.
15965
15966 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
15967
15968         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
15969
15970         * flow.c (redirect_edge_and_branch_force, split_edge,
15971         try_crossjump_to_edge): Use set_block_for_new_insns.
15972         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
15973
15974 2001-07-13  H.J. Lu  (hjl@gnu.org)
15975
15976         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
15977         the correct patch.
15978
15979 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
15980
15981         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
15982
15983 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
15984
15985         * c-common.c (decl_attributes): Take a pointer to the node to
15986         which attributes are to be attached, and a flags argument.
15987         * c-common.h (enum attribute_flags): New.
15988         (decl_attributes): Update prototype.
15989         * c-decl.c (start_decl, push_parm_decl, finish_struct,
15990         finish_enum, start_function): Update calls to decl_attributes.
15991         * c-parse.in (component_declarator, component_notype_declarator,
15992         label): Update calls to decl_attributes.
15993
15994 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
15995
15996         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
15997         * config/avr/avr.c (legitimate_address_p): Return value changed
15998         from letter to register classes. For better debugging.
15999
16000 2001-07-13  Kazu Hirata  <kazu@hxi.com>
16001
16002         * jump.c (reversed_comparison_code_parts): Fix comment typos.
16003
16004 2001-07-13  H.J. Lu  (hjl@gnu.org)
16005
16006         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
16007
16008 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
16009
16010         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
16011         correctly for shared configurations.
16012         * config/t-libgcc-pic:  New.
16013         * config/{i386,m68k,sparc}/t-openbsd:  New.
16014         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
16015         Support -shared.  Support debugging libraries with -g.
16016         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
16017         frame information does not emit pointer diffs.
16018         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
16019         emit pointer diffs.
16020
16021 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
16022
16023         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
16024
16025 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
16026
16027         * combine.c (try_combine): Ensure const_int pow2 is positive.
16028
16029 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
16030
16031         * config.gcc: Add configuration for s/390.
16032         * config/s390/s390.c: New. Subroutines for code generation.
16033         * config/s390/s390.h: New. Definitions for s/390.
16034         * config/s390/s390-protos.h: New. Prototypes.
16035         * config/s390/linux.h: New. Definitions for linux for s/390.
16036         * config/s390/linux64.h: New. Definitions for linux for zSeries.
16037         * config/s390/t-linux: New. Makefile fragment.
16038         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
16039         * config/s390/fixdfdi.h: New. Fix L_fix*di.
16040
16041 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
16042
16043         * emit-rtl.c (try_split): Update mark_jump_label call.
16044         * flow.c (find_sub_basic_blocks): Likewise.
16045         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16046         jump_back_p): Kill.
16047         (mark_all_labels): Kill second parameter.
16048         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16049         (rebuild_jump_labels, jump_optimize_minimal): Update call
16050         of jump_optimize_1.
16051         (jump_optimize_1): Kill crossjumping code.
16052         (mark_jump_label): Kill cross_jump parameter.
16053         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16054         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16055         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16056          splitting.
16057         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16058         DFI_bpro.
16059         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16060         reorganize passes to do reg-stack first, bb-reorder second.
16061         * invoke.texi (-d letters doc): Remove the jump2 pass.
16062
16063 2001-07-12  Steve Ellcey <sje@cup.hp.com>
16064
16065         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
16066
16067 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
16068
16069         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
16070         basic blocks.
16071         (verify_flow_info): Make diagnostics prettier.
16072
16073 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
16074
16075         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
16076
16077         * flow.c (outgoing_edges_match): Return early if condition reversal
16078         failed.
16079
16080 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
16081
16082         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
16083         (mips_move_2words): When splitting a move into two instructions,
16084         prefix the second address operand with '%D'.
16085
16086 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
16087
16088         * Makefile.in (final.o): Depend on debug.h.
16089         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
16090         (dbx_debug_hooks): Add new hooks.
16091         (xcoff_debug_hooks): New.
16092         * debug.c (debug_nothing_file_int_int): New.
16093         (do_nothing_debug_hooks): Update.
16094         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
16095         (debug_nothing_file_int_int): New.
16096         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
16097         static, update prototype.
16098         (dwarf2_debug_hooks): Update.
16099         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
16100         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
16101         static, update prototype.
16102         (dwarf_debug_hooks): Update.
16103         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
16104         * final.c: Include debug.h.
16105         (final_scan_insn): Use debug hooks when beginning and ending blocks.
16106         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
16107         static, update prototype.
16108         (sdb_debug_hooks): Update.
16109         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
16110         * toplev.c: Distinguish between xcoff and dbx.
16111
16112         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
16113         Call all debug hooks, not just dwarf ones.
16114
16115 2001-07-11  Timothy Wall  <twall@redhat.com>
16116
16117         * config.gcc: Add configuration for AIX5/IA64.
16118         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
16119         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
16120         support prefix/suffix code.
16121         * config/ia64/t-aix: New.  Makefile fragment.
16122         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
16123
16124 2001-07-11  Kazu Hirata  <kazu@hxi.com>
16125
16126         * recog.c (validate_change): Fix a comment typo.
16127
16128 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
16129
16130         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
16131         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
16132         hooks directly.
16133         * dbxout.c (dbx_debug_hooks): Add new hooks.
16134         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
16135         make static.
16136         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
16137         make static.
16138         * dbxout.h (dbxout_start_new_source_file,
16139         dbxout_resume_previous_source_file): Delete.
16140         * debug.c (do_nothing_debug_hooks): Add new hooks.
16141         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16142         (debug_nothing_int_charstar, debug_nothing_int): New.
16143         * debug.h (gcc_debug_hooks): New hooks define, undef,
16144         start_source_file and end_source_file.
16145         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16146         (debug_nothing_int_charstar, debug_nothing_int): New.
16147         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
16148         the conditionally compiled section.
16149         (dwarf2out_start_source_file, dwarf2out_end_source_file,
16150         dwarf2out_define, dwarf2out_undef): Make static.
16151         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
16152         dwarf2out_define, dwarf2out_undef): Remove.
16153         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
16154         (dwarfout_start_source_file, dwarfout_end_source_file,
16155         dwarfout_define, dwarfout_undef): Make static.
16156         (dwarfout_start_source_file_check,
16157         dwarfout_end_source_file_check): New.
16158         (dwarfout_define, dwarfout_finish): Update.
16159         * dwarfout.h (dwarfout_start_new_source_file,
16160         dwarfout_resume_previous_source_file, dwarfout_define,
16161         dwarfout_undef): Remove.
16162         * sdbout.c (sdb_debug_hooks): Add new hooks.
16163         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
16164         make static.
16165         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
16166         make static, take an arg.
16167         * sdbout.h (sdbout_start_new_source_file,
16168         sdbout_resume_previous_source_file): Delete.
16169         * toplev.c (debug_start_source_file, debug_end_source_file,
16170         debug_define, debug_undef): Delete.
16171         * toplev.h (debug_start_source_file, debug_end_source_file,
16172         debug_define, debug_undef): Delete.
16173
16174         * java/jcf-parse.c: Include debug.h.
16175         (parse_class_file): Update to use debug hooks directly.
16176         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
16177
16178 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16179
16180         * alias.c (set_mem_alias_set): New function.
16181         * rtl.h (set_mem_alias_set): Declare it.
16182         * builtins.c (expand_builtin_return_addr): Call it instead of
16183         using MEM_ALIAS_SET accessor.
16184         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
16185         (get_memory_rtx, expand_builtin_va_arg): Likewise.
16186         (expand_builtin_va_copy):Likewise.
16187         * caller-save.c (setup_save_areas): Likewise.
16188         * calls.c (compute_argument_addresses): Likewise.
16189         * explow.c (set_mem_attributes): Likewise.
16190         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
16191         (expand_assignment, store_constructor_field, store_field): Likewise.
16192         (expand_expr_unaligned): Likewise.
16193         * function.c (assign_stack_temp_for_type): Likewise.
16194         (put_reg_into_stack, gen_mem_addressof): Likewise.
16195         * ifcvt.c (noce_try_cmove_arith): Likewise.
16196         * reload1.c (reload, alter_reg): Likewise.
16197         * config/alpha/alpha.c (get_aligned_mem): Likewise.
16198         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
16199         (alpha_expand_unaligned_store): Likewise
16200         (alpha_expand_unaligned_load_words): Likewise.
16201         (alpha_expand_unaligned_store_words): Likewise.
16202         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
16203         (alpha_expand_epilogue): Likewise.
16204         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
16205         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
16206         * config/i386/i386.c (legitimize_pic_address): Likewise.
16207         * config/i960/i960.c (setup_incoming_varargs): Likewise.
16208         * config/ia64/ia64.c (spill_restore_mem): Likewise.
16209         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
16210         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
16211         * config/mips/mips.c (mips_va_arg): Likewise.
16212         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
16213         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
16214         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
16215         (setup_incoming_varargs, rs6000_va_arg): Likewise.
16216         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
16217         (rs6000_emit_epilogue): Likewise.
16218         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
16219         * config/sparc/sparc.c (sparc_va_arg): Likewise.
16220         * config/v850/v850.c (v850_va_arg): Likewise.
16221
16222 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
16223
16224         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
16225         when fallthru edge is present.
16226         (mege_blocks): Handle case where creation of jump insn
16227         is required.
16228
16229         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
16230         CLEANUP_POST_REGSTACK): New constants.
16231         * except.c (finish_eh_generation): Update call of cleanup_cfg,
16232         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
16233         * output.h (cleanup_cfg): Update prototype.
16234         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
16235         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
16236         cleanup_cfg call; kill missleading comment.
16237         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
16238         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
16239         parameter; control optimizations performed using it.
16240         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
16241         try_crossjump_bb): New functions.
16242
16243 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16244
16245         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
16246         extern.
16247         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
16248         pa_output_function_prologue.
16249         * pa-protos.h (pa_output_function_prologue): New prototype.
16250
16251 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16252
16253         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
16254         and low to get correct sign extension in low+high test.
16255
16256 2001-07-11  Janis Johnson <janis@us.ibm.com>
16257
16258         * gcov.c (arcdata): Use gcov_type to fix branch percentage
16259         for large hit count.
16260
16261         * profile.c (branch_prob): Fix .bbg info for computed gotos
16262         and C++ EH code.
16263
16264 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
16265
16266         * stmt.c (parse_output_constraint): New function, split out
16267         from ...
16268         (expand_asm_operands): ... here.  Use parse_output_constraint.
16269         * tree.h (parse_output_constraint): Declare it.
16270
16271 2001-07-11  Richard Henderson  <rth@redhat.com>
16272
16273         * bitmap.c: Comment some functions; fiddle whitespace.
16274         (bitmap_free): Don't export.
16275         (bitmap_element_allocate): Use memset.
16276         * bitmap.h (bitmap_free): Don't declare.
16277
16278 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
16279
16280         * gcse.c, lcm.c, sched-deps.c:
16281         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
16282
16283         * flow.c (flow_loops_find): Free dom if we found no loops, since
16284         we aren't going to save it.
16285
16286         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
16287         done.
16288
16289 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
16290
16291         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
16292
16293 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16294
16295         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
16296         #ifndef DWARF2_DEBUGGING_INFO.
16297
16298 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16299
16300         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
16301
16302 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16303
16304         * config/mips/mips.c (gen_int_relational): Tell the caller not to
16305         reverse a branch if a NE comparison is implemented with GTU.
16306
16307 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
16308             H.J. Lu  <hjl@gnu.org>
16309
16310         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
16311         constant addresses.
16312         (call_internal2): Likewise.
16313         (call_value_internal1): Likewise.
16314         (call_value_internal2): Likewise.
16315         (call_value_multiple_internal1): Likewise.
16316         (call_value_multiple_internal2): Likewise.
16317
16318 2001-07-10  Kazu Hirata  <kazu@hxi.com>
16319
16320         * calls.c (emit_library_call_value_1): Fix a comment typo.
16321         * dwarf2out.c (mem_loc_descriptor): Likewise.
16322         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
16323
16324 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
16325
16326         * simplify-rtx.c (simplify_subreg): Fix typo in comment
16327
16328 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16329
16330         * recog.c (offsettable_address_p): Handle LO_SUM case.
16331         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
16332         instead of plus_constant.
16333
16334 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16335
16336         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
16337         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
16338
16339 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16340
16341         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
16342         adjust_address_nv instead of plus_constant.
16343
16344 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
16345
16346         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
16347         dwarf2out.o): Depend on debug.h, wrap long lines.
16348         * dbxout.c: Include debug.h.
16349         (dbx_debug_hooks): New.
16350         (dbxout_init): Make static, take just 2 args.
16351         (dbxout_finish): Make static.
16352         * dbxout.h (dbxout_init, dbxout_finish): Delete.
16353         * debug.c: New file.
16354         * debug.h: New file.
16355         * dwarf2out.c: Include debug.h.
16356         (dwarf2_debug_hooks): New.
16357         (dwarf2out_init): Make static.
16358         (dwarf2out_finish): Make static, take 2 args.
16359         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
16360         * dwarfout.c: Include debug.h.
16361         (dwarf_debug_hooks): New.
16362         (dwarfout_init): Make static.
16363         (dwarfout_finish): Make static, take 2 args.
16364         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
16365         * sdbout.c: Include debug.h.
16366         (sdb_debug_hooks): New.
16367         (sdbout_init): Make static, take 2 args.
16368         * sdbout.h (sdbout_init): Delete.
16369         * toplev.c: Include debug.h.
16370         (debug_hooks): New.
16371         (compile_file): Set deubg_hooks based on command line options.
16372         Use the hooks unconditionally rather than conditional compilation.
16373
16374 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
16375
16376         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
16377         first_insn_after_basic_block_note instead.
16378
16379         * df.c (df_bb_refs_unlink): #if 0 out for now.
16380
16381 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
16382
16383         * ssa.h: Add prototype for ssa_const_prop
16384         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
16385         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
16386         (ssa_fast_dce): Remove unused variable
16387
16388 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
16389
16390         * diagnostic.c (finish_diagnostic): Rename to
16391         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
16392         calls thourghout.
16393
16394 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
16395
16396         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
16397         .loc support.
16398
16399         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
16400         (dump_file): Only pad the demangled name with spaces if the
16401         mangled name was padded with spaces.
16402
16403 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
16404
16405         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
16406         edge detection.
16407
16408 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16409
16410         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
16411         extraction if no direct load if either EXPAND_CONST_ADDRESS or
16412         EXPAND_INITIALIZER.
16413
16414         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
16415         whether can put offset inside LO_SUM to check mode alignment, not size.
16416
16417 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
16418
16419         * doc/tm.texi (Misc): Fix thinko.
16420
16421 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
16422
16423         * regmove.c (replace_in_call_usage): Fix warnings.
16424         * sched-deps.c (add_dependence): Fix warnings.
16425         * simplify-rtx.c (simplify_subreg): Likewise.
16426         Return NULL_RTX instead of NULL.
16427
16428         * reg-stack.c (emit_swap_insn): Eliminate warnings.
16429         (subst_asm_stack_regs): Likewise.
16430
16431         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
16432         warnings.
16433
16434         * dwarf2out.c (output_call_frame_info): Declare i as int.
16435         (build_abbrev_table): Declare n_alloc as int.
16436         (dwarf2out_finish): Initialize die.
16437         * except.c: Declare sjlj_funcdef_number as unsigned.
16438         (connect_post_landing_pads): Declare j as unsigned.
16439         (convert_to_eh_region_ranges): Initialize call_site.
16440         (output_function_exception_table): Initialize tt_format_size.
16441         * expr.c (move_by_pieces_1): Initialize to1.
16442         (store_constructor): Initialize minelt and maxelt.
16443         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
16444         * function.c (instantiate_decls): Avoid signed/unsigned warning.
16445
16446         * c-decl.c (combine_parm_decls): Unused, remove.
16447         * c-tree.h: Remove prototype for combine_parm_decls.
16448
16449         * reload.c (push_reload): Fix warning.
16450         (regno_clobbered_p): Likewise.
16451         * reload1.c (replace_pseudos_in_call_usage): Likewise.
16452         (reload_combine): Likewise.
16453
16454         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
16455         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
16456         warnings.
16457         * bitmap.c (bitmap_operation): Change user.
16458         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
16459
16460 2001-07-10  Eric Christopher  <echristo@redhat.com>
16461
16462         * config/mips/mips.c (override_options): Fix typo.
16463
16464 2001-07-09  Stan Shebs  <shebs@apple.com>
16465
16466         * target.h (struct gcc_target): New fields init_builtins and
16467         expand_builtin.
16468         * target-def.h (TARGET_INIT_BUILTINS): New macro.
16469         (TARGET_EXPAND_BUILTIN): New macro.
16470         (TARGET_INITIALIZER): Add them.
16471         * builtins.c: Include target.h.
16472         (expand_builtin): Use targetm.expand_builtin.
16473         (default_init_builtins): New function.
16474         (default_expand_builtin): New function.
16475         * expr.h (default_init_builtins): Declare.
16476         (default_expand_builtin): Declare.
16477         * c-common.c (c_common_nodes_and_builtins): Use
16478         targetm.init_builtins.
16479         * defaults.h (MD_INIT_BUILTINS): Remove.
16480         * Makefile.in (builtins.o): Depend on target.h.
16481
16482         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
16483         (TARGET_EXPAND_BUILTIN): Define.
16484         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
16485         (MD_EXPAND_BUILTIN): Remove.
16486
16487         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
16488         (TARGET_EXPAND_BUILTIN): Define.
16489         (c4x_init_builtins): Make endlink arg a local.
16490         (c4x_print_operand): Fix typos in adjust_address usages.
16491         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
16492         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
16493         (MD_EXPAND_BUILTIN): Remove.
16494
16495         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
16496         (TARGET_EXPAND_BUILTIN): Define.
16497         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
16498         (ix86_init_builtins): Call new function only if TARGET_MMX.
16499         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
16500         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
16501         (MD_EXPAND_BUILTIN): Remove.
16502
16503         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
16504         (TARGET_EXPAND_BUILTIN): Define.
16505         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
16506         (MD_EXPAND_BUILTIN): Remove.
16507
16508         * doc/tm.texi: Document these changes.
16509
16510 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
16511
16512         * basic-block.h (tree_node): Forward declare if needed.
16513         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
16514         (BLOCK_HEAD_TREE): Define.
16515         (BLOCK_END_TREE): Define.
16516         (struct loops): Rename field 'tree' to 'tree_root'.
16517         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
16518         'end_tree'.
16519         (flow_loops_tree_build): Rename reference to field 'tree' to
16520         'tree_root'.
16521         (flow_loops_level_compute): Ditto.
16522         * predict.c (estimate_bb_frequencies): Ditto.
16523         * tree.h (struct tree_common): Add field 'aux'.
16524
16525 2001-07-09  Stan Shebs  <shebs@apple.com>
16526
16527         * config/darwin.c (darwin_encode_section_info): Don't mark any
16528         DECL_EXTERNAL node as defined.
16529
16530 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16531
16532         * pa.c (pa_init_machine_status, pa_mark_machine_status,
16533         pa_free_machine_status, hppa_init_pic_save): Delete.
16534         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
16535         (hppa_profile_hook): Use hppa_pic_save_rtx.
16536         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
16537         hppa_init_pic_save): Delete.
16538         (hppa_pic_save_rtx): Declare.
16539         * pa.md (call, call_value, sibcall, sibcall_value,
16540         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
16541
16542 2001-07-09  Kazu Hirata  <kazu@hxi.com>
16543
16544         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
16545         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
16546
16547 2001-07-09  Andreas Jaeger  <aj@suse.de>
16548
16549         * output.h: Add declaration of final_forward_branch_p.
16550
16551         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
16552
16553         * varray.c: Include errors.h for internal_error and trim_filename
16554         declarations.
16555
16556         * Makefile.in (varray.o): Add errors.h.
16557
16558 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
16559
16560         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
16561         * optabs.c (have_add2_insn): Check whether the add insn chosen
16562         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
16563         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
16564
16565 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
16566
16567         * Makefile.in (OBJS): Add ssa-ccp.o
16568         (ssa-ccp.o): Add dependencies.
16569         * toplev.c (DFI_ssa_ccp): New dump file enum.
16570         (dump_file): Add entry for dumping after SSA CCP.
16571         (flag_ssa_ccp): New flag variable.
16572         (f_options): Add -fssa-ccp.
16573         (rest_of_compilation): Run SSA CCP if requested.
16574         * timevar.def (TV_SSA_CCP): New timevar.
16575         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
16576         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
16577         Fix minor typo in SSA DCE documentation.
16578         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
16579         Add documentation for new dump option.  Renumber dump files
16580         appropriately.
16581
16582 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
16583
16584         * emit-rtl.c (gen_highpart_mode): New.
16585         * rtl.h (gen_highpart_mode): Declare.
16586         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
16587         operand can be VOIDmode constant.
16588
16589 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
16590
16591         * flow.c (redirect_edge_and_branch_force): New.
16592         (can_fallthru): Ensure that basic blocks are succeeding.
16593         (try_optimize_cfg): Do not delete basic block if it is the last one.
16594
16595         * flow.c (try_redirect_by_replacing_jump): Do not remove
16596         jumps with side effects, unlink chain on fallthru edge;
16597         set block for new jump instruction; avoid basic block to
16598         over by line number note.
16599
16600         * flow.c (try_simplify_condjump): Verify that the condjump
16601         is not always falling through.
16602
16603         Re-install patch:
16604         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
16605
16606         * flow.c (forwarder_block_p): Fix for fallthru blocks.
16607         (try_redirect_by_replacing_jump): Update properly the count
16608         and frequency information.
16609
16610 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
16611
16612         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
16613         address that is a LO_SUM specially.
16614         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
16615
16616         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
16617
16618         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
16619         (operand_subword): Use them.
16620         (change_address_1): Renamed from change_address; new arg VALIDATE.
16621         * expr.h: Reflect above changes; change_address now macro.
16622         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
16623         making MEM.
16624         * cselib.c (add_mem_for_addr): Likewise.
16625         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
16626         * regmove.c (try_apply_stack_adjustment): Likewise.
16627         * reload.c (push_reload, make_memloc): Likewise.
16628         * reload1.c (eliminate_regs): Likewise.
16629         * simplify-rtx.c (simplify_replace_rtx): Likewise.
16630         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
16631         adjust_addess.
16632         * combine.c (make_extraction, simplify_shift_const): Likewise.
16633         (gen_lowpart_for_combine): Likewise.
16634         * cse.c (gen_lowpart_if_possible): Likewise.
16635         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
16636         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
16637         * optabs.c (gen_move_insn): Likewise.
16638         * reload1.c (alter_reg): Likewise.
16639         * simplify-rtx.c (simplify_subreg): Likewise.
16640         * stmt.c (expand_anon_union_decl): Likewise.
16641         * recog.c (validate_replace_rtx_1): Likewise.
16642         (expr.h): Include.
16643         * Makefile.in (recog.o): Add $(EXPR_H).
16644         * explow.c (stabilize): Call replace_equiv_address.
16645         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
16646         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
16647
16648 2001-07-03  Andrew Haley  <aph@redhat.com>
16649
16650         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
16651         the mode of the memory location.
16652
16653 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
16654
16655         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
16656
16657 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
16658
16659         * final.c (output_addr_const): Use target opening and
16660         closing parentheses.
16661         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
16662         defaults, add to TARGET_ASM_OUT.
16663         * target.h (struct gcc_target): Add open_paren and close_paren.
16664         * doc/md.texi: Update.
16665         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
16666         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
16667         TARGET_ASM_CLOSE_PAREN.
16668         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16669         Override.
16670         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16671         Override.
16672         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
16673         * config/a29k/a29k.h: Similarly.
16674         * config/alpha/alpha.h: Similarly.
16675         * config/arc/arc.h: Similarly.
16676         * config/arm/aof.h: Similarly.
16677         * config/arm/aout.h: Similarly.
16678         * config/avr/avr.h: Similarly.
16679         * config/c4x/c4x.h: Similarly.
16680         * config/clipper/clipper.h: Similarly.
16681         * config/convex/convex.h: Similarly.
16682         * config/d30v/d30v.h: Similarly.
16683         * config/dsp16xx/dsp16xx.h: Similarly.
16684         * config/elxsi/elxsi.h: Similarly.
16685         * config/fr30/fr30.h: Similarly.
16686         * config/h8300/h8300.h: Similarly.
16687         * config/i370/i370.h: Similarly.
16688         * config/i386/i386.h: Similarly.
16689         * config/i860/i860.h: Similarly.
16690         * config/i960/i960.h: Similarly.
16691         * config/ia64/ia64.h: Similarly.
16692         * config/m32r/m32r.h: Similarly.
16693         * config/m68hc11/m68hc11.h: Similarly.
16694         * config/m68k/m68k.h: Similarly.
16695         * config/m88k/m88k.h: Similarly.
16696         * config/mcore/mcore.h: Similarly.
16697         * config/mips/mips.h: Similarly.
16698         * config/mn10200/mn10200.h: Similarly.
16699         * config/mn10300/mn10300.h: Similarly.
16700         * config/ns32k/ns32k.h: Similarly.
16701         * config/pa/pa.h: Similarly.
16702         * config/pdp11/pdp11.h: Similarly.
16703         * config/pj/pj.h: Similarly.
16704         * config/romp/romp.h: Similarly.
16705         * config/rs6000/rs6000.h: Similarly.
16706         * config/sh/sh.h: Similarly.
16707         * config/sparc/sparc.h: Similarly.
16708         * config/v850/v850.h: Similarly.
16709         * config/vax/vax.h: Similarly.
16710         * config/we32k/we32k.h: Similarly.
16711
16712 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
16713
16714         * doc/c-tree.texi: Document representation of attributes.
16715
16716 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16717
16718         * doc/tm.texi: Update some places for the rename of target to
16719         targetm.  Fix typo.
16720
16721 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16722
16723         * target.h (struct gcc_target): Add insert_attributes.
16724         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
16725         (TARGET_INITIALIZER): Update.
16726         * tree.c, tree.h (default_insert_attributes): New function.
16727         Update comments on other default functions to refer to targetm,
16728         not target.
16729         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
16730         TARGET_INSERT_ATTRIBUTES.
16731         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
16732         * c-common.c (decl_attributes): Use targetm.insert_attributes.
16733         Don't use PRAGMA_INSERT_ATTRIBUTES.
16734         * Makefile.in (c-common.o): Depend on $(TARGET_H).
16735         * c-decl.c (start_decl, start_function): Don't call
16736         SET_DEFAULT_DECL_ATTRIBUTES.
16737         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16738         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
16739         declare.
16740         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
16741         (c4x_check_attribute): Avoid modifying attribute list itself.
16742         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
16743         Make static.
16744         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
16745         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
16746         declare.
16747         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
16748         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
16749         Make static.
16750         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16751         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
16752         declare.
16753         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
16754         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
16755         Adjust parameters.  Make static.
16756
16757 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
16758
16759         * c-common.c (decl_attributes): Only take a single attributes
16760         parameter.
16761         * c-common.h (decl_attributes): Update prototype.
16762         * c-decl.c (start_decl, start_function): Only take a single
16763         attributes parameter.  Update calls to decl_attributes.
16764         (finish_struct, finish_enum): Update calls to decl_attributes.
16765         (push_parm_decl): Expect unified list of attributes.  Update call
16766         to decl_attributes.
16767         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
16768         notype_nested_function, component_declarator,
16769         component_notype_declarator, label): Update calls to
16770         decl_attributes.
16771         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
16772         lists that are passed to push_parm_decl.
16773         * c-tree.h (start_function, start_decl): Update prototypes.
16774         * config/sh/sh-protos.h, config/sh/sh.c
16775         (sh_pragma_insert_attributes): Only take a single attributes
16776         parameter.
16777         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
16778         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
16779         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
16780         build_module_descriptor, generate_static_references,
16781         generate_strings, build_selector_translation_table,
16782         generate_descriptor_table, generate_protocols,
16783         generate_ivars_list, generate_dispatch_table,
16784         generate_protocol_list, generate_category,
16785         generate_shared_structures, really_start_method, add_objc_decls,
16786         generate_classref_translation_entry): Update calls to start_decl
16787         and start_function.
16788         (build_tmp_function_decl, start_method_def): Unify attribute lists
16789         that are passed to push_parm_decl.
16790
16791 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
16792
16793         * final.c (no_asm_to_stream): New.
16794         (final_scan_insn): Use target structures for prologue ends
16795         and epilogue starts.
16796         * output.h (no_asm_to_stream): New.
16797         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
16798         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
16799         (TARGET_ASM_OUT): Update.
16800         * target.h (struct gcc_target): New members function_end_prologue
16801         and function_begin_epilogue.
16802         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
16803         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
16804         * config/alpha/alpha.c (output_end_prologue): Rename to
16805         alpha_output_function_end_prologue.  Use in target struct
16806         and make static.
16807         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
16808         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
16809         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
16810         ia64_output_function_end_prologue.  Use in target struct
16811         and make static.
16812         (ia64_function_prologue, ia64_funciton_epilogue): Rename
16813         mistyped prototypes.
16814         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
16815         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
16816         Delete.
16817         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
16818         an use in target struct, make static.
16819         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
16820         Delete.
16821
16822 2001-07-08  Richard Henderson  <rth@redhat.com>
16823
16824         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
16825
16826 2001-07-08  Richard Henderson  <rth@redhat.com>
16827
16828         * config/i386/i386.md: Remove constraints strings from define_split
16829         and define_peephole2 patterns.
16830         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
16831         (eh_return): Use them.
16832
16833 2001-07-08  Richard Henderson  <rth@redhat.com>
16834
16835         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
16836         Document MD_FALLBACK_FRAME_STATE_FOR.
16837
16838 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
16839
16840         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
16841         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
16842         elimination.
16843         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
16844
16845 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
16846
16847         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
16848         of the label inside NAME as opposed to just the end of NAME.
16849
16850 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
16851
16852         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
16853         * config/alpha/alpha.c (alpha_init_machine_status,
16854         alpha_mark_machine_status, alpha_free_machine_status): Delete.
16855         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
16856         (vms_valid_decl_attribute_p): Make static, conditionally compile.
16857         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
16858
16859 2001-07-06  Stan Shebs  <shebs@apple.com>
16860
16861         * target.h (targetm): Rename global from "target", so as not to
16862         conflict with local variables.
16863         * c-decl.c: Ditto.
16864         * c-typeck.c: Ditto.
16865         * final.c: Ditto.
16866         * tree.c: Ditto.
16867         * cp/decl.c: Ditto.
16868         * cp/decl2.c: Ditto.
16869         * cp/typeck.c: Ditto.
16870         * 1750a/1750a.c: Ditto.
16871         * a29k/a29k.c: Ditto.
16872         * arc/arc.c: Ditto.
16873         * arm/arm.c: Ditto.
16874         * avr/avr.c: Ditto.
16875         * clipper/clipper.c: Ditto.
16876         * convex/convex.c: Ditto.
16877         * d30v/d30v.c: Ditto.
16878         * dsp16xx/dsp16xx.c: Ditto.
16879         * elxsi/elxsi.c: Ditto.
16880         * fr30/fr30.c: Ditto.
16881         * h8300/h8300.c: Ditto.
16882         * i370/i370.c: Ditto.
16883         * i386/i386.c: Ditto.
16884         * i860/i860.c: Ditto.
16885         * i960/i960.c: Ditto.
16886         * ia64/ia64.c: Ditto.
16887         * m32r/m32r.c: Ditto.
16888         * m68hc11/m68hc11.c: Ditto.
16889         * m68k/m68k.c: Ditto.
16890         * m88k/m88k.c: Ditto.
16891         * mips/mips.c: Ditto.
16892         * ns32k/ns32k.c: Ditto.
16893         * pa/pa.c: Ditto.
16894         * pdp11/pdp11.c: Ditto.
16895         * romp/romp.c: Ditto.
16896         * rs6000/rs6000.c: Ditto.
16897         * sh/sh.c: Ditto.
16898         * sparc/sparc.c: Ditto.
16899         * vax/vax.c: Ditto.
16900         * we32k/we32k.c: Ditto.
16901         * doc/tm.texi: Update the manual to match.
16902
16903 2001-07-06  Richard Henderson  <rth@redhat.com>
16904
16905         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
16906         DWARF2_UNWIND_INFO not just whether it is defined.
16907
16908 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
16909
16910         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
16911         call to simplify_binary_operation returns a new pattern.
16912
16913 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
16914
16915         * glimits.h (__SHRT_MAX__): New.
16916         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
16917         (SHRT_MAX): Define in terms of __SHRT_MAX__.
16918
16919 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
16920
16921         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
16922         avoid warnings.
16923
16924 2001-07-06  Richard Henderson  <rth@redhat.com>
16925
16926         * bitmap.c (bitmap_release_memory): Move adjacent to the
16927         allocation functions.
16928         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
16929         the implementation.  Binary search for the set bit.
16930         (bitmap_union_of_diff): Allocate the temporary on the stack
16931         instead of using xmalloc.
16932
16933 2001-07-06  Richard Henderson  <rth@redhat.com>
16934
16935         * genrecog.c (validate_pattern): Warn for constraints in
16936         define_{expand,split,peephole2}.  Remove strict_low_part
16937         before looking up match_dup.
16938
16939 2001-07-06  DJ Delorie  <dj@redhat.com>
16940
16941         * doc/gcc.texi (Makefile): Rename to be a more general purpose
16942         chapter about various build hints and history.  Add section
16943         talking about the various types of native and cross builds.
16944
16945 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
16946
16947         * Makefile.in (final.o): Depend on target.h.
16948         * final.c: Include target.h.
16949         (default_function_pro_epilogue): New.
16950         (final_start_function): Use target structure for function prologues.
16951         (final_end_function): Use target structure for function epilogues.
16952         * fold-const.c (real_hex_to_f): Constify s and p.
16953         * output.h (default_function_pro_epilogue): New.
16954         * real.h (real_hex_to_f): Update prototype.
16955         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
16956         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
16957         (TARGET_INITIALIZER): Update.
16958         * target.h (gcc_target): Add struct asm_out.
16959         * doc/tm.texi: Update.
16960
16961 config:
16962         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
16963         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
16964         in cpu/cpu.c, or rename old functions consistently.  Take
16965         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
16966         redundant macros and prototypes.  Make new functions static.
16967
16968         * 1750a/1750a.c: Similarly.
16969         * 1750a/1750a.h: Similarly.
16970         * a29k/a29k-protos.h: Similarly.
16971         * a29k/a29k.c: Similarly.
16972         * a29k/a29k.h: Similarly.
16973         * arc/arc-protos.h: Similarly.
16974         * arc/arc.c: Similarly.
16975         * arc/arc.h: Similarly.
16976         * arm/arm-protos.h: Similarly.
16977         * arm/arm.c: Similarly.
16978         * arm/arm.h: Similarly.
16979         * avr/avr-protos.h: Similarly.
16980         * avr/avr.c: Similarly.
16981         * avr/avr.h: Similarly.
16982         * clipper/clipper-protos.h: Similarly.
16983         * clipper/clipper.c: Similarly.
16984         * clipper/clipper.h: Similarly.
16985         * convex/convex.c: Similarly.
16986         * convex/convex.h: Similarly.
16987         * d30v/d30v-protos.h: Similarly.
16988         * d30v/d30v.c: Similarly.
16989         * d30v/d30v.h: Similarly.
16990         * d30v/d30v.md: Similarly.
16991         * dsp16xx/dsp16xx-protos.h: Similarly.
16992         * dsp16xx/dsp16xx.c: Similarly.
16993         * dsp16xx/dsp16xx.h: Similarly.
16994         * elxsi/elxsi.c: Similarly.
16995         * elxsi/elxsi.h: Similarly.
16996         * fr30/fr30.c: Similarly.
16997         * fr30/fr30.md: Similarly.
16998         * h8300/h8300-protos.h: Similarly.
16999         * h8300/h8300.c: Similarly.
17000         * h8300/h8300.h: Similarly.
17001         * i370/i370-protos.h: Similarly.
17002         * i370/i370.c: Similarly.
17003         * i370/i370.h: Similarly.
17004         * i386/i386.c: Similarly.
17005         * i386/osf1elf.h: Similarly.
17006         * i386/osfrose.h: Similarly.
17007         * i860/i860-protos.h: Similarly.
17008         * i860/i860.c: Similarly.
17009         * i860/i860.h: Similarly.
17010         * i960/i960-protos.h: Similarly.
17011         * i960/i960.c: Similarly.
17012         * i960/i960.h: Similarly.
17013         * ia64/ia64-protos.h: Similarly.
17014         * ia64/ia64.c: Similarly.
17015         * ia64/ia64.h: Similarly.
17016         * m32r/m32r-protos.h: Similarly.
17017         * m32r/m32r.c: Similarly.
17018         * m32r/m32r.h: Similarly.
17019         * m68hc11/m68hc11-protos.h: Similarly.
17020         * m68hc11/m68hc11.c: Similarly.
17021         * m68hc11/m68hc11.h: Similarly.
17022         * m68k/crds.h: Similarly.
17023         * m68k/dpx2.h: Similarly.
17024         * m68k/m68k-protos.h: Similarly.
17025         * m68k/m68k.c: Similarly.
17026         * m68k/m68k.h: Similarly.
17027         * m68k/news.h: Similarly.
17028         * m88k/m88k-protos.h: Similarly.
17029         * m88k/m88k.c: Similarly.
17030         * m88k/m88k.h: Similarly.
17031         * mips/mips-protos.h: Similarly.
17032         * mips/mips.c: Similarly.
17033         * mips/mips.h: Similarly.
17034         * ns32k/merlin.h: Similarly.
17035         * ns32k/ns32k.c: Similarly.
17036         * ns32k/ns32k.h: Similarly.
17037         * ns32k/tek6000.h: Similarly.
17038         * pa/pa-protos.h: Similarly.
17039         * pa/pa.c: Similarly.
17040         * pa/pa.h: Similarly.
17041         * pdp11/2bsd.h: Similarly.
17042         * pdp11/pdp11-protos.h: Similarly.
17043         * pdp11/pdp11.c: Similarly.
17044         * pdp11/pdp11.h: Similarly.
17045         * romp/romp-protos.h: Similarly.
17046         * romp/romp.c: Similarly.
17047         * romp/romp.h: Similarly.
17048         * rs6000/rs6000-protos.h: Similarly.
17049         * rs6000/rs6000.c: Similarly.
17050         * rs6000/rs6000.h: Similarly.
17051         * rs6000/sysv4.h: Similarly.
17052         * sh/sh-protos.h: Similarly.
17053         * sh/sh.c: Similarly.
17054         * sh/sh.h: Similarly.
17055         * sparc/sparc-protos.h: Similarly.
17056         * sparc/sparc.c: Similarly.
17057         * sparc/sparc.h: Similarly.
17058         * vax/vax.c: Similarly.
17059         * vax/vax.h: Similarly.
17060         * vax/vms.h: Similarly.
17061         * we32k/we32k.c: Similarly.
17062         * we32k/we32k.h: Similarly.
17063
17064 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
17065
17066         * basic-block.h (first_insn_after_basic_block_note): Declare.
17067         * flow.c (first_insn_after_basic_block_note): Define.  Moved
17068         from...
17069         * ssa.c (first_insn_after_basic_block_note): Remove.
17070         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
17071         necessary.
17072         (ssa_eliminate_dead_code): Properly update the CFG and PHI
17073         nodes when we find a dead conditional branch.  Insert BARRIERs
17074         after any blocks with no successors, but which do not have
17075         any BARRIERs.
17076
17077 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
17078
17079         * varray.c (varray_check_failed): Use internal_error.
17080
17081 2001-07-05  Andrew Haley  <aph@redhat.com>
17082
17083         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
17084         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
17085         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
17086
17087 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
17088
17089         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
17090         reference if the target constant is also a SYMBOL_REF.
17091
17092 2001-07-05  Eric Christopher  <echristo@redhat.com>
17093
17094         * config/mips/mips.h (MASK_MIPS3900): Remove.
17095         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
17096         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
17097         (TARGET_MIPS3900): Change to use mips_arch.
17098         (TARGET_MIPS4000): New.
17099         (TARGET_MIPS4100): New.
17100         (TARGET_MIPS4300): New.
17101         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
17102         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
17103         for -mipsX.
17104         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
17105         (ISA_HAS_BRANCHLIKELY): To here.
17106         (CC1_CPU_SPEC):  New.
17107         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
17108         (mips_arch_string): Declare.
17109         (mips_arch): Declare.
17110         (TARGET_OPTIONS): Add -march and -mtune.
17111
17112         * config/mips/mips.c (mips_arch_string): New.
17113         (mips_arch): New.
17114         (override_options): Handle -march for codegen and -mtune
17115         for scheduling. Use mips_arch. Move tx39 target default here.
17116         (mips_parse_cpu): Move error message to override_options.
17117
17118         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
17119
17120         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
17121
17122         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
17123         (MIPS Options): Ditto.  Change mcpu entry to historical text.
17124
17125 2001-07-05  H.J. Lu  (hjl@gnu.org)
17126
17127         * config/mips/mips.c (mips_parse_cpu): New function to parse
17128         -march=*/-mcpu=*.
17129
17130 2001-07-05  Jim Wilson  <wilson@redhat.com>
17131
17132         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
17133         * config/ia64/t-ia64: Likewise.
17134         (LIB1ASMFUNCS): Update comment.
17135
17136 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
17137
17138         * doc/install.texi (Install GCC: Binaries): Fix typo.
17139
17140 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17141
17142         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
17143         reference using the stack pointer, adjust it since we push Y
17144         temporarily.
17145         ("*ashrsi3"): Likewise.
17146         ("*lshrsi3"): Likewise.
17147
17148 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
17149
17150         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
17151         when -fomit-frame-pointer is used.
17152
17153 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
17154
17155         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
17156         (try_redirect_by_replacing_jump): Reverse updating properly the
17157         count and frequency information.  Reverse removing cc0 setter.
17158         (forwarder_block_p): Reverse fixing for fallthru blocks.
17159
17160 2001-07-05  DJ Delorie  <dj@redhat.com>
17161
17162         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
17163         (translate_options): If the above is defined, use it to map
17164         given options to new options.
17165         * doc/tm.texi: Document it.
17166
17167 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
17168             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17169
17170         * doc/invoke.texi (Optimize Options): Document that -fgcse may
17171         cause programs using computed gotos to run more slowly.
17172
17173 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17174
17175         * doc/install.texi (Specific): Markup, spelling and typo fixes.
17176         Fixed sorting.
17177         Consistently require binutils 2.11.2, not prereleases.
17178         (Specific, decstation-*): Canonicalize as mips-dec-*.
17179         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
17180         always necessary.
17181         (Specific, m68k-altos): Removed reference to README.altos, deleted.
17182         (Specific, mips-*): Reword MIPS C compiler requirements.
17183         (Specific, powerpc*-*-*): New, mention --with-cpu once.
17184         (Specific, sunv5): Removed, obsolete.
17185
17186 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
17187
17188         * dwarf2out.c (output_loc_list): Use an all ones mask for
17189         .text asm output and don't rely on long long
17190         literals. Reformat some long lines.
17191
17192 2001-07-05  Andreas Jaeger  <aj@suse.de>
17193
17194         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
17195         section.
17196
17197 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17198
17199         * dwarf2out.c (dwarf2out_define): Update comment.
17200         (dwarf2out_undef): Ditto.
17201         (dwarf2out_start_source_file): Ditto.
17202         (dwarf2out_end_source_file): Ditto.
17203         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
17204         since we never call the start/end debug hook for the primary file.
17205
17206 2001-07-04  Kazu Hirata  <kazu@hxi.com>
17207
17208         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
17209         from shll.
17210
17211 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17212
17213         * cppinit.c (remove_dup_dirs): Inform if a system include
17214         directory is being reordered.
17215         * doc/invoke.texi (Directory Options): GCC warns if you hide a
17216         system include.
17217         * doc/cpp.texi (Search Paths): Likewise.
17218         * doc/gcc.texi (Interoperation): Remove information about
17219         -I/usr/include.
17220
17221 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
17222
17223         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
17224         (VARRAY_TOP_CHAR_PTR): Likewise.
17225
17226 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17227
17228         * gcc.c (process_command): Don't assign elements of a const char*.
17229
17230 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17231
17232         * emit-rtl.c (change_address): Don't abort if invalid address while
17233         reload is in progress.
17234
17235 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17236
17237         * c-lex.c (cb_file_change): Pass line number to
17238         debug_start_source_file.
17239         (cb_undefine): Pass correct line number to debug_undef.
17240
17241         * toplev.c (debug_start_source_file): Add line number to
17242         parameters. Pass it along to dwarf2out_start_source_file.
17243         (decode_g_option): Stop resetting debug level back to normal when
17244         we change debug formats, unless the current level is
17245         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
17246         3).
17247
17248         * toplev.h (debug_start_source_file): Add line number to
17249         parameters.
17250
17251         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
17252         parameters.
17253
17254         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
17255         parameters.
17256         Output debug_macinfo data for starting file if requested.
17257         (dwarf2out_end_source_file): Output debug_macinfo data for ending
17258         file if requested.
17259         (dwarf2out_define): Output debug_macinfo data for defining a macro
17260         if requested.
17261         (dwarf2out_undef): Output debug_macinfo data for undefining a
17262         macro if requested.
17263         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
17264         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
17265         (macinfo_section_label): New. DWARF2 macro info section label.
17266         (dwarf2out_init): If we want macro info, output the start label
17267         for the section.
17268         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
17269         attribute to the compilation unit die pointing to the macro info.
17270
17271 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
17272
17273         * dwarf2out.c (new_loc_list): Move to inside #ifdef
17274         DWARF2_DEBUGGING_INFO.
17275         (add_loc_descr_to_loc_list): Ditto.
17276         (output_loc_list): Ditto.
17277         Also, fix thinko in curr not being initialized.
17278         (gen_internal_sym): Ditto.
17279
17280 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17281
17282         * emit-rtl.c (replace_equiv_address): New function.
17283         * expr.h (replace_equiv_address): New declaration.
17284         * explow.c (validize_mem): Call it instead of change_address and
17285         also call if -fforce-addr and address is constant.
17286         * expr.c: Replace more calls to change_address with adjust_address
17287         and/or replace_equiv_address or to validize_mem.
17288         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
17289         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
17290         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17291         * config/i370/i370.md, config/i860/i860.md: Likewise.
17292         * config/i960/i960.md, config/mips/mips.c: Likewise.
17293         * config/mips/mips.md, config/pa/pa.md: Likewise.
17294         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
17295         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
17296
17297 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17298
17299         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
17300
17301         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
17302         function.
17303
17304 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
17305
17306         * doc/include: New directory.
17307         * doc/fdl.texi: Move to doc/include/fdl.texi.
17308         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
17309         * doc/include/funding.texi, doc/include/gpl.texi: New files.
17310         * doc/gcc.texi: Use funding.texi and gpl.texi.
17311         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
17312         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
17313         Update dependencies and use -I $(docdir)/include.
17314
17315 2001-07-04  Anthony Green  <green@redhat.com>
17316
17317         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
17318
17319 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17320
17321         * doc/install.texi (sparc64-*-*): Remove garbage.
17322
17323 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
17324
17325         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
17326         Fix typo in last change to use adjust_address.
17327
17328 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17329
17330         * doc/install.texi (Specific): Update information for *-*-solaris*.
17331
17332 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17333
17334         * explow.c (plus_constant_wide): Reinitialize Y for restart.
17335
17336 2001-07-03  Stan Shebs  <shebs@apple.com>
17337
17338         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
17339         case for flag_no_mach_text_sections.
17340         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
17341         * config/darwin.c (flag_no_mach_text_sections): Remove.
17342         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
17343
17344 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17345
17346         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
17347         and avoid checking for constant as first operand.
17348         * recog.c (find_constant_term_loc): No longer static.
17349         (adj_offettable_operand): Delete.
17350         * rtl.h (adj_offsettable_operand): Delete declaration.
17351         (find_constant_term): Add declaration.
17352         * caller-save.c: Replace calls to adj_offsettable_operand with calls
17353         to adjust_address.
17354         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
17355         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
17356         * config/i386/i386.c, config/i386/i386.md: Likewise.
17357         * config/i860/i860.c, config/i960/i960.c: Likewise.
17358         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
17359         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
17360         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
17361         * config/mips/mips.c, config/mips/mips.md: Likewise.
17362         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
17363         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
17364         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
17365         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
17366         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
17367         * config/ns32k/ns32k.md: Likewise.
17368
17369 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
17370
17371         * rtl.c (copy_rtx): Handle 'T' format letter.
17372         * gensupport.c (collect_insn_data): Likewise.
17373         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
17374
17375 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
17376
17377         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
17378         -B option.  Use 'dir' not 'foo' as example directory name.
17379
17380 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17381
17382         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17383         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
17384
17385 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
17386
17387         * doc/cppinternals.texi: Improve formatting and logical markup.
17388
17389 2001-07-03  Andreas Jaeger  <aj@suse.de>
17390
17391         * Makefile.in (insn-recog.o): Add dependency on reload.h.
17392
17393         * genrecog.c (write_header): Include reload.h for prototypes in
17394         insn-recog.c.
17395
17396 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
17397
17398 config:
17399         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
17400         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
17401         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
17402         i386_pe_valid_type_attribute_p): Add.
17403         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
17404         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
17405
17406 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17407
17408         * explow.c (plus_constant_wide, case LO_SUM): New case.
17409         (plus_constant_for_output_wide): Delete.
17410         * rtl.h (plus_constant_for_output): Delete.
17411         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
17412         instead of plus_constant_for_output.
17413         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
17414         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
17415         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
17416         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
17417         * config/sparc/sparc.md: Likewise.
17418         Convert some change_address calls to adjust_address.
17419
17420 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
17421
17422         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
17423         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
17424         documentation of -std and -Wwrite-strings.
17425
17426 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
17427
17428         * cse.c (canon_hash): Don't register registers in very small
17429         register classes, as extending their lifetime might cause
17430         reload to fail.
17431
17432 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
17433
17434         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17435
17436         * flow.c (forwarder_block_p): Fix for fallthru blocks.
17437         (try_redirect_by_replacing_jump): Update properly the count
17438         and frequency information.
17439
17440 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
17441
17442         * toplev.c (dump_file_index): Move SSA dumps just after first
17443         jump dump.
17444         (dump_file): Corresponding changes.
17445         (rest_of_compilation): Move SSA path to just after the first
17446         jump pass.
17447         * doc/gcc.texi (Passes): Update due to movement of SSA path.
17448         * doc/invoke.texi: Update dump file #s as they were completely
17449         out of date with reality.
17450
17451 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
17452
17453         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
17454
17455         * expr.c (emit_move_insn_1): Deal with non-default
17456         STACK_PUSH_CODE.
17457
17458         * expr.c (emit_single_push_insn): Fix warning.
17459
17460 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
17461
17462         * expr.c (emit_move_insn_1): Avoid modifying
17463         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
17464
17465 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17466
17467         * emit-rtl.c (adjust_address): New function.
17468         * expr.h (adjust_address): Add declaration.
17469         * builtins.c: Replace some calls to change_address with calls to it
17470         or to validize_mem.
17471         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
17472         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
17473         * config/arm/arm.c, config/convex/convex.c: Likewise.
17474         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17475         * config/i386/i386.c, config/i386/i386.md: Likewise.
17476         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
17477         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
17478         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
17479         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
17480         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
17481
17482 2001-07-02  Jim Wilson  <wilson@redhat.com>
17483
17484         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
17485
17486 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
17487
17488         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
17489         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
17490
17491 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
17492
17493         * cppinit.c (lang_defaults): New table.
17494         (set_lang): Just read from lang_defaults into the live options
17495         structure.
17496
17497 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
17498
17499         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
17500         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
17501         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
17502
17503 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17504
17505         * doc/install.texi: Various spelling and markup fixes.
17506         (Installing GCC): Component specific installation instructions are
17507         gone.
17508         Fix reference.
17509         Warn about removing old install dir in the presence of shared libs.
17510         (Configuration): Invoke with options target to match configure
17511         --help.
17512         Consistently refer to gas, gld pathnames.
17513         Invert --enable-multilib documentation.
17514         Remove references to old compiler versions.
17515
17516 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17517
17518         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
17519
17520 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17521
17522         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
17523         section.
17524         (Specific, mips*-sgi-irix5): Note IDO download.
17525         Reworded MIPS C hints.
17526         Use GNU as instead of GAS.
17527         Markup fixes.
17528         Removed SGI Freeware reference, IRIX 6 only.
17529         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
17530         Note N64 library requirement/workaround.
17531         Update O32 hints.
17532         Complete list of structure passing bug victims.
17533
17534 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17535
17536         * doc/install.texi: Remove CVS Id.
17537
17538 2001-07-02  Andreas Jaeger  <aj@suse.de>
17539
17540         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
17541         (find_inherently_necessary): Remove unused variable.
17542
17543 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
17544
17545         * c-common.h (TDI_inlined): New ast dump phase.
17546         (dump_flag_name): New function.
17547         * c-dump.c (dump_files): Add inlined phase.
17548         (dump_flag_name): Define.
17549         * doc/invoke.texi (-fdump-ast-inlined): Document.
17550
17551 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17552
17553         * stor-layout.c (layout_decl): Revert change to handling of alignment
17554         in packed types.
17555
17556 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17557
17558         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
17559         for FIELD_DECL.
17560
17561 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
17562
17563         * doc/tm.texi (FUNCTION_ARG): Document that the last call
17564         is special.
17565
17566 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
17567
17568         * tlink.c (recompile_files): Remove COMPILER_PATH and
17569         LIBRARY_PATH from the environment.
17570
17571 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
17572
17573         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
17574         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
17575         enumerators.
17576         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
17577
17578         * c-parse.in (OBJC_STRING): Kill.
17579         (objc_string): Decompose to [objc_string] '@' STRING.
17580         (reswords): Take the leading '@' off all the Objective C keywords.
17581         (objc_rid_sans_at): Kill.
17582         (init_reswords): Don't initialize it.
17583         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
17584         (_yylex): Kill reconsider label.  Look ahead one token after
17585         an '@'; if we get an identifier, check whether it's an
17586         Objective C @-keyword.  If so, return the keyword.  Otherwise,
17587         put back the token and return the '@' as a terminal.
17588
17589         * cpplib.c (lex_macro_node): Remove unnecessary check for
17590         leading '@' on identifier.  Clarify control flow and commentary.
17591
17592 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
17593
17594         * cse.c (new_label_ref): Variable deleted.
17595         (insert): Remove set of new_label_ref.
17596         (check_for_label_ref): New function.
17597         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
17598
17599 See ChangeLog.5 for earlier changes.