]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
predict.c (estimate_probability): Reorganize opcode heuristics.
[gcc.git] / gcc / ChangeLog
1 Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>
2
3 * predict.c (estimate_probability): Reorganize opcode heuristics.
4 * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
5 PRED_FPOPCODE): New.
6
7 * i386.c (override_options): Recognize various CPU variants and set
8 SSE/MMX/3dNOW flags accordingly.
9 * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
10 MASK_3DNOW_A_SET): New.
11 (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
12 (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
13 (MASK_*): Renumber.
14 (TARGET_FLAGS): Use new masks.
15 (CPP_CPU_SPECS): Recognize new CPU variants.
16 * invoke.texi (-mcpu): Update documentation.
17
18 * flags.h (flag_prefetch_loop_arrays): Declare.
19 * loop.h (LOOP_PREFETCH): Define new constant.
20 * loop.c (strength_reduce): Call emit_prefetch_instructions.
21 (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
22 PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
23 constants.
24 (check_store_data): New structure.
25 (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
26 New functions.
27 * toplev.c: Include insn-flags.h.
28 (flag_prefetch_loop_arrays): New global variable.
29 (lang_independent_option): Add -fprefetch-loop-arrays.
30 (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
31 is set.
32 * Makefile.in (toplev.c): Depend on insn-flags.h.
33 * invoke.texi (-fprefetch-loop-arrays): Document.
34
35 * predict.c (estimate_probability): Distribute the loop exit
36 probability according to number of exit edges.
37
38 * cfgcleanup.c (insns_match_p): Break out from ...;
39 (flow_find_cross_jump): ... here;
40 (outgoing_edges_match): Add parameter MODE; attempt to match everything
41 except for tablejumps.
42 (try_crossjump_to_edge): Accept complex edges.
43 (try_crossjump_bb): Likewise.
44
45 2001-11-29 Corey Minyard <minyard@acm.org>
46
47 * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
48 instead of plus_constant.
49 * simplify-rtx.c (neg_const_int): New.
50 (simplify_gen_binary, simplify_plus_minus): Use it.
51
52 2001-12-12 Roger Sayle <roger@eyesopen.com>
53
54 * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
55 expand_builtin_strcpy): Additional arguments TARGET and MODE.
56 (expand_builtin_bzero, expand_builtin_strcpy,
57 expand_builtin_strncpy, expand_builtin_bzero): Pass additional
58 TARGET and MODE parameters to the above functions.
59 (expand_builtin_memset, expand_builtin_memcpy): Optimize the
60 case where the LEN parameter is constant zero.
61 (expand_builtin_memcmp): No longer conditional on
62 HAVE_cmpstrsi. Take an additional mode parameter. Optimize
63 the cases where len is either constant zero or one.
64 Optimize to call to memcpy, even if the memcpy isn't inlined.
65 (expand_builtin_strncpy): Optimize to call memcpy, even if the
66 memcpy isn't inlined.
67 (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
68 to optimize to a call to memcmp.
69 (expand_builtin): expand_builtin_memcmp can always be called,
70 and pass the required parameters to expand_builtin_memcmp,
71 expand_builtin_memset, expand_builtin_memcpy and
72 expand_builtin_strcpy.
73
74 2001-12-12 David O'Brien <obrien@FreeBSD.org>
75
76 * config.gcc (arm-*-freebsd*): Add target.
77 * config/arm/freebsd.h: New file.
78 * config/arm/arm.h (CPP_PREDEFINES): Do not define.
79 (CPP_SPEC): #undef before defining.
80 (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
81 * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
82 -Amachine=arm.
83 * config/arm/linux-elf.h: Likewise.
84 * config/arm/netbsd.h: Likewise.
85 * config/arm/riscix.h: Likewise.
86 * config/arm/riscix1-1.h: Likewise.
87 * config/arm/semiaof.h: Likewise.
88
89 2001-12-12 Richard Henderson <rth@redhat.com>
90
91 * regrename.c (copyprop_hardreg_forward): New optimization.
92 (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
93 kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
94 replace_oldest_value_reg, replace_oldest_value_addr,
95 replace_oldest_value_mem, copyprop_hardreg_forward_1,
96 debug_value_data, validate_value_data): New.
97 * rtl.h (copyprop_hardreg_forward): Declare.
98 * toplev.c (flag_cprop_registers): New.
99 (f_options): Add -fcprop-registers
100 (rest_of_compilation): Invoke it.
101 (parse_options_and_default_flags): Set it at -O1.
102 * doc/invoke.texi: Document it.
103
104 2001-12-12 Jakub Jelinek <jakub@redhat.com>
105
106 * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
107 (DEBUG_RANGES_SECTION_LABEL): Define.
108 (ranges_section_label): Add.
109 (add_AT_range_list): New.
110 (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
111 (output_loc_list): Location expression length is always 2-byte.
112 (output_die): Handle dw_val_class_range_list.
113 (gen_lexical_block_die): Call add_AT_range_list.
114 (dwarf2out_init): Initialize ranges_section_label.
115 (dwarf2out_finish): Emit ranges_section_label.
116
117 2001-12-12 Jakub Jelinek <jakub@redhat.com>
118
119 * c-typeck.c (digest_init): Allow initializing
120 static storage duration objects with compound literals.
121 * doc/extend.texi (Compound literals): Document the extension.
122
123 2001-12-12 Richard Henderson <rth@redhat.com>
124
125 * emit-rtl.c (adjust_address_1): Always copy address to avoid
126 shared rtl.
127
128 Wed Dec 12 07:37:52 2001 Olivier Hainque <hainque@act-europe.fr>
129
130 * stmt.c (expand_end_case): Do subtraction of lower bound as trees
131 to avoid overflow.
132
133 Wed Dec 12 07:35:24 2001 Douglas B. Rupp <rupp@gnat.com>
134
135 * cppfiles.c (read_include_file): Set buffer size properly when
136 file is shorter than expected.
137
138 Wed Dec 12 08:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
139
140 * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
141 enumeral types - encode them using 'i'.
142
143 2001-12-12 Nathan Sidwell <nathan@codesourcery.com>
144
145 * doc/extend.texi (Deprecated Features): Deprecate implicit
146 typename. Document that named return and initializer lists are now
147 removed.
148
149 2001-12-11 Roger Sayle <roger@eyesopen.com>
150
151 * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
152 compiler warning about enumeration values not being handled.
153
154 2001-12-11 Momchil Velikov <velco@fadata.bg>
155
156 * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
157 shifts.
158
159 2001-12-11 Richard Henderson <rth@redhat.com>
160
161 * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
162 * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
163 * config/alpha/alpha.md (prefetch): New.
164
165 2001-12-11 Richard Henderson <rth@redhat.com>
166
167 * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
168 if C has only low bits set and doesn't intersect with X or Y.
169
170 Tue Dec 11 23:58:39 EST 2001 John Wehle (john@feith.com)
171
172 * basic-block.h (flow_preorder_transversal_compute): Declare.
173 * cfganal.c (flow_preorder_transversal_compute): Implement.
174
175 Tue Dec 11 23:54:27 EST 2001 John Wehle (john@feith.com)
176
177 * cfganal.c (flow_depth_first_order_compute): Always
178 increment dfsnum.
179
180 2001-11-30 Alan Matsuoka <alanm@redhat.com>
181
182 * combine.c (combine_simplify_rtx) : Can't simplify
183 cases that use mode class MODE_CC.
184
185 2001-12-11 Richard Henderson <rth@redhat.com>
186
187 * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
188 which there is no divide expander.
189
190 2001-12-11 Richard Henderson <rth@redhat.com>
191
192 * except.c (sjlj_find_directly_reachable_regions): Don't
193 consider RNL_BLOCKED a directly reachable region.
194 (sjlj_assign_call_site_values): Trust directly_reachable.
195 (sjlj_emit_dispatch_table): Likewise.
196
197 2001-12-11 Richard Henderson <rth@redhat.com>
198
199 * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
200 we represent the address load's dependency on the gp.
201 (divmoddi_internal_er): Likewise.
202 (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
203
204 2001-12-11 Richard Henderson <rth@redhat.com>
205
206 * emit-rtl.c (widen_memory_access): New.
207 * expr.h (widen_memory_access): Declare it.
208 * config/alpha/alpha.c (get_aligned_mem): Use it.
209
210 2001-12-11 Richard Henderson <rth@redhat.com>
211
212 * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
213 simplification above out of range check.
214
215 2001-12-11 Dan Nicolaescu <dann@ics.uci.edu>
216
217 * config/sparc/sparc.md (prefetch): New.
218
219 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
220
221 * output.h (regno_uninitialized): Make argument unsigned.
222
223 * flow.c (regno_uninitialized): Make regno unsigned.
224
225 2001-12-11 David O'Brien <obrien@FreeBSD.org>
226
227 * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
228 * config/cris/cris.h (ENDFILE_SPEC): Define.
229 * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
230 * config/pa/elf.h: Likewise.
231
232 2001-12-11 Richard Henderson <rth@redhat.com>
233
234 * objc/objc-act.c (build_string_class_template): New.
235 (build_objc_string_object): Call it.
236
237 2001-12-11 Steve Ellcey <sje@cup.hp.com>
238
239 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
240 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
241 * calls.c (store_unaligned_arguments_into_pseudos): Check
242 FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
243 are passed/returned.
244 * expr.c (move_block_from_reg): Ditto.
245 (move_block_from_reg): Ditto.
246 (copy_blkmode_from_reg): Ditto.
247 * stmt.c (expand_return): Ditto.
248 * stor-layout.c (compute_record_mode): If
249 FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
250 MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
251 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
252 so that Structures of one field are still treated as structures.
253 (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
254 (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
255 (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
256 * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
257 * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
258 to special case handling of structure padding.
259
260 2001-12-11 Daniel Berlin <dan@cgsoftware.com>
261
262 * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
263 (may_trap_exp): Stores only are risk if they trap, too, not just
264 if code == MEM.
265
266 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
267
268 * flow.c (find_regno_partial): Indent properly. Add a default to
269 switch.
270
271 2001-12-11 Neil Booth <neil@daikokuya.demon.co.uk>
272
273 * c-common.c (combine_strings): Complain if concatenating
274 __FUNCTION__.
275 * c-parse.in (yylexname): Flag artificial strings.
276 * tree.h (TREE_ARTIFICIAL_STRING_P): New.
277 doc:
278 * extend.texi: Update.
279
280 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
281
282 * c-common.c (type_for_mode): Handle unsigned vectors.
283 (type_for_mode): Remove redundant calls to TYPE_MODE.
284
285 * tree.c (make_vector): New.
286 (build_common_tree_nodes_2): Use make_vector for vector types.
287 Add unsigned vector types.
288
289 * tree.h (tree_index): Add unsigned types for vectors.
290 (unsigned_V16QI_type_node): New.
291 (unsigned_V4SI_type_node): New.
292 (unsigned_V8QI_type_node): New.
293 (unsigned_V8HI_type_node): New.
294 (unsigned_V4HI_type_node): New.
295 (unsigned_V2SI_type_node): New.
296
297 2001-12-11 Stan Shebs <shebs@apple.com>
298
299 * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
300 test of class names.
301
302 2001-12-11 David O'Brien <obrien@FreeBSD.org>
303
304 * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
305 cpu configuration headers.
306 * config/h8300/elf.h: Include dbxelf.h.
307 * config/m68k/linux.h: Likewise.
308 * config/m68k/m68020-elf.h: Likewise.
309 * config/m68k/m68kv4.h: Likewise.
310 * config/sh/elf.h: Likewise.
311 * config/m68k/m68kemb.h: Add comment about the its purpose.
312
313 2001-12-11 Richard Henderson <rth@redhat.com>
314
315 * objc/objc-act.c (build_constructor): Cast initializer values
316 to the proper field types.
317
318 2001-12-11 Jakub Jelinek <jakub@redhat.com>
319
320 * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
321
322 2001-12-10 Roger Sayle <roger@eyesopen.com>
323
324 * builtins.c (expand_builtin): Use a switch statement to list
325 those functions not expanded without optimizations, instead of a
326 series of equality tests.
327
328 Tue Dec 11 07:08:57 2001 Douglas B. Rupp <rupp@gnat.com>
329
330 * config/alpha/vms.h (LIB_SPEC): Define.
331 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
332
333 * libgcc2.c (_bb): Remove ctime declaration.
334
335 * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
336 that works if LN_S = cp.
337
338 * config/alpha/x-vms (version): Change "." to "_".
339
340 * configure.in: Hardcode that vfork works on VMS host.
341 * configure: Regenerated.
342
343 Mon Dec 10 18:37:31 2001 Douglas B. Rupp <rupp@gnat.com>
344
345 * gcc.c (convert_filename): Add do_obj parameter. Don't convert
346 unless do_obj true.
347 (process_command): Modify calls to convert_filename.
348
349 2001-12-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
350
351 * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
352
353 Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com)
354
355 * combine.c (known_cond): Check mode of each operand to determine
356 if COND is comparing floating point values.
357
358 2001-12-10 David Edelsohn <edelsohn@gnu.org>
359
360 * rs6000.h (processor_type): Add PPC405.
361 (RTX_COSTS): Add PPC405. Correct rs64 and ppc630 multiply costs.
362 * rs6000.md: Add PPC405 information. Utilize imul2 and imul3 for
363 rios1, rs64, and ppc630 processors.
364 * rs6000.c (processor_target_table): Add PPC405.
365
366 2001-12-10 Richard Henderson <rth@redhat.com>
367
368 * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
369 instead of hardcoding subregs into the _be and _le patterns.
370
371 2001-12-10 Neil Booth <neil@daikokuya.demon.co.uk>
372
373 * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
374
375 Mon Dec 10 09:19:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
376
377 * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
378 what insn does.
379
380 2001-12-10 Joseph S. Myers <jsm28@cam.ac.uk>
381
382 * doc/cpp.texi: Don't condition menus on @ifinfo. Condition the
383 copyright notice formerly conditioned on @ifinfo on @ifnottex
384 instead.
385
386 Mon Dec 10 06:15:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
387
388 * vmsdbgout.c (lookup_filename): Remove warning.
389
390 Mon Dec 10 06:09:57 2001 Douglas B. Rupp <rupp@gnat.com>
391
392 * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
393
394 * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
395 (exeext, target_alias, prefix, local_prefix): Define.
396 * config/alpha/x-vms (USE_COLLECT2): Make empty.
397 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
398 file specifications. Remove ".".
399 (GCC_INCLUDE_DIR): Remove redefinition (redundant).
400 * fixinc/mkfixinc.sh (alpha*-dec-vms*): Change to alpha*-dec-*vms*
401
402 2001-12-09 Nathan Sidwell <nathan@codesourcery.com>
403
404 * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
405
406 Sun Dec 9 21:57:24 2001 Douglas B. Rupp <rupp@gnat.com>
407
408 * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
409 Add rules for building [vp]crt0.o
410 * config/alpha/vms.h (START_FILE_SPEC): Define.
411 * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
412 * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
413 * doc/invoke.texi: Document special Alpha/VMS options.
414
415 Sun Dec 9 20:25:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
416
417 * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
418 * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
419 not GNUC.
420
421 Sun Dec 9 20:19:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
422 Douglas B. Rupp <rupp@gnat.com>
423
424 * tree.c (append_random_char): Conditionalize INO for VMS.
425
426 2001-12-09 Richard Henderson <rth@redhat.com>
427
428 * cfgcleanup.c (label_is_jump_target_p): New function.
429 (try_optimize_cfg): Use label_is_jump_target_p to check if label is
430 target of a JUMP_INSN from the preceding block.
431
432 Sun Dec 9 18:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
433
434 * vmsdbgout.c (lookup_filename): Assign null string instead
435 of null pointer to fnam.
436
437 2001-12-09 Richard Henderson <rth@redhat.com>
438
439 * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
440 immediately after a call; insert nops before a call.
441
442 2001-12-09 Richard Henderson <rth@redhat.com>
443
444 * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
445 not FUNCTION_BOUNDARY.
446 * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
447 * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
448 * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
449
450 2001-12-09 Hans-Peter Nilsson <hp@bitrange.com>
451
452 * config/mmix/mmix.c (mmix_function_block_profiler,
453 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
454 unused functions.
455 * config/mmix/mmix-protos.h (mmix_function_block_profiler,
456 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
457 prototypes.
458
459 * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
460 Delete obsoleted macros.
461
462 2001-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
463
464 * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
465 doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
466
467 * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
468 cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
469 function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
470 config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
471 config/i370/i370.c, config/i386/i386.c,
472 config/i386/i386-interix.h, config/i386/i386.md,
473 config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
474 config/m32r/m32r-protos.h, config/mcore/mcore.h,
475 config/rs6000/rs6000.h, config/sparc/linux64.h,
476 config/sparc/sparc.c, config/v850/v850-protos.h,
477 config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
478 spelling errors.
479
480 2001-12-09 Daniel Berlin <dan@cgsoftware.com>
481
482 * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
483 altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
484
485 * config/rs6000/rs6000.c: Ditto.
486
487 * config/rs6000/rs6000.md: Ditto.
488
489 2001-12-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
490
491 * 1750a.md: Add default case in switch.
492 * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
493 if-else statement.
494 * dsp16xx.c (print_operand_address): Likewise.
495 * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
496 * ia64.md: Add missing braces.
497 * rs6000-protos.h (s8bit_cint_operand): Prototype.
498 * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
499 if-else statement.
500 * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
501 * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
502 * dbxout.c (dbxout_source_file): Move a variable into the scope
503 where it is used.
504 * final.c (profile_function): Mark parameter with
505 ATTRIBUTE_UNUSED.
506 * genemit.c (gen_expand): Likewise for generated file.
507 * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
508
509 * vmsdbg.h: Delete spurious close-comment.
510 (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
511 * vmsdbgout.c (write_modbeg): Define return type.
512
513 * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
514 * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
515 * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
516 * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
517 * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
518 * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
519 * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
520
521 2001-12-08 Tom Rix <trix@redhat.com>
522
523 * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
524 * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
525 * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
526 for powerpc64.
527 * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
528 movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
529 * config/rs6000/rs6000.c (expand_block_move): Do not use
530 gen_movstrsi_2reg and powerpc64.
531
532 2001-10-08 Aldy Hernandez <aldyh@redhat.com>
533
534 * c-common.h (rid): Add RID_CHOOSE_EXPR and
535 RID_TYPES_COMPATIBLE_P.
536
537 * c-parse.in (reswords): Add __builtin_choose_expr.
538 Add __builtin_types_compatible_p.
539 Add CHOOSE_EXPR token.
540 Add TYPES_COMPATIBLE_P token.
541 Add production for CHOOSE_EXPR.
542 Add production for TYPES_COMPATIBLE_P.
543
544 * doc/extend.texi (__builtin_choose_expr): Add documentation.
545 (__builtin_types_compatible_p): Likewise.
546
547 2001-12-08 David Edelsohn <edelsohn@gnu.org>
548
549 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
550 to unions.
551
552 2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
553
554 * c-parse.in: Take string literals in assembler constructs,
555 not expressions.
556 * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
557 check the strings are STRING_CSTs.
558
559 2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
560
561 * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
562 using combine_strings to do the concatenation.
563 * c-parse.in: Replace uses of the string non-terminal with STRING.
564 Don't attempt string concatenation.
565 (OBJC_STRING): New terminal.
566 (string): Remove non-terminal.
567 (_yylex): Call combine_strings on function names. Generate
568 OBJC_STRING terminals; don't pass '@' on to yacc.
569 * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
570 (build_asm_stmt): Similarly.
571
572 2001-12-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
573
574 * rtlanal.c (get_jump_table_offset): Delete unused variable.
575
576 2001-12-08 Richard Earnshaw <rearnsha@arm.com>
577
578 * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
579 (prefetch): Rewrite using PREFETCH RTL primitive.
580 * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
581 * arm.c (arm_init_builtins): Don't initialize a builtin for
582 __builtin_prefetch here.
583 (arm_expand_builtin): Don't expand __builtin_prefetch here.
584
585 2001-12-08 Richard Earnshaw <rearnsha@arm.com>
586
587 * final.c (cleanup_subreg_operands): Use recog_data.operand_loc
588 in test for a subreg.
589
590 2001-12-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
591
592 * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
593 strings.
594
595 2001-12-07 Richard Henderson <rth@redhat.com>
596
597 * doc/extend.texi: Fix typo last change.
598
599 * c-decl.c (c_language): Remove duplicate.
600
601 2001-12-07 Dale Johannesen <dalej@apple.com>
602
603 * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
604 * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
605 specific codegen, eliminate a register copy.
606 (print_operand_address): Add support for Darwin's lo16(constant)
607 syntax.
608 (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
609 generation of addresses within very large data objects.
610 (s8bit_cint_operand): New.
611 * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
612 Move "mtjmpr" to correct functional unit for 750/7400/7450.
613 Add imul2 and imul3 insn types for multiplication by 16- and
614 8-bit constants.
615 Change tablejump patterns to strongly discourage using LR
616 rather than CTR.
617 Add %lo16 patterns for Darwin loads and stores.
618
619 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
620
621 * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
622
623 2001-12-07 Stephane Carrez <Stephane.Carrez@sun.com>
624
625 * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
626 with %sp because it can cause the delayed instruction to load
627 below the stack.
628
629 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
630
631 * alpha.c (alpha_expand_unaligned_store,
632 alpha_expand_unaligned_store_words): Use constm1_rtx in place of
633 call to immed_double_const.
634
635 2001-12-07 Aldy Hernandez <aldyh@redhat.com>
636
637 * doc/extend.texi (Variable Attributes): Document vector_size.
638
639 * attribs.c (c_common_attribute_table): Add vector_size.
640 (handle_vector_size_attribute): New.
641 (vector_size_helper): New.
642 (decl_attributes): Relayout the decl after calculating attribs.
643
644 2001-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
645
646 * doc/gcc.texi: Don't include install-old.texi. Adjust menu
647 description for Trouble section.
648 * doc/install-old.texi: Adjust for inclusion as chapter of new
649 installation manual.
650 * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
651 Adjust to include old installation chapter as chapter of new
652 installation manual.
653
654 Fri Dec 7 11:07:35 EST 2001 John Wehle (john@feith.com)
655
656 * rtl.h (get_jump_table_offset): Declare.
657 * rtlanal.c (get_jump_table_offset): Implement.
658
659 Fri Dec 7 07:06:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
660
661 * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
662 Deleted; were used only by BB profiler code.
663 (sbb_head, sbb_tail, sbb_label_num): Likewise.
664 (end_final): Delete now-unused vars I, PTR, and SPTR.
665
666 * expr.c (store_field): Remove warning.
667 (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
668 (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
669 (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
670 divisor constant power of 2.
671 (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
672
673 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
674
675 * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
676 shifting.
677
678 2001-12-06 Aldy Hernandez <aldyh@redhat.com>
679
680 * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
681 (DWARF_FRAME_REGISTERS): Delete.
682
683 2001-12-06 Janis Johnson <janis187@us.ibm.com>
684
685 * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
686 * builtins.def (BUILT_IN_PREFETCH): Change arguments.
687 * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
688 with defaults for read prefetch with high degree of locality.
689 * doc/extend.texi (__builtin_prefetch): Update documentation.
690 * doc/md.texi (prefetch): Add documentation.
691
692 2001-12-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
693
694 * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
695 UNIX V5.1A stdio.h.
696 * fixinc/fixincl.x: Regenerate.
697 Fixes PR libf2c/4826.
698
699 2001-12-06 Aldy Hernandez <aldyh@redhat.com>
700 Richard Henderson <rth@redhat.com>
701
702 * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
703 (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
704
705 * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
706 to PRE_GCC3_DWARF_FRAME_REGISTERS.
707 (frame_state): Same.
708 (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
709
710 2001-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
711
712 * langhooks.c (lhd_staticp): Mark parameter with
713 ATTRIBUTE_UNUSED.
714
715 2001-12-06 H.J. Lu <hjl@gnu.org>
716
717 * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
718 reduce noise.
719 (.po.pox): Likewise.
720 (o/$(PACKAGE).pot): Likewise.
721
722 2001-12-06 Alexandre Oliva <aoliva@redhat.com>
723
724 * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
725 * tree-inline.c (expand_call_inline): ... here.
726
727 2001-12-06 H.J. Lu <hjl@gnu.org>
728
729 * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
730 (.po.pox): Likewise.
731 (o/$(PACKAGE).pot): Likewise.
732
733 2001-12-06 David O'Brien <obrien@FreeBSD.org>
734
735 * config.gcc: Include dbxelf.h before elfos.h.
736 * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
737
738 2001-12-06 Zack Weinberg <zack@codesourcery.com>
739
740 * cppfiles.c (open_file): If we've opened a directory by
741 mistake, close it.
742 (find_include_file): Avoid turning / into // or // into ///.
743
744 2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
745
746 * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
747 (STRUCT_VALUE_REGNUM): Restore definition.
748
749 2001-12-06 Andrew MacLeod <amacleod@redhat.com>
750
751 * flow.c (find_regno_partial): Return register, not the expression
752 the register is in.
753
754 Thu Dec 6 09:24:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
755
756 * function.c (handle_epilogue_set): Check for FP setting case when
757 SP is set from FP in same insn.
758
759 2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
760
761 * config/arm/arm.c (load_multiple_sequence): Pass pointer to
762 RTX when calling alter_subreg().
763 (store_multiple_sequence): Pass pointer to RTX when calling
764 alter_subreg().
765
766 Thu Dec 6 06:55:13 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
767
768 * function.c (assing_parms): Fix typo in last change.
769 * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
770 * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
771 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
772 * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
773
774 2001-12-06 Alan Modra <amodra@bigpond.net.au>
775
776 * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
777 correct code selecting section.
778
779 Thu Dec 6 12:45:33 CET 2001 Jan Hubicka <jh@suse.cz>
780
781 * final.c (count_basic_block, add_bb, add_bb_string):
782 Kill.
783 (end_final, final_start_function, final, final_scan_insn,
784 leaf_function_p): Kill BB profiler related code.
785 * flags.h (profile_block_flag): Kill.
786 * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
787 BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
788 __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
789 bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
790 reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
791 __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
792 __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
793 __bb_init_trace_func): Kill.
794 * toplev.c (profile_block_flag): Kill.
795 (indepdendent_decode_option, process_options): Kill -a related code.
796 * alpha.c (direct_call_operand): Likewise.
797 * arm.c (arm_expand_prologue, thumb_expand_prologue,
798 thumb_expand_epilogue): Likewise.
799 * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
800 * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
801 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
802 MACHINE_STATE_RESTORE): Kill.
803 * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
804 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
805 MACHINE_STATE_RESTORE): Kill.
806 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
807 * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
808 ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
809 code.
810 (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
811 * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
812 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
813 MACHINE_STATE_RESTORE): Kill.
814 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
815 * i960.c (i960_output_function_prologue): Kill BB profiler related
816 code.
817 * ia64.c (ia64_compute_frame_size): Likewise.
818 * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
819 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
820 MACHINE_STATE_RESTORE): Kill.
821 * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
822 * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
823 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
824 MACHINE_STATE_RESTORE): Kill.
825 * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
826 * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
827 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
828 MACHINE_STATE_RESTORE): Kill.
829 * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
830 Kill BB profiler related code.
831 * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
832 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
833 MACHINE_STATE_RESTORE): Kill.
834 * mips.c (mips_expand_prologue): Kill BB profiler related code.
835 * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
836 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
837 MACHINE_STATE_RESTORE): Kill.
838 * rs6000.c (rs6000_override_options): Kill BB profiler related code.
839 * s960.c (s390_function_prologue): Kill BB profiler related code.
840 * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
841 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
842 MACHINE_STATE_RESTORE): Kill.
843 * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
844 * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
845 * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
846 * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
847 * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
848 sparc_nonflat_function_epilogue): Kill BB profiler related code.
849 (sparc_function_block_profiler, sparc_block_profiler,
850 sparc_function_block_profiler_exit): Kill.
851 * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
852 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
853 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
854 MACHINE_STATE_RESTORE): Kill.
855 * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
856 * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
857 * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
858 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
859 MACHINE_STATE_RESTORE): Kill.
860 * doc/invoke.texi: Kill documentation of -a and -ax.
861 * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
862 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
863 MACHINE_STATE_RESTORE): Kill.
864
865 2001-10-26 Steve Christiansen <smc@us.ibm.com>
866
867 * doc/rtl.texi: Use a table to display RTL format characters.
868
869 2001-12-06 Bo Thorsen <bo@suse.co.uk>
870
871 * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
872
873 Wed Dec 5 19:18:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
874
875 * function.c (keep_stack_depressed): Check global_live_at_start
876 of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
877
878 2001-12-05 David O'Brien <obrien@FreeBSD.org>
879
880 * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
881 as set by the generic FreeBSD configure framework.
882
883 2001-12-04 Jason Merrill <jason@redhat.com>
884
885 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
886 start_inlining, end_inlining.
887 * tree-inline.c (expand_call_inline): Call them.
888 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
889 (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
890 (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
891 * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
892 (lhd_tree_inlining_end_inlining): New fn.
893
894 2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
895
896 * c-common.c (shadow_warning): New function, moved from cp/decl.c.
897 * c-common.h (shadow_warning): New.
898 * c-decl.c: Include c-common.h.
899 (warn_if_shadowing): New, broken out of pushdecl.
900 (pushdecl): Use warn_if_shadowing.
901 (store_parm_decls): Prevent duplicate -Wshadow warnings.
902
903 Wed Dec 5 17:59:19 2001 Douglas B. Rupp <rupp@gnat.com>
904
905 * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
906 (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
907 (LIB_SPEC): Remove.
908
909 Wed Dec 5 16:03:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
910
911 * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
912 (QUAL_UNION_TYPE): New type.
913
914 * varasm.c (output_constant, case ERROR_MARK): New case.
915
916 * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
917 (c_com): Delete its reference.
918 * builtins.c: Delete memory checking code.
919 * calls.c, expr.c, function.c, stmt.c: Likewise.
920 * builtins.c (expand_builtin_arg_info): Remove reference to
921 EXPAND_MEMORY_USE_* modifiers.
922 * explow.c (expr_size): Likewise.
923 * expr.c (expand_expr, expand_increment): Likewise.
924 * expr.h (ARGS_SIZE_RTX): Likewise.
925 * function.c (assign_parms, expand_pending_sizeso): Likewise.
926 * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
927 * expr.c (in_check_memory_usage): Delete.
928 (get_push_address, get_memory_usage_from_modifier): Delete.
929 (expand_assigment): Use EXPAND_WRITE on destination.
930 (expand_expr): Delete ro_modifier.
931 * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
932 add EXPAND_WRITE.
933 (memory_use_mode): Delete.
934 * flags.h (flag_check_memory_usage): Deleted.
935 (flag_prefix_function_name): Likewise.
936 * function.c (expand_function_start): Don't set
937 current_function_check_memory_usage.
938 * function.h (check_memory_usage): Delete.
939 * libfuncs.h, optabs.c: Delete chkr_* stuff.
940 * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
941 EXPAND_WRITE.
942 * toplev.c (flag_check_memory_usage): Deleted.
943 (flag_prefix_function_name): Likewise.
944 (f_options, process_options): Delete references to above.
945 * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
946 * varasm.c (CHKR_PREFIX): Deleted.
947 (make_decl_rtl): Remove flag_prefix_function_name handling.
948 (assemble_name): Likewise.
949 * doc/extend.texi: Remove no_check_memory_usage attribute.
950 * doc/invoke.texi: Remove -fcheck-memory-usage
951 and -fprefix-function-name.
952
953 2001-12-05 Andreas Schwab <schwab@suse.de>
954
955 * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
956 from autoconf.
957
958 2001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
959
960 * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
961
962 2001-12-05 William Cohen <wcohen@redhat.com>
963
964 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
965 instruction.
966
967 2001-12-05 Daniel Berlin <dan@cgsoftware.com>
968
969 * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
970 builtins.
971
972 * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
973 better reflect reality (change from Apple's tree).
974 Add more of altivec instructions.
975 Add ftruncv4sf2 pattern.
976 Remove more unspecs (vector merge instructions, etc).
977
978 * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
979 builtins.
980 (bdesc_1arg): New, for 1 argument altivec builtins.
981 (altivec_expand_builtin): Handle unary and ternary ops.
982 (altivec_init_builtins): Ditto.
983
984 Wed Dec 5 09:33:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
985
986 * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
987 * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
988
989 2001-12-05 Jakub Jelinek <jakub@redhat.com>
990
991 * gcse.c (store_killed_in_insn): Consider pure calls
992 as potential store killers in addition to normal calls.
993
994 2001-12-05 Jakub Jelinek <jakub@redhat.com>
995
996 * expr.c (expand_expr): When checking promoted value, use
997 DECL_MODE (exp) and not mode.
998
999 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1000
1001 * c-typeck.c (output_init_element): Call digest_init
1002 just once, not in each if branch and check its return value for
1003 error_mark_node.
1004
1005 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1006
1007 * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
1008 type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
1009 (finish_struct): Break the loop if n_incomplete went to 0.
1010 For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
1011
1012 Wed Dec 5 07:41:13 2001 Douglas B. Rupp <rupp@gnat.com>
1013
1014 * config/alpha/alpha.c (alpha_va_start): Update VMS case.
1015
1016 Wed Dec 5 07:27:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1017 Douglas B. Rupp <rupp@gnat.com>
1018
1019 * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
1020 * doc/invoke.texi: Add -gvms.
1021 * doc/passes.texi: Add mention of vmsdbgout.c.
1022 * doc/tm.texi: Document VMS debugging output.
1023
1024 Wed Dec 5 06:26:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1025
1026 * function.h (tree, rtx): Remove no-longer-needed definitions.
1027
1028 * function.c (keep_stack_depressed): Refine check for register
1029 clobbered over call.
1030
1031 * expr.c (store_expr): When copying string constant into array,
1032 use functions that update memrefs instead of computations on
1033 addresses to better track MEMs. Also properly handle 32/64 pointers.
1034 (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
1035 (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
1036
1037 * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
1038 underneath COMPONENT_REFs.
1039 (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
1040
1041 2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
1042
1043 * toplev.c (display_target_options): Don't print twice.
1044
1045 Wed Dec 5 00:42:16 EST 2001 John Wehle (john@feith.com)
1046
1047 * emit-rtl.c (set_unique_reg_note): Don't set
1048 a REG_EQUAL or REG_EQUIV note if multiple sets
1049 are present.
1050
1051 2001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
1052
1053 * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
1054 CASE_DROPS_THROUGH.
1055
1056 2001-12-04 Andrew MacLeod <amacleod@redhat.com>
1057
1058 * rtl.h (initialize_uninitialized_subregs): New prototype.
1059 * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
1060 when optimization is on.
1061 * flow.c (find_regno_partial): Find subregs within an expression.
1062 (initialize_uninitialized_subregs): Initialize live on entry registers
1063 which are used in subreg expressions.
1064
1065 2001-12-04 Phil Edwards <pme@gcc.gnu.org>
1066
1067 * Makefile.in: Add INSTALL_SCRIPT using INSTALL definition.
1068
1069 2001-12-04 DJ Delorie <dj@redhat.com>
1070
1071 * fixinc/fixincl.c (initialize): Avoid problemsome macro
1072 parameter names (PR 3388).
1073
1074 2001-12-05 Alan Modra <amodra@bigpond.net.au>
1075
1076 * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
1077 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
1078
1079 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1080
1081 * c-common.def (COMPOUND_LITERAL_EXPR): New.
1082 * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
1083 (c_staticp): New function.
1084 * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
1085 (c_staticp): Declare.
1086 * c-typeck.c (default_function_array_conversion, build_unary_op):
1087 Don't handle CONSTRUCTOR specially.
1088 (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
1089 * c-decl.c (build_compound_literal): New function.
1090 * c-tree.h (build_compound_literal): Declare.
1091 * c-parse.in (primary): Use build_compound_literal.
1092 * c-lang.c (LANG_HOOKS_STATICP): Define.
1093 * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
1094 * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
1095 * doc/extend.texi: Update documentation of compound literals.
1096 Fixes PR c/4787.
1097
1098 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1099
1100 * langhooks.h (struct lang_hooks): Add staticp.
1101 * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
1102 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
1103 * langhooks.c (lhd_staticp): New function.
1104 * tree.c (staticp): Call lang_hooks.staticp for language-specific
1105 tree codes.
1106
1107 2001-12-04 Neil Booth <neil@daikokuya.demon.co.uk>
1108
1109 * cppspec.c (lang_specific_driver): Set is_cpp_driver.
1110 * gcc.c (process_command): Ensure the cpp driver sees
1111 --help and --target-help, and that the help is printed
1112 exactly once.
1113
1114 2001-12-04 David Edelsohn <edelsohn@gnu.org>
1115
1116 * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
1117
1118 2001-12-04 Hans-Peter Nilsson <hp@axis.com>
1119
1120 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
1121 flag_strict_aliasing. Use separate assignment statements.
1122
1123 2001-12-04 Zack Weinberg <zack@codesourcery.com>
1124
1125 * build-make, cross-make: Delete file.
1126 * configure.in: Set and substitute CROSS, ALL,
1127 SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
1128 HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
1129 whether build == host and host == target. Do not
1130 AC_SUBST_FILE build_overrides or cross_overrides. Do not
1131 AC_SUBST cross_defines or extra_c_flags.
1132 * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
1133 (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
1134 HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
1135 partially or completely with autoconf-substituted @variable@
1136 notation.
1137 (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
1138 @build_overrides@, @extra_c_flags@, all.build, install-build,
1139 install-cross-rest, install-float-h-cross): Deleted.
1140 (install-normal): Rename to install. Delete old "install"
1141 indirection rule.
1142
1143 2001-12-04 Andrew MacLeod <amacleod@redhat.com>
1144
1145 * stmt.c (expand_return): Clear destination instead of clobbering it
1146 when setting a return value via bitsets.
1147
1148 2001-12-04 Alexandre Oliva <aoliva@redhat.com>
1149
1150 * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
1151 it has DECL_SAVED_TREE.
1152
1153 * c-decl.c (duplicate_decls): Revert rth's patch. If newdecl
1154 is in a different binding level, get its abstract origin to be
1155 olddecl.
1156 * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
1157 check earlier.
1158 * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
1159 DECL_INITIAL is NULL.
1160
1161 2001-12-04 Jakub Jelinek <jakub@redhat.com>
1162
1163 * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
1164 Return correct value if one of the subexpressions was optimized to
1165 0 resp. 1. Optimize (x | A) | x and (x & A) | x.
1166 (and_reg_cond): Similarly.
1167
1168 2001-12-04 Jakub Jelinek <jakub@redhat.com>
1169
1170 * function.c (assign_parms): Set last_named only for last named
1171 argument.
1172
1173 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1174
1175 * doc/install.texi: Use the GFDL. Include years from old install
1176 manual in copyright notice. Include copyright and GFDL notice on
1177 HTML index page. Include usual footer on testing.html.
1178 * doc/install.texi2html: Build gfdl.html. Use -I
1179 $SOURCEDIR/include.
1180 * doc/include/fdl.texi: Adapt for use in the install manual.
1181
1182 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1183
1184 * doc/install.texi: Document that installed native compiler for
1185 building cross compilers should be GCC 2.95 or later.
1186
1187 2001-12-03 Eric Christopher <echristo@redhat.com>
1188
1189 * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
1190 * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
1191 patterns.
1192
1193 2001-12-03 Janis Johnson <janis187@us.ibm.com>
1194
1195 * rtl.def (PREFETCH): New rtx code.
1196 * doc/rtl.texi (PREFETCH): Add documentation.
1197 * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
1198 * rtlanal.c (reg_referenced_p): Ditto.
1199 * sched-vis.c (print_exp): Ditto.
1200 * ssa-dce.c (find_inherently_necessary): Ditto.
1201
1202 * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
1203 (PREFETCH_BLOCK): Define.
1204 * config/ia64/ia64.md (itanium_class): Add lfetch.
1205 (prefetch, prefetch_internal): New.
1206
1207 * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
1208 * builtins.def (BUILT_IN_PREFETCH): New.
1209 * builtins.c (expand_builtin_expect): New.
1210 (expand_builtin): Call it.
1211 * doc/extend.texi: Document __builtin_prefetch.
1212
1213 * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
1214 conflicts with new generic prefetch functionality.
1215 * config/i386/i386.c (ix86_expand_builtin): Use new name for
1216 prefetch_sse.
1217
1218 2001-12-02 Ziemowit Laski <zlaski@apple.com>
1219
1220 * objc/Make-lang.in: Update copyright.
1221 (OBJC_OBJS): Add objc-lang.o.
1222 (objc-lang.o): New rule.
1223 * objc/config-lang.in: Fix file description and update
1224 copyright.
1225 * objc/objc-act.c: Do not include langhooks.h and
1226 langhooks-def.h
1227 (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
1228 (objc_post_options): Move to objc-lang.c.
1229 (objc_init_options): Move to objc-lang.c.
1230 (objc_init): Make non-static.
1231 (objc_decode_option): Make non-static.
1232 (HASHFUNCTION): Remove macro.
1233 (hash_func): New function.
1234 (hash_enter): Replace HASHFUNCTION with hash_func.
1235 (hash_lookup): Replace HASHFUNCTION with hash_func.
1236 (maybe_objc_tree_codes): New function.
1237 (init_objc): Move ObjC tree code initialization to
1238 maybe_objc_tree_codes().
1239 * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
1240 (objc_init): New public prototype.
1241 (objc_decode_option): New public prototype.
1242 (maybe_add_objc_tree_codes): New public prototype.
1243 * objc/objc-lang.c: New file.
1244 (lang_hooks): Moved from objc-act.c.
1245 (objc_post_options): Moved from objc-act.c.
1246 (objc_init_options): Moved from objc-act.c.
1247
1248 2001-12-03 Geoff Keating <geoffk@redhat.com>
1249
1250 * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
1251 of array elements.
1252
1253 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
1254
1255 PR c/4988
1256 * gcc.c (process_command): Don't add a preprocessor option for
1257 --help and --target-help; cc1 is enough.
1258
1259 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
1260
1261 * c-decl.c (grokdeclarator): Use ISO word.
1262 * cppinit.c: Remove leading capital from diagnostic messages, as
1263 per GNU coding standards.
1264 * emit-rtl.c: Similarly.
1265 * final.c: Similarly.
1266 * gcc.c: Similarly.
1267 * tradcpp.c: Similarly.
1268 * config/arm/arm.c: Similarly.
1269 * config/arm/arm.h: Similarly.
1270 * config/avr/avr.c: Similarly.
1271 * config/avr/avr.h: Similarly.
1272 * config/c4x/c4x.c: Similarly.
1273 * config/cris/cris.c: Similarly.
1274 * config/cris/cris.h: Similarly.
1275 * config/d30v/d30v.c: Similarly.
1276 * config/dsp16xx/dsp16xx.c: Similarly.
1277 * config/dsp16xx/dsp16xx.h: Similarly.
1278 * config/h8300/h8300.c: Similarly.
1279 * config/i386/i386.c: Similarly.
1280 * config/i386/xm-djgpp.h: Similarly.
1281 * config/i960/i960.h: Similarly.
1282 * config/m32r/m32r.c: Similarly.
1283 * config/m68hc11/m68hc11.c: Similarly.
1284 * config/m88k/m88k.c: Similarly.
1285 * config/m88k/m88k.h: Similarly.
1286 * config/mcore/mcore.c: Similarly.
1287 * config/mcore/mcore.h: Similarly.
1288 * config/mips/mips.c: Similarly.
1289 * config/mmix/mmix.c: Similarly.
1290 * config/pa/pa.c: Similarly.
1291 * config/rs6000/rs6000.c: Similarly.
1292 * config/rs6000/sysv4.h: Similarly.
1293 * config/s390/s390.c: Similarly.
1294 * config/sparc/sparc.c: Similarly.
1295 * config/v850/v850-c.c: Similarly.
1296 * config/v850/v850.c: Similarly.
1297
1298 2001-12-03 Zack Weinberg <zack@codesourcery.com>
1299
1300 * rs6000.h (RETURN_IN_MEMORY): Cast result of
1301 int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
1302
1303 Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com)
1304
1305 * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
1306 bit twiddling constant.
1307
1308 Mon Dec 3 16:16:37 CET 2001 Jan Hubicka <jh@suse.cz>
1309
1310 * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
1311 call purge_dead_edges after removing.
1312 (delete_null_pointer_checks): Do not handle delete_list.
1313
1314 * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
1315 (count_basic_blocks): ... here.
1316 (find_basic_blocks, find_bb_boundaries): Cleanup.
1317
1318 * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
1319 overflow for types greater then 2 * HOST_WIDE_INT.
1320
1321 * reload.c (find_reloads): Update the duplicates after swapingg.
1322
1323 Mon Dec 3 13:52:19 CET 2001 Jan Hubicka <jh@suse.cz>
1324
1325 * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
1326
1327 2001-12-02 Zack Weinberg <zack@codesourcery.com>
1328
1329 * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
1330 MASK_LONG_DOUBLE_128): Delete.
1331 (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
1332 TARGET_AIX_STRUCT_RET): New flags.
1333 (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
1334 -mlong-double-64. Add entries for -m(no-)aix-struct-return
1335 and -m(no-)svr4-struct-return.
1336 (TARGET_OPTIONS): Add entry for -mlong-double-.
1337 (rs6000_long_double_size_string, rs6000_long_double_type_size,
1338 rs6000_altivec_abi): Declare.
1339 (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
1340 LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
1341 (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
1342 structures of size <= 8 bytes in registers.
1343 (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
1344
1345 * config/rs6000/rs6000.c (rs6000_long_double_size_string,
1346 rs6000_long_double_type_size, rs6000_altivec_abi): New
1347 globals.
1348 (rs6000_override_options): Set rs6000_long_double_type_size
1349 from rs6000_long_double_size_string, if nonzero. Set the
1350 MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
1351 not already set.
1352 (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
1353 target_flags bit.
1354 (rs6000_init_builtins): This hook now takes no arguments.
1355
1356 * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
1357 DRAFT_V4_STRUCT_RET to 1.
1358
1359 2001-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
1360
1361 * c-typeck.c (really_start_incremental_init, push_init_level):
1362 Avoid constructor_max_index being other than an INTEGER_CST.
1363
1364 2001-12-02 David Edelsohn <edelsohn@gnu.org>
1365
1366 * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
1367 unsigned.
1368 (ASM_GENERATE_INTERNAL_LABEL): Same.
1369 (UNIQUE_SECTION): Fix typo.
1370
1371 2001-12-02 Richard Henderson <rth@redhat.com>
1372
1373 * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
1374
1375 2001-12-02 Richard Henderson <rth@redhat.com>
1376
1377 * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
1378 (MEM_EXPR): Rename from MEM_DECL; adjust all users.
1379 * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
1380 * expr.h, final.c, reload1.c: Adjust users.
1381
1382 * alias.c (nonoverlapping_component_refs_p): New.
1383 (decl_for_component_ref, adjust_offset_for_component_ref): New.
1384 (nonoverlapping_memrefs_p): Use them.
1385 * emit-rtl.c (component_ref_for_mem_expr): New.
1386 (set_mem_attributes): Use it.
1387 (set_mem_offset): New.
1388 * expr.c (expand_assignment): Call set_mem_attributes for
1389 inner references; adjust the memory offset as needed.
1390 * print-rtl.c (print_mem_expr): New.
1391 (print_rtx): Use it.
1392
1393 Sun Dec 2 09:22:25 2001 Douglas B. Rupp <rupp@gnat.com>
1394
1395 * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
1396
1397 * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
1398 (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
1399 (ASM_SPEC): Don't redefine.
1400 (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
1401 * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
1402 * config/alpha/vms-dwarf2.asm: New file.
1403
1404 * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
1405 * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
1406 * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
1407 (vmsdbgout_after_prologue): New declaration.
1408 * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
1409 * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
1410 * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
1411 (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
1412 (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
1413 (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
1414 * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
1415 Test VMS_DEBUGGING_INFO.
1416 (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
1417 (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
1418 * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
1419 * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
1420 VMS_AND_DWARF2_DEBUG.
1421 (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
1422 (decode_g_option): Add "vms" to debug_type_names.
1423 (process_options): Set vmsdbg_debug_hooks if -gvms.
1424 (lang_independent_init): Emit line number for VMS unless -g0.
1425 * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
1426 * vmsdbg.h, vmsdbgout.c: New files.
1427
1428 Sun Dec 2 09:03:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1429
1430 * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
1431
1432 2001-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1433
1434 * cfgrtl.c (purge_all_dead_edges): Initialize variable.
1435 * dwarf2out.c (is_cxx): Prototype.
1436 * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
1437 warning.
1438 * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
1439
1440 Sun Dec 2 07:12:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1441
1442 * libgcc2.c (__bb_exit_func): Fix line wrap problems.
1443
1444 2001-12-02 Geoff Keating <geoffk@redhat.com>
1445
1446 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
1447 * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
1448 rather than simplify_subreg. Check for volatile-ness. Check that
1449 we're not splitting one slow operation into two slow operations.
1450
1451 2001-12-02 David Edelsohn <edelsohn@gnu.org>
1452
1453 * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
1454 before shifting.
1455
1456 2001-12-02 Neil Booth <neil@daikokuya.demon.co.uk>
1457
1458 * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
1459 capital from diagnostics.
1460 * c-lex.c (cb_file_change): Similarly.
1461 * c-parse.in : Similarly.
1462 * cfgrtl.c (verify_flow_info): Similarly.
1463 * collect2.c: Similarly.
1464 * cppfiles.c (find_include_file): Similarly.
1465 * cppinit.c (cpp_handle_option): Similarly.
1466 * cpplex.c (cpp_spell_token): Similarly.
1467 * cppmain.c (do_preprocessing): Similarly.
1468 * gcc.c (translate_options, process_command, do_spec1,
1469 main, pfatal_execute): Similarly.
1470 * genattr.c (main): Similarly.
1471 * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
1472 write_test_expr, main): Similarly.
1473 * gencodes.c (main): Similarly.
1474 * genconfig.c (main): Similarly.
1475 * genconstants.c (main): Similarly.
1476 * genemit.c (main): Similarly.
1477 * genextract.c (main): Similarly.
1478 * genflags.c (main): Similarly.
1479 * genopinit.c (main): Similarly.
1480 * genoutput.c (process_template, main): Similarly.
1481 * genpeep.c (main): Similarly.
1482 * genrecog.c (main): Similarly.
1483 * gensupport.c (is_predicable, identify_predicable_attribute,
1484 alter_predicate_for_insn, init_md_reader_args, main): Similarly.
1485 * ggc-page.c (alloc_anon): Similarly.
1486 * mips-tfile.c (add_string, add_procedure, add_file, read_line,
1487 parse_begin, parse_bend, parse_def, parse_end, parse_file,
1488 parse_stabs_common, parse_stabs, write_varray, write_object,
1489 read_seek, copy_object, main, error): Similarly.
1490 * profile.c (compute_branch_probabilities): Similarly.
1491 * reg-stack.c (check_asm_stack_operands): Similarly.
1492 * reload.c (find_reloads): Similarly.
1493 * reload1.c (spill_failure, failed_reload): Similarly.
1494 * rtl-error.c (_fatal_insn_not_found): Similarly.
1495 * toplev.c (read_integral_parameter, crash_signal,
1496 decode_f_option, set_target_switch, parse_options_and_default_flags)
1497 : Similarly.
1498 * tradcif.y (parse_number, yylex): Similarly.
1499 * tradcpp.c (main, fancy_abort): Similarly.
1500 * tree.c (tree_check_failed): Similarly.
1501 * varray.c (varray_check_failed): Similarly.
1502 * xcoffout.c (xcoff_output_standard_types): Similarly.
1503 objc:
1504 * objc-act.c (get_object_ref, lookup_and_install_protocols,
1505 build_objc_string_object, objc_declare_alias, build_ivar_chain,
1506 finish_message_expr, build_protocol_expr, is_public,
1507 start_class): Similarly.
1508
1509 2001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
1510
1511 * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
1512 trailing period from diagnostics.
1513 * c-lex.c (cb_file_change): Similarly.
1514 * cppmacro.c (check_trad_stringification): Similarly.
1515 * gcc.c (do_spec_1): Similarly.
1516 * genattr.c (main): Similarly.
1517 * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
1518 * gencodes.c (main): Similarly.
1519 * genconfig.c (main): Similarly.
1520 * genconstants.c (main): Similarly.
1521 * genemit.c (main): Similarly.
1522 * genextract.c (main): Similarly.
1523 * genopinit.c (main): Similarly.
1524 * genoutput.c (main): Similarly.
1525 * genpeep.c (main): Similarly.
1526 * genrecog.c (main): Similarly.
1527 * mips-tfile.c (add_file, error): Similarly.
1528 * profile.c (init_branch_prob): Similarly.
1529 * reload1.c (spill_failure): Similarly.
1530 * stmt.c (parse_output_constraint): Similarly.
1531 * varasm.c (assemble_variable): Similarly.
1532
1533 2001-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1534
1535 * m68k.c (init_FPA_table): Provide static prototype.
1536 * mips/abi64.h (mips_function_value): Move prototype to ...
1537 * mips-protos.h (mips_function_value): ... here.
1538 * mips.c: Include halfpic.h.
1539 * output.h (rdata_section): Prototype.
1540
1541 * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1542 * m88k.c (m88k_svr3_asm_out_constructor,
1543 m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
1544 !OBJECT_FORMAT_ELF.
1545 * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1546 * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
1547 * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
1548
1549 2001-12-01 Geoff Keating <geoffk@redhat.com>
1550
1551 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
1552 LO_SUM addresses less than word size are not legitimate,
1553 because they lead to invalid SUBREGs.
1554 * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
1555
1556 2001-12-01 Olivier Hainque <hainque@act-europe.fr>
1557
1558 * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
1559 while scanning for multiple back edges.
1560
1561 2001-12-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1562
1563 * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
1564 * config/rs6000/tramp.asm: Use it.
1565
1566 2001-12-01 Zack Weinberg <zack@codesourcery.com>
1567
1568 * gencheck.c, gengenrtl.c: Don't define xmalloc.
1569 * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
1570 xmalloc.
1571
1572 2001-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
1573
1574 * pa.c (output_ascii): Cast `p' to unsigned char.
1575
1576 2001-11-30 Daniel Berlin <dan@cgsoftware.com>
1577
1578 * config/rs6000/rs6000.c (altivec_expand_builtin): add
1579 ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
1580 *_16qi,_8hi, rename existing V4SI ones to *_4si.
1581 (altivec_init_builtins): Ditto.
1582 (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
1583
1584 * config/rs6000/rs6000.md: Add attribute types vecsimple,
1585 veccomplex, vecfloat, and vecperm, for altivec instructions.
1586 Modify altivec patterns to use appropriate attribute type.
1587 Modify altivec patterns to match RTL operations where appropriate
1588 (IE no unspec where we can avoid it).
1589 Add vector unit scheduling for ppc7450.
1590 Rename patterns to what they are where appropriate
1591 (altivec_vaddfp->addv4sf3, etc)
1592
1593 * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
1594 Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
1595
1596 * config/rs6000/sysv4.h: Add -mcpu=7450.
1597
1598 * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
1599 _builtin_altivec_ld_interal function.
1600
1601 2001-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1602
1603 * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
1604 strchr, strrchr, isascii, gettimeofday.
1605 * config.in, configure: Regenerate.
1606
1607 2001-11-30 Zoltan Hidvegi <hzoli@hzoli.2y.net>
1608
1609 * unroll.c (unroll_loop): Correct special exit cases.
1610
1611 2001-11-30 Stephane Carrez <Stephane.Carrez@sun.com>
1612
1613 * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
1614 accept DFmode and DImode only.
1615
1616 2001-11-30 Aldy Hernandez <aldyh@redhat.com>
1617
1618 * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
1619 (STACK_DYNAMIC_OFFSET): Same.
1620
1621 2001-11-30 Richard Henderson <rth@redhat.com>
1622
1623 * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
1624
1625 2001-11-30 Aldy Hernandez <aldyh@redhat.com>
1626
1627 * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
1628 (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
1629 the values in call_used_registers.
1630
1631 Fri Nov 30 12:48:26 2001 Jeffrey A Law (law@cygnus.com)
1632
1633 * gthr-dce.h: If _DCE_THREADS is not defined, then just include
1634 gthr-single.
1635
1636 2001-11-30 Jason Merrill <jason@redhat.com>
1637
1638 * dwarf2out.c (is_cxx): New fn.
1639 (add_data_member_location_attribute): Check it.
1640 * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
1641
1642 Fri Nov 30 08:26:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1643
1644 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
1645
1646 2001-11-30 Daniel Berlin <dan@cgsoftware.com>
1647
1648 * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
1649 MODE_VECTOR_FLOAT as allowed.
1650
1651 2001-11-29 Zack Weinberg <zack@codesourcery.com>
1652
1653 Purge cruft now we have build libiberty.
1654
1655 * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
1656 HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
1657 USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
1658 USE_HOST_STRSTR): Delete variables.
1659 (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
1660 hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
1661 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
1662 $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
1663 (LIBIBERTY, BUILD_LIBIBERTY): New variables.
1664 (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
1665 (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
1666 (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
1667 (HOST_LIBS): Ditto.
1668 (HOST_RTL): Remove hashtab.o safe-ctype.o.
1669 (OBJS): Remove splay-tree.o.
1670 (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
1671 (distclean): No need to delete splay-tree.c obstack.c
1672 hashtab.c safe-ctype.c.
1673 (mostlyclean): Delete build copies of print-rtl.c bitmap.c
1674 errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
1675 * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
1676 Delete.
1677 * configure.in: Don't use them.
1678 Set and substitute @FORBUILD@.
1679 * config.in, configure: Regenerate.
1680 * doprint.c: Move to libiberty/_doprnt.c.
1681 * doc/configterms.texi: Document that libiberty is now built
1682 up to three times. Fix typo.
1683
1684 2001-11-30 Jason Merrill <jason@redhat.com>
1685
1686 * dwarf2out.c (add_data_member_location_attribute): Do the
1687 right thing for virtual bases.
1688 * dbxout.c (dbxout_type): For a virtual base, print the offset
1689 within the vtable.
1690
1691 2001-11-29 Zoltan Hidvegi <hzoli@hzoli.2y.net>
1692
1693 * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
1694
1695 2001-11-29 Aldy Hernandez <aldyh@redhat.com>
1696
1697 * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
1698 go in memory.
1699 Remove unused attribute for named.
1700
1701 2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1702
1703 * genattrtab.c (attr_rtx_1): New function containing the
1704 majority of `attr_rtx'. Move variable declarations into the
1705 scope where they are used. Eliminate unnecessary gotos.
1706 (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
1707 VA_FIXEDARG, and VA_CLOSE.
1708
1709 2001-11-30 Hans-Peter Nilsson <hp@axis.com>
1710
1711 * config/cris/cris.c (cris_notice_update_cc): Check first
1712 destination also against overlap with cc_status.value2 and second
1713 destination against overlap with cc_status.value1. For overlaps,
1714 clear overlapped value, don't just CC_STATUS_INIT.
1715
1716 * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
1717 Fix typo in comment.
1718 (LINK_SPEC): Remove whitespace at end of line.
1719
1720 2001-11-29 Jakub Jelinek <jakub@redhat.com>
1721
1722 * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
1723
1724 2001-11-29 Jakub Jelinek <jakub@redhat.com>
1725
1726 * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
1727 macros for the supported debugging types.
1728
1729 2001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>
1730
1731 PR other/4932
1732 * config/i386/i386.c (print_operand): Verify that the
1733 argument to %c is a constant and not a conditional which
1734 needs to be reversed.
1735
1736 Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com)
1737
1738 * emit-rtl.c (gen_lowpart_common): Fix conversion of
1739 REAL_VALUE_TYPEs to an array of target integers. Fix extraction
1740 of low part of those arrays for 32bit and 64bit hosts.
1741
1742 2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1743
1744 * Makefile.in (insn-output.o): Depend on insn-codes.h.
1745
1746 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
1747
1748 * configure.in (target_list): Add generated-manpages.
1749 * configure: Regenerate.
1750 * Makefile.in (generated-manpages): Depend on
1751 lang.generated-manpages.
1752 * objc/Make-lang.in (objc.generated-manpages): New dummy target.
1753
1754 2001-11-29 Nick Clifton <nickc@cambridge.redhat.com>
1755
1756 * config/arm/crti.asm (_init): Add .thumb_func if compiled
1757 with -mthumb.
1758 (_fini): Add .thumb_func if compiled with -mthumb.
1759
1760 2001-11-28 Eric Christopher <echristo@redhat.com>
1761
1762 * config/mips/mips.c (override_options): Fix thinko in mips_tune
1763 for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
1764
1765 Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com)
1766
1767 * alpha.md (tablejump): Use pic_offset_table_rtx
1768 instead of gen_rtx_REG.
1769
1770 Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com)
1771
1772 * expr.c (store_expr): When copying a string constant into an
1773 array, reset the known alignment of the MEM for the section to
1774 be cleared to BITS_PER_UNIT.
1775
1776 2001-11-28 Hans-Peter Nilsson <hp@axis.com>
1777
1778 * config/cris/cris.c: Remove whitespace at end of line.
1779
1780 Wed Nov 28 14:51:23 2001 Douglas B. Rupp <rupp@gnat.com>
1781
1782 * config.gcc (i[34567]86-*-interix3*): New case.
1783 * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
1784 New files.
1785
1786 2001-11-28 Richard Henderson <rth@redhat.com>
1787
1788 * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
1789 symbolic_operand as the predicate.
1790
1791 2001-11-28 Richard Henderson <rth@redhat.com>
1792
1793 * doloop.c (doloop_modify_runtime): Properly select induction
1794 variable; skip late entry test if biv initializer created by loop.
1795
1796 Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1797
1798 * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
1799 EXPR_WITH_FILE_LOCATION, so change checks and documentation.
1800
1801 * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
1802
1803 * tree.h: Add missing checks on some macros; make formatting more
1804 consistent.
1805
1806 * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
1807 level; only add to pending_sizes if find it.
1808
1809 * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
1810
1811 * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
1812 Add casts to remove warnings.
1813
1814 * Makefile.in (OBJS): Sort alphabetically.
1815
1816 * print-rtl.c (print_rtx): If RTX code is bad, just say so.
1817 Also minor cleanups.
1818
1819 Wed Nov 28 06:52:27 2001 Arnaud Charlet <charlet@ACT-Europe.FR>
1820
1821 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
1822 (FLAGS_TO_PASS): Add STAGE_PREFIX.
1823 (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
1824 to STAGE_PREFIX.
1825
1826 Wed Nov 28 10:42:19 CET 2001 Jan Hubicka <jh@suse.cz>
1827
1828 * cse.c (true_dependence_in_rtx): New function.
1829 (invalidate): Use it.
1830
1831 * c-common.h (GOTO_FAKE_P): New macro.
1832 * tree-inline.c (GOTO_FAKE_P): Set.
1833 * c-tree.texi (GOTO_FAKE_P): Document.
1834
1835 * varasm.c (assemble_variable): Set reloc to 3 for error_mark
1836 containing pointers.
1837 (output_addressed_constants): Check for local/external relocations.
1838 * elfos.h (SELECT_SECTION): Classify data section.
1839 * tm.texi (SELECT_SECTION): Update documentation.
1840
1841 * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
1842 (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
1843
1844 2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1845
1846 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1847 UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
1848 OBJECT_FORMAT_ROSE.
1849
1850 2001-11-28 Hans-Peter Nilsson <hp@axis.com>
1851
1852 * config/cris/cris.c: Tweak spacing for prototypes.
1853 (LOSE_AND_RETURN): New macro.
1854 (cris_operand_lossage): New function.
1855 (cris_print_index, cris_print_base): Use cris_operand_lossage
1856 rather than fatal_insn.
1857 (cris_print_operand, cris_print_operand_address): Use
1858 LOSE_AND_RETURN rather than fatal_insn and internal_error.
1859 (cris_output_addr_const): Use LOSE_AND_RETURN and
1860 output_operand_lossage rather than fatal_insn and internal_error
1861 for valid but unexpected rtx expressions.
1862
1863 * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
1864 for a SUBREG in src or dest, abort instead.
1865
1866 2001-11-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1867
1868 * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
1869 doc.
1870
1871 2001-11-27 Jakub Jelinek <jakub@redhat.com>
1872
1873 * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
1874 preprocessor define. If only DBX_DEBUGGING_INFO or only
1875 DWARF2_DEBUGGING_INFO is supported for the target, provide
1876 appropriate definitions.
1877
1878 2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
1879
1880 * Makefile.in: Update, and add c-objc-common.o dependencies.
1881 * c-lang.c: Remove unnecessary includes.
1882 (c_init): Move bulk of code to c_objc_common_init, and call it.
1883 (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
1884 inline_forbidden_p, c_cannot_inline_tree_fn): Move to
1885 c-objc-common.c.
1886 * c-objc-common.c: New. Mostly pulled from c-lang.c.
1887 * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
1888 c_objc_common_init, c_missing_noreturn_ok_p): New.
1889 * toplev.c: Update comment.
1890 * doc/passes.texi: Update.
1891 objc:
1892 * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
1893 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
1894 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
1895 (objc_init): Update to use c_objc_common_init.
1896
1897 2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
1898
1899 * cpphash.c (_cpp_init_hashtable): Update.
1900 * cpphash.h (struct spec_nodes): Remove n_L.
1901 * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
1902
1903 2001-11-17 Richard Henderson <rth@redhat.com>
1904
1905 * unroll.c (loop_iterations): Move last change ...
1906 * doloop.c (doloop_modify_runtime): ... here.
1907
1908 2001-11-17 Corey Minyard <minyard@acm.org>
1909 Richard Henderson <rth@redhat.com>
1910
1911 * unroll.c (loop_iterations): Detect one situation in which we
1912 overestimate the number of iterations.
1913
1914 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1915
1916 * gcc.c (set_input): Export.
1917 Move declaration ...
1918 gcc.h (set_input): ... here.
1919
1920 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1921
1922 * gcc.c (set_collect_gcc_options): New function, split out from
1923 main.
1924 Ignore elided switches.
1925 (do_spec): Invoke before executing command.
1926 (do_spec_1): Likewise.
1927 Fixes PR other/3968.
1928
1929 2001-11-27 Hans-Peter Nilsson <hp@axis.com>
1930
1931 * config/cris/cris.h (INT_ASM_OP): Remove.
1932
1933 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1934
1935 * config/i386/sol2.h (WINT_TYPE): Redefine.
1936 (WINT_TYPE_SIZE): Likewise.
1937
1938 2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1939
1940 * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
1941 (dup2): Make static and add prototype.
1942 * m68k/plexus.h: Don't define NO_DUP2.
1943 * configure.in (AC_CHECK_FUNCS): Add dup2.
1944 * config.in, configure: Regenerate.
1945
1946 * ia64/aix.h (REG_SIZE): Don't #undef.
1947 * sparc.h (REG_SIZE): Delete.
1948 * flow.c (mark_used_regs): Don't use REG_SIZE.
1949 * regs.h (REG_SIZE): Delete.
1950
1951 2001-11-27 Andreas Schwab <schwab@suse.de>
1952
1953 * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
1954 PREFERRED_DEBUGGING_TYPE.
1955
1956 Tue Nov 27 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1957
1958 * Makefile.in (c-lang.o): Depends on langhooks-def.h.
1959 (expr.o, varasm.o): Depends on langhooks.h.
1960 * c-common.c (c_safe_from_p): Always declare.
1961 (c_expand_expr): Refine when declared.
1962 * c-lang.c (c-common.h): Now include.
1963 (LANG_HOOKS_SAFE_FROM_P): Define new hook.
1964 (c_init): Don't set lang_safe_from_expr.
1965 * expr.c (langhooks.h): Now include.
1966 (lang_safe_from_p): No longer define.
1967 (safe_from_p): Use lang hook.
1968 (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
1969 (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
1970 * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
1971 * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
1972 (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
1973 * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
1974 * langhooks.h (struct lang_hooks): New fields expand_constant
1975 and safe_from_p.
1976 * output.h (output_constant): Size arg is HOST_WIDE_INT.
1977 * stmt.c (expand_decl_init): No longer need to expand constant
1978 for CONST_DECL.
1979 * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
1980 * toplev.c (lang_expand_constant): Delete var.
1981 * tree.c (save_expr): Don't put another SAVE_EXPR around simple
1982 operations on SAVE_EXPR.
1983 * varasm.c (langhooks.h): Now include.
1984 (compare_constant_1): Use lang_hooks, not lang_expand_constant.
1985 (record_constant_1, output_addressed_constants): Likewise.
1986 (initializer_constant_valid_p, output_constant): Likewise.
1987 (output_constant_def): Process no-defer of string constant.
1988 (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
1989 (output_constant): Strip more conversions.
1990 Track our size and pad for the rest.
1991 (array_size_for_constructor): Remove code for non-byte STRING_CST.
1992 (output_constructor): SIZE now HOST_WIDE_INT.
1993
1994 2001-11-27 Richard Henderson <rth@redhat.com>
1995
1996 * ifcvt.c (noce_try_store_flag_constants): Test for overflow
1997 in computing DIFF.
1998
1999 2001-11-27 Zack Weinberg <zack@codesourcery.com>
2000
2001 * cppfiles.c (read_include_file): Add comment.
2002
2003 2001-11-26 Richard Henderson <rth@redhat.com>
2004
2005 * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
2006
2007 2001-11-26 Richard Henderson <rth@redhat.com>
2008
2009 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
2010 * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
2011 commented out override.
2012
2013 2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
2014
2015 * cppfiles.c (stack_include_file): Don't optimize zero-length
2016 files.
2017 (read_include_file): NUL-terminate read files.
2018 * cpplex.c (handle_newline, skip_escaped_newlines,
2019 get_effective_char, skip_whitespace, parse_identifier,
2020 parse_identifier_slow, parse_number, parse_string,
2021 _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
2022 NUL-terminated.
2023 * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
2024 Be sure buffers are NUL terminated.
2025 * cppmacro.c (warn_of_redefinition): Kill compile warning.
2026
2027 2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
2028
2029 * c-common.c: Include tree-inline.h.
2030 (c_language): Move separate definitions here.
2031 (c_common_init_options, c_common_post_options): New.
2032 (c_common_lang_init): Rename c_common_init.
2033 * c-common.h (c_common_lang_init): Similarly.
2034 (c_common_init_options, c_common_post_options): New.
2035 * c-lang.c (c_post_options): Move body to c_common_post_options.
2036 (c_init_options): Use c_common_init_options.
2037 (c_init): Update.
2038 * langhooks.def: Rearrange.
2039 * langhooks.h: Rearrange, and improve comments.
2040 * toplev.c (do_compile): New function.
2041 (toplev_main): Use it.
2042 (lang_independent_f_options, parse_options_and_default_flags,
2043 process_options): Remove trailing periods.
2044 * Makefile.in: Update.
2045 objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
2046 functions.
2047 (ojbc_init): Update.
2048
2049 2001-11-26 Richard Henderson <rth@redhat.com>
2050
2051 * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
2052
2053 2001-11-26 DJ Delorie <dj@redhat.com>
2054
2055 * expr.c (store_constructor): Actually use the value computed
2056 if WORD_REGISTER_OPERATIONS.
2057
2058 2001-11-26 Richard Henderson <rth@redhat.com>
2059
2060 * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
2061 for CONSTRUCTOR.
2062
2063 2001-11-26 David Edelsohn <edelsohn@gnu.org>
2064
2065 * rs6000.c (output_mi_thunk): Handle minimal-toc and call
2066 correct function on AIX.
2067
2068 2001-11-26 Alexandre Oliva <aoliva@redhat.com>
2069
2070 * toplev.c (process_options): Don't force
2071 flag_optimize_sibling_calls to zero just because exceptions are
2072 enabled.
2073
2074 Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com)
2075
2076 * df.h (transfer_function_sbitmap): Use PARAMS around argument
2077 list in function prototypes.
2078 (transfer_function_bitmap): Likewise.
2079
2080 2001-11-26 Loren J. Rittle <ljrittle@acm.org>
2081
2082 * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
2083 * config/i386/netbsd-elf.h: Likewise.
2084
2085 2001-11-26 David Edelsohn <edelsohn@gnu.org>
2086
2087 * doc/trouble.texi: Remove outdated RS/6000 comments.
2088
2089 Mon Nov 26 13:49:41 CET 2001 Jan Hubicka <jh@suse.cz>
2090
2091 * final.c (walk_alter_subreg): Fix return value.
2092
2093 Mon Nov 26 11:36:20 CET 2001 Jan Hubicka <jh@suse.cz>
2094
2095 * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
2096 alter_subreg.
2097 * sparc.md (post-reload splitters): Do not call alter_subreg.
2098 * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
2099
2100 2001-11-25 Aldy Hernandez <aldyh@redhat.com>
2101
2102 * regclass.c (choose_hard_reg_mode): Handle vector arguments.
2103
2104 2001-11-26 Alan Modra <amodra@bigpond.net.au>
2105
2106 * final.c: (insn_lengths): Make it an int *, so that large jump
2107 tables don't overflow.
2108
2109 2001-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
2110
2111 * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
2112 (format_types): Use it for scanf.
2113 (dollar_arguments_pointer_p): New.
2114 (init_dollar_format_checking): Store details of which arguments
2115 are pointers.
2116 (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
2117 (finish_dollar_format_checking): Take extra parameter
2118 pointer_gap_ok. Treat unused arguments differently if
2119 pointer_gap_ok and the unused arguments are pointers.
2120 (check_format_info_main): Pass extra argument to
2121 finish_dollar_format_checking.
2122 * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
2123 unused arguments are present between used arguments with operand
2124 numbers.
2125
2126 2001-11-25 Daniel Berlin <dan@cgsoftware.com>
2127
2128 * df.c: Add prototypes for hybrid_search_bitmap and
2129 hybrid_search_sbitmap.
2130 (hybrid_search_bitmap): New function.
2131 (hybrid_search_sbitmap): New function.
2132 (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
2133 (iterative_dataflow_bitmap): Ditto.
2134
2135 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2136
2137 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2138 address computations.
2139
2140 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2141
2142 * config/m68hc11/m68hc11.c (d_register_operand): Must accept
2143 register b (low part of d).
2144
2145 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2146
2147 * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
2148 passed to mcount.
2149
2150 Sun Nov 25 06:22:09 2001 Douglas B. Rupp <rupp@gnat.com>
2151
2152 * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
2153 * config/alpha/x-vms: New file, to compile the above.
2154 * config.gcc (alpha*-dec-vms*): Add x-vms.
2155
2156 2001-11-24 Hans-Peter Nilsson <hp@axis.com>
2157
2158 * genextract.c (main): Set ro_loc for peepholes.
2159
2160 Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
2161
2162 * fix-header.c (main): Move inf_buffer termination and inf_limit
2163 calculation to after read.
2164
2165 * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
2166 (__UNIX_FOPEN): Define.
2167
2168 Sat Nov 24 16:11:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2169
2170 * function.c (assign_stack_temp_for_type): Clear alias set before
2171 setting new one.
2172
2173 2001-11-23 David Edelsohn <edelsohn@gnu.org>
2174
2175 * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
2176 format.
2177 * rs6000.md (cmptf): Fix typo.
2178
2179 2001-11-23 Richard Sandiford <rsandifo@redhat.com>
2180
2181 * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
2182 * varasm.c (output_constructor): Use assemble_integer rather
2183 than ASM_OUTPUT_BYTE.
2184
2185 2001-11-23 Andreas Jaeger <aj@suse.de>
2186
2187 * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
2188 extension.
2189
2190 2001-11-23 Nick Clifton <nickc@cambridge.redhat.com>
2191
2192 * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
2193 default definition.
2194 (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
2195 (MULTILIB_DEFAULTS): Remove previous definition.
2196
2197 2001-11-23 Neil Booth <neil@daikokuya.demon.co.uk>
2198
2199 * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
2200 * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
2201
2202 2001-11-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2203
2204 * cris.h: Revert thinko in last patch.
2205
2206 2001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
2207
2208 * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
2209 FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
2210 cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
2211 dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
2212 explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
2213 sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
2214
2215 * predict.c, reg-stack.c: Fix spelling errors.
2216
2217 2001-10-09 Andrew Haley <aph@redhat.com>
2218
2219 * calls.c (check_sibcall_argument_overlap): Use slot_offset for
2220 start of stack slot.
2221
2222 2001-11-22 Graham Stott <grahams@redhat.com>
2223
2224 * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
2225 replacement jump after original jump.
2226
2227 (verify_flow_info): Remove redundent initialisation.
2228 Handle reaching end of insn list before finding a BARRIER.
2229 Only issue one missing barrier diagnostic.
2230
2231 2001-11-22 Graham Stott <grahams@redhat.com>
2232
2233 * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
2234
2235 Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2236
2237 * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
2238 insn actually does.
2239
2240 2001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
2241
2242 * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
2243 Fix typo -mm32rx=> -m32rx.
2244
2245 * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
2246 targets.
2247
2248 * config.gcc (xscale-coff): Add necessary header files to
2249 tm_file variable.
2250
2251 2001-11-20 Zack Weinberg <zack@codesourcery.com>
2252
2253 * rs6000.c (output_cbranch): Use $, not %$, in output template.
2254
2255 2001-11-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2256
2257 * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
2258 (lang_type_quals): Declare.
2259 (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
2260 retrieve language-specific qualifiers for a type node, instead of
2261 C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
2262 lang_dump_tree.
2263 * tree-dump.h: Rename from c-dump.h.
2264 * c-common.h (C_TYPE_QUALS): Removed.
2265 Move declarations for tree-dump.c interface to...
2266 * tree.h: ... here. Remove lang_dump_tree.
2267 * langhooks.h (struct lang_hooks_for_tree_dump): New.
2268 (struct lang_hooks): Add tree_dump hooks.
2269 * langhooks.c (lhd_tree_dump_dump_tree): New function.
2270 (lhd_tree_dump_type_quals): New function.
2271 * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
2272 Declare.
2273 (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
2274 * Makefile.in: Move tree-dump.o to language-independent back-end.
2275
2276 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2277
2278 * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
2279 * alpha.h (DBX_REGISTER_NUMBER): Likewise.
2280 * arc.h (DBX_REGISTER_NUMBER): Likewise.
2281 * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
2282 * avr.h (DBX_REGISTER_NUMBER): Likewise.
2283 * c4x.h (DBX_REGISTER_NUMBER): Likewise.
2284 * clipper.h (DBX_REGISTER_NUMBER): Likewise.
2285 * convex.h (DBX_REGISTER_NUMBER): Likewise.
2286 * cris.h (DBX_REGISTER_NUMBER): Likewise.
2287 * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
2288 * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
2289 * fr30.h (DBX_REGISTER_NUMBER): Likewise.
2290 * h8300.h (DBX_REGISTER_NUMBER): Likewise.
2291 * i370.h (DBX_REGISTER_NUMBER): Likewise.
2292 * i860.h (DBX_REGISTER_NUMBER): Likewise.
2293 * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
2294 * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
2295 * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2296 * m32r.h (DBX_REGISTER_NUMBER): Likewise.
2297 * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
2298 * m88k.h (DBX_REGISTER_NUMBER): Likewise.
2299 * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
2300 * mcore.h (DBX_REGISTER_NUMBER): Likewise.
2301 * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
2302 * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
2303 * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
2304 * romp.h (DBX_REGISTER_NUMBER): Likewise.
2305 * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
2306 * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2307 * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
2308 * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
2309 * v850.h (DBX_REGISTER_NUMBER): Likewise.
2310 * vax.h (DBX_REGISTER_NUMBER): Likewise.
2311 * we32k.h (DBX_REGISTER_NUMBER): Likewise.
2312
2313 * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
2314 * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
2315
2316 2001-11-21 H.J. Lu <hjl@gnu.org>
2317
2318 * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
2319
2320 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2321
2322 * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
2323 emit_cmp_and_jump_insns.
2324
2325 * stormy16.c (xstormy16_expand_builtin_va_arg,
2326 xstormy16_expand_casesi): Likewise.
2327
2328 Wed Nov 21 17:37:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2329
2330 * function.c (keep_stack_depressed): Major rework.
2331 (handle_epilogue_set, emit_equiv_load): New functions.
2332 (thread_prologue_and_epilogue_insns): keep_stack_depressed now
2333 has return value.
2334 * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
2335 * rtl.h (SET_IS_RETURN_P): New macro.
2336
2337 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
2338 and also support TREE_ADDRESSABLE.
2339 * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
2340
2341 2001-11-21 David Edelsohn <edelsohn@gnu.org>
2342
2343 * rs6000.md (cmptf_internal1): Replace %$ with $.
2344
2345 Wed Nov 21 16:44:01 2001 Douglas B. Rupp <rupp@gnat.com>
2346
2347 * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
2348 (read_include_file): Use STAT_SIZE_TOO_BIG.
2349
2350 * cppinit.c (INO_T_COPY): Define.
2351 (INO_T_EQ): Uppercase parameters.
2352 (append_include_chain): Use INO_T_COPY.
2353
2354 2001-11-21 Richard Sandiford <rsandifo@redhat.com>
2355
2356 * cfg.c: Fix typos and formatting in the introductory comment.
2357
2358 Wed Nov 21 12:38:37 CET 2001 Jan Hubicka
2359
2360 * profile.c (compute_branch_probabilites): Compute probabilities
2361 for entry/exit edges; estimate probabilities for zero counts.
2362
2363 2001-11-21 Jakub Jelinek <jakub@redhat.com>
2364
2365 * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
2366 to emit_library_call.
2367 * function.c (expand_main_function, expand_function_start,
2368 expand_function_end): Likewise.
2369 * profile.c (output_func_start_profiler): Likewise.
2370 * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
2371 second argument to emit_library_call.
2372 * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
2373 as second argument to emit_library_call.
2374 * calls.c (emit_library_call): Update fn_type description.
2375
2376 2001-11-21 Jakub Jelinek <jakub@redhat.com>
2377
2378 * c-decl.c (c_expand_deferred_function): Only call c_expand_body
2379 if fndecl is still DECL_INLINE and has DECL_RESULT.
2380
2381 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2382
2383 * clipper.c (clipper_movstr): Avoid uninitialized warning.
2384 * i960.c (is_mask, legitimize_address): Likewise.
2385 * m88k.c (m88k_expand_prologue): Likewise.
2386 * m88k.md: Likewise.
2387 * mcore.c (emit_new_cond_insn): Likewise.
2388 * stormy16.c (xstormy16_emit_cbranch): Likewise.
2389
2390 2001-11-20 Zack Weinberg <zack@codesourcery.com>
2391
2392 * config.gcc: Delete powerpcle-*-solaris2* stanza.
2393 * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
2394 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
2395 config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
2396 config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
2397 config/rs6000/t-ppcos: Expunge all references to Solaris.
2398
2399 * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
2400
2401 * config/rs6000/rs6000.md: Replace '%$' with '$' in all
2402 output templates.
2403 * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
2404 and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
2405
2406 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2407
2408 * sh.md: Avoid uninitialized warnings.
2409 * vax.c (vax_rtx_cost): Likewise.
2410
2411 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
2412
2413 * rs6000.c (direct_return): Check if we are saving altivec
2414 registers.
2415 (first_altivec_reg_to_save): New.
2416 Updated stack frame layout comments.
2417 (rs6000_stack_info): Calculate altivec register save size.
2418 Save link register if we saved some altivec registers.
2419 (rs6000_stack_info): Align save size to 16 if altivec abi or
2420 abi_darwin.
2421 (rs6000_stack_info): Calculate altivec register offsets.
2422 (rs6000_stack_info): Add altivec info to save_size.
2423 (debug_stack_info): Add altivec debug info.
2424 (rs6000_emit_prologue): Save altivec registers and vrsave.
2425 (compute_vrsave_mask): New.
2426 (altivec_expand_builtin): Remove unused variables.
2427 (rs6000_parse_abi_options): Add static qualifier.
2428 (rs6000_expand_builtin): Remove unused parameters.
2429 (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
2430 (altivec_init_builtins): Same.
2431 (is_altivec_return_reg): New.
2432 (vrsave_operation): New.
2433 (ALTIVEC_REG_BIT): New.
2434 (generate_set_vrsave): New.
2435
2436 * rs6000.md (get_vrsave): New.
2437 (set_vrsave): New.
2438 (*set_vrsave_internal): New.
2439
2440 * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
2441 altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
2442 altivec_padding_size, vrsave_mask.
2443 (TOTAL_ALTIVEC_REGS): New.
2444 (EPILOGUE_USES): Add VRSAVE_REGNO.
2445
2446 2001-11-20 Jeff Law <law@redhat.com>
2447
2448 * unroll.c (copy_loop_body): Update LABEL_NUSES for the
2449 exit label as necessary.
2450
2451 2001-11-20 Brad Kaiser <bkaiser@acelink.net>
2452
2453 * reload1.c (elimination_effects): Use function_invariant_p
2454 instead of CONSTANT_P when considering register equivalences.
2455
2456 2001-11-20 David O'Brien <obrien@FreeBSD.org>
2457
2458 * config.gcc: Add FreeBSD/PowerPC target.
2459 (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
2460 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
2461 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
2462 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
2463 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
2464 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
2465 freebsd-spec.h to tm_file.
2466 (rs6000-*-lynxos*): Add lynx.h to tm_file.
2467 * config/freebsd.h: Tidy up.
2468 (USING_CONFIG_FREEBSD): Define.
2469 (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
2470 FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
2471 FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
2472 (TARGET_HAS_F_SETLKW): Define.
2473 (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
2474 * config/freebsd-spec.h: New file.
2475 * config/rs6000/freebsd.h: New file.
2476 * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
2477 * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
2478 USING_SVR4_H to know when to turn on ELF support.
2479 * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
2480 define only if not already defined.
2481 Add FreeBSD support.
2482 * config/rs6000/aix.h (TARGET_VERSION): Define.
2483 * config/rs6000/beos.h: Likewise.
2484 * config/rs6000/darwin.h: Likewise.
2485 * config/rs6000/mach.h: Likewise.
2486 * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
2487 Don't include lynx.h directly.
2488
2489 2001-11-20 Graham Stott <grahams@redhat.com>
2490
2491 * unwind-dw2-fde.c (__deregister_frame_info_bases):
2492 Fix lossage in last change return OB.
2493
2494 Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com>
2495
2496 * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
2497 Remove unneeded exit related macros.
2498
2499 2001-11-20 David Edelsohn <edelsohn@gnu.org>
2500
2501 * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
2502
2503 * rs6000.c (rs6000_emit_move): Add TFmode case.
2504 * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
2505 LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
2506 LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
2507 * rs6000.h: ... to here.
2508 * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
2509 trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
2510 fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
2511
2512 Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2513
2514 * emit-rtl.c (get_mem_attrs): Fix typo.
2515
2516 2001-11-20 Jakub Jelinek <jakub@redhat.com>
2517
2518 * c-lang.c (finish_file): Backout 2001-11-16
2519 changes, instead set DECL_DEFER_OUTPUT for static inline functions
2520 before calling c_expand_deferred_function.
2521
2522 2001-11-20 Jakub Jelinek <jakub@redhat.com>
2523
2524 * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
2525 Don't register empty .eh_frame sections.
2526 (__deregister_frame_info_bases, __deregister_frame): Don't
2527 unregister them either.
2528
2529 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
2530
2531 * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
2532 (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
2533 * configure: Regenerate.
2534 * config.in: Add dummy definitions of new flags.
2535 * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
2536 * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
2537 * gcc.c (ASM_DEBUG_SPEC): New macro.
2538 (asm_debug): New static variable.
2539 (default_compilers): Add asm_debug when assembling from
2540 user input.
2541 (static_specs): Add asm_debug.
2542
2543 2001-11-20 Loren J. Rittle <ljrittle@acm.org>
2544
2545 * config.gcc (*-*-freebsd*): Remove configuration block.
2546
2547 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
2548
2549 bootstrap/4422
2550 * configure.in: Setup ability to run ./stage[1234]/xgcc in
2551 fixinc *as if* it were a proper lang subdirectory.
2552 * configure: Rebuilt.
2553
2554 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
2555
2556 * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
2557
2558 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2559
2560 * 1750a.md: Don't use hex format for a const_int.
2561
2562 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
2563
2564 * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
2565
2566 2001-11-19 Zack Weinberg <zack@codesourcery.com>
2567
2568 * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
2569 defined (prevents link errors when gettext isn't in the system
2570 library).
2571
2572 2001-11-19 DJ Delorie <dj@redhat.com>
2573
2574 * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
2575 (validate_const_int): New.
2576 (read_rtx): Validate constant integers.
2577 * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
2578
2579 2001-11-19 Jakub Jelinek <jakub@redhat.com>
2580
2581 * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
2582
2583 Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
2584
2585 * toplev.c (DUMPFILE_FORMAT): Define default.
2586 (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
2587 (close_dump_file, compile_file): Likewise.
2588 * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
2589 * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
2590
2591 2001-11-19 Jeff Law <law@redhat.com>
2592
2593 * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
2594 a nop-jump.
2595
2596 2000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
2597
2598 * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
2599 Don't fall off the base token run.
2600
2601 2001-11-19 Jason Wilkins <fenix@io.com>
2602
2603 * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
2604
2605 Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2606
2607 * tree.def (VIEW_CONVERT_EXPR): New tree code.
2608 * tree.h (handled_component_p): New declaration.
2609 * alias.c (handled_component_p): Move function from here ...
2610 * expr.c (handled_component_p): ... to here and non longer static.
2611 (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
2612 (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
2613 (get_inner_reference): Handle VIEW_CONVERT_EXPR.
2614 (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
2615 (expand_expr, case VIEW_CONVERT_EXPR): New case.
2616 (expand_expr, cse ADDR_EXPR): No need to copy if already
2617 BIGGEST_ALIGNMENT.
2618 * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
2619 * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
2620 (output_constant): Handle VIEW_CONVERT_EXPR.
2621 * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
2622 Add new case for VIEW_CONVERT_EXPR.
2623
2624 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2625
2626 * a29k/unix.h (ASM_FILE_START): Const-ify.
2627 * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
2628 * i386/isc.h (ASM_FILE_START): Const-ify.
2629 * i386/sun386.h (ASM_FILE_START): Likewise.
2630 * m32r.md: Likewise.
2631 * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
2632 * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
2633 * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
2634 * mn10200.md: Initialize variable.
2635
2636 Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
2637
2638 * gcse.c (try_replace_reg): Copy RTX before creating note.
2639
2640 * df.h (df_ref_flags): New uenum.
2641 (DF_REF_FLAGS): New macro.
2642 (struct ref): Add field "flags".
2643 * df.c (HANDLE_SUBREG): Remove.
2644 (df_ref_create): Likewise; set flags field of ref.
2645 (df_def_record_1): Strip down read_write subreg; remove
2646 commented out code; set READ_WRITE flag.
2647 (read_modify_subreg_p): New static function.
2648 (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
2649 new argument "flags".
2650 (df_insn_refs_record): Update call of df_uses_record.
2651 (df_insn_modify): Avoid #if 0 around comment.
2652 (df_dump): Dump the read/write flag.
2653
2654 * predict.c (propagate_freq): Make cyclic_probability and frequency
2655 volatile
2656
2657 * i386.c (ix86_cc_mode): Accept USE.
2658
2659 * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
2660 jump is turned into simplejump.
2661
2662 2001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
2663
2664 * doc/fragments.texi, doc/trouble.texi: Remove links to old
2665 installation chapter.
2666 * doc/gcc.texi: Don't claim that this manual documents
2667 installation. Mark Installation menu entry as being out of date.
2668
2669 Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
2670
2671 * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
2672 (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
2673 * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
2674
2675 2001-11-19 Jason Merrill <jason@redhat.com>
2676
2677 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
2678 cur_token, not after.
2679
2680 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
2681 Lose ASM_OUTPUT_CONSTRUCTOR.
2682 * system.h: Poison it and INT_ASM_OP.
2683 * c-lang.c (finish_file): Don't check for it.
2684 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
2685
2686 2001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2687
2688 * mmix.c (mmix_cc1_ignored_option): Const-ify.
2689 (mmix_init_machine_status): Make static to match declaration.
2690 (mmix_unique_section): Const-ify.
2691 (mmix_output_quoted_string): Avoid automatic aggregate
2692 initialization.
2693 (mmix_output_register_setting): Likewise.
2694 (mmix_output_shiftvalue_op_from_str): Likewise.
2695
2696 * mmix.h (mmix_cc1_ignored_option): Const-ify.
2697 (ASM_OUTPUT_BYTE): Fix format specifier warning.
2698 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
2699
2700 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
2701
2702 PR c/4448
2703 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
2704 name __objc_thread_exit_status so that it matches the
2705 variable defined in objc/thr.h.
2706
2707 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
2708
2709 PR bootstrap/4020
2710 * mklibgcc.in: Add missing semi-colons.
2711 * Makefile.in: Same.
2712
2713 Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2714
2715 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
2716 after re-laying out decl in incomplete case.
2717 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
2718
2719 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
2720
2721 * doc/install-old.texi: Move some sections out to ...
2722 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
2723 ... here. New files. Make into chapters rather than sections.
2724 * doc/gcc.texi: Include the new files and add menu entries for
2725 them.
2726 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2727
2728 Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2729
2730 * tree.h (TYPE_ALIGN_OK): New flag.
2731 * emit-rtl.c (set_mem_attributes): Handle it.
2732 * expr.c (emit_single_push_insn): Only set to alias set 0 if
2733 doing sibcall optimization.
2734 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
2735 when make temporary.
2736 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
2737 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
2738
2739 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
2740
2741 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
2742
2743 * c-decl.c (c_decode_option): Give deprecation warning for
2744 -traditional.
2745 * doc/invoke.texi (-traditional): Note that this option is
2746 deprecated.
2747
2748 Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
2749
2750 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
2751 arg to HOST_WIDE_INT, not long.
2752
2753 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
2754 (HAS_INIT_SECTION): Define.
2755 (REAL_ARITHMETIC): Don't undefine.
2756
2757 2001-11-18 Egor Duda <deo@logos-m.ru>
2758
2759 * config/i386/cygwin.h: Strip leading '*' from name, if any.
2760
2761 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
2762
2763 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
2764 * c-common.c: Include diagnostic.h.
2765 (c_common_finish): New.
2766 * c-common.h (c_common_finish): New.
2767 * c-lang.c (LANG_HOOKS_FINISH): Override.
2768 * c-parse.in: Don't include diagnostic.h.
2769 (finish_parse): Remove.
2770 * langhooks.h: Update comments.
2771 * toplev.c (lang_dependent_init): New prototype.
2772 (finalize): New.
2773 (compile_file): Split cleanup code out to finalize.
2774 (lang_dependent_init): Stop if lang_hooks.init fails.
2775 (toplev_main): Update.
2776 * tree.h (finish_parse): Remove.
2777 objc:
2778 * objc-act.c (LANG_HOOKS_FINISH): Override.
2779
2780 Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
2781
2782 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
2783 * config/alpha/vms_tramp.asm: New file.
2784 * config/alpha/vms-tramp.asm: Removed.
2785
2786 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
2787
2788 * c-common.c (struct disabled_builtin, disabled_builtins,
2789 disable_builtin_function, builtin_function_disabled_p): New.
2790 (builtin_function_2): Check for disabled built-in functions.
2791 * c-common.h (disable_builtin_function): Declare.
2792 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
2793 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
2794 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
2795
2796 2001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
2797
2798 PR target/4606
2799 * config.gcc: Remove reference to va-clipper.h.
2800
2801 2001-11-17 Stan Shebs <shebs@apple.com>
2802
2803 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
2804 AltiVec-related bitfields.
2805
2806 Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2807
2808 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
2809 (mark_eh_region, case ERT_UKNONW): New case.
2810
2811 2001-11-17 Christopher Faylor <cgf@redhat.com>
2812 Corinna Vinschen <vinschen@redhat.com>
2813
2814 * config/i386/cygwin.h: Search target specific include directory for
2815 w32api stuff, if appropriate.
2816
2817 Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
2818
2819 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
2820
2821 2001-11-16 Aldy Hernandez <aldyh@redhat.com>
2822
2823 * config/rs6000/rs6000.md: Change all ldvx to lvx.
2824
2825 2001-11-16 Alexandre Oliva <aoliva@redhat.com>
2826
2827 * gensupport.c (process_rtx): Don't assume filename is the first
2828 argument of any rtl.
2829
2830 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
2831
2832 * vax-protos.h (reg_was_0_p): New prototype.
2833 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
2834 * vax.c (follows_p, reg_was_0_p): New functions.
2835
2836 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
2837
2838 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
2839 (casesi1): Likewise. Define new pattern which arises by simplification
2840 when operand 1 is a constant int. Correct pattern which arises by
2841 simplification when operand 1 is zero.
2842
2843 2001-11-16 David O'Brien <obrien@FreeBSD.org>
2844
2845 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
2846 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
2847 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
2848 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
2849 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
2850 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
2851 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
2852 * config/arm/aof.h: Don't include arm.h.
2853 * config/arm/aout.h: Likewise.
2854 * config/arm/coff.h: Don't include semi.h and aout.h.
2855 * config/arm/elf.h: Don't include aout.h.
2856 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
2857 (TARGET_VERSION): Undef before defining.
2858 (ARM_OS_NAME): Likewise
2859 (TARGET_DEFAULT): Likewise
2860 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
2861 * config/arm/pe.h: Don't include arm/coff.h.
2862 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
2863 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
2864 * config/arm/riscix1-1.h: Likewise.
2865 * config/arm/rix-gas.h: Don't include riscix.h.
2866 (DBX_CONTIN_LENGTH): Undef before defining.
2867 * config/arm/semi.h: Don't include aout.h.
2868 * config/arm/semiaof.h: Don't include aof.h.
2869 * config/arm/strongarm-coff.h: Don't include coff.h.
2870 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
2871 * config/arm/vxarm.h: Don't include arm/coff.h.
2872 * config/arm/xscale-coff.h: Don't include coff.h.
2873
2874 Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2875
2876 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
2877 emit_cmp_insn.
2878
2879 2001-11-16 Andreas Jaeger <aj@suse.de>
2880
2881 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
2882 to ....
2883 (fixup_fallthru_exit_predecessor): ... this.
2884 Change callers and prototype.
2885
2886 2001-11-16 Bernd Schmidt <bernds@redhat.com>
2887
2888 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
2889 hand; don't use gen_setcc_2.
2890 (ix86_expand_builtin): Fix pshufw.
2891 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
2892 case UNORDERED to emit the right assembler instruction.
2893 (mmx_pshufw): Lose operand 2.
2894 (cvtsi2ss): Fix representation.
2895 From Graham Stott:
2896 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
2897
2898 2001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
2899
2900 * doc/include/linux-and-gnu.texi: Remove.
2901 * doc/gnu.texi: New.
2902 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
2903 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
2904
2905 2001-11-16 Kazu Hirata <kazu@hxi.com>
2906
2907 * config/a29k/a29k.c: Fix comment formatting.
2908 * config/a29k/a29k.h: Likewise.
2909 * config/arc/arc.c: Likewise.
2910 * config/arc/arc.h: Likewise.
2911 * config/vax/vax.c: Likewise.
2912 * config/vax/vax.h: Likewise.
2913 * config/we32k/we32k.c: Likewise.
2914 * config/we32k/we32k.h: Likewise.
2915
2916 2001-11-16 Jeff Law <law@redhat.com>
2917
2918 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
2919 creating a new jump insn.
2920
2921 Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2922
2923 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
2924 copy misaligned data.
2925 * varasm.c (assemble_variable): Set alignment into MEM when changed.
2926
2927 2001-11-16 Graham Stott <grahams@redhat.com>
2928
2929 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
2930 OPALIGN type.
2931
2932 2001-11-16 Olivier Hainque <hainque@act-europe.fr>
2933
2934 * except.c: Support for catching a list of types with a single handler
2935 (struct eh_region): Change type and filter to lists for catch regions.
2936 (mark_eh_region): Mark the filter list for GC also.
2937 (expand_start_catch): Always build a list if argument not NULL and
2938 register each type of the list through add_type_for_runtime.
2939 (duplicate_eh_region_1): Change type into type_list for catch regions.
2940 (assign_filter_values): Assign a filter to each type associated with a
2941 catch region. Assign filter for NULL types in a unique entry in the
2942 filter list.
2943 (build_post_landing_pads): Emit compare and jump for each filter of
2944 the list associated with a catch region.
2945 (reachable_next_level): When the type thrown is known, stop the search
2946 as soon as one type within a catch list matches. Also, a handler is
2947 potentially reachable only if at least one of the types it catches
2948 has not been previously caught.
2949 (collect_one_action_chain): Retrieve the filter for a NULL type list
2950 from the first filter list entry. For non NULL type lists, add an
2951 action record for every filter assigned.
2952 * except.h: Reflect changes in comment before expand_start_catch.
2953
2954 Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2955
2956 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
2957 BLKmode.
2958
2959 Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
2960
2961 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
2962
2963 2001-11-16 Jakub Jelinek <jakub@redhat.com>
2964
2965 * c-lang.c (finish_file): Don't emit static inline functions if
2966 they weren't referenced.
2967
2968 2001-11-15 Stan Shebs <shebs@apple.com>
2969
2970 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
2971
2972 2001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2973
2974 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
2975 call.
2976 * config/i386/i386.md: Likewise.
2977
2978 Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2979
2980 * timevar.c (rtl.h): Include so get fancy abort.
2981
2982 2001-11-15 Dale Johannesen <dalej@apple.com>
2983
2984 * config/darwin.h (SELECT_RTX_SECTION): Force address
2985 initializers into 'const' section
2986 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
2987 if_then_else to match result, not operands
2988
2989 Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2990
2991 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
2992 * emit-rtl.c (change_address): Fix typo in default alignment.
2993 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
2994 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
2995 * rtl.h (REGNO_PTR_FRAME_P): New macro.
2996
2997 * expr.c (store_field): Pass tree instead of max size; callers changed.
2998 Change handling of alignment.
2999 Only copy to_rtx if is TARGET.
3000 (expand_expr_unaligned): Delete; callers now use expand_expr.
3001 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
3002 (expand_assignment): Change handling of alignment.
3003 Only copy to_rtx if was original.
3004 (get_inner_reference): No longer return alginment; callers changed.
3005 (expand_expr, case COMPONENT_REF): Change handling of alignment.
3006 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
3007 (compare_from_rtx): Delete ALIGN parm; all callers changed.
3008 (do_compare_rtx_and_jump): Likewise.
3009 * expr.h: Reflect above changes.
3010 * tree.h: Likewise.
3011 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
3012 to get_inner_reference.
3013 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
3014 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
3015 * optabs.c: Likewise.
3016 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
3017 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
3018 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
3019 compare_rtx_and_jump, and emit_cmp_jump_insns.
3020 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
3021 * function.c (assign_stack_temp_for_type): No longer static.
3022 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
3023 (prepare_cmp_insn): Delete declaration.
3024 * rtl.h (assign_stack_temp_for_type): Add declaration.
3025 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
3026 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
3027 * config/i386/i386.c,config/mips/mips.c: Likewise.
3028 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
3029 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
3030
3031 2001-11-15 Stan Shebs <shebs@apple.com>
3032
3033 * config/rs6000/rs6000.h: Fix a comment typo.
3034 (RTX_COSTS): Sort processor versions better.
3035
3036 2001-11-15 Kazu Hirata <kazu@hxi.com>
3037
3038 * config/h8300/h8300.md: Fix insn length of bit insns.
3039
3040 2001-11-15 Jason Merrill <jason@redhat.com>
3041
3042 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
3043 DIEs if there were errors in the source.
3044
3045 * config/alpha/alpha-interix.h, config/alpha/elf.h,
3046 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
3047 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
3048 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
3049 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
3050 config/elfos.h, config/lynx.h, config/netware.h,
3051 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
3052 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
3053 uses to use ASM_LONG.
3054
3055 2001-11-15 Alan Matsuoka <alanm@redhat.com>
3056
3057 * gensupport.c process_include : Change call to alloca to
3058 xmalloc.
3059
3060 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
3061
3062 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
3063 templates.
3064
3065 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3066
3067 * final.c (alter_subreg): If simplify_subreg can't do anything,
3068 handle REG ourselves and abort for others.
3069
3070 2001-11-15 Richard Hodson <hodsonr@dionecorp.com>
3071
3072 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
3073 routines.
3074
3075 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
3076
3077 * fix-header.c (read_scan_file): Update.
3078
3079 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3080
3081 * toplev.c (toplev_main): Don't start timing until after
3082 command-line options are parsed.
3083
3084 2001-11-15 Andreas Schwab <schwab@suse.de>
3085
3086 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
3087 makefile frag, not host makefile frag.
3088 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
3089 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
3090 used.
3091 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
3092 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
3093 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
3094 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
3095 * config/i386/t-dgux (STMP_FIXPROTO): Define.
3096 * config/x-interix: Don't define STMP_FIXPROTO and
3097 FIXPROTO_DEFINES.
3098 * config/t-interix: New file, define STMP_FIXPROTO.
3099 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
3100 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
3101 * config/t-svr4 (FIXPROTO_DEFINES): Define.
3102 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
3103 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
3104 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
3105 * config/m68k/t-hp3200: Renamed from x-hp3200.
3106 * config/i370/t-oe: Renamed from x-oe.
3107 * config/mips/t-iris: Renamed from x-iris.
3108 * config/pa/t-bsd: Renamed from x-pa.
3109 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
3110 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
3111 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
3112 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
3113 config/rs6000/x-cygwin: Remove files.
3114
3115 * configure.in: Check for target objdump and use that in eh_frame
3116 optimization test.
3117 * configure: Regenerated.
3118
3119 2001-11-15 Jakub Jelinek <jakub@redhat.com>
3120
3121 * jump.c (squeeze_notes): Return true if no real insns were found.
3122 * rtl.h (squeeze_notes): Adjust prototype.
3123 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
3124 squeeze_notes finds no real instructions, abort.
3125 (merge_blocks_move_successor_nojumps): Likewise.
3126 * loop.c (find_and_verify_loops): Likewise.
3127 * stmt.c (expand_end_case): Likewise.
3128 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
3129 find any real instructions.
3130
3131 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
3132
3133 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
3134 conditional jump, request updating life into for the block
3135 containing it. Fix a typo which prevented life info update.
3136 Clear blocks bitmap before using it.
3137
3138 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
3139
3140 * c-common.c: Include c-lex.h.
3141 (c_common_lang_init): Change prototype. Call init_c_lex and
3142 init_pragma from here.
3143 * c-common.h (c_common_lang_init): Change prototype.
3144 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
3145 * c-lang.c (c_init): Change prototype. Update.
3146 (c_init_options): Update.
3147 * c-lex.c (cpp_filename): Remove.
3148 (init_c_lex): Update. Read the main file, and get the original
3149 file name.
3150 (yyparse): Finish the command line options.
3151 * c-parse.in (c_parse_init): Call init_reswords here.
3152 (init_parse): Remove.
3153 * c-tree.h (c_init_decl_processing): New.
3154 * cpphash.c (_cpp_init_hashtable): After initializing the hash
3155 table, populate it.
3156 * cppinit.c (read_original_filename, cpp_finish_options): New.
3157 (cpp_create_reader): New prototype. Defer hash table initialization.
3158 (cpp_start_read): Rename cpp_read_main_file. Initialize the
3159 hash table. Get the original filename.
3160 * cpplib.h (cpp_create_reader): Update.
3161 (cpp_start_read): Remove.
3162 (cpp_read_main_file, cpp_finish_options): New.
3163 * cppmain.c (main, do_preprocessing): Update.
3164 * langhooks.h (struct langhooks): Update init prototype.
3165 * toplev.c (general_init, parse_options_and_default_flags,
3166 process_options, lang_indpendent_init, lang_dependent_init,
3167 init_asm_output): New; perform the bulk of initialization.
3168 (compile_file): Move most of initialization to above functions.
3169 (debug_hooks): Initialize statically.
3170 (set_Wunused): Relocate.
3171 (toplev_main): Move most of initialization to other init functions.
3172 Have a clear logic flow.
3173 * tree.h (init_parse, init_decl_processing): Remove.
3174 objc:
3175 * objc-act.c (objc_init): Update prototype, combine with old
3176 init_parse.
3177 (objc_init_options): Update.
3178
3179
3180 2001-11-15 Andreas Jaeger <aj@suse.de>
3181
3182 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
3183 portability.
3184 * basic-block.h: Adjust prototype.
3185
3186 2001-11-15 Kazu Hirata <kazu@hxi.com>
3187
3188 * config/rs6000/aix31.h: Fix comment formatting.
3189 * config/rs6000/beos.h: Likewise.
3190 * config/rs6000/darwin.h: Likewise.
3191 * config/rs6000/eabi.asm: Likewise.
3192 * config/rs6000/linux.h: Likewise.
3193 * config/rs6000/linux64.h: Likewise.
3194 * config/rs6000/lynx.h: Likewise.
3195 * config/rs6000/netbsd.h: Likewise.
3196 * config/rs6000/rs6000.c: Likewise.
3197 * config/rs6000/rs6000.h: Likewise.
3198 * config/rs6000/rs6000.md: Likewise.
3199 * config/rs6000/sol2.h: Likewise.
3200 * config/rs6000/tramp.asm: Likewise.
3201 * config/rs6000/xcoff.h: Likewise.
3202 * config/rs6000/xm-beos.h: Likewise.
3203
3204 2001-11-14 Alan Matsuoka <alanm@redhat.com>
3205
3206 * rtl.def (INCLUDE) : Define.
3207 * gensupport.c (init_include_reader, process_include,
3208 save_string) : New functions to implement an include facility
3209 in .md files.
3210 * gensupport.h : Add prototype for init_md_reader_args.
3211 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
3212 genextract.c genflags.c genopinit.c genoutput.c
3213 genpeep.c genrecog.c: Change call to init_md_reader to
3214 init_md_reader_args.
3215 * md.texi: Document (include "path") and -I directives for RTL
3216 generation tools.
3217
3218 2001-11-14 DJ Delorie <dj@redhat.com>
3219
3220 * integrate.c (get_hard_reg_initial_reg): New.
3221 * integrate.h (get_hard_reg_initial_reg): Prototype.
3222 * local-alloc.c (block_alloc): Don't tie pseudos that
3223 represent call-saved hard regs' initial values.
3224
3225 2001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3226
3227 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
3228 recursion.
3229
3230 2001-11-14 Roger Sayle <roger@eyesopen.com>
3231
3232 * fold-const.c (fold): Optimize strlen comparisons against zero.
3233
3234 2001-11-14 David O'Brien <obrien@FreeBSD.org>
3235
3236 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
3237 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
3238 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
3239 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
3240 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
3241 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
3242 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
3243 Include various CPU headers via tm_file. a.out based platforms now
3244 properly include sparc/aout.h. sol2.h usage now implies including
3245 elfos.h, svr4.h, and sparc/sysv4.h.
3246 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
3247 Also define to '1'.
3248 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
3249 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3250 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
3251 Remove. They are a.out specific and belong in sparc/aout.h.
3252 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
3253 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
3254 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
3255 sparc/sparc.h.
3256 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
3257 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
3258 Moved here from sparc/sparc.h.
3259 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
3260 defining.
3261 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
3262 * config/sparc/lynx.h: Don't include lynx.h.
3263 (SELECT_SECTION): Do not undef.
3264 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
3265 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
3266 and sparc/sysv4.h.
3267 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
3268 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
3269 sparc/aout.h now.
3270 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
3271 Don't undef, there is no need.
3272 * config/sparc/splet.h (CPP_PREDEFINES): Define.
3273 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
3274 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
3275 Don't include sparc/sparc.h.
3276 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
3277 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3278 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
3279 elfos.h and svr4.h.
3280 (TARGET_VERSION): Define.
3281 * config/sparc/vxsim.h (TARGET_VERSION): Define.
3282
3283 Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
3284
3285 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
3286 (cfg_layout_finalize): Use it.
3287 * bb-reorder.c (HAVE_epilogue): Remove.
3288 (make_reorder_chain): Do not care special placement of
3289 last basic block.
3290
3291 * predict.c (expected_value_to_br_prob): Delete the note
3292 once transformed.
3293
3294 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
3295 measure integration time separately.
3296
3297 Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3298
3299 * function.c (struct temp_slot): ALIGN now unsigned.
3300
3301 2001-11-14 Kazu Hirata <kazu@hxi.com>
3302
3303 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
3304 * config/dsp16xx/dsp16xx.h: Likewise.
3305 * config/dsp16xx/dsp16xx.md: Likewise.
3306
3307 2001-11-14 Kazu Hirata <kazu@hxi.com>
3308
3309 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
3310 that deals with 7-bit shifts in HImode.
3311
3312 Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
3313
3314 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
3315 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
3316 (final_scan_insn): Update call of alter_subreg.
3317 (cleanup_subreg_operands): Likewise.
3318 (alter_subreg): Rewrite using simplify_subreg.
3319 (output_address, output_operand): Update call of alter_subreg.
3320 * output.h (alter_subreg): Update prototype.
3321 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
3322 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
3323 * Makefile.in (final.o): Add dependency on expr.h
3324
3325 Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3326
3327 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
3328
3329 2001-11-13 Jeff Sturm <jsturm@one-point.com>
3330
3331 * doc/install.texi (sparc-*-linux*): Mention requirements for
3332 binutils and glibc.
3333
3334 2001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
3335
3336 * Makefile.in (POD2MAN): Don't include --section=1.
3337 (manext): Rename to man1ext. All users changed.
3338 (man7ext): New.
3339 (man7dir): New.
3340 (generated-manpages): Also depend on $(docdir)/gfdl.7,
3341 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
3342 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
3343 --section=1 in calls to $(POD2MAN).
3344 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
3345 (maintainer-clean, install, uninstall): Handle the new man pages.
3346 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
3347 (installdirs): Create man7dir.
3348 * doc/cpp.texi: Include GFDL in this manual. In the man page,
3349 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
3350 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
3351 the SEE ALSO man page section.
3352 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
3353 and fsf-funding(7) in the SEE ALSO man page section.
3354 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
3355 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
3356 * doc/include/fdl.texi, doc/include/funding.texi,
3357 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
3358 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
3359
3360 2001-11-13 Richard Henderson <rth@redhat.com>
3361
3362 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
3363 as appropriate for the artificial decl.
3364
3365 2001-11-13 Richard Henderson <rth@redhat.com>
3366
3367 * loop.c (combine_movables): Turn off combination until
3368 move_movables validation bugs are fixed.
3369
3370 2001-11-13 DJ Delorie <dj@redhat.com>
3371
3372 * config.gcc (powerpc|rs6000): Set default cpp options based
3373 on --with-cpu settings.
3374 * config/rs6000/softfloat.h: New.
3375
3376 2001-11-13 Kazu Hirata <kazu@hxi.com>
3377
3378 * config/h8300/h8300.c (shift_alg_si): Use special code for
3379 25-bit shifts on H8/S.
3380 (get_shift_alg): Generate special code for 25-bit shifts on
3381 H8/S.
3382
3383 2001-11-13 Jakub Jelinek <jakub@redhat.com>
3384
3385 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
3386 (adjust_automodify_address_1): New.
3387 * expr.h (adjust_address, adjust_address_nv): Adjust.
3388 (adjust_automodify_address, adjust_automodify_address_nv): Define.
3389 (adjust_address_1): Update prototype.
3390 (adjust_automodify_address_1): Add prototype.
3391 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
3392 (store_by_pieces_2): Likewise.
3393
3394 Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3395
3396 * Makefile.in (explow.o): Now depends on ggc.h.
3397 * explow.c (ggc.h): Include.
3398 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
3399
3400 * Makefile.in (expr.o): Depends on insn-attr.h.
3401 * expr.c (insn-attr.h): New include.
3402 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
3403 of MEM.
3404 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
3405 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
3406 clean up related usage in ADDR_EXPR.
3407 (expand_expr_unaligned): Likewise.
3408
3409 * emit-rtl.c (change_address): Fix typo in alias setting.
3410
3411 2001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3412
3413 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
3414
3415 2001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
3416
3417 PR bootstrap/3451
3418 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
3419 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
3420
3421 2001-11-12 David O'Brien <obrien@FreeBSD.org>
3422
3423 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
3424 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
3425 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
3426 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
3427 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
3428 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
3429 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
3430 sparc64-*-linux*): Include various CPU headers via tm_file.
3431 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
3432 (SELECT_SECTION): Likewise.
3433 (SELECT_RTX_SECTION): Likewise.
3434 * config/sparc/sparc_bi.h: New file.
3435 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
3436 * config/sparc/linux-aout.h: Likewise.
3437 * config/sparc/linux.h: Don't include sparc/sysv4.h.
3438 * config/sparc/linux64.h: Likewise.
3439 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
3440 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
3441 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
3442 and dbxcoff.h
3443 (ASM_OUTPUT_IDENT): Do not #undef.
3444 (SELECT_SECTION): Likewise.
3445 (SELECT_RTX_SECTION): Likewise.
3446 * config/sparc/liteelf.h: Don't include gofast.h.
3447 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
3448 * config/sparc/lynx.h: Don't include sparc/sparc.h.
3449 * config/sparc/pbd.h: Likewise.
3450 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
3451 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
3452 * config/sparc/rtemself.h: Don't include rtems.h.
3453 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
3454 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
3455 sparc_bi.h instead.
3456 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
3457 * config/sparc/sol2.h: Include sparc/sparc.h directly.
3458 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
3459 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
3460 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
3461 * config/sparc/sp86x-elf.h: Don't include gofast.h.
3462 * config/sparc/splet.h: Don't include sparc/aout.h.
3463 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
3464 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
3465 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
3466 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
3467 * config/sparc/vxsparc64.h: Don't include gofast.h.
3468 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
3469
3470 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
3471
3472 * doc/standards.texi: Mention C99 TC1.
3473
3474 2001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3475
3476 * mips-protos.h (mips_output_conditional_branch): Const-ify.
3477 * mips.c (mips_output_conditional_branch): Likewise.
3478
3479 2001-11-12 Kazu Hirata <kazu@hxi.com>
3480
3481 * config/h8300/h8300.c (shift_alg_si): Use special code for
3482 15-bit logical shifts and 31-bit logical shifts.
3483 (get_shift_alg): Generate special code for 15-bit and 31-bit
3484 logical shifts.
3485
3486 2001-11-12 Kazu Hirata <kazu@hxi.com>
3487
3488 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
3489 doing 6-bit logical shifts on H8/S.
3490 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
3491 (get_shift_alg): Generate special code for 21-bit shifts on
3492 H8/S.
3493
3494 2001-11-12 Kazu Hirata <kazu@hxi.com>
3495
3496 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
3497 label.
3498
3499 Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3500
3501 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
3502 if both size and offset known.
3503
3504 2001-11-12 David O'Brien <obrien@FreeBSD.org>
3505
3506 * config/ia64/freebsd.h: Fix misspelling.
3507
3508 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
3509
3510 * doc/gcc.texi: Move several chapters out to ...
3511 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
3512 doc/include/linux-and-gnu.texi, doc/interface.texi,
3513 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
3514 ... here. New files.
3515 * doc/gcc.texi, doc/contrib.texi: Move section headings into
3516 contrib.texi.
3517 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3518
3519 2001-11-12 Kazu Hirata <kazu@hxi.com>
3520
3521 * config/alpha/alpha-interix.h: Fix comment formatting.
3522 * config/alpha/alpha.c: Likewise.
3523 * config/alpha/alpha.h: Likewise.
3524 * config/alpha/alpha32.h: Likewise.
3525 * config/alpha/freebsd.h: Likewise.
3526 * config/alpha/unicosmk.h: Likewise.
3527 * config/alpha/vms.h: Likewise.
3528
3529 2001-11-12 Kazu Hirata <kazu@hxi.com>
3530
3531 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3532
3533 2001-11-12 Jakub Jelinek <jakub@redhat.com>
3534
3535 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
3536 numbers.
3537
3538 Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3539
3540 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
3541 from type.
3542 (replace_equiv_address): Call update_temp_slot_address.
3543
3544 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
3545
3546 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
3547
3548 2001-11-12 Kazu Hirata <kazu@hxi.com>
3549
3550 * config/h8300/h8300.c (shift_alg_qi): New.
3551 (shift_alg_hi): Likewise.
3552 (shift_alg_si): Likewise.
3553 (get_shift_alg): Change the type of count to unsigned int.
3554 Use the tables.
3555
3556 2001-11-11 Alexandre Oliva <aoliva@redhat.com>
3557
3558 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
3559 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
3560 to decide whether to defer a function.
3561 (finish_function): Adjust.
3562 (c_expand_deferred_function): New function.
3563 * c-lang.c (deferred_fns): New variable.
3564 (c_init): Initialize it, and mark it as a root.
3565 (defer_fn): New function.
3566 (finish_file): Expand all deferred functions.
3567 * c-tree.h (defer_fn): Declare.
3568 (c_expand_deferred_function): Likewise.
3569 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
3570 * objc-act.c (deferred_fns): New variable.
3571 (objc_init): Initialize it, and mark it as a root.
3572 (defer_fn): New function.
3573 (finish_file): Expand all deferred functions.
3574
3575 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3576
3577 * alpha.c (unicosmk_special_name): Prototype.
3578 (unicosmk_ssib_name): Delete unused variable.
3579 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
3580 * alpha/vms.h (PREFIX): Undef before defining.
3581 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
3582 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
3583 controlling usage. Const-ify.
3584 (alias_number): Delete unused variable.
3585 * m32r/m32r.c (m32r_sched_init): Add missing argument.
3586 (m32r_expand_block_move): Fix uninitialized warnings.
3587 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
3588 always true' warnings.
3589 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
3590 * sh/sh.c: Include "integrate.h".
3591 (output_far_jump): Fix uninitialized warning.
3592 * final.c (shorten_branches): Avoid automatic aggregate
3593 initialization.
3594 * integrate.c (subst_constants): Likewise.
3595
3596 2001-11-11 Kazu Hirata <kazu@hxi.com>
3597
3598 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
3599 (get_shift_alg): Remove redundant code.
3600
3601 2001-11-11 Kazu Hirata <kazu@hxi.com>
3602
3603 * config/pa/milli64.S: Fix comment formatting.
3604 * config/pa/pa-64.h: Likewise.
3605 * config/pa/pa-linux.h: Likewise.
3606 * config/pa/pa-protos.h: Likewise.
3607 * config/pa/pa.c: Likewise.
3608 * config/pa/pa.h: Likewise.
3609 * config/pa/pa32-linux.h: Likewise.
3610 * config/pa/pa32-regs.h: Likewise.
3611 * config/pa/pa64-hpux.h: Likewise.
3612 * config/pa/pa64-regs.h: Likewise.
3613 * config/pa/som.h: Likewise.
3614
3615 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
3616
3617 * doc/gcc.texi: Move several chapters out to ...
3618 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
3619 doc/service.texi, doc/standards.texi, doc/trouble.texi,
3620 doc/vms.texi: ... here. New files.
3621 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3622
3623 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
3624
3625 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
3626 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
3627 collect2.c, combine.c, config.in, configure, configure.in,
3628 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
3629 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
3630 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
3631 spelling errors.
3632
3633 Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3634
3635 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
3636 Adjust operand number in CONST_DOUBLE.
3637
3638 * expmed.c (extract_bit_field): No longer pass in alignment.
3639 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
3640 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
3641 Likewise.
3642 * expr.c (store_constructor, store_constructor_field): Likewise.
3643 (store_field, emit_group_load, emit_group_store): Likewise.
3644 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
3645 (store_bit_field, extract_bit_field): Likewise.
3646 * calls.c, expr.c, function.c: Change calls to above functions.
3647 * ifcvt.c, stmt.c: Likewise.
3648
3649 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
3650 constant and one is on frame.
3651 If know memref offset, adjust size from decl.
3652
3653 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3654
3655 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
3656 format specifier warning.
3657 * convex.h (ASM_OUTPUT_BYTE): Likewise.
3658 * elfos.h (ALIGN_ASM_OP): Undef before defining.
3659 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
3660 warning.
3661 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3662 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3663 * i386-interix.h (gen_stdcall_suffix): Prototype.
3664 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3665 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
3666 ASM_OUTPUT_LONG_DOUBLE): Likewise.
3667 * i386/interix.c (gen_stdcall_suffix): Const-ify.
3668 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3669 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
3670 specifier warnings.
3671 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3672 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
3673 ASM_OUTPUT_LONG_DOUBLE): Likewise.
3674 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3675 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3676 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3677 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3678 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
3679 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
3680 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3681 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
3682 Likewise.
3683 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
3684 Likewise.
3685 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
3686 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3687 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
3688 Likewise.
3689 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
3690 Likewise.
3691 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
3692 Likewise.
3693 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
3694 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
3695 * m68k/news.h (PRINT_OPERAND): Likewise.
3696 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
3697 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
3698 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3699 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
3700 definition.
3701 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
3702 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
3703 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
3704 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
3705 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
3706 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
3707 PRINT_OPERAND): Likewise.
3708 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
3709 Likewise.
3710 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
3711 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
3712 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
3713 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3714 * mips.c (mips_output_external_libcall): Mark parameter with
3715 ATTRIBUTE_UNUSED.
3716 (mips_asm_file_start): Move variable into the scope where it's
3717 used.
3718 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
3719 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
3720 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
3721 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3722 * ns32k.c (print_operand): Likewise.
3723 * pa.c (print_operand, output_div_insn): Likewise.
3724 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
3725 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
3726 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
3727 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
3728 specifier warnings.
3729 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3730 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3731 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
3732 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
3733 specifier warnings.
3734 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3735
3736 * sdbout.c (sdbout_end_epilogue): Mark parameter with
3737 ATTRIBUTE_UNUSED.
3738 * varasm.c (assemble_global): Likewise.
3739
3740 2001-11-11 H.J. Lu <hjl@gnu.org>
3741
3742 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
3743
3744 Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
3745
3746 * final.c (*_MAX_SKIP): Use *_max_skip variables.
3747 * flags.h (align_loops_max_skip, align_jumps_max_skip,
3748 align_labels_max_skip): New global variables.
3749 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
3750 align_labels_max_skip): New global variables.
3751 (toplev_main): Set new variables.
3752 * i386.c (override_options): Set max_skip values.
3753
3754 2001-11-10 Geoffrey Keating <geoffk@redhat.com>
3755
3756 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
3757 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
3758 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
3759 don't print an @fptr for labels either.
3760 (xstormy16_output_addr_vec): Don't print @fptr here.
3761 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
3762
3763 Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
3764
3765 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
3766 an ANSI/ISO definitino.
3767 (ssa_const_prop): Likewise.
3768
3769 2001-11-10 Aldy Hernandez <aldyh@redhat.com>
3770
3771 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
3772 altivec registers.
3773
3774 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3775
3776 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
3777 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
3778 * cppmain.c (general_init): Call hex_init.
3779 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
3780
3781 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
3782
3783 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
3784 of dgux.c:output_file_start().
3785
3786 * i386/dgux.c: Delete file.
3787
3788 2001-11-09 Richard Henderson <rth@redhat.com>
3789
3790 * config/alpha/alpha.c (decl_in_text_section): New.
3791 (current_file_function_operand): Use it.
3792 (alpha_encode_section_info, alpha_end_function): Likewise.
3793
3794 2001-11-07 David O'Brien <obrien@FreeBSD.org>
3795
3796 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
3797 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
3798 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
3799 so OS specific files and use CPP_PREDEFINES for their needs.
3800 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
3801 target headers to tm_file.
3802 * config/ia64/aix.h (TARGET_VERSION): Likewise.
3803 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
3804 * config/ia64/linux.h (TARGET_VERSION): Likewise.
3805 (FUNCTION_PROFILER): Remove.
3806 * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
3807 version in config/ia64/linux.h.
3808 * config/ia64/freebsd.h: New file.
3809 * config/freebsd.h: Tidy up.
3810 (_USING_CONFIG_FREEBSD): Define.
3811 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
3812 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
3813 (FBSD_STARTFILE_SPEC): Likewise.
3814 (FBSD_ENDFILE_SPEC): Likewise.
3815 (FBSD_LIB_SPEC): Likewise.
3816 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
3817 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
3818 set an ELF-improper one.
3819
3820 2001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
3821
3822 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
3823 constant can be loaded in a single instruction to a register. When
3824 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
3825 depdi for insertion of most significant 32-bits on 64-bit hosts.
3826 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
3827 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
3828 * pa.md: New addmove pattern for adding constant_int to HImode
3829 register and moving result to HImode register. Remove HImode HIGH
3830 and LO_SUM patterns.
3831
3832 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
3833
3834 * Makefile.in: Update.
3835 * c-decl.c (print_lang_decl, print_lang_type): Remove.
3836 (print_lang_identifier): Rename c_print_identifier.
3837 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
3838 (print_lang_statistics, lang_print_xnode): Remove.
3839 * c-parse.in (set_yydebug): Rename c_set_yydebug.
3840 * c-tree.h (c_set_yydebug, c_print_identifier): New.
3841 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
3842 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
3843 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
3844 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
3845 (LANG_HOOKS_INITIALIZER): Update.
3846 * langhooks.h (struct lang_hooks): New members.
3847 (lang_print_tree_hook): New.
3848 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
3849 * print-tree.c: Include langhooks.h.
3850 (print_node): Update.
3851 * toplev.c (decode_d_option): Update.
3852 * tree.c: Include langhooks.h.
3853 (dump_tree_statistics): Update.
3854 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
3855 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
3856 objc:
3857 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
3858 LANG_HOOKS_SET_YYDEBUG): Override.
3859 (lang_print_xnode, print_lang_statistics): Remove.
3860
3861 2001-11-09 Richard Henderson <rth@redhat.com>
3862
3863 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
3864 on the symbol string.
3865
3866 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3867
3868 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
3869 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
3870 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
3871
3872 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
3873
3874 * tlink.c (recompile_files): Copy strings passed to `putenv'.
3875
3876 2001-11-09 Geoffrey Keating <geoffk@redhat.com>
3877
3878 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
3879 (TYPE_READONLY): Likewise.
3880
3881 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
3882
3883 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
3884 don't pass --gdwarf2 to the assembler if the compiler will also
3885 provide debug info.
3886
3887 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
3888 Don't change INDEX.
3889
3890 Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3891
3892 * alias.c (nonoverlapping_memrefs_p): New function.
3893 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
3894
3895 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
3896
3897 2001-11-09 Aldy Hernandez <aldyh@redhat.com>
3898
3899 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
3900 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
3901 generating altivec code.
3902 (FIXED_REGISTERS): VRSAVE is fixed.
3903 (CALL_USED_REGISTERS): VRSAVE is call used.
3904
3905 2001-11-09 Jason Eckhardt <jle@rice.edu>
3906
3907 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
3908 code the branch target as ".+16/.+12", but rather use labels.
3909
3910 Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
3911
3912 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
3913 to work around limitations of certain versions of GAS.
3914
3915 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
3916 (muldi3): Update due to SUBREG_BYTE changes.
3917 (casesi): Similarly.
3918
3919 2001-11-09 Zack Weinberg <zack@codesourcery.com>
3920
3921 * doc/invoke.texi: Remove comment referring to -xf77-version.
3922
3923 2001-11-09 Kazu Hirata <kazu@hxi.com>
3924
3925 * config/convex/convex.c: Fix comment formatting.
3926 * config/convex/convex.h: Likewise.
3927
3928 2001-11-08 Zack Weinberg <zack@codesourcery.com>
3929
3930 * Makefile.in (.po.pox): Look both in srcdir and builddir
3931 for $(PACKAGE).pot.
3932 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
3933 to the source directory.
3934
3935 2001-11-09 Ben Elliston <bje@redhat.com>
3936 Michael Meissner <meissner@redhat.com>
3937 Andrew MacLeod <amacleod@redhat.com>
3938 Richard Henderson <rth@redhat.com>
3939 Nick Clifton <nickc@redhat.com>
3940 Catherine Moore <clm@redhat.com>
3941
3942 * m32r.c: Add support for m32rx processor.
3943 * m32r.h: Ditto.
3944 * m32r.md: Ditto.
3945 * t-m32r: Ditto.
3946 * m32r-protos.h: Add prototypes for m32rx functions.
3947 * doc/invoke.texi: Document -m32rx option.
3948
3949 2001-11-09 Jakub Jelinek <jakub@redhat.com>
3950
3951 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
3952 or after reload.
3953
3954 2001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3955
3956 * doc/install.texi2html: Use $MAKEINFO --no-split.
3957
3958 2001-11-09 Andreas Schwab <schwab@suse.de>
3959
3960 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
3961 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
3962 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
3963 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
3964 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
3965
3966 2001-11-09 H.J. Lu <hjl@gnu.org>
3967
3968 * config/mips/mips.c (mips_output_function_prologues): Cast
3969 `tsize' to long for output.
3970
3971 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
3972
3973 * c-lang.c (LANG_HOOKS_NAME): New.
3974 (lang_hooks): Constify.
3975 (c_init_options): Update.
3976 (lang_identify): Remove.
3977 * c-parse.in (language_string): Remove.
3978 * dbxout.c: Include langhooks.h.
3979 (dbxout_symbol_location): Update.
3980 * dwarf2out.c: Include langhooks.h.
3981 (gen_compile_unit_die): Update.
3982 * dwarfout.c: Include langhooks.h.
3983 (prototyped_attribute, output_compile_unit_die): Update.
3984 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
3985 (LANG_HOOKS_INITIALIZER): Update.
3986 * langhooks.h (struct lang_hooks): New members. Constify.
3987 * stringpool.c: Don't include toplev.h.
3988 (set_identifier_size): Remove.
3989 * toplev.c (toplev_main): Initialize identifier size.
3990 (print_version): Update.
3991 * tree.h (language_string, init_lex, lang_identify,
3992 set_identifier_size): Remove.
3993 * Makefile.in: Update dependencies.
3994 * config/darwin.c: Include langhooks.h.
3995 (func_name_maybe_scoped): Update.
3996 * config/darwin.h (ASM_END_FILE): Update.
3997 * config/nextstep.h (ASM_END_FILE): Update.
3998 * config/nextstep21.h (ASM_END_FILE): Update.
3999 * config/i386/sun386.h (ASM_END_FILE): Update.
4000 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
4001 (rs6000_output_function_epilogue): Update.
4002 objc:
4003 * objc-act.c (LANG_HOOKS_NAME): Override.
4004 (struct lang_hooks): Constify.
4005 (objc_init_options): Update.
4006 (lang_identify): Remove.
4007
4008 Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
4009
4010 * fold-const.c (lshift_double): Honor PREC.
4011 (rshift_double): Likewise.
4012
4013 2001-11-08 Kazu Hirata <kazu@hxi.com>
4014
4015 * config/1750a/1750a.c: Fix comment formatting.
4016 * config/1750a/1750a.h: Likewise.
4017
4018 2001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
4019
4020 * configure.in (--enable-languages): Be more permissive about
4021 syntax. Check for empty lists better. Warn about $LANGUAGES.
4022 * configure: Regenerated.
4023
4024 2001-11-08 Richard Henderson <rth@redhat.com>
4025
4026 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
4027
4028 2001-11-08 Geoffrey Keating <geoffk@redhat.com>
4029
4030 * config.gcc: Rename stormy16 to xstormy16.
4031 * config/stormy16/stormy-abi: Likewise.
4032 * config/stormy16/stormy16-protos.h: Likewise.
4033 * config/stormy16/stormy16.c: Likewise.
4034 * config/stormy16/stormy16.h: Likewise.
4035 * config/stormy16/stormy16.md: Likewise.
4036
4037 2001-11-06 Geoffrey Keating <geoffk@redhat.com>
4038
4039 * tree.h (TYPE_VOLATILE): Add enable-checking code.
4040 (TYPE_READONLY): Likewise.
4041
4042 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4043
4044 * reload1.c (reload): Don't delete equiv insn if can throw.
4045
4046 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
4047 (clear_storage): Likewise, for OBJECT.
4048
4049 Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
4050
4051 * pa.c (emit_move_sequence): Fix SUBREG expression to
4052 use proper byte offset when extending a constant from
4053 SImode to DImode.
4054
4055 2001-11-09 Jakub Jelinek <jakub@redhat.com>
4056
4057 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
4058 which cannot throw.
4059
4060 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4061
4062 * explow.c (convert_memory_address, case SUBREG): Only return
4063 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
4064
4065 2001-11-08 Richard Henderson <rth@redhat.com>
4066
4067 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
4068 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
4069 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
4070
4071 2001-11-08 Aldy Hernandez <aldyh@redhat.com>
4072
4073 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
4074
4075 2001-11-08 Jakub Jelinek <jakub@redhat.com>
4076
4077 * dwarf2out.c (debug_str_hash): New.
4078 (struct indirect_string_node): New.
4079 (struct dw_val_struct): Change type of val_str to it.
4080 (DEBUG_STR_SECTION_FLAGS): Define.
4081 (add_AT_string): Push string into hashtable, increment reference
4082 counter.
4083 (AT_string): Return string from ht_identifier.
4084 (AT_string_form): New.
4085 (free_AT): For dw_val_class_str, just decrement reference counter.
4086 (size_of_string): Remove.
4087 (size_of_die): Use AT_string_form to decide what size the string
4088 occupies in DIE.
4089 (size_of_pubnames): Use strlen instead of size_of_string.
4090 (value_format): Use AT_string_form for dw_val_class_str.
4091 (output_die): Output DW_FORM_strp strings using
4092 dw2_asm_output_offset.
4093 (indirect_string_alloc, output_indirect_string): New.
4094 (dwarf2out_finish): Emit .debug_str strings if there are any.
4095
4096 2001-11-08 Andreas Franck <afranck@gmx.de>
4097
4098 * configure.in: Add AC_ARG_PROGRAM to support program name
4099 transformation with --program-prefix, --program-suffix and
4100 --program-transform-name.
4101 * configure: Regenerated.
4102 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
4103 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
4104 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
4105 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
4106 program_transform_name the way suggested by autoconf.
4107 (GCC_TARGET_INSTALL_NAME): Define.
4108 (install-driver): Use the transformed target alias name.
4109
4110 2001-11-08 Richard Henderson <rth@redhat.com>
4111
4112 * config/mips/mips.c (save_restore_insns): Remove GP from the
4113 restore registers mask early instead of special casing it inside
4114 the loop.
4115
4116 2001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
4117
4118 * cp/decl.c (shadow_warning): New function.
4119 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
4120 and an error when a block scope decl shadows a parameter.
4121
4122 2001-11-08 Richard Henderson <rth@redhat.com>
4123
4124 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
4125 case as well.
4126
4127 2001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
4128
4129 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
4130 to implement floating negation on processors prior to PA 2.0.
4131
4132 2001-11-08 Jakub Jelinek <jakub@redhat.com>
4133
4134 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
4135 (USE_LINKONCE_INDIRECT): Define.
4136 (dw2_output_indirect_constant_1): Try to output indirect constants
4137 into linkonce sections if possible.
4138 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
4139 (dw2_output_indirect_constants): Likewise.
4140
4141 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
4142
4143 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
4144
4145 2001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
4146
4147 * c-decl.c (pushdecl): Remove file and line.
4148 * c-typeck.c (pop_init_level): Remove size.
4149
4150 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
4151
4152 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
4153 for rs6000.
4154
4155 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
4156 (TARGET_ALTIVEC): New.
4157 (TARGET_SWITCHES): Add altivec.
4158 (FIRST_PSEUDO_REGISTER): Change to 109.
4159 (CALL_USED_REGISTERS): Same.
4160 (FIRST_ALTIVEC_REGNO): New.
4161 (LAST_ALTIVEC_REGNO): New.
4162 (ALTIVEC_REGNO_P): New.
4163 (UNITS_PER_ALTIVEC_WORD): New.
4164 (ALTIVEC_VECTOR_MODE): New.
4165 (FIXED_REGISTERS): Add altivec registers.
4166 (REG_ALLOC_ORDER): Same.
4167 (HARD_REGNO_NREGS): Adjust for altivec registers.
4168 (HARD_REGNO_MODE_OK): Same.
4169 (MODES_TIEABLE_P): Same.
4170 (REGISTER_MOVE_COST): Same.
4171 (REGNO_REG_CLASS): Same.
4172 (reg_class): Add ALTIVEC_REGS.
4173 (REG_CLASS_NAMES): Same.
4174 (REG_CLASS_CONTENTS): Same.
4175 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
4176 (ALTIVEC_ARG_RETURN): New.
4177 (FUNCTION_VALUE): Handle VECTOR_TYPE.
4178 (LIBCALL_VALUE): Handle altivec vector modes.
4179 (VECTOR_MODE_SUPPORTED_P): New.
4180 (ALTIVEC_ARG_MIN_REG): New.
4181 (ALTIVEC_ARG_MAX_REG): New.
4182 (ALTIVEC_ARG_NUM_REG): New.
4183 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
4184 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
4185 (REGISTER_NAMES): Add altivec regs.
4186 (DEBUG_REGISTER_NAMES): Same.
4187 (ADDITIONAL_REGISTER_NAMES): Same.
4188 (rs6000_builtins): New.
4189 (MD_EXPAND_BUILTIN): New.
4190 (MD_INIT_BUILTINS): New.
4191 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
4192 for AltiVec instructions.
4193 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
4194 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
4195 registers.
4196 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
4197 (TARGET_SWITCHES): Add no-altivec.
4198 (DATA_ALIGNMENT): Align vectors to 128 bits.
4199 (TARGET_OPTIONS): Add abi= option.
4200 Add rs6000_abi_string extern.
4201 (LOCAL_ALIGNMENT): New.
4202 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
4203 (MASK_ALTIVEC_ABI): New.
4204 (TARGET_ALTIVEC_ABI): New.
4205 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
4206 call-saved.
4207 (STACK_BOUNDARY): Adjust for altivec.
4208 (BIGGEST_ALIGNMENT): Same.
4209 (rs6000_args): Add vregno.
4210 (USE_ALTIVEC_FOR_ARG_P): New.
4211 (FIXED_REGISTERS): Add vrsave register.
4212 (CALL_USED_REGISTERS): Same.
4213 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
4214 (VRSAVE_REGNO): New.
4215 (reg_class): Add VRSAVE_REGS.
4216 (REG_CLASS_NAMES): Same.
4217 (REG_CLASS_CONTENTS): Same.
4218 (REGNO_REG_CLASS): Same.
4219
4220 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
4221 (ABI_STACK_BOUNDARY): Same.
4222 (BIGGEST_ALIGNMENT): Same.
4223 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
4224 (ROUND_TYPE_ALIGN): Same.
4225
4226 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4227 to 64.
4228
4229 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4230 to 64.
4231
4232 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4233 to 64.
4234
4235 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
4236 (altivec_expand_builtin): New.
4237 (altivec_init_builtins): New.
4238 (TARGET_EXPAND_BUILTIN): New.
4239 (TARGET_INIT_BUILTINS): New.
4240 (rs6000_init_builtins): New.
4241 (struct builtin_description): New.
4242 (bdesc_2arg): New.
4243 (rs6000_reg_names): Add altivec registers.
4244 (alt_reg_names): Same.
4245 (secondary_reload_class): Altivec regs can hold altivec regs and
4246 memory.
4247 (rs6000_emit_move): Force constants into memory for AltiVec moves.
4248 (print_operand): Add 'y' case for printing altivec memory
4249 operands.
4250 (rs6000_legitimize_address): Legitimize vector addresses into
4251 [REG+REG] or [REG].
4252 (altivec_expand_binop_builtin): New.
4253 New string rs6000_current_abi.
4254 (rs6000_override_options): Call rs6000_parse_abi_options.
4255 (rs6000_parse_abi_options): New.
4256 (function_arg_boundary): Vector arguments must be 16
4257 byte aligned.
4258 (function_arg_advance): Handle vector arguments.
4259 (function_arg_partial_nregs): Same.
4260 (init_cumulative_args): Same.
4261 (function_arg): Same.
4262
4263 * config/rs6000/rs6000.md (altivec_lvx): New.
4264 (type): Add altivec attribute.
4265 (movv4si): New.
4266 (*movv4si_internal): New.
4267 (movv16qi): New.
4268 (*movv16qi_internal): New.
4269 (movv8hi): New.
4270 (*movv8hi_internal1): New.
4271 (movv4sf): New.
4272 (*movv4sf_internal1): New.
4273 (altivec_stvx): New.
4274 (vaddubm): New.
4275 (vadduhm): New.
4276 (vadduwm): New.
4277 (vaddfp): New.
4278 (vaddcuw): New.
4279 (vaddubs): New.
4280 (vaddsbs): New.
4281 (vadduhs): New.
4282 (vaddshs): New.
4283 (vadduws): New.
4284 (vaddsws): New.
4285 (vand): New.
4286 (vandc): New.
4287 (vavgub): New.
4288 (vavgsb): New.
4289 (vavguh): New.
4290 (vavgsh): New.
4291 (vavguw): New.
4292 (vavgsw): New.
4293 (vcmpbfp): New.
4294 (vcmpequb): New.
4295 (vcmpequh): New.
4296 (vcmpequw): New.
4297 (vcmpeqfp): New.
4298 (vcmpgefp): New.
4299 (vcmpgtub): New.
4300 (vcmpgtsb): New.
4301 (vcmpgtuh): New.
4302 (vcmpgtsh): New.
4303 (vcmpgtuw): New.
4304 (vcmpgtsw): New.
4305 (vcmpgtfp): New.
4306 (vcmpgefp): New.
4307 (vcmpgtub): New.
4308 (vcmpgtsb): New.
4309 (vcmpgtuh): New.
4310 (vcmpgtsh): New.
4311 (vcmpgtuw): New.
4312 (vcmpgtsw): New.
4313 (vcmpgtfp): New.
4314 (vmaxub): New.
4315 (vmaxsb): New.
4316 (vmaxuh): New.
4317 (vmaxsh): New.
4318 (vmaxuw): New.
4319 (vmaxsw): New.
4320 (vmaxfp): New.
4321 (vmrghb): New.
4322 (vmrghh): New.
4323 (vmrghw): New.
4324 (vmrglb): New.
4325 (vmrglh): New.
4326 (vmrglw): New.
4327 (vminub): New.
4328 (vminsb): New.
4329 (vminuh): New.
4330 (vminsh): New.
4331 (vminuw): New.
4332 (vminsw): New.
4333 (vminfp): New.
4334 (vmuleub): New.
4335 (vmulesb): New.
4336 (vmuleuh): New.
4337 (vmulesh): New.
4338 (vmuloub): New.
4339 (vmulosb): New.
4340 (vmulouh): New.
4341 (vmulosh): New.
4342 (vnor): New.
4343 (vor): New.
4344 (vpkuhum): New.
4345 (vpkuwum): New.
4346 (vpkpx): New.
4347 (vpkuhss): New.
4348 (vpkshss): New.
4349 (vpkuwss): New.
4350 (vpkswss): New.
4351 (vpkuhus): New.
4352 (vpkshus): New.
4353 (vpkuwus): New.
4354 (vpkswus): New.
4355 (vrlb): New.
4356 (vrlh): New.
4357 (vrlw): New.
4358 (vslb): New.
4359 (vslh): New.
4360 (vslw): New.
4361 (vsl): New.
4362 (vslo): New.
4363 (vsrb): New.
4364 (vrsh): New.
4365 (vrsw): New.
4366 (vsrab): New.
4367 (vsrah): New.
4368 (vsraw): New.
4369 (vsr): New.
4370 (vsro): New.
4371 (vsububm): New.
4372 (vsubuhm): New.
4373 (vsubuwm): New.
4374 (vsubfp): New.
4375 (vsubcuw): New.
4376 (vsububs): New.
4377 (vsubsbs): New.
4378 (vsubuhs): New.
4379 (vsubshs): New.
4380 (vsubuws): New.
4381 (vsubsws): New.
4382 (vsum4ubs): New.
4383 (vsum4sbs): New.
4384 (vsum4shs): New.
4385 (vsum2sws): New.
4386 (vsumsws): New.
4387 (vxor): New.
4388
4389 2001-11-07 Daniel Berlin <dan@cgsoftware.com>
4390
4391 * Makefile.in (df.o): Add fibheap.h to dependencies.
4392
4393 * df.h: Add prototypes for transfer functions, iterative_dataflow
4394 functions.
4395 (enum df_flow_dir): New enum.
4396 (enum df_confluence_op): New enum.
4397 (struct df): Add inverse_rts_map.
4398
4399 * df.c: Add sbitmap.h to the list of includes.
4400 (df_rd_global_compute): Removed.
4401 (df_ru_global_compute): Removed.
4402 (df_lr_global_compute): Removed.
4403 (df_rd_transfer_function): New function.
4404 (df_ru_transfer_function): New function.
4405 (df_lr_transfer_function): New function.
4406 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
4407 Use iterative_dataflow_bitmap instead of df_*_global_compute.
4408 (iterative_dataflow_sbitmap): New function.
4409 (iterative_dataflow_bitmap): New function.
4410
4411 2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
4412
4413 * doc/gcc.texi: Move terminology and spelling conventions to
4414 htdocs/codingconventions.html.
4415
4416 2001-11-07 Graham Stott <grahams@redhat.com>
4417
4418 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
4419
4420 Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
4421
4422 * expmed.c (expand_mult): Force operand to register before computing
4423 cost.
4424 * i386.c (x86_decompose_lea): New global vairable.
4425 * i386.h (x86_decompose_lea): Declare.
4426 (TARGET_DECOMPOSE_LEA): New macro.
4427 (RTX_COST): Handle leas properly.
4428
4429 2001-11-06 Richard Henderson <rth@redhat.com>
4430
4431 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
4432 defined for a CONSTRUCTOR; don't check it.
4433
4434 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
4435
4436 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
4437 test for absolute pathnames.
4438
4439 2001-11-06 Olivier Hainque <hainque@act-europe.fr>
4440
4441 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
4442 instructions up to the target pc inclusive.
4443
4444 2001-11-06 Steve Christiansen <smc@us.ibm.com>
4445
4446 * loop.c (loop_regs_scan): Don't invalidate PIC register.
4447
4448 2001-11-06 Eric Christopher <echristo@redhat.com>
4449
4450 * config/mips/mips.md(movdf_internal2): Add constraints for float
4451 to general register move.
4452 * config/mips/elf64.h: Add default ABI.
4453
4454 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4455
4456 * alias.c:: Include langhooks.h.
4457 * emit-rtl.c: Similarly.
4458 * toplev.c: Similarly.
4459 * tree-inline.c: Similarly.
4460 * langhooks-def.h: New, the old langhooks.h. Give the default
4461 hooks a common prefix.
4462 * langhooks.h: Contents extracted from toplev.h.
4463 * toplev.h: Move langhook stuff to langhooks.h.
4464 * langhooks.c: Give default hooks a common prefix.
4465
4466 * c-lang.c: Include langhooks-def.h.
4467 * objc/objc-act.c: Similarly.
4468 * Makefile.in: Update.
4469 * objc/Make-lang.in: Update.
4470
4471 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
4472
4473 * doc/install.texi: Document that configure options not listed in
4474 this file are unsupported. Document --with-system-zlib.
4475
4476 Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4477
4478 * rtl.h (mem_for_const_double): New declaration.
4479 * varasm.c (mem_for_const_double): New function.
4480 * config/convex/convex.md (movdf): Use it.
4481 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
4482 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
4483 * config/m68k/m68kv4.h: Likewise.
4484
4485 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
4486 of new GP reg classes.
4487
4488 * expr.c (store_field): When making temp object for unaligned
4489 component, set it to alias set 0.
4490
4491 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
4492
4493 * c-common.c (c_expand_expr_stmt): Apply default conversions to
4494 non-lvalue arrays if C99.
4495 * c-typeck.c (default_conversion): Split out code handling
4496 array-to-pointer and function-to-pointer conversions into a
4497 separate default_function_array_conversion function.
4498 (default_function_array_conversion): New function. Keep track of
4499 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
4500 arrays unchanged outside C99 mode instead of giving an error for
4501 them.
4502 (build_component_ref): Use pedantic_non_lvalue when handling
4503 COMPOUND_EXPR. Don't handle COND_EXPR specially.
4504 (convert_arguments): Use default_function_array_conversion.
4505 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
4506 non-lvalues are OK.
4507 (unary_complex_lvalue): Likewise.
4508 (internal_build_compound_expr): Use
4509 default_function_array_conversion. Apply default conversions to
4510 function in compound expression.
4511 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
4512 Use default_function_array_conversion.
4513 * doc/extend.texi: Update documentation of subscripting non-lvalue
4514 arrays.
4515 Fixes PR c/461.
4516
4517 2001-11-05 Zack Weinberg <zack@codesourcery.com>
4518
4519 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
4520 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
4521 corresponding to the complete set of .po and .gmo files in
4522 the source directory's po subdir, modified by LINGUAS. Don't
4523 look at ALL_LINGUAS.
4524 * configure.in: Don't set ALL_LINGUAS.
4525 * configure: Regenerate.
4526
4527 * Makefile.in (.po.gmo): Don't move into source directory.
4528 (.po.pox): Clarify comments.
4529 (install-po): Look for .gmo files in both srcdir and objdir;
4530 don't fail if a file is totally missing.
4531 (distclean): rmdir ada subdirectory too.
4532
4533 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
4534
4535 * config/rs6000/rs6000.c (rs6000_select_section): Handle
4536 CONSTRUCTORs _correctly_.
4537
4538 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4539
4540 * c-decl.c (delete_block): Remove.
4541 * c-tree.h (delete_block): Remove.
4542
4543 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4544
4545 * cppexp.c (lex, parse_defined): Update warning about defined.
4546
4547 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
4548
4549 * config/rs6000/rs6000.c (rs6000_select_section): Handle
4550 CONSTRUCTORs too.
4551
4552 2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
4553
4554 * config/arm/arm.c (arm_return_in_memory): Cope with
4555 int_size_in_bytes returning -1.
4556
4557 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
4558 DECL being NULL.
4559
4560 Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
4561
4562 * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
4563 remove unneeded dependencies;
4564 (cfglayout.o): New.
4565 * cfglayout.c, cfglayout.h: New files; break out from ...
4566 * bb-reorder.c: ... here; Remove unneeded includes;
4567
4568 2001-11-04 Alan Modra <amodra@bigpond.net.au>
4569
4570 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
4571
4572 2001-11-04 David Edelsohn <edelsohn@gnu.org>
4573
4574 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
4575 mode as well. Do not explicitly create intermediate regs.
4576
4577 2001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4578
4579 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
4580 (common_section): Delete unused variable.
4581 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
4582 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
4583 * arm-protos.h (arm_poke_function_name, aof_add_import,
4584 aof_delete_import): Const-ify.
4585 * arm.c (legitimize_pic_address): Wrap variables in the macro
4586 controlling their usage.
4587 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
4588 (arm_poke_function_name, pic_chain, import, aof_add_import,
4589 aof_delete_import): Const-ify.
4590 * i386.c (ix86_osf_output_function_prologue): Const-ify.
4591 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4592 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
4593 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
4594 * i860/sysv3.h: Add missing comment closure.
4595 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
4596 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
4597 to symbolic_operand.
4598
4599 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
4600 (i960-*-*): Set tmake_file.
4601 (sparc86x-*-elf*): Fix typo in header name.
4602
4603 * sched-rgn.c (schedule_insns): Delete unused variable.
4604
4605 2001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
4606
4607 PR c/2820
4608 * c-typeck.c (lookup_field): Rework to return a chain down to
4609 the looked-up field.
4610 (build_component_ref): Use the new lookup_field to handle
4611 nested anonymous entities correctly.
4612
4613 Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4614
4615 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
4616 Change parameters to gen_rtx_CONST_DOUBLE.
4617 (GEN_INT64, sparc_emit_set_const64): Likewise.
4618 * config/sparc/sparc.md (movdf split): Likewise.
4619
4620 2001-11-03 Geoffrey Keating <geoffk@redhat.com>
4621
4622 * unroll.c (calculate_giv_inc): Use find_last_value rather
4623 than just hoping the last instruction is the right SET.
4624 [Fixes 990604-1.c on stormy16.]
4625
4626 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
4627 library at all if -T is used.
4628
4629 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
4630 some uses of uninitialized variables in error cases.
4631
4632 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
4633 look at 'temp' if we won't be using it.
4634
4635 * config/stormy16/stormy16.h (CONST_COSTS): Define.
4636 (RTX_COSTS): Define.
4637 (ADDRESS_COST): Define.
4638 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
4639
4640 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
4641
4642 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
4643 stormy16_asm_output_mi_thunk.
4644 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
4645 function.
4646 * config/stormy16/stormy16-protos.h
4647 (stormy16_asm_output_mi_thunk): New prototype.
4648
4649 2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
4650
4651 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
4652 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
4653 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
4654 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
4655 sched-int.h, toplev.c, config/alpha/alpha.c,
4656 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
4657 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
4658 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
4659 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
4660 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
4661 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
4662 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
4663
4664 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4665
4666 * Makefile.in (dbxout.o): Depend on function.h.
4667 * collect2.c (is_in_list): Hide unused function.
4668 * dbxout.c: Include function.h.
4669 (source_label_number, dbxout_source_line, dbxout_source_file,
4670 dbxout_function_end, dbxout_begin_function): Wrap/move inside
4671 macros controlling usage.
4672 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
4673 * output.h (exports_section): Prototype.
4674
4675 * convex.c (convex_output_function_prologue): Fix format specifier
4676 warning.
4677 (asm_declare_function_name): Fix signed/unsigned warning.
4678 (print_operand): Fix format specifier warning.
4679 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
4680 * dsp16xx-protos.h (uns_comparison_operator,
4681 num_1600_core_shifts): Prototype.
4682 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
4683 (frame_size, frame_pointer_offset): Delete.
4684 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
4685 Make static. Fix format specifier warnings.
4686 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
4687 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
4688 * dsp16xx.md: Add default case in switches.
4689 * fr30.h (IN_RANGE): Delete.
4690 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
4691 * mcore-protos.h (mcore_output_cmov): Const-ify.
4692 * mcore.c (mcore_output_cmov): Likewise.
4693 * mcore.h (switch_to_section): Make static and prototype.
4694 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
4695 unsigned>=0 warnings.
4696 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
4697 * rs6000-protos.h (read_only_data_section,
4698 read_only_private_data_section): Prototype.
4699 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4700 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
4701 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
4702
4703 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4704
4705 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
4706 ATTRIBUTE_UNUSED.
4707 * final.c (final_scan_insn): Add brackets around body of if-stmt.
4708 * gcc.c (convert_filename): Add static prototype. Const-ify.
4709 Wrap variable in macros controlling its use.
4710 * output.h (sdata_section): Add prototype.
4711
4712 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4713 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
4714 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
4715 (ASM_FILE_START): Const-ify.
4716 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
4717 specifier warning.
4718 * c4x.md: Don't use the 'U' integer suffix.
4719 * clipper.md (clipper_movstr): Delete declaration.
4720 * d30v-protos.h (d30v_move_2words): Const-ify.
4721 (debug_stack_info): Add prototype.
4722 * d30v.c: Include "integrate.h".
4723 (d30v_function_arg_boundary, d30v_function_arg,
4724 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
4725 signed/unsigned warnings.
4726 (d30v_print_operand_memory_reference, d30v_move_2words):
4727 Const-ify.
4728 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
4729 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
4730 * fr30.md: Const-ify.
4731 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4732 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
4733 (mvs_get_label_page): Hide unused static function.
4734 * i860.c (current_function_original_name): Const-ify.
4735 * i860/sysv3.h (current_function_original_name): Likewise.
4736 * i860/sysv4.h (current_function_original_name): Likewise.
4737 * i960.md: Add default case in switches. Remove unused variable.
4738 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
4739 * m32r.md: Const-ify.
4740 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
4741 * m68hc11.c: Include "reload.h".
4742 (static_chain_reg, print_options, m68hc11_asm_file_start):
4743 Const-ify.
4744 * m68hc11.md: Delete unused variable. Const-ify. Add parens
4745 around & in comparison.
4746 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
4747 * mn10200.c (shift_mode): Remove trailing comma.
4748 * mn10300-protos.h (output_tst): Const-ify.
4749 * mn10300.c (output_tst): Likewise.
4750 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
4751 warnings.
4752 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
4753 * pa.c (output_ascii): Likewise.
4754 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
4755 * pdp11.md (expand_unop): Delete declarations.
4756 * pj-protos.h (pj_output_addsi3): Const-ify.
4757 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
4758 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
4759 unique_src_operand): Add prototypes.
4760 (pj_output_store_into_lval): Make definition static.
4761 (pj_function_incoming_arg): Don't use unary plus.
4762 (pj_output_addsi3): Const-ify.
4763 * romp.md (get_symref): Delete declarations.
4764 * v850-c.c (mark_current_function_as_interrupt): Don't return
4765 value from void function.
4766 * v850.c: Include "integrate.h".
4767 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
4768 * vax-protos.h (const_section): Add prototype.
4769
4770 2001-11-03 Aldy Hernandez <aldyh@redhat.com>
4771
4772 * machmode.def: Add documentation for the seventh argument in
4773 vector modes.
4774
4775 2001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
4776
4777 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
4778 consistently.
4779 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
4780 <-melf>: Don't have markup for ELF acronym.
4781
4782 2001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
4783
4784 * config.gcc (mmix-*-*): New target.
4785 * doc/invoke.texi: Document MMIX options.
4786 * doc/contrib.texi: Add note about MMIX port to my entry.
4787 * config/mmix/t-mmix: New file.
4788 * config/mmix/mmix.h: New file.
4789 * config/mmix/mmix-protos.h: New file.
4790 * config/mmix/mmix.c: New file.
4791 * config/mmix/mmix.md: New file.
4792 * config/mmix/crti.asm: New file.
4793 * config/mmix/crtn.asm: New file.
4794
4795 2001-11-03 Kazu Hirata <kazu@hxi.com>
4796
4797 * config/sparc/linux-aout.h: Fix comment formatting.
4798 * config/sparc/linux.h: Likewise.
4799 * config/sparc/linux64.h: Likewise.
4800 * config/sparc/lynx.h: Likewise.
4801 * config/sparc/pbd.h: Likewise.
4802 * config/sparc/sol2-sld-64.h: Likewise.
4803 * config/sparc/sol2.h: Likewise.
4804 * config/sparc/sparc.c: Likewise.
4805 * config/sparc/sparc.h: Likewise.
4806 * config/sparc/sparc.md: Likewise.
4807 * config/sparc/sunos4.h: Likewise.
4808 * config/sparc/vxsim.h: Likewise.
4809 * config/sparc/vxsparc.h: Likewise.
4810 * config/sparc/vxsparc64.h: Likewise.
4811
4812 Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4813
4814 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
4815 reference to CONST_DOUBLE_MEM in comment.
4816 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
4817 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
4818 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
4819 * function.c (pop_function_context_from): Don't call
4820 restore_varasm_status.
4821 * function.h (restore_varasm_status): Delete declaration.
4822 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
4823 * rtl.c: Likewise.
4824 * rtl.def (CONST_DOUBLE): Update comment.
4825 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
4826 (CONST_DOUBLE_CHAIN): Likewise.
4827 (CONST_DOUBLE_MEM): Delete.
4828 (gen_rtx_CONST_DOUBLE): Update parameters.
4829 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
4830 Remove reference to CONST_DOUBLE_MEM.
4831 (const_alias_set): New variable.
4832 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
4833 (immed_real_const_1): Adjust tests for 0, 1, and 2.
4834 Don't set CONST_DOUBLE_MEM.
4835 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
4836 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
4837 Put constant in const_alias_set.
4838 (struct pool_constant): ALIGN now unsigned.
4839 OFFSET now HOST_WIDE_INT.
4840 Delete LABEL.
4841 (restore_varasm_status): Deleted.
4842 (mark_pool_constant): Mark desc->rtl.
4843 (force_const_mem): Rework to store rtl in hash table,
4844 not CONST_DOUBLE_MEM.
4845 Put constant in const_alias_set.
4846 (find_pool_constant): Check desc->rtl.
4847 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
4848 (init_varasm_once): Initialize const_alias_set.
4849
4850 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
4851 force_const_mem.
4852
4853 * reload.c (combine_reloads): Don't combine an output reload if there
4854 are other reloads around for part of the output.
4855
4856 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
4857 constant expression.
4858 (set_mem_decl): New function.
4859 * expr.h (set_mem_decl): New declaration.
4860 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
4861 (output_asm_operand_names): Add tab.
4862 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
4863
4864 * builtins.c (get_memory_rtx): Properly set MEM alias set and
4865 attributes.
4866
4867 2001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
4868
4869 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
4870 Use "invalid" instead of "illegal". Use @r in comments in
4871 examples.
4872
4873 2001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
4874
4875 * c-decl.c (pushdecl): Move block inside if conditional to remove
4876 possibility of a segfault. Lookup block-level extern
4877 variables in enclosing scopes correctly.
4878
4879 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
4880
4881 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
4882
4883 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
4884 SUBREG so we avoid SUBREGing memory.
4885
4886 * expmed.c (store_bit_field): Same.
4887
4888 2001-11-02 DJ Delorie <dj@redhat.com>
4889
4890 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
4891 using FP registers for DImode mem-mem moves is acceptable.
4892
4893 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
4894
4895 * builtins.c (apply_args_size): Handle vector arguments.
4896 (apply_result_size): Same.
4897
4898 * machmode.def: Set WIDER mode field for all vector entries.
4899
4900 2001-11-02 Graham Stott <grahams@redhat.com>
4901
4902 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
4903
4904 2001-11-01 Eric Christopher <echristo@redhat.com>
4905
4906 * config.gcc: Revert part of earlier patch.
4907 * config/mips/linux.h: Ditto.
4908 * df.c: Include tm_p.h to avoid warnings.
4909 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
4910 #if/#endif.
4911 * config/mips/mips.c: Define mips_abi regardless.
4912 (mips_output_function_prologues): Add long casts for .frame
4913 output.
4914 (override_options): Allow use of ABI_32.
4915
4916 2001-11-01 Kazu Hirata <kazu@hxi.com>
4917
4918 * config/m68hc11/m68hc11.c: Fix comment formatting.
4919 * config/m68hc11/m68hc11.h: Likewise.
4920 * config/m68hc11/m68hc11.md: Likewise.
4921
4922 2001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
4923
4924 * c-typeck.c (default_conversion): Retain the original expression
4925 codes.
4926 * gcc.dg/Wparentheses.c: New tests.
4927
4928 2001-11-01 David S. Miller <davem@redhat.com>
4929
4930 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
4931 64-bit Sparc description more in line with reality.
4932
4933 2001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
4934
4935 * Makefile.in (GCOV_OBJS): Add version.o.
4936 * gcov.c: Include "version.h" and <getopt.h>.
4937 (gcov_version_string): Remove.
4938 (print_usage): Take a parameter to determine whether this is a
4939 call from --help or an error message. Give fuller output that
4940 follows the GNU Coding Standards for --help.
4941 (print_version): New function.
4942 (options): New.
4943 (process_args): Use getopt_long. Support long options. Follow
4944 GNU Coding Standards for --help and --version.
4945 * doc/gcov.texi: Document long options.
4946 Addresses part of PR other/704.
4947
4948 2001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
4949
4950 * pa.c (output_move_double): Fix typo in double load.
4951
4952 2001-11-01 Kazu Hirata <kazu@hxi.com>
4953
4954 * config/h8300/h8300.c (h8300_encode_label): Compute a string
4955 before passing it to ggc_alloc_string.
4956
4957 2001-11-01 Kazu Hirata <kazu@hxi.com>
4958
4959 * config/m68k/3b1.h: Fix comment formatting.
4960 * config/m68k/3b1g.h: Likewise.
4961 * config/m68k/a-ux.h: Likewise.
4962 * config/m68k/amix.h: Likewise.
4963 * config/m68k/apollo68.h: Likewise.
4964 * config/m68k/atari.h: Likewise.
4965 * config/m68k/aux-exit.c: Likewise.
4966 * config/m68k/ccur-GAS.h: Likewise.
4967 * config/m68k/crds.h: Likewise.
4968 * config/m68k/dpx2.h: Likewise.
4969 * config/m68k/dpx2g.h: Likewise.
4970 * config/m68k/hp310.h: Likewise.
4971 * config/m68k/hp320.h: Likewise.
4972 * config/m68k/isi.h: Likewise.
4973 * config/m68k/linux.h: Likewise.
4974 * config/m68k/lynx.h: Likewise.
4975 * config/m68k/m68k-psos.h: Likewise.
4976 * config/m68k/m68k.c: Likewise.
4977 * config/m68k/m68k.h: Likewise.
4978 * config/m68k/m68k.md: Likewise.
4979 * config/m68k/m68kelf.h: Likewise.
4980 * config/m68k/m68kv4.h: Likewise.
4981 * config/m68k/mot3300.h: Likewise.
4982 * config/m68k/news.h: Likewise.
4983 * config/m68k/next.h: Likewise.
4984 * config/m68k/pbb.h: Likewise.
4985 * config/m68k/plexus.h: Likewise.
4986 * config/m68k/sgs.h: Likewise.
4987 * config/m68k/sun3.h: Likewise.
4988 * config/m68k/tower.h: Likewise.
4989 * config/m68k/vxm68k.h: Likewise.
4990
4991 2001-10-31 DJ Delorie <dj@redhat.com>
4992
4993 * config/mips/mips.h (mips_cache_flush_func): Prototype.
4994 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
4995 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
4996 * config/mips/mips.c (mips_cache_flush_func): New.
4997 * doc/invoke.texi: Document the new options.
4998
4999 2001-10-31 Hans-Peter Nilsson <hp@axis.com>
5000
5001 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
5002 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
5003
5004 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
5005
5006 * config/cris/cris.c: Include output.h after tree.h but before
5007 target.h.
5008
5009 2001-10-31 Zack Weinberg <zack@codesourcery.com>
5010
5011 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
5012 (INTL_SUBDIRS): Just intl.
5013 (.SUFFIXES): Add .gmo .po .pox.
5014 (native): Also depend on build-@POSUB@.
5015 (intl.all, intl.install): Depend on config.h and things it includes.
5016 (po-generated): New target; depend on c-parse.c and tradcif.c.
5017 (install-normal): Also depend on install-@POSUB@.
5018 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
5019 (build-, install-, build-po, update-po, install-po,
5020 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
5021
5022 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
5023 * configure.in: Don't munge XGETTEXT. Don't generate
5024 po/Makefile.in.
5025 * configure: Regenerate.
5026
5027 * exgettext: Delete.
5028 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
5029 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
5030
5031 2001-10-31 Kazu Hirata <kazu@hxi.com>
5032
5033 * config/h8300/h8300.md (two anonymous patterns): New.
5034
5035 2001-10-31 Aldy Hernandez <aldyh@redhat.com>
5036
5037 * tree.h (tree_index): Add support for V16QI and V8HI.
5038 (V8HI_type_node): New.
5039 (V16QI_type_node): New.
5040
5041 * tree.c (build_common_tree_nodes_2): Same.
5042
5043 * c-common.c (type_for_mode): Same.
5044
5045 2001-10-31 Kazu Hirata <kazu@hxi.com>
5046
5047 * config/i386/att.h: Fix comment formatting.
5048 * config/i386/beos-elf.h: Likewise.
5049 * config/i386/bsd.h: Likewise.
5050 * config/i386/bsd386.h: Likewise.
5051 * config/i386/crtdll.h: Likewise.
5052 * config/i386/cygwin.asm: Likewise.
5053 * config/i386/cygwin.h: Likewise.
5054 * config/i386/djgpp.h: Likewise.
5055 * config/i386/freebsd-aout.h: Likewise.
5056 * config/i386/freebsd.h: Likewise.
5057 * config/i386/gas.h: Likewise.
5058 * config/i386/i386-interix.h: Likewise.
5059 * config/i386/i386-protos.h: Likewise.
5060 * config/i386/i386.c: Likewise.
5061 * config/i386/i386.h: Likewise.
5062 * config/i386/i386.md: Likewise.
5063 * config/i386/i386elf.h: Likewise.
5064 * config/i386/interix.c: Likewise.
5065 * config/i386/isc.h: Likewise.
5066 * config/i386/isccoff.h: Likewise.
5067 * config/i386/iscdbx.h: Likewise.
5068 * config/i386/linux.h: Likewise.
5069 * config/i386/lynx.h: Likewise.
5070 * config/i386/mingw32.h: Likewise.
5071 * config/i386/netbsd-elf.h: Likewise.
5072 * config/i386/next.h: Likewise.
5073 * config/i386/osf1elf.h: Likewise.
5074 * config/i386/osfrose.h: Likewise.
5075 * config/i386/sco5.h: Likewise.
5076 * config/i386/seq-gas.h: Likewise.
5077 * config/i386/seq-sysv3.h: Likewise.
5078 * config/i386/sequent.h: Likewise.
5079 * config/i386/sol2.h: Likewise.
5080 * config/i386/sun386.h: Likewise.
5081 * config/i386/uwin.asm: Likewise.
5082 * config/i386/uwin.h: Likewise.
5083 * config/i386/vxi386.h: Likewise.
5084 * config/i386/win32.h: Likewise.
5085 * config/i386/winnt.c: Likewise.
5086 * config/i386/xm-cygwin.h: Likewise.
5087 * config/i386/xm-mingw32.h: Likewise.
5088
5089 2001-10-31 Kazu Hirata <kazu@hxi.com>
5090
5091 * builtins.def: Fix comment typos.
5092 * config/alpha.c: Likewise.
5093 * config/arm/arm.c: Likewise.
5094 * config/avr/avr.h: Likewise.
5095 * config/d30v/d30v.c: Likewise.
5096 * config/d30v/d30v.h: Likewise.
5097 * config/d30v/d30v.md: Likewise.
5098 * config/dsp16xx/dsp16xx.c: Likewise.
5099 * config/fr30/fr30.c: Likewise.
5100 * config/fr30/fr30.md: Likewise.
5101 * config/i386/i386.c: Likewise.
5102 * config/i860/i860.c: Likewise.
5103 * config/i960/i960.c: Likewise.
5104 * config/ia64/ia64.c: Likewise.
5105 * config/mips/mips.c: Likewise.
5106 * config/pa/pa.c: Likewise.
5107 * config/rs6000/rs6000.c: Likewise.
5108 * config/s390/s390.c: Likewise.
5109 * config/sparc/sparc.c: Likewise.
5110
5111 2001-10-30 Kazu Hirata <kazu@hxi.com>
5112
5113 * config/mips/elf.h: Fix comment formatting.
5114 * config/mips/elf64.h: Likewise.
5115 * config/mips/iris5.h: Likewise.
5116 * config/mips/iris5gas.h: Likewise.
5117 * config/mips/iris6.h: Likewise.
5118 * config/mips/isa3264.h: Likewise.
5119 * config/mips/linux.h: Likewise.
5120 * config/mips/mips.c: Likewise.
5121 * config/mips/mips.h: Likewise.
5122 * config/mips/mips.md: Likewise.
5123 * config/mips/mips16.S: Likewise.
5124 * config/mips/netbsd.h: Likewise.
5125 * config/mips/osfrose.h: Likewise.
5126 * config/mips/r3900.h: Likewise.
5127 * config/mips/sni-svr4.h: Likewise.
5128 * config/mips/svr4-t.h: Likewise.
5129 * config/mips/ultrix.h: Likewise.
5130
5131 2001-10-30 Daniel Berlin <dan@cgsoftware.com>
5132
5133 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
5134 when we update head->current.
5135
5136 2001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
5137
5138 * tree.c (id_string_size): Remove.
5139 (dump_tree_statistics): Update.
5140 * toplev.c (compile_file): If dumping stats, dump tree stats too.
5141
5142 Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
5143
5144 * sched-rgn.c (schedule_insns): Fix comment.
5145
5146 2001-10-30 Zack Weinberg <zack@codesourcery.com>
5147
5148 * configure.in: Correct previous change: don't assume that
5149 gas's version number _isn't_ the last thing on the line, or
5150 isn't the only number on the line, either.
5151 * configure: Regenerate.
5152
5153 2001-10-30 Kazu Hirata <kazu@hxi.com>
5154
5155 * cfgcleanup.c: Fix a comment typo.
5156
5157 2001-10-30 Kazu Hirata <kazu@hxi.com>
5158
5159 * alias.c: Fix comment formatting.
5160 * recog.c: Likewise.
5161 * config/cris/cris.c: Likewise.
5162 * config/cris/cris.h: Likewise.
5163 * config/i960/i960.c: Likewise.
5164 * config/i960/i960.h: Likewise.
5165
5166 2001-10-30 Kazu Hirata <kazu@hxi.com>
5167
5168 * config/arm/arm.c: Fix a comment typo.
5169 * config/arm/arm.h: Likewise.
5170 * config/ia64/ia64.c: Likewise.
5171
5172 2001-10-30 Jakub Jelinek <jakub@redhat.com>
5173
5174 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
5175 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
5176 * rtl.h (set_unique_reg_note): Change return value.
5177 * gcse.c (try_replace_reg): Use set_unique_reg_note.
5178 * cse.c (cse_insn): Likewise.
5179 * expr.c (emit_move_insn): Likewise.
5180 * explow.c (force_reg): Likewise.
5181 * local-alloc (update_equiv_regs): Likewise.
5182 * loop.c (move_moveables, load_mems): Likewise.
5183 * reload (find_reloads): Likewise.
5184
5185 2001-10-30 Paolo Bonzini <bonzini@gnu.org>
5186
5187 Localization fixes.
5188 * c-decl.c (parmlist_tags_warning, start_struct,
5189 check_for_loop_decls): Separate messages for struct, union and
5190 enum cases to allow for languages in which they have different
5191 genders.
5192 * c-format.c (scanf_flag_specs): Separate short and long name of
5193 the assignment suppression feature.
5194 (check_format_types): Localize "pointer" and "different types"
5195 strings.
5196 * c-lex.c (lex_number): Localize "an unsigned long int" and
5197 related strings.
5198 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
5199 warning message.
5200 * c-typeck.c (build_unary_up): Separate messages for increment and
5201 decrement cases to allow for languages in which they use different
5202 articles. Localize the strings "increment" and "decrement" in one
5203 case.
5204
5205 Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
5206
5207 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
5208 when no changes has been made.
5209
5210 * gcse.c (reg_set_bitmap): Turn into reg_set.
5211 (modify_mem_list_set, canon_modify_mem_list_set)
5212 (clear_modify_mem_tables, free_modify_mem_tables): New.
5213 (gcse_main); Use free_modify_mem_tables.
5214 (free_gcse_mem): Likewise; free the bitmaps.
5215 (alloc_gcse_main): Initialize the bitmaps.
5216 (canon_list_insert): Set canon_modify_mem_list_set.
5217 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
5218 (compute_hash_table): Use clear_modify_mem_tables.
5219 (reset_opr_set_tables): Likewise.
5220 (oprs_not_set_p): reg_set_bitmap is regset.
5221 (mark_set, mark_clobber): Likewise.
5222
5223 * df.h (DF_EQUIV_NOTES): New constant.
5224 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
5225 when asked for.
5226
5227 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
5228 (init_regions, schedule_insns): Conditionalize the checking
5229 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
5230
5231 Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
5232
5233 * i386.md (movti_rex64 splitter): Fix condition.
5234
5235 2001-10-29 Zack Weinberg <zack@codesourcery.com>
5236
5237 * configure.in: Do not assume that gas's version number is the
5238 last thing on the first line of as --version output.
5239 * configure: Regenerate.
5240
5241 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
5242 MT_WARNING, MT_ERROR, MT_FATAL.
5243 (main): Call gcc_init_libintl.
5244 (v_message): Call gettext on msgid and "warning: "
5245 * tradcif.y: Include intl.h.
5246 (yyerror): Make parameter definition consistent with
5247 prototype. Call gettext on msgid argument.
5248
5249 2001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5250
5251 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
5252 warnings.
5253
5254 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
5255
5256 Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5257
5258 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
5259 before referencing it.
5260
5261 2001-10-26 DJ Delorie <dj@redhat.com>
5262
5263 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
5264 override -G, and force -G0.
5265
5266 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
5267
5268 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
5269 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
5270 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
5271 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
5272
5273 * loop.h (struct induction): Rename ext_dependant to
5274 ext_dependent.
5275 * loop.c: Change all uses.
5276 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
5277 All callers changed.
5278 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
5279
5280 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
5281
5282 * c-parse.in (expr_no_commas, primary), c-typeck.c
5283 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
5284
5285 2001-10-29 David Edelsohn <edelsohn@gnu.org>
5286
5287 Undo assemble_name change in earlier patch.
5288
5289 Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
5290
5291 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
5292 determining the type of the receiver, do not check that TREE_CODE
5293 of receiver is CALL_EXPR before calling receiver_is_class_object().
5294 (receiver_is_class_object): For the GNU runtime: recognize
5295 the case that the receiver is self in a class method context.
5296 Check that TREE_CODE of receiver is CALL_EXPR when checking that
5297 the receiver is a call to objc_get_class.
5298
5299 2001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
5300
5301 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
5302
5303 Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5304
5305 * Makefile.in (OBJS): Put all files in alphabetical order.
5306
5307 * dwarf2out.c (add_const_value_attribute): Fix error in last
5308 change.
5309
5310 Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
5311
5312 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
5313 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
5314 fix warning.
5315 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
5316 (life_analysis): call purge_all_dead_edges after deleting noops.
5317 (delete_noop_move): Do not purge CFG.
5318 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
5319
5320 2001-10-28 David Edelsohn <edelsohn@gnu.org>
5321
5322 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
5323 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
5324 (ASM_GLOBALIZE_LABEL): Use assemble_name.
5325 (ASM_OUTPUT_COMMON): Likewise.
5326 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
5327 (rs6000_output_function_epilogue): Likewise.
5328 (output_mi_thunk): Fix typo.
5329 (rs6000_output_symbol_ref): Use assemble_name.
5330 (output_toc): Likewise.
5331 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
5332 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
5333 assemble_name calls STRIP_NAME_ENCODING.
5334 (ASM_OUTPUT_LABEL): Use assemble_name.
5335 (ASM_GLOBALIZE_LABEL): Likewise.
5336 (ASM_DECLARE_FUNCTION_NAME): Likewise.
5337 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
5338 (ASM_OUTPUT_LOCAL): Likewise.
5339
5340 Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5341
5342 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
5343 (expand_builtin_apply, expand_builtin_return): Likewise.
5344 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
5345
5346 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
5347
5348 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5349 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
5350 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
5351 configure, configure.in, except.c, except.h, flow.c, function.c,
5352 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
5353 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
5354 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
5355 unroll.c: Fix spelling errors.
5356
5357 * doc/extend.texi, doc/invoke.texi: Fix spelling.
5358
5359 * doc/gcc.texi: Document use of "dependent" and American spelling.
5360
5361 Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
5362
5363 * expr.c (emit_group_load): Support CONCATs by storing them to memory
5364 and reloading.
5365
5366 Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5367
5368 * expr.c (store_constructor_field): Only call adjust_address on MEM.
5369
5370 Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
5371
5372 * genrecog.c (write_switch): Output if before switch for
5373 DT_elt_zero_wide_safe.
5374
5375 2001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5376
5377 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
5378 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
5379 (FUNCTION_PROFILER): Const-ify.
5380 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
5381 (eliminate_constant_term, assemble_name, output_addr_const):
5382 Remove declarations.
5383 (ptr_half_pic_address_p, half_pic_hash): Prototype.
5384 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
5385 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
5386 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
5387 (half_pic_declare, half_pic_external): Const-ify.
5388 * toplev.c: Include "halfpic.h".
5389
5390 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
5391
5392 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
5393 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
5394 config/i386/i386.c, config/i386/i386-interix.h,
5395 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
5396 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
5397 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
5398 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
5399 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
5400 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
5401 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
5402 spelling errors.
5403
5404 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
5405 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
5406 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
5407 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
5408 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
5409 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
5410 system.h, toplev.c: Fix spelling errors.
5411
5412 Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5413
5414 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
5415
5416 * dwarf2out.c (reg_number): Abort if pseudo.
5417 (reg_loc_descriptor): Return 0 if pseudo.
5418 (is_based_loc): Return 0 if pseudo.
5419 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
5420 recursive calls.
5421 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
5422 (loc_descriptor): Return 0 if can't find location and handle 0
5423 return from recursive calls.
5424 (loc_descriptor_from_tree): Likewise.
5425 Fix handling of indirect.
5426 Also return 0 for PLACEHOLDER_EXPR.
5427 Clean up COMPONENT_REF cases.
5428 (add_AT_location_descriptor): Simplify, but handle 0 return from
5429 loc_descriptor.
5430 (add_const_value_attribute): Avoid shift count warning.
5431 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
5432 Set comp_unit_die as context if not in function.
5433
5434 * config/mips/mips-protos.h: Break up long lines.
5435 Remove needless #ifdef/#endif blocks.
5436 Don't declare functions declared in file made by genpreds or recog.h.
5437 * config/mips/mips.c (mips_output_function_prologue): TSIZE
5438 is now HOST_WIDE_INT; delete unneeded casts.
5439 * config/mips/mips.h: Don't use #elif.
5440
5441 * expr.c (stor_constructor_field): Always call adjust_address.
5442 Copy TARGET before changing its alias set.
5443 (store_field): Likewise, for TO_RTX.
5444 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
5445 replacement.
5446 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
5447 (find_placeholder): Return 0 if can't find object.
5448 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
5449 returns 0.
5450
5451 Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
5452
5453 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
5454
5455 Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
5456
5457 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
5458 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
5459 (merge_blocks): Properly udpate life after making edge nonfallthru.
5460 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
5461
5462 2001-10-26 Kazu Hirata <kazu@hxi.com>
5463
5464 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
5465
5466 2001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
5467
5468 * c-typeck.c (convert_arguments): When comparing for enumeral
5469 type equality, use TYPE_MAIN_VARIANT.
5470 * gcc.dg/Wconversion.c: New tests.
5471
5472 2001-10-26 Kazu Hirata <kazu@hxi.com>
5473
5474 * s390/s390.c: Fix comment typos.
5475 * s390/s390.h: Likewise.
5476 * s390/s390.md: Likewise.
5477
5478 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
5479
5480 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
5481 (walk_tree): Use it for tail calls where appropriate.
5482
5483 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
5484
5485 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
5486 non-local label_refs.
5487
5488 2001-10-26 Kazu Hirata <kazu@hxi.com>
5489
5490 * config/h8300/h8300.md (4 anonymous patterns): New.
5491
5492 2001-10-26 Kazu Hirata <kazu@hxi.com>
5493
5494 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
5495 algorithm through the shift_info structure.
5496 (emit_a_shift): Update the use of get_shift_alg.
5497
5498 2001-10-27 Daniel Berlin <dan@cgsoftware.com>
5499
5500 * sched-rgn.c: Remove bitset typedef.
5501 Change bitset to sbitmap in prototypes / variable types.
5502 Remove bbset_size.
5503 Remove edgeset_bits.
5504 Remove edgeset_size.
5505 s/BITSET_ADD/SET_BIT/g
5506 s/BITSET_INVERT/sbitmap_ones/g
5507 s/BITSET_INTER/sbitmap_a_and_b/g
5508 s/BITSET_UNION/sbitmap_a_or_b/g
5509 s/BITSET_DIFFER/sbitmap_difference/g
5510 s/bitset_member/TEST_BIT/g
5511 (BITSET_*): Removed.
5512 (bitset_member): Removed.
5513 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
5514 EXECUTE_IF_SET_IN_SBITMAP.
5515 (split_edges): Rewrite, use sbitmap functions instead of bitset
5516 operations.
5517 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
5518
5519 2001-10-26 Andreas Schwab <schwab@suse.de>
5520
5521 * reload1.c (emit_input_reload_insns): Fix parens in last
5522 (undocumented) change that was supposed to change only whitespace.
5523
5524 Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5525
5526 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
5527
5528 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
5529 ASM_OPERANDS.
5530
5531 2001-10-26 Andreas Jaeger <aj@suse.de>
5532
5533 * flow.c (clear_log_links): Remove unused variable.
5534 * cfgcleanup.c (cleanup_cfg): Likewise.
5535
5536 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
5537
5538 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
5539 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
5540
5541 2001-10-26 Richard Henderson <rth@redhat.com>
5542
5543 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
5544 rename PV_REG to R27_REG.
5545 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
5546 (REG_CLASS_FROM_LETTER): Update.
5547 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
5548 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
5549 (udivsi3, modsi3, umodsi3): Likewise.
5550 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
5551
5552 2001-10-26 Richard Henderson <rth@redhat.com>
5553
5554 * cfg.c (clear_aux_for_blocks): Split out of ...
5555 (free_aux_for_blocks): here.
5556 (clear_aux_for_edges): Split from ...
5557 (free_aux_for_edges): here.
5558 * basic-block.h: Declare them.
5559 * lcm.c (compute_antinout_edge): Use them.
5560 (compute_laterin, compute_available, compute_nearerout): Likewise.
5561 (optimize_mode_switching): Likewise.
5562
5563 2001-10-26 Richard Henderson <rth@redhat.com>
5564
5565 * Makefile.in (unstage*): Remove as, ld, collect-ld before
5566 moving everything back to the main build directory.
5567
5568 2001-10-26 Christopher Faylor <cgf@redhat.com>
5569
5570 * config/i386/cygwin.h: Search target specific include directory, if
5571 appropriate.
5572
5573 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5574
5575 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
5576 of macro guards. Fix #endif comment.
5577
5578 * output.h (default_exception_section, default_eh_frame_section):
5579 Move prototypes outside of macro guard.
5580
5581 * crtstuff.c: Fix #endif comment.
5582
5583 Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
5584
5585 * doc/md.texi (movMM): Clarify semantics of storing into a
5586 non-paradoxical SUBREG.
5587
5588 2001-10-25 Zack Weinberg <zack@codesourcery.com>
5589
5590 * langhooks.c (lang_hook_default_clear_binding_stack): New.
5591 (lang_hook_default_get_alias_set): Move next to other alias
5592 hooks.
5593 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
5594 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
5595 (LANG_HOOKS_INITIALIZER): Add it.
5596 * toplev.h (struct lang_hooks): Add clear_binding_stack.
5597 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
5598 instead of a loop calling poplevel.
5599
5600 2001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
5601
5602 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
5603 occurrences of #elif with #if...#endif.
5604
5605 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5606
5607 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
5608
5609 Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5610
5611 * alias.c (can_address_p): No longer static.
5612 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
5613 Return 0 if all parameters are default values.
5614 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
5615 (adjust_address_1): Try harder to compute a size.
5616 * expr.c (expand_assignment, store_constructor): If can't address,
5617 set MEM_KEEP_ALIAS_SET_P.
5618 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
5619 (store_field): Likewise.
5620 (store_constructor): Simplify call to store_constructor_field.
5621 * expr.h (can_address_p): New declaration.
5622 * gensupport.c (gen_rtx_CONST_INT): New function.
5623 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
5624 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
5625 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
5626
5627 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
5628
5629 2001-10-24 Christopher Faylor <cgf@redhat.com>
5630
5631 * config/i386/cygwin.h: Use proper path for mingw crt files when
5632 -mno-cygwin.
5633
5634 Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5635
5636 * dwarf2out.c (file_info_cmp): Always return consistent results.
5637
5638 2001-10-24 Roger Sayle <roger@eyesopen.com>
5639
5640 * stmt.c (expand_end_case): Index jumptables from zero for
5641 suitably small values of minval.
5642
5643 2001-10-24 Jakub Jelinek <jakub@redhat.com>
5644
5645 * stor-layout.c (place_union_field): If any field was aligned with
5646 attribute aligned, set record type's TYPE_USER_ALIGN.
5647 (place_field): Likewise.
5648 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
5649 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
5650
5651 2001-10-24 Zack Weinberg <zack@codesourcery.com>
5652
5653 * c-common.h (struct c_common_identifier): Remove rid_code field.
5654 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
5655
5656 * c-typeck.c (constructor_designated): New local flag.
5657 (struct constructor_stack): Add "designated" field to match.
5658 (start_init): Clear it.
5659 (really_start_incremental_init, push_init_level): Push and
5660 clear it.
5661 (pop_init_level): Pop it.
5662 (set_designator): Set it.
5663
5664 (pop_init_level): Suppress "missing initializer" warnings if
5665 constructor_designated is true.
5666 (process_init_element): Suppress warning about union
5667 initialization under traditional C, if constructor_designated
5668 is true.
5669
5670 Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5671
5672 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
5673 change.
5674
5675 Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
5676
5677 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
5678
5679 2001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
5680
5681 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
5682 the node was already a set to a constant.
5683
5684 Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5685
5686 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
5687 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
5688
5689 2001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5690
5691 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
5692 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
5693 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5694 * s390.c (s390_final_chunkify): Don't use string concatenation.
5695 (s390_function_prologue, s390_function_epilogue): Const-ify.
5696 * s390.h (FUNCTION_PROFILER): Remove unused variable.
5697
5698 2001-10-24 Jakub Jelinek <jakub@redhat.com>
5699
5700 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
5701 prototypes.
5702
5703 2001-10-23 Stan Shebs <shebs@apple.com>
5704
5705 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
5706 -traditional-cpp in first-stage compilation.
5707
5708 Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5709
5710 * gensupport.c (target_flags): Add.
5711
5712 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
5713
5714 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
5715 if needed.
5716 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
5717 * except.c (expand_builtin_frob_return_addr): Likewise.
5718 (expand_builtin_eh_return): Likewise.
5719 * stmt.c (expand_computed_goto): Likewise.
5720 * explow.c (memory_address): Likewise.
5721 (allocate_dynamic_stack_space): Clean up predicate testing.
5722 (probe_stack_range): Convert SIZE to Pmode.
5723 * calls.c (rtx_for_function_call): Only call convert_memory_address
5724 if needed.
5725 Pass function call operand as ptr_mode, not Pmode.
5726 * expr.c (expand_assignment): Clean up calls to convert_memory
5727 address by only doing so when needed and making offsets Pmode.
5728 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
5729 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
5730 is in Pmode, not ptr_mode.
5731
5732 2001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5733
5734 * darwin-protos.h (constructor_section, destructor_section,
5735 mod_init_section, mod_term_section): Prototype.
5736 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
5737 Const-ify.
5738 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
5739 Likewise.
5740 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
5741 objc_section_init declaration.
5742 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
5743 (objc_section_init, try_section_alias): Make static.
5744 (alias_section): Make static and hide unused function.
5745 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5746
5747 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5748
5749 * alias.c (can_address_p): Compnonents are not addressable if
5750 the containing type has alias set 0.
5751 (get_alias_set): Rework to use STRIP_NOPS.
5752 Only call front-end routine on object, type, or object with
5753 NOPs stripped, not inner values.
5754 Use language hook to call front-end routine.
5755 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
5756 (expand_builtin_apply): Call set_mem_align on MEMs we make.
5757 Don't pass alignment to emit_block_move.
5758 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
5759 (expand_builtin_memset): Likewise, but for clear_storage.
5760 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
5761 and remove C++ specific parts.
5762 * c-common.h (c_common_get_alias_set): Add declaration.
5763 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
5764 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
5765 (save_fixed_argument_area): Call set_mem_align.
5766 Remove alignment in call to emit_block_move.
5767 (emit_library_call_value_1, store_one_arg): Likewise.
5768 (target_for_arg): Remove; disabled long ago.
5769 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
5770 once and similar cleanups.
5771 (offset_address): Use proper introductory comment.
5772 * expr.c (emit_block_move): Use alignment from that of MEM args, not
5773 from explicit operand; all callers changed.
5774 (clear_storage): Likewise.
5775 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
5776 (store_field): Remove kludge on alias set used for to_rtx.
5777 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
5778 (expand_expr_unaligned): Call set_mem_attributes instead of
5779 set_mem_alias_set.
5780 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
5781 * function.c (assign_stack_temp_for_type): Set MEM alignment.
5782 (expand_function_end): Track MEM attributes of trampolines.
5783 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
5784 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
5785 attributes from original.
5786 * langhooks.c (lang_hook_default_get_alias_set): New function.
5787 (hook_get_alias_set_0): New function.
5788 * langhooks.h (hook_get_alias_set_0): New declaration.
5789 (lang_hook_default_get_alias_set): Likewise.
5790 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
5791 * reload1.c (alter_reg): Use adjust_address_nv.
5792 * rtl.c (get_mode_alignment): Moved to here.
5793 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
5794 change default if unknown from 1 to BITS_PER_UNIT.
5795 * stor-layout.c (get_mode_alignment): Remove from here.
5796 * toplev.h (struct lang_hoks): Add get_alias_set field.
5797 * tree.h (lang_get_alias_set): Delete declaration.
5798 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
5799 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
5800 (ix86_va_arg): Likewise.
5801 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
5802 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
5803 * config/sparc/sparc.c (sparc_va_arg): Likewise.
5804 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
5805 (expand_block_move_mem): Remove dead code.
5806
5807 2001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
5808
5809 * c-common.c (warn_div_by_zero): New.
5810 * c-common.h (warn_div_by_zero): New.
5811 * c-decl.c (c_decode_option): Take it on the command line.
5812 * c-typeck.c (build_binary_op): Warn about division by zero.
5813 * doc/invoke.texi: Document the new command line option, fix
5814 documentation of -Wmultichar.
5815 * testsuite/gcc.dg/divbyzero.c: New tests.
5816 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
5817
5818 Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
5819
5820 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
5821
5822 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
5823 to avoid update_life_info call.
5824 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
5825 * cfgcleanup.c (bb_flags): New enum.
5826 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
5827 (notice_new_block, update_forwarder_flag): New functions.
5828 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
5829 (try_forward_edges): Likewise; update flags.
5830 (merge_blocks): Likewise.
5831 (outgoing_edges_match): Likewise.
5832 (try_crossjump_to_edge): Likewise.
5833 (try_optimize_cfg): Likewise; initialize and clear the flags;
5834 recompute life info if needed.
5835 (cleanup_cfg): No need to clear aux pointers.
5836
5837 2001-10-23 Alexandre Oliva <aoliva@redhat.com>
5838
5839 * config/i386/i386.c (override_options): Default to minimum
5840 stack alignment when optimizing for code size.
5841 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
5842 change.
5843
5844 * config/i386/i386.c (override_options): Set upper limit of
5845 -mpreferred-stack-boundary to 12.
5846
5847 2001-10-22 Zack Weinberg <zack@codesourcery.com>
5848
5849 * recog.c (peephole2_optimize): Add default case to switch.
5850
5851 2001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
5852
5853 * doc/gcc.texi (Sending Patches): Remove.
5854
5855 2001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
5856
5857 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
5858 fields when comparing.
5859
5860 2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5861
5862 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
5863 * arm.c (HOST_INT, HOST_UINT): Likewise.
5864
5865 2001-10-22 Stan Shebs <shebs@apple.com>
5866
5867 * config/darwin-protos.h (darwin_exception_section): Declare.
5868 (darwin_eh_frame_section): Declare.
5869
5870 Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
5871
5872 * i386.md (movti_rex64): Fix mode.
5873
5874 2001-10-22 Stan Shebs <shebs@apple.com>
5875
5876 * target.h (struct gcc_target): Add asm_out.exception_section,
5877 asm_out.eh_frame_section.
5878 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
5879 (TARGET_ASM_EH_FRAME_SECTION): New.
5880 (TARGET_INITIALIZER): Update.
5881 * output.h (default_exception_section): Declare.
5882 (default_eh_frame_section): Declare.
5883 * dwarf2out.c: Include target.h.
5884 (output_call_frame_info): Call target hook for eh frames.
5885 (default_eh_frame_section): New function.
5886 * except.c: Include target.h.
5887 (output_function_exception_table): Call target hook for exception
5888 section.
5889 * varasm.c (default_exception_section): Rename from
5890 exception_section, remove EXCEPTION_SECTION macro.
5891
5892 * config/darwin.h (darwin_eh_frame_section): New function.
5893 (EXCEPTION_SECTION): Remove.
5894 (TARGET_ASM_EXCEPTION_SECTION): Define.
5895 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
5896 (nextstep_exception_section): New function.
5897 (nextstep_eh_frame_section): New function.
5898 (TARGET_ASM_EXCEPTION_SECTION): Define.
5899 (TARGET_ASM_EH_FRAME_SECTION): Define.
5900
5901 * config/pa/som.h (EXCEPTION_SECTION): Remove.
5902 (TARGET_ASM_EXCEPTION_SECTION): Define.
5903 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
5904 (EXCEPTION_SECTION): Remove.
5905 (TARGET_ASM_EXCEPTION_SECTION): Define.
5906 * config/stormy16/stormy16.h: Remove comments referencing
5907 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
5908
5909 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
5910 TARGET_ASM_EH_FRAME_SECTION.
5911
5912 2001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
5913
5914 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
5915 terms.
5916
5917 * c-format.c: Fix spelling typo in comment.
5918
5919 * sched-int.h: Fix typo in GCC preamble.
5920
5921 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
5922
5923 PR debug/4252
5924 * doc/invoke.texi: Remove references to -fdump-translation-unit.
5925
5926 2001-10-22 Richard Henderson <rth@redhat.com>
5927
5928 * config/i386/i386.c (ix86_expand_clear): New.
5929 * config/i386/i386-protos.h: Declare it.
5930 * config/i386/i386.md (setcc peep2s): Use it.
5931 (movsi_xor): Unexport.
5932
5933 2001-10-22 Richard Henderson <rth@redhat.com>
5934
5935 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
5936 free_EXPR_LIST_list for LOG_LINKS.
5937
5938 2001-10-21 Robert Lipe <robertlipe@usa.net>
5939
5940 * config/i386/i386.c (sco_asm_named_section): Delete.
5941 (sco_asm_out_constructor): Delete.
5942 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
5943 (ASM_OUTPUT_DOUBLE_INT): Likewise.
5944 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
5945 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
5946 (EXCEPTION_SECTION): Delete EH scn renaming hack.
5947
5948 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5949
5950 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
5951 and/or fold extra calls into fewer ones.
5952 * collect2.c (dump_file): Likewise.
5953 * cppexp.c (parse_number): Likewise.
5954 * cpplex.c (_cpp_lex_direct): Likewise.
5955 * final.c (output_asm_insn, asm_fprintf): Likewise.
5956 * fix-header.c (inf_scan_ident, main): Likewise.
5957 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
5958 Likewise.
5959 * fold-const.c (real_hex_to_f): Likewise.
5960 * gen-protos.c (parse_fn_proto): Likewise.
5961 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
5962 * genrecog.c (change_state, write_action): Likewise.
5963 * gensupport.c (shift_output_template): Likewise.
5964 * local-alloc.c (requires_inout): Likewise.
5965 * mips-tfile.c (IS_ASM_IDENT): Likewise.
5966 * protoize.c (is_id_char, main): Likewise.
5967 * real.c (asctoeg): Likewise.
5968 * recog.c (asm_operand_ok): Likewise.
5969 * reload.c (find_reloads): Likewise.
5970 * scan.c (scan_identget_token): Likewise.
5971 * sched-vis.c (print_value): Likewise.
5972 * stringpool.c (ggc_alloc_string): Likewise.
5973 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
5974 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
5975 * tradcpp.c (rescan): Likewise.
5976 * tree.c (clean_symbol_name): Likewise.
5977 * varasm.c (decode_reg_name): Likewise.
5978
5979 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
5980 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
5981 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
5982 * m88k.c (output_ascii): Likewise.
5983 * m88k.h (OVERRIDE_OPTIONS): Likewise.
5984 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
5985 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
5986 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
5987
5988 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
5989
5990 * langhooks.c (lang_hook_default_do_nothing,
5991 lang_hook_default_decode_option): New defaults.
5992 * langhooks.h: Make hooks unconditional and non-NULL.
5993 * toplev.c (compile_file, toplev_main): Update.
5994 * toplev.h: Update comments.
5995 * objc/objc-act.c (lang_hooks): Update to new paradigm.
5996
5997 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5998
5999 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
6000
6001 * system.h (IN_RANGE): New macro.
6002
6003 2001-10-21 Zack Weinberg <zack@codesourcery.com>
6004
6005 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
6006 INTLDEPS variable, which does not include $LIBICONV.
6007 * Makefile.in: Use INTLDEPS in LIBDEPS.
6008 * configure: Regenerate.
6009
6010 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
6011
6012 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
6013 * cpplex.c (lex_percent, lex_dot): Remove.
6014 (get_effective_char, skip_block_comment, skip_line_comment,
6015 parse_identifier_slow, parse_number, parse_string, save_comment,
6016 _cpp_lex_direct): Update to do lookback freely.
6017 (IF_NEXT_IS, BACKUP): New macros.
6018 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
6019 * cppmacro.c (paste_tokens): Update.
6020
6021 2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
6022
6023 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
6024
6025 2001-10-20 Hans-Peter Nilsson <hp@axis.com>
6026
6027 * reload1.c (reload): Check CONSTANT_P before calling
6028 LEGITIMATE_PIC_OPERAND_P.
6029 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
6030 workaround of 2001-10-13.
6031
6032 Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
6033
6034 * i386.c (split_di): Handle splitting of DFmode.
6035
6036 Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6037
6038 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
6039 (adjust_address_1, offset_address): Likewise.
6040
6041 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
6042 (output_asm_insn): Call it for each line output.
6043 Don't record an operand more than once.
6044
6045 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
6046 * main.c: Include config.h and system.h, but not ansidecl.h.
6047 * Makefile.in (main.o): Update accordingly.
6048
6049 Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
6050
6051 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
6052
6053 Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
6054
6055 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
6056 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
6057 Break out from ...
6058 (find_sub_basic_blocks): ... here;
6059 (find_many_sub_basic_blocks): New.
6060 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
6061
6062 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
6063
6064 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
6065
6066 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
6067
6068 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
6069 * flow.c (update_life_info): Measure time.
6070 * c-decl.c: Include timevar.h
6071 (c_expand_body): Measure time.
6072 * toplev.c (rest_of_compilation): Measure time of mode switching
6073 separately.
6074 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
6075
6076 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
6077 (lang_independent_options): Add asynchronous-unwind-tables
6078 (toplev_main): flag_asynchronous_unwind_tables implies
6079 flag_unwind_tables.
6080 * flags.h (flag_asynchronous_unwind_tables): Declare.
6081 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
6082 flag_asynchronous_unwind_tables.
6083 (output_call_frame_info): Likewise.
6084 * invoke.texi (-fasynchronous-unwind-tables): Document.
6085 * i386.c (optimization_options): Enable
6086 flag_asynchronous_unwind_tables.
6087
6088 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
6089 * i386.md (s* expanders): Destination is QImode.
6090
6091 * toplev.c (rest_of_compilation): Do not call clear_log_links.
6092 * rtl.h (clear_log_links): Kill.
6093 * flow.c (clear_log_links): Make static; accept blocks parameter;
6094 do no clear life info.
6095 (update_life_info): Call clear_log_links.
6096
6097 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
6098
6099 2001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
6100
6101 * cpplex.c (handle_newline, skip_escaped_newlines,
6102 get_effective_char, skip_block_comment, skip_line_comment,
6103 parse_identifier_slow, parse_number, parse_string,
6104 _cpp_lex_direct): Update to do more stepping back.
6105 (trigraph_ok): Similarly. Rename trigraph_p.
6106 (SAVE_STATE, RESTORE_STATE): Remove.
6107 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
6108
6109 * cpplib.c (destringize): Rename destringize_and_run, and
6110 call run_directive directly.
6111 (_cpp_do__Pragma): Simplify.
6112
6113 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6114
6115 * pe.c (arm_pe_unique_section): Const-ify.
6116 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6117 (switch_to_section): Add static prototype.
6118
6119 * output.h (drectve_section): Prototype.
6120
6121 2001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6122
6123 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
6124 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
6125 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
6126 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
6127 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
6128 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
6129 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
6130 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
6131 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
6132 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
6133 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
6134 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
6135 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
6136 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
6137 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
6138 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
6139 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
6140 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
6141 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
6142 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
6143 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
6144 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
6145 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
6146 cris-*-none, cris-*-linux*: Update ${tmfile} list.
6147 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
6148 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
6149 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
6150 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
6151 v850-*-*): Delete superflous ${cpu_type} setting.
6152 * config/linux.h: Delete svr4.h include.
6153 (SET_ASM_OP): Delete.
6154 * config/netware.h (INT_ASM_OP): Undef before define.
6155 * config/ptx4.h: Delete elfos.h include.
6156 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
6157 * config/svr4.h: Delete elfos.h include. Update commentary.
6158 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
6159 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
6160 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
6161 config/v850/v850.h: Delete svr4.h include.
6162 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
6163 config/m68k/m68kv4.h, config/m88k/sysv4.h,
6164 config/sparc/sysv4.h: Update includes.
6165 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
6166 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
6167 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
6168 config/m88k/dguxbcs.h: Delete includes.
6169 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
6170 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
6171 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
6172 it.
6173 * config/m88k/dgux.h: Delete include.
6174 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
6175 defining it.
6176 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
6177 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
6178 * config/sh/elf.h: Update include.
6179 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
6180 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
6181
6182 2001-10-19 Catherine Moore <clm@redhat.com>
6183
6184 * config/stormy16/stormy-abi: Updates to varargs descriptions.
6185 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
6186 base and count fields.
6187 (stormy16_expand_builtin_va_start): last_reg_count changed to
6188 size_of_reg_args. Use count + size in first comparison.
6189
6190 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6191
6192 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
6193 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
6194 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
6195 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
6196 Set alignment from type if INDIRECT_REF.
6197 (adjust_address_1, offset_address): Simplify alignment compuitation.
6198 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
6199 here; done by set_mem_attributes.
6200
6201 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6202
6203 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
6204 * arm-protos.h (rdata_section, zero_init_section, common_section):
6205 Prototype.
6206 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
6207 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
6208 traditional mode stringification.
6209 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
6210 in macros controling its use.
6211 * rtlanal.c: Include tm_p.h.
6212 * varasm.c (asm_output_aligned_bss): Mark parameter with
6213 ATTRIBUTE_UNUSED.
6214 (assemble_constant_align, assemble_start_function, assemble_align,
6215 assemble_variable, assemble_trampoline_template,
6216 output_constant_def_contents): Wrap potentially empty if-stmt body
6217 in brackets.
6218
6219 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6220
6221 * a29k-protos.h (literal_section): Prototype.
6222 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
6223 * a29k.md: Ensure function pointers are prototyped.
6224 * genattrtab.c (write_eligible_delay): Mark parameter with
6225 ATTRIBUTE_UNUSED.
6226
6227 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6228
6229 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
6230 * 1750a.c (print_operand): Fix format specifier warning.
6231 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
6232 * 1750a.md: Likewise.
6233 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
6234 * genemit.c (output_add_clobbers): Mark parameter with
6235 ATTRIBUTE_UNUSED.
6236 * genrecog.c (write_subroutine): Likewise.
6237 * integrate.c (expand_inline_function): Delete unused variable.
6238 * varasm.c (remove_from_pending_weak_list): Wrap with
6239 ASM_WEAKEN_LABEL.
6240
6241 2001-10-19 Jakub Jelinek <jakub@redhat.com>
6242
6243 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
6244 field is different to previous argument's neg field.
6245
6246 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
6247
6248 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6249
6250 * final.c (get_decl_from_op): New function.
6251 (output_asm_insn): Call it; write "*" when item with decl is address.
6252
6253 2001-10-19 Janis Johnson <janis187@us.ibm.com>
6254
6255 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
6256 about 64-bit support from the 3.0_branch version.
6257
6258 2001-10-19 Zack Weinberg <zack@codesourcery.com>
6259
6260 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
6261 USE_INCLUDED_LIBINTL when appropriate.
6262 * configure, config.in: Regenerate.
6263 * Makefile.in (datadir): Set to @datadir@.
6264 (intl.o): Also depend on $(CONFIG_H) and system.h.
6265
6266 * intl.c: Factor out common gettext initialization sequence.
6267 (gcc_init_libintl): New function.
6268 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
6269 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
6270 off NLS. Add multiple include guard. No need to #ifdef-guard
6271 an #undef. Prototype gcc_init_libintl here.
6272
6273 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
6274 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
6275 Use gcc_init_libintl.
6276
6277 2001-10-19 Catherine Moore <clm@redhat.com>
6278
6279 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
6280
6281 * config/stormy16/stormy16.c (stormy16_split_move): Make
6282 sure that REG_INC notes are present for auto_inc operands.
6283
6284 2001-10-19 Andreas Jaeger <aj@suse.de>
6285
6286 * configure: Regenerated.
6287 * configure.in: Add x86_64 to switch statements.
6288
6289 2001-10-18 Richard Henderson <rth@redhat.com>
6290
6291 * config/alpha/alpha.md (sibcall_osf_1): Load destination
6292 address into $27 explicitly.
6293 (sibcall_value_osf_1): Likewise.
6294
6295 Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6296
6297 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
6298 (offset_address): New function.
6299 (free_emit_status): Free regno_decl.
6300 (init_emit): Pass proper number of elements to xcalloc.
6301 Allocate regno_decl.
6302 (mark_emit_status): Mark regno_decl values.
6303 * expr.c (highest_pow2_factor): New function.
6304 (expand_assigment): Use it and offset_address.
6305 Properly handle ptr_mode vs. Pmode in offset calculation.
6306 (store_constructor, expand_expr_unaligned): Likewise.
6307 (expand_expr, case COMPONENT_EXPR): Likewise.
6308 * expr.h (offset_address): New decl.
6309 * function.h (struct emit_status): Add regno_decl.
6310 (REGNO_DECL): New macro.
6311 * final.c (output_asm_name): Move in file and don't conditionalize
6312 on flag_print_asm_name.
6313 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
6314 Output names of operands, if known.
6315 * function.c (assign_parms): Set REGNO_DECL.
6316 * integrate.c (integrate_decl_tree): Likewise.
6317 * stmt.c (expand_decl): Likewise.
6318 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
6319
6320 2001-10-18 Alexandre Oliva <aoliva@redhat.com>
6321
6322 * attribs.c (handle_noinline_attribute): New function.
6323 (handle_used_attribute): Likewise.
6324 (c_common_attribute_table): Added noinline and used.
6325 * doc/extend.texi (Function Attributes): Document them.
6326 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
6327 Warn when merging inline with attribute noinline.
6328 (start_decl, start_function): Warn if inline and attribute
6329 noinline appear in the same declaration.
6330
6331 2001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
6332
6333 * config.gcc: Update c4x and i370 for C front end-specific
6334 dependencies.
6335 * config/c4x/c4x-c.c: New.
6336 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
6337 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6338 New declarations.
6339 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
6340 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
6341 Make extern.
6342 (c4x_init_pragma): Remove.
6343 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
6344 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
6345 c4x_pr_ignored): Move to c4x-c.c.
6346 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6347 * config/c4x/t-c4x: Update.
6348 * config/i370/i370-c.c: New.
6349 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
6350 (i370_pr_map): Move to i370-c.c.
6351 * config/i370/t-i370: New.
6352
6353 * doc/tm.texi: Update.
6354
6355 2001-10-17 Stan Shebs <shebs@apple.com>
6356
6357 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
6358 typo fixes throughout.
6359 (machopic_output_stub): Remove some dead code.
6360
6361 2001-10-17 Richard Earnshaw <rearnsha@arm.com>
6362
6363 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
6364 leak.
6365
6366 Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6367
6368 * Makefile.in (print-rtl.o): Depend on TREE_H.
6369 * alias.c (get_alias_set): Make two passes over objects to first
6370 see if inner object is access via restricted pointer.
6371 Defer allocating alias set for restricted pointer until here.
6372 Call find_placeholder with second arg nonzero.
6373 Minor cleanups.
6374 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
6375 set for restricted pointer types.
6376 * emit-rtl.c (set_mem_attributes): Set more attributes.
6377 (set_mem_align, change_address, adjust_address_1): New functions.
6378 (change_address_1): Now static.
6379 (adjust_address, adjust_address_nv): Deleted.
6380 (replace_equiv_address): Call change_address_1.
6381 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
6382 (find_placeholder): Get starting point from PLIST arg.
6383 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
6384 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
6385 (adjust_address, adjust_address_nv): New macros.
6386 * print-rtl.c (tree.h): New include.
6387 (print_rtx, case MEM): Print all memory attributes.
6388
6389 2001-10-17 Richard Henderson <rth@redhat.com>
6390
6391 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
6392
6393 2001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
6394
6395 * c-tree.texi: Eliminate duplicated word.
6396 * cpp.texi: Likewise.
6397 * install.texi: Likewise.
6398 * invoke.texi: Likewise.
6399 * tm.texi: Likewise.
6400
6401 2001-10-17 Michael Collison <collison@isisinc.net>
6402
6403 * dsp16xx.c: Fix comment formatting to match GNU standards.
6404 (dsp16xx_output_function_prologue): Change type of 'size'
6405 parameter from 'int' to HOST_WIDE_INT.
6406 (dsp16xx_output_function_epilogue): Change type of 'size'
6407 parameter from 'int' to HOST_WIDE_INT.
6408
6409 2001-10-16 Richard Henderson <rth@redhat.com>
6410
6411 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
6412 * configure, config.in: Rebuild.
6413
6414 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
6415 (ix86_output_addr_diff_elt): New.
6416 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
6417 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6418 (JUMP_TABLES_IN_TEXT_SECTION): New.
6419 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
6420 * config/i386/i386-protos.h: Update.
6421
6422 * config/i386/386bsd.h, config/i386/beos-elf.h,
6423 config/i386/freebsd-aout.h, config/i386/freebsd.h,
6424 config/i386/i386-interix.h, config/i386/i386elf.h,
6425 config/i386/linux.h, config/i386/netbsd-elf.h,
6426 config/i386/netbsd.h, config/i386/openbsd.h,
6427 config/i386/ptx4-i.h, config/i386/rtemself.h,
6428 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
6429 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
6430
6431 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
6432
6433 * stmt.c (expand_asm_operands): Update commentary.
6434
6435 2001-10-16 Stan Shebs <shebs@apple.com>
6436
6437 * config/darwin.h (GCC_NAME): Remove, no longer used.
6438 (NO_MATH_LIBRARY): Ditto.
6439 (MATH_LIBRARY): Define to emptiness.
6440 (DWARF2_DEBUGGING_INFO): Define.
6441 (PREFERRED_DEBUGGING_TYPE): Define.
6442 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
6443 (EXCEPTION_SECTION): Define.
6444 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6445 * config/darwin.c (darwin_encode_section_info): Handle case of
6446 DECL_INITIAL being error_mark_node.
6447
6448 2001-10-16 Richard Henderson <rth@redhat.com>
6449
6450 * alpha.c (current_file_function_operand): Don't fail for profiling.
6451 (direct_call_operand): New.
6452 * alpha-protos.h: Declare it.
6453 * alpha.h (EXTRA_CONSTRAINT): Use it.
6454 (PREDICATE_CODES): Add it.
6455 (ASM_OUTPUT_MI_THUNK): Remove.
6456 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
6457 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
6458
6459 2001-10-16 Krister Walfridsson <cato@df.lth.se>
6460
6461 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
6462 (JUMP_TABLES_IN_TEXT_SECTION): Define.
6463
6464 Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
6465
6466 * cfg.c (free_edge): Break out from ....
6467 (remove_edge): ... here.
6468 (clear_edges): Use free_edge.
6469
6470 * att.h (ASM_QUAD): Add comment.
6471 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
6472
6473 Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
6474
6475 * i386.c (split_ti): New function.
6476 (ix86_split_to_parts): Support TImodes.
6477 * i386.h (VALID_INT_MODE_P): Add TImode.
6478 * i386.md (movdi splitter): Fix.
6479 (movti): Support 64bit integer registers.
6480 (movti_rex64): New function and splitter.
6481
6482 * i386.c (*_cost): Add movsx/movzx cost.
6483 * i386.h (struct processor_costs): Add movsx/movzx fields.
6484 (RTX_COSTS): Handle zero/sign extend + avoid believing that
6485 64bit operations require split on 64bit machine.
6486 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
6487
6488 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
6489 (ix86_expand_move): Avoid pushes of memory if size does not match;
6490 move long constants to register.
6491 (x86_initialize_trampoline): Fix mode.
6492 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
6493 Use ASM_QUAD on 64bit.
6494 * i386.md (test pattern): Disallow impossible constants.
6495 (tablejump PIC expander): Fix emitting of sum.
6496 (movdicc_rex64): Rename to movdicc.
6497 * linux64.h (LINK_SPEC): Add missing '%'.
6498
6499 2001-10-16 Alexandre Oliva <aoliva@redhat.com>
6500
6501 * tree-inline.c (inlinable_function_p): Leave it up to the
6502 front-end to turn -finline-functions into DECL_INLINE set for all
6503 functions.
6504
6505 2001-10-16 Stan Shebs <shebs@apple.com>
6506
6507 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
6508
6509 2001-10-16 Alan Modra <amodra@bigpond.net.au>
6510
6511 * recog.c: Formatting and comment typo fixes.
6512
6513 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
6514 version in single tree build.
6515 * configure: Regenerate.
6516
6517 2001-10-15 David Edelsohn <edelsohn@gnu.org>
6518
6519 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
6520 MODE arguments to gen_rtx and compare operand with const0_rtx.
6521
6522 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
6523
6524 * system.h: Poison old unused target macros.
6525 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
6526 * config/stormy16/stormy16.c: Update references to obsolete macros.
6527 * config/stormy16/stormy16.h: Similarly.
6528 * config/stormy16/stormy16.md: Similarly.
6529 * config/cris/cris.h: Similarly.
6530
6531 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
6532
6533 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
6534 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
6535 cpp_register_pragma): Update accordingly.
6536
6537 2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
6538
6539 * c-pragma.h (cpp_register_pragma_space): Remove.
6540 * cpplib.h (cpp_register_pragma_space): Remove.
6541 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
6542 (cpp_register_pragma_space): Remove.
6543 (cpp_register_pragma): Simplify using lookup_pragma_entry,
6544 add sanity checks.
6545 (do_pragma): Similarly.
6546 (_cpp_init_internal_pragmas): Don't register namespaces.
6547
6548 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
6549 Don't register namespaces.
6550 * cp/lex.c (init_cp_pragma): Similarly.
6551 * doc/tm.texi: Update.
6552
6553 2001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
6554
6555 PR c/4157
6556 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
6557
6558 2001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
6559
6560 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
6561 add scheduling support.
6562 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
6563 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
6564 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
6565
6566
6567 2001-10-13 Hans-Peter Nilsson <hp@axis.com>
6568
6569 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
6570 missing CONSTANT_P test in core GCC.
6571
6572 2001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
6573
6574 * cppmain.c (struct printer): New member source.
6575 (scan_translation_unit): Fix spacing at start of lines.
6576 (cb_line_change): Update.
6577
6578 * gcc.dg/cpp/spacing2.c: New test.
6579
6580 2001-10-12 Hans-Peter Nilsson <hp@axis.com>
6581
6582 * config/cris/arit.c: Use __builtin_labs, not abs.
6583
6584 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
6585
6586 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
6587 misplaced sprintf and fprintf argument.
6588
6589 2001-10-12 Zack Weinberg <zack@codesourcery.com>
6590
6591 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
6592 * configure.in, Makefile.in: Take out obsolete check-po logic.
6593 * configure, config.in: Regenerate.
6594
6595 2001-10-12 Ziemowit Laski <zlaski@apple.com>
6596
6597 * objc/objc-act.c (finish_objc): Correct precondition for emitting
6598 symtab declarations.
6599
6600 2001-10-12 Stan Shebs <shebs@apple.com>
6601
6602 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
6603 declarations of arguments and local variables.
6604
6605 2001-10-12 Christopher Faylor <cgf@redhat.com>
6606
6607 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
6608 ENDFILE_SPEC definition.
6609
6610 2001-10-12 Kazu Hirata <kazu@hxi.com>
6611
6612 * gthr-dce.h: Fix comment formatting.
6613 * gthr-posix.h: Likewise.
6614 * gthr-single.h: Likewise.
6615 * gthr-solaris.h: Likewise.
6616 * gthr-vxworks.h: Likewise.
6617 * gthr-win32.h: Likewise.
6618
6619 2001-10-12 Jakub Jelinek <jakub@redhat.com>
6620
6621 * final.c (output_asm_insn): Make sure assembly dialects are
6622 terminated, not nested. Output `|' and `}' characters if they
6623 don't appear inside assembly dialect selection.
6624 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
6625 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
6626 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
6627 strsetsi_rex_1): Add {} braces.
6628
6629 2001-10-11 Zack Weinberg <zack@codesourcery.com>
6630
6631 * toplev.c (compile_file): Ignore return value from yyparse.
6632 Always pop any nested binding levels after yyparse returns.
6633
6634 2001-10-11 Richard Henderson <rth@redhat.com>
6635
6636 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
6637
6638 2001-10-11 Richard Henderson <rth@redhat.com>
6639
6640 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
6641 fall back to add_AT_long_long for large CONST_INT.
6642
6643 2001-10-11 Richard Henderson <rth@redhat.com>
6644
6645 * config/i386/i386.md (setcc splitters): Add four splitters to
6646 simplify compound compares that simplify_comparison can't handle.
6647
6648 2001-10-11 Zack Weinberg <zack@codesourcery.com>
6649
6650 * cpplex.c (digraph_spellings, token_spellings): Make static.
6651
6652 2001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6653
6654 * unroll.c (loop_iterations): Fixup last patch.
6655
6656 2001-10-11 Richard Henderson <rth@redhat.com>
6657
6658 * rtl.h (REG_VTABLE_REF): New.
6659 * rtl.c (reg_note_name): Add it.
6660 * combine.c (distribute_notes): Handle it.
6661 * final.c (final_scan_insn): Handle it.
6662 * tree.def (VTABLE_REF): New.
6663 * expr.c (expand_expr): Handle it.
6664 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
6665 * output.h: Declare them.
6666
6667 2001-10-11 Richard Henderson <rth@redhat.com>
6668
6669 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
6670 for a DECL_INITIAL.
6671
6672 2001-10-11 David Edelsohn <edelsohn@gnu.org>
6673
6674 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
6675 available in 64-bit mode.
6676
6677 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
6678
6679 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
6680 cris-*-linux* cases.
6681 * config/cris/cris-protos.h: New file.
6682 * config/cris/cris.c: New file.
6683 * config/cris/cris.h: New file.
6684 * config/cris/cris.md: New file.
6685 * config/cris/linux.h: New file.
6686 * config/cris/aout.h: New file.
6687 * config/cris/arit.c: New file.
6688 * config/cris/cris_abi_symbol.c: New file.
6689 * config/cris/mulsi3.asm: New file.
6690 * config/cris/t-aout: New file.
6691 * config/cris/t-cris: New file.
6692 * config/cris/t-elfmulti: New file.
6693 * config/cris/t-linux: New file.
6694 * doc/invoke.texi: Add CRIS options.
6695 * doc/install.texi (Specific): Add blurb for CRIS.
6696
6697 2001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
6698
6699 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
6700 before using it.
6701 * config/float/i32.h: Likewise.
6702 * config/float-i386.h: Likewise.
6703 * config/float-i64.h: Likewise.
6704 * config/float-m68k.h: Likewise.
6705 * config/float-sh.h: Likewise.
6706 * config/float-sparc.h: Likewise.
6707
6708 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
6709
6710 * doc/contrib.texi: Add note about CRIS port to my entry.
6711
6712 2001-10-11 Kazu Hirata <kazu@hxi.com>
6713
6714 * basic-block.h: Fix formatting.
6715 * bitmap.h: Likewise.
6716 * cpplib.h: Likewise.
6717 * c-tree.h: Likewise.
6718 * diagnostic.h: Likewise.
6719 * flags.h: Likewise.
6720 * ggc.h: Likewise.
6721 * longlong.h: Likewise.
6722 * real.h: Likewise.
6723 * reload.h: Likewise.
6724 * rtl.h: Likewise.
6725 * tree.h: Likewise.
6726
6727 2001-10-10 Richard Henderson <rth@redhat.com>
6728
6729 * c-parse.in (asm_operand): Allow named operands.
6730 * genconfig.c (max_recog_operands): Set to 29.
6731 * local-alloc.c (requires_inout): Skip multiple digits.
6732 * recog.c (asm_operand_ok): Likewise.
6733 (preprocess_constraints): Use strtoul for matching constraints.
6734 (constrain_operands): Likewise.
6735 * regmove.c (find_matches): Likewise.
6736 * reload.c (find_reloads): Likewise.
6737 * stmt.c (parse_output_constraint): Don't reject in-out
6738 constraint on operands > 9. Reject '[' in constraint.
6739 (expand_asm_operands): Handle named operands. Use strtoul
6740 for matching constraints.
6741 (check_operand_nalternatives): Split out from expand_asm_operands.
6742 (check_unique_operand_names): New.
6743 (resolve_operand_names, resolve_operand_name_1): New.
6744
6745 * doc/extend.texi (Extended Asm): Document named operands.
6746 * doc/md.texi (Simple Constraints): Document matching constraints
6747 on operands > 9.
6748
6749 2001-10-10 Richard Henderson <rth@redhat.com>
6750
6751 * combine.c (try_combine): Handle a SEQUENCE of one insn.
6752
6753 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
6754 (jcc splitters): Add two splitters to simplify compound compares
6755 that simplify_comparison can't handle.
6756
6757 2001-10-10 Richard Henderson <rth@redhat.com>
6758
6759 * langhooks.c: Include langhooks.h.
6760 * Makefile.in (langhooks.o): Depend on it.
6761
6762 Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
6763
6764 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
6765 should not be considered as a no-op.
6766 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
6767
6768 2001-10-10 Stan Shebs <shebs@apple.com>
6769
6770 * alias.c: Remove uses of "register" specifier in declarations
6771 of arguments and local variables.
6772 * c-common.c: Ditto.
6773 * c-convert.c: Ditto.
6774 * c-decl.c: Ditto.
6775 * c-format.c: Ditto.
6776 * c-semantics.c: Ditto.
6777 * c-typeck.c: Ditto.
6778 * caller-save.c: Ditto.
6779 * calls.c: Ditto.
6780 * cfg.c: Ditto.
6781 * cfgbuild.c: Ditto.
6782 * cfgrtl.c: Ditto.
6783 * collect2.c: Ditto.
6784 * combine.c: Ditto.
6785 * convert.c: Ditto.
6786 * cppexp.c: Ditto.
6787 * cppfiles.c: Ditto.
6788 * cse.c: Ditto.
6789 * dbxout.c: Ditto.
6790 * defaults.h: Ditto.
6791 * df.c: Ditto.
6792 * dwarf2out.c: Ditto.
6793 * dwarfout.c: Ditto.
6794 * emit-rtl.c: Ditto.
6795 * explow.c: Ditto.
6796 * expmed.c: Ditto.
6797 * expr.c: Ditto.
6798 * final.c: Ditto.
6799 * fix-header.c: Ditto.
6800 * floatlib.c: Ditto.
6801 * flow.c: Ditto.
6802 * fold-const.c: Ditto.
6803 * function.c: Ditto.
6804 * gcc.c: Ditto.
6805 * gcse.c: Ditto.
6806 * gen-protos.c: Ditto.
6807 * genattrtab.c: Ditto.
6808 * gencheck.c: Ditto.
6809 * genconfig.c: Ditto.
6810 * genemit.c: Ditto.
6811 * genextract.c: Ditto.
6812 * genflags.c: Ditto.
6813 * gengenrtl.c: Ditto.
6814 * genoutput.c: Ditto.
6815 * genpeep.c: Ditto.
6816 * genrecog.c: Ditto.
6817 * gensupport.c: Ditto.
6818 * global.c: Ditto.
6819 * gmon.c: Ditto.
6820 * graph.c: Ditto.
6821 * haifa-sched.c: Ditto.
6822 * hard-reg-set.h: Ditto.
6823 * hash.c: Ditto.
6824 * integrate.c: Ditto.
6825 * jump.c: Ditto.
6826 * lists.c: Ditto.
6827 * local-alloc.c: Ditto.
6828 * loop.c: Ditto.
6829 * mips-tdump.c: Ditto.
6830 * mips-tfile.c: Ditto.
6831 * optabs.c: Ditto.
6832 * prefix.c: Ditto.
6833 * print-rtl.c: Ditto.
6834 * read-rtl.c: Ditto.
6835 * real.c: Ditto.
6836 * recog.c: Ditto.
6837 * reg-stack.c: Ditto.
6838 * regclass.c: Ditto.
6839 * regmove.c: Ditto.
6840 * reload.c: Ditto.
6841 * reload1.c: Ditto.
6842 * reorg.c: Ditto.
6843 * resource.c: Ditto.
6844 * rtl.c: Ditto.
6845 * rtlanal.c: Ditto.
6846 * scan.c: Ditto.
6847 * sched-deps.c: Ditto.
6848 * sched-rgn.c: Ditto.
6849 * sdbout.c: Ditto.
6850 * simplify-rtx.c: Ditto.
6851 * stmt.c: Ditto.
6852 * stor-layout.c: Ditto.
6853 * toplev.c: Ditto.
6854 * tradcif.y: Ditto.
6855 * tradcpp.c: Ditto.
6856 * tree.c: Ditto.
6857 * unroll.c: Ditto.
6858 * varasm.c: Ditto.
6859 * xcoffout.c: Ditto.
6860
6861 2001-10-10 Richard Henderson <rth@redhat.com>
6862
6863 * rtl.h (can_reverse_comparison_p): Remove.
6864
6865 2001-10-10 Christopher Faylor <cgf@redhat.com>
6866
6867 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
6868 used.
6869
6870 2001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
6871
6872 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
6873 (Thanks to Chris Faylor for suggesting macro name).
6874 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
6875 WIN32 defines.
6876 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
6877 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
6878 (MATH_LIBRARY): Undef before definition.
6879 (OUTPUT_QUOTED_STRING): Likewise.
6880 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
6881
6882 2001-10-10 Richard Henderson <rth@redhat.com>
6883
6884 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
6885 (fde_unencoded_compare): Likewise. Don't use subtraction to get
6886 a tristate comparison value.
6887 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
6888
6889 2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6890
6891 PR c++/4512
6892 * unroll.c (loop_iterations): Ignore insns generated by loop
6893 unrolling.
6894
6895 * config.gcc (mips*-*-gnu*): Delete support.
6896 * config/mips/gnu.h: Remove.
6897
6898 2001-10-10 Kazu Hirata <kazu@hxi.com>
6899
6900 * calls.c: Fix formatting.
6901 * c-decl.c: Likewise.
6902 * cfgcleanup.c: Likewise.
6903 * combine.c: Likewise.
6904 * cppfiles.c: Likewise.
6905 * cpplib.c: Likewise.
6906 * cppmacro.c: Likewise.
6907 * crtstuff.c: Likewise.
6908 * cse.c: Likewise.
6909 * dwarf2out.c: Likewise.
6910 * expmed.c: Likewise.
6911 * expr.c: Likewise.
6912 * fold-const.c: Likewise.
6913 * function.c: Likewise.
6914 * gcse.c: Likewise.
6915 * genattrtab.c: Likewise.
6916 * ggc-page.c: Likewise.
6917 * integrate.c: Likewise.
6918 * libgcc2.c: Likewise.
6919 * loop.c: Likewise.
6920 * optabs.c: Likewise.
6921 * profile.c: Likewise.
6922 * protoize.c: Likewise.
6923 * real.c: Likewise.
6924 * recog.c: Likewise.
6925 * reload1.c: Likewise.
6926 * reload.c: Likewise.
6927 * reorg.c: Likewise.
6928 * resource.c: Likewise.
6929 * sched-rgn.c: Likewise.
6930 * sdbout.c: Likewise.
6931 * stmt.c: Likewise.
6932 * toplev.c: Likewise.
6933 * varasm.c: Likewise.
6934
6935 2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
6936
6937 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
6938 * Makefile.in (langhooks.o): Add dependencies.
6939
6940 Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
6941
6942 * rs6000.c (rs6000_emit_load_toc_table): Don't
6943 strdup the toc label.
6944 (create_TOC_reference): Likewise.
6945
6946 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
6947
6948 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
6949 version default.
6950
6951 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
6952
6953 * config/i386/i386.c (ix86_attribute_table): Correct
6954 min_len, max_len fields for dllimport, dllexport and shared.
6955
6956 2001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
6957
6958 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
6959 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
6960 Consistently use "nonzero" instead of "non-zero".
6961
6962 2001-10-09 Kazu Hirata <kazu@hxi.com>
6963
6964 * acconfig.h: Fix comment formatting.
6965 * c-dump.h: Likewise.
6966 * c-tree.h: Likewise.
6967 * conditions.h: Likewise.
6968 * expr.h: Likewise.
6969 * function.h: Likewise.
6970 * gthr.h: Likewise.
6971 * hwint.h: Likewise.
6972 * integrate.h: Likewise.
6973 * intl.h: Likewise.
6974 * loop.h: Likewise.
6975 * optabs.h: Likewise.
6976
6977 2001-10-09 Kazu Hirata <kazu@hxi.com>
6978
6979 * c-common.h: Fix comment formatting.
6980 * c-dump.c: Likewise.
6981 * cfg.c: Likewise.
6982 * diagnostic.h: Likewise.
6983 * except.c: Likewise.
6984 * gcc.h: Likewise.
6985 * gcov-io.h: Likewise.
6986 * genattrtab.c: Likewise.
6987 * output.h: Likewise.
6988 * predict.h: Likewise.
6989 * reload1.c: Likewise.
6990 * reload.h: Likewise.
6991 * resource.h: Likewise.
6992 * scan.h: Likewise.
6993 * system.h: Likewise.
6994 * tree.h: Likewise.
6995 * tree-inline.c: Likewise.
6996 * tsystem.h: Likewise.
6997 * varasm.c: Likewise.
6998 * xcoffout.h: Likewise.
6999
7000 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
7001
7002 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
7003
7004 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
7005
7006 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
7007 config/i386/i386elf.h, config/i386/netbsd-elf.h,
7008 config/i386/netware.h, config/mcore/gfloat.h,
7009 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
7010 config/netware.h, gccbug.in: Update FSF address.
7011
7012 2001-10-09 Kazu Hirata <kazu@hxi.com>
7013
7014 * c-common.c: Fix comment typos.
7015 * cfgrtl.c: Likewise.
7016 * collect2.c: Likewise.
7017 * cpplex.c: Likewise.
7018 * doloop.c: Likewise.
7019 * dwarf2out.c: Likewise.
7020 * dwarfout.c: Likewise.
7021 * expr.c: Likewise.
7022 * fold-const.c: Likewise.
7023 * gcc.c: Likewise.
7024 * gcov.c: Likewise.
7025 * gcse.c: Likewise.
7026 * global.c: Likewise.
7027 * ifcvt.c: Likewise.
7028 * loop.c: Likewise.
7029 * optabs.c: Likewise.
7030 * protoize.c: Likewise.
7031 * regclass.c: Likewise.
7032 * reorg.c: Likewise.
7033 * rtl.h: Likewise.
7034 * stmt.c: Likewise.
7035 * tree.h: Likewise.
7036 * doc/cpp.texi: Likewise.
7037 * doc/c-tree.texi: Likewise.
7038 * doc/extend.texi: Likewise.
7039 * doc/invoke.texi: Likewise.
7040 * doc/objc.texi: Likewise.
7041 * doc/tm.texi: Likewise.
7042
7043 2001-10-08 Richard Henderson <rth@redhat.com>
7044
7045 * varasm.c (set_named_section_flags): Initialize "declared".
7046
7047 2001-10-08 Robert Lipe <robertlipe@usa.net>
7048
7049 * varasm.c (struct in_named_entry): Add declared.
7050 (named_section_first_declaration): New function.
7051 (default_elf_asm_named_section): Use it.
7052 * output.h (named_section_first_declaration): New.
7053
7054 2001-10-08 Richard Henderson <rth@redhat.com>
7055
7056 * i386.md (movsi_xor): Export.
7057 (setcc peep2): Use it when available; add an alternative to
7058 match zero_extendhisi2_and.
7059
7060 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7061
7062 * romp-protos.h (romp_initialize_trampoline): New function.
7063 * romp.c (romp_initialize_trampoline): Likewise.
7064 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
7065 romp_initialize_trampoline.
7066
7067 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7068
7069 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
7070 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7071 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7072 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7073
7074 2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7075
7076 * unroll.c (loop_iterations): Extend check for multiple back edges.
7077
7078 2001-10-08 Alexandre Oliva <aoliva@redhat.com>
7079
7080 * langhooks.h: New file.
7081 * Makefile.in (OBJS): Added langhooks.o.
7082 (c-lang.o): Depend on langhooks.h.
7083 (c-common.o): Don't depend on tree-inline.h.
7084 (tree-inline.o): Depend on toplev.h.
7085 (langhooks.o): New rule.
7086 * c-common.c: Don't include tree-inline.h.
7087 (c_mark_lang_decl): Mark argument c as unused.
7088 (c_common_lang_init): Don't initialize hooks here.
7089 * c-lang.c: Include langhooks.h, then override some macros.
7090 (lang_hooks): Initialize with macros in langhooks.h.
7091 (c_init): Don't initialize hooks here.
7092 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
7093 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
7094 * tree-inline.c: Include toplev.h. Don't define hook variables.
7095 * tree-inline.h: Don't define hook types nor declare hook
7096 variables. Move macros to...
7097 * langhooks.c: ... new file, as functions. Adjust all callers.
7098
7099 2001-10-08 Jeffrey A Law <law@cygnus.com>
7100
7101 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
7102 purge_mem_unchanging_flag on all instructions, not just on those
7103 before NOTE_INSN_FUNCTION_BEG.
7104
7105 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7106
7107 * cppmacro.c (_cpp_create_definition): Leave comments off.
7108
7109 * doc/cpp.texi: Update.
7110
7111 2001-10-08 DJ Delorie <dj@redhat.com>
7112
7113 * c-decl.c (grokfield): Make sure the only unnamed fields
7114 we're allowing are either structs or unions.
7115 * doc/extend.texi: Add documentation for the unnamed field
7116 extension.
7117
7118 2001-10-08 Zack Weinberg <zack@codesourcery.com>
7119
7120 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
7121 * configure.in: Use it.
7122 * configure: Regenerated.
7123 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
7124 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
7125
7126 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7127
7128 * cppfiles.c (open_file): Don't mark zero-length files
7129 never-reread here. Don't output diagnostics here either.
7130 (stack_include_file): Mark them never-reread here.
7131 (_cpp_read_file): Update.
7132
7133 2001-10-08 Richard Henderson <rth@redhat.com>
7134
7135 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7136
7137 2001-10-08 Richard Henderson <rth@redhat.com>
7138
7139 * expr.c (store_expr): When converting a CONST_INT for storage
7140 in a SUBREG, convert it to both SUBREG modes before stripping
7141 the SUBREG.
7142
7143 2001-10-08 Richard Henderson <rth@redhat.com>
7144
7145 * varasm.c (restore_varasm_status): New.
7146 * function.h: Declare it.
7147 * function.c (pop_function_context_from): Call it.
7148
7149 2001-10-08 Richard Henderson <rth@redhat.com>
7150
7151 * c-common.h (struct c_lang_decl): Add declared_inline.
7152 * c-tree.h (DECL_DECLARED_INLINE_P): New.
7153 * c-lang.c (c_disregard_inline_limits): Use it.
7154 * c-decl.c (duplicate_decls): Likewise.
7155 (pushdecl, redeclaration_error_message): Likewise.
7156 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
7157 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
7158 Set DECL_INLINE if -finline-functions.
7159 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
7160
7161 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7162
7163 * cppmacro.c (funlike_invocation_p): Move some logic to caller
7164 in enter_macro_context. Create a padding token in its own context
7165 if necessary when the search for '(' fails.
7166 (enter_macro_context): Update.
7167
7168 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7169
7170 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
7171 genmultilib, toplev.c: Fix spelling errors of "separate" as
7172 "seperate", and corresponding spelling errors of related words.
7173
7174 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7175
7176 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
7177 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
7178 Likewise.
7179 * c-dump.c (dump_option_value_info): Likewise.
7180 * c-format.c (format_length_info, format_char_info,
7181 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
7182 * collect2.c (names): Likewise.
7183 * cppdefault.h (default_include): Likewise.
7184 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
7185 * flow.c (life_analysis): Likewise.
7186 * gcc.c (dir_separator_str, modify_target, option_map,
7187 target_option_translations, spec_list_1, extra_specs_1,
7188 init_spec): Likewise.
7189 * gcov.c (gcov_version_string): Likewise.
7190 * genattr.c (write_units): Likewise.
7191 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
7192 * gengenrtl.c (rtx_definition, defs): Likewise.
7193 * genrecog.c (pred_table): Likewise.
7194 * global.c (global_alloc): Likewise.
7195 * lcm.c (optimize_mode_switching): Likewise.
7196 * local-alloc.c (find_free_reg): Likewise.
7197 * params.h (param_info): Likewise.
7198 * predict.c (predictor_info): Likewise.
7199 * protoize.c (unexpansion_struct): Likewise.
7200 * real.c (bmask): Likewise.
7201 * recog.h (insn_operand_data, insn_data): Likewise.
7202 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
7203 * stmt.c (expand_nl_goto_receiver): Likewise.
7204 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
7205 target_switches, target_options): Likewise.
7206 * tradcif.y (token, tokentab2, yylex): Likewise.
7207 * tree.h (attribute_spec): Likewise.
7208
7209 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
7210 Likewise.
7211 * arc.c (arc_output_function_epilogue): Likewise.
7212 * arm.c (processors, all_cores, all_architectures,
7213 arm_override_options, isr_attribute_arg, isr_attribute_args,
7214 arm_isr_value): Likewise.
7215 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
7216 Likewise.
7217 * c4x.c (c4x_int_reglist): Likewise.
7218 * d30v.c (override_options): Likewise.
7219 * h8300.c (shift_insn): Likewise.
7220 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
7221 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
7222 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
7223 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
7224 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
7225 * i386.h (processor_costs, ix86_cost): Likewise.
7226 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
7227 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
7228 * m68k.c (codes_68881, codes_FPA): Likewise.
7229 * m88k.c (mode_from_align, max_from_align, all_from_align,
7230 best_from_align, m_options): Likewise.
7231 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
7232 * mcore.c (mode_from_align): Likewise.
7233 * mips/elf64.h (UNIQUE_SECTION): Likewise.
7234 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
7235 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
7236 * mips.h (mips_regno_to_class): Likewise.
7237 * ns32k.c (scales): Likewise.
7238 * pa.c (import_string, magic_milli): Likewise.
7239 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
7240 * sparc.c (leaf_reg_remap, sparc_override_options,
7241 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
7242 Likewise.
7243 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
7244
7245 2001-10-07 Dale Johannesen <dalej@apple.com>
7246
7247 * reload1.c (reload_reg_free_p): Teach register interference
7248 checking that multiple output reloads are emitted in
7249 reverse order.
7250 reload1.c (reload_reg_reaches_end_p): Ditto.
7251 reload1.c (reloads_conflict): Ditto.
7252
7253 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7254
7255 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
7256 NULL_TREE inside @code.
7257
7258 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7259
7260 * doc/gcc.texi: Document consistent style of "32-bit",
7261 "Objective-C", and "@code{NULL}".
7262
7263 2001-10-06 Zack Weinberg <zack@codesourcery.com>
7264
7265 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
7266 (cpp_token_len, cpp_spell_token, cpp_output_token,
7267 _cpp_equiv_tokens): Handle it.
7268 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
7269 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
7270 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
7271 error messages.
7272
7273 Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7274
7275 * gcc.c (default_compilers): Remove .ada.
7276
7277 2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
7278
7279 * doc/cppinternals.texi: Update.
7280
7281 2001-10-06 Zack Weinberg <zack@codesourcery.com>
7282
7283 * gcc.c (main): Set this_file_error if the appropriate
7284 compiler for a language has not been installed.
7285
7286 2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
7287
7288 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
7289
7290 2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
7291
7292 * gccbug.in (CATEGORIES): Add ada.
7293
7294 2001-10-05 Catherine Moore <clm@redhat.com>
7295
7296 * config/stormy16/stormy-abi: Document abi changes.
7297 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
7298 (ICALL_REGS): New register class.
7299 (NUM_ARGUMENT_REGISTERS): Now 6.
7300 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
7301 in registers.
7302 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
7303 * config/stormy16.md (call_internal, call_value_internal,
7304 indirect_jump): Use new 'z' constraint.
7305
7306 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
7307
7308 * doc/cppinternals.texi: Update.
7309
7310 2001-10-05 Richard Henderson <rth@redhat.com>
7311
7312 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
7313 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
7314 the gas section-name-as-label feature.
7315
7316 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
7317
7318 * doc/cppinternals.texi: Update.
7319
7320 Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7321
7322 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
7323 to ensure valid SImode constants.
7324
7325 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
7326
7327 * Makefile.in (c-decl.o): Depend on tree-inline.h.
7328 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
7329 * c-decl.c: Include tree-inline.h.
7330 (c_expand_body): Call optimize_inline_calls. Determine whether
7331 a function is inlinable upfront, and only clear
7332 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
7333 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
7334 (c_disregard_inline_limits): New function.
7335 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
7336 (c_post_options): Enable tree inlining if inlining is enabled.
7337 Don't inline trees when instrumenting functions.
7338 (c_init): Initialize lang_disregard_inline_limits and
7339 lang_cannot_inline_tree_fn.
7340 * tree-inline.c (initialize_inlined_parameters): Handle calls
7341 with fewer arguments than declared parameters, and fewer
7342 parameters than passed arguments. Don't assume value is a
7343 DECL.
7344 (declare_return_variable): Convert return value back to the
7345 original type, if it was promoted.
7346 (tree_inlinable_function_p): New function.
7347 (inlinable_function_p): Don't look at DECL_INLINE if we're
7348 inlining all functions. Make it work with a NULL id.
7349 Re-check DECL_UNINLINABLE after language-specific checks.
7350 * tree-inline.h (tree_inlinable_function_p): Declare it.
7351 * integrate.c (save_for_inline): Don't bother to prepare argvec
7352 when not inlining.
7353 * cse.c (check_for_label_ref): Don't check deleted labels.
7354
7355 * Makefile.in (tree-inline.o): Depend on newly-included headers.
7356 * tree-inline.c: Include headers needed for the functions moved in.
7357 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
7358 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
7359 (copy_body, initialize_inlined_parameters): Likewise.
7360 (declare_return_variable, inlinable_function_p): Likewise.
7361 (expand_call_inline, expand_calls_inline): Likewise.
7362 (optimize_inline_calls, clone_body): Likewise.
7363 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
7364 (copy_tree_r, remap_save_expr): Likewise.
7365
7366 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
7367
7368 * Makefile.in (OBJS): Added tree-inline.o.
7369 (c-common.o): Depend on tree-inline.h.
7370 (tree-inline.o): New target.
7371 * c-common.c: Include tree-inline.h.
7372 (c_mark_lang_decl): Don't mark saved_tree.
7373 (c_common_lang_init): Set lang_anon_aggr_type_p.
7374 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
7375 (struct c_lang_decl): Moved saved_tree to tree_decl.
7376 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
7377 * integrate.h (function_attribute_inlinable_p): Declare it.
7378 * integrate.c (function_attribute_inlinable_p): Export it.
7379 * tree-inline.c: New file. Define variables declared in...
7380 * tree-inline.h: New file. Declare functions to be moved to
7381 tree-inline.c. Define macros and declare types and hooks for
7382 language-specific tree inlining.
7383 (flag_inline_trees): Moved definition from cp/decl2.c.
7384 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
7385 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
7386 (struct tree_decl): Moved saved_tree from c_lang_decl and
7387 inlined_fns from C++'s lang_decl.
7388
7389 2001-10-04 Loren J. Rittle <ljrittle@acm.org>
7390
7391 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
7392 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
7393
7394 2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
7395
7396 * doc/cppinternals.texi: Update.
7397
7398 2001-10-04 Eric Christopher <echristo@redhat.com>
7399
7400 * config/mips/mips.c (init_cumulative_args): Remember to set
7401 cum->prototype.
7402 * config.gcc: Redo linux configuration. Add target_cpu_default
7403 of soft-float to all mipsisa32 combinations and tx39.
7404 * config/mips/linux.h: Remove include of mips.h.
7405
7406 2001-10-03 Loren J. Rittle <ljrittle@acm.org>
7407
7408 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
7409 HOST_LDFLAGS and HOST_CPPFLAGS.
7410
7411 2001-10-03 Ziemowit Laski <zlaski@apple.com>
7412
7413 * c-parse.in (objc_inherit_code, objc_pq_context,
7414 objc_public_flag): Make static.
7415 (objc_interface_context, objc_implementation_context,
7416 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
7417 global tree array in objc/objc-act.[ch].
7418 (methoddef): Remove unnecessary code.
7419
7420 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
7421 Hoist struct definitions to objc-act.h.
7422 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
7423 cat_count): Place declaration in objc-act.h.
7424 (objc_tree_index): Move enumeration to objc-act.h.
7425 (objc_global_trees): Place declaration and macro accessors in
7426 objc-act.h.
7427 (implementation_context): Remove duplicate; use
7428 objc_implementation_context instead:
7429 (method_context): Remove duplicate; use objc_method_context
7430 instead.
7431 (objc_ellipsis_node, objc_method_prototype_template,
7432 implemented_classes, function_type): Move global vars to
7433 objc_global_trees.
7434 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
7435 (build_message_expr): Move actual construction of ObjC message
7436 send nodes to finish_message_expr.
7437 (finish_message_expr): New routine, contains code formerly in
7438 build_message_expr.
7439 * objc/objc-act.h (finish_message_expr): New prototype.
7440 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
7441 declarations; these vars are now part of objc_global_trees.
7442 (objc_tree_index, objc_global_trees): Move definitions from
7443 objc-act.c.
7444 * objc/objc-tree.def: Update copyright info.
7445
7446 Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
7447
7448 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
7449 op is NULL.
7450 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
7451 only if TARGET_ARCH64.
7452
7453 2001-10-02 Bernd Schmidt <bernds@redhat.com>
7454
7455 * doc/extend.texi: Fix some problems with previous checkin.
7456 * doc/invoke.texi: Likewise.
7457
7458 2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
7459
7460 * cpphash.h: Update comments.
7461 (cpp_context): Update.
7462 (spec_nodes): Remove n__Pragma.
7463 * cppinit.c (cpp_create_reader): Update.
7464 (builtin_array): Add _Pragma.
7465 * cpplib.h: Update comments.
7466 (NODE_DISABLED, BT_PRAGMA): New.
7467 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
7468 * cppmacro.c (struct cpp_macro): Remove disabled.
7469 (builtin_macro): Return int, handle _Pragma, push the new token
7470 on the context stack.
7471 (funlike_invocation_p): Unconstify, update.
7472 (enter_macro_context): Handle builtins here.
7473 (replace_args, push_token_context, push_ptoken_context):
7474 Update for prototype changes.
7475 (_cpp_pop_context): Update.
7476 (cpp_get_token): Don't handle buitins, nor _Pragma here.
7477 (cpp_sys_macro_p): Update.
7478 (_cpp_free_definition): Clear disabled flag.
7479 (_cpp_create_definition): Upate.
7480 * cppmain.c: Update comments.
7481
7482 Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
7483 Andreas Jaeger <aj@suse.de>,
7484 Jan Hubicka <jh@suse.cz>
7485
7486 * doc/invoke.texi (i386 Options): Document x86-64 options.
7487 (i386 and x86-64 Options): Rename i386 options section.
7488
7489 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
7490 (TARGET_SWITCHES): Add -munwind-info.
7491 (MASK_NO_UNWIND_INFO): New.
7492 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
7493 biarch compilation.
7494 (ASM_OUTPUT_DOUBLE_INT): New.
7495
7496 * config/i386/linux64.h: New spec file for Linux x86-64 support.
7497 * config.gcc: Fix tm_file settings for x86-64.
7498 * config/i386/x86-64.h: New file with OS independent x86-64
7499 definitions.
7500 * config/i386/biarch64.h: New file used to configure compiler
7501 to biarch/64bit compilation.
7502
7503 * config/i386/i386.c: (override_options): Set flags default
7504 for 64bit compilation.
7505
7506 Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
7507
7508 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
7509 (ix86_expand_int_movcc): Optimize DImode conditional moves with
7510 constants on x86_64.
7511 (ix86_attr_length_immediate_default): Support MODE_DI.
7512 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
7513 condition.
7514 (indirect_jump, tablejump): Turn into expander.
7515
7516 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
7517
7518 * c-common.c (c_format_attribute_table): Make format and
7519 format_arg attributes apply to function types rather than to
7520 decls.
7521 (is_valid_printf_arglist): Construct an attribute list and pass
7522 that to check_function_format rather than a name.
7523 * c-common.h (check_function_format): Adjust prototype.
7524 * c-decl.c (duplicate_decls): Preserve attributes from type of
7525 built-in decl when allowing for harmless conflict in types.
7526 * c-format.c (record_function_format,
7527 record_international_format, function_format_list,
7528 international_format_info, international_format_list): Remove.
7529 (function_format_info): Remove next, name and assembler_name.
7530 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
7531 (decode_format_attr): New.
7532 (handle_format_attribute): Handle receiving a type rather than a
7533 decl. Call decode_format_attr. Store format information in a
7534 function_format_info.
7535 (handle_format_arg_attribute): Correct comment. Handle receiving
7536 a type rather than a decl. Use unsigned HOST_WIDE_INT for
7537 arg_num.
7538 (check_format_info_recurse, check_format_info_main): Take argument
7539 numbers as unsigned HOST_WIDE_INT.
7540 (check_function_format): Take a list of attributes from the
7541 function type rather than a name or assembler name. Check for
7542 format attributes in that list and the attributes on the type of
7543 the current function rather than looking through
7544 function_format_list.
7545 (check_format_info): Use unsigned HOST_WIDE_INT for argument
7546 numbers.
7547 (check_format_info_recurse): Take format_arg attributes from the
7548 type of the function calls rather than using
7549 international_format_list. Allow for multiple format_arg
7550 attributes.
7551 * c-typeck.c (build_function_call): Pass type attributes to
7552 check_function_format rather than name or assembler name. Don't
7553 require there to be a name or assembler name to check formats.
7554
7555 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
7556
7557 * attribs.c (decl_attributes): Possibly call
7558 insert_default_attributes to insert default attributes on
7559 functions in a lazy manner.
7560 * builtin-attrs.def: New file; define the default format and
7561 format_arg attributes.
7562 * c-common.c (c_format_attribute_table): Move to earlier in the
7563 file.
7564 (c_common_nodes_and_builtins): Initialize format_attribute_table.
7565 (enum built_in_attribute, built_in_attributes,
7566 c_attrs_initialized, c_init_attributes,
7567 c_common_insert_default_attributes): New.
7568 (c_common_lang_init): Don't initialize format_attribute_table. Do
7569 call c_init_attributes.
7570 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
7571 * c-common.h (init_function_format_info): Don't declare.
7572 (c_common_insert_default_attributes): Declare.
7573 * c-decl.c (implicitly_declare, builtin_function): Call
7574 decl_attributes.
7575 (init_decl_processing): Don't call init_function_format_info.
7576 (insert_default_attributes): New.
7577 * c-format.c (handle_format_attribute,
7578 handle_format_arg_attribute): Be quiet about inappropriate
7579 declaration when applying default attributes.
7580 (init_function_format_info): Remove.
7581 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
7582 (insert_default_attributes): Declare.
7583
7584 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
7585
7586 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
7587
7588 2001-10-01 Jim Wilson <wilson@redhat.com>
7589
7590 * sched-deps.c (add_dependence): When elide conditional dependence,
7591 check that insn doesn't modify cond2.
7592
7593 2001-10-01 Dale Johannesen <dalej@apple.com>
7594
7595 * config/rs6000/rs6000.h (enum processor_type): Add support
7596 for 7400 (G4) and 7450.
7597 (RTX_COSTS): Ditto.
7598 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
7599 (rs6000_issue_rate): Ditto.
7600 (rs6000_adjust_cost): Fix cycle counts for compares.
7601 (debug_stack_info): Fix an obvious typo.
7602 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
7603 * doc/invoke.texi: Document.
7604 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
7605 for Darwin.
7606 (PROCESSOR_DEFAULT): Ditto.
7607
7608 2001-10-01 Loren J. Rittle <ljrittle@acm.org>
7609
7610 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
7611 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
7612 later recursive make invocation.
7613
7614 2001-10-01 Hans Boehm <boehm@acm.org>
7615
7616 * optabs.c (emit_libcall_block): When using non-call exceptions,
7617 don't add REG_LIBCALL reg notes to trapping calls.
7618
7619 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
7620
7621 * flow.c (propagate_block_delete_libcall): Remove unused first arg
7622 (propagate_one_insn): Update for above change
7623
7624 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
7625
7626 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
7627 _Unwind_GetTextRelBase): Argument is unused.
7628
7629 Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7630
7631 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
7632 Loop through NOPs, placeholders, and components.
7633 Don't go through NOPs if change mode.
7634 (record_alias_subset): Do nothing if SUBSET and SET are the same.
7635 * emit-rtl.c (set_mem_alias_set): Enable check.
7636 * expr.c (find_placeholder): New function.
7637 (expand_expr, case PLACEHOLDER_EXPR): Use it.
7638 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
7639 to modify it and avoid unneeded copies.
7640 * expr.h (expand_expr): Always define.
7641 (find_placeholder): New declaration.
7642
7643 2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7644
7645 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
7646 operand 2 is the stack pointer.
7647 ("addr-peephole"): Fix address computation peephole when operand 2
7648 is the stack pointer.
7649
7650 Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7651
7652 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
7653 (ix86_setup_incoming_varargs): Likewise.
7654
7655 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
7656
7657 * stor-layout.c (layout_type): Don't complain about too-large
7658 array here.
7659
7660 Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7661
7662 * function.c (keep_stack_depressed): Don't use delete_insn.
7663
7664 * expr.h (set_mem_alias_set): Move decl to here.
7665 * rtl.h (mem_attrs): New typedef and struct.
7666 (union rtunion_def): Add field for mem_attrs.
7667 (X0MEMATTR, MEM_ATTRS): New macros.
7668 (MEM_ALIAS_SET): Use MEM_ATTRS.
7669 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
7670 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
7671 (set_mem_alias_set): Delete decl from here.
7672
7673 * alias.c (set_mem_alias_set): Delete from here.
7674 * emit-rtl.c (mem_attrs_htab): New variable.
7675 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
7676 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
7677 (mem_attrs_mark, get_mem_attrs): Likewise.
7678 (gen_rtx_MEM): Clear MEM_ATTRS.
7679 (set_mem_attributes): Move to here.
7680 (set_mem_alias_set): Likewise, and call get_mem_attrs.
7681 (init_emit_once): const_int_htab now deletable htab.
7682 Initialize mem_attrs_htab.
7683 * explow.c (set_mem_attributes): Delete from here.
7684 * function.c (put_var_into_stack): Clear MEM_ATTRS.
7685 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
7686 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
7687 * reload1.c (reload): Rework changing REG to MEM.
7688
7689 2001-09-30 H.J. Lu <hjl@gnu.org>
7690
7691 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
7692 * config.in: Rebuild.
7693
7694 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7695
7696 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
7697 ("tsthi_1"): Avoid allocation in register y.
7698 ("*movqi_68hc12"): Reorganize and fix constraints.
7699 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
7700 ("addqi3"): Likewise.
7701 ("addhi3"): Fix constraints.
7702 ("*logicalhi3_zexthi"): Disparage soft registers.
7703
7704 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7705
7706 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
7707 to tmp reg.
7708
7709 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
7710
7711 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
7712 that we use setjmp/longjmp exceptions.
7713
7714 2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
7715
7716 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
7717 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
7718 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
7719 _cpp_pool_alloc, _cpp_next_chunk): Remove.
7720 (_cpp_extend_buff, BUFF_ROOM): Update.
7721 (_cpp_append_extend_buff): New.
7722 (struct cpp_reader): Remove macro_pool, add a_buff.
7723 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
7724 macro_pool.
7725 (cpp_destroy): Free a_buff instead of macro_pool.
7726 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
7727 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
7728 _cpp_pool_alloc, ): Remove.
7729 (parse_number, parse_string): Update use of _cpp_extend_buff.
7730 (_cpp_extend_buff): Update.
7731 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
7732 * cpplib.c (glue_header_name, parse_answer):
7733 Update use of _cpp_extend_buff.
7734 (cpp_register_pragma, cpp_register_pragma_space): Use
7735 _cpp_aligned_alloc.
7736 (do_assert, do_unassert): Check for EOL, update.
7737 * cppmacro.c (stringify_arg, collect_args): Update to use
7738 _cpp_extend_buff and _cpp_append_extend_buff.
7739 (save_parameter, parse_params, alloc_expansion_token,
7740 _cpp_create_definition): Rework memory management.
7741
7742 2001-09-29 Andris Pavenis <pavenis@lanet.lv>
7743
7744 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
7745 update md_exec_prefix.
7746 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
7747 to string constant.
7748
7749 2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
7750
7751 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
7752 (SELECT_CC_MODE): Use s390_select_ccmode.
7753 * config/s390/s390-protos.h (s390_select_ccmode): Add.
7754 * config/s390/s390.c (s390_select_ccmode): New.
7755 (s390_match_ccmode): Add CCLmode.
7756 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
7757 (output_branch_condition, output_inverse_branch_condition): Removed.
7758 (print_operand): Use s390_branch_condition_mnemonic.
7759 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
7760 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
7761 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
7762
7763 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
7764 when converting conditional branches to far branches.
7765 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
7766 cmpint_di): Use CCSmode instead of CCUmode.
7767
7768 * config/s390/s390.c (legitimate_la_operand_p): New.
7769 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
7770 * config/s390/s390.md (movsi): Convert load address patterns to
7771 arithmetic operations when necessary.
7772 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
7773 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
7774 (*do_la_reg_0): Don't use before reload.
7775
7776 * config/s390/s390.c (legitimize_address): Make more efficient
7777 use of two-register addressing mode.
7778
7779 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
7780 with -mno-backchain in some corner cases.
7781
7782 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
7783
7784 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
7785
7786 * reload.c (find_reloads): Mark new USE insns with QImode.
7787 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
7788 find_reloads_subreg_address): Likewise.
7789 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
7790 encountered.
7791 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
7792 CLOBBERs.
7793 (reload): Make sure there are no USEs with mode other than
7794 VOIDmode. At the end, remove those marked with QImode.
7795
7796 2001-09-29 Per Bothner <per@bothner.com>
7797
7798 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
7799 * Makefile.in (includedir): Rename to local_includedir.
7800 (includedir): Define as $(prefix)/include.
7801 * config.in (PREFIX_INCLUDE_DIR): New variable.
7802 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
7803
7804 2001-09-29 Bernd Schmidt <bernds@redhat.com>
7805
7806 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
7807 storehps builtins.
7808 * doc/extend.texi (Vector Extensions): New node.
7809 * doc/invoke.texi (Machine Dependent Options): Add documentation for
7810 i386 -mmmx, -msse, -m3dnow.
7811
7812 Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
7813
7814 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
7815
7816 2001-09-29 Hans-Peter Nilsson <hp@axis.com>
7817
7818 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
7819
7820 * doc/invoke.texi (Optimize Options): Delete spurious @table.
7821
7822 2001-09-28 Richard Henderson <rth@redhat.com>
7823
7824 * varasm.c (assemble_integer): Bound alignment check by
7825 BIGGEST_ALIGNMENT.
7826
7827 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
7828
7829 2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7830
7831 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
7832
7833 2001-09-25 Bernd Schmidt <bernds@redhat.com>
7834
7835 Mostly from Graham Stott <grahams@redhat.com>
7836 * c-common.c (type_for_mode): Add support for V2SFmode.
7837 * tree.c (build_common_tree_nodes_2): Likewise.
7838 * tree.h (enum tree_index, global_trees): Likewise.
7839 * config/i386/i386.c (x86_3dnow_a): New variable.
7840 (override_options): Support 3Dnow extensions.
7841 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
7842 Athlon's version of 3Dnow.
7843 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
7844 (ix86_expand_builtin): Handle them.
7845 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
7846 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
7847 TARGET_3DNOW_A): New macros.
7848 (TARGET_SWITCHES): Add 3Dnow switches.
7849 (VALID_MMX_REG_MODE_3DNOW): New macro.
7850 (VECTOR_MODE_SUPPORTED_P): Use it.
7851 (enum ix86_builtins): Add entries for 3Dnow builtins.
7852 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
7853 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
7854 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
7855 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
7856 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
7857 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
7858 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
7859 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
7860 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
7861 sfence_insn, prefetch): Make these available if TARGET_SSE or
7862 TARGET_3DNOW_A.
7863
7864 Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
7865
7866 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
7867 ix86_va_start, ix86_build_va_list): Declare.
7868 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
7869 ix86_va_start, ix86_build_va_list): New global functions.
7870 * i386.md (sse_prologue_save_insn): New insn.
7871 (sse_prologue_save): New expander.
7872 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
7873 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
7874
7875 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
7876
7877 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
7878 Use size_t everywhere, make definitions consistent with
7879 prototypes.
7880
7881 Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
7882
7883 * gcse.c (replace_store_insn): Use delete_insn.
7884 * loop.c (move_movables): Likewise; avoid delete_insn
7885 from clobbering notes moved elsewhere.
7886 (check_dbra_loop): Use delete_insn.
7887 * ssa.c (convert_from_ssa): Likewise.
7888 * cse.c (cse_insn): Use delete_insn.
7889
7890 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
7891
7892 * cpphash.h (struct cpp_buff): Make unsigned.
7893 (_cpp_get_buff): Take length of size_t.
7894 (_cpp_unaligned_alloc): New.
7895 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
7896 (struct cpp_reader): Remove ident_pool. Add u_buff.
7897 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
7898 (cpp_destroy): Destroy u_buff, not ident_pool.
7899 * cpplex.c (parse_number, parse_string, save_comment,
7900 cpp_token_as_text): Update to use the unaligned buffer.
7901 (new_buff): Make unsigned.
7902 (_cpp_unaligned_alloc): New.
7903 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
7904 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
7905 Similarly.
7906 (collect_args): Make unsigned.
7907
7908 2001-09-27 Zack Weinberg <zack@codesourcery.com>
7909
7910 * cpplex.c (cpp_output_token): Use a putc loop for
7911 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
7912
7913 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
7914 * configure, config.in: Regenerate.
7915 * system.h: Replace fwrite and fprintf with their unlocked
7916 variants if available.
7917
7918 2001-09-27 Richard Henderson <rth@redhat.com>
7919
7920 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
7921 in favour of .eh_frame.
7922
7923 2001-09-27 Aldy Hernandez <aldyh@redhat.com>
7924
7925 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
7926 to macros.
7927 (LIBCALL_VALUE): Likewise.
7928
7929 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
7930
7931 * cpphash.h: Update comment.
7932 * cpplex.c: Update comments.
7933 (_cpp_can_paste): Remove.
7934 * cpplib.h (_cpp_can_paste): Remove.
7935 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
7936 lexer rather than _cpp_can_paste.
7937
7938 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
7939
7940 * doc/cppinternals.texi: Update.
7941
7942 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
7943
7944 * cpphash.h (struct cpp_pool): Remove locks and locked.
7945 (struct cpp_context): Add member buff.
7946 (struct cpp_reader): Remove member argument_pool.
7947 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
7948 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
7949 * cpplex.c (chunk_suitable): Remove pool argument.
7950 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
7951 (new_buff, _cpp_extend_buff): Update.
7952 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
7953 which buffer is returned.
7954 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
7955 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
7956 * cppmacro.c (lock_pools, unlock_pools): Remove.
7957 (push_ptoken_context): Take a _cpp_buff.
7958 (enter_macro_context): Pool locking removed.
7959 (replace_args): Use a _cpp_buff for the replacement list with
7960 arguments replaced.
7961 (push_token_context): Clear buff.
7962 (expand_arg): Use _cpp_pop_context.
7963 (_cpp_pop_context): Free a context's buffer, if any.
7964
7965 2001-09-26 DJ Delorie <dj@redhat.com>
7966
7967 * c-typeck.c (digest_init): Check for sizeless arrays.
7968
7969 2001-09-26 Richard Henderson <rth@redhat.com>
7970
7971 * optabs.c (init_one_libfunc): Create a dummy function type
7972 instead of using error_mark_node.
7973
7974 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
7975
7976 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
7977 _cpp_extend_buff, _cpp_free_buff): New.
7978 (struct cpp_reader): New member free_buffs.
7979 * cppinit.c (cpp_destroy): Free buffers.
7980 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
7981 _cpp_extend_buff, _cpp_free_buff): New.
7982 * cpplib.h (struct cpp_options): Remove unused member.
7983 * cppmacro.c (collect_args): New. Combines the old parse_arg
7984 and parse_args. Use _cpp_buff for memory allocation.
7985 (funlike_invocation_p, replace_args): Update.
7986
7987 Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
7988
7989 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
7990
7991 2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
7992
7993 * except.c (sjlj_mark_call_sites): Change address inside sequence.
7994
7995 2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
7996
7997 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
7998 glibc.
7999
8000 2001-09-25 Janis Johnson <janis187@us.ibm.com>
8001 Jim Wilson <wilson@redhat.com>
8002
8003 * doc/install.texi (Specific, ia64-*-linux): Document.
8004
8005 Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
8006
8007 * Makefile.in (cfgrtl.o): Add.
8008 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8009 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8010 free_aux_for_edge): Declare.
8011 * cfg.c
8012 (HAVE_return): Undefine.
8013 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8014 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8015 free_aux_for_edge): New global functions.
8016 (first_delete_block): New static variable.
8017 (init_flow): Clear first_delete_block.
8018 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
8019 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
8020 try_redirect_by_replacing_jump, last_loop_beg_note,
8021 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
8022 delete_insn, delete_insn_chain, create_basic_block_structure,
8023 create_basic_block, flow_delete_block, compute_bb_for_insn,
8024 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
8025 set_block_for_new_insns, split_block, merge_blocks_nomove,
8026 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
8027 redirect_edge_and_branch, force_nonfallthru_and_redirect,
8028 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
8029 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
8030 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
8031 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
8032 purge_all_dead_edges): Move to ....
8033 * cfgrtl.c: New file; .... Here.
8034
8035 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
8036 (reroder_basic_block): Use alloc_aux_for_blocks.
8037 * predict.c (estimate_bb_frequencies): Likewise; use
8038 alloc_aux_for_edges.
8039 * profile.c (compute_branch_probabilities): Likewise.
8040 (branch_prob): Likewise.
8041 * reg-stack.c (reg_to_stack): Likewise.
8042
8043 * emit-rtl.c (emit_insns_after): Never return NULL.
8044
8045 * basic-block.h (set_block_for_new_insns): Delete.
8046 * cfgrtl.c (set_block_for_new_insns): Delete.
8047
8048 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
8049 calls when crossjumping.
8050
8051 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
8052 * unroll.c (copy_loop_body): Use delete_insn.
8053
8054 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
8055 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
8056 keep_stack_depressed): Likewise.
8057 * gcse.c (cprop_cc0_jump): Likewise.
8058 * local-alloc.c (update_equiv_regs): Likewise.
8059 * loop.c (scan_loop, loop_delete_insns): Likewise.
8060 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
8061 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
8062 delete_output_reload, delete_address_reloads_1,
8063 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
8064 Likewise.
8065 * sibcall.c (replace_call_placeholder): Likewise.
8066 * cse.c (cse_insn): Likewise.
8067
8068 2001-09-25 Bernd Schmidt <bernds@redhat.com>
8069
8070 From Graham Stott <grahams@redhat.com>
8071 (def_builtin): Only define builtins appropriate for target_flags. All
8072 callers changed.
8073 (builtin_decsription): Add new field mask which is used to determine
8074 when to define the builtin via the macro def_builtin.
8075
8076 (bdesc_comi): Initialise new mask fields.
8077 (bdesc_2srg): Likewise.
8078 (bdesc_1arg): Likewise.
8079
8080 * config/i386/i386.c (ix86_init_builtins): Correct return type
8081 building v4hi_ftype_v4hi_int_int tree node.
8082 (ix86_expand_sse_comi): Fix typo swapping operands.
8083 Don't swap comparision condition, it is already swapped.
8084 (ix86_expand_sse_compare): Before swapping operands
8085 move operand 1 into new rtx and not the target rtx.
8086 Don't swap comparison condition, it is already swapped.
8087 Always check whether we need to create a new TARGET.
8088
8089 * config/i386/i386.md: (sse_comi) Fix typos.
8090 (sse_ucomi): Likewise.
8091 (cvtss2si): Fix operand 0 contraint.
8092 (cvttss2si): Likewise.
8093 (sse_unpckhps): Fix mode for operand 2.
8094 (sse_unpcklps): Likewise.
8095
8096 2001-09-25 Graham Stott <grahams@redhat.com>
8097
8098 * sibcall.c (skip_copy_to_return_value): Tighten return value
8099 copy check.
8100
8101 2001-09-24 David Edelsohn <edelsohn@gnu.org>
8102
8103 * rs6000.c (lwa_operand): Address must be word aligned.
8104
8105 Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8106
8107 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
8108 number has been set.
8109 (type_hash_mark): Mark type itself.
8110
8111 2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
8112
8113 * c-lex.c (cb_def_pragma): Update.
8114 (c_lex): Update, and skip padding.
8115 * cppexp.c (lex, parse_defined): Update, remove unused variable.
8116 * cpphash.h (struct toklist): Delete.
8117 (union utoken): New.
8118 (struct cpp_context): Update.
8119 (struct cpp_reader): New members eof, avoid_paste.
8120 (_cpp_temp_token): New.
8121 * cppinit.c (cpp_create_reader): Update.
8122 * cpplex.c (_cpp_temp_token): New.
8123 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
8124 (cpp_output_token): Don't print leading whitespace.
8125 (cpp_output_line): Update.
8126 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
8127 do_include_common, do_line, do_ident, do_pragma,
8128 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
8129 parse_assertion): Update.
8130 (get_token_no_padding): New.
8131 * cpplib.h (CPP_PADDING): New.
8132 (AVOID_LPASTE): Delete.
8133 (struct cpp_token): New union member source.
8134 (cpp_get_token): Update.
8135 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
8136 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
8137 replace_args, quote_string, stringify_arg, parse_arg, next_context,
8138 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
8139 _cpp_backup_tokens, _cpp_create_definition): Update.
8140 (push_arg_context): Delete.
8141 (padding_token, push_token_context, push_ptoken_context): New.
8142 (make_string_token, make_number_token): Update, rename.
8143 (cpp_get_token): Update to handle tokens as pointers to const,
8144 and insert padding appropriately.
8145 * cppmain.c (struct printer): New member prev.
8146 (check_multiline_token): Constify.
8147 (do_preprocessing, cb_line_change): Update.
8148 (scan_translation_unit): Update to handle spacing.
8149 * scan-decls.c (get_a_token): New.
8150 (skip_to_closing_brace, scan_decls): Update.
8151 * fix-header.c (read_scan_file): Update.
8152
8153 * doc/cpp.texi: Update.
8154
8155 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8156
8157 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
8158 leak by passing malloc'ed pointer to reconcat, not concat.
8159
8160 2001-09-24 DJ Delorie <dj@redhat.com>
8161
8162 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
8163
8164 2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
8165
8166 * flow.c (delete_dead_jumptables): Delete jumptable if the only
8167 reference is from the literal pool.
8168
8169 2001-09-24 Janis Johnson <janis187@us.ibm.com>
8170
8171 * doc/install.texi (Final install): Request additional information
8172 in mail about successful builds.
8173
8174 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8175
8176 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
8177 initial value of return pointer register instead of value in frame-20.
8178 Revise comments.
8179
8180 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8181
8182 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
8183 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
8184 the libcall if there isn't a referenced identifier for the symbol.
8185
8186 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8187
8188 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
8189 non 64-bit machines. Use these as a plabel for the trampoline.
8190 (TRAMPOLINE_SIZE): Adjust size for new words.
8191 (INITIALIZE_TRAMPOLINE): Initialize new words.
8192 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
8193 pointer to the plabel in the trampoline.
8194
8195 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8196
8197 * pa.c (function_arg): Pass floating arguments in both general and
8198 floating registers in indirect (dynamic) calls when generating code
8199 for the 32 bit ABI and the HP assembler.
8200
8201 2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8202
8203 * doc/install.texi: Markup fixes.
8204 Use Solaris 2, SunOS 4 as appropriate.
8205 (Specific, *-*-solaris2*): Explain this.
8206 Unconditionally warn against /usr/ucb tools.
8207 Remove Sun as warning, obsolete.
8208 Move X11 header bug workaround here, update patches.
8209 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
8210 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
8211
8212 2001-09-23 Zack Weinberg <zack@codesourcery.com>
8213
8214 * errors.h (warning, error, fatal, internal_error): Don't mark
8215 with ATTRIBUTE_PRINTF_n.
8216 * toplev.h (internal_error, fatal_io_error, warning, error,
8217 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
8218 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
8219 Likewise.
8220
8221 Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8222
8223 * function.c (pop_function_context_from): var_refs_queue
8224 and temp slots now in GC memory.
8225 (mark_function_status, free_after_compilation): Likewise;
8226 also struct function now in GC memory.
8227 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
8228 (combine_temp_slots): Likewise.
8229 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
8230 (prepare_function_start): Use GC memory for struct function.
8231 (mark_temp_slot): Deleted.
8232 (gcc_mark_struct_function): struct function now in GC memory.
8233
8234 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
8235 code for division, not modulus.
8236
8237 * rtl.def (MEM): Remove obsolete part of comment.
8238
8239 2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
8240
8241 * c-format.c (init_function_format_info): Check __builtin_printf
8242 and __builtin_fprintf even if -ffreestanding. Check C99 functions
8243 in gnu89 mode.
8244
8245 Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8246
8247 * c-common.c (format_attribute_table): Remove decl.
8248 * tree.h (format_attribute_table, lang_attribute_table): New decls.
8249 (lang_attribute_common): Likewise.
8250
8251 * function.c (fix_lexical_address): Use set_mem_alias_set.
8252 (expand_function_start): Likewise.
8253 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
8254
8255 * varasm.c (output_constant): Fix unused variable warning.
8256
8257 * attribs.c: New file, from c-common.c.
8258 (attribute_tables): Now four elements.
8259 (format_attribute_table, lang_attribute_common): New variables.
8260 (init_attributes): Reflect above changes.
8261 (handle_mode_attribute): Delete check for wider than uintmax.
8262 * c-common.c: Delete parts moved to attribs.c.
8263 (enum attrs): Deleted; unused.
8264 (c_format_attribute_table): New variable.
8265 (c_common_lang_init): Initialize format_attribute_table with it.
8266 * c-common.h (decl_attributes): Remove decl.
8267 * tree.h (decl_attribute): Move it to here.
8268 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
8269 (attribs.o): New rule.
8270
8271 2001-09-22 Andreas Jaeger <aj@suse.de>
8272
8273 * builtins.c (c_getstr): Remove unused variable.
8274
8275 2001-09-21 Richard Henderson <rth@redhat.com>
8276
8277 * reload1.c (reload): Use delete_insn instead of splatting
8278 NOTE_INSN_DELETED.
8279
8280 2001-09-21 Richard Henderson <rth@redhat.com>
8281
8282 * reload.c (push_secondary_reload): Don't check for "=" in output
8283 constraint after ""->ALL_REGS check.
8284
8285 2001-09-21 Richard Henderson <rth@redhat.com>
8286
8287 * predict.c (expected_value_to_br_prob): Use pc_set.
8288
8289 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
8290 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
8291
8292 2001-09-21 Richard Henderson <rth@redhat.com>
8293
8294 * rtl.h (LCT_RETURNS_TWICE): New.
8295 * calls.c (emit_call_1): Set current_function_calls_setjmp for
8296 ECF_RETURNS_TWICE.
8297 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
8298 to ECF_RETURNS_TWICE.
8299 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
8300 call to setjmp.
8301
8302 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
8303
8304 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
8305 (JMP_BUF_SIZE): New.
8306
8307 2001-09-21 Richard Henderson <rth@redhat.com>
8308
8309 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
8310 to R8_REGS.
8311
8312 2001-09-21 Richard Henderson <rth@redhat.com>
8313
8314 * tree.def (FDESC_EXPR): New.
8315 * expr.c (expand_expr): Handle it.
8316 * varasm.c (initializer_constant_valid_p): Likewise.
8317 (output_constant): Likewise.
8318 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8319 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
8320 (ASM_OUTPUT_FDESC): New.
8321 * doc/tm.texi: Document the new macros.
8322
8323 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
8324
8325 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
8326 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
8327 once merging is complete.
8328
8329 Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8330
8331 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
8332
8333 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
8334
8335 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
8336 that would be invalid after a merge.
8337
8338 Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
8339
8340 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
8341 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
8342 remove some labels.
8343 (flow_delete_insn): This one.
8344 (delete_insn_chain): Rename from ...; do not care labels.
8345 (flow_delete_insn_chain): ... this one.
8346 (flow_delete_block): Remove the insns one BB has been expunged.
8347 (merge_blocks_nomove): Likewise.
8348 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
8349 updating BB boundaries.
8350 (tidy_fallthru_edge): Likewise.
8351 (commit_one_edge_insertion): Likewise.
8352 * cfgbuild.c (find_basic_block): Likewise.
8353 (find_basic_blocks_1): Likewise.
8354 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
8355 (try_crossjump_to_edge): Likewise.
8356 (try_optimize_cfg): Likewise.
8357 * cse.c (delete_trivially_dead_insns): Likewise.
8358 * df.c (df_insn_delete): Likewise.
8359 * doloop.c (doloop_modify): Use delete_related_insns.
8360 * emit-rtl.c (try_split): Likewise.
8361 (remove_insn): Update BB boundaries.
8362 * expect.c (connect_post_landing_pads): Use delete_related_insns.
8363 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
8364 updating BB boundaries.
8365 (propagate_block_delete_insn): Likewise.
8366 (propagate_block_delete_libcall): Likewise.
8367 * function.c (delete_handlers): Use delete_related_insns.
8368 (thread_prologue_and_epilogue_insns): Likewise.
8369 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
8370 * genpeep.c (gen_peephole): Use delete_related_insns.
8371 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
8372 BB boundaries.
8373 (find_cond_trap): Likewise.
8374 * integrate.c (save_for_inline): Use delete_related_insns.
8375 (copy_insn_list): Likewise.
8376 * jump.c (pruge_linie_number_notes): Likewise.
8377 (duplicate_loop_exit_test): Likewise.
8378 (delete_computation): Likewise.
8379 (delete_related_insn): Rename from ...; use delete_insn
8380 (delete_insn): ... this one.
8381 (redirect_jump): Use delete_related_insns.
8382 * loop.c (scan_loop): Likewise.
8383 (move_movables): Likewise.
8384 (find_and_verify_loops): Likewise.
8385 (check_dbra_loop): Likewise.
8386 * recog.c (peephole2_optimize): Likewise.
8387 * reg-stack.c (delete_insn_for_stacker): Remove.
8388 (move_for_stack_reg): Use delete_insn.
8389 * regmove.c (combine_stack_adjustments_for_block): Likewise.
8390 * reload1.c (delete_address_reloads): Use delete_related_insns.
8391 (fixup_abnormal_edges): Use delete_insn.
8392 * recog.c (emit_delay_sequence): Use delete_related_insns.
8393 (delete_from-delay_slot): Likewise.
8394 (delete_scheduled_jump): likewise.
8395 (optimize_skip): Likewise.
8396 (try_merge_delay_insns): Likewise.
8397 (full_simple_delay_slots): Likewise.
8398 (fill_slots_from_thread): Likewise.
8399 (relax_delay_slots): Likewise.
8400 (make_return_insns): Likewise.
8401 (dbr_schedule): Likewise.
8402 * rtl.h (delete_insn): Rename to delete_related_insns.
8403 (delete_insn, delete_insn_chain): New prototypes.
8404 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
8405 by df_insn_delete already.
8406 * ssa-dce.c (delete_insn_bb): Use delete_insn.
8407 * ssa.c (convert_from_ssa): Use delete_related_insns.
8408 * unroll.c (unroll_loop): Likewise.
8409 (calculate_giv_inc): Likewise.
8410 (copy_loop_body): Likewise.
8411
8412 * i386-protos.h (ix86_libcall_value, ix86_function_value,
8413 ix86_function_arg_regno_p, ix86_function_arg_boundary,
8414 ix86_return_in_memory, ix86_function_value): Declare.
8415 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
8416 new static valurables.
8417 (x86_64_reg_class): New enum
8418 (x86_64_reg_class_name): New array.
8419 (classify_argument, examine_argument, construct_container,
8420 merge_classes): New static functions.
8421 (optimization_options): Enable flag_omit_frame_pointer and disable
8422 flag_pcc_struct_return on 64bit.
8423 (ix86_libcall_value, ix86_function_value,
8424 ix86_function_arg_regno_p, ix86_function_arg_boundary,
8425 ix86_return_in_memory, ix86_function_value): New global functions.
8426 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
8427 (function_arg_advance): Handle x86_64 passing conventions.
8428 (function_arg): Likewise.
8429 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
8430 (RETURN_IN_MEMORY): Move offline.
8431 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
8432 (FUNCTION_VALUE_REGNO_P): New macro.
8433 (FUNCTION_ARG_REGNO_P): Move offline.
8434 (struct ix86_args): Add maybe_vaarg.
8435 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
8436 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
8437
8438 2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
8439
8440 * s390.md: Changed attributes for scheduling.
8441 * s390.c: (s390_adjust_cost, s390_adjust_priority)
8442 Changed scheduling
8443
8444 2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
8445
8446 Table-driven attributes.
8447 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
8448 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
8449 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
8450 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
8451 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
8452 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
8453 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
8454 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
8455 * tree.h (struct tree_decl): Change machine_attributes to
8456 attributes.
8457 * doc/c-tree.texi: Document that all attributes are now attached
8458 to decls and types.
8459 * c-common.c (add_attribute, attrtab, attrtab_idx,
8460 default_valid_lang_attribute, valid_lang_attribute): Remove.
8461 (attribute_tables, attributes_initialized,
8462 c_common_attribute_table, default_lang_attribute_table): New
8463 variables.
8464 (handle_packed_attribute, handle_nocommon_attribute,
8465 handle_common_attribute, handle_noreturn_attribute,
8466 handle_unused_attribute, handle_const_attribute,
8467 handle_transparent_union_attribute, handle_constructor_attribute,
8468 handle_destructor_attribute, handle_mode_attribute,
8469 handle_section_attribute, handle_aligned_attribute,
8470 handle_weak_attribute, handle_alias_attribute,
8471 handle_no_instrument_function_attribute,
8472 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
8473 handle_no_limit_stack_attribute, handle_pure_attribute): New
8474 functions.
8475 (init_attributes, decl_attributes): Rewrite to implement
8476 table-driven attributes.
8477 * c-common.h (enum attribute_flags): Move to tree.h.
8478 * c-format.c (decl_handle_format_attribute,
8479 decl_handle_format_arg_attribute): Rename to
8480 handle_format_attribute and handle_format_arg_attribute. Update
8481 for table-driven attributes.
8482 * c-common.h (decl_handle_format_attribute,
8483 decl_handle_format_arg_attribute): Remove prototypes.
8484 (handle_format_attribute, handle_format_arg_attribute): Add
8485 prototypes.
8486 * c-decl.c (grokdeclarator): Handle attributes nested inside
8487 declarators.
8488 * c-parse.in (setattrs, maybe_setattrs): Remove.
8489 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
8490 Update to handle nested attributes properly.
8491 (maybe_resetattrs, after_type_declarator,
8492 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
8493 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
8494 properly.
8495 (make_pointer_declarator): Update to handle nested attributes
8496 properly.
8497 * doc/extend.texi: Update documentation of limits of attributes
8498 syntax. Warn about problems with attribute semantics in C++.
8499 * target.h (struct target): Remove valid_decl_attribute and
8500 valid_type_attribute. Add attribute_table and
8501 function_attribute_inlinable_p.
8502 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
8503 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
8504 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
8505 Add.
8506 (TARGET_INITIALIZER): Update.
8507 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
8508 definition.
8509 (function_attribute_inlinable_p): New function. Check for the
8510 presence of any machine attributes before using
8511 targetm.function_attribute_inlinable_p.
8512 (function_cannot_inline_p): Update.
8513 * Makefile.in (integrate.o): Update dependencies.
8514 * doc/tm.texi: Update documentation of target attributes and
8515 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
8516 * tree.c (default_valid_attribute_p, valid_machine_attribute):
8517 Remove.
8518 (default_target_attribute_table,
8519 default_function_attribute_inlinable_p): New.
8520 (lookup_attribute): Update comment to clarify handling of multiple
8521 attributes with the same name.
8522 (merge_attributes, attribute_list_contained): Allow multiple
8523 attributes with the same name but different arguments to appear in
8524 the same attribute list.
8525 * tree.h (default_valid_attribute_p): Remove prototype.
8526 (struct attribute_spec): New.
8527 (default_target_attribute_table): Declare.
8528 (enum attribute_flags): Move from c-common.h. Add
8529 ATTR_FLAG_TYPE_IN_PLACE.
8530 (default_function_attribute_inlinable_p): Declare.
8531 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
8532 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8533 (TARGET_ATTRIBUTE_TABLE): Define.
8534 (vms_attribute_table): New.
8535 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
8536 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8537 (TARGET_ATTRIBUTE_TABLE): Define.
8538 (arc_attribute_table, arc_handle_interrupt_attribute): New.
8539 * config/arm/arm.c (arm_valid_type_attribute_p,
8540 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
8541 Remove.
8542 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8543 define.
8544 (TARGET_ATTRIBUTE_TABLE): Define.
8545 (arm_attribute_table, arm_handle_fndecl_attribute,
8546 arm_handle_isr_attribute): New.
8547 * config/avr/avr.c (avr_valid_type_attribute,
8548 avr_valid_decl_attribute): Remove.
8549 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
8550 define.
8551 (TARGET_ATTRIBUTE_TABLE): Define.
8552 (avr_attribute_table, avr_handle_progmem_attribute,
8553 avr_handle_fndecl_attribute): New.
8554 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
8555 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8556 (TARGET_ATTRIBUTE_TABLE): Define.
8557 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
8558 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
8559 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8560 (TARGET_ATTRIBUTE_TABLE): Define.
8561 (h8300_attribute_table, h8300_handle_fndecl_attribute,
8562 h8300_handle_eightbit_data_attribute,
8563 h8300_handle_tiny_data_attribute): New.
8564 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
8565 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
8566 Remove prototypes.
8567 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
8568 declarations.
8569 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
8570 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
8571 define.
8572 (TARGET_ATTRIBUTE_TABLE): Define.
8573 (ix86_attribute_table, ix86_handle_cdecl_attribute,
8574 ix86_handle_regparm_attribute): New.
8575 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
8576 i386_pe_valid_type_attribute_p): Remove.
8577 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
8578 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
8579 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8580 (TARGET_ATTRIBUTE_TABLE): Define.
8581 (ia64_attribute_table): New.
8582 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
8583 interrupt_ident2, model_ident1, model_ident2): Remove.
8584 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8585 (TARGET_ATTRIBUTE_TABLE): Define.
8586 (init_idents): Update.
8587 (m32r_attribute_table, m32r_handle_model_attribute): New.
8588 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
8589 Remove.
8590 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8591 (TARGET_ATTRIBUTE_TABLE): Define.
8592 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
8593 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
8594 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8595 (TARGET_ATTRIBUTE_TABLE): Define.
8596 (mcore_attribute_table, mcore_handle_naked_attribute): New.
8597 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
8598 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8599 (TARGET_ATTRIBUTE_TABLE): Define.
8600 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
8601 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
8602 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
8603 (TARGET_ATTRIBUTE_TABLE): Define.
8604 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
8605 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
8606 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8607 (TARGET_ATTRIBUTE_TABLE): Define.
8608 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
8609 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
8610 New.
8611 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
8612 Remove.
8613 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
8614 (TARGET_ATTRIBUTE_TABLE): Define.
8615 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
8616 New.
8617 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
8618 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
8619 (TARGET_ATTRIBUTE_TABLE): Define.
8620 (v850_attribute_table, v850_handle_interrupt_attribute,
8621 v850_handle_data_area_attribute): New.
8622 * config/v850/v850-c.c (mark_current_function_as_interrupt):
8623 Return void. Call decl_attributes instead of
8624 valid_machine_attribute.
8625
8626 Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
8627
8628 * sh-protos.h (sh_pr_n_sets): Declare.
8629 * sh.c (calc_live_regs): If the initial value for PR has been copied,
8630 look at the copy to determine if PR needs to be saved.
8631 sh_pr_n_sets: New function.
8632 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
8633 (ALLOCATE_INITIAL_VALUE): Define.
8634
8635 * sh.c (initial_elimination_offset):
8636 Fix RETURN_ADDRESS_POINTER_REGNUM case.
8637
8638 Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
8639
8640 * integrate.c (allocate_initial_values): New function.
8641 * integrate.h (allocate_initial_values): Declare.
8642 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
8643 here...
8644 * reload1.c (reload): And initialization of reg_equiv_memory_loc
8645 from here...
8646 * toplev.c (rest_of_compilation): To here.
8647 Call allocate_initial_values.
8648 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
8649
8650 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8651
8652 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
8653
8654 2001-09-20 DJ Delorie <dj@redhat.com>
8655
8656 * c-typeck.c (really_start_incremental_init): Discriminate
8657 between zero-length arrays and flexible arrays.
8658 (push_init_level): Detect zero-length arrays and handle them
8659 like fixed-sized arrays.
8660 * expr.c (store_constructor): Handle zero-length arrays and
8661 flexible arrays correctly.
8662 * doc/extend.texi: Update zero-length array notes.
8663
8664 2001-09-20 Jim Wilson <wilson@redhat.com>
8665
8666 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
8667 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
8668 for issue port conflicts.
8669 (cycle_end_fill_slots): TYPE_L instructions take two slots.
8670
8671 2001-09-20 Andrew MacLeod <amacleod@redhat.com>
8672
8673 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
8674 on ia64.
8675
8676 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8677
8678 * fold-const.c (hashtab.h): Include.
8679 (int_const_binop): Remove FORSIZE arg and compute from type; all
8680 callers changed.
8681 Call size_int_type_wide for all single-word constants.
8682 (size_htab_hash, size_htab_eq): New functions.
8683 (size_int_type_wide): Rework to use hash table.
8684 * ggc-common.c (hashtab.h): Include.
8685 (struct d_htab_root): New struct.
8686 (d_htab_roots): New variable.
8687 (ggc_add_deletable_htab, ggc_htab_delete): New functions
8688 (ggc_mark_roots): Handle deletable htabs.
8689 * ggc-page.c (ggc_marked_p): New function.
8690 * ggc-simple.c (ggc_marked_p): Likewise.
8691 * ggc.h: Reformatting throughout.
8692 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
8693 * tree.c (init_obstacks): Make type_hash_table a deletable root.
8694 (type_hash_add): Allocate struct type_hash from GC memory.
8695 (mark_hash_entry, mark_type_hash): Deleted.
8696 (type_hash_marked_p, type_hash_mark): New functions.
8697 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
8698
8699 Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
8700
8701 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
8702 than SImode.
8703
8704 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8705
8706 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
8707 array-too-large test for signed sizetype.
8708
8709 Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
8710
8711 * i386.md (indirect_jump): Allow Pmode operand.
8712 (tablejump): LIkewise; perform expansion to 64bit mode.
8713 * i386.c (symbolic_operand): Allow 64bit PIC references.
8714 (pic_symbolic_operand): Likewise.
8715 (ix86_find_base_term): Strip the 64bit PIC references.
8716 (legitimate_pic_address_disp_p): Handle 64bit PIC.
8717 (legitimize_pic_address): Likewise.
8718 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
8719 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
8720
8721 2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
8722
8723 * stringpool.c (get_identifier_with_length): New function.
8724 * tree.h (get_identifier_with_length): New prototype.
8725
8726 2001-09-19 Alan Modra <amodra@bigpond.net.au>
8727 David Edelsohn <edelsohn@gnu.org>
8728
8729 Revert:
8730 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
8731 already sign-extended.
8732
8733 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
8734 * config/rs6000/rs6000.c (logical_operand): Always compare op as
8735 HOST_WIDE_INT.
8736 (rs6000_emit_set_long_const): Avoid unnecessary shift.
8737 (output_profile_hook): Declare label_name const.
8738 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
8739 to match constraints.
8740
8741 2001-09-19 Stan Shebs <shebs@apple.com>
8742
8743 * alias.c: Fix typos in comments.
8744 * sched-rgn.c (init_ready_list): Ditto.
8745 * unwind-dw2.c (uw_frame_state_for): Ditto.
8746 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
8747 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
8748 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
8749
8750 2001-09-19 Richard Henderson <rth@redhat.com>
8751
8752 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
8753 to the exit block.
8754 * Makefile.in (cfg.o): Depend on TM_P_H.
8755
8756 2001-09-19 Richard Henderson <rth@redhat.com>
8757
8758 * config/alpha/alpha.c (local_symbol_p): Split out from ...
8759 (local_symbolic_operand): ... here.
8760 (small_symbolic_operand): Check mode.
8761 (global_symbolic_operand): New.
8762 (input_operand): Reject symbolics if explicit relocs.
8763 (call_operand): Tidy.
8764 (alpha_legitimize_address): Use movdi_er_high_g.
8765 (alpha_expand_mov): Likewise.
8766 * config/alpha/alpha-protos.h: Update.
8767 * config/alpha/alpha.h (PREDICATE_CODES): Update.
8768 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
8769 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
8770 (UNSPECV_LDGP2): Remove.
8771 (all call patterns): Use 's' not 'i' for symbolic constraint.
8772 (call_osf call_value_osf): Use call_operand.
8773 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
8774 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
8775 (prologue_ldgp_1_er): Remove.
8776 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
8777 (builtin_setjmp_receiver_er patterns): Use them.
8778 (exception_receiver_er): Likewise.
8779
8780 2001-09-19 Richard Henderson <rth@redhat.com>
8781
8782 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
8783
8784 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
8785 and NON_LOCAL_GOTO notes.
8786 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
8787 copy over CALL_INSN_FUNCTION_USAGE.
8788
8789 2001-09-18 Catherine Moore <clm@redhat.com>
8790
8791 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
8792 Define as 0.
8793
8794 2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
8795
8796 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
8797 new-style tm_file specification. Specify correct tm_p_file,
8798 md_file, and out_file for s390x.
8799
8800 * config/s390/linux.h, linux64.h: Don't include other target
8801 macro header files. Now handled via tm_file.
8802
8803 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
8804 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
8805 are defined before use.
8806
8807 Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
8808
8809 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
8810 code generation only for Gnu assembler.
8811
8812 2001-09-18 Catherine Moore <clm@redhat.com>
8813
8814 * config/stormy16 (LIB_SPEC): Remove -lnosys.
8815
8816 2001-09-18 Richard Sandiford <rsandifo@redhat.com>
8817
8818 * config/mips/mips.c (mips_frame_set): New.
8819 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
8820 a parallel frame-related expression with a set for each register.
8821
8822 2001-09-18 Philip Blundell <philb@gnu.org>
8823
8824 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
8825 header files.
8826
8827 2001-09-17 Dale Johannesen <dalej@apple.com>
8828
8829 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
8830 * config/rs6000/aix.h (FIXED_R2): Define.
8831 * config/rs6000/darwin.h (FIXED_R2): Define.
8832 * config/rs6000/sysv4.h (FIXED_R2): Define.
8833
8834 2001-09-17 Jeff Sturm <jsturm@one-point.com>
8835
8836 * except.c (dw2_build_landing_pads): New local
8837 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
8838 barrier after clobbers. Fixes c++/4012.
8839
8840 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8841
8842 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
8843
8844 2001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
8845
8846 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
8847 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
8848
8849 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8850
8851 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
8852 alloca/strcpy.
8853
8854 2001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
8855
8856 * cpphash.h (_cpp_lex_direct): New.
8857 * cpplex.c (_cpp_lex_token): Update.
8858 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
8859 and increment that pointer.
8860 * cppmacro.c (alloc_expansion_token): New.
8861 (lex_expansion_token): Lex macro expansion directly into
8862 macro storage.
8863
8864 2001-09-16 Brad Lucier <lucier@math.purdue.edu>
8865
8866 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
8867
8868 Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
8869
8870 * basic-block.h (free_bb_for_insn): Declare.
8871 * bb-reorder.c (label_for_bb): Use block_label.
8872 (emit_jump_to_block_after): Remove.
8873 (insert_intra_1): Do not update block_for_insn.
8874 (insert_inter_bb_scope_notes): Likewise; update bb->end
8875 * cfg.c (free_bb_for_insn): New.
8876 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
8877 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
8878 (commit_one_edge_insertion): Likewise.
8879 (commit_one_edge_insertion): Do not update BB boundary.
8880 (commit_edge_insertions): Do not call compute_bb_for_insn.
8881 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
8882 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
8883 (merge_blocks_move_successor_nojumps): Likewise.
8884 (try_crossjump_to_edge): Do not update block_for_insn.
8885 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
8886 * df.c (df_pattern_emit_later): Do not update BB boundary.
8887 (df_jump_pattern_emit_after): Likewise.
8888 (df_insn_move_before): Use emit_insn_before.
8889 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
8890 properly.
8891 (add_insn_after, add_insn_before, emit_insns_after): Update BB
8892 boundaries and basic_block_for_insn.
8893 (reorder_insns_nobb): Rename from reorder_insns.
8894 (reorder_insns): New.
8895 (emit_block_insn_before, emit_block_insn_after): Kill.
8896 * flow.c (check_function_return_warnings): Do not call
8897 compute_bb_for_insn; Do not free basic_block_for_insn.
8898 (attempt_auto_inc): Do not update basic_block_for_insn.
8899 * function.c (emit_return_into_block): Likewise;
8900 do not update BB boundaries.
8901 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
8902 (insert_insn_end_bb): Use emit_insn_before; Likewise.
8903 (pre_insert_copy_insn): Likewise.
8904 (update_ld_motion_notes): Likewise.
8905 (insert_insn_start_bb): Likewise.
8906 (replace_store_insn): Likewise.
8907 * ifcvt.c (noce_process_if_block): Likewise.
8908 (if_convert): Do not call compute_bb_for_insn.
8909 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
8910 Use emit_insn_before and emit_insn_after.
8911 * recog.c (split_all_insns): Do not update BB boundaries;
8912 Do not call compute_bb_for_insn.
8913 (peephole2_optimize): Do not update BB boundaries.
8914 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
8915 emit_insn_before.
8916 (emit_swap_insn): Likewise.
8917 (convert_regs_1): Likewise.
8918 * reload1.c (reload): Call compute_bb_for_insn.
8919 * rtl.h (reorder_insns_nobb): Declare.
8920 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
8921 * toplev.c (rest_of_compilation): Call free_bb_for_insn
8922 at places CFG is invalidated; do not call compute_bb_for_insn.
8923
8924 * cfg.c (expunge_block): Invalidate BB structure.
8925
8926 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
8927 array.
8928
8929 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
8930
8931 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
8932
8933 * cpphash.h (_cpp_lex_token): Update prototype.
8934 * cpplex.c (_cpp_lex_token): New prototype.
8935 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
8936 lex_macro_node, read_flag, do_pragma_poison): Update.
8937 * cppmacro.c (cpp_get_token, parse_params,
8938 lex_expansion_token): Update.
8939
8940 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
8941
8942 * cppmain.c (scan_translation_unit): Don't worry about
8943 putting a space after hashes.
8944 * cpplib.c (directive_diagnostics): New.
8945 (_cpp_handle_directive): Update to use directive_diagnostics.
8946 (run_directive): Don't toggle prevent_expansion.
8947 (do_line): Backup in case of the line extension.
8948 * cpplib.h (cpp_lexer_pos): Remove.
8949 * cppmacro.c (_cpp_create_definition): Precede a leading #
8950 with whitespace.
8951
8952 2001-09-15 Richard Henderson <rth@redhat.com>
8953
8954 * c-typeck.c (comptypes): Handle zero-length arrays properly.
8955
8956 2001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
8957
8958 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
8959
8960 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
8961
8962 PR preprocessor/3571
8963 * tradcpp.c (handle_directive): Skip non-vertical space.
8964
8965 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
8966
8967 * cppmain.c (setup_callbacks): Set line callback only
8968 if outputting preprocessed source.
8969
8970 2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8971
8972 * collect2.c (main): Const-ification.
8973 * gcc.c (translate_options, process_command): Use xstrdup in
8974 lieu of xmalloc/strcpy.
8975 (main): Use concat in lieu of xmalloc/strcpy/strcat.
8976
8977 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
8978
8979 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
8980 example.
8981
8982 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
8983
8984 * scan-decls.c (scan_decls): Fix typo.
8985
8986 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
8987
8988 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
8989 Split mlstring_pos into mls_line and mls_col.
8990 * cppinit.c (cpp_create_reader): Initialize line to 1.
8991 (cpp_destroy): Free tokenruns.
8992 (push_include): Don't update lexer_pos.
8993 * cpplex.c (unterminated, parse_string): Update.
8994 (lex_token): Don't update lexer_pos, update.
8995 * cpplib.c (if_stack): Save line instead of line + col.
8996 (start_directive, _cpp_do__Pragma, do_else, do_elif,
8997 push_conditional, _cpp_pop_buffer): Update.
8998 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
8999 (_cpp_create_definition): Update.
9000
9001 2001-09-15 Eric Christopher <echristo@redhat.com>
9002
9003 * config/mips/abi64.h: Add support for MEABI.
9004
9005 2001-09-15 Eric Christopher <echristo@redhat.com>
9006
9007 * config/mips/mips.md: Add unspec #2.
9008 (reload_indi): Use.
9009 (reload_outdi): Ditto.
9010 (reload_outsi): Ditto.
9011 (HILO_delay): New.
9012
9013 2001-09-15 Eric Christopher <echristo@redhat.com>
9014 Jason Eckhardt <jle@redhat.com>
9015
9016 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
9017 * config/mips/isa32-linux.h: New file.
9018 * config/mips/isa3264.h: Ditto.
9019 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
9020 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
9021 (output_block_mode): Support MEABI.
9022 (function_arg): Ditto. Fix floating point arg passing.
9023 (mips_va_start): Ditto.
9024 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
9025 processors.
9026 (mips_asm_file_start): Add new section to pass abi to gdb.
9027 (function_arg_pass_by_reference): Support MEABI.
9028 (mips_parse_cpu): Support mips32 and mips64 processors.
9029 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
9030 TARGET_MIPS5KC. Support isa32 and isa64.
9031 (processor_type): Add r4kc, r5kc, r20kc.
9032 (GENERATE_MULT3_SI): New.
9033 (GENERATE_MULT3_DI): Ditto.
9034 (GENERATE_MULT3): Remove.
9035 (ISA_HAS_64BIT_REGS): Add isa == 64.
9036 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
9037 (ISA_HAS_MADD_MSUB): New.
9038 (ISA_HAS_CLZ_CLO): Ditto.
9039 (ISA_HAS_DCLZ_DCLO): Ditto.
9040 (ABI_GAS_ASM_SPEC): New.
9041 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
9042 (ASM_SPEC): Ditto.
9043 (LINK_SPEC): Ditto.
9044 (SUBTARGET_CC1_SPEC): Ditto.
9045 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
9046 (PAD_VARARGS_DOWN): Support MEABI.
9047 (HARD_REGNO_NREGS): Move to mips.c.
9048 (ASM_OUTPUT_IDENT): Add #undef.
9049 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
9050 (mulsi3): Use GENERATE_MULT3_SI.
9051 (mulsi3_mult3): Ditto. Support mips32, mips64.
9052 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
9053 (mul_sub_si): New pattern.
9054 (unnamed splitters): New.
9055 (muldi3): Use GENERATE_MULT3_DI.
9056 (muldi3_internal2): Ditto.
9057 (movdicc): Support mips32.
9058 * config/mips/t-isa3264: New file.
9059
9060 2001-09-15 Hans-Peter Nilsson <hp@axis.com>
9061
9062 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
9063 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
9064 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
9065
9066 * reorg.c (fill_slots_from_thread): After call to
9067 steal_delay_list_from_target, update own_thread as new_thread may
9068 have branched.
9069
9070 2001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
9071
9072 * cpperror.c (print_location): Take line and column, for
9073 default positioning use the previously lexed token.
9074 (_cpp_begin_message): Take line and column.
9075 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9076 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9077 * cpphash.h (_cpp_begin_message): Update prototype.
9078 * cppinit.c (push_include): Don't set output line.
9079 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
9080 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
9081 (do_pragma): Kludge for front ends. Don't expand macros at all.
9082 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
9083 (struct cpp_token): Remove output_line.
9084 (struct cpp_callbacks): New member line_change.
9085 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
9086 cpp_get_token): Preserve BOL flag.
9087 (cpp_get_line): Remove.
9088 (_cpp_backup_tokens): Remove useless abort().
9089 * cppmain.c (cb_line_change): New.
9090 (scan_translation_unit): Don't worry about starting new lines here.
9091 * scan-decls.c (scan_decls): Update.
9092 * c-lex.c (c_lex, init_c_lex): Update.
9093 (cb_line_change, src_lineno): New.
9094
9095 Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
9096
9097 * tree.c (append_random_chars): Generate the random
9098 characters in a reproducable fashion.
9099
9100 2001-09-14 Richard Henderson <rth@redhat.com>
9101
9102 * config/i386/i386.c (internal_label_prefix): New.
9103 (internal_label_prefix_len): New.
9104 (override_options): Set them.
9105 (local_symbolic_operand): New.
9106 (legitimate_pic_address_disp_p): Use it.
9107 (legitimize_pic_address): Likewise.
9108
9109 2001-09-14 Marc Espie <espie@openbsd.org>
9110
9111 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
9112 correctly.
9113
9114 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9115
9116 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
9117 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
9118
9119 2001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
9120
9121 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
9122 invocation of SUBREG_REGNO_OFFSET.
9123
9124 * haifa-sched.c: Fix typo in FSF copyright statement.
9125 * sched-deps.c: Fix typo in FSF copyright statement.
9126 * sched-ebb.c: Fix typo in FSF copyright statement.
9127 * sched-rgn.c: Fix typo in FSF copyright statement.
9128 * sched-vis.c: Fix typo in FSF copyright statement.
9129
9130 * config.gcc: Move inclusion of arm elf specific header files
9131 from the files themselves into the tm_file variable. Make
9132 sure that elfos.h is included before target specific elf
9133 headers.
9134 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
9135 already defined.
9136 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
9137 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
9138 ASM_OUTPUT_CASE_LABEL): Protect definition.
9139 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
9140 not already defined.
9141 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
9142 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
9143 Remove duplicate definition.
9144 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
9145 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
9146 (RDATA_SECTION_FUNCTION): Remove redundant definition.
9147 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
9148 Remove inclusion of arm/elf.h.
9149 * config/arm/unknown-elf.h: as for conix-elf.h.
9150 (STARTFILE_SPEC): Include crti.o and crtn.o.
9151 * config/arm/linux-elf.h: as for conix-elf.h.
9152 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
9153 * config/arm/strongarm-elf.h: Remove inclusion of
9154 unknown-elf.h.
9155 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
9156 * config/arm/unknown-elf-oabi.h: Remove inclusion of
9157 unknown-elf.h and elf.h.
9158 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
9159 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
9160 ASM_WEAKEN_LABEL): Remove redundant definition.
9161 * config/arm/elf.h: Test for inclusion of elfos.h
9162 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
9163 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
9164 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
9165 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
9166 redundant definition.
9167 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
9168 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
9169 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
9170 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
9171 Add rules to build crti.o and crtn.o
9172 * crti.asm: New file.
9173 * crtn.asm: New file.
9174
9175 2001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
9176
9177 * c-parse.in (_yylex): Use _cpp_backup_tokens.
9178 * cpphash.h (struct tokenrun): Add prev.
9179 (struct lexer_state): Remove bol.
9180 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
9181 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
9182 : Remove.
9183 * cppinit.c (cpp_create_reader): Don't set bol.
9184 (cpp_destroy): Don't free lookaheads.
9185 * cpplex.c (lex_directive): Remove.
9186 (next_tokenrun): Update.
9187 (_cpp_lex_token): Clean up logic.
9188 (lex_token): Update to return a pointer to lexed token, since it
9189 can move to the start of the buffer. Simpify newline handling.
9190 * cpplib.c (SEEN_EOL): Update.
9191 (skip_rest_of_line): Remove lookahead stuff.
9192 (end_directive): Line numbers are already incremented. Revert
9193 to start of lexed token buffer if we can.
9194 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
9195 parse_answer): Use _cpp_backup_tokens.
9196 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
9197 instead. Don't check for EOL.
9198 (do_include_common, do_line, do_pragma_system_header): Use
9199 skip_rest_of_line.
9200 * cpplib.h (BOL, _cpp_backup_tokens): New.
9201 * cppmacro.c (save_lookahead_token, take_lookahead_token,
9202 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
9203 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
9204 (builtin_macro): Don't use cpp_get_line.
9205 (cpp_get_line): Short term kludge.
9206 (parse_arg): Handle directives in arguments here. Back up when
9207 appropriate. Store EOF at end of argument list.
9208 (funlike_invocation_p): Use _cpp_backup_tokens.
9209 (push_arg_context): Account for EOF at end of list.
9210 (cpp_get_token): Remove lookahead stuff. Update.
9211
9212 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9213
9214 * c-parse.in (yyerror): Const-ification and/or static-ization.
9215 * c-typeck.c (push_member_name): Likewise.
9216 * collect2.c (main): Likewise.
9217 * dbxout.c (dbxout_parms): Likewise.
9218 * diagnostic.c (format_with_decl): Likewise.
9219 * dwarf2out.c (output_ranges): Likewise.
9220 * dwarfout.c (fundamental_type_code): Likewise.
9221 * except.c (dw2_output_call_site_table): Likewise.
9222 * gcc.c (do_spec_1): Likewise.
9223 * genopinit.c (optabs): Likewise.
9224 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
9225 gen_declaration_1, handle_impent): Likewise.
9226 * protoize.c (default_include, in_system_include_dir, abspath):
9227 Likewise.
9228 * sched-vis.c (visualize_stall_cycles): Likewise.
9229 * sdbout.c (plain_type_1, sdbout_end_function,
9230 sdbout_end_epilogue): Likewise.
9231 * varasm.c (decode_reg_name): Likewise.
9232
9233 * 1750a.c (mod_regno_adjust): Likewise.
9234 * alpha.c (alpha_write_one_linkage,
9235 unicosmk_output_default_externs): Likewise.
9236 * arm.c (arm_condition_codes): Likewise.
9237 * arm.h (arm_condition_codes): Likewise.
9238 * avr.c (output_movsisf, encode_section_info): Likewise.
9239 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
9240 Likewise.
9241 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9242 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9243 * m88k.c (output_function_profiler): Likewise.
9244 * mips.c (mips_output_conditional_branch): Likewise.
9245 * ns32k.c (ns32k_out_reg_names): Likewise.
9246 * ns32k.h (ns32k_out_reg_names): Likewise.
9247 * pj.c (pj_output_rval): Likewise.
9248 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
9249 * sparc.c (sparc_flat_function_prologue,
9250 sparc_flat_function_epilogue): Likewise.
9251
9252 2001-09-13 Markus Werle <numerical.simulation@web.de>
9253 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9254
9255 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
9256 Aachen University of Technology".
9257
9258 2001-09-13 Andreas Schwab <schwab@suse.de>
9259
9260 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
9261 C99.
9262
9263 2001-09-13 Richard Henderson <rth@redhat.com>
9264
9265 * config/alpha/alpha.c (small_symbolic_operand): New.
9266 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
9267 (some_operand, input_operand): Don't handle HIGH.
9268 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
9269 (alpha_expand_mov): Likewise.
9270 (print_operand) [H]: Just print HIGH symbol.
9271 (print_operand_address): Handle small data.
9272 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
9273 (TARGET_SWITCHES): Add -msmall-data/large-data.
9274 (PIC_OFFSET_TABLE_REGNUM): New.
9275 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
9276 (PREDICATE_COES): Update.
9277 * config/alpha/alpha.md (adddi_er_high): New.
9278 (adddi_er_low): Handle small data.
9279 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
9280 prefer .sdata to .rodata.
9281 (SELECT_RTX_SECTION): Likewise.
9282
9283 2001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
9284
9285 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
9286 defining __size_t and leaving size_t undefined.
9287
9288 2001-09-12 Diego Novillo <dnovillo@redhat.com>
9289
9290 * basic-block.h (expunge_block): Declare.
9291 * cfg.c (expunge_block): Remove static declaration.
9292
9293 2001-09-12 Richard Henderson <rth@redhat.com>
9294
9295 * integrate.c (copy_insn_list): Copy label name from
9296 NOTE_INSN_DELETED_LABEL.
9297
9298 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9299
9300 * c-common.c (c_tree_code_name): Const-ification.
9301 * c-decl.c (c_decode_option): Likewise.
9302 * c-typeck.c (warn_for_assignment): Likewise.
9303 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
9304 Likewise.
9305 * cppinit.c (output_deps): Likewise.
9306 * dependence.c (dependence_string, direction_string): Likewise.
9307 * dwarf2out.c (output_ranges): Likewise.
9308 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
9309 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
9310 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
9311 standard_startfile_prefix, standard_startfile_prefix_1,
9312 standard_startfile_prefix_2, tooldir_base_prefix,
9313 standard_bindir_prefix, find_a_file): Likewise.
9314 * genattrtab.c (make_length_attrs): Likewise.
9315 * gencheck.c (tree_codes): Likewise.
9316 * genemit.c (gen_split): Likewise.
9317 * genrecog.c (special_mode_pred_table): Likewise.
9318 * graph.c (graph_ext): Likewise.
9319 * protoize (default_include): Likewise.
9320 * reload.c (reload_when_needed_name): Likewise.
9321 * sched-vis.c (visualize_stall_cycles): Likewise.
9322 * tlink.c (recompile_files): Likewise.
9323 * toplev.c (decode_g_option): Likewise.
9324 * tradcpp.c (output_deps): Likewise.
9325 * varasm.c (decode_reg_name): Likewise.
9326
9327 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
9328 Const-ification.
9329 * arm.md: Likewise.
9330 * avr.c (avr_regnames, encode_section_info): Likewise.
9331 * c4x.c (float_reg_names): Likewise.
9332 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
9333 * elfos.h (const_section): Likewise.
9334 * i386.c (ix86_comp_type_attributes): Likewise.
9335 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
9336 * ia64/aix.h (UNIQUE_SECTION): Likewise.
9337 * ia64.c (type_names): Likewise.
9338 * m68hc11.c (reg_class_names): Likewise.
9339 * m88k.c (m_options): Likewise.
9340 * mips.c (mips_output_conditional_branch, mips_unique_section):
9341 Likewise.
9342 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
9343 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
9344 ultra_code_names): Likewise.
9345 * sparc.h (OVERRIDE_OPTIONS): Likewise.
9346
9347 2001-09-12 Jakub Jelinek <jakub@redhat.com>
9348
9349 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
9350 Use --fatal-warnings option for gas.
9351 * configure: Rebuilt.
9352
9353 2001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9354
9355 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
9356
9357 2001-09-11 Jim Wilson <wilson@redhat.com>
9358
9359 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
9360
9361 2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9362
9363 * builtins.c (c_strlen): Treat an offset too large for a
9364 HOST_WIDE_INT as out of range.
9365
9366 Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
9367
9368 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
9369 (EDGE_CRITICAL_P): New predicate.
9370 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
9371 handling.
9372 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
9373 (dump_edge_info): Remove "crit".
9374 * cfganal.c (mark_critical_edges): Kill.
9375 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
9376 * cfgcleanup.c (cleanup_cfg): Likewise.
9377 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
9378 (find_spanning_tree): Likewise.
9379 * reg-stack.c (convert_regs_1): Likewise.
9380 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
9381
9382 * basic-block.h (create_basic_block_structure): New.
9383 (create_basic_block): Update prototype.
9384 (force_nonfallthru): New.
9385 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
9386 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
9387 handle updating of block_for_insn, creating of empty BBs and BBs at
9388 the end of INSN chain.
9389 (create_basic_block): New function.
9390 (split_block): Use create_basic_block.
9391 (force_nonfallthru_and_redirect): Break out from ...; cleanup
9392 (redirect_edge_and_branch_force): ... here.
9393 (force_nonfallthru): New.
9394 (split_edge): Rewrite to use force_nonfallthru and create_block.
9395 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
9396 (find_basic_blocks): Free basic_block_for_insn.
9397 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
9398
9399 * cfg.c: Fix formating.
9400 * cfgcleanup.c: Fix formating.
9401 (merge_blocks, tail_recursion_label_p): Return bool.
9402 (merge_blocks_move_predecessor_nojumps,
9403 merge_blocks_move_successor_nojumps): Return void.
9404
9405 2001-09-11 Jakub Jelinek <jakub@redhat.com>
9406
9407 * configure.in: Check whether assembler supports section merging.
9408 * config.in: Rebuilt.
9409 * configure: Rebuilt.
9410 * varasm.c (variable_section, output_constant_pool): Pass alignment
9411 to SELECT_SECTION and SELECT_RTX_SECTION.
9412 (mergeable_string_section): New.
9413 (mergeable_constant_section): New.
9414 (default_elf_asm_named_section): Output SECTION_MERGE and
9415 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9416 * output.h (mergeable_string_section): New.
9417 (mergeable_constant_section): New.
9418 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
9419 * toplev.c (flag_merge_constants): New.
9420 (f_options): Add -fmerge-constants and -fmerge-all-constants
9421 options.
9422 (toplev_main): Default to -fno-merge-constants if not optimizing.
9423 * flags.h (flag_merge_constants): Add extern.
9424 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
9425 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
9426 argument.
9427 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
9428 Define if assembler has working .subsection -1 support.
9429 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
9430 Put constant into special SHF_MERGE sections if the linker should
9431 attempt to merge duplicates.
9432 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
9433 macro argument.
9434 Put constant into special SHF_MERGE sections if the linker should
9435 attempt to merge duplicates.
9436 * config/alpha/elf.h: Likewise.
9437 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
9438 has working .subsection -1 support.
9439 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
9440 SELECT_SECTION.
9441 * config/svr3.h: Likewise.
9442 * config/darwin.h: Likewise.
9443 * config/arm/aof.h: Likewise.
9444 * config/arm/linux-elf.h: Likewise.
9445 * config/avr/avr.h: Likewise.
9446 * config/c4x/c4x.h: Likewise.
9447 * config/d30v/d30v.h: Likewise.
9448 * config/i386/dgux.h: Likewise.
9449 * config/i386/osfrose.h: Likewise.
9450 * config/i386/sco5.h: Likewise.
9451 * config/i386/svr3gas.h: Likewise.
9452 * config/ia64/aix.h: Likewise.
9453 * config/m32r/m32r.h: Likewise.
9454 * config/m68k/m68k.h: Likewise.
9455 * config/m88k/dgux.h: Likewise.
9456 * config/m88k/m88k.h: Likewise.
9457 * config/mcore/mcore-pe.h: Likewise.
9458 * config/mips/mips.h: Likewise.
9459 * config/pa/pa.h: Likewise.
9460 * config/pa/pa-linux.h: Likewise.
9461 * config/romp/romp.h: Likewise.
9462 * config/rs6000/sysv4.h: Likewise.
9463 * config/rs6000/xcoff.h: Likewise.
9464 * config/s390/linux.h: Likewise.
9465 * config/sparc/sparc.h: Likewise.
9466 * config/sparc/sysv4.h: Likewise.
9467 * config/stormy16/stormy16.h: Likewise.
9468 * config/v850/v850.h: Likewise.
9469 * config/vax/vms.h: Likewise.
9470 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
9471 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
9472 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
9473 default_elf_asm_named_section for SHF_MERGE sections.
9474
9475 Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
9476
9477 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
9478 is OK.
9479
9480 2001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
9481
9482 * c-common.c (split_specs_attrs): Allow for empty attributes with
9483 empty TREE_PURPOSE. Fixes PR c/4294.
9484
9485 Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
9486
9487 * basic-block.h (cached_make_edge, make_single_succ): New.
9488 (make_edge): Remove first parameter.
9489 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
9490 * cfg.c (cached_make_edge): Rename from make_edge; return newly
9491 created edge; use obstack allocation.
9492 (make_edge, make_single_succ_edge): New.
9493 (first_removed_edge): New static variable.
9494 (init_flow): Initialize first_removed_edge and n_edges.
9495 (clear_edges): Use remove_edge.
9496 (flow_delete_block): Likewise.
9497 (remove_edge): Add removed edges to the removed edges list.
9498 (split_block, redirect_edge_and_branch_force, split_edge):
9499 Use make_edge.
9500 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
9501 (add_noreturn_fake_exit_edges): Likewise.
9502 (connect_infinite_loops_to_exit): Liekwise.
9503 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
9504 Use cached_make_edge.
9505 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
9506 * profile.c (branch_prob): Update make_edge call.
9507 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
9508
9509 2001-09-11 Richard Henderson <rth@redhat.com>
9510
9511 * config/alpha/alpha.c: Tidy formatting.
9512 (local_symbolic_operand): Verify mode.
9513 (alpha_sa_mask): Ignore unicos for eh_return.
9514 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
9515 * config/alpha/alpha.md (umk divsi patterns): Remove.
9516 (extendsfdf2): Remove unicos check.
9517 (tablejump): Merge vms and unicos code; always use direct set
9518 plus label_ref use.
9519
9520 2001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9521
9522 * config.gcc (alpha*-*-unicosmk*): New target.
9523
9524 * config/alpha/alpha-protos.h (symbolic_operand,
9525 unicosmk_add_call_info_word, unicosmk_add_extern,
9526 unicosmk_defer_case_vector, unicosmk_unique_section,
9527 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
9528 unicosmk_asm_file_start, unicosmk_asm_file_end,
9529 unicosmk_output_common): Declare.
9530
9531 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
9532 direct_return, function_arg, alpha_va_start, alpha_va_arg,
9533 alpha_does_function_need_gp, alpha_end_function): Support Cray
9534 Unicos/Mk.
9535 (alpha_init_machine_status, alpha_mark_machine_status,
9536 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
9537 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
9538 unicosmk_asm_named_section, unicosmk_insert_attributes,
9539 unicosmk_section_type_flags, symbolic_operand,
9540 unicosmk_output_module_name, unicosmk_output_default_externs,
9541 unicosmk_output_dex, unicosmk_output_externs,
9542 unicosmk_output_addr_vec, unicosmk_ssib_name,
9543 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
9544 unicosmk_asm_file_end, unicosmk_output_common,
9545 unicosmk_section_type_flags, unicosmk_unique_section,
9546 unicosmk_add_call_info_word, unicosmk_text_section,
9547 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
9548 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
9549 unicosmk_dex_count, unicosmk_special_name): New.
9550 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
9551 TARGET_ABI_UNICOSMK.
9552 (get_aligned_mem, alpha_expand_unaligned_load,
9553 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
9554 alpha_expand_unaligned_store_words): Support big-endian mode.
9555 (print_operand): Likewise. New format specifier 't'. Use
9556 TARGET_AS_SLASH_BEFORE_SUFFIX.
9557 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
9558 (alpha_pv_save_size): Update with above change.
9559 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
9560 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
9561 Unicos/Mk.
9562
9563 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
9564 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
9565 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
9566 (EXTRA_CONSTRAINT): New constraint 'U'.
9567 (PREDICATE_CODES): Add symbolic_operand.
9568
9569 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
9570 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
9571 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
9572 (integer division and modulus patterns): Split in default and
9573 Unicos/Mk versions.
9574 (*divmodsi_internal, *divmoddi_internal): Disable for
9575 TARGET_ABI_UNICOSMK.
9576 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
9577 little-endian and big-endian versions.
9578 (ext, ins, msk): Likewise.
9579 (extv, extzv, insv): Support big-endian mode.
9580 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
9581 (call_umk, call_value_umk, *call_umk, tablejump_umk,
9582 *tablejump_umk_internal, *call_value_umk): New.
9583 (*movdi_nofix): Add pattern for loading an address into a register on
9584 TARGET_ABI_UNICOSMK.
9585 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
9586 (umk_mismatch_args, arg_home_umk): New.
9587 (various insns): Don't use mov, fmov, nop, fnop and unop.
9588 (realign): Support TARGET_ABI_UNICOSMK.
9589
9590 * config/alpha/unicosmk.h: New file.
9591 * config/alpha/t-unicosmk: New file.
9592
9593 * fixinc/inclhack.def (unicosmk_restrict): New.
9594 * fixinc/fixincl.x: Regenerate.
9595
9596 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
9597 (wchar_t): Check for and define __WCHAR_T__.
9598
9599 2001-09-11 Richard Sandiford <rsandifo@redhat.com>
9600
9601 * combine.c (simplify_shift_const): Treat shifts by the mode
9602 size as undefined.
9603
9604 2001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
9605
9606 * cpphash.h (struct tokenrun): New.
9607 (struct cpp_context): New member bol.
9608 (struct cpp_reader): New members.
9609 (_cpp_init_tokenrun): New.
9610 * cppinit.c (cpp_create_reader): Set up the token runs.
9611 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
9612 (lex_token): New internalised version of _cpp_lex_token. Don't
9613 handle directives or the multiple include optimization here any
9614 more. Simply lex a token.
9615 * cpplib.c (run_directive): Clear bol.
9616 (_cpp_pop_buffer): Set bol.
9617 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
9618 arguments.
9619
9620 2001-09-11 Michael Meissner <meissner@redhat.com>
9621
9622 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
9623 give an error if the user uses -mfp32.
9624 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
9625 default options.
9626 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
9627 floating point register size.
9628 (EXTRA_SPECS): Add CPP_FPR_SPEC.
9629
9630 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
9631 HOST_WIDE_INT_PRINT_DEC to properly print the result of
9632 int_size_in_bytes.
9633 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
9634 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
9635
9636 2001-09-11 Hans-Peter Nilsson <hp@axis.com>
9637
9638 * dbxout.c (dbxout_parms): Fix typo in comment.
9639 * unroll.c (loop_find_equiv_value): Ditto.
9640 * toplev.c (rest_of_compilation): Ditto.
9641 * loop.c (scan_loop): Ditto.
9642 * dwarf2out.c (struct dw_fde_struct): Ditto.
9643
9644 2001-09-10 Zack Weinberg <zackw@panix.com>
9645
9646 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
9647 copying identifier when we're just going to throw it away.
9648 (parse_identifier_slow): New routine to handle abnormal cases.
9649 (_cpp_lex_token): Update call site.
9650
9651 * hashtable.c (ht_lookup): Don't assume that the string we've
9652 been given is NUL-terminated.
9653 * system.h: #define __builtin_expect(a, b) to (a) if not
9654 GCC >=3.0.
9655
9656 2001-09-10 Michael Meissner <meissner@redhat.com>
9657
9658 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
9659 binutils, gdb.
9660
9661 2001-09-10 David Edelsohn <edelsohn@gnu.org>
9662
9663 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
9664
9665 Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9666
9667 * builtins.c (c_getstr): Correct thinko in last change and further
9668 cleanup.
9669
9670 2001-09-10 Tim Freeman <tim@fungibole.com>
9671
9672 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
9673 into varray's and register them as roots with the garbage
9674 collector so they are not collected too soon.
9675
9676 Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
9677
9678 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
9679 New.
9680 * basic-block.h (flow_obstack, label_value_list,
9681 tail_recursion_label_list): Declare
9682 (tidy_fallthru_edges): Declare.
9683 (expunge_block, last_loop_beg_note): Delete.
9684 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
9685 * cfg.c: New file
9686 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
9687 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
9688 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
9689 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
9690 expunge_block, flow_delete_block, compute_bb_for_insn,
9691 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
9692 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
9693 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
9694 try_redirect_by_replacing_jump, last_loop_beg_note,
9695 redirect_edge_and_branch, redirect_edge_and_branch_force,
9696 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
9697 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
9698 commit_edge_insertions, dump_flow_info, debug_flow_info,
9699 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
9700 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
9701 Move here from flow.c
9702 * cfganal.c: New file.
9703 (forwarder_block_p, can_fallthru, mark_critical_edges,
9704 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
9705 find_unreachable_blocks, create_edge_list, free_edge_list,
9706 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
9707 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
9708 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
9709 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
9710 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
9711 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
9712 Move here from flow.c
9713 * cfgbuild.c: New file
9714 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
9715 make_edges, find_basic_blocks_1, find_basic_blocks,
9716 find_sub_basic_blocks): Move here from flow.c
9717 * cfgcleanup.c: New file.
9718 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
9719 merge_blocks_move_predecessor_nojumps,
9720 merge_blocks_move_successor_nojumps, merge_blocks,
9721 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
9722 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
9723 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
9724 if succeeded.
9725 * cfgloop.c: New file
9726 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
9727 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
9728 flow_loop_exit_edges_find, flow_loop_nodes_find,
9729 flow_loop_pre_header_scan, flow_loop_pre_header_find,
9730 flow_loop_tree_node_add, flow_loops_tree_build,
9731 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
9732 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
9733 Move here from flow.c
9734 * flow.c: Remove everything moved elsewhere
9735 * output.h (cleanup_cfg): Return bool.
9736
9737 * bb-reorder.c (reorder_block_def): Remove 'index'.
9738 (insert_intra_1): Add argument BB, set block for new note.
9739 (make_reorder_chain): Do not depdent on BB indexes.
9740 (make_reorder_chain_1): Do not use BB indexes.
9741 (label_for_bb): Likewise; set BB for new insn.
9742 (emit_jump_to_block_after): Likewise.
9743 (fixup_reorder_chain): Sanity check that all basic blocks
9744 are chained; verify newly created insn chain; remove
9745 undocnitional jump simplifying; Do not use BB indexes;
9746 properly initialize count and frequency information;
9747 dump reordered sequence.
9748 (insert_intra_bb_scope_notes): update call of insert_intra_1.
9749 (insert_inter_bb_scope_notes): Set block for new insn.
9750 (reorder_basic_blocks): Dump flow info before reoredering.
9751
9752 Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9753
9754 * alias.c (clear_reg_alias_info): Use K&R format definition.
9755 Avoid unsigned warning.
9756 * builtins.c: Use "unsigned int", not "unsigned".
9757 (target_char_cast): Use host_integerp and tree_low_cst.
9758 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
9759 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
9760 (c_getstr): Likewise.
9761 (std_expand_builtin_va_arg): Use int_size_in_bytes.
9762 (builtin_memcpy_read_str): Avoid unsigned warning.
9763 (expand_builtin_memcpy): Alignments are unsigned.
9764 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
9765 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
9766 * predict.c (expensive_function_p): LIMIT now unsigned.
9767 * resource.c (mark_target_live_regs): Make some vars unsigned.
9768 * sdbout.c: Use "unsigned int", not "unsigned".
9769 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
9770 (sdbout_source_line): Likewise.
9771 (sdbout_record_type_name): Remove "const" for NAME declaration.
9772 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
9773
9774 2001-09-10 Richard Sandiford <rsandifo@redhat.com>
9775
9776 * calls.c (store_one_arg): Expand comment.
9777
9778 2001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9779
9780 * calls.c (store_one_arg): Make sure that the entire argument is
9781 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
9782
9783 2001-09-09 Richard Henderson <rth@redhat.com>
9784
9785 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
9786
9787 Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
9788
9789 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
9790
9791 2001-09-09 Richard Henderson <rth@redhat.com>
9792
9793 * config/alpha/alpha.c (alpha_next_sequence_number): New.
9794 (alpha_this_literal_sequence_number): New.
9795 (alpha_this_gpdisp_sequence_number): New.
9796 (some_operand, input_operand): Add HIGH.
9797 (local_symbolic_operand): New.
9798 (alpha_encode_section_info): New.
9799 (alpha_legitimate_address_p): Allow LO_SUM.
9800 (alpha_legitimize_address): Generate HIGH+LO_SUM.
9801 (alpha_expand_mov): Likewise.
9802 (secondary_reload_class): Check memory_operand not general_operand
9803 for FP_REGS test.
9804 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
9805 (alpha_expand_unaligned_store): Likewise.
9806 (alpha_expand_unaligned_load_words): Likewise.
9807 (alpha_expand_unaligned_store_words): Likewise.
9808 (alpha_expand_block_clear): Likewise.
9809 (print_operand): Handle %#, %*, %H.
9810 (print_operand_address): Handle LO_SUM.
9811 (find_lo_sum): New.
9812 (alpha_does_function_need_gp): Use it.
9813 (alpha_expand_block_move): Fix signed compare warnings.
9814 (alpha_sa_mask, alpha_align_insns): Likewise.
9815 * config/alpha/alpha-protos.h: Update.
9816 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
9817 (MASK_EXPLICIT_RELOCS): New.
9818 (TARGET_SWITCHES): Add -mexplicit-relocs.
9819 (EXTRA_CONSTRAINT): Add 'T'.
9820 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
9821 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
9822 (ENCODE_SECTION_INFO): Out line.
9823 (REDO_SECTION_INFO_P): New.
9824 (STRIP_NAME_ENCODING): New.
9825 (ASM_OUTPUT_LABELREF): New.
9826 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
9827 (PREDICATE_CODES): Update.
9828 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
9829 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
9830 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
9831 builtin_setjmp_receiver_er, exception_receiver_1_er,
9832 call_value_osf_1_er): New patterns.
9833 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
9834 (movqi, movhi, movsi): Add explicit $31 base register to lda.
9835 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
9836 (FINAL_PRESCAN_INSN): New.
9837
9838 Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
9839
9840 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
9841
9842 2001-09-08 Andreas Jaeger <aj@suse.de>
9843
9844 * i386.h (TARGET_SWITCHES): Fix description.
9845
9846 2001-09-07 David Edelsohn <edelsohn@gnu.org>
9847
9848 * rs6000.c (num_insns_constant): Compute number of instructions
9849 more accurately.
9850
9851 * doc/install.texi: Explain AIX exception handling work-around.
9852 Update URL for AIX fixes.
9853
9854 2001-09-07 Jim Wilson <wilson@redhat.com>
9855
9856 * alias.c (clear_reg_alias_info): New.
9857 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
9858 * rtl.h (clear_reg_alias_info): Declare.
9859
9860 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9861
9862 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
9863 available.
9864 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
9865 (m16m,edivm,emulm): Change declaration to match definition.
9866
9867 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9868
9869 * reload.c (push_reload): Check for subreg_lowpart_p instead of
9870 SUBREG_BYTE being 0 when determining if the inner part of a subreg
9871 can be reloaded.
9872
9873 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9874
9875 * c-common.c (signed_or_unsigned_type): Handle machine mode types
9876 which have no corresponding C type.
9877 * fold_const.c (target_isinf,target_isnan,target_negative): Update
9878 the representation of 64-bit doubles to work with 64-bit ints.
9879
9880 2001-09-07 Aldy Hernandez <aldyh@redhat.com>
9881
9882 * config/mips/mips.c (override_options): Do not override ISA when ABI
9883 specified if MIPS_CPU_STRING_DEFAULT was specified.
9884
9885 2001-09-07 Richard Henderson <rth@redhat.com>
9886
9887 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
9888 (express_from_1): Wrap lines.
9889 * rtlanal.c (commutative_operand_precedence): Rename from
9890 operand_preference; export.
9891 * rtl.h: Declare it.
9892 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
9893 (simplify_binary_operation): Invoke simplify_plus_minus on
9894 (CONST (PLUS ...)) as well.
9895 (struct simplify_plus_minus_op_data): New.
9896 (simplify_plus_minus_op_data_cmp): New.
9897 (simplify_plus_minus): Use them. Avoid infinite recursion with
9898 simplify_binary_operation wrt CONST.
9899
9900 Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
9901
9902 * h8300-protos.h (general_operand_dst_push): Remove.
9903 * h8300.c (general_operand_dst_push): Likewise.
9904 * h8300.h (OK_FOR_T): Likewise.
9905 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
9906 * h8300.md (pushqi_h8300): New.
9907 (pushqi_h8300hs): Likewise.
9908 (pushqi): Likewise.
9909 (pushhi_h8300): Likewise.
9910 (pushhi_h8300hs): Likewise.
9911 (pushhi): Likewise.
9912
9913 Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9914
9915 * genattrtab.c (attr_printf): First arg is unsigned.
9916 Clean up formatting of callers.
9917
9918 2001-09-06 Aldy Hernandez <aldyh@redhat.com>
9919
9920 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
9921 registers.
9922
9923 2001-09-07 Andreas Jaeger <aj@suse.de>
9924
9925 * i386.h (TARGET_SWITCHES): Fix descriptions.
9926
9927 2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
9928
9929 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
9930
9931 2001-09-06 Ira Ruben <ira@apple.com>
9932
9933 Remove OP_IDENTIFIER.
9934 * tree.def (OP_IDENTIFIER): Remove.
9935 * tree.c (tree_node_kind enum): Remove op_id_kind.
9936 (tree_node_kind_names): Remove "op_identifiers".
9937 (make_node): Remove OP_IDENTIFIER test.
9938 (build_op_identifier): Removed because it isn't being used.
9939 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
9940 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
9941
9942 2001-09-06 Richard Henderson <rth@redhat.com>
9943
9944 * simplify-rtx.c (simplify_binary_operation): Revert last change.
9945
9946 2001-09-06 Richard Henderson <rth@redhat.com>
9947
9948 * simplify-rtx.c (simplify_binary_operation): Simplify contents
9949 of CONST.
9950
9951 2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
9952
9953 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
9954 number used for CR register.
9955
9956 Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
9957 Joern Rennecke (amylaar@cygnus.com)
9958
9959 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
9960 * h8300.c (initial_offset): Handle offset between RP and FP.
9961 (h8300_return_addr_rtx): New function.
9962 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
9963 return register.
9964 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
9965 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
9966 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
9967 (CAN_ELIMINATE, REGISTER_NAMES):
9968 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
9969
9970 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
9971
9972 Remove TYPE_NONCOPIED_PARTS.
9973 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
9974 (struct tree_type): Remove noncopied_parts.
9975 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
9976 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
9977 (fixed_type_p): Remove.
9978 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
9979 (expand_expr, MODIFY_EXPR): Likewise.
9980 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
9981 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
9982
9983 2001-09-06 Alan Modra <amodra@bigpond.net.au>
9984
9985 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
9986 compiler warnings.
9987 (mask64_operand): Likewise.
9988 (includes_rldic_lshift_p): Likewise.
9989 (includes_rldicr_lshift_p): Likewise.
9990
9991 2001-09-05 Ziemowit Laski <zlaski@apple.com>
9992
9993 * objc/objc-act.c (build_message_expr): If a class method cannot
9994 be found, do not issue a warning if a corresponding instance
9995 method exists in the root class.
9996
9997 2001-09-05 Richard Henderson <rth@redhat.com>
9998
9999 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
10000
10001 2001-09-05 Zack Weinberg <zack@codesourcery.com>
10002
10003 * function.c (ggc_mark_struct_function): Mark f->outer.
10004 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
10005 * integrate.c (output_inline_function): ... not here.
10006
10007 Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
10008
10009 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
10010
10011 * i386.c (size_cost): New static variable.
10012 (override_function): Use size_cost when -Os is specified.
10013
10014 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
10015 properly; Use current_function_calls_eh_return.
10016 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
10017 use leave to avoid dependency chain.
10018
10019 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
10020 get BB loop_depth instead of computing it from LOOP notes.
10021
10022 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
10023
10024 2001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
10025
10026 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10027 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10028 UNALIGNED_DOUBLE_INT_ASM_OP): Define
10029
10030 2001-09-05 Jeffrey A Law (law@cygnus.com)
10031 Jason Merrill (jason@redhat.com)
10032
10033 * stor-layout.c (layout_type): Complain if an array's size can
10034 not be represented in a size_t.
10035
10036 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
10037
10038 2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
10039
10040 * gcc.c: (process_command) Add parentheses around assignment
10041 used as truth value.
10042
10043 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
10044
10045 * config/mips/mips.c (save_restore_insns): Don't mark any register
10046 save slots as unchanging if current_function_calls_eh_return.
10047
10048 2001-09-05 Richard Henderson <rth@redhat.com>
10049
10050 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
10051 * config/alpha/alpha-protos.h: Declare it.
10052 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
10053 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
10054 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
10055 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
10056 (REG_OK_FOR_BASE_P): Select one of the above.
10057
10058 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
10059
10060 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
10061 (crti.o): Prefix name of object file with $(T).
10062 (crtn.o): Likewise.
10063
10064 2001-09-05 David S. Miller <davem@redhat.com>
10065
10066 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
10067 * config/sparc/linux64.h: Likewise.
10068
10069 2001-09-05 Andreas Jaeger <aj@suse.de>
10070
10071 * doc/invoke.texi (i386 Options): -mwide-multiply is not
10072 available anymore, remove the documentation.
10073 (i386 Options): Fix typo, cleanup index entries.
10074
10075 * prefix.c (concat): Remove, we can use the version from liberty.
10076
10077 2001-09-05 Richard Henderson <rth@redhat.com>
10078
10079 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
10080 New functions split out of md file expanders.
10081 * config/alpha/alpha-protos.h: Declare them.
10082 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
10083
10084 2001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
10085
10086 * cppmacro.c (funlike_invocation_p): No need to restore context.
10087
10088 2001-09-04 Richard Henderson <rth@redhat.com>
10089
10090 * reload.c (push_reload): Export.
10091 * reload.h (push_reload): Declare it.
10092
10093 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
10094 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
10095 * config/alpha/alpha.c (alpha_legitimize_address): New.
10096 (alpha_legitimize_reload_address): Likewise.
10097 * config/alpha/alpha-protos.h: Declare them.
10098
10099 2001-09-04 Stan Shebs <shebs@apple.com>
10100
10101 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
10102 * config/darwin.c (machopic_stub_name): Account for internally
10103 generated lib calls such as memcpy.
10104
10105 2001-09-04 Richard Henderson <rth@redhat.com>
10106
10107 * unwind.h (_UA_END_OF_STACK): New flag.
10108 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
10109
10110 Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
10111
10112 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
10113
10114 2001-09-04 Richard Sandiford <rsandifo@redhat.com>
10115
10116 * config/mips/mips.c (save_restore_insns): Change base_offset to
10117 fp_offset in second call to mips_emit_frame_related_store.
10118
10119 2001-09-04 Hans-Peter Nilsson <hp@axis.com>
10120
10121 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
10122 sometimes be represented as a NOTE of type
10123 NOTE_INSN_DELETED_LABEL.
10124 (Insns): Document NOTE_INSN_DELETED_LABEL.
10125
10126 2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
10127
10128 * c-common.h (tree_dump_index): Add more comments.
10129 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
10130 (dump_option_value_info): New struct.
10131 (dump_options): New array.
10132 (dump_switch_p): Parse switch options symbolically.
10133 * doc/invoke.texi (-fdump-ast): Rename to ...
10134 (-fdump-tree): ... here. Document that options are symbolic, and
10135 not all are applicable.
10136
10137 2001-09-04 David S. Miller <davem@redhat.com>
10138
10139 * config/sparc/sparc.md (define_splits): Kill constraints.
10140
10141 Cleanup redundant and unused insn attributes.
10142 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
10143 binary, and move. Mark ialu as default.
10144 (commented out define_function_unit "alu"): Kill.
10145 (define_attr "use_clobbered"): Kill.
10146 (whole file): Kill address insn type references. Replace
10147 all unary/binary/move references with ialu.
10148 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
10149 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
10150 TYPE_IALU.
10151
10152 Simplify length insn attribute and make more judicious use
10153 of insn attribute defaulting.
10154 * config/sparc/sparc.md (all insns with length > one): Mark as
10155 insn type multi if real instructions, else use default if
10156 it is a forced splitter.
10157 (all insns with length == one): Use default insn length.
10158 (all insns of type ialu): Use default insn type.
10159
10160 Fix erroneous insn attribute settings.
10161 (addx): Set insn type to misc.
10162 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
10163 const_umulsidi3_sp64): Set insn type to imul.
10164
10165 Track SFmode vs DFmode insns according to UltraSPARC
10166 scheduling rules.
10167 * config/sparc/sparc.md ("fptype"): New attribute, default
10168 to "single".
10169 (all DFmode single insns): Mark as fptype "double".
10170
10171 2001-09-03 Jakub Jelinek <jakub@redhat.com>
10172
10173 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
10174
10175 2001-09-03 Richard Henderson <rth@redhat.com>
10176
10177 * function.h (struct function): Add arg_pointer_save_area_init.
10178 * function.c (expand_function_end): Init arg_pointer_save_area.
10179 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
10180 when called from a nested function.
10181
10182 2001-09-02 Angela Marie Thomas <angela@cygnus.com>
10183
10184 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
10185 is enabled.
10186
10187 Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10188
10189 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
10190
10191 2001-09-01 Geoffrey Keating <geoffk@redhat.com>
10192
10193 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
10194 (emit_push_insn): Use specified padding direction when
10195 STACK_PUSH_CODE is POST_INC.
10196
10197 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
10198
10199 2001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10200
10201 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
10202
10203 2001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
10204
10205 * cppinit.c (cpp_start_read): Free the imacros list as we
10206 traverse it. Don't free the chains before returning.
10207 (_cpp_push_next_buffer): Only try pushing buffers if we've
10208 completed -imacros handling.
10209
10210 2001-08-31 Eric Christopher <echristo@redhat.com>
10211
10212 * gcc.c (handle_braces): Add explaination for abort.
10213
10214 2001-08-30 Roman Zippel <zippel@linux-m68k.org>
10215
10216 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
10217 move adjustment of bitpos instead.
10218
10219 2001-08-31 Zack Weinberg <zack@codesourcery.com>
10220
10221 * function.c: Remove all_functions. Make outer_function_chain
10222 static.
10223 (init_function_start): Don't add new function structure to
10224 all_functions.
10225 (find_function_data, push_function_context_to,
10226 pop_function_context_from, put_var_into_stack,
10227 trampoline_address): Update for changed structure element names.
10228 (push_function_context_to): Disentangle.
10229 (free_after_compilation): Also free F.
10230 (expand_dummy_function_end): Don't free cfun here.
10231 (put_var_into_stack): Comment why we can't use find_function_data here.
10232 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
10233 (mark_function_chain): Split into maybe_mark_struct_function and
10234 ggc_mark_struct_function. Export the latter.
10235 (init_function_once): Mark from cfun and outer_function_chain;
10236 not all_functions.
10237
10238 * function.h (struct function): Kill next_global. Rename next
10239 to outer. All users updated to match.
10240 (all_functions, outer_function_chain): Don't declare.
10241
10242 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
10243 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
10244 don't touch f->inlinable, after calling rest_of_compilation.
10245
10246 * tree.h: Forward-declare struct function. Prototype
10247 ggc_mark_struct_function.
10248
10249 2001-08-31 Kazu Hirata <kazu@hxi.com>
10250
10251 * config/h8300/h8300.md (*andorhi3): Fix typos.
10252
10253 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10254
10255 * calls.c (emit_library_call_value): Don't use a fixed
10256 argument after VA_CLOSE, i.e. out of scope in traditional C.
10257
10258 * emit-rtl.c (gen_rtvec): Likewise.
10259
10260 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10261
10262 * Makefile.in (c-pragma.o): Depend on output.h.
10263 (reorg.o): Depend on except.h.
10264
10265 * c-pragma.c: Include output.h.
10266
10267 * reorg.c: Include except.h.
10268
10269 * unwind-dw2.c: Call __builtin_alloca, not alloca.
10270
10271 2001-08-31 Richard Henderson <rth@redhat.com>
10272
10273 * sched-deps.c (add_dependence): Don't elide dependency if the
10274 conditional used by insn is modified in elem.
10275
10276 2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
10277
10278 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
10279
10280 2001-08-31 Diego Novillo <dnovillo@redhat.com>
10281
10282 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
10283 dump_switch_p.
10284
10285 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
10286
10287 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
10288 function.
10289 (stormy16_asm_out_constructor): New function.
10290 (TARGET_ASM_CONSTRUCTOR): Define.
10291 (TARGET_ASM_DESTRUCTOR): Define.
10292
10293 2001-08-31 Andreas Jaeger <aj@suse.de>
10294
10295 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
10296 * loop.c (add_label_notes): Likewise.
10297 * reload.c (find_reloads): Likewise.
10298 * config/sh/sh.c (machine_dependent_reorg): Likewise.
10299
10300 2001-08-31 Jason Merrill <jason_merrill@redhat.com>
10301
10302 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
10303 code here. Take _Unwind_{W,Sw}ord*.
10304 (read_encoded_value_with_base): Use them.
10305 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
10306 words.
10307 (extract_cie_info): Simplify read_?leb128 handling.
10308 (execute_stack_op, execute_cfa_program): Likewise.
10309 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
10310
10311 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
10312
10313 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
10314 the frame pointer to pop the stack if convenient.
10315
10316 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
10317 Don't use post-increment before combine.
10318 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
10319 a call-saved register.
10320
10321 2001-08-31 Andreas Jaeger <aj@suse.de>
10322
10323 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
10324 code was correct.
10325
10326 2001-08-30 Geoffrey Keating <geoffk@redhat.com>
10327
10328 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
10329 not DIV/MOD, of course.
10330
10331 2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
10332
10333 * rtl.def: Undo my patch commited 2001-08-27.
10334
10335 * genattrtab.c: Ditto.
10336
10337 * rtl.h: Ditto.
10338
10339 * sched-int.h: Ditto.
10340
10341 * target-def.h: Ditto.
10342
10343 * target.h: Ditto.
10344
10345 * haifa-sched.c: Ditto.
10346
10347 * sched-rgn.c: Ditto.
10348
10349 * sched-vis.c: Ditto.
10350
10351 * Makefile.in: Ditto.
10352
10353 * doc/md.texi: Ditto.
10354
10355 * doc/tm.texi: Ditto.
10356
10357 * doc/contrib.texi: Ditto.
10358
10359 * doc/gcc.texi: Ditto.
10360
10361 * genattrtab.h: Remove it.
10362
10363 * genautomata.c: Remove it.
10364
10365 * genattr.c: Undo my patch and Richard Henderson's patch commited
10366 2001-08-27.
10367
10368 Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
10369
10370 * config.gcc (h8300-*-elf*): New case.
10371 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
10372 (SUBTARGET_CPP_SPEC): Define.
10373 (EXTRA_SPECS): Define.
10374 (SUBTARGET_EXTRA_SPECS): Define.
10375 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
10376 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
10377
10378 Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
10379
10380 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
10381 (LIB2FUNCS_EXTRA): Define.
10382 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
10383 config/h8300/fixunssfsi.c: New file.
10384
10385 2001-08-30 Kazu Hirata <kazu@hxi.com>
10386
10387 * config/h8300/h8300.md (zero_extendqihi2): Changes to
10388 define_expand to accommodate target-specific attributes.
10389 (anonymous zero_extendqihi2 patterns): New.
10390
10391 Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
10392
10393 * h8300.md (*andorhi3): New pattern.
10394
10395 Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
10396
10397 * h8300.c (dosize): Fix test for "sub".
10398
10399 Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
10400
10401 * c-typeck.c (pointer_diff): Try to eliminate common term before
10402 doing conversions.
10403
10404 2001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
10405
10406 * config/arm/arm.c (arm_compute_initial_elimination_offset):
10407 Account for the saves of the FP registers.
10408
10409 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
10410 (TEXT_SECTION_ASM_OP): Define.
10411 (INIT_SECTION_ASM_OP): Define.
10412 (FINI_SECTION_ASM_OP): Define.
10413 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
10414 (RDATA_SECTION_FUNCITON): Provide prototype.
10415
10416 2001-08-29 Geoffrey Keating <geoffk@redhat.com>
10417
10418 * reload1.c (move2add_note_store): Correct typo checking for
10419 argument pushes.
10420
10421 2001-08-29 Andrew MacLeod <amacleod@redhat.com>
10422
10423 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
10424 note should not be considered outside the libcall block.
10425
10426 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10427
10428 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
10429
10430 2001-08-29 Kazu Hirata <kazu@hxi.com>
10431
10432 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
10433
10434 2001-08-29 Kazu Hirata <kazu@hxi.com>
10435
10436 * config/h8300/h8300-protos.h: Add a prototype for
10437 emit_logical_op.
10438 * config/h8300/h8300.c (emit_logical_op): New.
10439 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
10440 (andsi3): Likewise.
10441 (iorhi3): Likewise.
10442 (iorsi3): Likewise.
10443 (xorhi3): Likewise.
10444 (xorsi3): Likewise.
10445
10446 2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
10447
10448 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
10449 comparison with rtx INTVAL.
10450 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
10451 expression.
10452 * pa.h (FUNCTION_ARG_SIZE): Likewise.
10453
10454 2001-08-29 Kazu Hirata <kazu@hxi.com>
10455
10456 * config/h8300/lib1funcs.asm: Update the copyright. Fix
10457 comment typos.
10458
10459 2001-08-29 Kazu Hirata <kazu@hxi.com>
10460
10461 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
10462 (reg n) to (mem (pre_dec (reg n))
10463 (anonymous movsi pattern): Likewise.
10464
10465 2001-08-29 Kazu Hirata <kazu@hxi.com>
10466
10467 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
10468
10469 2001-08-29 Kazu Hirata <kazu@hxi.com>
10470
10471 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
10472 several special constants.
10473
10474 2001-08-29 Kazu Hirata <kazu@hxi.com>
10475
10476 * config/h8300/lib1funcs.asm: Fix comment typos.
10477
10478 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10479
10480 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
10481 Fix format specifier warnings.
10482
10483 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
10484 inet_makeaddr, semctl): Prototype.
10485
10486 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
10487 (save_restore_insns): Use base_offset, not gp_offset.
10488
10489 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
10490 (ASM_OUTPUT_BYTE): Fix format specifier warning.
10491
10492 2001-08-29 Richard Henderson <rth@redhat.com>
10493
10494 * bb-reorder.c (function_tail_eff_head): New.
10495 (record_effective_endpoints): Set it.
10496 (fixup_reorder_chain): Use it.
10497
10498 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10499
10500 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
10501
10502 2001-08-28 Dale Johannesen <dalej@apple.com>
10503
10504 * config/darwin.c (machopic_function_base_name): Add const
10505 qualifier to a string.
10506 (darwin_encode_section_info): Ditto.
10507
10508 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10509
10510 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
10511 function definition.
10512
10513 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
10514
10515 * df.h (struct df): Add rts_order variable.
10516
10517 * df.c (df_visit_next_rts): New function.
10518 (df_visit_next): Renamed to df_visit_next_rc
10519 (df_analyse_1): Allocate/compute/free rts_order as well.
10520 (df_rd_global_compute): Use df_visit_next_rc instead of
10521 df_visit_next.
10522 (df_ru_global_compute): Use df_visit_next_rts instead of
10523 df_visit_next.
10524
10525 * flow.c (flow_reverse_top_sort_order_compute): New function.
10526
10527 * basic-block.h: Add prototype.
10528
10529 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
10530
10531 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
10532 blocks, the BB_REACHABLE is now set, rather than aux being
10533 non-NULL. Update the test to reflect this.
10534
10535 2001-08-28 Eric Christopher <echristo@redhat.com>
10536
10537 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
10538 config/mips/crti.asm: Ditto.
10539
10540 2001-08-28 Eric Christopher <echristo@redhat.com>
10541 Richard Henderson <rth@redhat.com>
10542
10543 * c-pragma.h (add_weak): Move prototype from here...
10544 * output.h (add_weak): ... to here.
10545 * varasm.c (add_weak): Fix typo.
10546 * config/mips/crti.asm: New file.
10547 * config/mips/crtn.asm: Ditto.
10548 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
10549 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
10550 (INVOKE__main): Ditto.
10551 (INIT_SECTION_ASM_OP): New.
10552 (FINI_SECTION_ASM_OP): Ditto.
10553 (STARTFILE_SPEC): Add crti.
10554 (ENDFILE_SPEC): Add crtn.
10555 * config/mips/elf64.h: Same.
10556 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
10557 Remove.
10558 * config/mips/vxworks.h: Ditto.
10559 * config/mips/t-elf: Support crti and crtn.
10560
10561 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
10562
10563 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
10564 INSN_LIST.
10565
10566 2001-08-28 Richard Henderson <rth@redhat.com>
10567
10568 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
10569 (one_cmplbi2 splitter): Remove redundant test.
10570
10571 2001-08-28 Dale Johannesen <dalej@apple.com>
10572
10573 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
10574
10575 2001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
10576
10577 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
10578
10579 2001-08-28 Stan Shebs <shebs@apple.com>
10580
10581 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
10582 (UNALIGNED_SHORT_ASM_OP): Define.
10583 (UNALIGNED_INT_ASM_OP): Define.
10584
10585 2001-08-28 Will Cohen <wcohen@redhat.com>
10586
10587 * config/rs6000/rs6000.md (store_multiple): Correct RTL
10588 generation for first set.
10589
10590 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
10591
10592 * flow.c (redirect_edge_succ_nodup): Return new edge.
10593 (try_simplify_condjump): Use new edge.
10594 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
10595
10596 * cse.c (cse_basic_block): Skip note instructions.
10597
10598 2001-08-27 Richard Henderson <rth@redhat.com>
10599
10600 * combine.c (combine_simplify_rtx): Don't reverse condition
10601 if there is no reverse for the condition.
10602 (simplify_comparison): Don't simplify subregs from INT to FP.
10603
10604 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
10605 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
10606 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
10607 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
10608 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
10609 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
10610
10611 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
10612
10613 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
10614 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
10615 (pushqi1): New.
10616 (adddi_dilshr32, adddi_dishl32): Only data register can be
10617 source for mem destination.
10618
10619 * expmed.c (store_bit_field): Ignore adjustment to bitpos
10620 and use bitnum to decide about register move.
10621
10622 2001-08-27 Richard Henderson <rth@redhat.com>
10623
10624 * genattr.c (main): Emit state_t even when not doing scheduling.
10625
10626 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
10627 Richard Henderson <rth@redhat.com>
10628
10629 * gcse.c (reg_first_set, reg_last_set): Replace with ...
10630 (reg_avail_info, current_bb): ... these.
10631 (oprs_unchanged_p, record_last_reg_set_info): Use them.
10632 (compute_hash_table): Likewise.
10633
10634 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
10635
10636 * flow.c (verify_flow_info): Use checksums to verify edges.
10637
10638 2001-08-27 Richard Henderson <rth@redhat.com>
10639
10640 * genautomata.c (expand_automata): Always create a description.
10641
10642 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
10643
10644 * optabs.c (expand_binop): Correctly handle the carry in multiword
10645 add/subtract operations.
10646
10647 2001-08-27 Fred Fish <fnf@be.com>
10648
10649 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
10650 __SIZE_TYPE__.
10651
10652 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
10653
10654 * reload.c (find_reloads_toplev): Back out this change:
10655
10656 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
10657
10658 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
10659 mem if the address is a mode_dependent_address_p.
10660
10661 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
10662
10663 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
10664 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
10665 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
10666 RTL constructions.
10667
10668 * genattr.c (main): New variable num_insn_reservations. Increase
10669 it if there is DEFINE_INSN_RESERVATION. Output automaton based
10670 pipeline hazard recognizer interface.
10671
10672 * genattrtab.h: New file.
10673
10674 * genattrtab.c: Include genattrtab.h.
10675 (attr_printf, check_attr_test, make_internal_attr,
10676 make_numeric_value): Move protypes into genattrtab.h. Define them
10677 as external.
10678 (num_dfa_decls): New global variable.
10679 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
10680 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
10681 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
10682 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
10683
10684 * genautomata.c: New file.
10685
10686 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
10687
10688 * sched-int.h: (curr_state): Add the external definition for
10689 automaton pipeline interface.
10690 (haifa_insn_data): Add comments for members blockage and units.
10691
10692 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10693 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10694 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10695 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10696 TARGET_SCHED_DFA_POST_CYCLE_INSN,
10697 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10698 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
10699 macros.
10700 (TARGET_SCHED): Use the new macros.
10701
10702 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
10703 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
10704 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
10705 dfa_bubble): New members in gcc_target.sched.
10706
10707 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
10708 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
10709 (insn_queue): Redefine it as pointer to array.
10710 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
10711 INSN_QUEUE_SIZE.
10712 (max_insn_queue_index_macro_value): New variable.
10713 (curr_state, dfa_state_size, ready_try): New varaibles for
10714 automaton interface.
10715 (ready_element, ready_remove, max_issue): New function prototypes
10716 for automaton interface.
10717 (choose_ready): New function prototype.
10718 (insn_unit, blockage_range): Add comments.
10719 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
10720 FUNCTION_UNITS_SIZE == 0.
10721 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
10722 actual_hazard, potential_hazard): Add comments.
10723 (insn_cost): Use cost -1 as undefined value. Remove
10724 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
10725 pipeline interface.
10726 (ready_element, ready_remove): New functions for automaton
10727 interface.
10728 (schedule_insn): Add new code for automaton pipeline interface.
10729 (queue_to_ready): Add new code for automaton pipeline interface.
10730 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
10731 (debug_ready_list): Print newline when the queue is empty.
10732 (max_issue): New function for automaton pipeline interface.
10733 (choose_ready): New function.
10734 (schedule_block): Add new code for automaton pipeline interface.
10735 Print ready list before scheduling each insn.
10736 (sched_init): Add new code for automaton pipeline interface.
10737 Initiate insn cost by -1.
10738 (sched_finish): Free the current automaton state and finalize
10739 automaton pipeline interface.
10740
10741 * sched-rgn.c: Include target.h.
10742 (init_ready_list, new_ready, debug_dependencies): Add new code for
10743 automaton pipeline interface.
10744
10745 * sched-vis.c: Include target.h.
10746 (get_visual_tbl_length): Add code for automaton interface.
10747 (target_units, print_block_visualization): Add comments.
10748
10749 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
10750 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
10751 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
10752 (getruntime.o, genautomata.o): New entries.
10753 (genattrtab.o): Add new dependency file genattrtab.h.
10754 (genattrtab): Add new dependencies. Link it with `libm.a'.
10755 (getruntime.o, hashtab.o): New entries for canadian cross.
10756
10757 * doc/md.texi: Description of automaton based model.
10758
10759 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
10760 Add comments.
10761 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
10762 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
10763 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
10764 TARGET_SCHED_DFA_POST_CYCLE_INSN,
10765 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
10766 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
10767 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
10768 hook descriptions.
10769 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
10770 MAX_DFA_ISSUE_RATE): New macro descriptions.
10771
10772 * doc/contrib.texi: Add dfa based scheduler contribution.
10773
10774 * doc/gcc.texi: Add more information about genattrtab.
10775
10776 2001-08-27 Diego Novillo <dnovillo@redhat.com>
10777
10778 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
10779 an RTL basic block.
10780
10781 2001-08-27 Richard Henderson <rth@redhat.com>
10782
10783 * function.c (expand_function_end): Don't init arg_pointer_save_area.
10784 (get_arg_pointer_save_area): New. Create an init it here.
10785 (fix_lexical_addr): Use it.
10786 * function.h: Declare it.
10787 * builtins.c (expand_builtin_setjmp_receiver): Use it.
10788 * stmt.c (expand_nl_goto_receiver): Use it.
10789
10790 2001-08-27 Richard Henderson <rth@redhat.com>
10791
10792 * final.c (final_scan_insn): Don't enter APP_ON mode for
10793 empty asm strings.
10794
10795 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
10796 alignment for assemble_integer for DW_EH_PE_aligned.
10797 * except.c (output_function_exception_table): Likewise.
10798
10799 2001-08-26 Andreas Jaeger <aj@suse.de>
10800
10801 * c-tree.h: Add prototyp for c_sizeof_nowarn.
10802
10803 2001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
10804
10805 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
10806
10807 2001-08-27 Alan Modra <amodra@bigpond.net.au>
10808
10809 * config/rs6000/rs6000.c (mask_operand): Rewrite without
10810 bit-shifting loop.
10811 (mask64_operand): Likewise.
10812 (rldic_operand): Delete.
10813 (includes_lshift64_p): Delete.
10814 (includes_rldic_lshift_p): New function.
10815 (includes_rldicr_lshift_p): New function.
10816 (print_operand): Don't call rldic_operand in case 'W'.
10817 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
10818 (includes_lshift64_p): Remove.
10819 (includes_rldic_lshift_p): Declare.
10820 (includes_rldicr_lshift_p): Declare.
10821 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
10822 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
10823 Replace match_operand rldic_operand predicate with
10824 const_int_operand. Replace includes_lshift64_p condition with
10825 includes_rldic_lshift_p.
10826 <ashldi3_internal 64 bit rldicr patterns>: New.
10827
10828 2001-08-27 Andreas Jaeger <aj@suse.de>
10829
10830 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
10831 * errors.c: Likewise.
10832 * final.c: Likewise.
10833 * dwarf2asm.c: Likewise.
10834 * doprint.c (checkit): Likewise.
10835 * diagnostic.c: Likewise.
10836 * collect2.c: Likewise.
10837 * calls.c: Likewise.
10838 * c-semantics.c (build_stmt): Likewise.
10839 * c-format.c (status_warning): Likewise.
10840 * c-errors.c (pedwarn_c99): Likewise.
10841 * builtins.c (validate_arglist): Likewise.
10842 * config/pj/pj.c (pj_printf): Likewise.
10843 * fix-header.c: Likewise.
10844 * gcc.c: Likewise.
10845 * gcov.c (fnotice): Likewise.
10846 * gensupport.c (message_with_line): Likewise.
10847 * mips-tfile.c: Likewise.
10848 * protoize.c (notice): Likewise.
10849 * read-rtl.c (fatal_with_file_and_line): Likewise.
10850 * rtl-error.c: Likewise.
10851 * tradcpp.c: Likewise.
10852 * tree.c: Likewise.
10853 * cp/tree.c (build_min_nt): Likewise.
10854 (build_min): Likewise.
10855 * cp/lex.c: Likewise.
10856 * cp/errfn.c: Likewise.
10857 * cp/rtti.c (create_pseudo_type_info): Likewise.
10858
10859 Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
10860
10861 * df.c (df_uses_record): Return after recording all uses
10862 in ASM_OPERANDS.
10863
10864 2001-08-26 Daniel Berlin <dan@cgsoftware.com>
10865
10866 * df.c (df_insn_modify): Realloc the INSN table here, if
10867 necessary, here, too.
10868
10869 2001-08-26 Aldy Hernandez <aldyh@redhat.com>
10870
10871 * config/mips/mips.c (mips_function_value): Handle complex return
10872 values.
10873
10874 2001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
10875
10876 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
10877 unshared.
10878 * reload.c (make_memloc): Copy result if it is still
10879 reg_equiv_memory_loc[regno] on return.
10880 (subst_reloads) [ENABLE_CHECKING]: Check that none of
10881 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
10882 reg_equiv_mem are modified by the substitutions.
10883
10884 Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
10885
10886 * predict.c (expensive_function_p): New.
10887 * rtl.h (expensive_function_p): Declare.
10888 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
10889 (use_fast_prologue_epilogue): New static variable.
10890 (expand_prologue): Set it; emit short prologues if unset.
10891 (expand_epilogue): Likewise.
10892
10893 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
10894
10895 * config.gcc: Add stormy16-*-elf case.
10896 * config/stormy16/stormy-abi: New file.
10897 * config/stormy16/stormy16-lib2.c: New file.
10898 * config/stormy16/stormy16-protos.h: New file.
10899 * config/stormy16/stormy16.c: New file.
10900 * config/stormy16/stormy16.h: New file.
10901 * config/stormy16/stormy16.md: New file.
10902 * config/stormy16/t-stormy16: New file.
10903
10904 Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
10905
10906 * i386.h (no-accumulate-outgoing-args): Use proper mask.
10907
10908 2001-08-24 David Edelsohn <edelsohn@gnu.org>
10909
10910 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
10911 descriptor members are pointer size, not constant 4.
10912 * config/rs6000/rs6000.md (define_splits): Remove more unused
10913 constraints.
10914
10915 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10916
10917 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
10918
10919 2001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
10920
10921 * cp/rtti.c (VPARAMS): Fix parameter.
10922
10923 2001-08-24 Zack Weinberg <zackw@panix.com>
10924
10925 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
10926 to zero.
10927 (mode_for_extraction): No need for #ifdefs. Add default-case abort
10928 to switch.
10929 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
10930 in if controlling use of insv.
10931 (extract_bit_field): Likewise, for extv and extzv.
10932
10933 Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
10934
10935 * i386.md (movcc peep2): Fix load of 0.
10936
10937 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10938
10939 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
10940 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
10941
10942 2001-08-23 Jason Merrill <jason_merrill@redhat.com>
10943
10944 * c-pragma.h: Move weak_syms and weak_decls...
10945 * varasm.c: ...here. Now static.
10946 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
10947 depend on HANDLE_PRAGMA_WEAK.
10948
10949 * c-common.c (c_alignof, c_alignof_expr): Move here...
10950 * c-typeck.c: ...from here.
10951 * c-tree.h, c-common.h: Adjust.
10952
10953 2001-08-23 Bernd Schmidt <bernds@redhat.com>
10954
10955 * config/ia64/ia64.c (rws_update): If !pred, set write_count
10956 instead of incrementing it.
10957
10958 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
10959 asm ready, don't try to move them all into the same array element.
10960
10961 Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
10962
10963 * function.c (thread_prologue_and_epilogue_insns): Avoid
10964 fallthru flag on edge to exit.
10965
10966 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
10967
10968 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
10969 dead edges.
10970
10971 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
10972
10973 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
10974 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
10975 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
10976 Remove prototype.
10977
10978 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
10979
10980 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
10981 replace "GNU CC" with "GCC".
10982
10983 2001-08-23 Richard Henderson <rth@redhat.com>
10984
10985 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
10986 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
10987 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
10988 Need GR between FR and not GR_AND_FR.
10989 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
10990 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
10991 AR regs before GR regs.
10992 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
10993 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
10994 (REGISTER_MOVE_COST): Update.
10995 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
10996
10997 2001-08-23 Richard Henderson <rth@redhat.com>
10998
10999 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
11000 a register class.
11001
11002 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
11003
11004 * reload1.c (emit_reload_insns): Don't look for notes
11005 on a NULL store_insn.
11006
11007 2001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11008
11009 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
11010 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
11011 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
11012 format specifier warnings.
11013 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
11014
11015 2001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
11016
11017 * config/i386/i386-protos.h: Correct declaration of
11018 i386_pe_asm_named_section.
11019
11020 2001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
11021
11022 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
11023 variable i.
11024 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11025
11026 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
11027
11028 * cpperror.c (print_location): Don't show _Pragma.
11029 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
11030 and file change callback generation here.
11031 (stack_include_file): Update use of cpp_push_buffer.
11032 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
11033 (struct cpp_buffer): Remove type, pfile members.
11034 * cppinit.c (cpp_handle_option): Use free_chain.
11035 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
11036 (skip_escaped_newlines, get_effective_char, lex_percent): Take
11037 a cpp_reader rather than a cpp_buffer.
11038 (skip_escaped_newlines, get_effective_char, skip_block_comment,
11039 skip_line_comment, parse_string, lex_percent, lex_dot,
11040 _cpp_lex_token): Update accordingly.
11041 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
11042 generation here.
11043 (cpp_push_buffer): Update prototype.
11044 (run_directive): Update use of cpp_push_buffer.
11045 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
11046 handle_assertion): Update use of run_directive.
11047 * cpplib.h (enum cpp_buffer_type): Remove.
11048 (cpp_push_buffer): Update prototype.
11049 * fix-header.c (read_scan_file): Update.
11050
11051 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11052
11053 * gcc.c (struct prefix_list): Change prefix to const char *.
11054
11055 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11056
11057 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
11058
11059 2001-08-22 Jason Merrill <jason_merrill@redhat.com>
11060
11061 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
11062 from a new MEM.
11063
11064 * jump.c (squeeze_notes): Take parms by reference. Handle END being
11065 a squeezable note.
11066 * rtl.h: Adjust.
11067 * ifcvt.c (dead_or_predicable): Adjust.
11068 * loop.c (find_and_verify_loops): Adjust.
11069 * stmt.c (expand_end_case): Adjust.
11070 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
11071 head and end insn pointers in the basic block, not just local copies.
11072 (merge_blocks_move_predecessor_nojumps): Likewise.
11073
11074 2001-08-22 Lars Brinkhoff <lars@nocrew.org>
11075
11076 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
11077 bitmap.h, builtin-types.def, builtins.c, builtins.def,
11078 c-aux-info.c, c-common.c, c-common.def, c-common.h,
11079 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
11080 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
11081 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
11082 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
11083 conditions.h, config.gcc, configure.frag, configure.in,
11084 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
11085 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
11086 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
11087 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
11088 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
11089 emit-rtl.c, errors.c, errors.h, except.c, except.h,
11090 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
11091 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
11092 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
11093 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
11094 gencheck.c, gencodes.c, genconfig.c, genemit.c,
11095 genextract.c, genflags.c, gengenrtl.c, genmultilib,
11096 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
11097 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
11098 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
11099 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
11100 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
11101 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
11102 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
11103 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
11104 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
11105 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
11106 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
11107 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
11108 params.h, predict.c, predict.def, predict.h, prefix.c,
11109 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
11110 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
11111 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
11112 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
11113 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
11114 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
11115 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
11116 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
11117 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
11118 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
11119 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
11120 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
11121 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
11122 xcoffout.h: replace "GNU CC" with "GCC".
11123
11124 2001-08-21 Richard Henderson <rth@redhat.com>
11125
11126 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
11127 (final_scan_insn): Consider jump tables data even if we have no
11128 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
11129 ADDR_VEC_ALIGN.
11130 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
11131 (ASM_OUTPUT_CASE_END): Remove.
11132 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
11133 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
11134 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
11135
11136 2001-08-21 Richard Henderson <rth@redhat.com>
11137
11138 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
11139 at barrier insns. Emit stop bits before barriers.
11140
11141 * flow.c (flow_find_cross_jump): Don't consider unconditional
11142 return insns for commoning.
11143
11144 * final.c (compute_alignments): Fix typo.
11145
11146 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
11147 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
11148 (store_bit_field): Use mode_for_extraction more places.
11149 (extract_bit_field): Likewise.
11150
11151 2001-08-21 Zack Weinberg <zackw@panix.com>
11152
11153 * caller-save.c: Don't include insn-codes.h.
11154 (reg_save_code, reg_restore_code): Make arrays of int.
11155 All uses updated to match.
11156 (insert_save, insert_restore): No need to initialize "code"
11157 variable upon declaration.
11158 * Makefile.in: update dependencies; fix typo in clean rule.
11159
11160 2001-08-21 Richard Henderson <rth@redhat.com>
11161
11162 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
11163 (merge_if_block): Handle fallout from same.
11164
11165 2001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11166
11167 * builtins.c (type_to_class): Fix typo in last change.
11168
11169 2001-08-21 Richard Henderson <rth@redhat.com>
11170
11171 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
11172 ia64_asm_output_label.
11173
11174 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
11175 copy of gp while the real gp register contains garbage.
11176
11177 2001-08-21 Zack Weinberg <zackw@panix.com>
11178
11179 * expmed.c (mode_for_extraction): New function.
11180 (store_bit_field, extract_bit_field): Use it.
11181 * expr.h: Prototype it and provide an enum for its first argument.
11182
11183 * combine.c, function.c, recog.c: Don't include insn-codes.h.
11184 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
11185 and digging through the insn_data tables.
11186 * Makefile.in: Update dependencies.
11187
11188 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
11189
11190 * cppfiles.c (stack_include_file): line-map.c now handles include
11191 depth.
11192 (handle_missing_handler): Similarly.
11193 (_cpp_execute_include): Similarly.
11194 (_cpp_pop_file_buffer): Similarly.
11195 * cpphash.h (struct cpp_reader): Remove system_include_depth,
11196 buffer_stack_depth and include_depth.
11197 * cpplib.c (do_include_common): line-map.c now handles include depth.
11198 (cpp_push_buffer): Similarly.
11199 (_cpp_pop_buffer): Similarly.
11200 * cppmacro.c (builtin_macro): Update.
11201 * line-map.c (init_line_maps): Set depth.
11202 (add_line_map): Increment "used" earlier. Update and use the
11203 include depth.
11204 (trace_include): Use the include depth.
11205 * line-map.h (struct line_maps): New member depth.
11206
11207 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
11208
11209 * cppfiles.c (stack_include_file): Don't handle -H here.
11210 * cppinit.c (cpp_start_read): Set include tracing after
11211 cpp_post_options and after stacking the main file.
11212 * line-map.c (trace_include): New.
11213 (init_line_maps, add_line_map): Update.
11214 * line-map.h (struct line_maps): New member trace_includes.
11215
11216 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
11217
11218 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
11219 * cppfiles.c (stack_include_file): Only stack a file if there
11220 is something to do. Return a boolean indicating whether a
11221 buffer was stacked or not.
11222 (_cpp_execute_include): Similarly.
11223 (_cpp_read_file): Similarly.
11224 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
11225
11226 2001-08-21 Sam Steingold <sds@gnu.org>
11227
11228 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
11229 (RECACHE): keep obufp_before_macroname up to date
11230
11231 2001-08-21 Zack Weinberg <zackw@panix.com>
11232
11233 * stmt.c: Don't include insn-codes.h.
11234 (expand_end_case): Machine specific logic moved to expr.c.
11235 No need to worry about __builtin_classify_type.
11236 (check_for_full_enumeration_handling, emit_case_nodes):
11237 Kill #if 0 blocks.
11238
11239 * builtins.o (expand_builtin_classify_type): Split up so code
11240 can be shared with fold_builtin_classify_type.
11241 (type_to_class, fold_builtin_classify_type): New functions.
11242 (fold_builtins): Handle __builtin_classify_type.
11243
11244 * expr.c (do_tablejump): Now static.
11245 (case_values_threshold, try_casesi, try_tablejump): New;
11246 code mostly from stmt.c (expand_end_case).
11247 (expr.h): Update prototypes.
11248
11249 * Makefile.in (stmt.o): Update dependencies.
11250
11251 2001-08-21 Will Cohen <wcohen@redhat.com>
11252
11253 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
11254 declaration of variable i.
11255 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
11256 declaration of variable i.
11257
11258 2001-08-21 Richard Henderson <rth@redhat.com>
11259
11260 * crtstuff.c: Fix thinko last change. Move list tails to start
11261 of CRT_END section. Tidy ifdefs.
11262 (__EH_FRAME_BEGIN__): Always static for ELF.
11263 (__do_global_ctors_1): Rename from __frame_dummy.
11264 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
11265 name change; don't hide __EH_FRAME_BEGIN__.
11266
11267 2001-08-21 Richard Henderson <rth@redhat.com>
11268
11269 * gdbinit.in: Move break on exit after break on fancy_abort.
11270
11271 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
11272 sized types.
11273
11274 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
11275
11276 * cpphash.h (_cpp_push_next_buffer): New.
11277 * cppinit.c (do_includes): Remove.
11278 (push_include, free_chain, _cpp_push_next_buffer): New.
11279 (cpp_start_read): Use them to rework command line option handling.
11280 (cpp_handle_option): Combine handling of -include and -imacros.
11281 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
11282 appropriate. Always insert missing \n at EOF.
11283 * cpplib.c (start_directive): Get the directive position right.
11284 * cppmain.c (cb_file_change): Always print the first line, unless
11285 preprocessed.
11286
11287 2001-08-20 Andreas Jaeger <aj@suse.de>
11288
11289 * profile.c (compute_branch_probabilities): Remove extra new-line
11290 in error message.
11291 * flow.c (verify_flow_info): Likewise.
11292
11293 2001-08-20 Diego Novillo <dnovillo@redhat.com>
11294
11295 * basic-block.h (basic_block): Add new field 'flags'.
11296 (BB_REACHABLE): Define.
11297 (expunge_block): Declare.
11298 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
11299 (EXIT_BLOCK_PTR): Ditto.
11300 (expunge_block): Remove static declaration.
11301 (cleanup_cfg): Clear bb->aux on every basic block.
11302 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
11303 computing reachability.
11304 (delete_unreachable_blocks): Delete block b if b->flags has
11305 BB_REACHABLE unset.
11306
11307 2001-08-20 Diego Novillo <dnovillo@redhat.com>
11308
11309 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
11310
11311 2001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11312
11313 * sparc.c (sparc_variable_issue): Fix typo in last change.
11314
11315 2001-08-20 Richard Henderson <rth@redhat.com>
11316
11317 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
11318
11319 2001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
11320
11321 * pa.h (RETURN_IN_MEMORY): Improve comment.
11322
11323 2001-08-20 Janis Johnson <janis187@us.ibm.com>
11324
11325 * doc/invoke.texi (Profiling options): Clarify the interactions
11326 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
11327
11328 2001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
11329
11330 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
11331 command.
11332
11333 2001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11334
11335 * gcc.c (make_relative_prefix): Allocate a sufficiently large
11336 buffer.
11337
11338 2001-08-20 Richard Henderson <rth@redhat.com>
11339
11340 * final.c (end_final): Fix typo last change.
11341
11342 2001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
11343
11344 * cppinit.c (init_standard_includes): The returned buffer
11345 is already malloc-ed.
11346 * gcc.c (add_prefix): Similarly.
11347 * prefix.c (translate_name): Update to support clear buffer
11348 ownership rules.
11349 (update_path): Similarly. Be sure to free any newly allocated
11350 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
11351 (tr): New function.
11352 * prefix.h (update_path): Update prototype and document.
11353 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
11354 up and update to new buffer ownership rules.
11355 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
11356
11357 Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
11358
11359 * final.c (compute_alignments): New function.
11360 (init_insn_lengths): Do not care label_align.
11361 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
11362 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
11363 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
11364 (shorted_branches): Realloc label_align array; do
11365 not call init_insn_lengths; Do not care about loop alignments.
11366 * output.h (compute_alignments): Declare.
11367 * toplev.c (rest_of_compilation): Call compute_alignments.
11368 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
11369
11370 * predict.c (block_info_def): Add npredecesors, remove nvisited;
11371 change visited to tovisit.
11372 (propagate_freq): Use faster traversing algorithm.
11373 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
11374 to tovisit; reverse meaning.
11375
11376 * predict.c (struct block_info_def): Remove nvisited.
11377 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
11378 (estimate_bb_frequencies): Call mark_dfs_back_edges.
11379
11380 2001-08-19 Geoffrey Keating <geoffk@redhat.com>
11381
11382 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
11383 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
11384 (TARGET_FUSED_MADD): New.
11385 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
11386 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
11387 the multiply-add instructions.
11388
11389 2001-08-19 Richard Henderson <rth@redhat.com>
11390
11391 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
11392 is aligned to pointer size.
11393
11394 2001-08-19 Richard Henderson <rth@redhat.com>
11395
11396 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
11397 display markers during final schedule.
11398
11399 2001-08-19 Richard Henderson <rth@redhat.com>
11400
11401 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
11402
11403 2001-08-19 Richard Henderson <rth@redhat.com>
11404
11405 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
11406 in the same string.
11407 (ASM_NAME_TO_STRING): Remove.
11408 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
11409 in the same string. Remove support for expressions.
11410
11411 2001-08-19 Richard Henderson <rth@redhat.com>
11412
11413 * config/i386/i386.md (tablejump): Make an expander; handle
11414 pic relative addressing here.
11415 (tablejump_1): Rename from tablejump_pic.
11416 (casesi): Remove.
11417
11418 2001-08-19 Richard Henderson <rth@redhat.com>
11419
11420 * regclass.c (fix_register): Fix typo.
11421
11422 2001-08-18 Richard Henderson <rth@redhat.com>
11423
11424 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
11425 (struct _Unwind_Context): Expand br_loc to hold it.
11426 (uw_frame_state_for): Handle leaf functions better.
11427 (uw_update_reg_address): Update for br_loc change.
11428
11429 2001-08-18 Richard Henderson <rth@redhat.com>
11430
11431 * crtstuff.c: Move list heads before code that uses them.
11432 (__JCR_LIST__): Remove initial null.
11433 (frame_dummy, __frame_dummy): Do java registration here ...
11434 (__do_global_ctors_aux): ... not here.
11435
11436 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
11437 (__do_global_dtors_aux): Update to match.
11438 (__JCR_LIST__, __do_jv_register_classes): New.
11439 (.init): Call it.
11440 * config/ia64/crtend.asm (__JCR_END__): New.
11441 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
11442 instead of an indirect LTOFF22 reloc.
11443
11444 2001-08-18 Richard Henderson <rth@redhat.com>
11445
11446 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
11447 * regclass.c (init_reg_sets_1): Fix typo.
11448 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
11449 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
11450 (ia64_compute_frame_size): Make ar.unat live when in use.
11451 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
11452 for ar.pfs; remove ar.unat handling.
11453 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
11454 call-saved.
11455 (PREDICATE_CODES): Add ar_pfs_reg_operand.
11456 * config/ia64/ia64-protos.h: Update decls.
11457 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
11458 (sibcall_pic): Likewise.
11459
11460 2001-08-18 Richard Henderson <rth@redhat.com>
11461
11462 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
11463 pred_rel_mutex when searching for insn_group_barrier.
11464 * config/ia64/ia64.md (cycle_display): Combine the expander
11465 and insn patterns.
11466
11467 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
11468 bit before asm as needed.
11469
11470 2001-08-18 Richard Henderson <rth@redhat.com>
11471
11472 * timevar.def (TV_MACH_DEP): New.
11473 * toplev.c (rest_of_compilation): Use it.
11474 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
11475
11476 2001-08-18 Zack Weinberg <zackw@panix.com>
11477
11478 * unwind-dw2.c (execute_stack_op): Add default aborts to
11479 the inner switches to prevent warnings.
11480
11481 2001-08-18 Richard Henderson <rth@redhat.com>
11482
11483 * timevar.h (struct timevar_time_def): Change element type to float.
11484 (ticks_to_msec, clocks_to_msec): Likewise.
11485 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
11486 (get_time): Likewise.
11487 (timevar_print): Adjust zero check and printing to match.
11488
11489 2001-08-18 Zack Weinberg <zackw@panix.com>
11490
11491 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
11492 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
11493 Eliminate overfull or underfull hboxes.
11494
11495 2001-08-18 Zack Weinberg <zackw@panix.com>
11496
11497 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11498
11499 2001-08-18 Zack Weinberg <zackw@panix.com>
11500
11501 * haifa-sched.c: Convert to target hooks. Macros replaced
11502 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
11503 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
11504 MD_SCHED_FINISH, and HAVE_cycle_display.
11505 * target-def.h (TARGET_SCHED_ADJUST_COST,
11506 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
11507 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
11508 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
11509 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
11510 New hook #defines to be overridden.
11511 (TARGET_SCHED): Bring them all together.
11512 (TARGET_INITIALIZER): Update.
11513 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
11514 instead of 'struct rtx_def *' throughout.
11515 (struct sched): New set of hooks for the scheduler.
11516 * Makefile.in (haifa-sched.o): Depend on target.h.
11517 * doc/tm.texi: Document the new scheduler hooks, together in
11518 their own section, instead of scattered around.
11519 Fix a bunch of underfull/overfull hboxes.
11520
11521 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
11522 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
11523 sparc.h: Don't define any of the old scheduler macros.
11524
11525 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
11526 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
11527 sparc.c: Create hook functions from code extracted from
11528 corresponding target header, or make existing hooks static, as
11529 appropriate. Set the appropriate entries in targetm.
11530
11531 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
11532 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
11533 rs6000-protos.h, s390-protos.h, sparc-protos.h:
11534 Remove prototypes for functions which are now static.
11535
11536 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
11537 related gunk; the Haifa scheduler is now the only choice.
11538
11539 2001-08-18 Zack Weinberg <zackw@panix.com>
11540
11541 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
11542 * genopinit.c: Put floating point divide insns in sdiv_optab.
11543 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
11544 * config/gofast.h, config/c4x/c4x.h,
11545 config/ia64/hpux_longdouble.h, config/mips/mips.h,
11546 config/pa/long_double.h, config/rs6000/sysv4.h,
11547 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
11548 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
11549 (init_optabs): Use init_optabv for overflow-trapping optabs.
11550 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
11551 cmp_optab RTX codes so have_insn_for can find them.
11552
11553 * optabs.c (expand_simple_binop, expand_simple_unop,
11554 have_insn_for, gen_sub3_insn): New interfaces.
11555 * expr.h: Prototype new functions.
11556 (enum optab_methods): Move here from optabs.h.
11557
11558 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
11559 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
11560 Use new functions instead of working directly with optabs.
11561 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
11562 unroll.c: Don't include optabs.h.
11563 * caller-save.c, combine.c, function.c, stmt.c: Just include
11564 insn-codes.h, not optabs.h.
11565 * Makefile.in: Update dependencies.
11566
11567 * combine.c (make_compound_operation, simplify_comparison):
11568 Fix typos testing for this or that instruction.
11569
11570 2001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
11571
11572 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
11573 generating libgcc.a.
11574
11575 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11576
11577 * except.c (TYPE_HASH): Delete.
11578
11579 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
11580 HOST_WIDE_INT.
11581
11582 * tree.c (TYPE_HASH): Delete.
11583
11584 * tree.h (TYPE_HASH): Define.
11585
11586 2001-08-18 Graham Stott <grahams@redhat.com>
11587
11588 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
11589 define_split.
11590 (adddi3_internal_2+2): Likewise.
11591 (eh_set_lr_di+1): Likewise.
11592
11593 2001-08-17 Richard Henderson <rth@redhat.com>
11594
11595 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
11596 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
11597 * dwarf2asm.c: ... here.
11598 * dwarfout.c: Remove them.
11599
11600 * varasm.c (assemble_integer): Add align parameter.
11601 (assemble_real, output_constant, output_constructor): Likewise.
11602 * output.h: Update decls.
11603 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
11604 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
11605 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
11606 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
11607 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
11608 Update all callers.
11609
11610 * final.c (end_final): Abort profile block generation if we
11611 haven't layed it out properly.
11612 * output.h (assemble_eh_integer): Remove stale decl.
11613 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
11614 (min_align): New.
11615 (assemble_integer): Handle unaligned data.
11616 (assemble_real): Abort on unaligned data.
11617 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
11618 anything useful.
11619 (default_dtor_section_asm_out_destructor): Use assemble_align.
11620 (default_named_section_asm_out_constructor): Likewise.
11621 (default_ctor_section_asm_out_constructor): Likewise.
11622 * config/darwin.c (machopic_asm_out_constructor): Likewise.
11623 (machopic_asm_out_destructor): Likewise.
11624 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
11625 (nextstep_asm_out_destructor): Likewise.
11626 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
11627 (vms_asm_out_destructor): Likewise.
11628
11629 2001-08-17 Richard Henderson <rth@redhat.com>
11630
11631 * config/mips/iris6.h (TARGET_IRIX6): New.
11632 (current_section_name, current_section_flags): New.
11633 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
11634 (MAX_OFILE_ALIGNMENT): New.
11635 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
11636 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
11637 (copy_file_data): Split out from
11638 (mips_asm_file_end): ... here.
11639 (mips_asm_file_start): Remove extra .section directive. Use
11640 tmpfile instead of mips_make_temp_file.
11641 (mips_unique_section): Use const char * as needed for warnings.
11642 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
11643 re-add align parameter.
11644 (iris6_asm_named_section): New.
11645 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
11646 (iris6_asm_output_align, iris6_section_align_1): New.
11647 (iris6_asm_file_start, iris6_asm_file_end): New.
11648 * config/mips/mips-protos.h: Update decls.
11649
11650 2001-08-17 Janis Johnson <janis187@us.ibm.com>
11651
11652 * doc/install.texi (Install GCC): Add links to build status pages.
11653 (Specific): Ditto.
11654 (Final install): Ditto; request updates for specific info
11655
11656 2001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
11657
11658 * cpperror.c (print_location): Don't take a file name; use the
11659 line map instead.
11660 (_cpp_begin_message): Similarly.
11661 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
11662 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
11663 (cpp_pedwarn_with_file_and_line): Remove.
11664 * cppfiles.c (stack_include_file): Update; set filename to stdin
11665 here when appropriate.
11666 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
11667 (_cpp_begin_message): Don't take a file name.
11668 * cppinit.c: Add comment.
11669 * cpplex.c: Fix end-of-directive indicator.
11670 * cpplib.c: Don't include intl.h.
11671 (run_directive, do_diagnostic): Update.
11672 (do_line): Update to not use nominal_fname.
11673 (cpp_push_buffer): Don't take a filename.
11674 * cpplib.h (struct ht): Remove.
11675 (cpp_push_buffer): Don't take a filename.
11676 (cpp_pedwarn_with_file_and_line): Remove.
11677 * cppmacro.c (struct cpp_macro): Remove file.
11678 (builtin_macro): Update.
11679 (_cpp_create_definition): Update.
11680 * cppmain.c: Correct comment.
11681 * fix-header.c (read_scan_file): Update.
11682
11683 2001-08-17 Kazu Hirata <kazu@hxi.com>
11684
11685 * sbitmap.c: Fix comment formatting.
11686 * sched-deps.c: Likewise.
11687 * sibcall.c: Likewise.
11688 * simplify-rtx.c: Likewise.
11689 * ssa.c: Likewise.
11690 * ssa-ccp.c: Likewise.
11691 * stor-layout.c: Likewise.
11692 * timevar.c: Likewise.
11693 * toplev.c: Likewise.
11694 * unwind-dw2.c: Likewise.
11695 * unwind-dw2-fde.c: Likewise.
11696 * varasm.c: Likewise.
11697
11698 2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
11699
11700 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
11701 or larger than an integer in memory.
11702
11703 2001-08-17 Zack Weinberg <zackw@panix.com>
11704
11705 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
11706 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
11707 * rtl.h: Don't forward-declare union tree_node here. Don't
11708 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
11709 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
11710 and tree respectively.
11711 * tree.h: Don't forward-declare struct rtx_def here. Don't
11712 typedef tree here. Change all uses of struct rtx_def *,
11713 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
11714 and tree respectively.
11715
11716 2001-08-17 Richard Henderson <rth@redhat.com>
11717
11718 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
11719 config/mips/openbsd.h: Fix typos last change.
11720
11721 2001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11722
11723 * doc/invoke.texi (Optimize Options): The default for
11724 -finline-limit is 600.
11725
11726 2001-08-17 Richard Henderson <rth@redhat.com>
11727
11728 * varasm.c (text_section): Allow TEXT_SECTION to override the
11729 printing of TEXT_SECTION_ASM_OP.
11730 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
11731 (DATA_SECTION, BSS_SECTION): Remove.
11732 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
11733 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
11734 Rename from s/_NAME//.
11735 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
11736 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
11737 (TEXT_SECTION): ... here. New.
11738 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
11739 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
11740 * config/mips/openbsd.h: Likewise.
11741 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
11742 (mips_asm_file_end): Likewise test.
11743 (mips_output_function_epilogue): Likewise. Switch back to data
11744 section after emitting the function.
11745
11746 * doc/tm.texi (Sections): Document TEXT_SECTION.
11747
11748 2001-08-17 Richard Henderson <rth@redhat.com>
11749
11750 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
11751 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
11752
11753 2001-08-17 Richard Henderson <rth@redhat.com>
11754
11755 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
11756 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
11757 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
11758 Add aligned attribute.
11759
11760 2001-08-17 Andrew Haley <aph@cambridge.redhat.com>
11761
11762 * config/sh/sh.md: Add modes to unspecs in first insn to match
11763 those in the second.
11764
11765 * Makefile.in: Fix collect2 copy for Cygwin.
11766
11767 Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
11768
11769 Install the proper patch.
11770 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
11771 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
11772 (expand_function_start): Likewise.
11773 * stmt.c (expand_decl): Likewise.
11774 * varasm.c (make_decl_rtx): Likewise.
11775
11776 Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
11777
11778 * final.c: Undo my previous accidental checkin.
11779 * output.h: Likewise.
11780 * tm.texi: Likewise.
11781
11782 2001-08-16 Richard Henderson <rth@redhat.com>
11783
11784 * varasm.c (named_section_flags): Remove align parameter.
11785 * varasm.c, dwarf2out.c: Update all callers.
11786 * output.h: Update prototypes.
11787
11788 * target.h (target.asm_out.named_section): Remove align parameter.
11789 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
11790 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
11791 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
11792 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
11793 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
11794
11795 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
11796 (get_named_section_flags, set_named_section_flags): New.
11797 (named_section_flags): Use them.
11798 (named_section): Do decl vs section flags check here...
11799 (default_section_type_flags): ... not here.
11800 (init_varasm_once): Create in_named_htab.
11801 (resolve_unique_section): Mark reloc unused.
11802
11803 2001-08-16 Richard Henderson <rth@redhat.com>
11804
11805 * varasm.c (force_const_mem): Keep pool alignment in bits.
11806 (output_constant_pool): Use assemble_align.
11807
11808 2001-08-16 Zack Weinberg <zackw@panix.com>
11809
11810 * doc/tm.texi: Remove extra @table command.
11811
11812 2001-08-16 Zack Weinberg <zackw@panix.com>
11813
11814 * final.c (shorten_branches): Clear the end of the label_align
11815 array only if we made it larger. Break up messy expressions
11816 for clarity.
11817
11818 * diagnostic.c (internal_error): Check for error recursion
11819 before doing ICE suppression.
11820
11821 * timevar.c: Timing variables now count in milliseconds.
11822 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
11823 (get_time): Not here.
11824 (timevar_print): Don't print any timer whose user, cpu, and
11825 wall times are all zero as displayed.
11826 * timevar.h: Update comment aboout units. Make timevar
11827 counters unsigned.
11828
11829 Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
11830
11831 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
11832 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
11833 (expand_function_start): Likewise.
11834 * stmt.c (expand_decl): Likewise.
11835 * varasm.c (make_decl_rtx): Likewise.
11836
11837 2001-08-16 Jason Merrill <jason_merrill@redhat.com>
11838
11839 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
11840 (finalize_record_size): Don't set TYPE_USER_ALIGN.
11841
11842 2001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11843
11844 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
11845 variables.
11846
11847 2001-08-16 Andreas Jaeger <aj@suse.de>
11848
11849 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
11850 prototype.
11851
11852 Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
11853
11854 * rtl.h (only_sets_cc0_p): New prototype.
11855 * jump.c (sets_cc0_p): Handle INSN.
11856 (only_sets_cc0_p): New function.
11857 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
11858 (tidy_fallthru_edge): Likewise.
11859 * integrate.c (copy_insn_list): Likewise.
11860 * unroll.c (unroll_loop): Likewise.
11861 (copy_loop_body): Likewise.
11862
11863 2001-08-15 Jason Eckhardt <jle@redhat.com>
11864
11865 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
11866
11867 Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
11868
11869 * predict.c (struct block_info_def): Remove nvisited.
11870 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
11871 (estimate_bb_frequencies): Call mark_dfs_back_edges.
11872
11873 * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
11874 (ix86_adjust_cost): Teach scheduler that latency to load operand can
11875 be masked.
11876
11877 Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
11878
11879 * predict.def: Update hitrates.
11880
11881 2001-08-15 Richard Henderson <rth@redhat.com>
11882
11883 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
11884
11885 Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
11886
11887 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
11888 note from its associated jump.
11889
11890 2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
11891
11892 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
11893 also on 64-bit s390x targets.
11894
11895 2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
11896
11897 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
11898 function.
11899 (arm_expand_prologue): Handled nested functions which take a
11900 variable argument list.
11901 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
11902 macro with an invocation of
11903 arm_compute_initial_elimination_offset.
11904 * config/arm/arm-protos.h: Prototype
11905 arm_compute_initial_elimination_offset.
11906
11907 2001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
11908
11909 * doc/install.texi (Specific, avr): Fix markup.
11910 (Specific, c4x): Ditto.
11911
11912 2001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11913
11914 * predict.c (dump_prediction): Change `bool' parameter to `int'.
11915
11916 2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
11917
11918 * Makefile.in (OBJS): Add rtl-error.o
11919 (rtl-error.o): New rule.
11920 (diagnostic.o): Adjust dependency.
11921 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
11922 error_for_asm, _fatal_insn, _fatal_insn_not_found,
11923 warning_for_asm): Move to...
11924 rtl-error.c: ...here. New file.
11925
11926 2001-08-14 Richard Henderson <rth@redhat.com>
11927
11928 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
11929 if USING_SJLJ_EXCEPTIONS.
11930
11931 2001-08-14 Steve Ellcey <sje@cup.hp.com>
11932
11933 * tlink.c (scan_linker_output): Check string for unsatisfied in
11934 addition to undefined and unresolved.
11935
11936 2001-08-14 Graham Stott <grahams@redhat.com>
11937
11938 * libgcc2.c (*): Replace EH_FRAME_SECTION with
11939 EH_FRAME_SECTION_NAME.
11940
11941 Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
11942
11943 * genattrtab.c (simplify_test_exp_in_temp): New function.
11944 (simplify_test_exp): Avoid explicit use of temporary obstack.
11945 (simplify_cond, insert_right_side, evaluate_eq_attr,
11946 simplify_and_tree, simplify_or_tree, eliminate_known_true):
11947 Use simplify_test_exp_in_temp.
11948 (optimize_attrs): Iterate until expression stabilizes.
11949
11950 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
11951
11952 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
11953 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
11954
11955 2001-08-13 Richard Henderson <rth@redhat.com>
11956
11957 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
11958 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
11959 * config/arm/conix-elf.h: Likewise.
11960
11961 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
11962
11963 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
11964 in gcc.c.
11965 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
11966
11967 * gcse.c (hash_scan_set): Expressions that are set as part of
11968 jump instructions are not available.
11969
11970 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
11971
11972 * config/s390/s390.c (print_operand, s390_function_prologue,
11973 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
11974
11975 2001-08-13 Richard Henderson <rth@redhat.com>
11976
11977 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
11978 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
11979 * doc/tm.texi (Exception Region Output): Document it.
11980
11981 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
11982
11983 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
11984 DWARF2 instead of stabs by default.
11985
11986 2001-08-13 David Edelsohn <edelsohn@gnu.org>
11987
11988 * config/rs6000/rs6000.c: Include optabs.h.
11989
11990 2001-08-13 David Edelsohn <edelsohn@gnu.org>
11991
11992 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
11993 save/restore routines.
11994 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
11995
11996 2001-08-13 Andreas Jaeger <aj@suse.de>
11997
11998 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
11999 the english is correct.
12000
12001 2001-08-13 Zack Weinberg <zackw@panix.com>
12002
12003 * expr.h: Split out optab- and libfunc-related code to...
12004 * optabs.h, libfuncs.h: ... these new headers.
12005
12006 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
12007 (OPTABS_H): New.
12008 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
12009 dependencies.
12010 * mkconfig.sh: Don't include insn-codes.h from config.h.
12011
12012 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
12013 enum insn_code is available. Move reload_in_optab and
12014 reload_out_optab array declarations to optabs.h.
12015 * regmove.c (gen_add3_insn): Move to optabs.c, export from
12016 there, prototype in expr.h.
12017 * gencodes.c: Cleanup: zap global variables, don't use
12018 printf where puts will do, don't bother defining MAX_INSN_CODE
12019 which nothing uses, let CODE_FOR_nothing get its value implicitly.
12020
12021 * genemit.c, genopinit.c: Include optabs.h in generated file.
12022 * genoutput.c: Include insn-codes.h in generated file.
12023 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
12024 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
12025 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
12026 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
12027 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
12028 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
12029 Include optabs.h.
12030 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
12031 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
12032 config/m88k/m88k.c, config/sparc/sparc.c:
12033 Include libfuncs.h.
12034 * reload.c: Include expr.h and optabs.h before reload.h.
12035 * config/alpha/alpha.c: Include tree.h before reload.h.
12036 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
12037 and reload.h in that order.
12038 * config/sparc/sparc.c: Include debug.h.
12039 * recog.c: Include insn-codes.h.
12040
12041 2001-08-13 Andreas Jaeger <aj@suse.de>
12042
12043 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
12044 s390*linux.
12045
12046 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
12047
12048 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
12049 * gcc.c (init_spec): Fix typo in comment.
12050 * varasm.c (data_section): Fix typo in comment.
12051
12052 Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
12053
12054 * predict.c (dump_prediction): New argument "USED".
12055 (combine_predictions_for_insn): Determine the used heuristics,
12056 output the case no heuristic applied.
12057 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
12058
12059 2001-08-13 Andreas Jaeger <aj@suse.de>
12060
12061 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
12062 register %rip.
12063
12064 2001-08-13 Kazu Hirata <kazu@hxi.com>
12065
12066 * jump.c: Fix formatting.
12067
12068 2001-08-13 Kazu Hirata <kazu@hxi.com>
12069
12070 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
12071 length.
12072
12073 2001-08-12 Geoffrey Keating <geoffk@redhat.com>
12074
12075 * loop.c (check_dbra_loop): Use condjump_label to compute
12076 jump_label.
12077
12078 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
12079 to better document the files they're in.
12080
12081 2001-08-12 Zack Weinberg <zackw@panix.com>
12082
12083 * recog.h (struct insn_operand_data): Shrink 'mode' field
12084 to 16 bits.
12085
12086 2001-08-12 Kazu Hirata <kazu@hxi.com>
12087
12088 * gcc.c: Fix comment formatting.
12089 * gccspec.c: Likewise.
12090 * gcov.c: Likewise.
12091 * gcse.c: Likewise.
12092 * genemit.c: Likewise.
12093 * gengenrtl.c: Likewise.
12094 * genrecog.c: Likewise.
12095 * gensupport.c: Likewise.
12096 * ggc-page.c: Likewise.
12097 * global.c: Likewise.
12098 * graph.c: Likewise.
12099 * ifcvt.c: Likewise.
12100 * integrate.c: Likewise.
12101 * lcm.c: Likewise.
12102 * libgcc2.c: Likewise.
12103 * loop.c: Likewise.
12104 * mbchar.c: Likewise.
12105 * optabs.c: Likewise.
12106 * predict.c: Likewise.
12107 * prefix.c: Likewise.
12108 * profile.c: Likewise.
12109 * protoize.c: Likewise.
12110 * real.c: Likewise.
12111 * recog.c: Likewise.
12112 * regclass.c: Likewise.
12113 * regmove.c: Likewise.
12114 * reg-stack.c: Likewise.
12115 * reload1.c: Likewise.
12116 * resource.c: Likewise.
12117 * rtlanal.c: Likewise.
12118 * rtl.c: Likewise.
12119
12120 2001-08-12 Kazu Hirata <kazu@hxi.com>
12121
12122 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
12123 a tree representing a constant is passed to the macro.
12124
12125 2001-08-12 Richard Henderson <rth@redhat.com>
12126
12127 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
12128 (rs6000_elf_asm_out_destructor): New.
12129 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
12130 (DTORS_SECTION_ASM_OP): Remove.
12131 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12132 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
12133
12134 2001-08-12 David Edelsohn <edelsohn@gnu.org>
12135
12136 Revert:
12137 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12138 * gcc.c (set_collect_gcc_options): New function, split out from
12139 main.
12140 Ignore elided switches.
12141 (do_spec_1): Invoke before executing command.
12142 (set_input): Export.
12143 Move declaration ...
12144 * gcc.h (set_input): ... here.
12145 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
12146 file.
12147
12148 2001-08-12 Richard Henderson <rth@redhat.com>
12149
12150 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
12151 thinko wrt TARGET_RELOCATABLE.
12152
12153 2001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
12154
12155 * fix-header.c (cb_file_change): Update prototype.
12156
12157 2001-08-11 Zack Weinberg <zackw@panix.com>
12158
12159 * toplev.c (set_float_handler): Make static.
12160 * toplev.h: Don't prototype set_float_handler.
12161
12162 * simplify-rtx.c: Don't include setjmp.h.
12163 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
12164 New functions.
12165 (simplify_unary_operation, simplify_binary_operation): Use them,
12166 via do_float_handler.
12167
12168 * fold-const.c: Don't include setjmp.h.
12169 (exact_real_inverse_1): New function.
12170 (exact_real_inverse): Use it, via do_float_handler.
12171
12172 * varasm.c: Don't include setjmp.h.
12173 (assemble_real_1): New function.
12174 (assemble_real): Use it, via do_float_handler.
12175 Call internal_error if we get a trap here.
12176
12177 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
12178 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
12179
12180 2001-08-11 Zack Weinberg <zackw@panix.com>
12181
12182 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
12183 STACK_BOUNDARY if not already defined.
12184
12185 * calls.c, function.c, reload1.c, explow.c: Don't default
12186 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
12187 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
12188
12189 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
12190 to run-time test.
12191
12192 * doc/tm.texi: Document that STACK_BOUNDARY is required;
12193 clarify difference between it and PREFERRED_STACK_BOUNDARY.
12194
12195 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
12196
12197 * cppmacro.c (enter_macro_context): Push macro expansions even
12198 if empty.
12199
12200 2001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12201
12202 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
12203 (rs6000_elf_section_type_flags): Actually return a value.
12204
12205 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
12206
12207 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
12208 Clean up code: add missing comments and prototypes, fix warnings,
12209 remove obsolete code, fix spacing to conform to coding style.
12210
12211 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
12212
12213 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
12214 and TARGET_ASM_CLOSE_PAREN.
12215 (regclass_map): CC register belongs to class NO_REGS.
12216 (legitimize_pic_address): Don't generate unnecessary moves
12217 (to avoid confusing loop optimization).
12218 (check_and_change_labels): Replace jump_long by indirect_jump.
12219 (s390_final_chunkify): Don't start a new literal pool on section
12220 switch in 64-bit code.
12221 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
12222
12223 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
12224 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
12225 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
12226 modes correctly.
12227 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
12228 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
12229 (CONST_COSTS): Fixed incorrect costs.
12230
12231 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
12232 Use emit_jump instead of emit_jump_insn (gen_jump).
12233 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
12234 (to avoid confusing flow analysis).
12235 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
12236 (casesi, casesi_jump): New.
12237 (jump_long): Removed. Functionality merged into indirect_jump.
12238 (indirect_jump): Accept address_operand, not just register_operand.
12239 (cjump_long, icjump_long): Use same logic as indirect_jump.
12240 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
12241 Fixed broken setjmp/longjmp handling.
12242 (do_builtin_setjmp_setup): Removed.
12243
12244 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
12245 broken GNU as versions that don't accept .quad with large
12246 negative values. Use hexadecimal output instead.
12247 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
12248 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
12249 FUNCTION_EPILOGUE): Removed. Now in targetm.
12250
12251 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
12252
12253 * config/s390/fixdfdi.h: Add missing copyright statement.
12254 Fix type conflicts on 64-bit. Add missing SFmode routines.
12255
12256 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
12257 email address.
12258
12259 2001-08-11 Richard Henderson <rth@redhat.com>
12260
12261 * rtl.h (REG_EH_RETHROW): Remove.
12262 * rtl.c (reg_note_name): Update.
12263 * combine.c (distribute_notes): Don't check for it.
12264
12265 2001-08-11 Richard Henderson <rth@redhat.com>
12266
12267 * combine.c (distribute_notes): Place REG_SETJMP.
12268
12269 2001-08-11 Richard Henderson <rth@redhat.com>
12270
12271 * doc/extend.texi (Arrays and pointers implementation): Discourage
12272 relying on sign-extension of pointers.
12273
12274 2001-08-11 H.J. Lu <hjl@gnu.org>
12275
12276 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
12277 in_dtors.
12278 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
12279 RDATA_SECTION_ASM_OP.
12280
12281 2001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12282
12283 * doc/install.texi (Specific, c4x): Fix cross-reference to the
12284 main manual to work both for info and HTML versions.
12285
12286 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
12287 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12288
12289 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
12290 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
12291 (struct cpp_pool): New member first.
12292 * cppinit.c (append_include_chain): Plug memory leaks.
12293 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
12294 Allocate pragma structures from the (aligned) macro pool to
12295 avoid leaking memory.
12296 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
12297 so we don't leak memory.
12298 * hashtable.c (ht_destroy): New.
12299 * hashtable.h (ht_destroy): New.
12300
12301 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
12302 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12303
12304 * c-lex.c (map): Make const.
12305 (cb_file_change): Update for callback passing a line map.
12306 Don't assume we have a previous map. Remove sanity check
12307 about popping too many files.
12308 * cpperror.c (print_location): Make map const.
12309 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
12310 (cpp_make_system_header): Similarly.
12311 (search_from): Similarly.
12312 (_cpp_execute_include): Don't remember where we came from.
12313 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
12314 (struct cpp_reader): Make map const.
12315 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
12316 * cpplib.c (do_line): Update; line maps now hold sysp.
12317 (cpp_push_buffer): Similarly.
12318 (_cpp_do_file_change): Similarly; callback with map instead.
12319 (cpp_get_line_maps): Constify return value.
12320 (_cpp_pop_buffer): Update.
12321 * cpplib.h (struct cpp_file_change): Remove.
12322 (struct cpp_callbacks): Update.
12323 (cpp_get_line_maps): Constify return value.
12324 * cppmacro.c (_cpp_create_definition): Update.
12325 * cppmain.c (struct printer): Constify map.
12326 (maybe_print_line): Similarly.
12327 (print_line): Similarly. Deduce flags 1 and 2 here.
12328 (cb_file_change): Update.
12329 * line-map.c (free_line_maps): Warn regardless.
12330 (add_line_map): Return pointer to const. When passed NULL to_file
12331 with LC_LEAVE, use the obvious values for the return point so the
12332 caller doesn't have to figure them out.
12333 (lookup_line): Return pointer to const.
12334 (print_containing_files): Take pointer to const.
12335 * line-map.h (struct line_map): New members reason, sysp.
12336 (add_line_map): Return pointer to const.
12337 (lookup_line): Similarly.
12338 (print_containing_files): Take pointer to const.
12339
12340 2001-08-10 Roman Zippel <zippel@linux-m68k.org>
12341 Richard Henderson <rth@redhat.com>
12342
12343 * regmove.c (regmove_optimize): Avoid setting a register twice in
12344 a parallel set.
12345
12346 2001-08-10 Richard Henderson <rth@redhat.com>
12347
12348 * doc/extend.texi (Arrays and pointers implementation): Document
12349 behavior of pointer/integer conversion.
12350
12351 2001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
12352
12353 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
12354
12355 2001-08-10 Richard Henderson <rth@redhat.com>
12356
12357 * doc/extend.texi (C Implementation): New chapter.
12358 * doc/gcc.texi (Top): Link it in.
12359
12360 2001-08-10 Andrew Cagney <ac131313@redhat.com>
12361
12362 * doc/install.texi (Specific): Fix CVS merge botch.
12363
12364 2001-08-10 Richard Henderson <rth@redhat.com>
12365
12366 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
12367 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
12368
12369 2001-08-10 Zack Weinberg <zackw@stanford.edu>
12370
12371 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
12372 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
12373 this macro is now required.
12374
12375 * cselib.c (cselib_process_insn), flow.c (propagate_block),
12376 loop.c (find_and_verify_loops), reload.c (reload): Check
12377 for rtx code of CALL_INSN, not CALL, when deciding if we
12378 need to check for REG_SETJMP note.
12379
12380 * gcse.c (compute_hash_table, compute_store_table): Update
12381 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
12382 logic.
12383
12384 * config/avr/avr.c: Fix typo.
12385 * config/convex/convex.c (expand_movstr): Use adjust_address.
12386 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
12387 variable.
12388 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
12389 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
12390 Fix typo.
12391 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
12392 Do define STACK_BOUNDARY.
12393 * config/i370/i370.c: Include expr.h.
12394 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
12395 config/pa/som.h, config/v850/v850.h: Take in_ctors and
12396 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
12397 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
12398 * config/m88k/m88k.c: Include c-tree.h after expr.h.
12399 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
12400 * config/romp/romp.c: Include expr.h after tree.h.
12401 Include toplev.h.
12402 (output_fpop): Use xmalloc, not oballoc.
12403 * config/we32k/we32k.c: Include expr.h.
12404
12405 2001-08-10 Kazu Hirata <kazu@hxi.com>
12406
12407 * config/h8300/h8300.h: Fix formatting.
12408
12409 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
12410
12411 * c-common.h (RETURN_NULLIFIED_P): Lose.
12412 * c-semantics.c (genrtl_return_stmt): Don't check it.
12413
12414 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
12415
12416 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
12417 (mips_annotate_frame_insn): New function.
12418 (mips_emit_frame_related_store): New function.
12419 (save_restore_insns): Don't mark instructions that set up the base
12420 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
12421 the store instructions instead.
12422 (mips_expand_prologue): If the stack size is moved into a temporary
12423 register, do not mark that move as frame-related. Add a
12424 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
12425
12426 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
12427
12428 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
12429 stack slot as unchanging if current_function_calls_eh_return.
12430
12431 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
12432
12433 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
12434 access the second half of the TFmode scratch operand.
12435
12436 2001-08-10 Anthony Green <green@redhat.com>
12437
12438 * java/class.c (emit_register_classes): Conditionalize code on
12439 JCR_SECTION_NAME.
12440
12441 2001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12442
12443 * doc/install.texi (Specific, avr): Fix cross-reference to the
12444 main manual to work both for info and HTML versions.
12445
12446 2001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
12447
12448 * stmt.c (expand_null_return_1): Remove code to generate simple returns
12449 and "use_goto" argument.
12450 (expand_null_return, expand_value_return): Update all callers.
12451 * function.c (expand_function_end): Remove code to generate simple
12452 return.
12453 * config/vax/vax.md (epilogue): New expander for function return.
12454 * doc/md.texi (epilogue): Remove "if defined".
12455
12456 2001-08-09 Zack Weinberg <zackw@stanford.edu>
12457
12458 * Makefile.in: Partially revert my previous change:
12459 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
12460 of the hashtab.o and safe-ctype.o rules.
12461
12462 2001-08-09 Richard Henderson <rth@redhat.com>
12463
12464 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
12465 (USE_COLLECT2): Remove duplicate definition.
12466 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
12467 (use_collect2): Remove dead code.
12468 * configure.in (use_collect2): Remove will_use_collect2 and
12469 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
12470 * configure: Rebuild.
12471
12472 * target.h (targetm.asm_out.constructor): New.
12473 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
12474 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
12475 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
12476 * varasm.c (in_ctors, in_dtors): New.
12477 (assemble_constructor, assemble_destructor): Remove.
12478 (default_stabs_asm_out_destructor): New.
12479 (default_named_section_asm_out_destructor): New.
12480 (dtors_section, default_dtor_section_asm_out_destructor): New.
12481 (default_stabs_asm_out_constructor): New.
12482 (default_named_section_asm_out_constructor): New.
12483 (ctors_section, default_ctor_section_asm_out_constructor): New.
12484 * output.h: Update declarations.
12485 * c-decl.c (c_expand_body): Use target hooks instead of
12486 assemble_constructor and assemble_destructor.
12487 * profile.c (output_func_start_profiler): Likewise.
12488 * objc/objc-act.c (finish_objc): Likewise.
12489 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
12490 for the constructor.
12491 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
12492
12493 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
12494 (DTORS_SECTION_ASM_OP): Likewise.
12495 (__CTOR_LIST__): Use attribute section when possible.
12496 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
12497
12498 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
12499 ASM_OUTPUT_CONSTRUCTOR.
12500
12501 * config/darwin.c (machopic_asm_out_constructor): New.
12502 (machopic_asm_out_destructor): New.
12503 * config/darwin-protos.h: Update declarations.
12504 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12505 (ASM_OUTPUT_DESTRUCTOR): Remove.
12506 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12507 * config/nextstep.c (nextstep_asm_out_constructor): New.
12508 (nextstep_asm_out_destructor): New.
12509 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12510 (ASM_OUTPUT_DESTRUCTOR): Remove.
12511 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12512 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
12513 ASM_OUTPUT_*STRUCTOR.
12514 * config/i386/aix386ng.h: Likewise.
12515
12516 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
12517 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
12518 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12519 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12520 * config/lynx.h: Likewise.
12521 * config/netware.h: Likewise.
12522 * config/psos.h: Likewise.
12523 * config/alpha/alpha-interix.h: Likewise.
12524 * config/alpha/elf.h: Likewise.
12525 * config/arc/arc.h: Likewise.
12526 * config/arm/aof.h: Likewise.
12527 * config/arm/coff.h: Likewise.
12528 * config/arm/elf.h: Likewise.
12529 * config/c4x/c4x.h: Likewise.
12530 * config/h8300/h8300.h: Likewise.
12531 * config/i386/cygwin.h: Likewise.
12532 * config/i386/djgpp.h: Likewise.
12533 * config/i386/i386-coff.h: Likewise.
12534 * config/i386/i386-interix.h: Likewise.
12535 * config/i386/sco5.h: Likewise.
12536 * config/i386/vsta.h: Likewise.
12537 * config/i386/win32.h: Likewise.
12538 * config/i960/i960-coff.h: Likewise.
12539 * config/ia64/sysv4.h: Likewise.
12540 * config/m68hc11/m68hc11.h: Likewise.
12541 * config/m68k/coff.h: Likewise.
12542 * config/m68k/mot3300.h: Likewise.
12543 * config/m88k/m88k.h: Likewise.
12544 * config/mcore/mcore-pe.h: Likewise.
12545 * config/mcore/mcore.h: Likewise.
12546 * config/mips/elf.h: Likewise.
12547 * config/mips/elf64.h: Likewise.
12548 * config/mips/iris6.h: Likewise.
12549 * config/pa/pa64-hpux.h: Likewise.
12550 * config/rs6000/sysv4.h: Likewise.
12551 * config/sh/sh.h: Likewise.
12552 * config/sparc/litecoff.h: Likewise.
12553
12554 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
12555 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
12556 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12557 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12558 (ASM_OUTPUT_DESTRUCTOR): Remove.
12559 * config/a29k/a29k.c: Move include of tree.h.
12560 * config/a29k/udi.h: Delete file.
12561 * config/alpha/alpha.c (vms_asm_out_constructor): New.
12562 (vms_asm_out_destructor): New.
12563 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
12564 (EXTRA_SECTION_FUNCTIONS): Likewise.
12565 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12566 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12567 * config/c4x/c4x.c: Move include of tree.h.
12568 * config/clipper/clipper.c (clix_asm_out_constructor): New.
12569 (clix_asm_out_destructor): New.
12570 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12571 (ASM_OUTPUT_DESTRUCTOR): Remove.
12572 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12573 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12574 (TARGET_ASM_CONSTRUCTOR): New.
12575 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
12576 (sco_asm_out_constructor): New.
12577 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
12578 * config/i386/svr3gas.h: Remove stack grows up code.
12579 Remove code duplicated from i386/sysv3.h.
12580 (TARGET_ASM_CONSTRUCTOR): New.
12581 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
12582 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
12583 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12584 (TARGET_ASM_CONSTRUCTOR): New.
12585 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
12586 (m68hc11_asm_out_destructor): New.
12587 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
12588 (TARGET_ASM_DESTRUCTOR): New.
12589 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
12590 * config/m68k/dpx2.h: Properly undef all the bits inherited from
12591 config/svr3.h pertaining to section manipulation.
12592 * config/m68k/dpx2g.h: Remove #if 0 code.
12593 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
12594 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
12595 (ASM_OUTPUT_CONSTRUCTOR): Remove.
12596 (TARGET_ASM_CONSTRUCTOR): New.
12597 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
12598 (m88k_svr3_asm_out_constructor): New.
12599 (m88k_svr3_asm_out_destructor): New.
12600 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12601 (ASM_OUTPUT_DESTRUCTOR): Remove.
12602 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12603 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
12604 * config/rs6000/aix.h: Likewise.
12605 * config/mips/rtems64.h: Don't undef removed constructor related bits.
12606 * config/mips/vxworks.h: Likewise.
12607 * config/rs6000/lynx.h: Likewise.
12608 * config/sh/elf.h: Likewise.
12609 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
12610 (DTORS_SECTION_ASM_OP): New.
12611 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12612 (ASM_OUTPUT_DESTRUCTOR): Remove.
12613 * config/sparc/sol2-sld-64.h: Likewise.
12614 * config/vax/vax.c (vms_asm_out_constructor): New.
12615 (vms_asm_out_destructor): New.
12616 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
12617 (ASM_OUTPUT_DESTRUCTOR): Remove.
12618 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12619
12620 * doc/tm.texi (@node Initialization): Update.
12621
12622 2001-08-09 Richard Henderson <rth@redhat.com>
12623
12624 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
12625 (__do_global_dtors_aux): Use gp-relative static data to avoid
12626 one dynamic relocation.
12627 (__do_frame_setup): Register Java classes.
12628 * config/alpha/crtend.asm (__JCR_END__): New.
12629
12630 2001-08-09 Zack Weinberg <zackw@stanford.edu>
12631
12632 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
12633 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
12634 (GEN, STAGESTUFF): Add new files.
12635 (insn-constants.h, s-constants, tm-preds.h, s-preds,
12636 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
12637 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
12638 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
12639 as well as insn-codes.h and insn-flags.h in config.h; and no
12640 extra headers in tconfig.h and hconfig.h.
12641
12642 * gencodes.c: Eliminate code to generate predicate declarations
12643 or #defines for md-file constants.
12644 * genconstants.c, genpreds.c: New files.
12645
12646 * i386.md: Re-order guard expressions such that TARGET_64BIT
12647 comes first, when this permits better optimization. Add
12648 TARGET_64BIT to more x86-64 patterns. Add comment explaining
12649 why this is desirable.
12650
12651 2001-08-09 Jakub Jelinek <jakub@redhat.com>
12652
12653 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
12654 (find_fde_for_dso): Remove.
12655 (_Unwind_IteratePhdrCallback): New.
12656 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
12657 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
12658
12659 Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
12660
12661 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
12662 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
12663
12664 2001-08-09 Graham Stott <grahams@redhat.com>
12665
12666 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
12667 (vis_no_unit): Use it.
12668 (visualize_no_unit): Add the insn only if room exists.
12669
12670 2001-08-09 Graham Stott <grahams@redhat.com>
12671
12672 * predict.c (estimate_probability): Replace magic numbers with
12673 appropriate enumeration.
12674
12675 2001-08-09 Graham Stott <grahams@redhat.com>
12676
12677 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
12678 parameter.
12679 (EXTRACT_FLAGS): Likewise.
12680
12681 2001-08-09 Aldy Hernandez <aldyh@redhat.com>
12682
12683 * config/mips/mips.c (mips_legitimate_address_p): Check for
12684 CONST_INT in last patch.
12685
12686 2001-08-08 Anthony Green <green@redhat.com>
12687
12688 * java/class.c (emit_register_classes): Use assemble_jcr if
12689 possible. Keep the original mechanism as a fallback.
12690 * defaults.h (JCR_SECTION_NAME): Define if we have named section
12691 and weak symbol support.
12692 * crtstuff.c (__JCR_LIST__): Define.
12693 (__JCR_END__): Define.
12694 (_Jv_RegiserClasses): Define weak symbol if possible.
12695 (__do_global_ctors_aux): Register classes for ELF targets with
12696 weak symbol support.
12697
12698 2001-08-08 Kazu Hirata <kazu@hxi.com>
12699
12700 * dbxout.c: Fix comment formatting.
12701 * dependence.c: Likewise.
12702 * df.c: Likewise.
12703 * diagnostic.c: Likewise.
12704 * dominance.c: Likewise.
12705 * doprint.c: Likewise.
12706 * dwarf2out.c: Likewise.
12707 * dwarfout.c: Likewise.
12708 * emit-rtl.c: Likewise.
12709 * except.c: Likewise.
12710 * explow.c: Likewise.
12711 * expmed.c: Likewise.
12712 * expr.c: Likewise.
12713 * flow.c: Likewise.
12714 * fold-const.c: Likewise.
12715 * function.c: Likewise.
12716
12717 2001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12718
12719 * global.c (retry_global_alloc): Avoid shadowing allocno.
12720
12721 2001-08-08 Mark Mitchell <mark@codesourcery.com>
12722
12723 * except.c (remove_fixup_regions): Fix typo.
12724
12725 2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
12726
12727 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
12728 unsigned HOST_WIDE_INT to avoid warning.
12729 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
12730 * flow.c (set_block_for_new_insns): Likewise.
12731
12732 Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
12733
12734 * sibcall.c (return_value_pseudo): New static variable.
12735 (skip_copy_to_return_value): Handle return_value_pseudo.
12736 (call_ends_block_p): Ensure that return_value_pseudo is set.
12737 (optimize_sibling_and_tail_recursive_call): Discover the
12738 load of pseudo return value in alternate exit block.
12739
12740 Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
12741
12742 * calls.c (ECF_ALWAYS_RETURN): New constant.
12743 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
12744 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
12745 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
12746 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
12747 * rtl.c (reg_note_name): New name.
12748 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
12749
12750 2001-08-07 Aldy Hernandez <aldyh@redhat.com>
12751
12752 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
12753
12754 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
12755
12756 * alias.c (get_alias_set): Return a previously calculated
12757 alias set for a VAR_DECL.
12758 * function.c (gen_mem_addressof): Calculate the alias set before
12759 touching the RTL.
12760
12761 Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
12762
12763 * predict.def: Set hitrates according our experimental run.
12764
12765 Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
12766
12767 * i386.h (HARD_REGNO_RENAME_OK): New macro.
12768
12769 2001-08-08 H.J. Lu <hjl@gnu.org>
12770
12771 * config/mips/mips.c (mips_unique_section): New. Copied from
12772 config/mips/elf.h.
12773
12774 * config/mips/mips-protos.h (mips_unique_section): New
12775 prototype.
12776
12777 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
12778
12779 * config/mips/little.h: New. Generic little endian mips
12780 targets. Only mips*-*-linux* is converted to use it so far.
12781
12782 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
12783 (WCHAR_TYPE): Defined
12784 (WCHAR_TYPE_SIZE): Likewise.
12785 (INIT_SUBTARGET_OPTABS): Likewise.
12786 (BSS_SECTION_ASM_OP): Likewise.
12787 (SBSS_SECTION_ASM_OP): Likewise.
12788 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
12789 (ASM_DECLARE_OBJECT_NAME): Likewise.
12790 (UNIQUE_SECTION): Likewise.
12791 (EXTRA_SECTIONS): Likewise.
12792 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
12793 (ASM_OUTPUT_DESTRUCTOR): Likewise.
12794 (ASM_OUTPUT_DEF): Likewise.
12795 (HANDLE_SYSV_PRAGMA): Removed.
12796 (NO_IMPLICIT_EXTERN_C): Likewise.
12797 (TARGET_MEM_FUNCTIONS): Likewise.
12798 (STARTFILE_SPEC): Likewise.
12799 (ENDFILE_SPEC): Likewise.
12800 (LIB_SPEC): Likewise.
12801 (INVOKE__main): Likewise.
12802 (CTOR_LIST_BEGIN): Likewise.
12803 (CTOR_LIST_END): Likewise.
12804 (DTOR_LIST_BEGIN): Likewise.
12805 (DTOR_LIST_END): Likewise.
12806 (SET_ASM_OP): Likewise.
12807 (ASM_OUTPUT_SOURCE_LINE): Likewise.
12808 (ASM_OUTPUT_DEF): Likewise.
12809 (ASM_OUTPUT_IDENT): Likewise.
12810
12811 * config/mips/mips.h (ASM_SPEC): Undefine before define.
12812 (CPLUSPLUS_CPP_SPEC): Likewise.
12813 (ASM_APP_ON) Redefine only if not defined.
12814 (ASM_APP_OFF): Likewise.
12815 (ASM_OUTPUT_SOURCE_LINE): Likewise.
12816 (ASM_OUTPUT_IDENT): Likewise.
12817
12818 * config.gcc: Update tm_file for Linux/mips.
12819
12820 2001-08-08 Bernd Schmidt <bernds@redhat.com>
12821
12822 * cselib.c (cselib_record_sets): If insn is predicated, turn
12823 sources into IF_THEN_ELSEs.
12824
12825 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
12826 Turn into define_insn_and_split.
12827
12828 * sched-deps.c: Include "cselib.h".
12829 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
12830 Use cselib to turn memory addresses into VALUEs.
12831 (sched_analyze): Call cselib_init/cselib_finish if necessary.
12832 * sched-int.h (struct sched_info): New member USE_CSELIB.
12833 * sched-ebb.c (ebb_sched_info): Initialize it.
12834 * sched-rgn.c (rgn_sched_info): Likewise.
12835 * Makefile.in (sched-deps.o): Update dependencies.
12836
12837 * cselib.h (cselib_subst_to_values): Declare.
12838 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
12839 that have no value and autoincs to be handled by generating a new
12840 dummy value.
12841
12842 2001-08-08 Graham Stott <grahams@redhat.com>
12843
12844 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
12845 within fixed length SEQUENCE.
12846
12847 2001-08-08 Graham Stott <grahams@redhat.com>
12848
12849 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
12850 (diagnostic_prefixing_rule): Likewise.
12851 (diagnostic_line_cutoff): Likewise.
12852 (diagnostic_kind_count): Likewise.
12853
12854 2001-08-08 Graham Stott <grahams@redhat.com>
12855
12856 * alias.c (find_base_decl): Delete redundent assignment.
12857
12858 2001-08-08 Graham Stott <grahams@redhat.com>
12859
12860 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
12861 (abs): Uppercase and paranthesize macro parameter.
12862 (MEM_DEPENDENCY): Add whitespace.
12863
12864 2001-08-08 Graham Stott <grahams@redhat.com>
12865
12866 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
12867 failure check for CONST_INT
12868
12869 2001-08-08 Graham Stott <grahams@redhat.com>
12870
12871 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
12872 (libcall_dead_p): Likewise.
12873
12874 (mark_used_regs): Constify fmt.
12875 (find_use_as_address): Likewise.
12876
12877 2001-08-08 Graham Stott <grahams@redhat.com>
12878
12879 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
12880 parameter.
12881
12882 2001-08-08 Graham Stott <grahams@redhat.com>
12883
12884 * combine.c (combine_simplify_rtx): Update comment and
12885 remove erroneous test.
12886
12887 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
12888
12889 * cppinit.c (cpp_finish): Pop the final buffer without comment.
12890 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
12891 take care to avoid multiple no-newline at EOF warnings in that
12892 case.
12893
12894 Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
12895
12896 * calls.c (expand_call): Do not emit INSN_SETJMP note.
12897 (emit_library_call_value_1): Likewise.
12898 (emit_call_1): Emit REG_SETJMP note.
12899 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
12900 of INSN_SETJMP
12901 * cselib.c (cselib_process_insn): Likewise.
12902 * flow.c (propagate_block): Likewise.
12903 * loop.c (find_and_verify_loops): Likewise.
12904 * reload.c (find_equiv_regs): Likewise.
12905 * reload1.c (reload): Likewise.
12906 * resource.c (mark_referenced_resources,
12907 mark_set_resources): Likewise.
12908 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
12909 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
12910 * haifa-sched.c (unlink_other_notes): Likewise.
12911 (reemit_notes): Likewise.
12912 * sched-ebb.c (sched_ebb): Likewise.
12913 * sched-rgc.c (sched_region): Likewise.
12914 * rtl.c (note_insn_name): Likewise.
12915 (reg_note_name): Add REG_SETJMP
12916 * rtl.h (reg_note): Add REG_SETJMP.
12917 (insn_note): Remove NOTE_INSN_SETJMP.
12918
12919 * profile.c (branch_prob): Add fake edges for setjmp.
12920
12921 2001-08-07 Daniel Jacobowitz <drow@mvista.com>
12922
12923 * config.gcc: Quote target_cpu_default2 correctly for
12924 powerpc*-*-* targets.
12925
12926 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
12927
12928 * cpplib.h, line-map.h: Update comments.
12929 * cppmain.c (printer_init): Move inline.
12930 (maybe_print_line, print_line): Take a map pointer.
12931 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
12932 (cb_file_change): Don't use prior value of print.map.
12933
12934 2001-08-07 David Edelsohn <edelsohn@gnu.org>
12935
12936 * doc/install.texi: Document fine-grained multilib configuration.
12937
12938 Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
12939
12940 * rtlanal.c (find_first_parameter_load): Call note_stores
12941 only on the instructions.
12942
12943 Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
12944
12945 * alias.c (nonlocal_mentioned_p):
12946 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
12947 * calls.c (emit_call_1): Likewise.
12948 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
12949 * cselib.c (cselib_process_insn): Likewise.
12950 * df.c (df_insns_modify): Likewise.
12951 * flow.c (need_fake_edge_p): Likewise.
12952 (propagate_one_insn): Likewise.
12953 * haifa-sched.c (reemit_notes): Likewise.
12954 * integrate.c (copy_insn_list): Likewise.
12955 * jump.c (delete_prior_computation): Likewise.
12956 * local-alloc.c (validate_equiv_mem): Likewise.
12957 * loop.c (scan_loop): Likewise.
12958 * predict.c (estimate_probability): Likewise.
12959 * reload.c (reload): Likewise.
12960 * sched-deps (sched_analyze): Likewise.
12961 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
12962 * gcse.c (compute_hash_table): Likewise.
12963 (mark_call): Likewise.
12964 (store_killed_in_insn): Likewise.
12965
12966 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
12967
12968 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
12969
12970 2001-08-06 Richard Henderson <rth@redhat.com>
12971
12972 * varasm.c (assemble_gc_entry): Remove.
12973 * output.h: Likewise.
12974
12975 2001-08-06 Richard Henderson <rth@redhat.com>
12976
12977 * varasm.c (assemble_constructor): Take a symbol_ref and a
12978 priority instead of a bare string. Move priority handling
12979 here from cp/decl2.c.
12980 * output.h: Update decls.
12981
12982 * c-decl.c (c_expand_body): Update calls to assemble_constructor
12983 and assemble_destructor.
12984 * profile.c (output_func_start_profiler): Likewise.
12985 * objc/objc-act.c (finish_objc): Likewise.
12986 (build_module_descriptor): Return the symbol not the symbol name.
12987
12988 2001-08-06 David Edelsohn <edelsohn@gnu.org>
12989
12990 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
12991 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
12992 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
12993 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
12994 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
12995 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
12996
12997 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
12998
12999 * cpperror.c (print_containing_files): Moved to line-map.c.
13000 (print_location): line-map.c handles re-listing or otherwise.
13001 * cpphash.h (struct lexer_state): Remove next_bol.
13002 (struct cpp_buffer): Remove include_stack_listed.
13003 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
13004 Remove faked buffer handling.
13005 (_cpp_do_file_change): Tweak.
13006 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
13007 * cppmain.c (struct printer): Remove filename.
13008 (print_line, cb_file_change): Update accordingly.
13009 * line-map.c: Include intl.h.
13010 (init_line_maps): Initialize last_listed.
13011 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
13012 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
13013 (print_containing_files): New.
13014 * line-map.h (struct line_maps): New member last_listed.
13015 (print_containing_files, INCLUDED_FROM): New.
13016 * Makefile.in: Update.
13017 * po/POTFILES.in: Add line-map.c.
13018
13019 2001-08-06 Richard Henderson <rth@redhat.com>
13020
13021 * except.c (convert_from_eh_region_ranges_1): Never mark
13022 USE or CLOBBER insns as throwing.
13023
13024 * expr.c (store_constructor): Don't clobber memory targets.
13025
13026 2001-08-06 Andreas Jaeger <aj@suse.de>
13027
13028 * profile.c (branch_prob): Remove unused variable insn.
13029
13030 * Makefile.in (local-alloc.o): Add dependency on except.h.
13031
13032 * local-alloc.c: Include except.h for can_throw_internal prototype.
13033
13034 2001-08-06 Richard Henderson <rth@redhat.com>
13035
13036 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
13037 * function.c (expand_main_function): Implement it.
13038 * doc/tm.texi: Document it.
13039
13040 2001-08-06 Stan Shebs <shebs@apple.com>
13041
13042 * doc/install.texi: Document powerpc-*-darwin* details.
13043
13044 2001-08-06 Daniel Berlin <dan@cgsoftware.com>
13045
13046 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
13047 (ASM_CPU_SPEC): Move back to rs6000.h
13048 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
13049
13050 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
13051
13052 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
13053 readded.
13054
13055 * config/rs6000/linux64.h: Ditto.
13056
13057 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13058 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
13059 nothing.
13060
13061 Remove accidently readded definitions of FUNCTION_PROLOGUE,
13062 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
13063
13064 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13065 to rs6000.h
13066
13067 2001-08-05 Richard Henderson <rth@redhat.com>
13068
13069 * local-alloc.c (update_equiv_regs): Do not move insns that
13070 can throw.
13071
13072 2001-08-05 Jan Hubicka <jh@suse.cz>
13073
13074 * Makefile.in (reload1.o): Add dedendancy on except.h
13075 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
13076 prototypes.
13077 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
13078 indicating wehther edges has been cleaned up.
13079 * reload1.c: Inlucde except.h
13080 (fixup_abnormal_edges): Accept deleted insns.
13081 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
13082 after combine.
13083
13084 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
13085
13086 * cpplib.c (do_line): Correct line number after pop_buffer.
13087
13088 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
13089
13090 PR preprocessor/3824
13091 * line-map.c: Update comments.
13092 * line-map.h: Update comments.
13093 * tradcif.y: Don't consider large numbers unsigned.
13094
13095 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
13096
13097 PR preprocessor/3081
13098 * c-lex.c (map): New.
13099 (cb_file_change): Update map and use it.
13100 (cb_def_pragma, cb_define, cb_undef): Use map and line.
13101 (c_lex): Update to use map.
13102 * cpperror.c (print_location): Move to using logical line numbers.
13103 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
13104 (cpp_make_system_header): Similarly.
13105 (_cpp_execute_include): Stop line numbering hacks. Store the
13106 line we will return to.
13107 * cpphash.h (CPP_BUF_LINE): Remove.
13108 (struct cpp_buffer): Remove lineno and pseudo_newlines.
13109 Add map and return_to_line.
13110 (_cpp_do_file_change): Update.
13111 * cppinit.c (cpp_start_read): Update line kludge.
13112 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
13113 (trigraph_ok): Use logical line numbers for diagnostics.
13114 (skip_block_comment): Likewise.
13115 (skip_whitespace): Likewise.
13116 (skip_line_comment): Use pfile->line instead.
13117 (_cpp_lex_token): Update to use logical line numbering exclusively.
13118 Handle BOL locally. Accept new lines in directives, but keep
13119 pfile->line decremented. Diagnostics use logical lines. Update
13120 directive handling.
13121 * cpplib.c (SEEN_EOL): New.
13122 (skip_rest_of_line, check_eol): Use it.
13123 (end_directive): Increase line number when accepting the newline
13124 at the end of a directive.
13125 (run_directive): Simplify.
13126 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
13127 (_cpp_do_file_change): Update to take buffer line number as an
13128 argument, and store the current map in the cpp_reader. Remove
13129 line number kludges.
13130 (_cpp_do__Pragma): Restore output position after a _Pragma.
13131 (cpp_push_buffer): Don't set output line or lineno.
13132 (_cpp_pop_buffer): Transfer more info from a faked buffer.
13133 Remove line kludge. Set output_line.
13134 * cppmacro.c (builtin_macro): Update handling of __LINE__.
13135 (parse_arg): Use logical lines.
13136 (save_lookahead_token): Save EOFs too now.
13137 * cppmain.c (struct printer): Fix comments.
13138 (printer_init): Simplify, let caller do errors.
13139 (scan_translation_unit, check_multiline_token, dump_macro): Update.
13140 (maybe_print_line): Simplify.
13141 (print_line): Don't print a linemarker if -P.
13142 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
13143 (cb_file_change): Simplify.
13144 * line-map.h (LAST_SOURCE_LINE): Fix.
13145 (CURRENT_LINE_MAP): New.
13146
13147 2001-08-05 Bernd Schmidt <bernds@redhat.com>
13148
13149 * doloop.c (doloop_modify_runtime): Properly compute number of
13150 iterations if loop was unrolled.
13151
13152 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
13153 if their CSELIB_VAL_PTRs are.
13154
13155 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
13156 (setup_spill_pointers): Initialize it.
13157 (spill_restore_mem): Set it.
13158 (do_spill, do_restore): Use it to add REG_INC note.
13159 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
13160
13161 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
13162 asms if other insns are available.
13163
13164 * config/ia64/ia64.c (condop_operator): New predicate.
13165 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
13166 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
13167 patterns.
13168
13169 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
13170 temporary register than directly using a MEM.
13171
13172 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13173
13174 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
13175 parameter in last change.
13176
13177 2001-08-04 Zack Weinberg <zackw@panix.com>
13178
13179 * sparc.md: Don't use #if inside C test expression.
13180
13181 2001-08-04 Richard Henderson <rth@redhat.com>
13182
13183 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
13184
13185 2001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
13186
13187 * cpphash.h (struct cpp_reader): New member directive_line.
13188 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
13189 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
13190 do_pragma): Pass line to callbacks.
13191 (start_directive): Record line of directive.
13192 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
13193 cb_include): Similarly.
13194 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
13195 Similarly.
13196
13197 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13198
13199 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
13200 comment.
13201
13202 Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
13203
13204 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
13205
13206 * reload1.c (fixup_abnormal_edges): New static function.
13207 (reload): Use it.
13208
13209 * flow.c (need_fake_edge_p): New function.
13210 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
13211 avoid call insn to be very last insn in the insn stream.
13212
13213 * profile.c (branch_prob): Call flow_call_edges_add instead of
13214 doing that by hand; cleanup cfg to re-merge basic blocks once
13215 we are done.
13216
13217 2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13218
13219 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
13220 are also on line-map.h.
13221 * cppfiles.c (stack_include_file): Update.
13222 * cpphash.h (struct cpp_buffer): New member return_at_eof.
13223 (_cpp_pop_buffer): New.
13224 * cppinit.c (cpp_destroy, cpp_finish): Update.
13225 (do_includes): Mark each buffer to return at EOF.
13226 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
13227 return as requested.
13228 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
13229 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
13230 * cpplib.h (cpp_pop_buffer): Remove.
13231 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
13232 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
13233 buffers.
13234 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
13235 to pop buffers.
13236 (do_preprocessing): Update.
13237 * fix-header.c (read_scan_file): Update. No need to pop buffers.
13238 * c-parse.in (_yylex): Similarly.
13239 * scan-decls.c (scan_decls): Similarly.
13240 * line-map.h: Update comments.
13241
13242 * objc/Make-lang.in (objc-act.o): Update dependencies.
13243
13244 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13245
13246 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
13247 and soft register for operand 0.
13248 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
13249
13250 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13251
13252 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
13253 register for operand 0.
13254 ("bitcmpqi_z_used"): Allow memory for operand 0.
13255 (split "bitcmpqi"): New split to handle address reg as operand 1.
13256
13257 2001-08-04 Andreas Jaeger <aj@suse.de>
13258
13259 * gcse.c: Revert Daniel's last patch.
13260
13261 2001-08-03 Zack Weinberg <zackw@stanford.edu>
13262
13263 * sparc-protos.h: Add prototypes for fp_zero_operand and
13264 reg_or_0_operand.
13265 * sh-protos.h: Add prototype for fpul_operand.
13266
13267 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13268
13269 * doc/extend.texi (Other Builtins): Fix typo in last change.
13270
13271 2001-08-03 Richard Henderson <rth@redhat.com>
13272
13273 * target.h (gcc_target): Add asm_out.named_section,
13274 section_type_flags, have_named_sections.
13275 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
13276 (TARGET_HAVE_NAMED_SECTIONS): New.
13277 (TARGET_SECTION_TYPE_FLAGS): New.
13278
13279 * Makefile.in (toplev.o): Depend on TARGET_H.
13280 (varasm.o, dbxout.o): Likewise.
13281 * c-common.c (decl_attributes): Check targetm.have_named_sections
13282 instead of ifdef ASM_OUTPUT_SECTION_NAME.
13283 * dbxout.c (dbxout_function_decl): Likewise.
13284 (dbxout_function_end): Likewise.
13285 * toplev.c (compile_file): Likewise.
13286 * varasm.c (exception_section): Likewise.
13287 * cp/decl2.c (finish_objects): Likewise.
13288
13289 * defaults.h (EH_FRAME_SECTION): Remove.
13290 (EH_FRAME_SECTION_ASM_OP): Remove.
13291 (EH_FRAME_SECTION_NAME): New.
13292 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
13293 (UNIQUE_SECTION_P): Remove.
13294 * dwarf2out.c (SECTION_FORMAT): Remove.
13295 (ASM_OUTPUT_SECTION): Remove.
13296 (output_call_frame_info): Use named_section_flags.
13297 (output_comp_unit, dwarf2out_start_source_file): Likewise.
13298 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
13299 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
13300 * varasm.c (in_eh_frame, eh_frame_section): Remove.
13301 (named_section_flags): New.
13302 (named_section): Use it and targetm.section_type_flags.
13303 (resolve_unique_section): New.
13304 (assemble_start_function): Use it.
13305 (asm_emit_uninitialised, assemble_variable): Likewise.
13306 (default_section_type_flags): New.
13307 (default_no_named_section, default_elf_asm_named_section): New.
13308 (default_coff_asm_named_section, default_pe_asm_named_section): New.
13309 * output.h: Update varasm.c decls.
13310 (SECTION_*): New flags.
13311
13312 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
13313 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
13314
13315 * config/elfos.h (UNIQUE_SECTION_P): Remove.
13316 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
13317 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
13318 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13319 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
13320 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
13321 * config/mips/elf.h, config/mips/elf64.h: Likewise.
13322 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
13323 * config/pa/pa64-hpux.h,
13324
13325 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
13326 (TARGET_ASM_NAMED_SECTION): New.
13327 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
13328 * config/alpha/vms.h, config/arm/coff.h: Likewise.
13329 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
13330 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
13331 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
13332 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
13333 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
13334 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
13335 * config/i386/sco5.h, config/i386/win32.h: Likewise.
13336 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
13337 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
13338 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
13339 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
13340 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
13341 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
13342 * config/sparc/sysv4.h: Likewise.
13343
13344 * config/nextstep.h: Error until named sections implemented.
13345
13346 * config/a29k/a29k.c (a29k_asm_named_section): New.
13347 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
13348 (vms_section_type_flags, vms_asm_named_section): New.
13349 * config/arm/arm.c (arm_elf_asm_named_section): New.
13350 * config/avr/avr.c (asm_output_section_name): Remove.
13351 * config/avr/avr-protos.h: Update.
13352 * config/c4x/c4x.c (c4x_asm_named_section): New.
13353 * config/h8300/h8300.c (h8300_asm_named_section): New.
13354 * config/i386/i386.c (sco_asm_named_section): New.
13355 * config/i386/winnt.c (SECTION_PE_SHARED): New.
13356 (i386_pe_section_type_flags): New.
13357 (i386_pe_asm_named_section): New.
13358 * config/i386/i386-protos.h: Update.
13359 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
13360 * config/mcore/mcore.c (mcore_asm_named_section): New.
13361 * config/mips/mips.c (iris6_asm_named_section): New.
13362 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
13363 instead of UNIQUE_SECTION_P.
13364 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
13365 (xcoff_asm_named_section): New.
13366 * config/sh/sh.c (sh_asm_named_section): New.
13367 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
13368
13369 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
13370 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
13371 (EH_FRAME_SECTION_NAME): New.
13372 (EXCEPTION_SECTION): New.
13373 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
13374 (DEBUG_*_SECTION): Remove.
13375 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
13376 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
13377 (EH_FRAME_SECTION_ASM_OP): Remove.
13378
13379 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
13380 (ASM_OUTPUT_SECTION_NAME): Remove.
13381 (TARGET_ASM_NAMED_SECTION): New.
13382 (TARGET_HAVE_NAMED_SECTIONS): New.
13383 (TARGET_SECTION_TYPE_FLAGS): New.
13384 (EH_FRAME_SECTION_ASM_OP): Remove.
13385 (EH_FRAME_SECTION_NAME): New.
13386
13387 2001-08-03 Zack Weinberg <zackw@stanford.edu>
13388
13389 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
13390 for complex expressions when cfun == 0.
13391 * doc/extend.texi: Document that __builtin_constant_p can be
13392 used in data initializers as well as functions.
13393
13394 2001-08-03 Alexandre Oliva <aoliva@redhat.com>
13395
13396 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
13397 variable I locally, instead of expecting a declaration in the
13398 calling context.
13399
13400 2001-08-03 Richard Henderson <rth@redhat.com>
13401
13402 * except.c (collect_one_action_chain): Add an explicit cleanup
13403 action if regions surrounding a catch were encoded entirely
13404 within the call-site entry.
13405
13406 2001-08-03 Richard Henderson <rth@redhat.com>
13407
13408 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
13409 don't take REGNO of a non-register.
13410
13411 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
13412
13413 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
13414 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
13415 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
13416 (__gthread_mutex_init_function): New function for mutex initialization.
13417
13418 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
13419
13420 * Makefile.in: Revert screwed up commit.
13421
13422 2001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13423
13424 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
13425 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
13426 merged by linker script to get a final _exit().
13427 (__do_global_dtors): New for destructor handling in specific exit
13428 section.
13429 (__do_global_ctors): New for constructors in specific install section.
13430 (__map_data_section): Map data sections before running constructors.
13431 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
13432 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
13433 (DTORS_SECTION_ASM_OP): Likewise.
13434 (CTORS_SECTION_FUNCTION): Define to force a reference to
13435 __do_global_ctors.
13436 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
13437
13438 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
13439
13440 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
13441
13442 * Makefile.in: Add df.h to gcse.c dependencies.
13443
13444 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
13445
13446 * varasm.c (output_constant_def_contents): Use for the length of a
13447 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
13448 depending on which is larger.
13449
13450 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
13451
13452 * gcse.c: Include df.h for use as a dataflow analyzer.
13453 Remove regvec.
13454 Declaration of reg_set_info: gone.
13455 New df_analyzer variable used by store motion.
13456 (reg_set_info): Deleted.
13457 (mark_mem_regs): New function, analyze regs used by a mem.
13458 (store_ops_ok): Use dataflow analyzer results to determine if
13459 necessary regs are changed in the block.
13460 (find_moveable_store): Remove check for symbol ref, we can handle
13461 much more complex expressions now.
13462 (compute_store_table): Remove most of the code, it's unnecessary
13463 now that the dataflow analyzer records the info for us.
13464 (store_killed_after): Add parameter to say whether to do the
13465 store_ops_okay test, used to speed up testing when we already know
13466 the answer, and just want to know if the store itself was killed.
13467 (build_store_vector): Largely rewritten to calculate the various
13468 vectors properly, and somewhat optimized.
13469 (store_motion): Init the df_analyzer, get REG_DEF chains.
13470 Also handle trapping expressions (since mems almost always trap)
13471 (simple_mem): Redefine what a simple mem is.
13472
13473 2001-08-03 DJ Delorie <dj@redhat.com>
13474
13475 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
13476 set from a constant part of the condition.
13477
13478 2001-08-01 Andrew Cagney <ac131313@redhat.com>
13479
13480 * mkdeps.c (deps_add_default_target): Make local variable
13481 ``start'' a const char pointer.
13482 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
13483
13484 2001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13485
13486 * doc/install.texi (Configuration): Fix markup.
13487 (Specific, i?86-*-udk): Likewise.
13488 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
13489 --with-gnu-ld.
13490 Document --enable-threads and --enable-libgcj status.
13491 (Specific, mips-sgi-irix*): Canonicalize triples.
13492 (Specific, mips-sgi-irix5): Warn about problems with this config.
13493 Mention required GNU as patch.
13494 Native assembler problems are fixed.
13495 (Specific, mips-sgi-irix6): Update O32 ABI support status.
13496 Document --enable-threads and --enable-libgcj status.
13497
13498 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
13499
13500 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
13501 of mkinstalldirs.
13502
13503 2001-08-03 Richard Henderson <rth@redhat.com>
13504
13505 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
13506 constant data.
13507
13508 2001-08-03 Richard Henderson <rth@redhat.com>
13509
13510 * rtlanal.c (find_first_parameter_load): Stop if we
13511 reach a CODE_LABEL at BOUNDARY.
13512
13513 2001-08-03 Richard Henderson <rth@redhat.com>
13514
13515 * config/alpha/alpha.md (force_movdi): New insn.
13516 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
13517 Tweek FRP marking of VMS prologue insns.
13518 * config/alpha/vms.h (EPILOGUE_USES): New.
13519
13520 2001-08-02 Richard Henderson <rth@redhat.com>
13521
13522 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
13523
13524 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
13525
13526 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
13527 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
13528 config/convex/convex.h, config/d30v/d30v.c,
13529 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
13530 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
13531 config/mips/mips.h, config/mn10200/mn10200.h,
13532 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
13533 config/v850/v850.h, config/vax/openbsd.h,
13534 config/vax/openbsd1.h, config/vax/ultrix.h,
13535 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
13536 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
13537 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
13538 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
13539 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
13540 in comments and documentation.
13541
13542 2001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13543
13544 * line-map.c: New.
13545 * line-map.h: New.
13546 * Makefile.in (line-map.o): New.
13547 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
13548 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
13549 * cpperror.c (print_containing_files): Similarly.
13550 (print_location): Update. Don't output a space before _Pragma.
13551 * cppfiles.c (stack_include_file): Set to line 1 immediately.
13552 (stack_include_filee, cpp_make_system_header): Update.
13553 (_cpp_execute_include): Get logical line number right for calling
13554 as-yet-unterminated #include.
13555 * cpphash.h (struct cpp_reader): Add line_maps.
13556 (_cpp_do_file_change): Update.
13557 * cppinit.c (cpp_create_reader): Initialize line maps.
13558 (cpp_destroy): Destroy line maps.
13559 (cpp_start_read): Get logical line number right.
13560 * cpplex.c (parse_string): Only warn once for multi-line strings.
13561 Use boolean variable for null warning.
13562 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
13563 already.
13564 (do_include_common): End the directive early.
13565 (do_line): Don't warn about out-of-range lines in preprocessed
13566 source. Update. Remove unused variables.
13567 (_cpp_do_file_change): Update for new line mapping.
13568 (pragma_cb): New typedef.
13569 (cpp_register_pragma): Stop looking ahead before calling the
13570 handler. Clean up.
13571 (do_pragma_system_header): End directive early.
13572 (cpp_get_line_maps): New.
13573 (cpp_pop_buffer): Fudge logical line. Update.
13574 * cpplib.h: Include line-map.h
13575 (enum cpp_fc_reason): Remove.
13576 (struct cpp_file_change): Update.
13577 (cpp_get_line_maps): New.
13578 * cppmain.c (struct_printer): New member map.
13579 (cb_file_change): Update for new mappings.
13580 * fix-header.c (cb_file_change): Similarly.
13581
13582 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
13583
13584 * Makefile.in (libgcc.mk): Define mkinstalldirs.
13585 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
13586
13587 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
13588
13589 * config/vax/vax.c: include expr.h.
13590
13591 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
13592
13593 * Makefile.in ($(srcdir)/configure): Only rebuild in
13594 maintainer mode.
13595 ($(srcdir)/config.in): Only define in maintainer mode.
13596 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
13597
13598 2001-08-02 David Edelsohn <edelsohn@gnu.org>
13599
13600 * doc/install.texi (Install GCC: Binaries): Update Bull info.
13601
13602 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
13603
13604 * gcc.c (set_collect_gcc_options): New function, split out from
13605 main.
13606 Ignore elided switches.
13607 (do_spec_1): Invoke before executing command.
13608 (set_input): Export.
13609 Move declaration ...
13610 * gcc.h (set_input): ... here.
13611 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
13612 file.
13613
13614 2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
13615
13616 Kill -fhonor-std.
13617 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
13618 interaction.
13619 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
13620
13621 2001-08-02 Richard Sandiford <rsandifo@redhat.com>
13622
13623 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
13624 for the unnamed instructions it expands to.
13625
13626 2001-08-02 Richard Henderson <rth@redhat.com>
13627
13628 * regclass.c (call_really_used_regs): Conditionally define.
13629 (init_reg_sets_1): Don't use it if not defined.
13630 (fix_register): Similarly, don't set it.
13631
13632 2001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13633
13634 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
13635 Correct comment that had been missed in the previous change.
13636
13637 2001-08-01 Stan Shebs <shebs@apple.com>
13638
13639 * config/darwin.c (machopic_stub_name): Try matching by name.
13640 (update_stubs): New function.
13641 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
13642 unconditionally.
13643
13644 2001-08-01 Richard Henderson <rth@redhat.com>
13645
13646 * except.c (output_function_exception_table): Use assemble_align.
13647 * varasm.c (assemble_eh_label): Remove.
13648 (assemble_eh_align, assemble_eh_integer): Remove.
13649
13650 2001-08-01 Robert Lipe <robertl@caldera.com>
13651
13652 * dwarfout.c: Remove reference to README.DWARF.
13653
13654 2001-08-01 Andrew MacLeod <amacleod@redhat.com>
13655
13656 * regclass.c (call_really_used_regs): New array for registers which
13657 are actually used by a call.
13658 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
13659 new array.
13660 (fix_register): Set call_really_used too.
13661 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
13662 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
13663
13664 2001-08-01 Richard Henderson <rth@redhat.com>
13665
13666 * read-rtl.c (read_name): Consider \r whitespace.
13667
13668 2001-07-11 Andrew Cagney <ac131313@redhat.com>
13669
13670 * config.gcc: Recognize powerpc-*-netbsd*.
13671
13672 * doc/install.texi (Host/target specific installation notes for
13673 GCC): Mention powerpc-*-netbsd*.
13674
13675 * config/rs6000/netbsd.h: New file.
13676 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
13677 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
13678 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
13679 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
13680 (TARGET_VERSION): Redefine.
13681
13682 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
13683 mcall-netbsd as a match for mcall-sysv.
13684 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
13685 (ncrti.S, ncrtn.S): New targets.
13686 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
13687
13688 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
13689 "netbsd' as a V4 ABI.
13690 (ASM_SPEC): Check for -mcall-netbsd.
13691 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
13692 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
13693 (LIB_SPEC, ENDFILE_SPEC): Ditto.
13694 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
13695 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
13696 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
13697 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
13698
13699 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
13700 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
13701
13702 2001-08-01 Mark Kettenis <kettenis@gnu.org>
13703
13704 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
13705 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
13706 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
13707 including "unwind-pe.h".
13708
13709 Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
13710
13711 * rs6000.md (define_splits): Kill unused constraints.
13712
13713 Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
13714 Jan Hubicka <jh@suse.cz>
13715
13716 * function.c (thread_prologue_and_epilogue_insns): Kill code
13717 dealing with non-existent CFG.
13718
13719 2001-08-01 Kazu Hirata <kazu@hxi.com>
13720
13721 * alias.c: Fix comment formatting.
13722 * bitmap.c: Likewise.
13723 * builtins.c: Likewise.
13724 * calls.c: Likewise.
13725 * c-common.c: Likewise.
13726 * c-decl.c: Likewise.
13727 * c-dump.c: Likewise.
13728 * c-lex.c: Likewise.
13729 * collect2.c: Likewise.
13730 * combine.c: Likewise.
13731 * conflict.c: Likewise.
13732 * cppfiles.c: Likewise.
13733 * cppinit.c: Likewise.
13734 * cpplex.c: Likewise.
13735 * cpplib.c: Likewise.
13736 * cppmacro.c: Likewise.
13737 * cppspec.c: Likewise.
13738 * c-pragma.c: Likewise.
13739 * crtstuff.c: Likewise.
13740 * cse.c: Likewise.
13741 * cselib.c: Likewise.
13742 * c-semantics.c: Likewise.
13743 * c-typeck.c: Likewise.
13744
13745 2001-08-01 H.J. Lu <hjl@gnu.org>
13746
13747 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
13748
13749 2001-08-01 H.J. Lu <hjl@gnu.org>
13750
13751 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
13752
13753 2001-08-01 Ziemowit Laski <zlaski@apple.com>
13754
13755 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
13756 contextualizing Objective-C class name lookup by the lexer.
13757 (typespec_reserved_nonattr): Disable ObjC class name lookup after
13758 seeing a TYPESPEC.
13759 (protocoldef): Add support for forward @protocol declarations.
13760 (yylexname): Suppress ObjC class name lookup in certain contexts;
13761 re-enable after lookup is complete.
13762 (_yylex): Re-enable ObjC class name lookup when certain
13763 punctuation marks are seen.
13764
13765 * objc/objc-act.c (check_protocol_recursively): New function used
13766 for finding circular dependencies in protocols.
13767 (objc_declare_protocols): New function for handling forward
13768 @protocol declarations.
13769 (receiver_is_class_object): Detect the case when 'self' is used
13770 inside of a class method.
13771 (build_message_expr): Issue a warning if class method is desired
13772 but instance method is found instead.
13773 (conforms_to_protocol): Streamline.
13774 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
13775 protocol Foo, even if 'Bar foo' does not.
13776 (check_protocols): Streamline.
13777 (start_protocol): Add checks for circular and duplicate protocol
13778 definitions.
13779 (encode_aggregate_within): For typedefs of structs, encode the
13780 underlying struct.
13781 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
13782 (objc_declare_protocols): New prototype.
13783
13784 2001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13785
13786 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
13787 * cpplex.c (handle_newline): Update prototype. Maintain logical
13788 line number.
13789 (skip_escaped_newlines, skip_block_comment, parse_string):
13790 Update accordingly.
13791 (_cpp_lex_token): Update, and store token position within the token.
13792 * cpplib.h (struct cpp_token): Add line and column entries.
13793 * cppmacro.c (replace_args): Position stringified tokens correctly.
13794
13795 2001-08-01 Andreas Jaeger <aj@suse.de>
13796
13797 * basic-block.h: Add prototype for last_loop_beg_note.
13798
13799 2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
13800
13801 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
13802 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
13803 comment.
13804 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
13805 while handling WITH_CLEANUP_EXPR node. Use second operand calling
13806 expand_decl_cleanup.
13807 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
13808 the first RTX.
13809 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
13810 operand while calling simple_cst_equal.
13811 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
13812 operand is the cleanup expression, the third is the RTL_EXPR.
13813 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
13814
13815 2001-07-31 Jeff Sturm <jsturm@one-point.com>
13816
13817 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
13818
13819 2001-07-31 matthew green <mrg@eterna.com.au>
13820
13821 * config.gcc (i386-*-netbsdelf): New description.
13822 * config/i386/netbsd-elf.h: New file.
13823
13824 2001-07-30 Geoffrey Keating <geoffk@redhat.com>
13825
13826 * loop.c (check_dbra_loop): Use single_set to compute
13827 jump_label.
13828
13829 2001-07-31 Daniel Berlin <dan@cgsoftware.com>
13830
13831 PowerPC reorg and support for powerpc64-*-linux*.
13832
13833 Also fixes emitting of constants on 32 bit and 64 bit
13834 platforms.
13835
13836 * config.gcc: powerpc64-*-linux* is a new target.
13837 Things that needed aix.h now also include xcoff.h
13838
13839 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
13840 xcoff.h.
13841 Move AIX specific stuff into aix.h.
13842 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
13843 with more than just XCOFF now.
13844 (SET_ASM_OP): Remove, now defined where needed.
13845 (FUNCTION_PROLOGUE): New macro definition.
13846 (FUNCTION_EPILOGUE): New macro definition.
13847 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
13848
13849 * config/rs6000/xcoff.h: New file.
13850
13851 * config/rs6000/linux64.h: New file.
13852
13853 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
13854
13855 2001-07-31 Alan Modra <amodra@bigpond.net.au>
13856
13857 * rs6000.c (print_operand_address): Handle ELF syntax.
13858 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
13859 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
13860 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
13861
13862 2001-07-31 David Edelsohn <edelsohn@gnu.org>
13863
13864 * rs6000.c (rs6000_override_options): Only disable
13865 flag_function_sections for XCOFF.
13866 (exact_log2_cint_operand): New predicate.
13867 (reg_or_{add,sub}_cint64_operand): New predicates.
13868 (add_operand): Compare CONST_INT with fewer function calls.
13869 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
13870 (print_operand, case 'p'): Ensure positive operand.
13871 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
13872 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
13873 (PREDICATE_CODES): Add new predicates.
13874 * rs6000.md (addsi3): Split 32-bit constants more correctly.
13875 (divsi3, modsi3): Ensure positive power-of-2.
13876 (adddi3): Use new predicate. Split 32-bit constants more
13877 correctly. Re-arrange splitter to handle any constant.
13878 (subdi3): Use new predicate.
13879 (divdi3, moddi3): Ensure positive power-of-2.
13880 (movdi): Use rs6000_emit_set_const.
13881 (load_toc_v4_pic_di): Delete.
13882
13883 2001-07-31 Graham Stott <grahams@redhat.com>
13884
13885 * function.c (pad_below): Revert 2001-07-26 patch.
13886
13887 Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
13888
13889 * reg-stack (convert_regs_1): Fix best edge condition.
13890
13891 Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
13892
13893 * jump.c (duplicate_loop_exit_test): Better test for jumps
13894 entering the loop; create loop pre_header.
13895
13896 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
13897
13898 * doc/install.texi: Add s390 and s390x as new targets.
13899 * doc/invoke.texi: Add documentation of S/390 and zSeries
13900 target options.
13901 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
13902
13903 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
13904
13905 * config/m68k/m68k.md: Replace all general_operand with
13906 nonimmediate_operand for all destinations.
13907 * config/m68k/m68k.c (not_sp_operand): Likewise.
13908
13909 Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
13910
13911 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
13912
13913 2001-07-30 Richard Henderson <rth@redhat.com>
13914
13915 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
13916 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
13917
13918 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
13919
13920 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
13921 Add missing doc strings
13922 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
13923 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
13924
13925 Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
13926
13927 * i386.c (ix86_output_main_function_alignment_hack): New function.
13928 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
13929
13930 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
13931 edges by EDGE_DFS_BACK flag.
13932 (dump_edge_info): Add dfs_back flag.
13933 * basic-block.h (EDGE_DFS_BACK): New constant.
13934 (mark_dfs_back_edges): Declare.
13935 * alias.c (loop_p): Remove.
13936 (mark_constant_function): Use mark_dfs_back_edges.
13937
13938 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
13939 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
13940 (compensate_edge): Break out from ...
13941 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
13942 (convert_regs_2): Set block_done once block is really done;
13943 Do updating of the predecessors counts.
13944
13945 * toplev.c (rest_of_compilation): Recompute block_for_insn
13946 before post-reload cfg_cleanup.
13947 * function.c (thread_prologue_epilogue_insns):
13948 Call set_block_for_new_insns when emitting prologue directly.
13949
13950 2001-07-30 Andreas Jaeger <aj@suse.de>
13951
13952 * jump.c: Add prototype for mark_modified_reg.
13953
13954 * cse.c (set_live_p): Add unused attribute.
13955
13956 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
13957 overflow.
13958 (scan_for_source_files): Use long for count to avoid overflow.
13959 (output_data): Likewise.
13960 (output_data): Don't use string concatatenation to silence gcc
13961 -traditional.
13962
13963 * predict.c: Fix typos and grammar.
13964
13965 * gcse.c (insert_insn_end_bb): Remove unused variables.
13966
13967 Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
13968
13969 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
13970 (attempt_auto_inc): LIkewise.
13971 (mark_used_reg): Likewise.
13972 (try_pre_increment_1): Likewise.
13973 * regclass.c (regclass): Likewise.
13974 * global.c (allocno_compare): Update comment; change scaling factor.
13975 * local-alloc.c (QTY_CMP_PRI): Likewise.
13976 * regs.h (REG_FREQ_FROM_BB): New.
13977 (REG_FREQ_MAX): Likewise.
13978
13979 2001-07-30 H.J. Lu <hjl@gnu.org>
13980
13981 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
13982 -D_GNU_SOURCE.
13983
13984 2001-07-30 H.J. Lu (hjl@gnu.org)
13985
13986 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
13987 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
13988 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
13989
13990 2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
13991
13992 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
13993 as -mthumb-interwork when -mcpu=arm7 is specified.
13994
13995 Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
13996
13997 * predict.def (noreturn, loop branch, loop exit): Mark as first
13998 match heuristics.
13999
14000 Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
14001
14002 * combine.c (try_combine): Avoid barrier after noop jumps.
14003
14004 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14005
14006 * cpphash.h (struct cpp_reader): Remove import_warning.
14007 * cpplib.c (skip_rest_of_line): Don't bother turning off
14008 macro expansion.
14009 (parse_include): Move include handling to...
14010 (do_include_common): ... here. Move import warning from...
14011 (do_import): ... here.
14012 (do_pragma_poison): Don't do a callback for poison identifiers.
14013 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
14014 * cppmain.c (setup_callbacks): Similarly.
14015
14016 Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
14017
14018 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
14019 handle multiple sets.
14020 * except.c (sjlj_mark_call_sites): .... here.
14021 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
14022
14023 Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
14024
14025 Suggested by Richard Henderson and Richard Kenner:
14026 * combine.c (recog_for_combine): Use the fake recog
14027 only if instruction does not match.
14028 * rtl.h (NOOP_MOVE_INSN_CODE): New.
14029 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
14030
14031 * combine.c (try_combine): Discover noop jump as direct jump.
14032
14033 2001-07-29 Daniel Berlin <dan@cgsoftware.com>
14034
14035 * df.c (df_rd_global_compute): Add successors to worklist, not
14036 current item.
14037 (df_ru_global_compute): Ditto.
14038
14039 2001-07-27 Daniel Berlin <dan@cgsoftware.com>
14040
14041 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
14042 increment REG_N_SETS.
14043
14044 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
14045
14046 * sbitmap.h: New prototype for sbitmap_a_xor_b.
14047
14048 * sbitmap.c (sbitmap_a_xor_b): New function.
14049 ifdef the basic block stuff on IN_GCC.
14050
14051 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14052
14053 * cppexp.c (parse_defined): Always record the macro name.
14054 (lex): Don't worry about identifiers, or special-case
14055 CPP_NOT here.
14056 (_cpp_parse_expr): Figure out at the end of the routine
14057 whether we saw a valid !defined() expression.
14058 * cppfiles.c (stack_include_file): Update for mi_valid.
14059 (_cpp_pop_file_buffer): Similarly.
14060 * cpplex.c (_cpp_lex_token): Similarly.
14061 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
14062 mi_if_not_defined, mi_lexed): Remove.
14063 (mi_valid): New.
14064 * cpplib.c (do_if): Simplify.
14065 (do_endif, push_conditional, _cpp_handle_directive): Update
14066 for renaming of mi_state to mi_valid.
14067 doc:
14068 * cpp.texi: Add index entries for digraphs, and add comment
14069 that C++ refers to them as alternative tokens.
14070
14071 Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
14072
14073 * basic-block.h (CLEANUP_PRE_LOOP): New.
14074 * except.c (finish_eh_generation): Update call of cleanup_cfg.
14075 * sibcall.c (optimize_sibling_calls): Likewise.
14076 * toplev.c (rest_of_compilation): Likewise.
14077 * flow.c (try_forward_edges): Take argument MODE;
14078 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
14079 (try_optimize_cfg): Update call of try_forward_edges.
14080
14081 Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
14082 Jan Hubicka <jh@suse.cz>
14083
14084 * (validate_replace_rtx_1): Fix simplification of MINUS.
14085
14086 2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
14087
14088 PR preprocessor/3669
14089 * cppinit.c (init_dependency_output): Turn off dump requests
14090 if sending dependencies to stdout.
14091
14092 2001-07-28 Richard Henderson <rth@redhat.com>
14093
14094 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
14095 not optimizing.
14096
14097 2001-07-28 Golubev I. N. <gin@mo.msk.ru>
14098
14099 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
14100
14101 2001-07-28 Kazu Hirata <kazu@hxi.com>
14102
14103 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
14104 is VAR_DECL first to prevent an ICE.
14105
14106 2001-07-28 Richard Henderson <rth@redhat.com>
14107
14108 * varasm.c (immed_real_const_1): Don't elide special cases for
14109 nested functions.
14110 (clear_const_double_mem): Clear const_tiny_rtx too.
14111
14112 2001-07-28 Richard Henderson <rth@redhat.com>
14113
14114 * dwarf2out.c (dw_val_class_offset): New.
14115 (struct dw_ranges_struct, dw_ranges_ref): New.
14116 (ranges_table, ranges_table_allocated): New.
14117 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
14118 (add_AT_offset, add_ranges, output_ranges): New.
14119 (print_die, output_die): Handle dw_val_class_offset.
14120 (attr_checksum, size_of_die, value_format): Likewise.
14121 (gen_lexical_block_die): Handle non-contiguous blocks.
14122 (gen_block_die): Likewise.
14123 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
14124 if needed. Dump the ranges table.
14125 * final.c (final_start_function): Remove unnecessary notes and
14126 rebuild the block tree before numbering the blocks.
14127 * function.c (reorder_blocks_0): Walk the existing block tree
14128 to unmark all blocks.
14129 (reorder_blocks_1): Create block fragments when duplicate block
14130 notes are seen.
14131 (reorder_fix_fragments): New.
14132 (reorder_blocks): Call it.
14133 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
14134
14135 2001-07-28 Richard Henderson <rth@redhat.com>
14136
14137 * emit-rtl.c (adjust_address): Make a copy of the memory address.
14138
14139 2001-07-28 Richard Henderson <rth@redhat.com>
14140
14141 * flow.c (add_to_mem_set_list): New function.
14142 (init_propagate_block_info): Use it.
14143 (mark_set_1): Likewise.
14144 (insn_dead_p): Canonicalize memory address for dead store
14145 comparison. Allow wider mode stores to kill narrower mode stores.
14146 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
14147 (invalidate_mems_from_set): Don't handle MEMs.
14148
14149 2001-07-28 Kazu Hirata <kazu@hxi.com>
14150
14151 * config/h8300/h8300.h: Fix formatting.
14152
14153 Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
14154
14155 * basic-block.h (EDGE_FREQUENCY): New macro.
14156 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
14157 for new BB/edges.
14158 * flow.c (find_sub_basic_blocks): Likewise.
14159 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
14160 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
14161
14162 * predict.c (DEF_PREDICTOR): New argument FLAGS.
14163 (HITRATE): New macro.
14164 (PRED_FLAG_FIRST_MATCH): New constant.
14165 (predictor_info): New field flgags.
14166 (combine_predictions_for_insn): Use DS theory to combine
14167 probabilities; set the edge probabilities when finished.
14168 (estimate_probability): Avoid duplicated matches
14169 of LOOP_BRANCH heuristics for nested loops; update comment.
14170 * predict.def: Add flags for each prediction, set probabilities
14171 according to B&L paper.
14172 * predict.h (DEF_PREDICTOR): New argument FLAGS.
14173
14174 * profile.c (compute_branch_probabilities): Cleanup way the edge
14175 probabilities are computed and REG_BR_PROB notes are dropped; if
14176 values does not match, emit error.
14177 (init_branch_prob): Do error instead of warning when profile driven
14178 feedback is missing or corrupt.
14179
14180 2001-07-27 DJ Delorie <dj@redhat.com>
14181
14182 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
14183 against a constant, try to adjust the compare to have the desired
14184 constant in it so that min/max optimizations happen more often.
14185
14186 Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14187
14188 * flow.c (last_loop_beg_note): New function.
14189 (redirect_edge_and_branch): Use it.
14190 (split_edge): Likewise.
14191
14192 * alias.c (loop_p): Avoid uninitialized memory access.
14193
14194 * flow.c (try_forward_edges): Avoid accessing freed memory.
14195
14196 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
14197 variable access.
14198
14199 2001-07-26 Andrew Haley <aph@redhat.com>
14200 Joern Rennecke <amylaar@redhat.com>
14201
14202 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
14203 (SUBTARGET_CPP_ENDIAN_SPEC): New.
14204 (SUBTARGET_CPP_SPEC): New.
14205 (CPP_SPEC): Remove.
14206 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
14207 (SUBTARGET_CPP_PTR_SPEC): New.
14208 (CPP_DEFAULT_CPU_SPEC): New.
14209 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
14210 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14211 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
14212 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14213 (SUBTARGET_CPP_SPEC): Define as an empty string.
14214
14215 2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14216
14217 * doc/install.texi (Configuration): Properly link the host
14218 specific instructions also when generating HTML.
14219
14220 Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
14221
14222 * flow.c (redirect_edge_and_branch_force): Test
14223 target->global_live_at_start.
14224
14225 2001-07-26 Richard Henderson <rth@redhat.com>
14226
14227 * simplify-rtx.c (avoid_constant_pool_reference): Export.
14228 * rtl.h (avoid_constant_pool_reference): Declare it.
14229 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
14230 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
14231
14232 Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
14233
14234 * rtl.h (cleanup_barriers): Declare.
14235 * jump.c (cleanup_barriers): New function.
14236 * toplev.c (rest_of_compilation): Call cleanup_barriers
14237 before loop optimizer and after bb_reorder.
14238
14239 * flow.c (back_edge_of_syntactic_loop_p): New.
14240 (split_edge): Use it.
14241
14242 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14243
14244 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
14245
14246 Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
14247
14248 * cse.c (cse_process_notes): Replace any registers if the address
14249 remains valid.
14250
14251 Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
14252
14253 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
14254 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
14255 (propagate_block): Update prototype.
14256 * flow.c (update_life_info): Simplify the CFG and
14257 recalculate the global regs which are alive when
14258 removing dead code during a global update.
14259 (propagate_block): Return non-zero if an INSN is
14260 deleted.
14261
14262 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14263
14264 * Makefile.in (LIBICONV): Define.
14265
14266 2001-07-26 Catherine Moore <clm@redhat.com>
14267
14268 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
14269 of conditional to avoid tree checking errors.
14270
14271 2001-07-26 Kazu Hirata <kazu@hxi.com>
14272
14273 * regmove.c (regmove_optimize): Don't replace a reg with
14274 another reg of a different mode.
14275
14276 2001-07-26 Andrew MacLeod <amacleod@redhat.com>
14277
14278 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
14279 limit length of dependency flush list.
14280 * params.h (MAX_PENDING_LIST_LENGTH): Define.
14281 * sched-int.h (struct deps): Add pending_flush_length field.
14282 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
14283 has 1 element in it.
14284 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
14285 (sched_analyze): After a jump, if the pending memory flush list is too
14286 large, flush the pending lists.
14287 (init_deps): Initialize pending_flush_length to 0.
14288 * doc/invoke.texi (max_pending_list_length): Document parameter.
14289
14290 2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
14291
14292 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
14293 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
14294 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
14295
14296 2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14297
14298 * cpphash.h (struct_lexer_state): Delete was_skipping.
14299 Move skipping here from struct cpp_reader.
14300 * cpplex.c (parse_identifier): Update.
14301 (_cpp_lex_token): Don't skip tokens in a directive.
14302 * cpplib.c (struct if_stack): Update.
14303 (start_directive, end_directive): Don't change skipping state.
14304 (_cpp_handle_directive): Update.
14305 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
14306 (do_else, do_endif): Update; only check for excess tokens if not
14307 in a skipped conditional block.
14308 (push_conditional): Update for new struct if_stack.
14309
14310 2001-07-26 Graham Stott <grahams@redhat.com>
14311
14312 * function.c (locate_and_pad_parm): Also pad initial offset
14313 so that the total argument size also includes the padding.
14314
14315 2001-07-26 Graham Stott <grahams@redhat.com>
14316
14317 * gensupport.c (alter_output_for_insn): Correct enable checking failure
14318 change XSTR to XTMPL.
14319
14320 (process_one_cond_exec): Likewise
14321
14322 2001-07-25 Richard Henderson <rth@redhat.com>
14323
14324 * varasm.c (assemble_variable): Create DECL_RTL before setting
14325 TREE_ASM_WRITTEN.
14326
14327 Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
14328
14329 * predict.c (estimate_probability): Avoid duplicated predictions.
14330
14331 * loop.c (find_and_verify_loops): Grok multiple barriers.
14332
14333 Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
14334
14335 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
14336
14337 * dbxout.c: Consistently use putc instead of fputc.
14338 (print_wide_int): New function; call instead of direct fprintf.
14339 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
14340 (dbxout_type_fields, dbxout_type_method_1): Likewise.
14341 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
14342 (print_int_cst_octal): Likewise.
14343 (print_octal): Show we wrote characters.
14344 (dbxout_type): Set have_used_extensions in more places.
14345
14346 2001-07-25 Catherine Moore <clm@redhat.com>
14347
14348 * config/v850/v850.c (v850_va_arg): Use addr
14349 instead of valist to build incr.
14350
14351 Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
14352
14353 * flow.c (delete_dead_jumptables): New function.
14354 (life_analyzis): Call it.
14355 * bb-reorder.c (skip_insns_after_block): Handle contradictory
14356 sequences.
14357
14358 2001-07-25 Richard Henderson <rth@redhat.com>
14359
14360 * except.c (reachable_handlers): Handle a region being removed
14361 out from under a RESX.
14362
14363 2001-07-25 Richard Henderson <rth@redhat.com>
14364
14365 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
14366 swap GE/GT if it is an fp comparison.
14367
14368 2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
14369
14370 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
14371 operands.
14372
14373 Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
14374
14375 * ssa.c (rename_insn_1): Do not wrap an assignment to a
14376 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
14377 glitch.
14378
14379 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
14380 throw an exception.
14381 (visit_expression): When attempting to simplify an expression,
14382 retrieve any modes for arguments before they are simplified
14383 to constants.
14384
14385 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
14386 Janis Johnson <janis@us.ibm.com>
14387
14388 * stmt.c (expand_goto): A nonlocal goto can be a call too.
14389 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
14390 pointer parameters to match documented usage of nonlocal_goto.
14391 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
14392 parameters to their correct order.
14393 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
14394 parameters to their correct order.
14395
14396 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
14397
14398 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
14399
14400 2001-07-25 Jan Hubicka <jh@suse.cz>
14401 Richard Henderson <rth@redhat.com>
14402
14403 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
14404 the sequence.
14405 (make_edges): New argument update_p; populate the edge cache if set.
14406 (find_basic_blocks): Update make_edges invocation.
14407
14408 2001-07-24 Joel Sherrill <joel@OARcorp.com>
14409
14410 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
14411
14412 2001-07-24 Joel Sherrill <joel@OARcorp.com>
14413
14414 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
14415 -Acpu and -Amachine.h.
14416 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
14417 Corrected header to say ELF not a.out.
14418 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
14419 when given -msoft-float.
14420
14421 2001-07-24 Joel Sherrill <joel@OARcorp.com>
14422
14423 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
14424 extra multilib parts like arm-elf.
14425 (i960-*-coff*, i960-*-rtems): Should not use collect2.
14426 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
14427 crtfini.o as extra multilib parts.
14428
14429 2001-07-24 Joel Sherrill <joel@OARcorp.com>
14430
14431 * configure.in: Add rtems as a supported thread model.
14432 * gthr-rtems.h: Add missing entry point __gthread_active_p.
14433 * configure: Rebuilt.
14434
14435 2001-07-24 Lars Brinkhoff <lars@nocrew.org>
14436
14437 * stor-layout.c (get_mode_alignment): make it work when
14438 BITS_PER_UNIT is not a power of two.
14439 * builtins.c (get_pointer_alignment): Likewise.
14440
14441 2001-07-24 Richard Henderson <rth@redhat.com>
14442
14443 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
14444 the retrieved constant into the expected mode.
14445
14446 Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
14447
14448 * flow.c (try_simplify_condjump): Avoid duplicated edges.
14449 (verify_flow_info): Check for duplicated edges; clarify
14450 error reporting.
14451
14452 * flow.c (block_label): Update basic_block_for_insn.
14453 (commit_edge_insertions): Call compute_bb_for_insn.
14454
14455 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
14456 returns too.
14457
14458 * flow.c (redirect_edge_and_branch,
14459 try_optimize_cfg): Use redirect_edge_succ_nodup
14460 (redirect_edge_succ_nodup): New.
14461 * basic_block.h (redirect_edge_succ_nodup): Declare.
14462
14463 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
14464 after gcse.
14465
14466 Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
14467
14468 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
14469 (try_crossjump_to_edge): Update commetns.
14470 (try_crossjump_bb): Likewise.
14471
14472 2001-07-24 Richard Henderson <rth@redhat.com>
14473
14474 * combine.c (distribute_notes): Move set of need_refresh
14475 for noop_move_p down to catch all cases.
14476
14477 Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
14478
14479 * recog.c (split_all_insns_noflow): New.
14480 * rtl.h (split_all_insns_noflow): Declare.
14481 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
14482 * m68hc11.c (m68hc11_reorg): Likewise.
14483 * sh.c (machine_dependent_reorg): Likewise.
14484 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
14485 call.
14486
14487 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
14488
14489 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
14490 (ashlsi3_n splitter): Likewise.
14491 (lshrsi3_n splitter): Likewise.
14492
14493 (GOTaddr2picreg): Make const SImode.
14494 (sym_label2reg): Likewise.
14495 (symGOT2reg): Likewise.
14496 (symGOTOFF2reg) Likewise.
14497
14498 (casesi_worker_0): Make unspec SImode.
14499
14500 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
14501
14502 * config/sh/sh.c (barrier_align): Check that an operand really is
14503 an insn before extracting its INSN_CODE.
14504
14505 2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
14506
14507 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
14508 dangling else.
14509
14510 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
14511 for SImode to prevent overflow.
14512
14513 2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14514
14515 * config/mips/irix6-libc-compat.c: New file.
14516 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
14517 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
14518 passing workaround.
14519
14520 2001-07-24 lars brinkhoff <lars@nocrew.org>
14521
14522 * rtl.texi (REG_POINTER): Document.
14523 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
14524 QFmode, HFmode, TQFmode, QCmode, and HCmode.
14525
14526 Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
14527
14528 * flow.c (delete_noop_moves): Do not confuse libcall regions.
14529
14530 2001-07-23 Richard Henderson <rth@redhat.com>
14531
14532 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
14533
14534 2001-07-23 Kazu Hirata <kazu@hxi.com>
14535
14536 * config/h8300/h8300-protos.h: Add a prototype for
14537 general_operand_dst_push.
14538 * config/h8300/h8300.c (general_operand_dst_push): New.
14539 * config/h8300/h8300.h (OK_FOR_T): New.
14540 (EXTRA_CONSTRAINT): Use it.
14541 * config/h8300/h8300.md (movqi_push): Remove and integrate into
14542 the existing movqi pattern.
14543 (movhi_push): Likewise.
14544
14545 * reload.c: Fix comment typos.
14546
14547 Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
14548
14549 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
14550
14551 2001-07-23 H.J. Lu (hjl@gnu.org)
14552
14553 * doc/extend.texi: Update __builtin_return_address and
14554 __builtin_frame_address.
14555
14556 2001-07-23 Richard Henderson <rth@redhat.com>
14557
14558 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
14559 before CSE.
14560 * config/i386/i386.md: New setcc+movzbl peephole2.
14561
14562 2001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14563
14564 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
14565 * objc/objc-act.c: Include debug.h.
14566 (synth_module_prologue): Save and restore debug hooks too.
14567
14568 2001-07-23 lars brinkhoff <lars@nocrew.org>
14569
14570 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
14571 and C4X_FLOAT_FORMAT.
14572 (BOOL_TYPE_SIZE): Document.
14573
14574 Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
14575
14576 * unroll.c (loop_iterations): Fix miscalculation of initial
14577 giv offset.
14578
14579 2001-07-13 Andrew Haley <aph@redhat.com>
14580
14581 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
14582 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
14583 * config/sh/sh.c (sh_can_redirect_branch): New function.
14584 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
14585 * reorg.c (steal_delay_list_from_target): Use
14586 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
14587
14588 Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
14589
14590 * flow.c (try_simplify_condjump): Unlink insn chain on
14591 fallthru edge; use can_fallthru.
14592
14593 Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
14594
14595 * basic-block.h (find_sub_basic_block): Declare.
14596 * flow.c (make_edges): New arguments MIN and MAX;
14597 (find_sub_basic_blocks): Revamp to use make_edges
14598 and purge_dead_edges.
14599 (find_basic_blocks): Update call of find_sub_basic_block.
14600
14601 * recog.c (split_all_insns): Always expect CFG to be consistent;
14602 call find_sub_basic_blocks in case something has changed.
14603 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
14604 has been built.
14605
14606 * basic-block.h (delete_noop_moves): Declare.
14607 * combine.c (combine_instructions): Call it.
14608 (recog_for_combine): Tolerate noop moves
14609 (distribute_notes): Force refresh when register dies at noop move.
14610 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
14611 too.
14612 (life_analysis): Update delete_noop_moves call.
14613 (set_noop_p): Move too ...
14614 * rtlanal.c (noop_move_p): ... here.
14615 * rtl.h (noop_move_p): Declare.
14616
14617 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
14618 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
14619 after combine.
14620 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
14621 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
14622
14623 2001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
14624
14625 * reload.c (push_reload): Fix typo in comment.
14626 (find_reloads_address): Ditto.
14627 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
14628
14629 2001-07-22 Richard Henderson <rth@redhat.com>
14630
14631 * flow.c: Grammar check and clarify a lot of comments.
14632 (try_simplify_condjump): Rename variables to be clearer.
14633 (try_forward_edges): Skip complex and fallthru edges.
14634 Rearrange tests to avoid duplicate checks.
14635 (flow_find_cross_jump): Likewise.
14636 (outgoing_edges_match): Allow match if neither branch has
14637 probability data. Loosen probability match to 5%.
14638 (try_crossjump_to_edge): Hoist repeated indirection into
14639 local variables.
14640 (try_crossjump_bb): Don't check complex edges. Eliminate
14641 redundant crossjump tests.
14642 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
14643 checks before more expensive checks.
14644
14645 2001-07-22 Richard Henderson <rth@redhat.com>
14646
14647 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
14648 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
14649 arguments.
14650
14651 2001-07-22 Richard Henderson <rth@redhat.com>
14652
14653 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
14654 (const_sint32_operand): Likewise.
14655 * m68k.md (anon mulsi pattern): Use const_int_operand not
14656 const_sint32_operand.
14657 (umulsi3_highpart): Zero extend a constant input.
14658 (smulsi3_highpart): Don't bother checking SImode constant.
14659 (const_umulsi3_highpart): Give op3 DImode.
14660 (const_smulsi3_highpart): Likewise.
14661
14662 2001-07-22 Richard Henderson <rth@redhat.com>
14663
14664 * flow.c (split_block): Make sure bb_note is included in the
14665 new block when splitting before a label.
14666
14667 Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
14668
14669 * basic-block.h (redirect_edge_and_branch_force,
14670 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
14671 * flow.c (redirect_edge_and_branch_force,
14672 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
14673 (redirect_edge_and_branch_force): Fix copying of lifeness information.
14674 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
14675 * ifcvt.c (dead_or_predictable): Take BB as an new destination
14676 instead of label; update CFG after transformation.
14677 (find_if_case_1): Update call, use redirect_edge_and_branch_force
14678 for finishing the transformation; handle even case where ELSE
14679 does not follow THEN.
14680 (find_if_case_2): Update call of dead_or_predictable; simplify
14681 CFG update.
14682
14683 * emit-rtl.c (split_branch_probability): New global variable.
14684 (try_split): Take care to set split_branch_probability and
14685 create REG_BR_PROB note for new jump insns.
14686 * md.texi (define_split): Document new feature.
14687
14688 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
14689
14690 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
14691
14692 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
14693 (asm_out_file): Remove redundant declaration.
14694 (assemble_asm): Remove old #if 0 block.
14695 (assemble_variable): Remove end of function; debug output is
14696 now handled with global_decl. Remove old #if 0 block. Update.
14697 Remove saved_in_section and associated no-op code.
14698 * Makefile.in (varasm.o): Correct dependencies.
14699
14700 Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
14701
14702 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
14703 the definition in defaults.h.
14704
14705 Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
14706
14707 * jump.c: Update comments.
14708 (delete_barrier_successors, delete_unreferenced_labels,
14709 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
14710 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
14711 jump_optimize, jump_optimize_minimal): Kill.
14712 (rebuild_jump_labels): Move code from jump_optimize_1.
14713 (purge_line_number_notes): Likewise.
14714 (copy_loop_headers): Likewise.
14715 * reg-stack.c: Update comment.
14716 * stmt.c: Likewise.
14717 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
14718 JUMP_AFTER_REGSCAN): Kill.
14719 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
14720 purge_line_number_notes and copy_loop_headers.
14721
14722 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
14723 Richard Henderson <rth@redhat.com>
14724
14725 * dbxout.c (dbxout_global_decl): New.
14726 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
14727 * sdbout.c (sdbout_finish): New.
14728 (sdbout_debug_hooks): Use it, add comments.
14729 (sdbout_global_decl): Defer initialised public vars to
14730 sdbout_finish.
14731 * varasm.c (assemble_variable): Don't output debug information
14732 for file-scope variables.
14733
14734 2001-07-22 Richard Henderson <rth@redhat.com>
14735
14736 * config/alpha/alpha.c (get_trap_mode_suffix): New.
14737 (get_round_mode_suffix): New.
14738 (print_operand): Use them for [/]. Remove support for [&'`()+].
14739 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
14740 * config/alpha/alpha.md (attr round_suffix): New.
14741 (attr trap_suffix): New.
14742 (all insns): Set them appropriately. Use %/ instead of the
14743 myriad punctuators.
14744
14745 2001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14746
14747 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
14748
14749 2001-07-22 Richard Henderson <rth@redhat.com>
14750
14751 * regrename.c (regrename_optimize): Compute nregs for each
14752 potential target register.
14753
14754 2001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
14755 Richard Henderson <rth@redhat.com>
14756
14757 * dbxout.c (dbxout_global_decl): New.
14758 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
14759 * sdbout.c (sdbout_finish): New.
14760 (sdbout_debug_hooks): Use it, add comments.
14761 (sdbout_global_decl): Defer initialised public vars to
14762 sdbout_finish.
14763 * varasm.c (assemble_variable): Don't output debug information
14764 for file-scope variables.
14765
14766 2001-07-21 H.J. Lu (hjl@gnu.org)
14767
14768 * config/mips/mips.c (mips_cpu): Moved into ...
14769 (override_options): Here.
14770
14771 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
14772 mips_tune.
14773 (mips_cpu): Removed.
14774
14775 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14776
14777 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
14778 ("iorqi3"): Likewise.
14779 ("xorqi3"): Likewise.
14780 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
14781 ("*subhi3_sp): Likewise.
14782 ("*subhi3"): Likewise.
14783 ("extendhisi2"): Accept D, X and Y as source operand to avoid
14784 reload problems.
14785
14786 2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
14787
14788 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
14789 * config/freebsd.h: Likewise.
14790 * config/linux.h: Likewise.
14791 * config/openbsd.h: Likewise.
14792 * config/alpha/linux-elf.h: Likewise.
14793 * config/arm/linux-elf.h: Likewise.
14794 * config/d30v/d30v.h: Likewise.
14795 * config/fr30/fr30.h: Likewise.
14796 * config/ia64/aix.h: Likewise.
14797 * config/ia64/ia64.h: Likewise.
14798 * config/mips/linux.h: Likewise.
14799 * config/pj/pj.h: Likewise.
14800 * config/rs6000/linux.h: Likewise.
14801 * config/sparc/linux.h: Likewise.
14802 * config/sparc/linux64.h: Likewise.
14803
14804 2001-07-20 Bruce Korb <bkorb@gnu.org>
14805
14806 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
14807 because getc() and char* may disagree on signedness.
14808
14809 2001-07-20 Richard Henderson <rth@redhat.com>
14810
14811 * doc/rtl.texi (REG_DEAD): Update for current semantics.
14812
14813 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
14814 insns to delete in the presence of cc0 in a jump insn.
14815
14816 Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
14817 Jan Hubicka <jh@suse.cz>
14818
14819 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
14820 of doing the change by hand.
14821
14822 Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
14823
14824 * rtlanal.c (set_noop_p): Return true for noop jumps.
14825
14826 * expr.c (emit_single_push_insn): Add call to push expander.
14827 * expr.h (optab_index): Add OTI_push
14828 (push_optab): New constant.
14829 * genopinit.c (optabs): Add push_optab.
14830 * optabs.c (init_optab): Init push optab.
14831 * md.texi (push??1): Document
14832
14833 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14834
14835 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
14836 expand to emit the pattern; put a REG_INC note for push/pop
14837 instructions.
14838 ("movdf", "movdf_internal"): Likewise.
14839 ("movsi", "movsi_internal"): Likewise.
14840 ("movsf", "movsf_internal"): Likewise.
14841 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
14842
14843 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14844
14845 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
14846 gen_highpart.
14847
14848 2001-07-20 Daniel Berlin <dan@cgsoftware.com>
14849
14850 * params.def: Change default max inline insns to 100.
14851
14852 2001-07-20 Diego Novillo <dnovillo@redhat.com>
14853
14854 * combine.c (combine_simplify_rtx): Generate a new shift operation
14855 when simplifying the first operand of a (neg (ashift)) expression.
14856
14857 2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
14858
14859 * regclass.c (N_REG_INTS): Use only 32 bits per element.
14860
14861 2001-07-20 Kelley Cook <kelley.cook@home.com>
14862
14863 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
14864 information. Move rest into ...
14865 (*-*-solaris): ... here. Eliminate redundant information and
14866 reword necessary packages section. Delete 4.x assembler bug info.
14867 (sparc-sun-*): Merge into ...
14868 (sparc-sun-sunos*): here.
14869
14870 2001-07-20 Catherine Moore <clm@redhat.com>
14871
14872 * config/v850/v850.md (casesi): Generate LABEL_REF
14873 with Pmode.
14874
14875 Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
14876
14877 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
14878 * i386.c (ix86_zero_extend_to_Pmode): Make global.
14879 * i386.md (strclrsi expander): Use it.
14880
14881 Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
14882
14883 * integrate.c (copy_insn_list): handle
14884 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
14885 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
14886 identically as to CODE_LABEL.
14887
14888 * fold-const (fold): Convert A/B/C to A/(B*C) and
14889 A/(B/C) to (A/B)*C
14890
14891 * except.c (connect_post_landing_pads): Delete the RESX insns.
14892
14893 2001-07-20 Aldy Hernandez <aldyh@redhat.com>
14894
14895 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
14896
14897 * config/mips/mips.md (nmadd/nmsub): Use macro.
14898
14899 2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
14900
14901 * cppinit.c (remove_dup_dir): Make static.
14902 (remove_dup_dirs): Make static. Only warn about preempting a
14903 system directory with a non-system directory.
14904
14905 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
14906
14907 * ifcvt.c (noce_try_store_flag_constants): Correct order
14908 of parameters to trunc_int_for_mode.
14909
14910 2001-07-19 Mark Mitchell <mark@codesourcery.com>
14911
14912 * reorg.c (fill_simple_delay_slots): If an instruction might throw
14913 an exception that will be caught within this function, do not fill
14914 its delay slot with any subsequent instruction.
14915
14916 2001-07-19 Steve Ellcey <sje@cup.hp.com>
14917
14918 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
14919 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
14920 pointer extension instruction.
14921 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
14922 * simplify-rtx.c (simplify_unary_operation) Likewise.
14923 * explow.c (convert_memory_address) Check value of
14924 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
14925 less than zero.
14926 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
14927 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
14928 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
14929 Add Multilib Support.
14930 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
14931 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
14932 Add Multilib Support.
14933 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
14934 support.
14935 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
14936 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
14937 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
14938
14939 2001-07-19 Alexandre Oliva <aoliva@redhat.com>
14940
14941 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
14942 old and new operands in `<', `3' and `b'.
14943
14944 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
14945
14946 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
14947 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
14948 (toplev.o): Don't depend on xcoffout.h.
14949 * c-decl.c: Include debug.h
14950 (duplicate_decls): Use debug hook.
14951 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
14952 (dbx_debug_hooks, xcoff_debug_hooks): Update.
14953 (dbxout_types): Remove.
14954 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
14955 * debug.c (do_nothing_debug_hooks): Update.
14956 (debug_true_tree, debug_nothing_rtx): New.
14957 * debug.h (struct rtx_def): New.
14958 (struct gcc_debug_hooks): New hooks ignore_block,
14959 outlining_inline_function and label.
14960 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
14961 dwarf2out_frame_finish): New.
14962 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
14963 Make static, update prototype.
14964 (dwarf2_debug_hooks): Update.
14965 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
14966 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
14967 * dwarfout.c (dwarf_debug_hooks): Update.
14968 * emit-rtl.c: Include debug.h.
14969 (remove_unnecessary_notes): Use debug hook.
14970 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
14971 (final_scan_insn): Use debug hook.
14972 * integrate.c (output_inline_function): Use debug hook.
14973 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
14974 (sdb_debug_hooks): Update.
14975 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
14976 * toplev.c: Don't include xcoffout.h.
14977 (note_outlining_of_inline_function, debug_ignore_block): Remove.
14978 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
14979 Remove.
14980 * tree.h (dwarf2out_do_frame): Remove.
14981
14982 2001-07-19 Catherine Moore <clm@cygnus.com>
14983
14984 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
14985
14986 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
14987
14988 * reload1.c (eliminate_regs_in_insn): When updating a set
14989 to the frame pointer to the hardware frame pointer, perform
14990 the update always not just when REPLACE is set.
14991
14992 * reload1.c (choose_reload_regs): Don't inherit a reload
14993 that crosses multiple registers if registers past the first
14994 don't fit in the desired class.
14995
14996 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
14997 when negating constants.
14998
14999 2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
15000
15001 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
15002 * doc/tree.texi: Ditto.
15003
15004 2001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
15005 Jakub Jelinek <jakub@redhat.com>
15006
15007 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
15008 (extract_cie_info): Handle "eh" augmentation properly,
15009 remember eh_ptr.
15010 (struct frame_state, __frame_state_for): New.
15011
15012 2001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15013
15014 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
15015 HANDLE_SYSV_PRAGMA): Define.
15016 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
15017 previous args.
15018 (copy_object): Caller changed.
15019
15020 2001-07-19 Andreas Schwab <schwab@suse.de>
15021
15022 * configure.in (assembler dwarf2 debug_line support): Define nop
15023 insn for m68k.
15024 * configure: Regenerated.
15025
15026 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15027
15028 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
15029 dwarfout.h.
15030 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
15031 to conditionally compiled block.
15032 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15033 * dbxout.h (dbxout_function): Remove.
15034 * debug.c (do_nothing_debug_hooks): Update.
15035 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
15036 global_decl, deferred_inline_function.
15037 * dwarf2out.c (dwarf2_debug_hooks): Update.
15038 (dwarf2out_global_decl): New.
15039 * dwarfout.c: Don't include dwarfout.h.
15040 (dwarfout_global_decl, dwarfout_function_decl,
15041 dwarfout_deferred_inline_function): New.
15042 (dwarf_debug_hooks): Update.
15043 * dwarfout.h: Remove.
15044 * final.c: Don't include dwarfout.h.
15045 * sdbout.c (sdbout_global_decl): New.
15046 (sdbout_debug_hooks): Update.
15047 * toplev.c: Don't include dwarfout.h.
15048 (check_global_declarations, rest_of_compilation): Use new debug hooks.
15049 (note_deferral_of_defined_inline_function): Remove.
15050 * toplev.h (note_deferral_of_defined_inline_function): Remove.
15051 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
15052 * ch/lex.c: Don't include dwarfout.h.
15053 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
15054 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
15055 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
15056 * cp/optimize.c: Include debug.h.
15057 (maybe_clone_body): Use debug hook.
15058 * cp/semantics.c: Include debug.h.
15059 (expand_body): Use debug hook.
15060 * po/POTFILES.in: Remove dwarfout.h.
15061
15062 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15063
15064 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
15065 * c-parse.in (yyerror, _yylex): Similarly.
15066 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
15067 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
15068 Update comments.
15069 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
15070 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
15071
15072 2001-07-18 Jeff Sturm <jsturm@one-point.com>
15073
15074 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
15075 in-class declaration at -g1. Fixes c++/2814.
15076
15077 2001-07-18 Richard Henderson <rth@redhat.com>
15078
15079 * doc/md.texi (reload_in/out): Document restrictions in predicates
15080 and constraints for these patterns. Document empty string matching
15081 ALL_REGS.
15082
15083 2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15084
15085 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
15086
15087 Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
15088
15089 * cse.c: Undo my previous patch.
15090
15091 2001-07-18 Tom Tromey <tromey@redhat.com>
15092
15093 For PR java/2812:
15094 * configure: Rebuilt.
15095 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
15096 instead.
15097 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
15098
15099 Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
15100 Jan Hubicka <jh@suse.cz>
15101
15102 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
15103 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
15104 * jump.c (mark_jump_label): Do not forward branches.
15105
15106 Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
15107
15108 * cse.c (delete_trivially_dead_insns): Delete the libcall block
15109 when return value is unused.
15110
15111 Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
15112
15113 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
15114
15115 Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
15116
15117 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
15118 on error. We can't blindly return the result of
15119 pthread_mutex_trylock because it returns a positive number on
15120 error, while we must return -1 on error.
15121 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
15122 fixes.
15123 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
15124
15125 2001-07-18 Andreas Jaeger <aj@suse.de>
15126
15127 * integrate.c (output_inline_function): Correct type of debug_hooks.
15128
15129 2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
15130
15131 * combine.c (combine_simplify_rtx): DIV can be treated
15132 associatively for floats if unsafe math optimisations are enabled.
15133
15134 2001-07-17 Richard Henderson <rth@redhat.com>
15135
15136 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
15137
15138 2001-07-17 Richard Henderson <rth@redhat.com>
15139
15140 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
15141 don't force the function address into a register.
15142 (expand_call, emit_library_call_value_1): Update callers.
15143 * builtins.c (expand_builtin_apply): Likewise.
15144 * expr.h (prepare_call_address): Update decl.
15145
15146 2001-07-17 Chandrakala Chavva <cchavva@redhat.com>
15147
15148 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
15149 config directory.
15150 * config/i386/chorus.h: Move up.
15151 * config/sparc/chorus.h: Likewise.
15152 * config/rs6000/chorus.h: Likewise.
15153 * config/chorus.h: Moved here.
15154
15155 2001-07-17 Andreas Schwab <schwab@suse.de>
15156
15157 * configure.in (assembler eh_frame optimization): Handle big
15158 endian.
15159 * configure: Regenerated.
15160
15161 Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
15162
15163 * expr.c (epxand_expr): Convert divisions into multiplications by
15164 reciprocals if -ffast-math.
15165
15166 2001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
15167
15168 * dbxout.c (dbxout_really_begin_function): Rename to
15169 dbxout_begin_function.
15170 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15171 (dbxout_begin_function): Remove.
15172 (dbxout_function): Update.
15173 (dbxout_source_line): Update prototype.
15174 * dbxout.h (dbxout_begin_function): Remove.
15175 * debug.c (do_nothing_debug_hooks): Update.
15176 (debug_nothing_tree): Update.
15177 (debug_nothing_charstar_rtx): Remove.
15178 * debug.h (union tree_node): Declare.
15179 (struct rtx_def): Remove.
15180 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
15181 begin_function. Change source_line prototype.
15182 (debug_nothing_tree): New.
15183 (debug_nothing_charstar_rtx): Delete.
15184 (dwarf2out_begin_prologue): Moved from ...
15185 * tree.h: ... here.
15186 * dwarf2out.c (dwarf2_debug_hooks): Update.
15187 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
15188 debug info, call dwarf2out_source_line.
15189 (dwarf2out_souce_line): Update prototype.
15190 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
15191 Change prototype, make static.
15192 (dwarfout_source_line): Update prototype.
15193 (dwarf_debug_hooks): Update.
15194 * dwarfout.h (dwarfout_begin_function): Remove.
15195 * final.c (final_start_function, final_scan_insn): Use appropriate
15196 debug hooks, update to use notice_source_line.
15197 (output_source_line): Rename notice_source_line. Don't call the
15198 source_line debug hook.
15199 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
15200 make static, update prototype.
15201 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
15202 prototype.
15203 (sdbout_end_prologue): New.
15204 (sdbout_source_line): Update prototype.
15205 (sdbout_debug_hooks): Update.
15206 (sdbout_symbol): Remove unused var.
15207 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
15208 Delete.
15209 * varasm.c: Include debug.h.
15210 (assemble_start_function): Use begin_function debug_hook.
15211 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15212 update with prototype.
15213 (xcoffout_source_line): Update prototype.
15214 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15215 update prototype.
15216 (xcoffout_source_line): Update prototype.
15217
15218 2001-07-17 Richard Henderson <rth@redhat.com>
15219
15220 * c-typeck.c (build_binary_op): Do not shorten unsigned
15221 right shift after sign extension.
15222
15223 Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
15224
15225 * combine.c (combine_simplify_rtx): Attempt to simplify
15226 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
15227
15228 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
15229 (simplify_binary_operation, simplify_unary_operation,
15230 simplify_relational_operation): Use it.
15231
15232 * combine.c (combine_simplify_rtx): Don't do associative law
15233 on divisions; allow associative law on floats.
15234
15235 2001-07-17 H.J. Lu <hjl@gnu.org>
15236 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15237
15238 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
15239 ASM_OUTPUT_WEAK_ALIAS are defined.
15240 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
15241 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
15242 Moved ...
15243 * config/mips/iris5.h: ... here.
15244 (HANDLE_SYSV_PRAGMA): Defined as 1.
15245 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
15246 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
15247 symbol.
15248
15249 2001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
15250
15251 * c-parse.in (all_prefix_attributes): New variable.
15252 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
15253 (maybe_resetattrs): New production.
15254 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
15255 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
15256 notype_initdcl, nested_function, notype_nested_function,
15257 component_decl, components, components_notype,
15258 component_declarator, component_notype_declarator,
15259 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
15260 ivars, mydecl, myparm): Update. Avoid prefix attributes just
15261 after a comma being applied to more than one declarator.
15262 * doc/extend.texi (Attribute Syntax): Update. Remove
15263 documentation of bugs that are no longer present.
15264
15265 2001-07-13 Eric Christopher <echristo@redhat.com>
15266
15267 * config/mips/mips.h: Change TUNE_MIPS* options to use
15268 mips_tune.
15269 (EXTRA_SPECS): Add cc1_cpu_spec.
15270 * config/mips/mips.md (muldf3): Fix typo.
15271
15272 2001-07-16 Richard Henderson <rth@redhat.com>
15273
15274 * config/m68k/m68k.c: Include expr.h and reload.h.
15275 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
15276 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
15277
15278 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
15279 Richard Henderson <rth@redhat.com>
15280
15281 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
15282 (insn_live_p): Fix fall off end of function.
15283 (dead_libcall_p): Remove COUNTS argument; update callers.
15284 (delete_trivially_dead_insns): Remove unused variables.
15285
15286 2001-07-17 Andreas Jaeger <aj@suse.de>
15287
15288 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
15289 x86-64 pic support.
15290
15291 * lcm.c (optimize_mode_switching): Avoid warning for unused
15292 variable if !NORMAL_MODE.
15293
15294 * flow.c (try_crossjump_to_edge): Remove unused variable.
15295
15296 2001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
15297
15298 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
15299 atexit declaration in stdlib.h.
15300
15301 2001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
15302
15303 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
15304
15305 Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
15306
15307 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
15308 * except.c (finish_eh_generation): Update call of cleanup_cfg;
15309 do rebuild_jump_labels instead of jump_optimize
15310 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
15311 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
15312 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
15313
15314 * flow.c: Include timevar.h
15315 (find_basic_block): Push/pop timevar;
15316 (cleanup_cfg): Likewise.
15317 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
15318 * Makefile: Add dependencies on timevar.h
15319
15320 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
15321 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
15322
15323 * rtl.h (delete_trivially_dead_insns): Add new parameter.
15324 * toplev.c (rest_of_compilation): Update calls.
15325 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
15326 (delete_trivially_dead_insns): ... here; accept new argument
15327 preserve_basic_blocks; preserve basic blocks if set.
15328
15329 * reg-stack.c (stack_regs_mentioned): Return 0 if
15330 stack_regs_mentioned_data is not initialized.
15331 (reg_to_stack): Make stack_regs_mentioned survive after the
15332 reg-stack is completted; do not call cleanup_cfg.
15333 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
15334 make cleanup_cfg after bb-reorder to output to debug file.
15335
15336 2001-07-16 Richard Henderson <rth@redhat.com>
15337
15338 * regclass.c (init_reg_sets): Use only 32 bits per initializer
15339 from int_reg_class_contents.
15340
15341 2001-07-16 Richard Henderson <rth@redhat.com>
15342
15343 * hard-reg-set.h (regs_invalidated_by_call): Declare.
15344 * regclass.c (regs_invalidated_by_call): Move from cse.c.
15345 (init_reg_sets_1): Move initialization from cse_main.
15346 * cse.c (regs_invalidated_by_call): Move to regclass.c.
15347 (cse_main): Move its initialization also.
15348 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
15349 * flow.c (propagate_one_insn): Likewise.
15350 * gcse.c (compute_hash_table): Likewise.
15351 (compute_kill_rd, compute_store_table): Likewise.
15352 * sched-deps.c (sched_analyze_1): Likewise.
15353
15354 Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
15355
15356 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
15357 gen_rtx_SET.
15358
15359 2001-07-16 Steve Ellcey <sje@cup.hp.com>
15360
15361 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
15362 in if statement so we don't access undefined memory.
15363
15364 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
15365
15366 * gcse.c: Update comment at top.
15367 Update comment on mem handling.
15368 mem_last_set, mem_first_set, mem_set_in_block: gone.
15369 Declaration of reg_set_info: gone.
15370 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
15371 pointless with load_killed_in_block_p (they are *more*
15372 conservative then it, not less, and less accurate).
15373 (oprs_not_set_p): Ditto.
15374 (alloc_gcse_mem): Don't allocate mem_set_in_block
15375 (free_gcse_mem): Don't free it, either.
15376 (record_last_mem_set_info): Update comment in front, remove
15377 mem_*set_* stuff. Note the reason we don't handle stores directly
15378 here.
15379 (compute_hash_table): Update comments to reflect reality. Remove
15380 mem_*set_* references.
15381 (reset_opr_set_tables): Remove mem_*set_* references.
15382 (mark_call): Ditto.
15383 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
15384 (mark_clobber): Ditto (on both parts, we double set here too).
15385 (expr_killed_p): Remove mem_set_in_block test.
15386 (compute_transp): Remove mem_set_in_block test.
15387
15388 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
15389 of edge, and removal of phi alternative to dump file.
15390 (ssa_ccp_substitute_constants): Add note about register now being
15391 constant, and which uses were replaced in what insns to dump file.
15392
15393 2001-07-16 Andreas Jaeger <aj@suse.de>
15394
15395 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
15396 variables of type HOST_WIDEST_INT.
15397
15398 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
15399 (__bb_exit_func): Correct type of count_max to avoid overflow.
15400 (num_digits): Handle long long argument.
15401
15402 * combine.c (gen_lowpart_for_combine): Remove unused variable.
15403
15404 2001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15405
15406 * output.h (sdb_begin_function_line): Restore as an extern
15407 variable.
15408 * sdbout.c (sdb_begin_function_line): Make extern.
15409
15410 2001-07-15 Richard Henderson <rth@redhat.com>
15411
15412 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
15413 * genrecog.c (maybe_both_true_mode): New.
15414 (maybe_both_true_2): Use it.
15415 (write_switch): Don't put Pmode in a switch.
15416 * rtl.c (mode arrays): Don't explicitly size them.
15417
15418 Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
15419
15420 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
15421 handling; move unconditional splitting before mode switching.
15422
15423 * i386.md (type): Add fistp type.
15424 (i387, length_attr, scheduling definitions): Handle this type.
15425 (fix_trunc?f?i2): Revamp to use mode switching.
15426 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
15427 * i386.h (fp_cw_mode): New enum
15428 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
15429 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
15430
15431 Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15432
15433 * Makefile.in (integrate.o): Add debug.h.
15434 * integrate.c (debug.h): Add.
15435 (output_inline_function): Save, reset, and restore debug_hooks.
15436
15437 2001-07-15 Richard Henderson <rth@redhat.com>
15438
15439 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
15440 instead of COMPARE for the EQUIV expression.
15441
15442 2001-07-15 Richard Henderson <rth@redhat.com>
15443
15444 * flow.c (redirect_edge_and_branch_force): Initialize
15445 global_live_at_start and global_live_at_end.
15446 (allocate_bb_life_data): Export.
15447 * basic-block.h (allocate_bb_life_data): Declare.
15448 * toplev.c (rest_of_compilation): Call it.
15449
15450 2001-07-15 Richard Henderson <rth@redhat.com>
15451
15452 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
15453 (alpha_tablejump_best_label): New.
15454 * config/alpha/alpha-protos.h: Declare them.
15455 * config/alpha/alpha.md: Use braced strings for code blocks.
15456 (tablejump_osf): Break out add with r29.
15457 (tablejump_osf_internal): Remove.
15458 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
15459 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
15460
15461 Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
15462
15463 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
15464 of the movable.
15465
15466 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
15467
15468 * i386-protos.h (ix86_split_fp_branch): Update prototype.
15469 (ix86_fp_jump_nontrivial_p): New.
15470 * i386.md (fp_jcc_?): Update call of split_fp_branch;
15471 use ix86_fp_jump_nontrivial_p.
15472 * i386.c (ix86_fp_jump_nontrivial_p): New.
15473 (ix86_split_fp_branch): Accept code instead of rtx.
15474 (ix86_expand_compare): Expand comparison early in case
15475 doing so is resonably cheap.
15476
15477 2001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
15478
15479 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
15480 not 'machine'.
15481 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
15482 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
15483
15484 2001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
15485
15486 * dbxout.c (dbxout_source_line): Make static, update prototype.
15487 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
15488 (dbxout_init, dbxout_finish, dbxout_source_line,
15489 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
15490 * dbxout.h (dbxout_source_line): Delete.
15491 * debug.c (debug_nothing_file, debug_nothing_file_int,
15492 debug_nothing_file_charstar_rtx): New.
15493 (do_nothing_debug_hooks): Update.
15494 (debug_nothing_void, debug_nothing_charstar_rtx,
15495 dwarf2out_end_epilogue): New.
15496 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15497 * debug.h (struct rtx_def): Declare.
15498 (gcc_debug_hooks): New hooks source_line, end_epilogue
15499 and end_function.
15500 (debug_nothing_void, debug_nothing_charstar_rtx,
15501 dwarf2out_end_epilogue): New.
15502 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
15503 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
15504 (dwarf2_debug_hooks): Update.
15505 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
15506 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
15507 * dwarf2out.h (dwarf2out_source_line): Remove.
15508 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
15509 Make static, update prototype.
15510 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
15511 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
15512 (dwarf_debug_hooks): Update.
15513 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
15514 dwarfout_end_function): Remove.
15515 * final.c (profile_function): Use debug hooks for ending functions
15516 and epilogues.
15517 (output_source_line, final_end_function): Update prototype,
15518 use debug hooks.
15519 (final_start_function, final_scan_insn): Update.
15520 * output.h (sdb_begin_function_line): Remove.
15521 (final_end_function): Update prototype.
15522 * sdbout.c (sdb_begin_function_line): Make static.
15523 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
15524 (sdbout_source_line): New.
15525 (sdbout_end_epilogue, sdbout_end_function): Make static, update
15526 prototypes.
15527 (sdb_debug_hooks): Update.
15528 (sdbout_init, sdbout_source_line,
15529 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
15530 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
15531 * toplev.c (compile_file, rest_of_compilation): Update.
15532 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
15533 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
15534 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
15535 Update for prototype changes.
15536 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
15537 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
15538
15539 2001-07-15 Richard Henderson <rth@redhat.com>
15540
15541 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
15542 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
15543 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
15544 * config/alpha/alpha.c: Likewise.
15545 * config/alpha/alpha.md: Likewise.
15546 * config/alpha/alpha32.h: Likewise.
15547 * config/alpha/vms.h: Likewise.
15548 (OPEN_VMS): Remove.
15549
15550 2001-07-14 Richard Henderson <rth@redhat.com>
15551
15552 * config/alpha/alpha.md: Use define_constants for unspec values.
15553 Substitute throughout.
15554
15555 2001-07-14 Tim Josling <tej@melbpc.org.au>
15556
15557 * tree.def (EXPON_EXPR) remove. Never supported anyway.
15558
15559 2001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
15560
15561 * pa.md: Remove unused constraints from define_split's.
15562
15563 2001-04-14 Richard Henderson <rth@redhat.com>
15564
15565 * ifcvt.c (find_cond_trap): Test for exit block.
15566
15567 Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
15568
15569 Re-install recently reverted patch.
15570 * emit-rtl.c (try_split): Update mark_jump_label call.
15571 * flow.c (find_sub_basic_blocks): Likewise.
15572 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
15573 jump_back_p): Kill.
15574 (mark_all_labels): Kill second parameter.
15575 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
15576 (rebuild_jump_labels, jump_optimize_minimal): Update call
15577 of jump_optimize_1.
15578 (jump_optimize_1): Kill crossjumping code.
15579 (mark_jump_label): Kill cross_jump parameter.
15580 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
15581 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
15582 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
15583 splitting.
15584 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
15585 DFI_bpro.
15586 (dump_file_info): Likewise.
15587 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
15588 reorganize passes to do reg-stack first, bb-reorder second.
15589 * invoke.texi (-d letters doc): Remove the jump2 pass.
15590
15591 2001-07-14 Richard Henderson <rth@redhat.com>
15592
15593 * ifcvt.c (find_cond_trap): New.
15594 (find_if_header): Call it.
15595 (merge_if_block): Relax existing jump sanity check.
15596 * jump.c (jump_optimize_1): Remove conditional trap handling.
15597
15598 2001-07-14 Alan Modra <amodra@bigpond.net.au>
15599
15600 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
15601 millicode.
15602 (insn_refs_are_delayed): Correct comment.
15603 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
15604 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
15605 instead of r31. Make associated insn !TARGET_64BIT, and
15606 provide an additional 64-bit insn that clobbers r2.
15607 (divsi3): Likewise.
15608 (udivsi3): Likewise.
15609 (modsi3): Likewise.
15610 (umodsi3): Likewise.
15611
15612 Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
15613
15614 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
15615
15616 * flow.c (redirect_edge_and_branch_force, split_edge,
15617 try_crossjump_to_edge): Use set_block_for_new_insns.
15618 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
15619
15620 2001-07-13 H.J. Lu (hjl@gnu.org)
15621
15622 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
15623 the correct patch.
15624
15625 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
15626
15627 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
15628
15629 2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
15630
15631 * c-common.c (decl_attributes): Take a pointer to the node to
15632 which attributes are to be attached, and a flags argument.
15633 * c-common.h (enum attribute_flags): New.
15634 (decl_attributes): Update prototype.
15635 * c-decl.c (start_decl, push_parm_decl, finish_struct,
15636 finish_enum, start_function): Update calls to decl_attributes.
15637 * c-parse.in (component_declarator, component_notype_declarator,
15638 label): Update calls to decl_attributes.
15639
15640 Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
15641
15642 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
15643 * config/avr/avr.c (legitimate_address_p): Return value changed
15644 from letter to register classes. For better debugging.
15645
15646 2001-07-13 Kazu Hirata <kazu@hxi.com>
15647
15648 * jump.c (reversed_comparison_code_parts): Fix comment typos.
15649
15650 2001-07-13 H.J. Lu (hjl@gnu.org)
15651
15652 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
15653
15654 2001-07-13 Marc Espie <espie@cvs.openbsd.org>
15655
15656 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
15657 correctly for shared configurations.
15658 * config/t-libgcc-pic: New.
15659 * config/{i386,m68k,sparc}/t-openbsd: New.
15660 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
15661 Support -shared. Support debugging libraries with -g.
15662 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
15663 frame information does not emit pointer diffs.
15664 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
15665 emit pointer diffs.
15666
15667 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
15668
15669 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
15670
15671 2001-07-13 David Edelsohn <edelsohn@gnu.org>
15672
15673 * combine.c (try_combine): Ensure const_int pow2 is positive.
15674
15675 2001-07-13 Hartmut Penner <hpenner@de.ibm.com>
15676
15677 * config.gcc: Add configuration for s/390.
15678 * config/s390/s390.c: New. Subroutines for code generation.
15679 * config/s390/s390.h: New. Definitions for s/390.
15680 * config/s390/s390-protos.h: New. Prototypes.
15681 * config/s390/linux.h: New. Definitions for linux for s/390.
15682 * config/s390/linux64.h: New. Definitions for linux for zSeries.
15683 * config/s390/t-linux: New. Makefile fragment.
15684 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
15685 * config/s390/fixdfdi.h: New. Fix L_fix*di.
15686
15687 Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
15688
15689 * emit-rtl.c (try_split): Update mark_jump_label call.
15690 * flow.c (find_sub_basic_blocks): Likewise.
15691 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
15692 jump_back_p): Kill.
15693 (mark_all_labels): Kill second parameter.
15694 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
15695 (rebuild_jump_labels, jump_optimize_minimal): Update call
15696 of jump_optimize_1.
15697 (jump_optimize_1): Kill crossjumping code.
15698 (mark_jump_label): Kill cross_jump parameter.
15699 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
15700 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
15701 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
15702 splitting.
15703 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
15704 DFI_bpro.
15705 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
15706 reorganize passes to do reg-stack first, bb-reorder second.
15707 * invoke.texi (-d letters doc): Remove the jump2 pass.
15708
15709 2001-07-12 Steve Ellcey <sje@cup.hp.com>
15710
15711 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
15712
15713 Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
15714
15715 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
15716 basic blocks.
15717 (verify_flow_info): Make diagnostics prettier.
15718
15719 Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
15720
15721 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
15722
15723 * flow.c (outgoing_edges_match): Return early if condition reversal
15724 failed.
15725
15726 2001-07-06 Richard Sandiford <rsandifo@redhat.com>
15727
15728 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
15729 (mips_move_2words): When splitting a move into two instructions,
15730 prefix the second address operand with '%D'.
15731
15732 2001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
15733
15734 * Makefile.in (final.o): Depend on debug.h.
15735 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
15736 (dbx_debug_hooks): Add new hooks.
15737 (xcoff_debug_hooks): New.
15738 * debug.c (debug_nothing_file_int_int): New.
15739 (do_nothing_debug_hooks): Update.
15740 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
15741 (debug_nothing_file_int_int): New.
15742 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
15743 static, update prototype.
15744 (dwarf2_debug_hooks): Update.
15745 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
15746 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
15747 static, update prototype.
15748 (dwarf_debug_hooks): Update.
15749 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
15750 * final.c: Include debug.h.
15751 (final_scan_insn): Use debug hooks when beginning and ending blocks.
15752 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
15753 static, update prototype.
15754 (sdb_debug_hooks): Update.
15755 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
15756 * toplev.c: Distinguish between xcoff and dbx.
15757
15758 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
15759 Call all debug hooks, not just dwarf ones.
15760
15761 2001-07-11 Timothy Wall <twall@redhat.com>
15762
15763 * config.gcc: Add configuration for AIX5/IA64.
15764 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
15765 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
15766 support prefix/suffix code.
15767 * config/ia64/t-aix: New. Makefile fragment.
15768 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
15769
15770 2001-07-11 Kazu Hirata <kazu@hxi.com>
15771
15772 * recog.c (validate_change): Fix a comment typo.
15773
15774 2001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
15775
15776 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
15777 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
15778 hooks directly.
15779 * dbxout.c (dbx_debug_hooks): Add new hooks.
15780 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
15781 make static.
15782 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
15783 make static.
15784 * dbxout.h (dbxout_start_new_source_file,
15785 dbxout_resume_previous_source_file): Delete.
15786 * debug.c (do_nothing_debug_hooks): Add new hooks.
15787 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
15788 (debug_nothing_int_charstar, debug_nothing_int): New.
15789 * debug.h (gcc_debug_hooks): New hooks define, undef,
15790 start_source_file and end_source_file.
15791 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
15792 (debug_nothing_int_charstar, debug_nothing_int): New.
15793 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
15794 the conditionally compiled section.
15795 (dwarf2out_start_source_file, dwarf2out_end_source_file,
15796 dwarf2out_define, dwarf2out_undef): Make static.
15797 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
15798 dwarf2out_define, dwarf2out_undef): Remove.
15799 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
15800 (dwarfout_start_source_file, dwarfout_end_source_file,
15801 dwarfout_define, dwarfout_undef): Make static.
15802 (dwarfout_start_source_file_check,
15803 dwarfout_end_source_file_check): New.
15804 (dwarfout_define, dwarfout_finish): Update.
15805 * dwarfout.h (dwarfout_start_new_source_file,
15806 dwarfout_resume_previous_source_file, dwarfout_define,
15807 dwarfout_undef): Remove.
15808 * sdbout.c (sdb_debug_hooks): Add new hooks.
15809 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
15810 make static.
15811 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
15812 make static, take an arg.
15813 * sdbout.h (sdbout_start_new_source_file,
15814 sdbout_resume_previous_source_file): Delete.
15815 * toplev.c (debug_start_source_file, debug_end_source_file,
15816 debug_define, debug_undef): Delete.
15817 * toplev.h (debug_start_source_file, debug_end_source_file,
15818 debug_define, debug_undef): Delete.
15819
15820 * java/jcf-parse.c: Include debug.h.
15821 (parse_class_file): Update to use debug hooks directly.
15822 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
15823
15824 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15825
15826 * alias.c (set_mem_alias_set): New function.
15827 * rtl.h (set_mem_alias_set): Declare it.
15828 * builtins.c (expand_builtin_return_addr): Call it instead of
15829 using MEM_ALIAS_SET accessor.
15830 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
15831 (get_memory_rtx, expand_builtin_va_arg): Likewise.
15832 (expand_builtin_va_copy):Likewise.
15833 * caller-save.c (setup_save_areas): Likewise.
15834 * calls.c (compute_argument_addresses): Likewise.
15835 * explow.c (set_mem_attributes): Likewise.
15836 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
15837 (expand_assignment, store_constructor_field, store_field): Likewise.
15838 (expand_expr_unaligned): Likewise.
15839 * function.c (assign_stack_temp_for_type): Likewise.
15840 (put_reg_into_stack, gen_mem_addressof): Likewise.
15841 * ifcvt.c (noce_try_cmove_arith): Likewise.
15842 * reload1.c (reload, alter_reg): Likewise.
15843 * config/alpha/alpha.c (get_aligned_mem): Likewise.
15844 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
15845 (alpha_expand_unaligned_store): Likewise
15846 (alpha_expand_unaligned_load_words): Likewise.
15847 (alpha_expand_unaligned_store_words): Likewise.
15848 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
15849 (alpha_expand_epilogue): Likewise.
15850 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
15851 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
15852 * config/i386/i386.c (legitimize_pic_address): Likewise.
15853 * config/i960/i960.c (setup_incoming_varargs): Likewise.
15854 * config/ia64/ia64.c (spill_restore_mem): Likewise.
15855 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
15856 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
15857 * config/mips/mips.c (mips_va_arg): Likewise.
15858 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
15859 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
15860 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
15861 (setup_incoming_varargs, rs6000_va_arg): Likewise.
15862 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
15863 (rs6000_emit_epilogue): Likewise.
15864 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
15865 * config/sparc/sparc.c (sparc_va_arg): Likewise.
15866 * config/v850/v850.c (v850_va_arg): Likewise.
15867
15868 Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
15869
15870 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
15871 when fallthru edge is present.
15872 (mege_blocks): Handle case where creation of jump insn
15873 is required.
15874
15875 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
15876 CLEANUP_POST_REGSTACK): New constants.
15877 * except.c (finish_eh_generation): Update call of cleanup_cfg,
15878 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
15879 * output.h (cleanup_cfg): Update prototype.
15880 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
15881 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
15882 cleanup_cfg call; kill missleading comment.
15883 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
15884 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
15885 parameter; control optimizations performed using it.
15886 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
15887 try_crossjump_bb): New functions.
15888
15889 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
15890
15891 * pa.c (pa_output_function_prologue): Delete prototype. Make function
15892 extern.
15893 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
15894 pa_output_function_prologue.
15895 * pa-protos.h (pa_output_function_prologue): New prototype.
15896
15897 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
15898
15899 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
15900 and low to get correct sign extension in low+high test.
15901
15902 2001-07-11 Janis Johnson <janis@us.ibm.com>
15903
15904 * gcov.c (arcdata): Use gcov_type to fix branch percentage
15905 for large hit count.
15906
15907 * profile.c (branch_prob): Fix .bbg info for computed gotos
15908 and C++ EH code.
15909
15910 2001-07-11 Mark Mitchell <mark@codesourcery.com>
15911
15912 * stmt.c (parse_output_constraint): New function, split out
15913 from ...
15914 (expand_asm_operands): ... here. Use parse_output_constraint.
15915 * tree.h (parse_output_constraint): Declare it.
15916
15917 2001-07-11 Richard Henderson <rth@redhat.com>
15918
15919 * bitmap.c: Comment some functions; fiddle whitespace.
15920 (bitmap_free): Don't export.
15921 (bitmap_element_allocate): Use memset.
15922 * bitmap.h (bitmap_free): Don't declare.
15923
15924 2001-07-11 Daniel Berlin <dan@cgsoftware.com>
15925
15926 * gcse.c, lcm.c, sched-deps.c:
15927 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
15928
15929 * flow.c (flow_loops_find): Free dom if we found no loops, since
15930 we aren't going to save it.
15931
15932 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
15933 done.
15934
15935 Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
15936
15937 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
15938
15939 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15940
15941 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
15942 #ifndef DWARF2_DEBUGGING_INFO.
15943
15944 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
15945
15946 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
15947
15948 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
15949
15950 * config/mips/mips.c (gen_int_relational): Tell the caller not to
15951 reverse a branch if a NE comparison is implemented with GTU.
15952
15953 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
15954 H.J. Lu <hjl@gnu.org>
15955
15956 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
15957 constant addresses.
15958 (call_internal2): Likewise.
15959 (call_value_internal1): Likewise.
15960 (call_value_internal2): Likewise.
15961 (call_value_multiple_internal1): Likewise.
15962 (call_value_multiple_internal2): Likewise.
15963
15964 2001-07-10 Kazu Hirata <kazu@hxi.com>
15965
15966 * calls.c (emit_library_call_value_1): Fix a comment typo.
15967 * dwarf2out.c (mem_loc_descriptor): Likewise.
15968 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
15969
15970 2001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
15971
15972 * simplify-rtx.c (simplify_subreg): Fix typo in comment
15973
15974 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15975
15976 * recog.c (offsettable_address_p): Handle LO_SUM case.
15977 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
15978 instead of plus_constant.
15979
15980 2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15981
15982 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
15983 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
15984
15985 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15986
15987 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
15988 adjust_address_nv instead of plus_constant.
15989
15990 2001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
15991
15992 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
15993 dwarf2out.o): Depend on debug.h, wrap long lines.
15994 * dbxout.c: Include debug.h.
15995 (dbx_debug_hooks): New.
15996 (dbxout_init): Make static, take just 2 args.
15997 (dbxout_finish): Make static.
15998 * dbxout.h (dbxout_init, dbxout_finish): Delete.
15999 * debug.c: New file.
16000 * debug.h: New file.
16001 * dwarf2out.c: Include debug.h.
16002 (dwarf2_debug_hooks): New.
16003 (dwarf2out_init): Make static.
16004 (dwarf2out_finish): Make static, take 2 args.
16005 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
16006 * dwarfout.c: Include debug.h.
16007 (dwarf_debug_hooks): New.
16008 (dwarfout_init): Make static.
16009 (dwarfout_finish): Make static, take 2 args.
16010 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
16011 * sdbout.c: Include debug.h.
16012 (sdb_debug_hooks): New.
16013 (sdbout_init): Make static, take 2 args.
16014 * sdbout.h (sdbout_init): Delete.
16015 * toplev.c: Include debug.h.
16016 (debug_hooks): New.
16017 (compile_file): Set deubg_hooks based on command line options.
16018 Use the hooks unconditionally rather than conditional compilation.
16019
16020 Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
16021
16022 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
16023 first_insn_after_basic_block_note instead.
16024
16025 * df.c (df_bb_refs_unlink): #if 0 out for now.
16026
16027 2001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
16028
16029 * ssa.h: Add prototype for ssa_const_prop
16030 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
16031 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
16032 (ssa_fast_dce): Remove unused variable
16033
16034 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16035
16036 * diagnostic.c (finish_diagnostic): Rename to
16037 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
16038 calls thourghout.
16039
16040 2001-07-10 Jason Merrill <jason_merrill@redhat.com>
16041
16042 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
16043 .loc support.
16044
16045 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
16046 (dump_file): Only pad the demangled name with spaces if the
16047 mangled name was padded with spaces.
16048
16049 2001-07-10 Bernd Schmidt <bernds@redhat.com>
16050
16051 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
16052 edge detection.
16053
16054 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16055
16056 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
16057 extraction if no direct load if either EXPAND_CONST_ADDRESS or
16058 EXPAND_INITIALIZER.
16059
16060 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
16061 whether can put offset inside LO_SUM to check mode alignment, not size.
16062
16063 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16064
16065 * doc/tm.texi (Misc): Fix thinko.
16066
16067 2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
16068
16069 * regmove.c (replace_in_call_usage): Fix warnings.
16070 * sched-deps.c (add_dependence): Fix warnings.
16071 * simplify-rtx.c (simplify_subreg): Likewise.
16072 Return NULL_RTX instead of NULL.
16073
16074 * reg-stack.c (emit_swap_insn): Eliminate warnings.
16075 (subst_asm_stack_regs): Likewise.
16076
16077 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
16078 warnings.
16079
16080 * dwarf2out.c (output_call_frame_info): Declare i as int.
16081 (build_abbrev_table): Declare n_alloc as int.
16082 (dwarf2out_finish): Initialize die.
16083 * except.c: Declare sjlj_funcdef_number as unsigned.
16084 (connect_post_landing_pads): Declare j as unsigned.
16085 (convert_to_eh_region_ranges): Initialize call_site.
16086 (output_function_exception_table): Initialize tt_format_size.
16087 * expr.c (move_by_pieces_1): Initialize to1.
16088 (store_constructor): Initialize minelt and maxelt.
16089 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
16090 * function.c (instantiate_decls): Avoid signed/unsigned warning.
16091
16092 * c-decl.c (combine_parm_decls): Unused, remove.
16093 * c-tree.h: Remove prototype for combine_parm_decls.
16094
16095 * reload.c (push_reload): Fix warning.
16096 (regno_clobbered_p): Likewise.
16097 * reload1.c (replace_pseudos_in_call_usage): Likewise.
16098 (reload_combine): Likewise.
16099
16100 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
16101 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
16102 warnings.
16103 * bitmap.c (bitmap_operation): Change user.
16104 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
16105
16106 2001-07-10 Eric Christopher <echristo@redhat.com>
16107
16108 * config/mips/mips.c (override_options): Fix typo.
16109
16110 2001-07-09 Stan Shebs <shebs@apple.com>
16111
16112 * target.h (struct gcc_target): New fields init_builtins and
16113 expand_builtin.
16114 * target-def.h (TARGET_INIT_BUILTINS): New macro.
16115 (TARGET_EXPAND_BUILTIN): New macro.
16116 (TARGET_INITIALIZER): Add them.
16117 * builtins.c: Include target.h.
16118 (expand_builtin): Use targetm.expand_builtin.
16119 (default_init_builtins): New function.
16120 (default_expand_builtin): New function.
16121 * expr.h (default_init_builtins): Declare.
16122 (default_expand_builtin): Declare.
16123 * c-common.c (c_common_nodes_and_builtins): Use
16124 targetm.init_builtins.
16125 * defaults.h (MD_INIT_BUILTINS): Remove.
16126 * Makefile.in (builtins.o): Depend on target.h.
16127
16128 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
16129 (TARGET_EXPAND_BUILTIN): Define.
16130 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
16131 (MD_EXPAND_BUILTIN): Remove.
16132
16133 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
16134 (TARGET_EXPAND_BUILTIN): Define.
16135 (c4x_init_builtins): Make endlink arg a local.
16136 (c4x_print_operand): Fix typos in adjust_address usages.
16137 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
16138 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
16139 (MD_EXPAND_BUILTIN): Remove.
16140
16141 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
16142 (TARGET_EXPAND_BUILTIN): Define.
16143 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
16144 (ix86_init_builtins): Call new function only if TARGET_MMX.
16145 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
16146 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
16147 (MD_EXPAND_BUILTIN): Remove.
16148
16149 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
16150 (TARGET_EXPAND_BUILTIN): Define.
16151 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
16152 (MD_EXPAND_BUILTIN): Remove.
16153
16154 * doc/tm.texi: Document these changes.
16155
16156 2001-07-09 Diego Novillo <dnovillo@redhat.com>
16157
16158 * basic-block.h (tree_node): Forward declare if needed.
16159 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
16160 (BLOCK_HEAD_TREE): Define.
16161 (BLOCK_END_TREE): Define.
16162 (struct loops): Rename field 'tree' to 'tree_root'.
16163 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
16164 'end_tree'.
16165 (flow_loops_tree_build): Rename reference to field 'tree' to
16166 'tree_root'.
16167 (flow_loops_level_compute): Ditto.
16168 * predict.c (estimate_bb_frequencies): Ditto.
16169 * tree.h (struct tree_common): Add field 'aux'.
16170
16171 2001-07-09 Stan Shebs <shebs@apple.com>
16172
16173 * config/darwin.c (darwin_encode_section_info): Don't mark any
16174 DECL_EXTERNAL node as defined.
16175
16176 2001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
16177
16178 * pa.c (pa_init_machine_status, pa_mark_machine_status,
16179 pa_free_machine_status, hppa_init_pic_save): Delete.
16180 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
16181 (hppa_profile_hook): Use hppa_pic_save_rtx.
16182 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
16183 hppa_init_pic_save): Delete.
16184 (hppa_pic_save_rtx): Declare.
16185 * pa.md (call, call_value, sibcall, sibcall_value,
16186 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
16187
16188 2001-07-09 Kazu Hirata <kazu@hxi.com>
16189
16190 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
16191 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
16192
16193 2001-07-09 Andreas Jaeger <aj@suse.de>
16194
16195 * output.h: Add declaration of final_forward_branch_p.
16196
16197 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
16198
16199 * varray.c: Include errors.h for internal_error and trim_filename
16200 declarations.
16201
16202 * Makefile.in (varray.o): Add errors.h.
16203
16204 2001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
16205
16206 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
16207 * optabs.c (have_add2_insn): Check whether the add insn chosen
16208 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
16209 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
16210
16211 Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
16212
16213 * Makefile.in (OBJS): Add ssa-ccp.o
16214 (ssa-ccp.o): Add dependencies.
16215 * toplev.c (DFI_ssa_ccp): New dump file enum.
16216 (dump_file): Add entry for dumping after SSA CCP.
16217 (flag_ssa_ccp): New flag variable.
16218 (f_options): Add -fssa-ccp.
16219 (rest_of_compilation): Run SSA CCP if requested.
16220 * timevar.def (TV_SSA_CCP): New timevar.
16221 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
16222 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
16223 Fix minor typo in SSA DCE documentation.
16224 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
16225 Add documentation for new dump option. Renumber dump files
16226 appropriately.
16227
16228 Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
16229
16230 * emit-rtl.c (gen_highpart_mode): New.
16231 * rtl.h (gen_highpart_mode): Declare.
16232 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
16233 operand can be VOIDmode constant.
16234
16235 Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
16236
16237 * flow.c (redirect_edge_and_branch_force): New.
16238 (can_fallthru): Ensure that basic blocks are succeeding.
16239 (try_optimize_cfg): Do not delete basic block if it is the last one.
16240
16241 * flow.c (try_redirect_by_replacing_jump): Do not remove
16242 jumps with side effects, unlink chain on fallthru edge;
16243 set block for new jump instruction; avoid basic block to
16244 over by line number note.
16245
16246 * flow.c (try_simplify_condjump): Verify that the condjump
16247 is not always falling through.
16248
16249 Re-install patch:
16250 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
16251
16252 * flow.c (forwarder_block_p): Fix for fallthru blocks.
16253 (try_redirect_by_replacing_jump): Update properly the count
16254 and frequency information.
16255
16256 Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16257
16258 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
16259 address that is a LO_SUM specially.
16260 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
16261
16262 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
16263
16264 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
16265 (operand_subword): Use them.
16266 (change_address_1): Renamed from change_address; new arg VALIDATE.
16267 * expr.h: Reflect above changes; change_address now macro.
16268 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
16269 making MEM.
16270 * cselib.c (add_mem_for_addr): Likewise.
16271 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
16272 * regmove.c (try_apply_stack_adjustment): Likewise.
16273 * reload.c (push_reload, make_memloc): Likewise.
16274 * reload1.c (eliminate_regs): Likewise.
16275 * simplify-rtx.c (simplify_replace_rtx): Likewise.
16276 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
16277 adjust_addess.
16278 * combine.c (make_extraction, simplify_shift_const): Likewise.
16279 (gen_lowpart_for_combine): Likewise.
16280 * cse.c (gen_lowpart_if_possible): Likewise.
16281 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
16282 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
16283 * optabs.c (gen_move_insn): Likewise.
16284 * reload1.c (alter_reg): Likewise.
16285 * simplify-rtx.c (simplify_subreg): Likewise.
16286 * stmt.c (expand_anon_union_decl): Likewise.
16287 * recog.c (validate_replace_rtx_1): Likewise.
16288 (expr.h): Include.
16289 * Makefile.in (recog.o): Add $(EXPR_H).
16290 * explow.c (stabilize): Call replace_equiv_address.
16291 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
16292 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
16293
16294 2001-07-03 Andrew Haley <aph@redhat.com>
16295
16296 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
16297 the mode of the memory location.
16298
16299 2001-07-09 Bo Thorsen <bo@suse.co.uk>
16300
16301 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
16302
16303 2001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
16304
16305 * final.c (output_addr_const): Use target opening and
16306 closing parentheses.
16307 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
16308 defaults, add to TARGET_ASM_OUT.
16309 * target.h (struct gcc_target): Add open_paren and close_paren.
16310 * doc/md.texi: Update.
16311 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
16312 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
16313 TARGET_ASM_CLOSE_PAREN.
16314 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16315 Override.
16316 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
16317 Override.
16318 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
16319 * config/a29k/a29k.h: Similarly.
16320 * config/alpha/alpha.h: Similarly.
16321 * config/arc/arc.h: Similarly.
16322 * config/arm/aof.h: Similarly.
16323 * config/arm/aout.h: Similarly.
16324 * config/avr/avr.h: Similarly.
16325 * config/c4x/c4x.h: Similarly.
16326 * config/clipper/clipper.h: Similarly.
16327 * config/convex/convex.h: Similarly.
16328 * config/d30v/d30v.h: Similarly.
16329 * config/dsp16xx/dsp16xx.h: Similarly.
16330 * config/elxsi/elxsi.h: Similarly.
16331 * config/fr30/fr30.h: Similarly.
16332 * config/h8300/h8300.h: Similarly.
16333 * config/i370/i370.h: Similarly.
16334 * config/i386/i386.h: Similarly.
16335 * config/i860/i860.h: Similarly.
16336 * config/i960/i960.h: Similarly.
16337 * config/ia64/ia64.h: Similarly.
16338 * config/m32r/m32r.h: Similarly.
16339 * config/m68hc11/m68hc11.h: Similarly.
16340 * config/m68k/m68k.h: Similarly.
16341 * config/m88k/m88k.h: Similarly.
16342 * config/mcore/mcore.h: Similarly.
16343 * config/mips/mips.h: Similarly.
16344 * config/mn10200/mn10200.h: Similarly.
16345 * config/mn10300/mn10300.h: Similarly.
16346 * config/ns32k/ns32k.h: Similarly.
16347 * config/pa/pa.h: Similarly.
16348 * config/pdp11/pdp11.h: Similarly.
16349 * config/pj/pj.h: Similarly.
16350 * config/romp/romp.h: Similarly.
16351 * config/rs6000/rs6000.h: Similarly.
16352 * config/sh/sh.h: Similarly.
16353 * config/sparc/sparc.h: Similarly.
16354 * config/v850/v850.h: Similarly.
16355 * config/vax/vax.h: Similarly.
16356 * config/we32k/we32k.h: Similarly.
16357
16358 2001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
16359
16360 * doc/c-tree.texi: Document representation of attributes.
16361
16362 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
16363
16364 * doc/tm.texi: Update some places for the rename of target to
16365 targetm. Fix typo.
16366
16367 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
16368
16369 * target.h (struct gcc_target): Add insert_attributes.
16370 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
16371 (TARGET_INITIALIZER): Update.
16372 * tree.c, tree.h (default_insert_attributes): New function.
16373 Update comments on other default functions to refer to targetm,
16374 not target.
16375 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
16376 TARGET_INSERT_ATTRIBUTES.
16377 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
16378 * c-common.c (decl_attributes): Use targetm.insert_attributes.
16379 Don't use PRAGMA_INSERT_ATTRIBUTES.
16380 * Makefile.in (c-common.o): Depend on $(TARGET_H).
16381 * c-decl.c (start_decl, start_function): Don't call
16382 SET_DEFAULT_DECL_ATTRIBUTES.
16383 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16384 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
16385 declare.
16386 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
16387 (c4x_check_attribute): Avoid modifying attribute list itself.
16388 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
16389 Make static.
16390 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
16391 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
16392 declare.
16393 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
16394 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
16395 Make static.
16396 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
16397 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
16398 declare.
16399 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
16400 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
16401 Adjust parameters. Make static.
16402
16403 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
16404
16405 * c-common.c (decl_attributes): Only take a single attributes
16406 parameter.
16407 * c-common.h (decl_attributes): Update prototype.
16408 * c-decl.c (start_decl, start_function): Only take a single
16409 attributes parameter. Update calls to decl_attributes.
16410 (finish_struct, finish_enum): Update calls to decl_attributes.
16411 (push_parm_decl): Expect unified list of attributes. Update call
16412 to decl_attributes.
16413 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
16414 notype_nested_function, component_declarator,
16415 component_notype_declarator, label): Update calls to
16416 decl_attributes.
16417 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
16418 lists that are passed to push_parm_decl.
16419 * c-tree.h (start_function, start_decl): Update prototypes.
16420 * config/sh/sh-protos.h, config/sh/sh.c
16421 (sh_pragma_insert_attributes): Only take a single attributes
16422 parameter.
16423 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
16424 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
16425 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
16426 build_module_descriptor, generate_static_references,
16427 generate_strings, build_selector_translation_table,
16428 generate_descriptor_table, generate_protocols,
16429 generate_ivars_list, generate_dispatch_table,
16430 generate_protocol_list, generate_category,
16431 generate_shared_structures, really_start_method, add_objc_decls,
16432 generate_classref_translation_entry): Update calls to start_decl
16433 and start_function.
16434 (build_tmp_function_decl, start_method_def): Unify attribute lists
16435 that are passed to push_parm_decl.
16436
16437 2001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
16438
16439 * final.c (no_asm_to_stream): New.
16440 (final_scan_insn): Use target structures for prologue ends
16441 and epilogue starts.
16442 * output.h (no_asm_to_stream): New.
16443 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
16444 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
16445 (TARGET_ASM_OUT): Update.
16446 * target.h (struct gcc_target): New members function_end_prologue
16447 and function_begin_epilogue.
16448 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
16449 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
16450 * config/alpha/alpha.c (output_end_prologue): Rename to
16451 alpha_output_function_end_prologue. Use in target struct
16452 and make static.
16453 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
16454 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
16455 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
16456 ia64_output_function_end_prologue. Use in target struct
16457 and make static.
16458 (ia64_function_prologue, ia64_funciton_epilogue): Rename
16459 mistyped prototypes.
16460 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
16461 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
16462 Delete.
16463 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
16464 an use in target struct, make static.
16465 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
16466 Delete.
16467
16468 2001-07-08 Richard Henderson <rth@redhat.com>
16469
16470 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
16471
16472 2001-07-08 Richard Henderson <rth@redhat.com>
16473
16474 * config/i386/i386.md: Remove constraints strings from define_split
16475 and define_peephole2 patterns.
16476 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
16477 (eh_return): Use them.
16478
16479 2001-07-08 Richard Henderson <rth@redhat.com>
16480
16481 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
16482 Document MD_FALLBACK_FRAME_STATE_FOR.
16483
16484 2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16485
16486 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
16487 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
16488 elimination.
16489 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
16490
16491 2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
16492
16493 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
16494 of the label inside NAME as opposed to just the end of NAME.
16495
16496 2001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
16497
16498 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
16499 * config/alpha/alpha.c (alpha_init_machine_status,
16500 alpha_mark_machine_status, alpha_free_machine_status): Delete.
16501 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
16502 (vms_valid_decl_attribute_p): Make static, conditionally compile.
16503 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
16504
16505 2001-07-06 Stan Shebs <shebs@apple.com>
16506
16507 * target.h (targetm): Rename global from "target", so as not to
16508 conflict with local variables.
16509 * c-decl.c: Ditto.
16510 * c-typeck.c: Ditto.
16511 * final.c: Ditto.
16512 * tree.c: Ditto.
16513 * cp/decl.c: Ditto.
16514 * cp/decl2.c: Ditto.
16515 * cp/typeck.c: Ditto.
16516 * 1750a/1750a.c: Ditto.
16517 * a29k/a29k.c: Ditto.
16518 * arc/arc.c: Ditto.
16519 * arm/arm.c: Ditto.
16520 * avr/avr.c: Ditto.
16521 * clipper/clipper.c: Ditto.
16522 * convex/convex.c: Ditto.
16523 * d30v/d30v.c: Ditto.
16524 * dsp16xx/dsp16xx.c: Ditto.
16525 * elxsi/elxsi.c: Ditto.
16526 * fr30/fr30.c: Ditto.
16527 * h8300/h8300.c: Ditto.
16528 * i370/i370.c: Ditto.
16529 * i386/i386.c: Ditto.
16530 * i860/i860.c: Ditto.
16531 * i960/i960.c: Ditto.
16532 * ia64/ia64.c: Ditto.
16533 * m32r/m32r.c: Ditto.
16534 * m68hc11/m68hc11.c: Ditto.
16535 * m68k/m68k.c: Ditto.
16536 * m88k/m88k.c: Ditto.
16537 * mips/mips.c: Ditto.
16538 * ns32k/ns32k.c: Ditto.
16539 * pa/pa.c: Ditto.
16540 * pdp11/pdp11.c: Ditto.
16541 * romp/romp.c: Ditto.
16542 * rs6000/rs6000.c: Ditto.
16543 * sh/sh.c: Ditto.
16544 * sparc/sparc.c: Ditto.
16545 * vax/vax.c: Ditto.
16546 * we32k/we32k.c: Ditto.
16547 * doc/tm.texi: Update the manual to match.
16548
16549 2001-07-06 Richard Henderson <rth@redhat.com>
16550
16551 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
16552 DWARF2_UNWIND_INFO not just whether it is defined.
16553
16554 2001-07-06 Diego Novillo <dnovillo@redhat.com>
16555
16556 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
16557 call to simplify_binary_operation returns a new pattern.
16558
16559 2001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
16560
16561 * glimits.h (__SHRT_MAX__): New.
16562 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
16563 (SHRT_MAX): Define in terms of __SHRT_MAX__.
16564
16565 2001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
16566
16567 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
16568 avoid warnings.
16569
16570 2001-07-06 Richard Henderson <rth@redhat.com>
16571
16572 * bitmap.c (bitmap_release_memory): Move adjacent to the
16573 allocation functions.
16574 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
16575 the implementation. Binary search for the set bit.
16576 (bitmap_union_of_diff): Allocate the temporary on the stack
16577 instead of using xmalloc.
16578
16579 2001-07-06 Richard Henderson <rth@redhat.com>
16580
16581 * genrecog.c (validate_pattern): Warn for constraints in
16582 define_{expand,split,peephole2}. Remove strict_low_part
16583 before looking up match_dup.
16584
16585 2001-07-06 DJ Delorie <dj@redhat.com>
16586
16587 * doc/gcc.texi (Makefile): Rename to be a more general purpose
16588 chapter about various build hints and history. Add section
16589 talking about the various types of native and cross builds.
16590
16591 2001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
16592
16593 * Makefile.in (final.o): Depend on target.h.
16594 * final.c: Include target.h.
16595 (default_function_pro_epilogue): New.
16596 (final_start_function): Use target structure for function prologues.
16597 (final_end_function): Use target structure for function epilogues.
16598 * fold-const.c (real_hex_to_f): Constify s and p.
16599 * output.h (default_function_pro_epilogue): New.
16600 * real.h (real_hex_to_f): Update prototype.
16601 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
16602 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
16603 (TARGET_INITIALIZER): Update.
16604 * target.h (gcc_target): Add struct asm_out.
16605 * doc/tm.texi: Update.
16606
16607 config:
16608 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
16609 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
16610 in cpu/cpu.c, or rename old functions consistently. Take
16611 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
16612 redundant macros and prototypes. Make new functions static.
16613
16614 * 1750a/1750a.c: Similarly.
16615 * 1750a/1750a.h: Similarly.
16616 * a29k/a29k-protos.h: Similarly.
16617 * a29k/a29k.c: Similarly.
16618 * a29k/a29k.h: Similarly.
16619 * arc/arc-protos.h: Similarly.
16620 * arc/arc.c: Similarly.
16621 * arc/arc.h: Similarly.
16622 * arm/arm-protos.h: Similarly.
16623 * arm/arm.c: Similarly.
16624 * arm/arm.h: Similarly.
16625 * avr/avr-protos.h: Similarly.
16626 * avr/avr.c: Similarly.
16627 * avr/avr.h: Similarly.
16628 * clipper/clipper-protos.h: Similarly.
16629 * clipper/clipper.c: Similarly.
16630 * clipper/clipper.h: Similarly.
16631 * convex/convex.c: Similarly.
16632 * convex/convex.h: Similarly.
16633 * d30v/d30v-protos.h: Similarly.
16634 * d30v/d30v.c: Similarly.
16635 * d30v/d30v.h: Similarly.
16636 * d30v/d30v.md: Similarly.
16637 * dsp16xx/dsp16xx-protos.h: Similarly.
16638 * dsp16xx/dsp16xx.c: Similarly.
16639 * dsp16xx/dsp16xx.h: Similarly.
16640 * elxsi/elxsi.c: Similarly.
16641 * elxsi/elxsi.h: Similarly.
16642 * fr30/fr30.c: Similarly.
16643 * fr30/fr30.md: Similarly.
16644 * h8300/h8300-protos.h: Similarly.
16645 * h8300/h8300.c: Similarly.
16646 * h8300/h8300.h: Similarly.
16647 * i370/i370-protos.h: Similarly.
16648 * i370/i370.c: Similarly.
16649 * i370/i370.h: Similarly.
16650 * i386/i386.c: Similarly.
16651 * i386/osf1elf.h: Similarly.
16652 * i386/osfrose.h: Similarly.
16653 * i860/i860-protos.h: Similarly.
16654 * i860/i860.c: Similarly.
16655 * i860/i860.h: Similarly.
16656 * i960/i960-protos.h: Similarly.
16657 * i960/i960.c: Similarly.
16658 * i960/i960.h: Similarly.
16659 * ia64/ia64-protos.h: Similarly.
16660 * ia64/ia64.c: Similarly.
16661 * ia64/ia64.h: Similarly.
16662 * m32r/m32r-protos.h: Similarly.
16663 * m32r/m32r.c: Similarly.
16664 * m32r/m32r.h: Similarly.
16665 * m68hc11/m68hc11-protos.h: Similarly.
16666 * m68hc11/m68hc11.c: Similarly.
16667 * m68hc11/m68hc11.h: Similarly.
16668 * m68k/crds.h: Similarly.
16669 * m68k/dpx2.h: Similarly.
16670 * m68k/m68k-protos.h: Similarly.
16671 * m68k/m68k.c: Similarly.
16672 * m68k/m68k.h: Similarly.
16673 * m68k/news.h: Similarly.
16674 * m88k/m88k-protos.h: Similarly.
16675 * m88k/m88k.c: Similarly.
16676 * m88k/m88k.h: Similarly.
16677 * mips/mips-protos.h: Similarly.
16678 * mips/mips.c: Similarly.
16679 * mips/mips.h: Similarly.
16680 * ns32k/merlin.h: Similarly.
16681 * ns32k/ns32k.c: Similarly.
16682 * ns32k/ns32k.h: Similarly.
16683 * ns32k/tek6000.h: Similarly.
16684 * pa/pa-protos.h: Similarly.
16685 * pa/pa.c: Similarly.
16686 * pa/pa.h: Similarly.
16687 * pdp11/2bsd.h: Similarly.
16688 * pdp11/pdp11-protos.h: Similarly.
16689 * pdp11/pdp11.c: Similarly.
16690 * pdp11/pdp11.h: Similarly.
16691 * romp/romp-protos.h: Similarly.
16692 * romp/romp.c: Similarly.
16693 * romp/romp.h: Similarly.
16694 * rs6000/rs6000-protos.h: Similarly.
16695 * rs6000/rs6000.c: Similarly.
16696 * rs6000/rs6000.h: Similarly.
16697 * rs6000/sysv4.h: Similarly.
16698 * sh/sh-protos.h: Similarly.
16699 * sh/sh.c: Similarly.
16700 * sh/sh.h: Similarly.
16701 * sparc/sparc-protos.h: Similarly.
16702 * sparc/sparc.c: Similarly.
16703 * sparc/sparc.h: Similarly.
16704 * vax/vax.c: Similarly.
16705 * vax/vax.h: Similarly.
16706 * vax/vms.h: Similarly.
16707 * we32k/we32k.c: Similarly.
16708 * we32k/we32k.h: Similarly.
16709
16710 Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
16711
16712 * basic-block.h (first_insn_after_basic_block_note): Declare.
16713 * flow.c (first_insn_after_basic_block_note): Define. Moved
16714 from...
16715 * ssa.c (first_insn_after_basic_block_note): Remove.
16716 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
16717 necessary.
16718 (ssa_eliminate_dead_code): Properly update the CFG and PHI
16719 nodes when we find a dead conditional branch. Insert BARRIERs
16720 after any blocks with no successors, but which do not have
16721 any BARRIERs.
16722
16723 2001-07-06 Zack Weinberg <zackw@stanford.edu>
16724
16725 * varray.c (varray_check_failed): Use internal_error.
16726
16727 2001-07-05 Andrew Haley <aph@redhat.com>
16728
16729 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
16730 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
16731 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
16732
16733 2001-07-02 Jason Merrill <jason_merrill@redhat.com>
16734
16735 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
16736 reference if the target constant is also a SYMBOL_REF.
16737
16738 2001-07-05 Eric Christopher <echristo@redhat.com>
16739
16740 * config/mips/mips.h (MASK_MIPS3900): Remove.
16741 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
16742 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
16743 (TARGET_MIPS3900): Change to use mips_arch.
16744 (TARGET_MIPS4000): New.
16745 (TARGET_MIPS4100): New.
16746 (TARGET_MIPS4300): New.
16747 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
16748 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
16749 for -mipsX.
16750 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
16751 (ISA_HAS_BRANCHLIKELY): To here.
16752 (CC1_CPU_SPEC): New.
16753 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
16754 (mips_arch_string): Declare.
16755 (mips_arch): Declare.
16756 (TARGET_OPTIONS): Add -march and -mtune.
16757
16758 * config/mips/mips.c (mips_arch_string): New.
16759 (mips_arch): New.
16760 (override_options): Handle -march for codegen and -mtune
16761 for scheduling. Use mips_arch. Move tx39 target default here.
16762 (mips_parse_cpu): Move error message to override_options.
16763
16764 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
16765
16766 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
16767
16768 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
16769 (MIPS Options): Ditto. Change mcpu entry to historical text.
16770
16771 2001-07-05 H.J. Lu (hjl@gnu.org)
16772
16773 * config/mips/mips.c (mips_parse_cpu): New function to parse
16774 -march=*/-mcpu=*.
16775
16776 2001-07-05 Jim Wilson <wilson@redhat.com>
16777
16778 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
16779 * config/ia64/t-ia64: Likewise.
16780 (LIB1ASMFUNCS): Update comment.
16781
16782 2001-07-05 David Edelsohn <edelsohn@gnu.org>
16783
16784 * doc/install.texi (Install GCC: Binaries): Fix typo.
16785
16786 2001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16787
16788 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
16789 reference using the stack pointer, adjust it since we push Y
16790 temporarily.
16791 ("*ashrsi3"): Likewise.
16792 ("*lshrsi3"): Likewise.
16793
16794 2001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16795
16796 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
16797 when -fomit-frame-pointer is used.
16798
16799 2001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
16800
16801 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
16802 (try_redirect_by_replacing_jump): Reverse updating properly the
16803 count and frequency information. Reverse removing cc0 setter.
16804 (forwarder_block_p): Reverse fixing for fallthru blocks.
16805
16806 2001-07-05 DJ Delorie <dj@redhat.com>
16807
16808 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
16809 (translate_options): If the above is defined, use it to map
16810 given options to new options.
16811 * doc/tm.texi: Document it.
16812
16813 2001-07-05 Brad Lucier <lucier@math.purdue.edu>
16814 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16815
16816 * doc/invoke.texi (Optimize Options): Document that -fgcse may
16817 cause programs using computed gotos to run more slowly.
16818
16819 2001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
16820
16821 * doc/install.texi (Specific): Markup, spelling and typo fixes.
16822 Fixed sorting.
16823 Consistently require binutils 2.11.2, not prereleases.
16824 (Specific, decstation-*): Canonicalize as mips-dec-*.
16825 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
16826 always necessary.
16827 (Specific, m68k-altos): Removed reference to README.altos, deleted.
16828 (Specific, mips-*): Reword MIPS C compiler requirements.
16829 (Specific, powerpc*-*-*): New, mention --with-cpu once.
16830 (Specific, sunv5): Removed, obsolete.
16831
16832 2001-07-05 Nathan Sidwell <nathan@codesourcery.com>
16833
16834 * dwarf2out.c (output_loc_list): Use an all ones mask for
16835 .text asm output and don't rely on long long
16836 literals. Reformat some long lines.
16837
16838 2001-07-05 Andreas Jaeger <aj@suse.de>
16839
16840 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
16841 section.
16842
16843 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
16844
16845 * dwarf2out.c (dwarf2out_define): Update comment.
16846 (dwarf2out_undef): Ditto.
16847 (dwarf2out_start_source_file): Ditto.
16848 (dwarf2out_end_source_file): Ditto.
16849 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
16850 since we never call the start/end debug hook for the primary file.
16851
16852 2001-07-04 Kazu Hirata <kazu@hxi.com>
16853
16854 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
16855 from shll.
16856
16857 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
16858
16859 * cppinit.c (remove_dup_dirs): Inform if a system include
16860 directory is being reordered.
16861 * doc/invoke.texi (Directory Options): GCC warns if you hide a
16862 system include.
16863 * doc/cpp.texi (Search Paths): Likewise.
16864 * doc/gcc.texi (Interoperation): Remove information about
16865 -I/usr/include.
16866
16867 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
16868
16869 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
16870 (VARRAY_TOP_CHAR_PTR): Likewise.
16871
16872 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16873
16874 * gcc.c (process_command): Don't assign elements of a const char*.
16875
16876 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16877
16878 * emit-rtl.c (change_address): Don't abort if invalid address while
16879 reload is in progress.
16880
16881 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
16882
16883 * c-lex.c (cb_file_change): Pass line number to
16884 debug_start_source_file.
16885 (cb_undefine): Pass correct line number to debug_undef.
16886
16887 * toplev.c (debug_start_source_file): Add line number to
16888 parameters. Pass it along to dwarf2out_start_source_file.
16889 (decode_g_option): Stop resetting debug level back to normal when
16890 we change debug formats, unless the current level is
16891 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
16892 3).
16893
16894 * toplev.h (debug_start_source_file): Add line number to
16895 parameters.
16896
16897 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
16898 parameters.
16899
16900 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
16901 parameters.
16902 Output debug_macinfo data for starting file if requested.
16903 (dwarf2out_end_source_file): Output debug_macinfo data for ending
16904 file if requested.
16905 (dwarf2out_define): Output debug_macinfo data for defining a macro
16906 if requested.
16907 (dwarf2out_undef): Output debug_macinfo data for undefining a
16908 macro if requested.
16909 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
16910 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
16911 (macinfo_section_label): New. DWARF2 macro info section label.
16912 (dwarf2out_init): If we want macro info, output the start label
16913 for the section.
16914 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
16915 attribute to the compilation unit die pointing to the macro info.
16916
16917 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
16918
16919 * dwarf2out.c (new_loc_list): Move to inside #ifdef
16920 DWARF2_DEBUGGING_INFO.
16921 (add_loc_descr_to_loc_list): Ditto.
16922 (output_loc_list): Ditto.
16923 Also, fix thinko in curr not being initialized.
16924 (gen_internal_sym): Ditto.
16925
16926 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16927
16928 * emit-rtl.c (replace_equiv_address): New function.
16929 * expr.h (replace_equiv_address): New declaration.
16930 * explow.c (validize_mem): Call it instead of change_address and
16931 also call if -fforce-addr and address is constant.
16932 * expr.c: Replace more calls to change_address with adjust_address
16933 and/or replace_equiv_address or to validize_mem.
16934 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
16935 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
16936 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
16937 * config/i370/i370.md, config/i860/i860.md: Likewise.
16938 * config/i960/i960.md, config/mips/mips.c: Likewise.
16939 * config/mips/mips.md, config/pa/pa.md: Likewise.
16940 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
16941 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
16942
16943 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
16944
16945 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
16946
16947 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
16948 function.
16949
16950 2001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
16951
16952 * doc/include: New directory.
16953 * doc/fdl.texi: Move to doc/include/fdl.texi.
16954 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
16955 * doc/include/funding.texi, doc/include/gpl.texi: New files.
16956 * doc/gcc.texi: Use funding.texi and gpl.texi.
16957 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
16958 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
16959 Update dependencies and use -I $(docdir)/include.
16960
16961 2001-07-04 Anthony Green <green@redhat.com>
16962
16963 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
16964
16965 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16966
16967 * doc/install.texi (sparc64-*-*): Remove garbage.
16968
16969 Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
16970
16971 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
16972 Fix typo in last change to use adjust_address.
16973
16974 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
16975
16976 * doc/install.texi (Specific): Update information for *-*-solaris*.
16977
16978 Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16979
16980 * explow.c (plus_constant_wide): Reinitialize Y for restart.
16981
16982 2001-07-03 Stan Shebs <shebs@apple.com>
16983
16984 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
16985 case for flag_no_mach_text_sections.
16986 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
16987 * config/darwin.c (flag_no_mach_text_sections): Remove.
16988 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
16989
16990 Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16991
16992 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
16993 and avoid checking for constant as first operand.
16994 * recog.c (find_constant_term_loc): No longer static.
16995 (adj_offettable_operand): Delete.
16996 * rtl.h (adj_offsettable_operand): Delete declaration.
16997 (find_constant_term): Add declaration.
16998 * caller-save.c: Replace calls to adj_offsettable_operand with calls
16999 to adjust_address.
17000 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
17001 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
17002 * config/i386/i386.c, config/i386/i386.md: Likewise.
17003 * config/i860/i860.c, config/i960/i960.c: Likewise.
17004 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
17005 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
17006 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
17007 * config/mips/mips.c, config/mips/mips.md: Likewise.
17008 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
17009 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
17010 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
17011 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
17012 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
17013 * config/ns32k/ns32k.md: Likewise.
17014
17015 2001-07-03 Zack Weinberg <zackw@stanford.edu>
17016
17017 * rtl.c (copy_rtx): Handle 'T' format letter.
17018 * gensupport.c (collect_insn_data): Likewise.
17019 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
17020
17021 2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
17022
17023 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
17024 -B option. Use 'dir' not 'foo' as example directory name.
17025
17026 2001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17027
17028 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17029 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
17030
17031 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
17032
17033 * doc/cppinternals.texi: Improve formatting and logical markup.
17034
17035 2001-07-03 Andreas Jaeger <aj@suse.de>
17036
17037 * Makefile.in (insn-recog.o): Add dependency on reload.h.
17038
17039 * genrecog.c (write_header): Include reload.h for prototypes in
17040 insn-recog.c.
17041
17042 2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
17043
17044 config:
17045 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
17046 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
17047 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
17048 i386_pe_valid_type_attribute_p): Add.
17049 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
17050 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
17051
17052 Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17053
17054 * explow.c (plus_constant_wide, case LO_SUM): New case.
17055 (plus_constant_for_output_wide): Delete.
17056 * rtl.h (plus_constant_for_output): Delete.
17057 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
17058 instead of plus_constant_for_output.
17059 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
17060 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
17061 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
17062 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
17063 * config/sparc/sparc.md: Likewise.
17064 Convert some change_address calls to adjust_address.
17065
17066 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
17067
17068 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
17069 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
17070 documentation of -std and -Wwrite-strings.
17071
17072 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
17073
17074 * cse.c (canon_hash): Don't register registers in very small
17075 register classes, as extending their lifetime might cause
17076 reload to fail.
17077
17078 Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
17079
17080 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17081
17082 * flow.c (forwarder_block_p): Fix for fallthru blocks.
17083 (try_redirect_by_replacing_jump): Update properly the count
17084 and frequency information.
17085
17086 Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
17087
17088 * toplev.c (dump_file_index): Move SSA dumps just after first
17089 jump dump.
17090 (dump_file): Corresponding changes.
17091 (rest_of_compilation): Move SSA path to just after the first
17092 jump pass.
17093 * doc/gcc.texi (Passes): Update due to movement of SSA path.
17094 * doc/invoke.texi: Update dump file #s as they were completely
17095 out of date with reality.
17096
17097 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
17098
17099 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
17100
17101 * expr.c (emit_move_insn_1): Deal with non-default
17102 STACK_PUSH_CODE.
17103
17104 * expr.c (emit_single_push_insn): Fix warning.
17105
17106 2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
17107
17108 * expr.c (emit_move_insn_1): Avoid modifying
17109 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
17110
17111 Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17112
17113 * emit-rtl.c (adjust_address): New function.
17114 * expr.h (adjust_address): Add declaration.
17115 * builtins.c: Replace some calls to change_address with calls to it
17116 or to validize_mem.
17117 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
17118 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
17119 * config/arm/arm.c, config/convex/convex.c: Likewise.
17120 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17121 * config/i386/i386.c, config/i386/i386.md: Likewise.
17122 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
17123 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
17124 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
17125 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
17126 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
17127
17128 2001-07-02 Jim Wilson <wilson@redhat.com>
17129
17130 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
17131
17132 2001-07-02 Steve Ellcey <sje@cup.hp.com>
17133
17134 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
17135 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
17136
17137 2001-07-02 Zack Weinberg <zackw@stanford.edu>
17138
17139 * cppinit.c (lang_defaults): New table.
17140 (set_lang): Just read from lang_defaults into the live options
17141 structure.
17142
17143 2001-07-02 Zack Weinberg <zackw@stanford.edu>
17144
17145 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
17146 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
17147 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
17148
17149 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17150
17151 * doc/install.texi: Various spelling and markup fixes.
17152 (Installing GCC): Component specific installation instructions are
17153 gone.
17154 Fix reference.
17155 Warn about removing old install dir in the presence of shared libs.
17156 (Configuration): Invoke with options target to match configure
17157 --help.
17158 Consistently refer to gas, gld pathnames.
17159 Invert --enable-multilib documentation.
17160 Remove references to old compiler versions.
17161
17162 Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17163
17164 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
17165
17166 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17167
17168 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
17169 section.
17170 (Specific, mips*-sgi-irix5): Note IDO download.
17171 Reworded MIPS C hints.
17172 Use GNU as instead of GAS.
17173 Markup fixes.
17174 Removed SGI Freeware reference, IRIX 6 only.
17175 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
17176 Note N64 library requirement/workaround.
17177 Update O32 hints.
17178 Complete list of structure passing bug victims.
17179
17180 2001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17181
17182 * doc/install.texi: Remove CVS Id.
17183
17184 2001-07-02 Andreas Jaeger <aj@suse.de>
17185
17186 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
17187 (find_inherently_necessary): Remove unused variable.
17188
17189 2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
17190
17191 * c-common.h (TDI_inlined): New ast dump phase.
17192 (dump_flag_name): New function.
17193 * c-dump.c (dump_files): Add inlined phase.
17194 (dump_flag_name): Define.
17195 * doc/invoke.texi (-fdump-ast-inlined): Document.
17196
17197 Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17198
17199 * stor-layout.c (layout_decl): Revert change to handling of alignment
17200 in packed types.
17201
17202 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17203
17204 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
17205 for FIELD_DECL.
17206
17207 2001-07-01 Geoffrey Keating <geoffk@redhat.com>
17208
17209 * doc/tm.texi (FUNCTION_ARG): Document that the last call
17210 is special.
17211
17212 2001-07-01 Nathan Sidwell <nathan@codesourcery.com>
17213
17214 * tlink.c (recompile_files): Remove COMPILER_PATH and
17215 LIBRARY_PATH from the environment.
17216
17217 2001-07-01 Zack Weinberg <zackw@stanford.edu>
17218
17219 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
17220 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
17221 enumerators.
17222 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
17223
17224 * c-parse.in (OBJC_STRING): Kill.
17225 (objc_string): Decompose to [objc_string] '@' STRING.
17226 (reswords): Take the leading '@' off all the Objective C keywords.
17227 (objc_rid_sans_at): Kill.
17228 (init_reswords): Don't initialize it.
17229 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
17230 (_yylex): Kill reconsider label. Look ahead one token after
17231 an '@'; if we get an identifier, check whether it's an
17232 Objective C @-keyword. If so, return the keyword. Otherwise,
17233 put back the token and return the '@' as a terminal.
17234
17235 * cpplib.c (lex_macro_node): Remove unnecessary check for
17236 leading '@' on identifier. Clarify control flow and commentary.
17237
17238 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17239
17240 * cse.c (new_label_ref): Variable deleted.
17241 (insert): Remove set of new_label_ref.
17242 (check_for_label_ref): New function.
17243 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
17244
17245 See ChangeLog.5 for earlier changes.
This page took 0.818032 seconds and 5 git commands to generate.