]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
ec4c7675852b2685a9264f0906e8d2bc709cb8f0
[gcc.git] / gcc / ChangeLog
1 2001-12-16 David O'Brien <obrien@FreeBSD.org>
2
3 * config.gcc (sparc64-*-freebsd*): Add target.
4 * config/sparc/freebsd.h: New file.
5 * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
6 * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
7 * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
8
9 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
10
11 * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
12 PLUS operands into registers for altivec mode.
13
14 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
15
16 * builtins.c (apply_args_size): Change regno to unsigned.
17
18 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
19
20 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
21 ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
22
23 2001-12-16 Zack Weinberg <zack@codesourcery.com>
24
25 * c-typeck.c (error_init, pedwarn_init, warning_init): Call
26 gettext on argument before printing.
27
28 * fold-const.c (negate_expr): Always call fold on new
29 NEGATE_EXPR.
30
31 2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
32
33 * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
34 a DECL directly.
35 * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
36 (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
37 * c-decl.c (build_compound_literal): Put the decl inside a
38 DECL_STMT.
39 * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
40 Fixes PR c/5105.
41
42 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
43
44 * config.gcc: Add powerpc-*-eabisimaltivec*.
45
46 2001-12-16 Neil Booth <neil@daikokuya.demon.co.uk>
47
48 * c-common.c, c-common.h (back_end_hook): Remove.
49 * c-lang.c (finish_file): Remove back_end_hook.
50
51 Sun Dec 16 13:13:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
52
53 * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
54 last change.
55
56 2001-12-16 Richard Henderson <rth@redhat.com>
57
58 * toplev.c (parse_options_and_default_flags): Don't enable
59 flag_cprop_registers at -O1.
60
61 2001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
62
63 * avr.c (avr_simplify_comparision_p, adjust_insn_length,
64 mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
65 * avr.h (reg_class): Likewise.
66 * avr.md: Likewise.
67 * mcore.c (try_constant_tricks, mcore_byte_offset,
68 mcore_halfword_offset): Likewise.
69 * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
70 * v850.c (not_power_of_two_operand): Likewise.
71
72 * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
73 warnings.
74 * convex.h (ASM_OUTPUT_ASCII): Likewise.
75 * i370.h (ASM_OUTPUT_ASCII): Likewise.
76 * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
77 * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
78 * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
79 * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
80 * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
81 * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
82 * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
83 * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
84 * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
85 * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
86 * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
87 * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
88 * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
89 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
90 * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
91 * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
92 * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
93 * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
94 * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
95 * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
96 * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
97 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
98 * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
99 * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
100
101 * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
102 * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
103 * psos.h (CPP_PREDEFINES): Likewise.
104 * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
105 * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
106 ASM_OUTPUT_EXTERNAL): Likewise.
107 * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
108 Likewise.
109 * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
110 * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
111 Likewise.
112 * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
113
114 * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
115 * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
116 * fold-const.c (real_hex_to_f): Use hex_value.
117 * real.c (asctoeg): Use hex_value & ISXDIGIT.
118 * toplev.c (toplev_main): Call hex_init.
119 * tradcpp.c (main): Call hex_init.
120
121 * nextstep-protos.h: New file.
122 * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
123 * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
124 STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
125 (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
126 handle_pragma): Move prototypes to nextstep-protos.h.
127 * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
128 m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
129
130 2001-12-16 Craig Rodrigues <rodrigc@gcc.gnu.org>
131
132 PR other/3725
133 * configure.in: Add AC_SUBST(target_alias).
134 * configure: Regenerated.
135
136 2001-12-15 Richard Henderson <rth@redhat.com>
137
138 * config/alpha/alpha.md (sibcall_osf_1_er): New.
139 (sibcall_value_osf_1_er): New.
140
141 2001-12-15 Dan Nicolaescu <dann@ics.uci.edu>
142
143 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
144 addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
145 addrs; eliminate restriction of only using fp and sp as base
146 registers.
147 * config/sparc/sparc-protos.h: Update.
148 * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
149 (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
150 from old define_peepholes.
151 Convert all the ldd/std peepholes to peephole2.
152
153 2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
154
155 * s390.md (prologue, epilogue, *return_si, *return_di): New.
156 s390.c (find_unused_clobbered_reg, s390_frame_info,
157 save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
158 s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
159 s390.c (s390_arg_frame_offset): Use s390_frame_info.
160 (leaf_function_flag, cur_is_leaf_function,
161 save_fprs, restore_fprs, force_const_mem_late): Remove.
162 (s390_function_prologue, s390_function_epilogue): Mostly remove.
163 s390.md (lit): New. Uses ...
164 s390.c (s390_output_constant_pool): ... this, so adapt and make global.
165 s390-protos.h (s390_output_constant_pool): Declare.
166 s390.md (load_multiple, store_multiple): Allow use after reload.
167 s390.c (load_multiple_operation, store_multiple_operation): Likewise.
168 s390.h (INCOMING_FRAME_SP_OFFSET): Define.
169 s390.h (CALL_REALLY_USED_REGISTERS): Define.
170 config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
171 s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
172 s390.c (s390_sr_alias_set): New global variable, initialized ...
173 (override_options): ... here. New.
174 s390-protos.h (override_options): Declare.
175 s390.h (OVERRIDE_OPTIONS): Call it.
176 s390.c (s390_function_profiler): New.
177 s390-protos.h (s390_function_profiler): Declare.
178 s390.h (FUNCTION_PROFILER): Call it.
179 s390.c (s390_profile): Remove.
180
181 * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
182 (addr_generation_dependency_p): Consider literal pool register loads.
183 (s390_adjust_priority): Do not schedule load_multiple.
184 s390.md (attribute "type"): Define some additional types.
185 (function_unit "integer"): Adapt.
186 (many insns): Adapt "type" attribute setting.
187
188 * s390.c (general_s_operand, s_imm_operand): New.
189 (s_operand): Remove old definition, call general_s_operand instead.
190 s390-protos.h (s_imm_operand): Declare.
191 s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
192 r_or_x_or_im16_operand, r_or_im8_operand): Remove.
193 s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
194 r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
195 s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
196 s390.md (many insns): Rework insn predicates.
197
198 * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
199 non-symbolic constants. Reload will force them because of ...
200 (s390_preferred_reload_class): ... this. New.
201 s390-protos.h (s390_preferred_reload_class): Declare.
202 s390.h (PREFERRED_RELOAD_CLASS): Call it.
203 s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
204 *reload_la_31 splitters): Handle constants after reload.
205 (many insns): no longer force all constants immediately.
206 s390.c (legitimate_reload_constant_p): New helper routine.
207 s390-protos.h (legitimate_reload_constant_p): Declare.
208 s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
209
210 * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
211 HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
212 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
213 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
214 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
215 (DWARF_FRAME_REGISTERS): Define.
216 s390.c (regclass_map): Add virtual frame pointer.
217 (legitimate_la_operand_p): Allow use of virtual frame pointer.
218 s390.md (*la_ccclobber, *addaddr_ccclobber): New.
219 (addaddr, addsi_64): Delete.
220
221 * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
222 floating point registers.
223 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
224 (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
225 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
226
227 * s390.md (movti): Replace multi-insn output with splitters.
228 (movdi_31, movdf_31): Likewise.
229 (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
230 (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
231 (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
232 (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
233 (movsf_64, movsf_31): Remove, replace by ...
234 (movsf): ... this.
235 (movqi_64): Use lhi instead of llill.
236 (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
237
238 * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
239 extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
240 extendqihi2 and associated splitters): Reworked.
241 (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
242 zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
243 zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
244 *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
245 *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
246 zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
247 zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
248 and associated splitters): Likewise.
249 (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
250 and associated splitters): New.
251 (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
252 *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
253 (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
254 s390.h (PROMOTE_PROTOTYPES): Remove.
255 config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
256
257 * s390.md (muldi3): Delete, use instead ...
258 (mulsidi3): ... this.
259 (*muldi3_64): Rename to muldi3.
260 (mulsi_6432): Fix template.
261 (divdi3, moddi3): Delete, replace by ...
262 (divmoddi4): ... this.
263 (divmodtidi3): Fix template.
264 (divmodtisi3): New.
265 (udivdi3, umoddi3): Delete, replace by ...
266 (udivmoddi4): ... this.
267 (udivmodtidi3): Fix template.
268 (divsi3, modsi3): Delete, replace by ...
269 (divmodsi4): ... this.
270 (divmoddisi3): Fix template.
271 (udivsi3, umodsi3): Adapt.
272
273 * s390.md (anddi3): Remove SS alternative, use instead ...
274 (anddi3_ss, anddi3_ss_inv): ... these.
275 (anddi3_ni): New.
276 (andsi3*, andhi3*, andqi3*): Likewise.
277 (iordi3): Remove SS alternative, use instead ...
278 (iordi3_ss, iordi3_ss_inv): ... these.
279 (iordi3_oi): New.
280 (iorsi3*, iorhi3*, iorqi3*): Likewise.
281 (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
282 (xordi3): Remove SS alternative, use instead ...
283 (xordi3_ss, xordi3_ss_inv): ... these.
284 (xordi3_oi): New.
285 (xorsi3*, xorhi3*, xorqi3*): Likewise.
286 (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
287 (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
288 Expand to XOR with -1.
289 (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
290 (cmpdi_tm): Delete, replace by ...
291 (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
292 (cmpsi_cct): Delete, replace by ...
293 (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
294 (cmpdi_tm2, cmpsi_tm2): Improve.
295 (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
296 s390.c (s390_single_hi, s390_extract_hi,
297 s390_single_qi, s390_extract_qi): New helper routines.
298 s390-protos.h (s390_single_hi, s390_extract_hi,
299 s390_single_qi, s390_extract_qi): Declare.
300 s390.c (tmxx_operand, const1_operand): Remove.
301 s390-protos.h (tmxx_operand, const1_operand): Likewise.
302 s390.h (PREDICATE_CODES): Likewise.
303
304 * s390.md (sqrtdf2, sqrtsf2): New.
305
306 * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
307 (check_and_change_labels): Remove section-change special case.
308
309 * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
310 in leaf functions. Needs ...
311 (DYNAMIC_CHAIN_RTX): ... this. New.
312
313 * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
314
315 * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
316 clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
317 input operands using a match_dup clause.
318 (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
319
320 * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
321 floatsisf2, floatsisf2_ieee): Add missing CC clobber.
322
323 * s390.md (floatsidf2_ibm): Use correct operand.
324
325 * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
326 fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
327 non-portable constants.
328 s390.c (s390_gen_rtx_const_DI): New helper routine.
329 s390-protos.h (s390_gen_rtx_const_DI): Declare.
330
331 * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
332
333 * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
334 ASM_OUTPUT_BYTE): Clean up assembly output.
335 (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
336 (ASM_OUTPUT_ASCII): Remove.
337
338 * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
339
340 2001-12-15 Zack Weinberg <zack@codesourcery.com>
341
342 * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
343 before including unwind-dw2-fde.c, if we are not using the
344 special code in this file.
345
346 2001-12-15 Richard Henderson <rth@redhat.com>
347
348 * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
349 MASK_EXPLICIT_RELOCS if the assembler supports it.
350 * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
351 * configure, config.in: Rebuild.
352
353 Sat Dec 15 17:53:03 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
354
355 * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
356 for rounded_stack_size.
357
358 2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
359
360 * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
361 config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
362 toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
363 "bit-field" spellings in messages.
364 * po/gcc.pot: Regenerate.
365
366 2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
367
368 * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
369 American spelling in messages.
370 * po/gcc.pot: Regenerate.
371
372 2001-12-15 Kazu Hirata <kazu@hxi.com>
373
374 * config/h8300/h8300.md: Adjust whitespacing. Remove
375 constraints from expanders. Replace \@ with @.
376
377 2001-12-15 Richard Earnshaw <rearnsha@arm.com>
378
379 * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
380
381 2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
382
383 * regrename.c (copyprop_hardreg_forward): Do not keep register
384 value data live across abnormal call or eh egdes.
385
386 Sat Dec 15 08:29:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
387
388 * expr.c (highest_pow2_factor, case INTEGER_CST): Return
389 BIGGEST_ALIGNMENT for 0.
390
391 Sat Dec 15 14:13:03 CET 2001 Jan Hubicka <jh@suse.cz>
392
393 * predict.def (PRED_NORETURN): Make probabilities match reality.
394 (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
395 Likewise.
396
397 2001-12-15 Jakub Jelinek <jakub@redhat.com>
398
399 * configure.in: Check for ld.
400 (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
401 * configure, config.in: Rebuilt.
402 * config.gcc: Add crtbeginT.o to extra_parts where needed.
403 * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
404 frame unwinding on Linux.
405 * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
406 frame unwinding.
407 * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
408 (LINK_EH_SPEC): Define.
409 * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
410 * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
411 * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
412 iterate further if pc falls into current library, but fde was not
413 found.
414 * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
415 if using glibc.
416 (LINK_EH_SPEC): Define.
417 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
418 Use crtbeginT.o for -static.
419 (LINK_EH_SPEC): Define.
420 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
421 * Makefile.in (crtbeginT.o): Add rule.
422 * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
423 If neither -static-libgcc nor -shared-libgcc is passed and -shared,
424 use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
425 If none of the above switches are passed, use -lgcc -lgcc_eh.
426 (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
427 * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
428 creating libgcc_s.so, put them into separate libgcc_eh.a instead.
429 * unwind-dw2-fde.c: Don't include any headers if this file
430 is included from other .c file.
431 * unwind-dw2-fde-glibc.c: New file.
432 * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
433 Use it instead of EH_FRAME_SECTION_NAME where appropriate.
434
435 2001-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
436
437 * builtins.c (expand_builtin_memcmp): Mark parameter with
438 ATTRIBUTE_UNUSED.
439 * cfgcleanup.c (insns_match_p): Likewise.
440 * regrename.c (mode_change_ok): Likewise.
441 * gcc.c (execute): Const-ify.
442
443 2001-12-14 Aldy Hernandez <aldyh@redhat.com>
444
445 * c-parse.in (typename): Do not split attributes.
446 Remove unsupported attributes warning.
447
448 * c-decl.c (groktypename): Apply attributes.
449
450 2001-12-14 Richard Henderson <rth@redhat.com>
451
452 * config/ia64/ia64.c (spill_restore_mem): Mark iterator
453 initialization as possibly dead.
454
455 2001-12-14 Richard Henderson <rth@redhat.com>
456
457 * regrename.c (mode_change_ok): New.
458 (find_oldest_value_reg): Use it.
459
460 2001-12-14 Richard Henderson <rth@redhat.com>
461
462 * regrename.c (struct value_data): Add max_value_regs.
463 (init_value_data): Initialize it.
464 (kill_value): Kill values that overlap the dying register.
465 (set_value_regno): New.
466 (kill_set_value, kill_autoinc_value, copy_value): Use it.
467 (copyprop_hardreg_forward_1): Kill earlyclobber operands
468 before looking at inputs.
469
470 2001-12-14 David Edelsohn <edelsohn@gnu.org>
471
472 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
473 DECL_WEAK for function descriptors.
474 * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
475 weak support present.
476 (ASM_WEAKEN_LABEL): Same.
477
478 2001-12-14 Kazu Hirata <kazu@hxi.com>
479
480 * config/h8300/h8300.md (anonymous pattern): Add a missing
481 mode.
482
483 2001-12-14 Kazu Hirata <kazu@hxi.com>
484
485 * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
486 comment typo.
487
488 2001-12-14 Kazu Hirata <kazu@hxi.com>
489
490 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
491 Remove the initialization requierment.
492 (h8300_handle_tiny_data_attribute): Likewise.
493
494 2001-12-14 Kazu Hirata <kazu@hxi.com>
495
496 * config/h8300/h8300.md (udivqi3): Remove.
497 (divqi3): Likewise.
498 (udivhi3): Likewise.
499 (divhi3): Likewise.
500 (umodqi3): Likewise.
501 (modqi3): Likewise.
502 (umodhi3): Likewise.
503 (modhi3): Likewise.
504 (udivmodqi3): New.
505 (divmodqi3): Likewise.
506 (udivmodhi3): Likewise.
507 (divmodhi3): Likewise.
508
509 Sat Dec 15 01:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
510
511 * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
512 by active_insn_p; count conditional jump as instruction.
513
514 2001-12-14 DJ Delorie <dj@redhat.com>
515 Danny Smith <dannysmith@users.sourceforge.net>
516
517 * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
518 at SYM_NAME[0] or SYM_NAME[3].
519 (STRIP_NAME_ENCODING): Don't check for leading '*'.
520
521 2001-12-14 Ira Ruben <ira@apple.com>
522
523 Add -### option (displays driver-generated commands without
524 executing and quotes all arguments).
525 * doc/invoke.texi: Add -###.
526 * gcc.c (verbose_only_flag) - New flag.
527 * (execute): If -### write quoted arguments and return.
528 * (display_help): Print meaning of -###.
529 * (process_command): Handle -###.
530
531 2001-12-14 Ira Ruben <ira@apple.com>
532
533 Fix to no allow -save-temps to clobber user's source file.
534 * gcc.c: Add static globals input_stat and input_stat_set.
535 (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
536 set, check that user's input file is not overwritten.
537 (set_input): Reset input_stat_set for each new file.
538
539 Fri Dec 14 22:14:44 CET 2001 Jan Hubicka <jh@suse.cz>
540
541 * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
542
543 2001-12-14 Zack Weinberg <zack@codesourcery.com>
544
545 * combine.c (record_dead_and_set_regs): Use
546 regs_invalidated_by_call. Don't note stores for CALL_INSNs.
547
548 2001-12-14 Roger Sayle <roger@eyesopen.com>
549
550 * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
551 __builtin_fsqrt to __builtin_sqrt.
552
553 * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
554 * doc/extend.texi: Simplify documentation to match patch.
555
556 Fri Dec 14 21:23:54 CET 2001 Jan Hubicka <jh@suse.cz>
557
558 * config.gcc: Revamp target_cpu_default2 to strings;
559 support new x86 variants.
560 * i386.c (override_options): Default x86_cpu_string and x86_arch_string
561 properly; set prefetch_sse.
562 * i386.h (x86_prefetch_sse): Declare.
563 (TARGET_PREFETCH_SSE): New.
564 (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
565 (TARGET_CPU_DEFAULT_*): New.
566
567 Thu Dec 13 21:57:13 CET 2001 Janis Johnson <janis187@us.ibm.com>
568 Jan Hubicka <jh@suse.cz>
569
570 * config/i386/i386.h (struct processor_costs): Add new members
571 prefetch_block and simultaneous_prefetches.
572 (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
573 * config/i386/i386.c (processor_costs structs): Add values for
574 prefetch_block and simultaneous_prefetches.
575 * config/i386/i386.md (unspec values): Remove values for prefetch
576 operations, which now use the PREFETCH rtx code.
577 (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
578 unified prefetch support.
579
580 2001-12-14 Jason Merrill <jason@redhat.com>
581
582 * diagnostic.c (sorry): Increment sorrycount before saving the
583 buffer state.
584
585 Fri Dec 14 19:53:23 CET 2001 Jan Hubicka <jh@suse.cz>
586
587 * i386.md (sqrt?f): Fix conditionals.
588
589 Fri Dec 14 07:29:52 2001 Douglas B. Rupp <rupp@gnat.com>
590
591 * config.gcc (alpha64-dec-*vms*): New case.
592 * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
593 * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
594 * config/alpha/xm-vms64.h: Likewise.
595
596 * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
597 (alpha_write_linkage): Test for null alpha_links.
598 (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
599 (vms_section_type_flags, vms_asm_named_section): Handle them.
600
601 Fri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz>
602
603 * i386.c (ix86_fpmath, ix86_fpmath_string): New.
604 (override_option): Set ix86_fpmath.
605 * i386.h (MASK_MIX_SSE_I387): Remove.
606 (TARGET_SSE_MATH): New.
607 (TARGET_MIX_SSE_I387): Use ix86_fpmath.
608 (TARGET_SWITCHES): Remove "mix-sse-i387".
609 (fpmath_unit): New enum.
610 (ix86_fpmath, ix86_fpmath_string): Declare.
611 * i386.md (swapsf): Fix condition.
612 (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
613 (fp_?f_*_nosse): New.
614 (fp_*): Use TARGET_SSE_MATH.
615 * invoke.texi (-mfpmath): Document.
616 (-msse2): Add.
617
618 2001-12-14 Jason Merrill <jason@redhat.com>
619
620 * dwarf2out.c (output_die): Print the string in the comment for
621 a DW_FORM_strp.
622
623 2001-12-14 Richard Earnshaw <rearnsha@arm.com>
624
625 * netbsd.h (COLLECT_SHARED_INIT_FUNC)
626 (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
627 * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
628 (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
629
630 2001-12-13 Richard Henderson <rth@redhat.com>
631
632 * regrename.c (kill_value_regno): Simplify chain removal.
633 (kill_value): Kill all of HARD_REGNO_NREGS.
634 (kill_set_value): Use kill_value not kill_value_regno.
635 (kill_autoinc_value): Likewise.
636 (copyprop_hardreg_forward): Don't collect refresh_blocks.
637 Call delete_noop_moves.
638
639 2001-12-13 Aldy Hernandez <aldyh@redhat.com>
640
641 * attribs.c (c_common_attribute_table): Swap decl_req and type_req
642 for the mode attribute.
643 (handle_mode_attribute): Handle types, not decls.
644
645 2001-12-13 Jason Merrill <jason@redhat.com>
646
647 * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
648
649 2001-12-13 Aldy Hernandez <aldyh@redhat.com>
650
651 * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
652 constraint to base register.
653 (eh_set_lr_si): Same.
654
655 2001-12-13 Hans-Peter Nilsson <hp@axis.com>
656
657 * expr.c (expand_expr, case ADDR_EXPR): Don't honor
658 flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
659 modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
660
661 Thu Dec 13 20:30:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
662
663 * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
664 warning and reformat comments.
665 (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
666 (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
667 if overflow.
668
669 2001-12-12 Aldy Hernandez <aldyh@redhat.com>
670
671 * config/rs6000/rs6000.c (rs6000_override_options): Add
672 SUBSUBTARGET_OVERRIDE_OPTIONS.
673
674 * config/rs6000/eabialtivec.h: New file.
675
676 * config/rs6000/linuxaltivec.h: New file.
677
678 * config.gcc: Add powerpc-*-eabialtivec and
679 powerpc-*-linux-gnualtivec.
680
681 2001-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
682
683 * toplev.c (process_options, parse_options_and_default_flags):
684 Set flag_no_inline before the post_options hook.
685
686 2001-12-13 Richard Henderson <rth@redhat.com>
687
688 * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
689 is false.
690
691 2001-12-13 Richard Earnshaw <rearnsha@arm.com>
692
693 * collect2.c (COLLECT_SHARED_INIT_FUNC)
694 (COLLECT_SHARD_FINI_FUNC): Define default values.
695 (write_c_file_stat): Use them to call construtor and destructor
696 functions in shared libraries.
697 * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
698 (COLLECT_SHARD_FINI_FUNC): Document them.
699 * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
700 (COLLECT_SHARD_FINI_FUNC): Define.
701
702 * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
703 shared library. Pass -shared through to the linker.
704 * config/arm/netbsd.h (LINK_SPEC): Likewise.
705
706 * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
707 (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
708 (SHLIB_INSTALL): Define.
709
710 2001-12-13 Richard Earnshaw <rearnsha@arm.com>
711
712 * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
713 the same way as we handle SYMBOL_REFS.
714
715 Thu Dec 13 07:47:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
716
717 * loop.c (remove_constant_addition): Fix prototype and whitespace.
718 (emit_prefetch_instructions): Remove warnings and whitespace
719 changes.
720
721 Thu Dec 13 06:48:38 2001 Douglas B. Rupp <rupp@gnat.com>
722
723 * config/alpha/vms-cc.c (preprocess_args): Fix forward
724 declaration.
725
726 Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>
727
728 * predict.c (estimate_probability): Reorganize opcode heuristics.
729 * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
730 PRED_FPOPCODE): New.
731
732 * i386.c (override_options): Recognize various CPU variants and set
733 SSE/MMX/3dNOW flags accordingly.
734 * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
735 MASK_3DNOW_A_SET): New.
736 (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
737 (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
738 (MASK_*): Renumber.
739 (TARGET_FLAGS): Use new masks.
740 (CPP_CPU_SPECS): Recognize new CPU variants.
741 * invoke.texi (-mcpu): Update documentation.
742
743 * flags.h (flag_prefetch_loop_arrays): Declare.
744 * loop.h (LOOP_PREFETCH): Define new constant.
745 * loop.c (strength_reduce): Call emit_prefetch_instructions.
746 (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
747 PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
748 constants.
749 (check_store_data): New structure.
750 (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
751 New functions.
752 * toplev.c: Include insn-flags.h.
753 (flag_prefetch_loop_arrays): New global variable.
754 (lang_independent_option): Add -fprefetch-loop-arrays.
755 (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
756 is set.
757 * Makefile.in (toplev.c): Depend on insn-flags.h.
758 * invoke.texi (-fprefetch-loop-arrays): Document.
759
760 * predict.c (estimate_probability): Distribute the loop exit
761 probability according to number of exit edges.
762
763 * cfgcleanup.c (insns_match_p): Break out from ...;
764 (flow_find_cross_jump): ... here;
765 (outgoing_edges_match): Add parameter MODE; attempt to match everything
766 except for tablejumps.
767 (try_crossjump_to_edge): Accept complex edges.
768 (try_crossjump_bb): Likewise.
769
770 2001-11-29 Corey Minyard <minyard@acm.org>
771
772 * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
773 instead of plus_constant.
774 * simplify-rtx.c (neg_const_int): New.
775 (simplify_gen_binary, simplify_plus_minus): Use it.
776
777 2001-12-12 Roger Sayle <roger@eyesopen.com>
778
779 * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
780 expand_builtin_strcpy): Additional arguments TARGET and MODE.
781 (expand_builtin_bzero, expand_builtin_strcpy,
782 expand_builtin_strncpy, expand_builtin_bzero): Pass additional
783 TARGET and MODE parameters to the above functions.
784 (expand_builtin_memset, expand_builtin_memcpy): Optimize the
785 case where the LEN parameter is constant zero.
786 (expand_builtin_memcmp): No longer conditional on
787 HAVE_cmpstrsi. Take an additional mode parameter. Optimize
788 the cases where len is either constant zero or one.
789 Optimize to call to memcpy, even if the memcpy isn't inlined.
790 (expand_builtin_strncpy): Optimize to call memcpy, even if the
791 memcpy isn't inlined.
792 (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
793 to optimize to a call to memcmp.
794 (expand_builtin): expand_builtin_memcmp can always be called,
795 and pass the required parameters to expand_builtin_memcmp,
796 expand_builtin_memset, expand_builtin_memcpy and
797 expand_builtin_strcpy.
798
799 2001-12-12 David O'Brien <obrien@FreeBSD.org>
800
801 * config.gcc (arm-*-freebsd*): Add target.
802 * config/arm/freebsd.h: New file.
803 * config/arm/arm.h (CPP_PREDEFINES): Do not define.
804 (CPP_SPEC): #undef before defining.
805 (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
806 * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
807 -Amachine=arm.
808 * config/arm/linux-elf.h: Likewise.
809 * config/arm/netbsd.h: Likewise.
810 * config/arm/riscix.h: Likewise.
811 * config/arm/riscix1-1.h: Likewise.
812 * config/arm/semiaof.h: Likewise.
813
814 2001-12-12 Richard Henderson <rth@redhat.com>
815
816 * regrename.c (copyprop_hardreg_forward): New optimization.
817 (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
818 kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
819 replace_oldest_value_reg, replace_oldest_value_addr,
820 replace_oldest_value_mem, copyprop_hardreg_forward_1,
821 debug_value_data, validate_value_data): New.
822 * rtl.h (copyprop_hardreg_forward): Declare.
823 * toplev.c (flag_cprop_registers): New.
824 (f_options): Add -fcprop-registers
825 (rest_of_compilation): Invoke it.
826 (parse_options_and_default_flags): Set it at -O1.
827 * doc/invoke.texi: Document it.
828
829 2001-12-12 Jakub Jelinek <jakub@redhat.com>
830
831 * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
832 (DEBUG_RANGES_SECTION_LABEL): Define.
833 (ranges_section_label): Add.
834 (add_AT_range_list): New.
835 (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
836 (output_loc_list): Location expression length is always 2-byte.
837 (output_die): Handle dw_val_class_range_list.
838 (gen_lexical_block_die): Call add_AT_range_list.
839 (dwarf2out_init): Initialize ranges_section_label.
840 (dwarf2out_finish): Emit ranges_section_label.
841
842 2001-12-12 Jakub Jelinek <jakub@redhat.com>
843
844 * c-typeck.c (digest_init): Allow initializing
845 static storage duration objects with compound literals.
846 * doc/extend.texi (Compound literals): Document the extension.
847
848 2001-12-12 Richard Henderson <rth@redhat.com>
849
850 * emit-rtl.c (adjust_address_1): Always copy address to avoid
851 shared rtl.
852
853 Wed Dec 12 07:37:52 2001 Olivier Hainque <hainque@act-europe.fr>
854
855 * stmt.c (expand_end_case): Do subtraction of lower bound as trees
856 to avoid overflow.
857
858 Wed Dec 12 07:35:24 2001 Douglas B. Rupp <rupp@gnat.com>
859
860 * cppfiles.c (read_include_file): Set buffer size properly when
861 file is shorter than expected.
862
863 Wed Dec 12 08:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
864
865 * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
866 enumeral types - encode them using 'i'.
867
868 2001-12-12 Nathan Sidwell <nathan@codesourcery.com>
869
870 * doc/extend.texi (Deprecated Features): Deprecate implicit
871 typename. Document that named return and initializer lists are now
872 removed.
873
874 2001-12-11 Roger Sayle <roger@eyesopen.com>
875
876 * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
877 compiler warning about enumeration values not being handled.
878
879 2001-12-11 Momchil Velikov <velco@fadata.bg>
880
881 * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
882 shifts.
883
884 2001-12-11 Richard Henderson <rth@redhat.com>
885
886 * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
887 * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
888 * config/alpha/alpha.md (prefetch): New.
889
890 2001-12-11 Richard Henderson <rth@redhat.com>
891
892 * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
893 if C has only low bits set and doesn't intersect with X or Y.
894
895 Tue Dec 11 23:58:39 EST 2001 John Wehle (john@feith.com)
896
897 * basic-block.h (flow_preorder_transversal_compute): Declare.
898 * cfganal.c (flow_preorder_transversal_compute): Implement.
899
900 Tue Dec 11 23:54:27 EST 2001 John Wehle (john@feith.com)
901
902 * cfganal.c (flow_depth_first_order_compute): Always
903 increment dfsnum.
904
905 2001-11-30 Alan Matsuoka <alanm@redhat.com>
906
907 * combine.c (combine_simplify_rtx) : Can't simplify
908 cases that use mode class MODE_CC.
909
910 2001-12-11 Richard Henderson <rth@redhat.com>
911
912 * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
913 which there is no divide expander.
914
915 2001-12-11 Richard Henderson <rth@redhat.com>
916
917 * except.c (sjlj_find_directly_reachable_regions): Don't
918 consider RNL_BLOCKED a directly reachable region.
919 (sjlj_assign_call_site_values): Trust directly_reachable.
920 (sjlj_emit_dispatch_table): Likewise.
921
922 2001-12-11 Richard Henderson <rth@redhat.com>
923
924 * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
925 we represent the address load's dependency on the gp.
926 (divmoddi_internal_er): Likewise.
927 (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
928
929 2001-12-11 Richard Henderson <rth@redhat.com>
930
931 * emit-rtl.c (widen_memory_access): New.
932 * expr.h (widen_memory_access): Declare it.
933 * config/alpha/alpha.c (get_aligned_mem): Use it.
934
935 2001-12-11 Richard Henderson <rth@redhat.com>
936
937 * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
938 simplification above out of range check.
939
940 2001-12-11 Dan Nicolaescu <dann@ics.uci.edu>
941
942 * config/sparc/sparc.md (prefetch): New.
943
944 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
945
946 * output.h (regno_uninitialized): Make argument unsigned.
947
948 * flow.c (regno_uninitialized): Make regno unsigned.
949
950 2001-12-11 David O'Brien <obrien@FreeBSD.org>
951
952 * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
953 * config/cris/cris.h (ENDFILE_SPEC): Define.
954 * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
955 * config/pa/elf.h: Likewise.
956
957 2001-12-11 Richard Henderson <rth@redhat.com>
958
959 * objc/objc-act.c (build_string_class_template): New.
960 (build_objc_string_object): Call it.
961
962 2001-12-11 Steve Ellcey <sje@cup.hp.com>
963
964 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
965 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
966 * calls.c (store_unaligned_arguments_into_pseudos): Check
967 FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
968 are passed/returned.
969 * expr.c (move_block_from_reg): Ditto.
970 (move_block_from_reg): Ditto.
971 (copy_blkmode_from_reg): Ditto.
972 * stmt.c (expand_return): Ditto.
973 * stor-layout.c (compute_record_mode): If
974 FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
975 MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
976 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
977 so that Structures of one field are still treated as structures.
978 (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
979 (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
980 (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
981 * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
982 * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
983 to special case handling of structure padding.
984
985 2001-12-11 Daniel Berlin <dan@cgsoftware.com>
986
987 * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
988 (may_trap_exp): Stores only are risk if they trap, too, not just
989 if code == MEM.
990
991 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
992
993 * flow.c (find_regno_partial): Indent properly. Add a default to
994 switch.
995
996 2001-12-11 Neil Booth <neil@daikokuya.demon.co.uk>
997
998 * c-common.c (combine_strings): Complain if concatenating
999 __FUNCTION__.
1000 * c-parse.in (yylexname): Flag artificial strings.
1001 * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1002 doc:
1003 * extend.texi: Update.
1004
1005 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
1006
1007 * c-common.c (type_for_mode): Handle unsigned vectors.
1008 (type_for_mode): Remove redundant calls to TYPE_MODE.
1009
1010 * tree.c (make_vector): New.
1011 (build_common_tree_nodes_2): Use make_vector for vector types.
1012 Add unsigned vector types.
1013
1014 * tree.h (tree_index): Add unsigned types for vectors.
1015 (unsigned_V16QI_type_node): New.
1016 (unsigned_V4SI_type_node): New.
1017 (unsigned_V8QI_type_node): New.
1018 (unsigned_V8HI_type_node): New.
1019 (unsigned_V4HI_type_node): New.
1020 (unsigned_V2SI_type_node): New.
1021
1022 2001-12-11 Stan Shebs <shebs@apple.com>
1023
1024 * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1025 test of class names.
1026
1027 2001-12-11 David O'Brien <obrien@FreeBSD.org>
1028
1029 * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1030 cpu configuration headers.
1031 * config/h8300/elf.h: Include dbxelf.h.
1032 * config/m68k/linux.h: Likewise.
1033 * config/m68k/m68020-elf.h: Likewise.
1034 * config/m68k/m68kv4.h: Likewise.
1035 * config/sh/elf.h: Likewise.
1036 * config/m68k/m68kemb.h: Add comment about the its purpose.
1037
1038 2001-12-11 Richard Henderson <rth@redhat.com>
1039
1040 * objc/objc-act.c (build_constructor): Cast initializer values
1041 to the proper field types.
1042
1043 2001-12-11 Jakub Jelinek <jakub@redhat.com>
1044
1045 * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1046
1047 2001-12-10 Roger Sayle <roger@eyesopen.com>
1048
1049 * builtins.c (expand_builtin): Use a switch statement to list
1050 those functions not expanded without optimizations, instead of a
1051 series of equality tests.
1052
1053 Tue Dec 11 07:08:57 2001 Douglas B. Rupp <rupp@gnat.com>
1054
1055 * config/alpha/vms.h (LIB_SPEC): Define.
1056 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1057
1058 * libgcc2.c (_bb): Remove ctime declaration.
1059
1060 * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1061 that works if LN_S = cp.
1062
1063 * config/alpha/x-vms (version): Change "." to "_".
1064
1065 * configure.in: Hardcode that vfork works on VMS host.
1066 * configure: Regenerated.
1067
1068 Mon Dec 10 18:37:31 2001 Douglas B. Rupp <rupp@gnat.com>
1069
1070 * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1071 unless do_obj true.
1072 (process_command): Modify calls to convert_filename.
1073
1074 2001-12-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1075
1076 * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1077
1078 Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com)
1079
1080 * combine.c (known_cond): Check mode of each operand to determine
1081 if COND is comparing floating point values.
1082
1083 2001-12-10 David Edelsohn <edelsohn@gnu.org>
1084
1085 * rs6000.h (processor_type): Add PPC405.
1086 (RTX_COSTS): Add PPC405. Correct rs64 and ppc630 multiply costs.
1087 * rs6000.md: Add PPC405 information. Utilize imul2 and imul3 for
1088 rios1, rs64, and ppc630 processors.
1089 * rs6000.c (processor_target_table): Add PPC405.
1090
1091 2001-12-10 Richard Henderson <rth@redhat.com>
1092
1093 * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
1094 instead of hardcoding subregs into the _be and _le patterns.
1095
1096 2001-12-10 Neil Booth <neil@daikokuya.demon.co.uk>
1097
1098 * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
1099
1100 Mon Dec 10 09:19:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1101
1102 * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
1103 what insn does.
1104
1105 2001-12-10 Joseph S. Myers <jsm28@cam.ac.uk>
1106
1107 * doc/cpp.texi: Don't condition menus on @ifinfo. Condition the
1108 copyright notice formerly conditioned on @ifinfo on @ifnottex
1109 instead.
1110
1111 Mon Dec 10 06:15:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1112
1113 * vmsdbgout.c (lookup_filename): Remove warning.
1114
1115 Mon Dec 10 06:09:57 2001 Douglas B. Rupp <rupp@gnat.com>
1116
1117 * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
1118
1119 * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1120 (exeext, target_alias, prefix, local_prefix): Define.
1121 * config/alpha/x-vms (USE_COLLECT2): Make empty.
1122 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
1123 file specifications. Remove ".".
1124 (GCC_INCLUDE_DIR): Remove redefinition (redundant).
1125 * fixinc/mkfixinc.sh (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1126
1127 2001-12-09 Nathan Sidwell <nathan@codesourcery.com>
1128
1129 * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
1130
1131 Sun Dec 9 21:57:24 2001 Douglas B. Rupp <rupp@gnat.com>
1132
1133 * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
1134 Add rules for building [vp]crt0.o
1135 * config/alpha/vms.h (START_FILE_SPEC): Define.
1136 * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
1137 * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
1138 * doc/invoke.texi: Document special Alpha/VMS options.
1139
1140 Sun Dec 9 20:25:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1141
1142 * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
1143 * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
1144 not GNUC.
1145
1146 Sun Dec 9 20:19:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1147 Douglas B. Rupp <rupp@gnat.com>
1148
1149 * tree.c (append_random_char): Conditionalize INO for VMS.
1150
1151 2001-12-09 Richard Henderson <rth@redhat.com>
1152
1153 * cfgcleanup.c (label_is_jump_target_p): New function.
1154 (try_optimize_cfg): Use label_is_jump_target_p to check if label is
1155 target of a JUMP_INSN from the preceding block.
1156
1157 Sun Dec 9 18:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
1158
1159 * vmsdbgout.c (lookup_filename): Assign null string instead
1160 of null pointer to fnam.
1161
1162 2001-12-09 Richard Henderson <rth@redhat.com>
1163
1164 * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
1165 immediately after a call; insert nops before a call.
1166
1167 2001-12-09 Richard Henderson <rth@redhat.com>
1168
1169 * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
1170 not FUNCTION_BOUNDARY.
1171 * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
1172 * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
1173 * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
1174
1175 2001-12-09 Hans-Peter Nilsson <hp@bitrange.com>
1176
1177 * config/mmix/mmix.c (mmix_function_block_profiler,
1178 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1179 unused functions.
1180 * config/mmix/mmix-protos.h (mmix_function_block_profiler,
1181 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1182 prototypes.
1183
1184 * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
1185 Delete obsoleted macros.
1186
1187 2001-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
1188
1189 * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
1190 doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
1191
1192 * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
1193 cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
1194 function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
1195 config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
1196 config/i370/i370.c, config/i386/i386.c,
1197 config/i386/i386-interix.h, config/i386/i386.md,
1198 config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
1199 config/m32r/m32r-protos.h, config/mcore/mcore.h,
1200 config/rs6000/rs6000.h, config/sparc/linux64.h,
1201 config/sparc/sparc.c, config/v850/v850-protos.h,
1202 config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
1203 spelling errors.
1204
1205 2001-12-09 Daniel Berlin <dan@cgsoftware.com>
1206
1207 * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
1208 altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
1209
1210 * config/rs6000/rs6000.c: Ditto.
1211
1212 * config/rs6000/rs6000.md: Ditto.
1213
1214 2001-12-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1215
1216 * 1750a.md: Add default case in switch.
1217 * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1218 if-else statement.
1219 * dsp16xx.c (print_operand_address): Likewise.
1220 * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
1221 * ia64.md: Add missing braces.
1222 * rs6000-protos.h (s8bit_cint_operand): Prototype.
1223 * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1224 if-else statement.
1225 * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
1226 * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
1227 * dbxout.c (dbxout_source_file): Move a variable into the scope
1228 where it is used.
1229 * final.c (profile_function): Mark parameter with
1230 ATTRIBUTE_UNUSED.
1231 * genemit.c (gen_expand): Likewise for generated file.
1232 * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
1233
1234 * vmsdbg.h: Delete spurious close-comment.
1235 (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
1236 * vmsdbgout.c (write_modbeg): Define return type.
1237
1238 * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
1239 * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1240 * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1241 * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
1242 * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
1243 * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
1244 * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
1245
1246 2001-12-08 Tom Rix <trix@redhat.com>
1247
1248 * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
1249 * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
1250 * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
1251 for powerpc64.
1252 * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
1253 movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
1254 * config/rs6000/rs6000.c (expand_block_move): Do not use
1255 gen_movstrsi_2reg and powerpc64.
1256
1257 2001-10-08 Aldy Hernandez <aldyh@redhat.com>
1258
1259 * c-common.h (rid): Add RID_CHOOSE_EXPR and
1260 RID_TYPES_COMPATIBLE_P.
1261
1262 * c-parse.in (reswords): Add __builtin_choose_expr.
1263 Add __builtin_types_compatible_p.
1264 Add CHOOSE_EXPR token.
1265 Add TYPES_COMPATIBLE_P token.
1266 Add production for CHOOSE_EXPR.
1267 Add production for TYPES_COMPATIBLE_P.
1268
1269 * doc/extend.texi (__builtin_choose_expr): Add documentation.
1270 (__builtin_types_compatible_p): Likewise.
1271
1272 2001-12-08 David Edelsohn <edelsohn@gnu.org>
1273
1274 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1275 to unions.
1276
1277 2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
1278
1279 * c-parse.in: Take string literals in assembler constructs,
1280 not expressions.
1281 * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
1282 check the strings are STRING_CSTs.
1283
1284 2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
1285
1286 * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
1287 using combine_strings to do the concatenation.
1288 * c-parse.in: Replace uses of the string non-terminal with STRING.
1289 Don't attempt string concatenation.
1290 (OBJC_STRING): New terminal.
1291 (string): Remove non-terminal.
1292 (_yylex): Call combine_strings on function names. Generate
1293 OBJC_STRING terminals; don't pass '@' on to yacc.
1294 * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
1295 (build_asm_stmt): Similarly.
1296
1297 2001-12-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1298
1299 * rtlanal.c (get_jump_table_offset): Delete unused variable.
1300
1301 2001-12-08 Richard Earnshaw <rearnsha@arm.com>
1302
1303 * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
1304 (prefetch): Rewrite using PREFETCH RTL primitive.
1305 * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
1306 * arm.c (arm_init_builtins): Don't initialize a builtin for
1307 __builtin_prefetch here.
1308 (arm_expand_builtin): Don't expand __builtin_prefetch here.
1309
1310 2001-12-08 Richard Earnshaw <rearnsha@arm.com>
1311
1312 * final.c (cleanup_subreg_operands): Use recog_data.operand_loc
1313 in test for a subreg.
1314
1315 2001-12-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
1316
1317 * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
1318 strings.
1319
1320 2001-12-07 Richard Henderson <rth@redhat.com>
1321
1322 * doc/extend.texi: Fix typo last change.
1323
1324 * c-decl.c (c_language): Remove duplicate.
1325
1326 2001-12-07 Dale Johannesen <dalej@apple.com>
1327
1328 * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
1329 * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
1330 specific codegen, eliminate a register copy.
1331 (print_operand_address): Add support for Darwin's lo16(constant)
1332 syntax.
1333 (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
1334 generation of addresses within very large data objects.
1335 (s8bit_cint_operand): New.
1336 * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
1337 Move "mtjmpr" to correct functional unit for 750/7400/7450.
1338 Add imul2 and imul3 insn types for multiplication by 16- and
1339 8-bit constants.
1340 Change tablejump patterns to strongly discourage using LR
1341 rather than CTR.
1342 Add %lo16 patterns for Darwin loads and stores.
1343
1344 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1345
1346 * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
1347
1348 2001-12-07 Stephane Carrez <Stephane.Carrez@sun.com>
1349
1350 * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
1351 with %sp because it can cause the delayed instruction to load
1352 below the stack.
1353
1354 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1355
1356 * alpha.c (alpha_expand_unaligned_store,
1357 alpha_expand_unaligned_store_words): Use constm1_rtx in place of
1358 call to immed_double_const.
1359
1360 2001-12-07 Aldy Hernandez <aldyh@redhat.com>
1361
1362 * doc/extend.texi (Variable Attributes): Document vector_size.
1363
1364 * attribs.c (c_common_attribute_table): Add vector_size.
1365 (handle_vector_size_attribute): New.
1366 (vector_size_helper): New.
1367 (decl_attributes): Relayout the decl after calculating attribs.
1368
1369 2001-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
1370
1371 * doc/gcc.texi: Don't include install-old.texi. Adjust menu
1372 description for Trouble section.
1373 * doc/install-old.texi: Adjust for inclusion as chapter of new
1374 installation manual.
1375 * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
1376 Adjust to include old installation chapter as chapter of new
1377 installation manual.
1378
1379 Fri Dec 7 11:07:35 EST 2001 John Wehle (john@feith.com)
1380
1381 * rtl.h (get_jump_table_offset): Declare.
1382 * rtlanal.c (get_jump_table_offset): Implement.
1383
1384 Fri Dec 7 07:06:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1385
1386 * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
1387 Deleted; were used only by BB profiler code.
1388 (sbb_head, sbb_tail, sbb_label_num): Likewise.
1389 (end_final): Delete now-unused vars I, PTR, and SPTR.
1390
1391 * expr.c (store_field): Remove warning.
1392 (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
1393 (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
1394 (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
1395 divisor constant power of 2.
1396 (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
1397
1398 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1399
1400 * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
1401 shifting.
1402
1403 2001-12-06 Aldy Hernandez <aldyh@redhat.com>
1404
1405 * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
1406 (DWARF_FRAME_REGISTERS): Delete.
1407
1408 2001-12-06 Janis Johnson <janis187@us.ibm.com>
1409
1410 * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
1411 * builtins.def (BUILT_IN_PREFETCH): Change arguments.
1412 * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
1413 with defaults for read prefetch with high degree of locality.
1414 * doc/extend.texi (__builtin_prefetch): Update documentation.
1415 * doc/md.texi (prefetch): Add documentation.
1416
1417 2001-12-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1418
1419 * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
1420 UNIX V5.1A stdio.h.
1421 * fixinc/fixincl.x: Regenerate.
1422 Fixes PR libf2c/4826.
1423
1424 2001-12-06 Aldy Hernandez <aldyh@redhat.com>
1425 Richard Henderson <rth@redhat.com>
1426
1427 * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
1428 (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
1429
1430 * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
1431 to PRE_GCC3_DWARF_FRAME_REGISTERS.
1432 (frame_state): Same.
1433 (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
1434
1435 2001-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1436
1437 * langhooks.c (lhd_staticp): Mark parameter with
1438 ATTRIBUTE_UNUSED.
1439
1440 2001-12-06 H.J. Lu <hjl@gnu.org>
1441
1442 * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
1443 reduce noise.
1444 (.po.pox): Likewise.
1445 (o/$(PACKAGE).pot): Likewise.
1446
1447 2001-12-06 Alexandre Oliva <aoliva@redhat.com>
1448
1449 * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
1450 * tree-inline.c (expand_call_inline): ... here.
1451
1452 2001-12-06 H.J. Lu <hjl@gnu.org>
1453
1454 * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
1455 (.po.pox): Likewise.
1456 (o/$(PACKAGE).pot): Likewise.
1457
1458 2001-12-06 David O'Brien <obrien@FreeBSD.org>
1459
1460 * config.gcc: Include dbxelf.h before elfos.h.
1461 * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
1462
1463 2001-12-06 Zack Weinberg <zack@codesourcery.com>
1464
1465 * cppfiles.c (open_file): If we've opened a directory by
1466 mistake, close it.
1467 (find_include_file): Avoid turning / into // or // into ///.
1468
1469 2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
1470
1471 * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
1472 (STRUCT_VALUE_REGNUM): Restore definition.
1473
1474 2001-12-06 Andrew MacLeod <amacleod@redhat.com>
1475
1476 * flow.c (find_regno_partial): Return register, not the expression
1477 the register is in.
1478
1479 Thu Dec 6 09:24:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1480
1481 * function.c (handle_epilogue_set): Check for FP setting case when
1482 SP is set from FP in same insn.
1483
1484 2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
1485
1486 * config/arm/arm.c (load_multiple_sequence): Pass pointer to
1487 RTX when calling alter_subreg().
1488 (store_multiple_sequence): Pass pointer to RTX when calling
1489 alter_subreg().
1490
1491 Thu Dec 6 06:55:13 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1492
1493 * function.c (assing_parms): Fix typo in last change.
1494 * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
1495 * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
1496 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1497 * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
1498
1499 2001-12-06 Alan Modra <amodra@bigpond.net.au>
1500
1501 * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
1502 correct code selecting section.
1503
1504 Thu Dec 6 12:45:33 CET 2001 Jan Hubicka <jh@suse.cz>
1505
1506 * final.c (count_basic_block, add_bb, add_bb_string):
1507 Kill.
1508 (end_final, final_start_function, final, final_scan_insn,
1509 leaf_function_p): Kill BB profiler related code.
1510 * flags.h (profile_block_flag): Kill.
1511 * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
1512 BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
1513 __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
1514 bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
1515 reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
1516 __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
1517 __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
1518 __bb_init_trace_func): Kill.
1519 * toplev.c (profile_block_flag): Kill.
1520 (indepdendent_decode_option, process_options): Kill -a related code.
1521 * alpha.c (direct_call_operand): Likewise.
1522 * arm.c (arm_expand_prologue, thumb_expand_prologue,
1523 thumb_expand_epilogue): Likewise.
1524 * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
1525 * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1526 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1527 MACHINE_STATE_RESTORE): Kill.
1528 * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1529 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1530 MACHINE_STATE_RESTORE): Kill.
1531 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1532 * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
1533 ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
1534 code.
1535 (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
1536 * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1537 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1538 MACHINE_STATE_RESTORE): Kill.
1539 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1540 * i960.c (i960_output_function_prologue): Kill BB profiler related
1541 code.
1542 * ia64.c (ia64_compute_frame_size): Likewise.
1543 * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1544 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1545 MACHINE_STATE_RESTORE): Kill.
1546 * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
1547 * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1548 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1549 MACHINE_STATE_RESTORE): Kill.
1550 * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
1551 * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1552 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1553 MACHINE_STATE_RESTORE): Kill.
1554 * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
1555 Kill BB profiler related code.
1556 * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1557 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1558 MACHINE_STATE_RESTORE): Kill.
1559 * mips.c (mips_expand_prologue): Kill BB profiler related code.
1560 * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1561 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1562 MACHINE_STATE_RESTORE): Kill.
1563 * rs6000.c (rs6000_override_options): Kill BB profiler related code.
1564 * s960.c (s390_function_prologue): Kill BB profiler related code.
1565 * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1566 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1567 MACHINE_STATE_RESTORE): Kill.
1568 * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1569 * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1570 * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1571 * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1572 * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
1573 sparc_nonflat_function_epilogue): Kill BB profiler related code.
1574 (sparc_function_block_profiler, sparc_block_profiler,
1575 sparc_function_block_profiler_exit): Kill.
1576 * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
1577 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1578 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1579 MACHINE_STATE_RESTORE): Kill.
1580 * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1581 * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1582 * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1583 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1584 MACHINE_STATE_RESTORE): Kill.
1585 * doc/invoke.texi: Kill documentation of -a and -ax.
1586 * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1587 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1588 MACHINE_STATE_RESTORE): Kill.
1589
1590 2001-10-26 Steve Christiansen <smc@us.ibm.com>
1591
1592 * doc/rtl.texi: Use a table to display RTL format characters.
1593
1594 2001-12-06 Bo Thorsen <bo@suse.co.uk>
1595
1596 * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
1597
1598 Wed Dec 5 19:18:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1599
1600 * function.c (keep_stack_depressed): Check global_live_at_start
1601 of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
1602
1603 2001-12-05 David O'Brien <obrien@FreeBSD.org>
1604
1605 * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
1606 as set by the generic FreeBSD configure framework.
1607
1608 2001-12-04 Jason Merrill <jason@redhat.com>
1609
1610 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1611 start_inlining, end_inlining.
1612 * tree-inline.c (expand_call_inline): Call them.
1613 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
1614 (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
1615 (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
1616 * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
1617 (lhd_tree_inlining_end_inlining): New fn.
1618
1619 2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
1620
1621 * c-common.c (shadow_warning): New function, moved from cp/decl.c.
1622 * c-common.h (shadow_warning): New.
1623 * c-decl.c: Include c-common.h.
1624 (warn_if_shadowing): New, broken out of pushdecl.
1625 (pushdecl): Use warn_if_shadowing.
1626 (store_parm_decls): Prevent duplicate -Wshadow warnings.
1627
1628 Wed Dec 5 17:59:19 2001 Douglas B. Rupp <rupp@gnat.com>
1629
1630 * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
1631 (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
1632 (LIB_SPEC): Remove.
1633
1634 Wed Dec 5 16:03:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1635
1636 * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
1637 (QUAL_UNION_TYPE): New type.
1638
1639 * varasm.c (output_constant, case ERROR_MARK): New case.
1640
1641 * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
1642 (c_com): Delete its reference.
1643 * builtins.c: Delete memory checking code.
1644 * calls.c, expr.c, function.c, stmt.c: Likewise.
1645 * builtins.c (expand_builtin_arg_info): Remove reference to
1646 EXPAND_MEMORY_USE_* modifiers.
1647 * explow.c (expr_size): Likewise.
1648 * expr.c (expand_expr, expand_increment): Likewise.
1649 * expr.h (ARGS_SIZE_RTX): Likewise.
1650 * function.c (assign_parms, expand_pending_sizeso): Likewise.
1651 * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
1652 * expr.c (in_check_memory_usage): Delete.
1653 (get_push_address, get_memory_usage_from_modifier): Delete.
1654 (expand_assigment): Use EXPAND_WRITE on destination.
1655 (expand_expr): Delete ro_modifier.
1656 * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
1657 add EXPAND_WRITE.
1658 (memory_use_mode): Delete.
1659 * flags.h (flag_check_memory_usage): Deleted.
1660 (flag_prefix_function_name): Likewise.
1661 * function.c (expand_function_start): Don't set
1662 current_function_check_memory_usage.
1663 * function.h (check_memory_usage): Delete.
1664 * libfuncs.h, optabs.c: Delete chkr_* stuff.
1665 * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
1666 EXPAND_WRITE.
1667 * toplev.c (flag_check_memory_usage): Deleted.
1668 (flag_prefix_function_name): Likewise.
1669 (f_options, process_options): Delete references to above.
1670 * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
1671 * varasm.c (CHKR_PREFIX): Deleted.
1672 (make_decl_rtl): Remove flag_prefix_function_name handling.
1673 (assemble_name): Likewise.
1674 * doc/extend.texi: Remove no_check_memory_usage attribute.
1675 * doc/invoke.texi: Remove -fcheck-memory-usage
1676 and -fprefix-function-name.
1677
1678 2001-12-05 Andreas Schwab <schwab@suse.de>
1679
1680 * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
1681 from autoconf.
1682
1683 2001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
1684
1685 * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
1686
1687 2001-12-05 William Cohen <wcohen@redhat.com>
1688
1689 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
1690 instruction.
1691
1692 2001-12-05 Daniel Berlin <dan@cgsoftware.com>
1693
1694 * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
1695 builtins.
1696
1697 * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
1698 better reflect reality (change from Apple's tree).
1699 Add more of altivec instructions.
1700 Add ftruncv4sf2 pattern.
1701 Remove more unspecs (vector merge instructions, etc).
1702
1703 * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
1704 builtins.
1705 (bdesc_1arg): New, for 1 argument altivec builtins.
1706 (altivec_expand_builtin): Handle unary and ternary ops.
1707 (altivec_init_builtins): Ditto.
1708
1709 Wed Dec 5 09:33:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1710
1711 * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
1712 * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
1713
1714 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1715
1716 * gcse.c (store_killed_in_insn): Consider pure calls
1717 as potential store killers in addition to normal calls.
1718
1719 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1720
1721 * expr.c (expand_expr): When checking promoted value, use
1722 DECL_MODE (exp) and not mode.
1723
1724 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1725
1726 * c-typeck.c (output_init_element): Call digest_init
1727 just once, not in each if branch and check its return value for
1728 error_mark_node.
1729
1730 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1731
1732 * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
1733 type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
1734 (finish_struct): Break the loop if n_incomplete went to 0.
1735 For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
1736
1737 Wed Dec 5 07:41:13 2001 Douglas B. Rupp <rupp@gnat.com>
1738
1739 * config/alpha/alpha.c (alpha_va_start): Update VMS case.
1740
1741 Wed Dec 5 07:27:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1742 Douglas B. Rupp <rupp@gnat.com>
1743
1744 * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
1745 * doc/invoke.texi: Add -gvms.
1746 * doc/passes.texi: Add mention of vmsdbgout.c.
1747 * doc/tm.texi: Document VMS debugging output.
1748
1749 Wed Dec 5 06:26:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1750
1751 * function.h (tree, rtx): Remove no-longer-needed definitions.
1752
1753 * function.c (keep_stack_depressed): Refine check for register
1754 clobbered over call.
1755
1756 * expr.c (store_expr): When copying string constant into array,
1757 use functions that update memrefs instead of computations on
1758 addresses to better track MEMs. Also properly handle 32/64 pointers.
1759 (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
1760 (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
1761
1762 * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
1763 underneath COMPONENT_REFs.
1764 (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
1765
1766 2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
1767
1768 * toplev.c (display_target_options): Don't print twice.
1769
1770 Wed Dec 5 00:42:16 EST 2001 John Wehle (john@feith.com)
1771
1772 * emit-rtl.c (set_unique_reg_note): Don't set
1773 a REG_EQUAL or REG_EQUIV note if multiple sets
1774 are present.
1775
1776 2001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
1777
1778 * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
1779 CASE_DROPS_THROUGH.
1780
1781 2001-12-04 Andrew MacLeod <amacleod@redhat.com>
1782
1783 * rtl.h (initialize_uninitialized_subregs): New prototype.
1784 * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
1785 when optimization is on.
1786 * flow.c (find_regno_partial): Find subregs within an expression.
1787 (initialize_uninitialized_subregs): Initialize live on entry registers
1788 which are used in subreg expressions.
1789
1790 2001-12-04 Phil Edwards <pme@gcc.gnu.org>
1791
1792 * Makefile.in: Add INSTALL_SCRIPT using INSTALL definition.
1793
1794 2001-12-04 DJ Delorie <dj@redhat.com>
1795
1796 * fixinc/fixincl.c (initialize): Avoid problemsome macro
1797 parameter names (PR 3388).
1798
1799 2001-12-05 Alan Modra <amodra@bigpond.net.au>
1800
1801 * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
1802 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
1803
1804 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1805
1806 * c-common.def (COMPOUND_LITERAL_EXPR): New.
1807 * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
1808 (c_staticp): New function.
1809 * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
1810 (c_staticp): Declare.
1811 * c-typeck.c (default_function_array_conversion, build_unary_op):
1812 Don't handle CONSTRUCTOR specially.
1813 (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
1814 * c-decl.c (build_compound_literal): New function.
1815 * c-tree.h (build_compound_literal): Declare.
1816 * c-parse.in (primary): Use build_compound_literal.
1817 * c-lang.c (LANG_HOOKS_STATICP): Define.
1818 * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
1819 * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
1820 * doc/extend.texi: Update documentation of compound literals.
1821 Fixes PR c/4787.
1822
1823 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1824
1825 * langhooks.h (struct lang_hooks): Add staticp.
1826 * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
1827 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
1828 * langhooks.c (lhd_staticp): New function.
1829 * tree.c (staticp): Call lang_hooks.staticp for language-specific
1830 tree codes.
1831
1832 2001-12-04 Neil Booth <neil@daikokuya.demon.co.uk>
1833
1834 * cppspec.c (lang_specific_driver): Set is_cpp_driver.
1835 * gcc.c (process_command): Ensure the cpp driver sees
1836 --help and --target-help, and that the help is printed
1837 exactly once.
1838
1839 2001-12-04 David Edelsohn <edelsohn@gnu.org>
1840
1841 * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
1842
1843 2001-12-04 Hans-Peter Nilsson <hp@axis.com>
1844
1845 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
1846 flag_strict_aliasing. Use separate assignment statements.
1847
1848 2001-12-04 Zack Weinberg <zack@codesourcery.com>
1849
1850 * build-make, cross-make: Delete file.
1851 * configure.in: Set and substitute CROSS, ALL,
1852 SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
1853 HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
1854 whether build == host and host == target. Do not
1855 AC_SUBST_FILE build_overrides or cross_overrides. Do not
1856 AC_SUBST cross_defines or extra_c_flags.
1857 * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
1858 (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
1859 HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
1860 partially or completely with autoconf-substituted @variable@
1861 notation.
1862 (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
1863 @build_overrides@, @extra_c_flags@, all.build, install-build,
1864 install-cross-rest, install-float-h-cross): Deleted.
1865 (install-normal): Rename to install. Delete old "install"
1866 indirection rule.
1867
1868 2001-12-04 Andrew MacLeod <amacleod@redhat.com>
1869
1870 * stmt.c (expand_return): Clear destination instead of clobbering it
1871 when setting a return value via bitsets.
1872
1873 2001-12-04 Alexandre Oliva <aoliva@redhat.com>
1874
1875 * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
1876 it has DECL_SAVED_TREE.
1877
1878 * c-decl.c (duplicate_decls): Revert rth's patch. If newdecl
1879 is in a different binding level, get its abstract origin to be
1880 olddecl.
1881 * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
1882 check earlier.
1883 * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
1884 DECL_INITIAL is NULL.
1885
1886 2001-12-04 Jakub Jelinek <jakub@redhat.com>
1887
1888 * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
1889 Return correct value if one of the subexpressions was optimized to
1890 0 resp. 1. Optimize (x | A) | x and (x & A) | x.
1891 (and_reg_cond): Similarly.
1892
1893 2001-12-04 Jakub Jelinek <jakub@redhat.com>
1894
1895 * function.c (assign_parms): Set last_named only for last named
1896 argument.
1897
1898 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1899
1900 * doc/install.texi: Use the GFDL. Include years from old install
1901 manual in copyright notice. Include copyright and GFDL notice on
1902 HTML index page. Include usual footer on testing.html.
1903 * doc/install.texi2html: Build gfdl.html. Use -I
1904 $SOURCEDIR/include.
1905 * doc/include/fdl.texi: Adapt for use in the install manual.
1906
1907 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1908
1909 * doc/install.texi: Document that installed native compiler for
1910 building cross compilers should be GCC 2.95 or later.
1911
1912 2001-12-03 Eric Christopher <echristo@redhat.com>
1913
1914 * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
1915 * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
1916 patterns.
1917
1918 2001-12-03 Janis Johnson <janis187@us.ibm.com>
1919
1920 * rtl.def (PREFETCH): New rtx code.
1921 * doc/rtl.texi (PREFETCH): Add documentation.
1922 * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
1923 * rtlanal.c (reg_referenced_p): Ditto.
1924 * sched-vis.c (print_exp): Ditto.
1925 * ssa-dce.c (find_inherently_necessary): Ditto.
1926
1927 * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
1928 (PREFETCH_BLOCK): Define.
1929 * config/ia64/ia64.md (itanium_class): Add lfetch.
1930 (prefetch, prefetch_internal): New.
1931
1932 * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
1933 * builtins.def (BUILT_IN_PREFETCH): New.
1934 * builtins.c (expand_builtin_expect): New.
1935 (expand_builtin): Call it.
1936 * doc/extend.texi: Document __builtin_prefetch.
1937
1938 * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
1939 conflicts with new generic prefetch functionality.
1940 * config/i386/i386.c (ix86_expand_builtin): Use new name for
1941 prefetch_sse.
1942
1943 2001-12-02 Ziemowit Laski <zlaski@apple.com>
1944
1945 * objc/Make-lang.in: Update copyright.
1946 (OBJC_OBJS): Add objc-lang.o.
1947 (objc-lang.o): New rule.
1948 * objc/config-lang.in: Fix file description and update
1949 copyright.
1950 * objc/objc-act.c: Do not include langhooks.h and
1951 langhooks-def.h
1952 (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
1953 (objc_post_options): Move to objc-lang.c.
1954 (objc_init_options): Move to objc-lang.c.
1955 (objc_init): Make non-static.
1956 (objc_decode_option): Make non-static.
1957 (HASHFUNCTION): Remove macro.
1958 (hash_func): New function.
1959 (hash_enter): Replace HASHFUNCTION with hash_func.
1960 (hash_lookup): Replace HASHFUNCTION with hash_func.
1961 (maybe_objc_tree_codes): New function.
1962 (init_objc): Move ObjC tree code initialization to
1963 maybe_objc_tree_codes().
1964 * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
1965 (objc_init): New public prototype.
1966 (objc_decode_option): New public prototype.
1967 (maybe_add_objc_tree_codes): New public prototype.
1968 * objc/objc-lang.c: New file.
1969 (lang_hooks): Moved from objc-act.c.
1970 (objc_post_options): Moved from objc-act.c.
1971 (objc_init_options): Moved from objc-act.c.
1972
1973 2001-12-03 Geoff Keating <geoffk@redhat.com>
1974
1975 * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
1976 of array elements.
1977
1978 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
1979
1980 PR c/4988
1981 * gcc.c (process_command): Don't add a preprocessor option for
1982 --help and --target-help; cc1 is enough.
1983
1984 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
1985
1986 * c-decl.c (grokdeclarator): Use ISO word.
1987 * cppinit.c: Remove leading capital from diagnostic messages, as
1988 per GNU coding standards.
1989 * emit-rtl.c: Similarly.
1990 * final.c: Similarly.
1991 * gcc.c: Similarly.
1992 * tradcpp.c: Similarly.
1993 * config/arm/arm.c: Similarly.
1994 * config/arm/arm.h: Similarly.
1995 * config/avr/avr.c: Similarly.
1996 * config/avr/avr.h: Similarly.
1997 * config/c4x/c4x.c: Similarly.
1998 * config/cris/cris.c: Similarly.
1999 * config/cris/cris.h: Similarly.
2000 * config/d30v/d30v.c: Similarly.
2001 * config/dsp16xx/dsp16xx.c: Similarly.
2002 * config/dsp16xx/dsp16xx.h: Similarly.
2003 * config/h8300/h8300.c: Similarly.
2004 * config/i386/i386.c: Similarly.
2005 * config/i386/xm-djgpp.h: Similarly.
2006 * config/i960/i960.h: Similarly.
2007 * config/m32r/m32r.c: Similarly.
2008 * config/m68hc11/m68hc11.c: Similarly.
2009 * config/m88k/m88k.c: Similarly.
2010 * config/m88k/m88k.h: Similarly.
2011 * config/mcore/mcore.c: Similarly.
2012 * config/mcore/mcore.h: Similarly.
2013 * config/mips/mips.c: Similarly.
2014 * config/mmix/mmix.c: Similarly.
2015 * config/pa/pa.c: Similarly.
2016 * config/rs6000/rs6000.c: Similarly.
2017 * config/rs6000/sysv4.h: Similarly.
2018 * config/s390/s390.c: Similarly.
2019 * config/sparc/sparc.c: Similarly.
2020 * config/v850/v850-c.c: Similarly.
2021 * config/v850/v850.c: Similarly.
2022
2023 2001-12-03 Zack Weinberg <zack@codesourcery.com>
2024
2025 * rs6000.h (RETURN_IN_MEMORY): Cast result of
2026 int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2027
2028 Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com)
2029
2030 * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2031 bit twiddling constant.
2032
2033 Mon Dec 3 16:16:37 CET 2001 Jan Hubicka <jh@suse.cz>
2034
2035 * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2036 call purge_dead_edges after removing.
2037 (delete_null_pointer_checks): Do not handle delete_list.
2038
2039 * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2040 (count_basic_blocks): ... here.
2041 (find_basic_blocks, find_bb_boundaries): Cleanup.
2042
2043 * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2044 overflow for types greater then 2 * HOST_WIDE_INT.
2045
2046 * reload.c (find_reloads): Update the duplicates after swapingg.
2047
2048 Mon Dec 3 13:52:19 CET 2001 Jan Hubicka <jh@suse.cz>
2049
2050 * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2051
2052 2001-12-02 Zack Weinberg <zack@codesourcery.com>
2053
2054 * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2055 MASK_LONG_DOUBLE_128): Delete.
2056 (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2057 TARGET_AIX_STRUCT_RET): New flags.
2058 (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2059 -mlong-double-64. Add entries for -m(no-)aix-struct-return
2060 and -m(no-)svr4-struct-return.
2061 (TARGET_OPTIONS): Add entry for -mlong-double-.
2062 (rs6000_long_double_size_string, rs6000_long_double_type_size,
2063 rs6000_altivec_abi): Declare.
2064 (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2065 LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2066 (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2067 structures of size <= 8 bytes in registers.
2068 (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2069
2070 * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2071 rs6000_long_double_type_size, rs6000_altivec_abi): New
2072 globals.
2073 (rs6000_override_options): Set rs6000_long_double_type_size
2074 from rs6000_long_double_size_string, if nonzero. Set the
2075 MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2076 not already set.
2077 (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2078 target_flags bit.
2079 (rs6000_init_builtins): This hook now takes no arguments.
2080
2081 * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2082 DRAFT_V4_STRUCT_RET to 1.
2083
2084 2001-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
2085
2086 * c-typeck.c (really_start_incremental_init, push_init_level):
2087 Avoid constructor_max_index being other than an INTEGER_CST.
2088
2089 2001-12-02 David Edelsohn <edelsohn@gnu.org>
2090
2091 * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
2092 unsigned.
2093 (ASM_GENERATE_INTERNAL_LABEL): Same.
2094 (UNIQUE_SECTION): Fix typo.
2095
2096 2001-12-02 Richard Henderson <rth@redhat.com>
2097
2098 * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2099
2100 2001-12-02 Richard Henderson <rth@redhat.com>
2101
2102 * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
2103 (MEM_EXPR): Rename from MEM_DECL; adjust all users.
2104 * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
2105 * expr.h, final.c, reload1.c: Adjust users.
2106
2107 * alias.c (nonoverlapping_component_refs_p): New.
2108 (decl_for_component_ref, adjust_offset_for_component_ref): New.
2109 (nonoverlapping_memrefs_p): Use them.
2110 * emit-rtl.c (component_ref_for_mem_expr): New.
2111 (set_mem_attributes): Use it.
2112 (set_mem_offset): New.
2113 * expr.c (expand_assignment): Call set_mem_attributes for
2114 inner references; adjust the memory offset as needed.
2115 * print-rtl.c (print_mem_expr): New.
2116 (print_rtx): Use it.
2117
2118 Sun Dec 2 09:22:25 2001 Douglas B. Rupp <rupp@gnat.com>
2119
2120 * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
2121
2122 * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
2123 (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
2124 (ASM_SPEC): Don't redefine.
2125 (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
2126 * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
2127 * config/alpha/vms-dwarf2.asm: New file.
2128
2129 * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
2130 * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
2131 * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
2132 (vmsdbgout_after_prologue): New declaration.
2133 * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
2134 * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
2135 * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
2136 (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
2137 (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
2138 (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
2139 * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
2140 Test VMS_DEBUGGING_INFO.
2141 (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
2142 (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
2143 * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
2144 * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
2145 VMS_AND_DWARF2_DEBUG.
2146 (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
2147 (decode_g_option): Add "vms" to debug_type_names.
2148 (process_options): Set vmsdbg_debug_hooks if -gvms.
2149 (lang_independent_init): Emit line number for VMS unless -g0.
2150 * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
2151 * vmsdbg.h, vmsdbgout.c: New files.
2152
2153 Sun Dec 2 09:03:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2154
2155 * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
2156
2157 2001-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2158
2159 * cfgrtl.c (purge_all_dead_edges): Initialize variable.
2160 * dwarf2out.c (is_cxx): Prototype.
2161 * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
2162 warning.
2163 * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
2164
2165 Sun Dec 2 07:12:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2166
2167 * libgcc2.c (__bb_exit_func): Fix line wrap problems.
2168
2169 2001-12-02 Geoff Keating <geoffk@redhat.com>
2170
2171 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
2172 * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
2173 rather than simplify_subreg. Check for volatile-ness. Check that
2174 we're not splitting one slow operation into two slow operations.
2175
2176 2001-12-02 David Edelsohn <edelsohn@gnu.org>
2177
2178 * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
2179 before shifting.
2180
2181 2001-12-02 Neil Booth <neil@daikokuya.demon.co.uk>
2182
2183 * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
2184 capital from diagnostics.
2185 * c-lex.c (cb_file_change): Similarly.
2186 * c-parse.in : Similarly.
2187 * cfgrtl.c (verify_flow_info): Similarly.
2188 * collect2.c: Similarly.
2189 * cppfiles.c (find_include_file): Similarly.
2190 * cppinit.c (cpp_handle_option): Similarly.
2191 * cpplex.c (cpp_spell_token): Similarly.
2192 * cppmain.c (do_preprocessing): Similarly.
2193 * gcc.c (translate_options, process_command, do_spec1,
2194 main, pfatal_execute): Similarly.
2195 * genattr.c (main): Similarly.
2196 * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
2197 write_test_expr, main): Similarly.
2198 * gencodes.c (main): Similarly.
2199 * genconfig.c (main): Similarly.
2200 * genconstants.c (main): Similarly.
2201 * genemit.c (main): Similarly.
2202 * genextract.c (main): Similarly.
2203 * genflags.c (main): Similarly.
2204 * genopinit.c (main): Similarly.
2205 * genoutput.c (process_template, main): Similarly.
2206 * genpeep.c (main): Similarly.
2207 * genrecog.c (main): Similarly.
2208 * gensupport.c (is_predicable, identify_predicable_attribute,
2209 alter_predicate_for_insn, init_md_reader_args, main): Similarly.
2210 * ggc-page.c (alloc_anon): Similarly.
2211 * mips-tfile.c (add_string, add_procedure, add_file, read_line,
2212 parse_begin, parse_bend, parse_def, parse_end, parse_file,
2213 parse_stabs_common, parse_stabs, write_varray, write_object,
2214 read_seek, copy_object, main, error): Similarly.
2215 * profile.c (compute_branch_probabilities): Similarly.
2216 * reg-stack.c (check_asm_stack_operands): Similarly.
2217 * reload.c (find_reloads): Similarly.
2218 * reload1.c (spill_failure, failed_reload): Similarly.
2219 * rtl-error.c (_fatal_insn_not_found): Similarly.
2220 * toplev.c (read_integral_parameter, crash_signal,
2221 decode_f_option, set_target_switch, parse_options_and_default_flags)
2222 : Similarly.
2223 * tradcif.y (parse_number, yylex): Similarly.
2224 * tradcpp.c (main, fancy_abort): Similarly.
2225 * tree.c (tree_check_failed): Similarly.
2226 * varray.c (varray_check_failed): Similarly.
2227 * xcoffout.c (xcoff_output_standard_types): Similarly.
2228 objc:
2229 * objc-act.c (get_object_ref, lookup_and_install_protocols,
2230 build_objc_string_object, objc_declare_alias, build_ivar_chain,
2231 finish_message_expr, build_protocol_expr, is_public,
2232 start_class): Similarly.
2233
2234 2001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
2235
2236 * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
2237 trailing period from diagnostics.
2238 * c-lex.c (cb_file_change): Similarly.
2239 * cppmacro.c (check_trad_stringification): Similarly.
2240 * gcc.c (do_spec_1): Similarly.
2241 * genattr.c (main): Similarly.
2242 * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
2243 * gencodes.c (main): Similarly.
2244 * genconfig.c (main): Similarly.
2245 * genconstants.c (main): Similarly.
2246 * genemit.c (main): Similarly.
2247 * genextract.c (main): Similarly.
2248 * genopinit.c (main): Similarly.
2249 * genoutput.c (main): Similarly.
2250 * genpeep.c (main): Similarly.
2251 * genrecog.c (main): Similarly.
2252 * mips-tfile.c (add_file, error): Similarly.
2253 * profile.c (init_branch_prob): Similarly.
2254 * reload1.c (spill_failure): Similarly.
2255 * stmt.c (parse_output_constraint): Similarly.
2256 * varasm.c (assemble_variable): Similarly.
2257
2258 2001-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2259
2260 * m68k.c (init_FPA_table): Provide static prototype.
2261 * mips/abi64.h (mips_function_value): Move prototype to ...
2262 * mips-protos.h (mips_function_value): ... here.
2263 * mips.c: Include halfpic.h.
2264 * output.h (rdata_section): Prototype.
2265
2266 * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2267 * m88k.c (m88k_svr3_asm_out_constructor,
2268 m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
2269 !OBJECT_FORMAT_ELF.
2270 * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2271 * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2272 * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2273
2274 2001-12-01 Geoff Keating <geoffk@redhat.com>
2275
2276 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
2277 LO_SUM addresses less than word size are not legitimate,
2278 because they lead to invalid SUBREGs.
2279 * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
2280
2281 2001-12-01 Olivier Hainque <hainque@act-europe.fr>
2282
2283 * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
2284 while scanning for multiple back edges.
2285
2286 2001-12-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2287
2288 * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
2289 * config/rs6000/tramp.asm: Use it.
2290
2291 2001-12-01 Zack Weinberg <zack@codesourcery.com>
2292
2293 * gencheck.c, gengenrtl.c: Don't define xmalloc.
2294 * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
2295 xmalloc.
2296
2297 2001-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
2298
2299 * pa.c (output_ascii): Cast `p' to unsigned char.
2300
2301 2001-11-30 Daniel Berlin <dan@cgsoftware.com>
2302
2303 * config/rs6000/rs6000.c (altivec_expand_builtin): add
2304 ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
2305 *_16qi,_8hi, rename existing V4SI ones to *_4si.
2306 (altivec_init_builtins): Ditto.
2307 (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
2308
2309 * config/rs6000/rs6000.md: Add attribute types vecsimple,
2310 veccomplex, vecfloat, and vecperm, for altivec instructions.
2311 Modify altivec patterns to use appropriate attribute type.
2312 Modify altivec patterns to match RTL operations where appropriate
2313 (IE no unspec where we can avoid it).
2314 Add vector unit scheduling for ppc7450.
2315 Rename patterns to what they are where appropriate
2316 (altivec_vaddfp->addv4sf3, etc)
2317
2318 * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
2319 Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
2320
2321 * config/rs6000/sysv4.h: Add -mcpu=7450.
2322
2323 * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
2324 _builtin_altivec_ld_interal function.
2325
2326 2001-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2327
2328 * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
2329 strchr, strrchr, isascii, gettimeofday.
2330 * config.in, configure: Regenerate.
2331
2332 2001-11-30 Zoltan Hidvegi <hzoli@hzoli.2y.net>
2333
2334 * unroll.c (unroll_loop): Correct special exit cases.
2335
2336 2001-11-30 Stephane Carrez <Stephane.Carrez@sun.com>
2337
2338 * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
2339 accept DFmode and DImode only.
2340
2341 2001-11-30 Aldy Hernandez <aldyh@redhat.com>
2342
2343 * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
2344 (STACK_DYNAMIC_OFFSET): Same.
2345
2346 2001-11-30 Richard Henderson <rth@redhat.com>
2347
2348 * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
2349
2350 2001-11-30 Aldy Hernandez <aldyh@redhat.com>
2351
2352 * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
2353 (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
2354 the values in call_used_registers.
2355
2356 Fri Nov 30 12:48:26 2001 Jeffrey A Law (law@cygnus.com)
2357
2358 * gthr-dce.h: If _DCE_THREADS is not defined, then just include
2359 gthr-single.
2360
2361 2001-11-30 Jason Merrill <jason@redhat.com>
2362
2363 * dwarf2out.c (is_cxx): New fn.
2364 (add_data_member_location_attribute): Check it.
2365 * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
2366
2367 Fri Nov 30 08:26:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2368
2369 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
2370
2371 2001-11-30 Daniel Berlin <dan@cgsoftware.com>
2372
2373 * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
2374 MODE_VECTOR_FLOAT as allowed.
2375
2376 2001-11-29 Zack Weinberg <zack@codesourcery.com>
2377
2378 Purge cruft now we have build libiberty.
2379
2380 * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
2381 HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
2382 USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
2383 USE_HOST_STRSTR): Delete variables.
2384 (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
2385 hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
2386 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2387 $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
2388 (LIBIBERTY, BUILD_LIBIBERTY): New variables.
2389 (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
2390 (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
2391 (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
2392 (HOST_LIBS): Ditto.
2393 (HOST_RTL): Remove hashtab.o safe-ctype.o.
2394 (OBJS): Remove splay-tree.o.
2395 (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
2396 (distclean): No need to delete splay-tree.c obstack.c
2397 hashtab.c safe-ctype.c.
2398 (mostlyclean): Delete build copies of print-rtl.c bitmap.c
2399 errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
2400 * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
2401 Delete.
2402 * configure.in: Don't use them.
2403 Set and substitute @FORBUILD@.
2404 * config.in, configure: Regenerate.
2405 * doprint.c: Move to libiberty/_doprnt.c.
2406 * doc/configterms.texi: Document that libiberty is now built
2407 up to three times. Fix typo.
2408
2409 2001-11-30 Jason Merrill <jason@redhat.com>
2410
2411 * dwarf2out.c (add_data_member_location_attribute): Do the
2412 right thing for virtual bases.
2413 * dbxout.c (dbxout_type): For a virtual base, print the offset
2414 within the vtable.
2415
2416 2001-11-29 Zoltan Hidvegi <hzoli@hzoli.2y.net>
2417
2418 * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
2419
2420 2001-11-29 Aldy Hernandez <aldyh@redhat.com>
2421
2422 * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
2423 go in memory.
2424 Remove unused attribute for named.
2425
2426 2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2427
2428 * genattrtab.c (attr_rtx_1): New function containing the
2429 majority of `attr_rtx'. Move variable declarations into the
2430 scope where they are used. Eliminate unnecessary gotos.
2431 (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
2432 VA_FIXEDARG, and VA_CLOSE.
2433
2434 2001-11-30 Hans-Peter Nilsson <hp@axis.com>
2435
2436 * config/cris/cris.c (cris_notice_update_cc): Check first
2437 destination also against overlap with cc_status.value2 and second
2438 destination against overlap with cc_status.value1. For overlaps,
2439 clear overlapped value, don't just CC_STATUS_INIT.
2440
2441 * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
2442 Fix typo in comment.
2443 (LINK_SPEC): Remove whitespace at end of line.
2444
2445 2001-11-29 Jakub Jelinek <jakub@redhat.com>
2446
2447 * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
2448
2449 2001-11-29 Jakub Jelinek <jakub@redhat.com>
2450
2451 * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
2452 macros for the supported debugging types.
2453
2454 2001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>
2455
2456 PR other/4932
2457 * config/i386/i386.c (print_operand): Verify that the
2458 argument to %c is a constant and not a conditional which
2459 needs to be reversed.
2460
2461 Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com)
2462
2463 * emit-rtl.c (gen_lowpart_common): Fix conversion of
2464 REAL_VALUE_TYPEs to an array of target integers. Fix extraction
2465 of low part of those arrays for 32bit and 64bit hosts.
2466
2467 2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2468
2469 * Makefile.in (insn-output.o): Depend on insn-codes.h.
2470
2471 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
2472
2473 * configure.in (target_list): Add generated-manpages.
2474 * configure: Regenerate.
2475 * Makefile.in (generated-manpages): Depend on
2476 lang.generated-manpages.
2477 * objc/Make-lang.in (objc.generated-manpages): New dummy target.
2478
2479 2001-11-29 Nick Clifton <nickc@cambridge.redhat.com>
2480
2481 * config/arm/crti.asm (_init): Add .thumb_func if compiled
2482 with -mthumb.
2483 (_fini): Add .thumb_func if compiled with -mthumb.
2484
2485 2001-11-28 Eric Christopher <echristo@redhat.com>
2486
2487 * config/mips/mips.c (override_options): Fix thinko in mips_tune
2488 for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
2489
2490 Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com)
2491
2492 * alpha.md (tablejump): Use pic_offset_table_rtx
2493 instead of gen_rtx_REG.
2494
2495 Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com)
2496
2497 * expr.c (store_expr): When copying a string constant into an
2498 array, reset the known alignment of the MEM for the section to
2499 be cleared to BITS_PER_UNIT.
2500
2501 2001-11-28 Hans-Peter Nilsson <hp@axis.com>
2502
2503 * config/cris/cris.c: Remove whitespace at end of line.
2504
2505 Wed Nov 28 14:51:23 2001 Douglas B. Rupp <rupp@gnat.com>
2506
2507 * config.gcc (i[34567]86-*-interix3*): New case.
2508 * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
2509 New files.
2510
2511 2001-11-28 Richard Henderson <rth@redhat.com>
2512
2513 * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
2514 symbolic_operand as the predicate.
2515
2516 2001-11-28 Richard Henderson <rth@redhat.com>
2517
2518 * doloop.c (doloop_modify_runtime): Properly select induction
2519 variable; skip late entry test if biv initializer created by loop.
2520
2521 Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2522
2523 * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
2524 EXPR_WITH_FILE_LOCATION, so change checks and documentation.
2525
2526 * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
2527
2528 * tree.h: Add missing checks on some macros; make formatting more
2529 consistent.
2530
2531 * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
2532 level; only add to pending_sizes if find it.
2533
2534 * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
2535
2536 * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
2537 Add casts to remove warnings.
2538
2539 * Makefile.in (OBJS): Sort alphabetically.
2540
2541 * print-rtl.c (print_rtx): If RTX code is bad, just say so.
2542 Also minor cleanups.
2543
2544 Wed Nov 28 06:52:27 2001 Arnaud Charlet <charlet@ACT-Europe.FR>
2545
2546 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
2547 (FLAGS_TO_PASS): Add STAGE_PREFIX.
2548 (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
2549 to STAGE_PREFIX.
2550
2551 Wed Nov 28 10:42:19 CET 2001 Jan Hubicka <jh@suse.cz>
2552
2553 * cse.c (true_dependence_in_rtx): New function.
2554 (invalidate): Use it.
2555
2556 * c-common.h (GOTO_FAKE_P): New macro.
2557 * tree-inline.c (GOTO_FAKE_P): Set.
2558 * c-tree.texi (GOTO_FAKE_P): Document.
2559
2560 * varasm.c (assemble_variable): Set reloc to 3 for error_mark
2561 containing pointers.
2562 (output_addressed_constants): Check for local/external relocations.
2563 * elfos.h (SELECT_SECTION): Classify data section.
2564 * tm.texi (SELECT_SECTION): Update documentation.
2565
2566 * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
2567 (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
2568
2569 2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2570
2571 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2572 UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
2573 OBJECT_FORMAT_ROSE.
2574
2575 2001-11-28 Hans-Peter Nilsson <hp@axis.com>
2576
2577 * config/cris/cris.c: Tweak spacing for prototypes.
2578 (LOSE_AND_RETURN): New macro.
2579 (cris_operand_lossage): New function.
2580 (cris_print_index, cris_print_base): Use cris_operand_lossage
2581 rather than fatal_insn.
2582 (cris_print_operand, cris_print_operand_address): Use
2583 LOSE_AND_RETURN rather than fatal_insn and internal_error.
2584 (cris_output_addr_const): Use LOSE_AND_RETURN and
2585 output_operand_lossage rather than fatal_insn and internal_error
2586 for valid but unexpected rtx expressions.
2587
2588 * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
2589 for a SUBREG in src or dest, abort instead.
2590
2591 2001-11-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2592
2593 * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
2594 doc.
2595
2596 2001-11-27 Jakub Jelinek <jakub@redhat.com>
2597
2598 * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
2599 preprocessor define. If only DBX_DEBUGGING_INFO or only
2600 DWARF2_DEBUGGING_INFO is supported for the target, provide
2601 appropriate definitions.
2602
2603 2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
2604
2605 * Makefile.in: Update, and add c-objc-common.o dependencies.
2606 * c-lang.c: Remove unnecessary includes.
2607 (c_init): Move bulk of code to c_objc_common_init, and call it.
2608 (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
2609 inline_forbidden_p, c_cannot_inline_tree_fn): Move to
2610 c-objc-common.c.
2611 * c-objc-common.c: New. Mostly pulled from c-lang.c.
2612 * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
2613 c_objc_common_init, c_missing_noreturn_ok_p): New.
2614 * toplev.c: Update comment.
2615 * doc/passes.texi: Update.
2616 objc:
2617 * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2618 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2619 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
2620 (objc_init): Update to use c_objc_common_init.
2621
2622 2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
2623
2624 * cpphash.c (_cpp_init_hashtable): Update.
2625 * cpphash.h (struct spec_nodes): Remove n_L.
2626 * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
2627
2628 2001-11-17 Richard Henderson <rth@redhat.com>
2629
2630 * unroll.c (loop_iterations): Move last change ...
2631 * doloop.c (doloop_modify_runtime): ... here.
2632
2633 2001-11-17 Corey Minyard <minyard@acm.org>
2634 Richard Henderson <rth@redhat.com>
2635
2636 * unroll.c (loop_iterations): Detect one situation in which we
2637 overestimate the number of iterations.
2638
2639 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2640
2641 * gcc.c (set_input): Export.
2642 Move declaration ...
2643 gcc.h (set_input): ... here.
2644
2645 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2646
2647 * gcc.c (set_collect_gcc_options): New function, split out from
2648 main.
2649 Ignore elided switches.
2650 (do_spec): Invoke before executing command.
2651 (do_spec_1): Likewise.
2652 Fixes PR other/3968.
2653
2654 2001-11-27 Hans-Peter Nilsson <hp@axis.com>
2655
2656 * config/cris/cris.h (INT_ASM_OP): Remove.
2657
2658 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2659
2660 * config/i386/sol2.h (WINT_TYPE): Redefine.
2661 (WINT_TYPE_SIZE): Likewise.
2662
2663 2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2664
2665 * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
2666 (dup2): Make static and add prototype.
2667 * m68k/plexus.h: Don't define NO_DUP2.
2668 * configure.in (AC_CHECK_FUNCS): Add dup2.
2669 * config.in, configure: Regenerate.
2670
2671 * ia64/aix.h (REG_SIZE): Don't #undef.
2672 * sparc.h (REG_SIZE): Delete.
2673 * flow.c (mark_used_regs): Don't use REG_SIZE.
2674 * regs.h (REG_SIZE): Delete.
2675
2676 2001-11-27 Andreas Schwab <schwab@suse.de>
2677
2678 * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
2679 PREFERRED_DEBUGGING_TYPE.
2680
2681 Tue Nov 27 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2682
2683 * Makefile.in (c-lang.o): Depends on langhooks-def.h.
2684 (expr.o, varasm.o): Depends on langhooks.h.
2685 * c-common.c (c_safe_from_p): Always declare.
2686 (c_expand_expr): Refine when declared.
2687 * c-lang.c (c-common.h): Now include.
2688 (LANG_HOOKS_SAFE_FROM_P): Define new hook.
2689 (c_init): Don't set lang_safe_from_expr.
2690 * expr.c (langhooks.h): Now include.
2691 (lang_safe_from_p): No longer define.
2692 (safe_from_p): Use lang hook.
2693 (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
2694 (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
2695 * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
2696 * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
2697 (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
2698 * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
2699 * langhooks.h (struct lang_hooks): New fields expand_constant
2700 and safe_from_p.
2701 * output.h (output_constant): Size arg is HOST_WIDE_INT.
2702 * stmt.c (expand_decl_init): No longer need to expand constant
2703 for CONST_DECL.
2704 * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
2705 * toplev.c (lang_expand_constant): Delete var.
2706 * tree.c (save_expr): Don't put another SAVE_EXPR around simple
2707 operations on SAVE_EXPR.
2708 * varasm.c (langhooks.h): Now include.
2709 (compare_constant_1): Use lang_hooks, not lang_expand_constant.
2710 (record_constant_1, output_addressed_constants): Likewise.
2711 (initializer_constant_valid_p, output_constant): Likewise.
2712 (output_constant_def): Process no-defer of string constant.
2713 (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
2714 (output_constant): Strip more conversions.
2715 Track our size and pad for the rest.
2716 (array_size_for_constructor): Remove code for non-byte STRING_CST.
2717 (output_constructor): SIZE now HOST_WIDE_INT.
2718
2719 2001-11-27 Richard Henderson <rth@redhat.com>
2720
2721 * ifcvt.c (noce_try_store_flag_constants): Test for overflow
2722 in computing DIFF.
2723
2724 2001-11-27 Zack Weinberg <zack@codesourcery.com>
2725
2726 * cppfiles.c (read_include_file): Add comment.
2727
2728 2001-11-26 Richard Henderson <rth@redhat.com>
2729
2730 * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
2731
2732 2001-11-26 Richard Henderson <rth@redhat.com>
2733
2734 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
2735 * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
2736 commented out override.
2737
2738 2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
2739
2740 * cppfiles.c (stack_include_file): Don't optimize zero-length
2741 files.
2742 (read_include_file): NUL-terminate read files.
2743 * cpplex.c (handle_newline, skip_escaped_newlines,
2744 get_effective_char, skip_whitespace, parse_identifier,
2745 parse_identifier_slow, parse_number, parse_string,
2746 _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
2747 NUL-terminated.
2748 * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
2749 Be sure buffers are NUL terminated.
2750 * cppmacro.c (warn_of_redefinition): Kill compile warning.
2751
2752 2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
2753
2754 * c-common.c: Include tree-inline.h.
2755 (c_language): Move separate definitions here.
2756 (c_common_init_options, c_common_post_options): New.
2757 (c_common_lang_init): Rename c_common_init.
2758 * c-common.h (c_common_lang_init): Similarly.
2759 (c_common_init_options, c_common_post_options): New.
2760 * c-lang.c (c_post_options): Move body to c_common_post_options.
2761 (c_init_options): Use c_common_init_options.
2762 (c_init): Update.
2763 * langhooks.def: Rearrange.
2764 * langhooks.h: Rearrange, and improve comments.
2765 * toplev.c (do_compile): New function.
2766 (toplev_main): Use it.
2767 (lang_independent_f_options, parse_options_and_default_flags,
2768 process_options): Remove trailing periods.
2769 * Makefile.in: Update.
2770 objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
2771 functions.
2772 (ojbc_init): Update.
2773
2774 2001-11-26 Richard Henderson <rth@redhat.com>
2775
2776 * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
2777
2778 2001-11-26 DJ Delorie <dj@redhat.com>
2779
2780 * expr.c (store_constructor): Actually use the value computed
2781 if WORD_REGISTER_OPERATIONS.
2782
2783 2001-11-26 Richard Henderson <rth@redhat.com>
2784
2785 * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
2786 for CONSTRUCTOR.
2787
2788 2001-11-26 David Edelsohn <edelsohn@gnu.org>
2789
2790 * rs6000.c (output_mi_thunk): Handle minimal-toc and call
2791 correct function on AIX.
2792
2793 2001-11-26 Alexandre Oliva <aoliva@redhat.com>
2794
2795 * toplev.c (process_options): Don't force
2796 flag_optimize_sibling_calls to zero just because exceptions are
2797 enabled.
2798
2799 Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com)
2800
2801 * df.h (transfer_function_sbitmap): Use PARAMS around argument
2802 list in function prototypes.
2803 (transfer_function_bitmap): Likewise.
2804
2805 2001-11-26 Loren J. Rittle <ljrittle@acm.org>
2806
2807 * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
2808 * config/i386/netbsd-elf.h: Likewise.
2809
2810 2001-11-26 David Edelsohn <edelsohn@gnu.org>
2811
2812 * doc/trouble.texi: Remove outdated RS/6000 comments.
2813
2814 Mon Nov 26 13:49:41 CET 2001 Jan Hubicka <jh@suse.cz>
2815
2816 * final.c (walk_alter_subreg): Fix return value.
2817
2818 Mon Nov 26 11:36:20 CET 2001 Jan Hubicka <jh@suse.cz>
2819
2820 * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
2821 alter_subreg.
2822 * sparc.md (post-reload splitters): Do not call alter_subreg.
2823 * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
2824
2825 2001-11-25 Aldy Hernandez <aldyh@redhat.com>
2826
2827 * regclass.c (choose_hard_reg_mode): Handle vector arguments.
2828
2829 2001-11-26 Alan Modra <amodra@bigpond.net.au>
2830
2831 * final.c: (insn_lengths): Make it an int *, so that large jump
2832 tables don't overflow.
2833
2834 2001-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
2835
2836 * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
2837 (format_types): Use it for scanf.
2838 (dollar_arguments_pointer_p): New.
2839 (init_dollar_format_checking): Store details of which arguments
2840 are pointers.
2841 (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
2842 (finish_dollar_format_checking): Take extra parameter
2843 pointer_gap_ok. Treat unused arguments differently if
2844 pointer_gap_ok and the unused arguments are pointers.
2845 (check_format_info_main): Pass extra argument to
2846 finish_dollar_format_checking.
2847 * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
2848 unused arguments are present between used arguments with operand
2849 numbers.
2850
2851 2001-11-25 Daniel Berlin <dan@cgsoftware.com>
2852
2853 * df.c: Add prototypes for hybrid_search_bitmap and
2854 hybrid_search_sbitmap.
2855 (hybrid_search_bitmap): New function.
2856 (hybrid_search_sbitmap): New function.
2857 (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
2858 (iterative_dataflow_bitmap): Ditto.
2859
2860 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2861
2862 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2863 address computations.
2864
2865 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2866
2867 * config/m68hc11/m68hc11.c (d_register_operand): Must accept
2868 register b (low part of d).
2869
2870 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2871
2872 * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
2873 passed to mcount.
2874
2875 Sun Nov 25 06:22:09 2001 Douglas B. Rupp <rupp@gnat.com>
2876
2877 * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
2878 * config/alpha/x-vms: New file, to compile the above.
2879 * config.gcc (alpha*-dec-vms*): Add x-vms.
2880
2881 2001-11-24 Hans-Peter Nilsson <hp@axis.com>
2882
2883 * genextract.c (main): Set ro_loc for peepholes.
2884
2885 Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
2886
2887 * fix-header.c (main): Move inf_buffer termination and inf_limit
2888 calculation to after read.
2889
2890 * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
2891 (__UNIX_FOPEN): Define.
2892
2893 Sat Nov 24 16:11:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2894
2895 * function.c (assign_stack_temp_for_type): Clear alias set before
2896 setting new one.
2897
2898 2001-11-23 David Edelsohn <edelsohn@gnu.org>
2899
2900 * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
2901 format.
2902 * rs6000.md (cmptf): Fix typo.
2903
2904 2001-11-23 Richard Sandiford <rsandifo@redhat.com>
2905
2906 * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
2907 * varasm.c (output_constructor): Use assemble_integer rather
2908 than ASM_OUTPUT_BYTE.
2909
2910 2001-11-23 Andreas Jaeger <aj@suse.de>
2911
2912 * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
2913 extension.
2914
2915 2001-11-23 Nick Clifton <nickc@cambridge.redhat.com>
2916
2917 * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
2918 default definition.
2919 (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
2920 (MULTILIB_DEFAULTS): Remove previous definition.
2921
2922 2001-11-23 Neil Booth <neil@daikokuya.demon.co.uk>
2923
2924 * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
2925 * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
2926
2927 2001-11-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2928
2929 * cris.h: Revert thinko in last patch.
2930
2931 2001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
2932
2933 * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
2934 FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
2935 cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
2936 dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
2937 explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
2938 sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
2939
2940 * predict.c, reg-stack.c: Fix spelling errors.
2941
2942 2001-10-09 Andrew Haley <aph@redhat.com>
2943
2944 * calls.c (check_sibcall_argument_overlap): Use slot_offset for
2945 start of stack slot.
2946
2947 2001-11-22 Graham Stott <grahams@redhat.com>
2948
2949 * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
2950 replacement jump after original jump.
2951
2952 (verify_flow_info): Remove redundent initialisation.
2953 Handle reaching end of insn list before finding a BARRIER.
2954 Only issue one missing barrier diagnostic.
2955
2956 2001-11-22 Graham Stott <grahams@redhat.com>
2957
2958 * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
2959
2960 Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2961
2962 * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
2963 insn actually does.
2964
2965 2001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
2966
2967 * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
2968 Fix typo -mm32rx=> -m32rx.
2969
2970 * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
2971 targets.
2972
2973 * config.gcc (xscale-coff): Add necessary header files to
2974 tm_file variable.
2975
2976 2001-11-20 Zack Weinberg <zack@codesourcery.com>
2977
2978 * rs6000.c (output_cbranch): Use $, not %$, in output template.
2979
2980 2001-11-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2981
2982 * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
2983 (lang_type_quals): Declare.
2984 (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
2985 retrieve language-specific qualifiers for a type node, instead of
2986 C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
2987 lang_dump_tree.
2988 * tree-dump.h: Rename from c-dump.h.
2989 * c-common.h (C_TYPE_QUALS): Removed.
2990 Move declarations for tree-dump.c interface to...
2991 * tree.h: ... here. Remove lang_dump_tree.
2992 * langhooks.h (struct lang_hooks_for_tree_dump): New.
2993 (struct lang_hooks): Add tree_dump hooks.
2994 * langhooks.c (lhd_tree_dump_dump_tree): New function.
2995 (lhd_tree_dump_type_quals): New function.
2996 * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
2997 Declare.
2998 (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
2999 * Makefile.in: Move tree-dump.o to language-independent back-end.
3000
3001 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3002
3003 * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3004 * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3005 * arc.h (DBX_REGISTER_NUMBER): Likewise.
3006 * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3007 * avr.h (DBX_REGISTER_NUMBER): Likewise.
3008 * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3009 * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3010 * convex.h (DBX_REGISTER_NUMBER): Likewise.
3011 * cris.h (DBX_REGISTER_NUMBER): Likewise.
3012 * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3013 * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3014 * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3015 * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3016 * i370.h (DBX_REGISTER_NUMBER): Likewise.
3017 * i860.h (DBX_REGISTER_NUMBER): Likewise.
3018 * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3019 * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3020 * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3021 * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3022 * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3023 * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3024 * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3025 * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3026 * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3027 * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3028 * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3029 * romp.h (DBX_REGISTER_NUMBER): Likewise.
3030 * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3031 * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3032 * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3033 * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3034 * v850.h (DBX_REGISTER_NUMBER): Likewise.
3035 * vax.h (DBX_REGISTER_NUMBER): Likewise.
3036 * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3037
3038 * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3039 * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3040
3041 2001-11-21 H.J. Lu <hjl@gnu.org>
3042
3043 * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3044
3045 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3046
3047 * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3048 emit_cmp_and_jump_insns.
3049
3050 * stormy16.c (xstormy16_expand_builtin_va_arg,
3051 xstormy16_expand_casesi): Likewise.
3052
3053 Wed Nov 21 17:37:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3054
3055 * function.c (keep_stack_depressed): Major rework.
3056 (handle_epilogue_set, emit_equiv_load): New functions.
3057 (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3058 has return value.
3059 * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3060 * rtl.h (SET_IS_RETURN_P): New macro.
3061
3062 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3063 and also support TREE_ADDRESSABLE.
3064 * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3065
3066 2001-11-21 David Edelsohn <edelsohn@gnu.org>
3067
3068 * rs6000.md (cmptf_internal1): Replace %$ with $.
3069
3070 Wed Nov 21 16:44:01 2001 Douglas B. Rupp <rupp@gnat.com>
3071
3072 * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3073 (read_include_file): Use STAT_SIZE_TOO_BIG.
3074
3075 * cppinit.c (INO_T_COPY): Define.
3076 (INO_T_EQ): Uppercase parameters.
3077 (append_include_chain): Use INO_T_COPY.
3078
3079 2001-11-21 Richard Sandiford <rsandifo@redhat.com>
3080
3081 * cfg.c: Fix typos and formatting in the introductory comment.
3082
3083 Wed Nov 21 12:38:37 CET 2001 Jan Hubicka
3084
3085 * profile.c (compute_branch_probabilites): Compute probabilities
3086 for entry/exit edges; estimate probabilities for zero counts.
3087
3088 2001-11-21 Jakub Jelinek <jakub@redhat.com>
3089
3090 * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
3091 to emit_library_call.
3092 * function.c (expand_main_function, expand_function_start,
3093 expand_function_end): Likewise.
3094 * profile.c (output_func_start_profiler): Likewise.
3095 * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
3096 second argument to emit_library_call.
3097 * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
3098 as second argument to emit_library_call.
3099 * calls.c (emit_library_call): Update fn_type description.
3100
3101 2001-11-21 Jakub Jelinek <jakub@redhat.com>
3102
3103 * c-decl.c (c_expand_deferred_function): Only call c_expand_body
3104 if fndecl is still DECL_INLINE and has DECL_RESULT.
3105
3106 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3107
3108 * clipper.c (clipper_movstr): Avoid uninitialized warning.
3109 * i960.c (is_mask, legitimize_address): Likewise.
3110 * m88k.c (m88k_expand_prologue): Likewise.
3111 * m88k.md: Likewise.
3112 * mcore.c (emit_new_cond_insn): Likewise.
3113 * stormy16.c (xstormy16_emit_cbranch): Likewise.
3114
3115 2001-11-20 Zack Weinberg <zack@codesourcery.com>
3116
3117 * config.gcc: Delete powerpcle-*-solaris2* stanza.
3118 * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
3119 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3120 config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
3121 config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
3122 config/rs6000/t-ppcos: Expunge all references to Solaris.
3123
3124 * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
3125
3126 * config/rs6000/rs6000.md: Replace '%$' with '$' in all
3127 output templates.
3128 * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
3129 and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
3130
3131 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3132
3133 * sh.md: Avoid uninitialized warnings.
3134 * vax.c (vax_rtx_cost): Likewise.
3135
3136 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
3137
3138 * rs6000.c (direct_return): Check if we are saving altivec
3139 registers.
3140 (first_altivec_reg_to_save): New.
3141 Updated stack frame layout comments.
3142 (rs6000_stack_info): Calculate altivec register save size.
3143 Save link register if we saved some altivec registers.
3144 (rs6000_stack_info): Align save size to 16 if altivec abi or
3145 abi_darwin.
3146 (rs6000_stack_info): Calculate altivec register offsets.
3147 (rs6000_stack_info): Add altivec info to save_size.
3148 (debug_stack_info): Add altivec debug info.
3149 (rs6000_emit_prologue): Save altivec registers and vrsave.
3150 (compute_vrsave_mask): New.
3151 (altivec_expand_builtin): Remove unused variables.
3152 (rs6000_parse_abi_options): Add static qualifier.
3153 (rs6000_expand_builtin): Remove unused parameters.
3154 (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
3155 (altivec_init_builtins): Same.
3156 (is_altivec_return_reg): New.
3157 (vrsave_operation): New.
3158 (ALTIVEC_REG_BIT): New.
3159 (generate_set_vrsave): New.
3160
3161 * rs6000.md (get_vrsave): New.
3162 (set_vrsave): New.
3163 (*set_vrsave_internal): New.
3164
3165 * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
3166 altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
3167 altivec_padding_size, vrsave_mask.
3168 (TOTAL_ALTIVEC_REGS): New.
3169 (EPILOGUE_USES): Add VRSAVE_REGNO.
3170
3171 2001-11-20 Jeff Law <law@redhat.com>
3172
3173 * unroll.c (copy_loop_body): Update LABEL_NUSES for the
3174 exit label as necessary.
3175
3176 2001-11-20 Brad Kaiser <bkaiser@acelink.net>
3177
3178 * reload1.c (elimination_effects): Use function_invariant_p
3179 instead of CONSTANT_P when considering register equivalences.
3180
3181 2001-11-20 David O'Brien <obrien@FreeBSD.org>
3182
3183 * config.gcc: Add FreeBSD/PowerPC target.
3184 (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3185 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3186 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3187 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3188 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3189 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
3190 freebsd-spec.h to tm_file.
3191 (rs6000-*-lynxos*): Add lynx.h to tm_file.
3192 * config/freebsd.h: Tidy up.
3193 (USING_CONFIG_FREEBSD): Define.
3194 (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
3195 FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
3196 FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
3197 (TARGET_HAS_F_SETLKW): Define.
3198 (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
3199 * config/freebsd-spec.h: New file.
3200 * config/rs6000/freebsd.h: New file.
3201 * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
3202 * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
3203 USING_SVR4_H to know when to turn on ELF support.
3204 * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
3205 define only if not already defined.
3206 Add FreeBSD support.
3207 * config/rs6000/aix.h (TARGET_VERSION): Define.
3208 * config/rs6000/beos.h: Likewise.
3209 * config/rs6000/darwin.h: Likewise.
3210 * config/rs6000/mach.h: Likewise.
3211 * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
3212 Don't include lynx.h directly.
3213
3214 2001-11-20 Graham Stott <grahams@redhat.com>
3215
3216 * unwind-dw2-fde.c (__deregister_frame_info_bases):
3217 Fix lossage in last change return OB.
3218
3219 Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com>
3220
3221 * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
3222 Remove unneeded exit related macros.
3223
3224 2001-11-20 David Edelsohn <edelsohn@gnu.org>
3225
3226 * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
3227
3228 * rs6000.c (rs6000_emit_move): Add TFmode case.
3229 * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
3230 LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
3231 LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
3232 * rs6000.h: ... to here.
3233 * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
3234 trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
3235 fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
3236
3237 Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3238
3239 * emit-rtl.c (get_mem_attrs): Fix typo.
3240
3241 2001-11-20 Jakub Jelinek <jakub@redhat.com>
3242
3243 * c-lang.c (finish_file): Backout 2001-11-16
3244 changes, instead set DECL_DEFER_OUTPUT for static inline functions
3245 before calling c_expand_deferred_function.
3246
3247 2001-11-20 Jakub Jelinek <jakub@redhat.com>
3248
3249 * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
3250 Don't register empty .eh_frame sections.
3251 (__deregister_frame_info_bases, __deregister_frame): Don't
3252 unregister them either.
3253
3254 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
3255
3256 * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
3257 (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
3258 * configure: Regenerate.
3259 * config.in: Add dummy definitions of new flags.
3260 * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
3261 * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
3262 * gcc.c (ASM_DEBUG_SPEC): New macro.
3263 (asm_debug): New static variable.
3264 (default_compilers): Add asm_debug when assembling from
3265 user input.
3266 (static_specs): Add asm_debug.
3267
3268 2001-11-20 Loren J. Rittle <ljrittle@acm.org>
3269
3270 * config.gcc (*-*-freebsd*): Remove configuration block.
3271
3272 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
3273
3274 bootstrap/4422
3275 * configure.in: Setup ability to run ./stage[1234]/xgcc in
3276 fixinc *as if* it were a proper lang subdirectory.
3277 * configure: Rebuilt.
3278
3279 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
3280
3281 * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
3282
3283 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3284
3285 * 1750a.md: Don't use hex format for a const_int.
3286
3287 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
3288
3289 * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
3290
3291 2001-11-19 Zack Weinberg <zack@codesourcery.com>
3292
3293 * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
3294 defined (prevents link errors when gettext isn't in the system
3295 library).
3296
3297 2001-11-19 DJ Delorie <dj@redhat.com>
3298
3299 * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
3300 (validate_const_int): New.
3301 (read_rtx): Validate constant integers.
3302 * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
3303
3304 2001-11-19 Jakub Jelinek <jakub@redhat.com>
3305
3306 * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
3307
3308 Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
3309
3310 * toplev.c (DUMPFILE_FORMAT): Define default.
3311 (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
3312 (close_dump_file, compile_file): Likewise.
3313 * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
3314 * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
3315
3316 2001-11-19 Jeff Law <law@redhat.com>
3317
3318 * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
3319 a nop-jump.
3320
3321 2000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
3322
3323 * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
3324 Don't fall off the base token run.
3325
3326 2001-11-19 Jason Wilkins <fenix@io.com>
3327
3328 * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
3329
3330 Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3331
3332 * tree.def (VIEW_CONVERT_EXPR): New tree code.
3333 * tree.h (handled_component_p): New declaration.
3334 * alias.c (handled_component_p): Move function from here ...
3335 * expr.c (handled_component_p): ... to here and non longer static.
3336 (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
3337 (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
3338 (get_inner_reference): Handle VIEW_CONVERT_EXPR.
3339 (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
3340 (expand_expr, case VIEW_CONVERT_EXPR): New case.
3341 (expand_expr, cse ADDR_EXPR): No need to copy if already
3342 BIGGEST_ALIGNMENT.
3343 * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
3344 * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
3345 (output_constant): Handle VIEW_CONVERT_EXPR.
3346 * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
3347 Add new case for VIEW_CONVERT_EXPR.
3348
3349 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3350
3351 * a29k/unix.h (ASM_FILE_START): Const-ify.
3352 * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
3353 * i386/isc.h (ASM_FILE_START): Const-ify.
3354 * i386/sun386.h (ASM_FILE_START): Likewise.
3355 * m32r.md: Likewise.
3356 * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
3357 * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
3358 * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
3359 * mn10200.md: Initialize variable.
3360
3361 Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
3362
3363 * gcse.c (try_replace_reg): Copy RTX before creating note.
3364
3365 * df.h (df_ref_flags): New uenum.
3366 (DF_REF_FLAGS): New macro.
3367 (struct ref): Add field "flags".
3368 * df.c (HANDLE_SUBREG): Remove.
3369 (df_ref_create): Likewise; set flags field of ref.
3370 (df_def_record_1): Strip down read_write subreg; remove
3371 commented out code; set READ_WRITE flag.
3372 (read_modify_subreg_p): New static function.
3373 (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
3374 new argument "flags".
3375 (df_insn_refs_record): Update call of df_uses_record.
3376 (df_insn_modify): Avoid #if 0 around comment.
3377 (df_dump): Dump the read/write flag.
3378
3379 * predict.c (propagate_freq): Make cyclic_probability and frequency
3380 volatile
3381
3382 * i386.c (ix86_cc_mode): Accept USE.
3383
3384 * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
3385 jump is turned into simplejump.
3386
3387 2001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
3388
3389 * doc/fragments.texi, doc/trouble.texi: Remove links to old
3390 installation chapter.
3391 * doc/gcc.texi: Don't claim that this manual documents
3392 installation. Mark Installation menu entry as being out of date.
3393
3394 Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
3395
3396 * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
3397 (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
3398 * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
3399
3400 2001-11-19 Jason Merrill <jason@redhat.com>
3401
3402 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
3403 cur_token, not after.
3404
3405 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
3406 Lose ASM_OUTPUT_CONSTRUCTOR.
3407 * system.h: Poison it and INT_ASM_OP.
3408 * c-lang.c (finish_file): Don't check for it.
3409 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
3410
3411 2001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3412
3413 * mmix.c (mmix_cc1_ignored_option): Const-ify.
3414 (mmix_init_machine_status): Make static to match declaration.
3415 (mmix_unique_section): Const-ify.
3416 (mmix_output_quoted_string): Avoid automatic aggregate
3417 initialization.
3418 (mmix_output_register_setting): Likewise.
3419 (mmix_output_shiftvalue_op_from_str): Likewise.
3420
3421 * mmix.h (mmix_cc1_ignored_option): Const-ify.
3422 (ASM_OUTPUT_BYTE): Fix format specifier warning.
3423 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3424
3425 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
3426
3427 PR c/4448
3428 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
3429 name __objc_thread_exit_status so that it matches the
3430 variable defined in objc/thr.h.
3431
3432 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
3433
3434 PR bootstrap/4020
3435 * mklibgcc.in: Add missing semi-colons.
3436 * Makefile.in: Same.
3437
3438 Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3439
3440 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
3441 after re-laying out decl in incomplete case.
3442 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
3443
3444 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
3445
3446 * doc/install-old.texi: Move some sections out to ...
3447 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
3448 ... here. New files. Make into chapters rather than sections.
3449 * doc/gcc.texi: Include the new files and add menu entries for
3450 them.
3451 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3452
3453 Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3454
3455 * tree.h (TYPE_ALIGN_OK): New flag.
3456 * emit-rtl.c (set_mem_attributes): Handle it.
3457 * expr.c (emit_single_push_insn): Only set to alias set 0 if
3458 doing sibcall optimization.
3459 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
3460 when make temporary.
3461 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
3462 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
3463
3464 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
3465
3466 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
3467
3468 * c-decl.c (c_decode_option): Give deprecation warning for
3469 -traditional.
3470 * doc/invoke.texi (-traditional): Note that this option is
3471 deprecated.
3472
3473 Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
3474
3475 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
3476 arg to HOST_WIDE_INT, not long.
3477
3478 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
3479 (HAS_INIT_SECTION): Define.
3480 (REAL_ARITHMETIC): Don't undefine.
3481
3482 2001-11-18 Egor Duda <deo@logos-m.ru>
3483
3484 * config/i386/cygwin.h: Strip leading '*' from name, if any.
3485
3486 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
3487
3488 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
3489 * c-common.c: Include diagnostic.h.
3490 (c_common_finish): New.
3491 * c-common.h (c_common_finish): New.
3492 * c-lang.c (LANG_HOOKS_FINISH): Override.
3493 * c-parse.in: Don't include diagnostic.h.
3494 (finish_parse): Remove.
3495 * langhooks.h: Update comments.
3496 * toplev.c (lang_dependent_init): New prototype.
3497 (finalize): New.
3498 (compile_file): Split cleanup code out to finalize.
3499 (lang_dependent_init): Stop if lang_hooks.init fails.
3500 (toplev_main): Update.
3501 * tree.h (finish_parse): Remove.
3502 objc:
3503 * objc-act.c (LANG_HOOKS_FINISH): Override.
3504
3505 Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
3506
3507 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
3508 * config/alpha/vms_tramp.asm: New file.
3509 * config/alpha/vms-tramp.asm: Removed.
3510
3511 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
3512
3513 * c-common.c (struct disabled_builtin, disabled_builtins,
3514 disable_builtin_function, builtin_function_disabled_p): New.
3515 (builtin_function_2): Check for disabled built-in functions.
3516 * c-common.h (disable_builtin_function): Declare.
3517 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
3518 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
3519 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
3520
3521 2001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
3522
3523 PR target/4606
3524 * config.gcc: Remove reference to va-clipper.h.
3525
3526 2001-11-17 Stan Shebs <shebs@apple.com>
3527
3528 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
3529 AltiVec-related bitfields.
3530
3531 Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3532
3533 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
3534 (mark_eh_region, case ERT_UKNONW): New case.
3535
3536 2001-11-17 Christopher Faylor <cgf@redhat.com>
3537 Corinna Vinschen <vinschen@redhat.com>
3538
3539 * config/i386/cygwin.h: Search target specific include directory for
3540 w32api stuff, if appropriate.
3541
3542 Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
3543
3544 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
3545
3546 2001-11-16 Aldy Hernandez <aldyh@redhat.com>
3547
3548 * config/rs6000/rs6000.md: Change all ldvx to lvx.
3549
3550 2001-11-16 Alexandre Oliva <aoliva@redhat.com>
3551
3552 * gensupport.c (process_rtx): Don't assume filename is the first
3553 argument of any rtl.
3554
3555 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3556
3557 * vax-protos.h (reg_was_0_p): New prototype.
3558 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
3559 * vax.c (follows_p, reg_was_0_p): New functions.
3560
3561 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3562
3563 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
3564 (casesi1): Likewise. Define new pattern which arises by simplification
3565 when operand 1 is a constant int. Correct pattern which arises by
3566 simplification when operand 1 is zero.
3567
3568 2001-11-16 David O'Brien <obrien@FreeBSD.org>
3569
3570 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
3571 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
3572 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
3573 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
3574 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
3575 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
3576 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
3577 * config/arm/aof.h: Don't include arm.h.
3578 * config/arm/aout.h: Likewise.
3579 * config/arm/coff.h: Don't include semi.h and aout.h.
3580 * config/arm/elf.h: Don't include aout.h.
3581 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
3582 (TARGET_VERSION): Undef before defining.
3583 (ARM_OS_NAME): Likewise
3584 (TARGET_DEFAULT): Likewise
3585 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
3586 * config/arm/pe.h: Don't include arm/coff.h.
3587 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
3588 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
3589 * config/arm/riscix1-1.h: Likewise.
3590 * config/arm/rix-gas.h: Don't include riscix.h.
3591 (DBX_CONTIN_LENGTH): Undef before defining.
3592 * config/arm/semi.h: Don't include aout.h.
3593 * config/arm/semiaof.h: Don't include aof.h.
3594 * config/arm/strongarm-coff.h: Don't include coff.h.
3595 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
3596 * config/arm/vxarm.h: Don't include arm/coff.h.
3597 * config/arm/xscale-coff.h: Don't include coff.h.
3598
3599 Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3600
3601 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
3602 emit_cmp_insn.
3603
3604 2001-11-16 Andreas Jaeger <aj@suse.de>
3605
3606 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
3607 to ....
3608 (fixup_fallthru_exit_predecessor): ... this.
3609 Change callers and prototype.
3610
3611 2001-11-16 Bernd Schmidt <bernds@redhat.com>
3612
3613 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
3614 hand; don't use gen_setcc_2.
3615 (ix86_expand_builtin): Fix pshufw.
3616 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
3617 case UNORDERED to emit the right assembler instruction.
3618 (mmx_pshufw): Lose operand 2.
3619 (cvtsi2ss): Fix representation.
3620 From Graham Stott:
3621 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
3622
3623 2001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
3624
3625 * doc/include/linux-and-gnu.texi: Remove.
3626 * doc/gnu.texi: New.
3627 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
3628 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3629
3630 2001-11-16 Kazu Hirata <kazu@hxi.com>
3631
3632 * config/a29k/a29k.c: Fix comment formatting.
3633 * config/a29k/a29k.h: Likewise.
3634 * config/arc/arc.c: Likewise.
3635 * config/arc/arc.h: Likewise.
3636 * config/vax/vax.c: Likewise.
3637 * config/vax/vax.h: Likewise.
3638 * config/we32k/we32k.c: Likewise.
3639 * config/we32k/we32k.h: Likewise.
3640
3641 2001-11-16 Jeff Law <law@redhat.com>
3642
3643 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
3644 creating a new jump insn.
3645
3646 Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3647
3648 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
3649 copy misaligned data.
3650 * varasm.c (assemble_variable): Set alignment into MEM when changed.
3651
3652 2001-11-16 Graham Stott <grahams@redhat.com>
3653
3654 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
3655 OPALIGN type.
3656
3657 2001-11-16 Olivier Hainque <hainque@act-europe.fr>
3658
3659 * except.c: Support for catching a list of types with a single handler
3660 (struct eh_region): Change type and filter to lists for catch regions.
3661 (mark_eh_region): Mark the filter list for GC also.
3662 (expand_start_catch): Always build a list if argument not NULL and
3663 register each type of the list through add_type_for_runtime.
3664 (duplicate_eh_region_1): Change type into type_list for catch regions.
3665 (assign_filter_values): Assign a filter to each type associated with a
3666 catch region. Assign filter for NULL types in a unique entry in the
3667 filter list.
3668 (build_post_landing_pads): Emit compare and jump for each filter of
3669 the list associated with a catch region.
3670 (reachable_next_level): When the type thrown is known, stop the search
3671 as soon as one type within a catch list matches. Also, a handler is
3672 potentially reachable only if at least one of the types it catches
3673 has not been previously caught.
3674 (collect_one_action_chain): Retrieve the filter for a NULL type list
3675 from the first filter list entry. For non NULL type lists, add an
3676 action record for every filter assigned.
3677 * except.h: Reflect changes in comment before expand_start_catch.
3678
3679 Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3680
3681 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
3682 BLKmode.
3683
3684 Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
3685
3686 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
3687
3688 2001-11-16 Jakub Jelinek <jakub@redhat.com>
3689
3690 * c-lang.c (finish_file): Don't emit static inline functions if
3691 they weren't referenced.
3692
3693 2001-11-15 Stan Shebs <shebs@apple.com>
3694
3695 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
3696
3697 2001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3698
3699 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
3700 call.
3701 * config/i386/i386.md: Likewise.
3702
3703 Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3704
3705 * timevar.c (rtl.h): Include so get fancy abort.
3706
3707 2001-11-15 Dale Johannesen <dalej@apple.com>
3708
3709 * config/darwin.h (SELECT_RTX_SECTION): Force address
3710 initializers into 'const' section
3711 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
3712 if_then_else to match result, not operands
3713
3714 Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3715
3716 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
3717 * emit-rtl.c (change_address): Fix typo in default alignment.
3718 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
3719 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
3720 * rtl.h (REGNO_PTR_FRAME_P): New macro.
3721
3722 * expr.c (store_field): Pass tree instead of max size; callers changed.
3723 Change handling of alignment.
3724 Only copy to_rtx if is TARGET.
3725 (expand_expr_unaligned): Delete; callers now use expand_expr.
3726 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
3727 (expand_assignment): Change handling of alignment.
3728 Only copy to_rtx if was original.
3729 (get_inner_reference): No longer return alginment; callers changed.
3730 (expand_expr, case COMPONENT_REF): Change handling of alignment.
3731 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
3732 (compare_from_rtx): Delete ALIGN parm; all callers changed.
3733 (do_compare_rtx_and_jump): Likewise.
3734 * expr.h: Reflect above changes.
3735 * tree.h: Likewise.
3736 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
3737 to get_inner_reference.
3738 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
3739 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
3740 * optabs.c: Likewise.
3741 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
3742 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
3743 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
3744 compare_rtx_and_jump, and emit_cmp_jump_insns.
3745 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
3746 * function.c (assign_stack_temp_for_type): No longer static.
3747 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
3748 (prepare_cmp_insn): Delete declaration.
3749 * rtl.h (assign_stack_temp_for_type): Add declaration.
3750 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
3751 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
3752 * config/i386/i386.c,config/mips/mips.c: Likewise.
3753 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
3754 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
3755
3756 2001-11-15 Stan Shebs <shebs@apple.com>
3757
3758 * config/rs6000/rs6000.h: Fix a comment typo.
3759 (RTX_COSTS): Sort processor versions better.
3760
3761 2001-11-15 Kazu Hirata <kazu@hxi.com>
3762
3763 * config/h8300/h8300.md: Fix insn length of bit insns.
3764
3765 2001-11-15 Jason Merrill <jason@redhat.com>
3766
3767 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
3768 DIEs if there were errors in the source.
3769
3770 * config/alpha/alpha-interix.h, config/alpha/elf.h,
3771 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
3772 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
3773 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
3774 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
3775 config/elfos.h, config/lynx.h, config/netware.h,
3776 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
3777 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
3778 uses to use ASM_LONG.
3779
3780 2001-11-15 Alan Matsuoka <alanm@redhat.com>
3781
3782 * gensupport.c process_include : Change call to alloca to
3783 xmalloc.
3784
3785 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
3786
3787 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
3788 templates.
3789
3790 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3791
3792 * final.c (alter_subreg): If simplify_subreg can't do anything,
3793 handle REG ourselves and abort for others.
3794
3795 2001-11-15 Richard Hodson <hodsonr@dionecorp.com>
3796
3797 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
3798 routines.
3799
3800 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
3801
3802 * fix-header.c (read_scan_file): Update.
3803
3804 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3805
3806 * toplev.c (toplev_main): Don't start timing until after
3807 command-line options are parsed.
3808
3809 2001-11-15 Andreas Schwab <schwab@suse.de>
3810
3811 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
3812 makefile frag, not host makefile frag.
3813 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
3814 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
3815 used.
3816 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
3817 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
3818 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
3819 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
3820 * config/i386/t-dgux (STMP_FIXPROTO): Define.
3821 * config/x-interix: Don't define STMP_FIXPROTO and
3822 FIXPROTO_DEFINES.
3823 * config/t-interix: New file, define STMP_FIXPROTO.
3824 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
3825 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
3826 * config/t-svr4 (FIXPROTO_DEFINES): Define.
3827 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
3828 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
3829 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
3830 * config/m68k/t-hp3200: Renamed from x-hp3200.
3831 * config/i370/t-oe: Renamed from x-oe.
3832 * config/mips/t-iris: Renamed from x-iris.
3833 * config/pa/t-bsd: Renamed from x-pa.
3834 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
3835 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
3836 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
3837 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
3838 config/rs6000/x-cygwin: Remove files.
3839
3840 * configure.in: Check for target objdump and use that in eh_frame
3841 optimization test.
3842 * configure: Regenerated.
3843
3844 2001-11-15 Jakub Jelinek <jakub@redhat.com>
3845
3846 * jump.c (squeeze_notes): Return true if no real insns were found.
3847 * rtl.h (squeeze_notes): Adjust prototype.
3848 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
3849 squeeze_notes finds no real instructions, abort.
3850 (merge_blocks_move_successor_nojumps): Likewise.
3851 * loop.c (find_and_verify_loops): Likewise.
3852 * stmt.c (expand_end_case): Likewise.
3853 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
3854 find any real instructions.
3855
3856 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
3857
3858 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
3859 conditional jump, request updating life into for the block
3860 containing it. Fix a typo which prevented life info update.
3861 Clear blocks bitmap before using it.
3862
3863 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
3864
3865 * c-common.c: Include c-lex.h.
3866 (c_common_lang_init): Change prototype. Call init_c_lex and
3867 init_pragma from here.
3868 * c-common.h (c_common_lang_init): Change prototype.
3869 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
3870 * c-lang.c (c_init): Change prototype. Update.
3871 (c_init_options): Update.
3872 * c-lex.c (cpp_filename): Remove.
3873 (init_c_lex): Update. Read the main file, and get the original
3874 file name.
3875 (yyparse): Finish the command line options.
3876 * c-parse.in (c_parse_init): Call init_reswords here.
3877 (init_parse): Remove.
3878 * c-tree.h (c_init_decl_processing): New.
3879 * cpphash.c (_cpp_init_hashtable): After initializing the hash
3880 table, populate it.
3881 * cppinit.c (read_original_filename, cpp_finish_options): New.
3882 (cpp_create_reader): New prototype. Defer hash table initialization.
3883 (cpp_start_read): Rename cpp_read_main_file. Initialize the
3884 hash table. Get the original filename.
3885 * cpplib.h (cpp_create_reader): Update.
3886 (cpp_start_read): Remove.
3887 (cpp_read_main_file, cpp_finish_options): New.
3888 * cppmain.c (main, do_preprocessing): Update.
3889 * langhooks.h (struct langhooks): Update init prototype.
3890 * toplev.c (general_init, parse_options_and_default_flags,
3891 process_options, lang_indpendent_init, lang_dependent_init,
3892 init_asm_output): New; perform the bulk of initialization.
3893 (compile_file): Move most of initialization to above functions.
3894 (debug_hooks): Initialize statically.
3895 (set_Wunused): Relocate.
3896 (toplev_main): Move most of initialization to other init functions.
3897 Have a clear logic flow.
3898 * tree.h (init_parse, init_decl_processing): Remove.
3899 objc:
3900 * objc-act.c (objc_init): Update prototype, combine with old
3901 init_parse.
3902 (objc_init_options): Update.
3903
3904
3905 2001-11-15 Andreas Jaeger <aj@suse.de>
3906
3907 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
3908 portability.
3909 * basic-block.h: Adjust prototype.
3910
3911 2001-11-15 Kazu Hirata <kazu@hxi.com>
3912
3913 * config/rs6000/aix31.h: Fix comment formatting.
3914 * config/rs6000/beos.h: Likewise.
3915 * config/rs6000/darwin.h: Likewise.
3916 * config/rs6000/eabi.asm: Likewise.
3917 * config/rs6000/linux.h: Likewise.
3918 * config/rs6000/linux64.h: Likewise.
3919 * config/rs6000/lynx.h: Likewise.
3920 * config/rs6000/netbsd.h: Likewise.
3921 * config/rs6000/rs6000.c: Likewise.
3922 * config/rs6000/rs6000.h: Likewise.
3923 * config/rs6000/rs6000.md: Likewise.
3924 * config/rs6000/sol2.h: Likewise.
3925 * config/rs6000/tramp.asm: Likewise.
3926 * config/rs6000/xcoff.h: Likewise.
3927 * config/rs6000/xm-beos.h: Likewise.
3928
3929 2001-11-14 Alan Matsuoka <alanm@redhat.com>
3930
3931 * rtl.def (INCLUDE) : Define.
3932 * gensupport.c (init_include_reader, process_include,
3933 save_string) : New functions to implement an include facility
3934 in .md files.
3935 * gensupport.h : Add prototype for init_md_reader_args.
3936 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
3937 genextract.c genflags.c genopinit.c genoutput.c
3938 genpeep.c genrecog.c: Change call to init_md_reader to
3939 init_md_reader_args.
3940 * md.texi: Document (include "path") and -I directives for RTL
3941 generation tools.
3942
3943 2001-11-14 DJ Delorie <dj@redhat.com>
3944
3945 * integrate.c (get_hard_reg_initial_reg): New.
3946 * integrate.h (get_hard_reg_initial_reg): Prototype.
3947 * local-alloc.c (block_alloc): Don't tie pseudos that
3948 represent call-saved hard regs' initial values.
3949
3950 2001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3951
3952 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
3953 recursion.
3954
3955 2001-11-14 Roger Sayle <roger@eyesopen.com>
3956
3957 * fold-const.c (fold): Optimize strlen comparisons against zero.
3958
3959 2001-11-14 David O'Brien <obrien@FreeBSD.org>
3960
3961 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
3962 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
3963 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
3964 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
3965 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
3966 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
3967 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
3968 Include various CPU headers via tm_file. a.out based platforms now
3969 properly include sparc/aout.h. sol2.h usage now implies including
3970 elfos.h, svr4.h, and sparc/sysv4.h.
3971 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
3972 Also define to '1'.
3973 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
3974 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3975 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
3976 Remove. They are a.out specific and belong in sparc/aout.h.
3977 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
3978 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
3979 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
3980 sparc/sparc.h.
3981 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
3982 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
3983 Moved here from sparc/sparc.h.
3984 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
3985 defining.
3986 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
3987 * config/sparc/lynx.h: Don't include lynx.h.
3988 (SELECT_SECTION): Do not undef.
3989 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
3990 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
3991 and sparc/sysv4.h.
3992 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
3993 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
3994 sparc/aout.h now.
3995 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
3996 Don't undef, there is no need.
3997 * config/sparc/splet.h (CPP_PREDEFINES): Define.
3998 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
3999 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4000 Don't include sparc/sparc.h.
4001 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4002 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4003 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
4004 elfos.h and svr4.h.
4005 (TARGET_VERSION): Define.
4006 * config/sparc/vxsim.h (TARGET_VERSION): Define.
4007
4008 Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
4009
4010 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4011 (cfg_layout_finalize): Use it.
4012 * bb-reorder.c (HAVE_epilogue): Remove.
4013 (make_reorder_chain): Do not care special placement of
4014 last basic block.
4015
4016 * predict.c (expected_value_to_br_prob): Delete the note
4017 once transformed.
4018
4019 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4020 measure integration time separately.
4021
4022 Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4023
4024 * function.c (struct temp_slot): ALIGN now unsigned.
4025
4026 2001-11-14 Kazu Hirata <kazu@hxi.com>
4027
4028 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4029 * config/dsp16xx/dsp16xx.h: Likewise.
4030 * config/dsp16xx/dsp16xx.md: Likewise.
4031
4032 2001-11-14 Kazu Hirata <kazu@hxi.com>
4033
4034 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4035 that deals with 7-bit shifts in HImode.
4036
4037 Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
4038
4039 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4040 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4041 (final_scan_insn): Update call of alter_subreg.
4042 (cleanup_subreg_operands): Likewise.
4043 (alter_subreg): Rewrite using simplify_subreg.
4044 (output_address, output_operand): Update call of alter_subreg.
4045 * output.h (alter_subreg): Update prototype.
4046 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4047 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4048 * Makefile.in (final.o): Add dependency on expr.h
4049
4050 Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4051
4052 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4053
4054 2001-11-13 Jeff Sturm <jsturm@one-point.com>
4055
4056 * doc/install.texi (sparc-*-linux*): Mention requirements for
4057 binutils and glibc.
4058
4059 2001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
4060
4061 * Makefile.in (POD2MAN): Don't include --section=1.
4062 (manext): Rename to man1ext. All users changed.
4063 (man7ext): New.
4064 (man7dir): New.
4065 (generated-manpages): Also depend on $(docdir)/gfdl.7,
4066 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4067 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4068 --section=1 in calls to $(POD2MAN).
4069 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4070 (maintainer-clean, install, uninstall): Handle the new man pages.
4071 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4072 (installdirs): Create man7dir.
4073 * doc/cpp.texi: Include GFDL in this manual. In the man page,
4074 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
4075 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
4076 the SEE ALSO man page section.
4077 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
4078 and fsf-funding(7) in the SEE ALSO man page section.
4079 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
4080 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4081 * doc/include/fdl.texi, doc/include/funding.texi,
4082 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4083 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4084
4085 2001-11-13 Richard Henderson <rth@redhat.com>
4086
4087 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
4088 as appropriate for the artificial decl.
4089
4090 2001-11-13 Richard Henderson <rth@redhat.com>
4091
4092 * loop.c (combine_movables): Turn off combination until
4093 move_movables validation bugs are fixed.
4094
4095 2001-11-13 DJ Delorie <dj@redhat.com>
4096
4097 * config.gcc (powerpc|rs6000): Set default cpp options based
4098 on --with-cpu settings.
4099 * config/rs6000/softfloat.h: New.
4100
4101 2001-11-13 Kazu Hirata <kazu@hxi.com>
4102
4103 * config/h8300/h8300.c (shift_alg_si): Use special code for
4104 25-bit shifts on H8/S.
4105 (get_shift_alg): Generate special code for 25-bit shifts on
4106 H8/S.
4107
4108 2001-11-13 Jakub Jelinek <jakub@redhat.com>
4109
4110 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
4111 (adjust_automodify_address_1): New.
4112 * expr.h (adjust_address, adjust_address_nv): Adjust.
4113 (adjust_automodify_address, adjust_automodify_address_nv): Define.
4114 (adjust_address_1): Update prototype.
4115 (adjust_automodify_address_1): Add prototype.
4116 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
4117 (store_by_pieces_2): Likewise.
4118
4119 Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4120
4121 * Makefile.in (explow.o): Now depends on ggc.h.
4122 * explow.c (ggc.h): Include.
4123 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
4124
4125 * Makefile.in (expr.o): Depends on insn-attr.h.
4126 * expr.c (insn-attr.h): New include.
4127 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
4128 of MEM.
4129 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
4130 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
4131 clean up related usage in ADDR_EXPR.
4132 (expand_expr_unaligned): Likewise.
4133
4134 * emit-rtl.c (change_address): Fix typo in alias setting.
4135
4136 2001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4137
4138 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
4139
4140 2001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
4141
4142 PR bootstrap/3451
4143 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
4144 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
4145
4146 2001-11-12 David O'Brien <obrien@FreeBSD.org>
4147
4148 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
4149 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
4150 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
4151 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
4152 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
4153 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
4154 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
4155 sparc64-*-linux*): Include various CPU headers via tm_file.
4156 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
4157 (SELECT_SECTION): Likewise.
4158 (SELECT_RTX_SECTION): Likewise.
4159 * config/sparc/sparc_bi.h: New file.
4160 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
4161 * config/sparc/linux-aout.h: Likewise.
4162 * config/sparc/linux.h: Don't include sparc/sysv4.h.
4163 * config/sparc/linux64.h: Likewise.
4164 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
4165 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
4166 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
4167 and dbxcoff.h
4168 (ASM_OUTPUT_IDENT): Do not #undef.
4169 (SELECT_SECTION): Likewise.
4170 (SELECT_RTX_SECTION): Likewise.
4171 * config/sparc/liteelf.h: Don't include gofast.h.
4172 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
4173 * config/sparc/lynx.h: Don't include sparc/sparc.h.
4174 * config/sparc/pbd.h: Likewise.
4175 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
4176 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
4177 * config/sparc/rtemself.h: Don't include rtems.h.
4178 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
4179 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
4180 sparc_bi.h instead.
4181 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
4182 * config/sparc/sol2.h: Include sparc/sparc.h directly.
4183 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
4184 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
4185 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
4186 * config/sparc/sp86x-elf.h: Don't include gofast.h.
4187 * config/sparc/splet.h: Don't include sparc/aout.h.
4188 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
4189 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
4190 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
4191 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
4192 * config/sparc/vxsparc64.h: Don't include gofast.h.
4193 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
4194
4195 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
4196
4197 * doc/standards.texi: Mention C99 TC1.
4198
4199 2001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4200
4201 * mips-protos.h (mips_output_conditional_branch): Const-ify.
4202 * mips.c (mips_output_conditional_branch): Likewise.
4203
4204 2001-11-12 Kazu Hirata <kazu@hxi.com>
4205
4206 * config/h8300/h8300.c (shift_alg_si): Use special code for
4207 15-bit logical shifts and 31-bit logical shifts.
4208 (get_shift_alg): Generate special code for 15-bit and 31-bit
4209 logical shifts.
4210
4211 2001-11-12 Kazu Hirata <kazu@hxi.com>
4212
4213 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
4214 doing 6-bit logical shifts on H8/S.
4215 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
4216 (get_shift_alg): Generate special code for 21-bit shifts on
4217 H8/S.
4218
4219 2001-11-12 Kazu Hirata <kazu@hxi.com>
4220
4221 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
4222 label.
4223
4224 Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4225
4226 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
4227 if both size and offset known.
4228
4229 2001-11-12 David O'Brien <obrien@FreeBSD.org>
4230
4231 * config/ia64/freebsd.h: Fix misspelling.
4232
4233 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
4234
4235 * doc/gcc.texi: Move several chapters out to ...
4236 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
4237 doc/include/linux-and-gnu.texi, doc/interface.texi,
4238 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
4239 ... here. New files.
4240 * doc/gcc.texi, doc/contrib.texi: Move section headings into
4241 contrib.texi.
4242 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4243
4244 2001-11-12 Kazu Hirata <kazu@hxi.com>
4245
4246 * config/alpha/alpha-interix.h: Fix comment formatting.
4247 * config/alpha/alpha.c: Likewise.
4248 * config/alpha/alpha.h: Likewise.
4249 * config/alpha/alpha32.h: Likewise.
4250 * config/alpha/freebsd.h: Likewise.
4251 * config/alpha/unicosmk.h: Likewise.
4252 * config/alpha/vms.h: Likewise.
4253
4254 2001-11-12 Kazu Hirata <kazu@hxi.com>
4255
4256 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4257
4258 2001-11-12 Jakub Jelinek <jakub@redhat.com>
4259
4260 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
4261 numbers.
4262
4263 Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4264
4265 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
4266 from type.
4267 (replace_equiv_address): Call update_temp_slot_address.
4268
4269 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
4270
4271 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
4272
4273 2001-11-12 Kazu Hirata <kazu@hxi.com>
4274
4275 * config/h8300/h8300.c (shift_alg_qi): New.
4276 (shift_alg_hi): Likewise.
4277 (shift_alg_si): Likewise.
4278 (get_shift_alg): Change the type of count to unsigned int.
4279 Use the tables.
4280
4281 2001-11-11 Alexandre Oliva <aoliva@redhat.com>
4282
4283 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
4284 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
4285 to decide whether to defer a function.
4286 (finish_function): Adjust.
4287 (c_expand_deferred_function): New function.
4288 * c-lang.c (deferred_fns): New variable.
4289 (c_init): Initialize it, and mark it as a root.
4290 (defer_fn): New function.
4291 (finish_file): Expand all deferred functions.
4292 * c-tree.h (defer_fn): Declare.
4293 (c_expand_deferred_function): Likewise.
4294 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
4295 * objc-act.c (deferred_fns): New variable.
4296 (objc_init): Initialize it, and mark it as a root.
4297 (defer_fn): New function.
4298 (finish_file): Expand all deferred functions.
4299
4300 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4301
4302 * alpha.c (unicosmk_special_name): Prototype.
4303 (unicosmk_ssib_name): Delete unused variable.
4304 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
4305 * alpha/vms.h (PREFIX): Undef before defining.
4306 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
4307 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
4308 controlling usage. Const-ify.
4309 (alias_number): Delete unused variable.
4310 * m32r/m32r.c (m32r_sched_init): Add missing argument.
4311 (m32r_expand_block_move): Fix uninitialized warnings.
4312 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
4313 always true' warnings.
4314 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
4315 * sh/sh.c: Include "integrate.h".
4316 (output_far_jump): Fix uninitialized warning.
4317 * final.c (shorten_branches): Avoid automatic aggregate
4318 initialization.
4319 * integrate.c (subst_constants): Likewise.
4320
4321 2001-11-11 Kazu Hirata <kazu@hxi.com>
4322
4323 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
4324 (get_shift_alg): Remove redundant code.
4325
4326 2001-11-11 Kazu Hirata <kazu@hxi.com>
4327
4328 * config/pa/milli64.S: Fix comment formatting.
4329 * config/pa/pa-64.h: Likewise.
4330 * config/pa/pa-linux.h: Likewise.
4331 * config/pa/pa-protos.h: Likewise.
4332 * config/pa/pa.c: Likewise.
4333 * config/pa/pa.h: Likewise.
4334 * config/pa/pa32-linux.h: Likewise.
4335 * config/pa/pa32-regs.h: Likewise.
4336 * config/pa/pa64-hpux.h: Likewise.
4337 * config/pa/pa64-regs.h: Likewise.
4338 * config/pa/som.h: Likewise.
4339
4340 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
4341
4342 * doc/gcc.texi: Move several chapters out to ...
4343 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
4344 doc/service.texi, doc/standards.texi, doc/trouble.texi,
4345 doc/vms.texi: ... here. New files.
4346 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4347
4348 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
4349
4350 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
4351 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
4352 collect2.c, combine.c, config.in, configure, configure.in,
4353 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
4354 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
4355 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
4356 spelling errors.
4357
4358 Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4359
4360 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
4361 Adjust operand number in CONST_DOUBLE.
4362
4363 * expmed.c (extract_bit_field): No longer pass in alignment.
4364 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
4365 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
4366 Likewise.
4367 * expr.c (store_constructor, store_constructor_field): Likewise.
4368 (store_field, emit_group_load, emit_group_store): Likewise.
4369 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
4370 (store_bit_field, extract_bit_field): Likewise.
4371 * calls.c, expr.c, function.c: Change calls to above functions.
4372 * ifcvt.c, stmt.c: Likewise.
4373
4374 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
4375 constant and one is on frame.
4376 If know memref offset, adjust size from decl.
4377
4378 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4379
4380 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
4381 format specifier warning.
4382 * convex.h (ASM_OUTPUT_BYTE): Likewise.
4383 * elfos.h (ALIGN_ASM_OP): Undef before defining.
4384 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
4385 warning.
4386 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4387 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4388 * i386-interix.h (gen_stdcall_suffix): Prototype.
4389 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4390 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4391 ASM_OUTPUT_LONG_DOUBLE): Likewise.
4392 * i386/interix.c (gen_stdcall_suffix): Const-ify.
4393 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4394 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
4395 specifier warnings.
4396 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4397 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4398 ASM_OUTPUT_LONG_DOUBLE): Likewise.
4399 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4400 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4401 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4402 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4403 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
4404 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
4405 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4406 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4407 Likewise.
4408 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4409 Likewise.
4410 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
4411 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4412 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
4413 Likewise.
4414 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
4415 Likewise.
4416 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4417 Likewise.
4418 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
4419 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4420 * m68k/news.h (PRINT_OPERAND): Likewise.
4421 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4422 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
4423 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4424 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
4425 definition.
4426 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4427 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
4428 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
4429 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4430 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
4431 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
4432 PRINT_OPERAND): Likewise.
4433 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4434 Likewise.
4435 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4436 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4437 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
4438 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4439 * mips.c (mips_output_external_libcall): Mark parameter with
4440 ATTRIBUTE_UNUSED.
4441 (mips_asm_file_start): Move variable into the scope where it's
4442 used.
4443 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4444 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4445 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
4446 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4447 * ns32k.c (print_operand): Likewise.
4448 * pa.c (print_operand, output_div_insn): Likewise.
4449 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
4450 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
4451 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
4452 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4453 specifier warnings.
4454 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4455 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4456 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
4457 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4458 specifier warnings.
4459 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4460
4461 * sdbout.c (sdbout_end_epilogue): Mark parameter with
4462 ATTRIBUTE_UNUSED.
4463 * varasm.c (assemble_global): Likewise.
4464
4465 2001-11-11 H.J. Lu <hjl@gnu.org>
4466
4467 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
4468
4469 Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
4470
4471 * final.c (*_MAX_SKIP): Use *_max_skip variables.
4472 * flags.h (align_loops_max_skip, align_jumps_max_skip,
4473 align_labels_max_skip): New global variables.
4474 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
4475 align_labels_max_skip): New global variables.
4476 (toplev_main): Set new variables.
4477 * i386.c (override_options): Set max_skip values.
4478
4479 2001-11-10 Geoffrey Keating <geoffk@redhat.com>
4480
4481 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
4482 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
4483 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
4484 don't print an @fptr for labels either.
4485 (xstormy16_output_addr_vec): Don't print @fptr here.
4486 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
4487
4488 Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
4489
4490 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
4491 an ANSI/ISO definitino.
4492 (ssa_const_prop): Likewise.
4493
4494 2001-11-10 Aldy Hernandez <aldyh@redhat.com>
4495
4496 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
4497 altivec registers.
4498
4499 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4500
4501 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
4502 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
4503 * cppmain.c (general_init): Call hex_init.
4504 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
4505
4506 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
4507
4508 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
4509 of dgux.c:output_file_start().
4510
4511 * i386/dgux.c: Delete file.
4512
4513 2001-11-09 Richard Henderson <rth@redhat.com>
4514
4515 * config/alpha/alpha.c (decl_in_text_section): New.
4516 (current_file_function_operand): Use it.
4517 (alpha_encode_section_info, alpha_end_function): Likewise.
4518
4519 2001-11-07 David O'Brien <obrien@FreeBSD.org>
4520
4521 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
4522 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
4523 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
4524 so OS specific files and use CPP_PREDEFINES for their needs.
4525 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
4526 target headers to tm_file.
4527 * config/ia64/aix.h (TARGET_VERSION): Likewise.
4528 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
4529 * config/ia64/linux.h (TARGET_VERSION): Likewise.
4530 (FUNCTION_PROFILER): Remove.
4531 * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
4532 version in config/ia64/linux.h.
4533 * config/ia64/freebsd.h: New file.
4534 * config/freebsd.h: Tidy up.
4535 (_USING_CONFIG_FREEBSD): Define.
4536 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
4537 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
4538 (FBSD_STARTFILE_SPEC): Likewise.
4539 (FBSD_ENDFILE_SPEC): Likewise.
4540 (FBSD_LIB_SPEC): Likewise.
4541 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
4542 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
4543 set an ELF-improper one.
4544
4545 2001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
4546
4547 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
4548 constant can be loaded in a single instruction to a register. When
4549 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
4550 depdi for insertion of most significant 32-bits on 64-bit hosts.
4551 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
4552 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
4553 * pa.md: New addmove pattern for adding constant_int to HImode
4554 register and moving result to HImode register. Remove HImode HIGH
4555 and LO_SUM patterns.
4556
4557 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
4558
4559 * Makefile.in: Update.
4560 * c-decl.c (print_lang_decl, print_lang_type): Remove.
4561 (print_lang_identifier): Rename c_print_identifier.
4562 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4563 (print_lang_statistics, lang_print_xnode): Remove.
4564 * c-parse.in (set_yydebug): Rename c_set_yydebug.
4565 * c-tree.h (c_set_yydebug, c_print_identifier): New.
4566 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
4567 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
4568 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
4569 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4570 (LANG_HOOKS_INITIALIZER): Update.
4571 * langhooks.h (struct lang_hooks): New members.
4572 (lang_print_tree_hook): New.
4573 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
4574 * print-tree.c: Include langhooks.h.
4575 (print_node): Update.
4576 * toplev.c (decode_d_option): Update.
4577 * tree.c: Include langhooks.h.
4578 (dump_tree_statistics): Update.
4579 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
4580 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
4581 objc:
4582 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
4583 LANG_HOOKS_SET_YYDEBUG): Override.
4584 (lang_print_xnode, print_lang_statistics): Remove.
4585
4586 2001-11-09 Richard Henderson <rth@redhat.com>
4587
4588 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
4589 on the symbol string.
4590
4591 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4592
4593 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
4594 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
4595 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
4596
4597 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
4598
4599 * tlink.c (recompile_files): Copy strings passed to `putenv'.
4600
4601 2001-11-09 Geoffrey Keating <geoffk@redhat.com>
4602
4603 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
4604 (TYPE_READONLY): Likewise.
4605
4606 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
4607
4608 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
4609 don't pass --gdwarf2 to the assembler if the compiler will also
4610 provide debug info.
4611
4612 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4613 Don't change INDEX.
4614
4615 Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4616
4617 * alias.c (nonoverlapping_memrefs_p): New function.
4618 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
4619
4620 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
4621
4622 2001-11-09 Aldy Hernandez <aldyh@redhat.com>
4623
4624 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
4625 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
4626 generating altivec code.
4627 (FIXED_REGISTERS): VRSAVE is fixed.
4628 (CALL_USED_REGISTERS): VRSAVE is call used.
4629
4630 2001-11-09 Jason Eckhardt <jle@rice.edu>
4631
4632 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
4633 code the branch target as ".+16/.+12", but rather use labels.
4634
4635 Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
4636
4637 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
4638 to work around limitations of certain versions of GAS.
4639
4640 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
4641 (muldi3): Update due to SUBREG_BYTE changes.
4642 (casesi): Similarly.
4643
4644 2001-11-09 Zack Weinberg <zack@codesourcery.com>
4645
4646 * doc/invoke.texi: Remove comment referring to -xf77-version.
4647
4648 2001-11-09 Kazu Hirata <kazu@hxi.com>
4649
4650 * config/convex/convex.c: Fix comment formatting.
4651 * config/convex/convex.h: Likewise.
4652
4653 2001-11-08 Zack Weinberg <zack@codesourcery.com>
4654
4655 * Makefile.in (.po.pox): Look both in srcdir and builddir
4656 for $(PACKAGE).pot.
4657 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
4658 to the source directory.
4659
4660 2001-11-09 Ben Elliston <bje@redhat.com>
4661 Michael Meissner <meissner@redhat.com>
4662 Andrew MacLeod <amacleod@redhat.com>
4663 Richard Henderson <rth@redhat.com>
4664 Nick Clifton <nickc@redhat.com>
4665 Catherine Moore <clm@redhat.com>
4666
4667 * m32r.c: Add support for m32rx processor.
4668 * m32r.h: Ditto.
4669 * m32r.md: Ditto.
4670 * t-m32r: Ditto.
4671 * m32r-protos.h: Add prototypes for m32rx functions.
4672 * doc/invoke.texi: Document -m32rx option.
4673
4674 2001-11-09 Jakub Jelinek <jakub@redhat.com>
4675
4676 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
4677 or after reload.
4678
4679 2001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4680
4681 * doc/install.texi2html: Use $MAKEINFO --no-split.
4682
4683 2001-11-09 Andreas Schwab <schwab@suse.de>
4684
4685 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
4686 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
4687 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
4688 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
4689 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
4690
4691 2001-11-09 H.J. Lu <hjl@gnu.org>
4692
4693 * config/mips/mips.c (mips_output_function_prologues): Cast
4694 `tsize' to long for output.
4695
4696 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
4697
4698 * c-lang.c (LANG_HOOKS_NAME): New.
4699 (lang_hooks): Constify.
4700 (c_init_options): Update.
4701 (lang_identify): Remove.
4702 * c-parse.in (language_string): Remove.
4703 * dbxout.c: Include langhooks.h.
4704 (dbxout_symbol_location): Update.
4705 * dwarf2out.c: Include langhooks.h.
4706 (gen_compile_unit_die): Update.
4707 * dwarfout.c: Include langhooks.h.
4708 (prototyped_attribute, output_compile_unit_die): Update.
4709 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
4710 (LANG_HOOKS_INITIALIZER): Update.
4711 * langhooks.h (struct lang_hooks): New members. Constify.
4712 * stringpool.c: Don't include toplev.h.
4713 (set_identifier_size): Remove.
4714 * toplev.c (toplev_main): Initialize identifier size.
4715 (print_version): Update.
4716 * tree.h (language_string, init_lex, lang_identify,
4717 set_identifier_size): Remove.
4718 * Makefile.in: Update dependencies.
4719 * config/darwin.c: Include langhooks.h.
4720 (func_name_maybe_scoped): Update.
4721 * config/darwin.h (ASM_END_FILE): Update.
4722 * config/nextstep.h (ASM_END_FILE): Update.
4723 * config/nextstep21.h (ASM_END_FILE): Update.
4724 * config/i386/sun386.h (ASM_END_FILE): Update.
4725 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
4726 (rs6000_output_function_epilogue): Update.
4727 objc:
4728 * objc-act.c (LANG_HOOKS_NAME): Override.
4729 (struct lang_hooks): Constify.
4730 (objc_init_options): Update.
4731 (lang_identify): Remove.
4732
4733 Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
4734
4735 * fold-const.c (lshift_double): Honor PREC.
4736 (rshift_double): Likewise.
4737
4738 2001-11-08 Kazu Hirata <kazu@hxi.com>
4739
4740 * config/1750a/1750a.c: Fix comment formatting.
4741 * config/1750a/1750a.h: Likewise.
4742
4743 2001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
4744
4745 * configure.in (--enable-languages): Be more permissive about
4746 syntax. Check for empty lists better. Warn about $LANGUAGES.
4747 * configure: Regenerated.
4748
4749 2001-11-08 Richard Henderson <rth@redhat.com>
4750
4751 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
4752
4753 2001-11-08 Geoffrey Keating <geoffk@redhat.com>
4754
4755 * config.gcc: Rename stormy16 to xstormy16.
4756 * config/stormy16/stormy-abi: Likewise.
4757 * config/stormy16/stormy16-protos.h: Likewise.
4758 * config/stormy16/stormy16.c: Likewise.
4759 * config/stormy16/stormy16.h: Likewise.
4760 * config/stormy16/stormy16.md: Likewise.
4761
4762 2001-11-06 Geoffrey Keating <geoffk@redhat.com>
4763
4764 * tree.h (TYPE_VOLATILE): Add enable-checking code.
4765 (TYPE_READONLY): Likewise.
4766
4767 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4768
4769 * reload1.c (reload): Don't delete equiv insn if can throw.
4770
4771 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
4772 (clear_storage): Likewise, for OBJECT.
4773
4774 Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
4775
4776 * pa.c (emit_move_sequence): Fix SUBREG expression to
4777 use proper byte offset when extending a constant from
4778 SImode to DImode.
4779
4780 2001-11-09 Jakub Jelinek <jakub@redhat.com>
4781
4782 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
4783 which cannot throw.
4784
4785 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4786
4787 * explow.c (convert_memory_address, case SUBREG): Only return
4788 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
4789
4790 2001-11-08 Richard Henderson <rth@redhat.com>
4791
4792 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
4793 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
4794 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
4795
4796 2001-11-08 Aldy Hernandez <aldyh@redhat.com>
4797
4798 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
4799
4800 2001-11-08 Jakub Jelinek <jakub@redhat.com>
4801
4802 * dwarf2out.c (debug_str_hash): New.
4803 (struct indirect_string_node): New.
4804 (struct dw_val_struct): Change type of val_str to it.
4805 (DEBUG_STR_SECTION_FLAGS): Define.
4806 (add_AT_string): Push string into hashtable, increment reference
4807 counter.
4808 (AT_string): Return string from ht_identifier.
4809 (AT_string_form): New.
4810 (free_AT): For dw_val_class_str, just decrement reference counter.
4811 (size_of_string): Remove.
4812 (size_of_die): Use AT_string_form to decide what size the string
4813 occupies in DIE.
4814 (size_of_pubnames): Use strlen instead of size_of_string.
4815 (value_format): Use AT_string_form for dw_val_class_str.
4816 (output_die): Output DW_FORM_strp strings using
4817 dw2_asm_output_offset.
4818 (indirect_string_alloc, output_indirect_string): New.
4819 (dwarf2out_finish): Emit .debug_str strings if there are any.
4820
4821 2001-11-08 Andreas Franck <afranck@gmx.de>
4822
4823 * configure.in: Add AC_ARG_PROGRAM to support program name
4824 transformation with --program-prefix, --program-suffix and
4825 --program-transform-name.
4826 * configure: Regenerated.
4827 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
4828 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
4829 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
4830 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
4831 program_transform_name the way suggested by autoconf.
4832 (GCC_TARGET_INSTALL_NAME): Define.
4833 (install-driver): Use the transformed target alias name.
4834
4835 2001-11-08 Richard Henderson <rth@redhat.com>
4836
4837 * config/mips/mips.c (save_restore_insns): Remove GP from the
4838 restore registers mask early instead of special casing it inside
4839 the loop.
4840
4841 2001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
4842
4843 * cp/decl.c (shadow_warning): New function.
4844 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
4845 and an error when a block scope decl shadows a parameter.
4846
4847 2001-11-08 Richard Henderson <rth@redhat.com>
4848
4849 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
4850 case as well.
4851
4852 2001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
4853
4854 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
4855 to implement floating negation on processors prior to PA 2.0.
4856
4857 2001-11-08 Jakub Jelinek <jakub@redhat.com>
4858
4859 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
4860 (USE_LINKONCE_INDIRECT): Define.
4861 (dw2_output_indirect_constant_1): Try to output indirect constants
4862 into linkonce sections if possible.
4863 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
4864 (dw2_output_indirect_constants): Likewise.
4865
4866 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
4867
4868 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
4869
4870 2001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
4871
4872 * c-decl.c (pushdecl): Remove file and line.
4873 * c-typeck.c (pop_init_level): Remove size.
4874
4875 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
4876
4877 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
4878 for rs6000.
4879
4880 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
4881 (TARGET_ALTIVEC): New.
4882 (TARGET_SWITCHES): Add altivec.
4883 (FIRST_PSEUDO_REGISTER): Change to 109.
4884 (CALL_USED_REGISTERS): Same.
4885 (FIRST_ALTIVEC_REGNO): New.
4886 (LAST_ALTIVEC_REGNO): New.
4887 (ALTIVEC_REGNO_P): New.
4888 (UNITS_PER_ALTIVEC_WORD): New.
4889 (ALTIVEC_VECTOR_MODE): New.
4890 (FIXED_REGISTERS): Add altivec registers.
4891 (REG_ALLOC_ORDER): Same.
4892 (HARD_REGNO_NREGS): Adjust for altivec registers.
4893 (HARD_REGNO_MODE_OK): Same.
4894 (MODES_TIEABLE_P): Same.
4895 (REGISTER_MOVE_COST): Same.
4896 (REGNO_REG_CLASS): Same.
4897 (reg_class): Add ALTIVEC_REGS.
4898 (REG_CLASS_NAMES): Same.
4899 (REG_CLASS_CONTENTS): Same.
4900 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
4901 (ALTIVEC_ARG_RETURN): New.
4902 (FUNCTION_VALUE): Handle VECTOR_TYPE.
4903 (LIBCALL_VALUE): Handle altivec vector modes.
4904 (VECTOR_MODE_SUPPORTED_P): New.
4905 (ALTIVEC_ARG_MIN_REG): New.
4906 (ALTIVEC_ARG_MAX_REG): New.
4907 (ALTIVEC_ARG_NUM_REG): New.
4908 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
4909 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
4910 (REGISTER_NAMES): Add altivec regs.
4911 (DEBUG_REGISTER_NAMES): Same.
4912 (ADDITIONAL_REGISTER_NAMES): Same.
4913 (rs6000_builtins): New.
4914 (MD_EXPAND_BUILTIN): New.
4915 (MD_INIT_BUILTINS): New.
4916 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
4917 for AltiVec instructions.
4918 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
4919 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
4920 registers.
4921 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
4922 (TARGET_SWITCHES): Add no-altivec.
4923 (DATA_ALIGNMENT): Align vectors to 128 bits.
4924 (TARGET_OPTIONS): Add abi= option.
4925 Add rs6000_abi_string extern.
4926 (LOCAL_ALIGNMENT): New.
4927 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
4928 (MASK_ALTIVEC_ABI): New.
4929 (TARGET_ALTIVEC_ABI): New.
4930 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
4931 call-saved.
4932 (STACK_BOUNDARY): Adjust for altivec.
4933 (BIGGEST_ALIGNMENT): Same.
4934 (rs6000_args): Add vregno.
4935 (USE_ALTIVEC_FOR_ARG_P): New.
4936 (FIXED_REGISTERS): Add vrsave register.
4937 (CALL_USED_REGISTERS): Same.
4938 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
4939 (VRSAVE_REGNO): New.
4940 (reg_class): Add VRSAVE_REGS.
4941 (REG_CLASS_NAMES): Same.
4942 (REG_CLASS_CONTENTS): Same.
4943 (REGNO_REG_CLASS): Same.
4944
4945 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
4946 (ABI_STACK_BOUNDARY): Same.
4947 (BIGGEST_ALIGNMENT): Same.
4948 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
4949 (ROUND_TYPE_ALIGN): Same.
4950
4951 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4952 to 64.
4953
4954 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4955 to 64.
4956
4957 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4958 to 64.
4959
4960 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
4961 (altivec_expand_builtin): New.
4962 (altivec_init_builtins): New.
4963 (TARGET_EXPAND_BUILTIN): New.
4964 (TARGET_INIT_BUILTINS): New.
4965 (rs6000_init_builtins): New.
4966 (struct builtin_description): New.
4967 (bdesc_2arg): New.
4968 (rs6000_reg_names): Add altivec registers.
4969 (alt_reg_names): Same.
4970 (secondary_reload_class): Altivec regs can hold altivec regs and
4971 memory.
4972 (rs6000_emit_move): Force constants into memory for AltiVec moves.
4973 (print_operand): Add 'y' case for printing altivec memory
4974 operands.
4975 (rs6000_legitimize_address): Legitimize vector addresses into
4976 [REG+REG] or [REG].
4977 (altivec_expand_binop_builtin): New.
4978 New string rs6000_current_abi.
4979 (rs6000_override_options): Call rs6000_parse_abi_options.
4980 (rs6000_parse_abi_options): New.
4981 (function_arg_boundary): Vector arguments must be 16
4982 byte aligned.
4983 (function_arg_advance): Handle vector arguments.
4984 (function_arg_partial_nregs): Same.
4985 (init_cumulative_args): Same.
4986 (function_arg): Same.
4987
4988 * config/rs6000/rs6000.md (altivec_lvx): New.
4989 (type): Add altivec attribute.
4990 (movv4si): New.
4991 (*movv4si_internal): New.
4992 (movv16qi): New.
4993 (*movv16qi_internal): New.
4994 (movv8hi): New.
4995 (*movv8hi_internal1): New.
4996 (movv4sf): New.
4997 (*movv4sf_internal1): New.
4998 (altivec_stvx): New.
4999 (vaddubm): New.
5000 (vadduhm): New.
5001 (vadduwm): New.
5002 (vaddfp): New.
5003 (vaddcuw): New.
5004 (vaddubs): New.
5005 (vaddsbs): New.
5006 (vadduhs): New.
5007 (vaddshs): New.
5008 (vadduws): New.
5009 (vaddsws): New.
5010 (vand): New.
5011 (vandc): New.
5012 (vavgub): New.
5013 (vavgsb): New.
5014 (vavguh): New.
5015 (vavgsh): New.
5016 (vavguw): New.
5017 (vavgsw): New.
5018 (vcmpbfp): New.
5019 (vcmpequb): New.
5020 (vcmpequh): New.
5021 (vcmpequw): New.
5022 (vcmpeqfp): New.
5023 (vcmpgefp): New.
5024 (vcmpgtub): New.
5025 (vcmpgtsb): New.
5026 (vcmpgtuh): New.
5027 (vcmpgtsh): New.
5028 (vcmpgtuw): New.
5029 (vcmpgtsw): New.
5030 (vcmpgtfp): New.
5031 (vcmpgefp): New.
5032 (vcmpgtub): New.
5033 (vcmpgtsb): New.
5034 (vcmpgtuh): New.
5035 (vcmpgtsh): New.
5036 (vcmpgtuw): New.
5037 (vcmpgtsw): New.
5038 (vcmpgtfp): New.
5039 (vmaxub): New.
5040 (vmaxsb): New.
5041 (vmaxuh): New.
5042 (vmaxsh): New.
5043 (vmaxuw): New.
5044 (vmaxsw): New.
5045 (vmaxfp): New.
5046 (vmrghb): New.
5047 (vmrghh): New.
5048 (vmrghw): New.
5049 (vmrglb): New.
5050 (vmrglh): New.
5051 (vmrglw): New.
5052 (vminub): New.
5053 (vminsb): New.
5054 (vminuh): New.
5055 (vminsh): New.
5056 (vminuw): New.
5057 (vminsw): New.
5058 (vminfp): New.
5059 (vmuleub): New.
5060 (vmulesb): New.
5061 (vmuleuh): New.
5062 (vmulesh): New.
5063 (vmuloub): New.
5064 (vmulosb): New.
5065 (vmulouh): New.
5066 (vmulosh): New.
5067 (vnor): New.
5068 (vor): New.
5069 (vpkuhum): New.
5070 (vpkuwum): New.
5071 (vpkpx): New.
5072 (vpkuhss): New.
5073 (vpkshss): New.
5074 (vpkuwss): New.
5075 (vpkswss): New.
5076 (vpkuhus): New.
5077 (vpkshus): New.
5078 (vpkuwus): New.
5079 (vpkswus): New.
5080 (vrlb): New.
5081 (vrlh): New.
5082 (vrlw): New.
5083 (vslb): New.
5084 (vslh): New.
5085 (vslw): New.
5086 (vsl): New.
5087 (vslo): New.
5088 (vsrb): New.
5089 (vrsh): New.
5090 (vrsw): New.
5091 (vsrab): New.
5092 (vsrah): New.
5093 (vsraw): New.
5094 (vsr): New.
5095 (vsro): New.
5096 (vsububm): New.
5097 (vsubuhm): New.
5098 (vsubuwm): New.
5099 (vsubfp): New.
5100 (vsubcuw): New.
5101 (vsububs): New.
5102 (vsubsbs): New.
5103 (vsubuhs): New.
5104 (vsubshs): New.
5105 (vsubuws): New.
5106 (vsubsws): New.
5107 (vsum4ubs): New.
5108 (vsum4sbs): New.
5109 (vsum4shs): New.
5110 (vsum2sws): New.
5111 (vsumsws): New.
5112 (vxor): New.
5113
5114 2001-11-07 Daniel Berlin <dan@cgsoftware.com>
5115
5116 * Makefile.in (df.o): Add fibheap.h to dependencies.
5117
5118 * df.h: Add prototypes for transfer functions, iterative_dataflow
5119 functions.
5120 (enum df_flow_dir): New enum.
5121 (enum df_confluence_op): New enum.
5122 (struct df): Add inverse_rts_map.
5123
5124 * df.c: Add sbitmap.h to the list of includes.
5125 (df_rd_global_compute): Removed.
5126 (df_ru_global_compute): Removed.
5127 (df_lr_global_compute): Removed.
5128 (df_rd_transfer_function): New function.
5129 (df_ru_transfer_function): New function.
5130 (df_lr_transfer_function): New function.
5131 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
5132 Use iterative_dataflow_bitmap instead of df_*_global_compute.
5133 (iterative_dataflow_sbitmap): New function.
5134 (iterative_dataflow_bitmap): New function.
5135
5136 2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
5137
5138 * doc/gcc.texi: Move terminology and spelling conventions to
5139 htdocs/codingconventions.html.
5140
5141 2001-11-07 Graham Stott <grahams@redhat.com>
5142
5143 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
5144
5145 Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
5146
5147 * expmed.c (expand_mult): Force operand to register before computing
5148 cost.
5149 * i386.c (x86_decompose_lea): New global vairable.
5150 * i386.h (x86_decompose_lea): Declare.
5151 (TARGET_DECOMPOSE_LEA): New macro.
5152 (RTX_COST): Handle leas properly.
5153
5154 2001-11-06 Richard Henderson <rth@redhat.com>
5155
5156 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
5157 defined for a CONSTRUCTOR; don't check it.
5158
5159 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
5160
5161 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
5162 test for absolute pathnames.
5163
5164 2001-11-06 Olivier Hainque <hainque@act-europe.fr>
5165
5166 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
5167 instructions up to the target pc inclusive.
5168
5169 2001-11-06 Steve Christiansen <smc@us.ibm.com>
5170
5171 * loop.c (loop_regs_scan): Don't invalidate PIC register.
5172
5173 2001-11-06 Eric Christopher <echristo@redhat.com>
5174
5175 * config/mips/mips.md(movdf_internal2): Add constraints for float
5176 to general register move.
5177 * config/mips/elf64.h: Add default ABI.
5178
5179 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5180
5181 * alias.c:: Include langhooks.h.
5182 * emit-rtl.c: Similarly.
5183 * toplev.c: Similarly.
5184 * tree-inline.c: Similarly.
5185 * langhooks-def.h: New, the old langhooks.h. Give the default
5186 hooks a common prefix.
5187 * langhooks.h: Contents extracted from toplev.h.
5188 * toplev.h: Move langhook stuff to langhooks.h.
5189 * langhooks.c: Give default hooks a common prefix.
5190
5191 * c-lang.c: Include langhooks-def.h.
5192 * objc/objc-act.c: Similarly.
5193 * Makefile.in: Update.
5194 * objc/Make-lang.in: Update.
5195
5196 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
5197
5198 * doc/install.texi: Document that configure options not listed in
5199 this file are unsupported. Document --with-system-zlib.
5200
5201 Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5202
5203 * rtl.h (mem_for_const_double): New declaration.
5204 * varasm.c (mem_for_const_double): New function.
5205 * config/convex/convex.md (movdf): Use it.
5206 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
5207 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
5208 * config/m68k/m68kv4.h: Likewise.
5209
5210 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
5211 of new GP reg classes.
5212
5213 * expr.c (store_field): When making temp object for unaligned
5214 component, set it to alias set 0.
5215
5216 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
5217
5218 * c-common.c (c_expand_expr_stmt): Apply default conversions to
5219 non-lvalue arrays if C99.
5220 * c-typeck.c (default_conversion): Split out code handling
5221 array-to-pointer and function-to-pointer conversions into a
5222 separate default_function_array_conversion function.
5223 (default_function_array_conversion): New function. Keep track of
5224 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
5225 arrays unchanged outside C99 mode instead of giving an error for
5226 them.
5227 (build_component_ref): Use pedantic_non_lvalue when handling
5228 COMPOUND_EXPR. Don't handle COND_EXPR specially.
5229 (convert_arguments): Use default_function_array_conversion.
5230 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
5231 non-lvalues are OK.
5232 (unary_complex_lvalue): Likewise.
5233 (internal_build_compound_expr): Use
5234 default_function_array_conversion. Apply default conversions to
5235 function in compound expression.
5236 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
5237 Use default_function_array_conversion.
5238 * doc/extend.texi: Update documentation of subscripting non-lvalue
5239 arrays.
5240 Fixes PR c/461.
5241
5242 2001-11-05 Zack Weinberg <zack@codesourcery.com>
5243
5244 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
5245 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
5246 corresponding to the complete set of .po and .gmo files in
5247 the source directory's po subdir, modified by LINGUAS. Don't
5248 look at ALL_LINGUAS.
5249 * configure.in: Don't set ALL_LINGUAS.
5250 * configure: Regenerate.
5251
5252 * Makefile.in (.po.gmo): Don't move into source directory.
5253 (.po.pox): Clarify comments.
5254 (install-po): Look for .gmo files in both srcdir and objdir;
5255 don't fail if a file is totally missing.
5256 (distclean): rmdir ada subdirectory too.
5257
5258 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
5259
5260 * config/rs6000/rs6000.c (rs6000_select_section): Handle
5261 CONSTRUCTORs _correctly_.
5262
5263 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5264
5265 * c-decl.c (delete_block): Remove.
5266 * c-tree.h (delete_block): Remove.
5267
5268 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5269
5270 * cppexp.c (lex, parse_defined): Update warning about defined.
5271
5272 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
5273
5274 * config/rs6000/rs6000.c (rs6000_select_section): Handle
5275 CONSTRUCTORs too.
5276
5277 2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
5278
5279 * config/arm/arm.c (arm_return_in_memory): Cope with
5280 int_size_in_bytes returning -1.
5281
5282 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
5283 DECL being NULL.
5284
5285 Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
5286
5287 * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
5288 remove unneeded dependencies;
5289 (cfglayout.o): New.
5290 * cfglayout.c, cfglayout.h: New files; break out from ...
5291 * bb-reorder.c: ... here; Remove unneeded includes;
5292
5293 2001-11-04 Alan Modra <amodra@bigpond.net.au>
5294
5295 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
5296
5297 2001-11-04 David Edelsohn <edelsohn@gnu.org>
5298
5299 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
5300 mode as well. Do not explicitly create intermediate regs.
5301
5302 2001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5303
5304 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
5305 (common_section): Delete unused variable.
5306 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
5307 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5308 * arm-protos.h (arm_poke_function_name, aof_add_import,
5309 aof_delete_import): Const-ify.
5310 * arm.c (legitimize_pic_address): Wrap variables in the macro
5311 controlling their usage.
5312 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
5313 (arm_poke_function_name, pic_chain, import, aof_add_import,
5314 aof_delete_import): Const-ify.
5315 * i386.c (ix86_osf_output_function_prologue): Const-ify.
5316 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5317 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
5318 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
5319 * i860/sysv3.h: Add missing comment closure.
5320 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
5321 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
5322 to symbolic_operand.
5323
5324 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
5325 (i960-*-*): Set tmake_file.
5326 (sparc86x-*-elf*): Fix typo in header name.
5327
5328 * sched-rgn.c (schedule_insns): Delete unused variable.
5329
5330 2001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5331
5332 PR c/2820
5333 * c-typeck.c (lookup_field): Rework to return a chain down to
5334 the looked-up field.
5335 (build_component_ref): Use the new lookup_field to handle
5336 nested anonymous entities correctly.
5337
5338 Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5339
5340 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
5341 Change parameters to gen_rtx_CONST_DOUBLE.
5342 (GEN_INT64, sparc_emit_set_const64): Likewise.
5343 * config/sparc/sparc.md (movdf split): Likewise.
5344
5345 2001-11-03 Geoffrey Keating <geoffk@redhat.com>
5346
5347 * unroll.c (calculate_giv_inc): Use find_last_value rather
5348 than just hoping the last instruction is the right SET.
5349 [Fixes 990604-1.c on stormy16.]
5350
5351 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
5352 library at all if -T is used.
5353
5354 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
5355 some uses of uninitialized variables in error cases.
5356
5357 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
5358 look at 'temp' if we won't be using it.
5359
5360 * config/stormy16/stormy16.h (CONST_COSTS): Define.
5361 (RTX_COSTS): Define.
5362 (ADDRESS_COST): Define.
5363 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
5364
5365 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
5366
5367 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
5368 stormy16_asm_output_mi_thunk.
5369 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
5370 function.
5371 * config/stormy16/stormy16-protos.h
5372 (stormy16_asm_output_mi_thunk): New prototype.
5373
5374 2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
5375
5376 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
5377 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
5378 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
5379 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
5380 sched-int.h, toplev.c, config/alpha/alpha.c,
5381 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
5382 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
5383 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
5384 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
5385 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
5386 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
5387 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
5388
5389 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5390
5391 * Makefile.in (dbxout.o): Depend on function.h.
5392 * collect2.c (is_in_list): Hide unused function.
5393 * dbxout.c: Include function.h.
5394 (source_label_number, dbxout_source_line, dbxout_source_file,
5395 dbxout_function_end, dbxout_begin_function): Wrap/move inside
5396 macros controlling usage.
5397 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
5398 * output.h (exports_section): Prototype.
5399
5400 * convex.c (convex_output_function_prologue): Fix format specifier
5401 warning.
5402 (asm_declare_function_name): Fix signed/unsigned warning.
5403 (print_operand): Fix format specifier warning.
5404 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
5405 * dsp16xx-protos.h (uns_comparison_operator,
5406 num_1600_core_shifts): Prototype.
5407 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
5408 (frame_size, frame_pointer_offset): Delete.
5409 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
5410 Make static. Fix format specifier warnings.
5411 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
5412 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
5413 * dsp16xx.md: Add default case in switches.
5414 * fr30.h (IN_RANGE): Delete.
5415 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5416 * mcore-protos.h (mcore_output_cmov): Const-ify.
5417 * mcore.c (mcore_output_cmov): Likewise.
5418 * mcore.h (switch_to_section): Make static and prototype.
5419 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
5420 unsigned>=0 warnings.
5421 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
5422 * rs6000-protos.h (read_only_data_section,
5423 read_only_private_data_section): Prototype.
5424 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5425 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
5426 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
5427
5428 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5429
5430 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
5431 ATTRIBUTE_UNUSED.
5432 * final.c (final_scan_insn): Add brackets around body of if-stmt.
5433 * gcc.c (convert_filename): Add static prototype. Const-ify.
5434 Wrap variable in macros controlling its use.
5435 * output.h (sdata_section): Add prototype.
5436
5437 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5438 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
5439 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
5440 (ASM_FILE_START): Const-ify.
5441 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
5442 specifier warning.
5443 * c4x.md: Don't use the 'U' integer suffix.
5444 * clipper.md (clipper_movstr): Delete declaration.
5445 * d30v-protos.h (d30v_move_2words): Const-ify.
5446 (debug_stack_info): Add prototype.
5447 * d30v.c: Include "integrate.h".
5448 (d30v_function_arg_boundary, d30v_function_arg,
5449 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
5450 signed/unsigned warnings.
5451 (d30v_print_operand_memory_reference, d30v_move_2words):
5452 Const-ify.
5453 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
5454 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
5455 * fr30.md: Const-ify.
5456 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5457 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
5458 (mvs_get_label_page): Hide unused static function.
5459 * i860.c (current_function_original_name): Const-ify.
5460 * i860/sysv3.h (current_function_original_name): Likewise.
5461 * i860/sysv4.h (current_function_original_name): Likewise.
5462 * i960.md: Add default case in switches. Remove unused variable.
5463 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
5464 * m32r.md: Const-ify.
5465 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
5466 * m68hc11.c: Include "reload.h".
5467 (static_chain_reg, print_options, m68hc11_asm_file_start):
5468 Const-ify.
5469 * m68hc11.md: Delete unused variable. Const-ify. Add parens
5470 around & in comparison.
5471 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5472 * mn10200.c (shift_mode): Remove trailing comma.
5473 * mn10300-protos.h (output_tst): Const-ify.
5474 * mn10300.c (output_tst): Likewise.
5475 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
5476 warnings.
5477 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
5478 * pa.c (output_ascii): Likewise.
5479 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5480 * pdp11.md (expand_unop): Delete declarations.
5481 * pj-protos.h (pj_output_addsi3): Const-ify.
5482 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
5483 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
5484 unique_src_operand): Add prototypes.
5485 (pj_output_store_into_lval): Make definition static.
5486 (pj_function_incoming_arg): Don't use unary plus.
5487 (pj_output_addsi3): Const-ify.
5488 * romp.md (get_symref): Delete declarations.
5489 * v850-c.c (mark_current_function_as_interrupt): Don't return
5490 value from void function.
5491 * v850.c: Include "integrate.h".
5492 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
5493 * vax-protos.h (const_section): Add prototype.
5494
5495 2001-11-03 Aldy Hernandez <aldyh@redhat.com>
5496
5497 * machmode.def: Add documentation for the seventh argument in
5498 vector modes.
5499
5500 2001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
5501
5502 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
5503 consistently.
5504 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
5505 <-melf>: Don't have markup for ELF acronym.
5506
5507 2001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
5508
5509 * config.gcc (mmix-*-*): New target.
5510 * doc/invoke.texi: Document MMIX options.
5511 * doc/contrib.texi: Add note about MMIX port to my entry.
5512 * config/mmix/t-mmix: New file.
5513 * config/mmix/mmix.h: New file.
5514 * config/mmix/mmix-protos.h: New file.
5515 * config/mmix/mmix.c: New file.
5516 * config/mmix/mmix.md: New file.
5517 * config/mmix/crti.asm: New file.
5518 * config/mmix/crtn.asm: New file.
5519
5520 2001-11-03 Kazu Hirata <kazu@hxi.com>
5521
5522 * config/sparc/linux-aout.h: Fix comment formatting.
5523 * config/sparc/linux.h: Likewise.
5524 * config/sparc/linux64.h: Likewise.
5525 * config/sparc/lynx.h: Likewise.
5526 * config/sparc/pbd.h: Likewise.
5527 * config/sparc/sol2-sld-64.h: Likewise.
5528 * config/sparc/sol2.h: Likewise.
5529 * config/sparc/sparc.c: Likewise.
5530 * config/sparc/sparc.h: Likewise.
5531 * config/sparc/sparc.md: Likewise.
5532 * config/sparc/sunos4.h: Likewise.
5533 * config/sparc/vxsim.h: Likewise.
5534 * config/sparc/vxsparc.h: Likewise.
5535 * config/sparc/vxsparc64.h: Likewise.
5536
5537 Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5538
5539 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
5540 reference to CONST_DOUBLE_MEM in comment.
5541 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
5542 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
5543 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
5544 * function.c (pop_function_context_from): Don't call
5545 restore_varasm_status.
5546 * function.h (restore_varasm_status): Delete declaration.
5547 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
5548 * rtl.c: Likewise.
5549 * rtl.def (CONST_DOUBLE): Update comment.
5550 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
5551 (CONST_DOUBLE_CHAIN): Likewise.
5552 (CONST_DOUBLE_MEM): Delete.
5553 (gen_rtx_CONST_DOUBLE): Update parameters.
5554 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
5555 Remove reference to CONST_DOUBLE_MEM.
5556 (const_alias_set): New variable.
5557 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
5558 (immed_real_const_1): Adjust tests for 0, 1, and 2.
5559 Don't set CONST_DOUBLE_MEM.
5560 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
5561 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
5562 Put constant in const_alias_set.
5563 (struct pool_constant): ALIGN now unsigned.
5564 OFFSET now HOST_WIDE_INT.
5565 Delete LABEL.
5566 (restore_varasm_status): Deleted.
5567 (mark_pool_constant): Mark desc->rtl.
5568 (force_const_mem): Rework to store rtl in hash table,
5569 not CONST_DOUBLE_MEM.
5570 Put constant in const_alias_set.
5571 (find_pool_constant): Check desc->rtl.
5572 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
5573 (init_varasm_once): Initialize const_alias_set.
5574
5575 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
5576 force_const_mem.
5577
5578 * reload.c (combine_reloads): Don't combine an output reload if there
5579 are other reloads around for part of the output.
5580
5581 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
5582 constant expression.
5583 (set_mem_decl): New function.
5584 * expr.h (set_mem_decl): New declaration.
5585 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
5586 (output_asm_operand_names): Add tab.
5587 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
5588
5589 * builtins.c (get_memory_rtx): Properly set MEM alias set and
5590 attributes.
5591
5592 2001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
5593
5594 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
5595 Use "invalid" instead of "illegal". Use @r in comments in
5596 examples.
5597
5598 2001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
5599
5600 * c-decl.c (pushdecl): Move block inside if conditional to remove
5601 possibility of a segfault. Lookup block-level extern
5602 variables in enclosing scopes correctly.
5603
5604 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
5605
5606 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
5607
5608 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
5609 SUBREG so we avoid SUBREGing memory.
5610
5611 * expmed.c (store_bit_field): Same.
5612
5613 2001-11-02 DJ Delorie <dj@redhat.com>
5614
5615 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
5616 using FP registers for DImode mem-mem moves is acceptable.
5617
5618 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
5619
5620 * builtins.c (apply_args_size): Handle vector arguments.
5621 (apply_result_size): Same.
5622
5623 * machmode.def: Set WIDER mode field for all vector entries.
5624
5625 2001-11-02 Graham Stott <grahams@redhat.com>
5626
5627 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
5628
5629 2001-11-01 Eric Christopher <echristo@redhat.com>
5630
5631 * config.gcc: Revert part of earlier patch.
5632 * config/mips/linux.h: Ditto.
5633 * df.c: Include tm_p.h to avoid warnings.
5634 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
5635 #if/#endif.
5636 * config/mips/mips.c: Define mips_abi regardless.
5637 (mips_output_function_prologues): Add long casts for .frame
5638 output.
5639 (override_options): Allow use of ABI_32.
5640
5641 2001-11-01 Kazu Hirata <kazu@hxi.com>
5642
5643 * config/m68hc11/m68hc11.c: Fix comment formatting.
5644 * config/m68hc11/m68hc11.h: Likewise.
5645 * config/m68hc11/m68hc11.md: Likewise.
5646
5647 2001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
5648
5649 * c-typeck.c (default_conversion): Retain the original expression
5650 codes.
5651 * gcc.dg/Wparentheses.c: New tests.
5652
5653 2001-11-01 David S. Miller <davem@redhat.com>
5654
5655 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
5656 64-bit Sparc description more in line with reality.
5657
5658 2001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
5659
5660 * Makefile.in (GCOV_OBJS): Add version.o.
5661 * gcov.c: Include "version.h" and <getopt.h>.
5662 (gcov_version_string): Remove.
5663 (print_usage): Take a parameter to determine whether this is a
5664 call from --help or an error message. Give fuller output that
5665 follows the GNU Coding Standards for --help.
5666 (print_version): New function.
5667 (options): New.
5668 (process_args): Use getopt_long. Support long options. Follow
5669 GNU Coding Standards for --help and --version.
5670 * doc/gcov.texi: Document long options.
5671 Addresses part of PR other/704.
5672
5673 2001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
5674
5675 * pa.c (output_move_double): Fix typo in double load.
5676
5677 2001-11-01 Kazu Hirata <kazu@hxi.com>
5678
5679 * config/h8300/h8300.c (h8300_encode_label): Compute a string
5680 before passing it to ggc_alloc_string.
5681
5682 2001-11-01 Kazu Hirata <kazu@hxi.com>
5683
5684 * config/m68k/3b1.h: Fix comment formatting.
5685 * config/m68k/3b1g.h: Likewise.
5686 * config/m68k/a-ux.h: Likewise.
5687 * config/m68k/amix.h: Likewise.
5688 * config/m68k/apollo68.h: Likewise.
5689 * config/m68k/atari.h: Likewise.
5690 * config/m68k/aux-exit.c: Likewise.
5691 * config/m68k/ccur-GAS.h: Likewise.
5692 * config/m68k/crds.h: Likewise.
5693 * config/m68k/dpx2.h: Likewise.
5694 * config/m68k/dpx2g.h: Likewise.
5695 * config/m68k/hp310.h: Likewise.
5696 * config/m68k/hp320.h: Likewise.
5697 * config/m68k/isi.h: Likewise.
5698 * config/m68k/linux.h: Likewise.
5699 * config/m68k/lynx.h: Likewise.
5700 * config/m68k/m68k-psos.h: Likewise.
5701 * config/m68k/m68k.c: Likewise.
5702 * config/m68k/m68k.h: Likewise.
5703 * config/m68k/m68k.md: Likewise.
5704 * config/m68k/m68kelf.h: Likewise.
5705 * config/m68k/m68kv4.h: Likewise.
5706 * config/m68k/mot3300.h: Likewise.
5707 * config/m68k/news.h: Likewise.
5708 * config/m68k/next.h: Likewise.
5709 * config/m68k/pbb.h: Likewise.
5710 * config/m68k/plexus.h: Likewise.
5711 * config/m68k/sgs.h: Likewise.
5712 * config/m68k/sun3.h: Likewise.
5713 * config/m68k/tower.h: Likewise.
5714 * config/m68k/vxm68k.h: Likewise.
5715
5716 2001-10-31 DJ Delorie <dj@redhat.com>
5717
5718 * config/mips/mips.h (mips_cache_flush_func): Prototype.
5719 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
5720 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
5721 * config/mips/mips.c (mips_cache_flush_func): New.
5722 * doc/invoke.texi: Document the new options.
5723
5724 2001-10-31 Hans-Peter Nilsson <hp@axis.com>
5725
5726 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
5727 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
5728
5729 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
5730
5731 * config/cris/cris.c: Include output.h after tree.h but before
5732 target.h.
5733
5734 2001-10-31 Zack Weinberg <zack@codesourcery.com>
5735
5736 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
5737 (INTL_SUBDIRS): Just intl.
5738 (.SUFFIXES): Add .gmo .po .pox.
5739 (native): Also depend on build-@POSUB@.
5740 (intl.all, intl.install): Depend on config.h and things it includes.
5741 (po-generated): New target; depend on c-parse.c and tradcif.c.
5742 (install-normal): Also depend on install-@POSUB@.
5743 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
5744 (build-, install-, build-po, update-po, install-po,
5745 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
5746
5747 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
5748 * configure.in: Don't munge XGETTEXT. Don't generate
5749 po/Makefile.in.
5750 * configure: Regenerate.
5751
5752 * exgettext: Delete.
5753 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
5754 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
5755
5756 2001-10-31 Kazu Hirata <kazu@hxi.com>
5757
5758 * config/h8300/h8300.md (two anonymous patterns): New.
5759
5760 2001-10-31 Aldy Hernandez <aldyh@redhat.com>
5761
5762 * tree.h (tree_index): Add support for V16QI and V8HI.
5763 (V8HI_type_node): New.
5764 (V16QI_type_node): New.
5765
5766 * tree.c (build_common_tree_nodes_2): Same.
5767
5768 * c-common.c (type_for_mode): Same.
5769
5770 2001-10-31 Kazu Hirata <kazu@hxi.com>
5771
5772 * config/i386/att.h: Fix comment formatting.
5773 * config/i386/beos-elf.h: Likewise.
5774 * config/i386/bsd.h: Likewise.
5775 * config/i386/bsd386.h: Likewise.
5776 * config/i386/crtdll.h: Likewise.
5777 * config/i386/cygwin.asm: Likewise.
5778 * config/i386/cygwin.h: Likewise.
5779 * config/i386/djgpp.h: Likewise.
5780 * config/i386/freebsd-aout.h: Likewise.
5781 * config/i386/freebsd.h: Likewise.
5782 * config/i386/gas.h: Likewise.
5783 * config/i386/i386-interix.h: Likewise.
5784 * config/i386/i386-protos.h: Likewise.
5785 * config/i386/i386.c: Likewise.
5786 * config/i386/i386.h: Likewise.
5787 * config/i386/i386.md: Likewise.
5788 * config/i386/i386elf.h: Likewise.
5789 * config/i386/interix.c: Likewise.
5790 * config/i386/isc.h: Likewise.
5791 * config/i386/isccoff.h: Likewise.
5792 * config/i386/iscdbx.h: Likewise.
5793 * config/i386/linux.h: Likewise.
5794 * config/i386/lynx.h: Likewise.
5795 * config/i386/mingw32.h: Likewise.
5796 * config/i386/netbsd-elf.h: Likewise.
5797 * config/i386/next.h: Likewise.
5798 * config/i386/osf1elf.h: Likewise.
5799 * config/i386/osfrose.h: Likewise.
5800 * config/i386/sco5.h: Likewise.
5801 * config/i386/seq-gas.h: Likewise.
5802 * config/i386/seq-sysv3.h: Likewise.
5803 * config/i386/sequent.h: Likewise.
5804 * config/i386/sol2.h: Likewise.
5805 * config/i386/sun386.h: Likewise.
5806 * config/i386/uwin.asm: Likewise.
5807 * config/i386/uwin.h: Likewise.
5808 * config/i386/vxi386.h: Likewise.
5809 * config/i386/win32.h: Likewise.
5810 * config/i386/winnt.c: Likewise.
5811 * config/i386/xm-cygwin.h: Likewise.
5812 * config/i386/xm-mingw32.h: Likewise.
5813
5814 2001-10-31 Kazu Hirata <kazu@hxi.com>
5815
5816 * builtins.def: Fix comment typos.
5817 * config/alpha.c: Likewise.
5818 * config/arm/arm.c: Likewise.
5819 * config/avr/avr.h: Likewise.
5820 * config/d30v/d30v.c: Likewise.
5821 * config/d30v/d30v.h: Likewise.
5822 * config/d30v/d30v.md: Likewise.
5823 * config/dsp16xx/dsp16xx.c: Likewise.
5824 * config/fr30/fr30.c: Likewise.
5825 * config/fr30/fr30.md: Likewise.
5826 * config/i386/i386.c: Likewise.
5827 * config/i860/i860.c: Likewise.
5828 * config/i960/i960.c: Likewise.
5829 * config/ia64/ia64.c: Likewise.
5830 * config/mips/mips.c: Likewise.
5831 * config/pa/pa.c: Likewise.
5832 * config/rs6000/rs6000.c: Likewise.
5833 * config/s390/s390.c: Likewise.
5834 * config/sparc/sparc.c: Likewise.
5835
5836 2001-10-30 Kazu Hirata <kazu@hxi.com>
5837
5838 * config/mips/elf.h: Fix comment formatting.
5839 * config/mips/elf64.h: Likewise.
5840 * config/mips/iris5.h: Likewise.
5841 * config/mips/iris5gas.h: Likewise.
5842 * config/mips/iris6.h: Likewise.
5843 * config/mips/isa3264.h: Likewise.
5844 * config/mips/linux.h: Likewise.
5845 * config/mips/mips.c: Likewise.
5846 * config/mips/mips.h: Likewise.
5847 * config/mips/mips.md: Likewise.
5848 * config/mips/mips16.S: Likewise.
5849 * config/mips/netbsd.h: Likewise.
5850 * config/mips/osfrose.h: Likewise.
5851 * config/mips/r3900.h: Likewise.
5852 * config/mips/sni-svr4.h: Likewise.
5853 * config/mips/svr4-t.h: Likewise.
5854 * config/mips/ultrix.h: Likewise.
5855
5856 2001-10-30 Daniel Berlin <dan@cgsoftware.com>
5857
5858 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
5859 when we update head->current.
5860
5861 2001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
5862
5863 * tree.c (id_string_size): Remove.
5864 (dump_tree_statistics): Update.
5865 * toplev.c (compile_file): If dumping stats, dump tree stats too.
5866
5867 Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
5868
5869 * sched-rgn.c (schedule_insns): Fix comment.
5870
5871 2001-10-30 Zack Weinberg <zack@codesourcery.com>
5872
5873 * configure.in: Correct previous change: don't assume that
5874 gas's version number _isn't_ the last thing on the line, or
5875 isn't the only number on the line, either.
5876 * configure: Regenerate.
5877
5878 2001-10-30 Kazu Hirata <kazu@hxi.com>
5879
5880 * cfgcleanup.c: Fix a comment typo.
5881
5882 2001-10-30 Kazu Hirata <kazu@hxi.com>
5883
5884 * alias.c: Fix comment formatting.
5885 * recog.c: Likewise.
5886 * config/cris/cris.c: Likewise.
5887 * config/cris/cris.h: Likewise.
5888 * config/i960/i960.c: Likewise.
5889 * config/i960/i960.h: Likewise.
5890
5891 2001-10-30 Kazu Hirata <kazu@hxi.com>
5892
5893 * config/arm/arm.c: Fix a comment typo.
5894 * config/arm/arm.h: Likewise.
5895 * config/ia64/ia64.c: Likewise.
5896
5897 2001-10-30 Jakub Jelinek <jakub@redhat.com>
5898
5899 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
5900 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
5901 * rtl.h (set_unique_reg_note): Change return value.
5902 * gcse.c (try_replace_reg): Use set_unique_reg_note.
5903 * cse.c (cse_insn): Likewise.
5904 * expr.c (emit_move_insn): Likewise.
5905 * explow.c (force_reg): Likewise.
5906 * local-alloc (update_equiv_regs): Likewise.
5907 * loop.c (move_moveables, load_mems): Likewise.
5908 * reload (find_reloads): Likewise.
5909
5910 2001-10-30 Paolo Bonzini <bonzini@gnu.org>
5911
5912 Localization fixes.
5913 * c-decl.c (parmlist_tags_warning, start_struct,
5914 check_for_loop_decls): Separate messages for struct, union and
5915 enum cases to allow for languages in which they have different
5916 genders.
5917 * c-format.c (scanf_flag_specs): Separate short and long name of
5918 the assignment suppression feature.
5919 (check_format_types): Localize "pointer" and "different types"
5920 strings.
5921 * c-lex.c (lex_number): Localize "an unsigned long int" and
5922 related strings.
5923 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
5924 warning message.
5925 * c-typeck.c (build_unary_up): Separate messages for increment and
5926 decrement cases to allow for languages in which they use different
5927 articles. Localize the strings "increment" and "decrement" in one
5928 case.
5929
5930 Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
5931
5932 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
5933 when no changes has been made.
5934
5935 * gcse.c (reg_set_bitmap): Turn into reg_set.
5936 (modify_mem_list_set, canon_modify_mem_list_set)
5937 (clear_modify_mem_tables, free_modify_mem_tables): New.
5938 (gcse_main); Use free_modify_mem_tables.
5939 (free_gcse_mem): Likewise; free the bitmaps.
5940 (alloc_gcse_main): Initialize the bitmaps.
5941 (canon_list_insert): Set canon_modify_mem_list_set.
5942 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
5943 (compute_hash_table): Use clear_modify_mem_tables.
5944 (reset_opr_set_tables): Likewise.
5945 (oprs_not_set_p): reg_set_bitmap is regset.
5946 (mark_set, mark_clobber): Likewise.
5947
5948 * df.h (DF_EQUIV_NOTES): New constant.
5949 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
5950 when asked for.
5951
5952 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
5953 (init_regions, schedule_insns): Conditionalize the checking
5954 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
5955
5956 Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
5957
5958 * i386.md (movti_rex64 splitter): Fix condition.
5959
5960 2001-10-29 Zack Weinberg <zack@codesourcery.com>
5961
5962 * configure.in: Do not assume that gas's version number is the
5963 last thing on the first line of as --version output.
5964 * configure: Regenerate.
5965
5966 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
5967 MT_WARNING, MT_ERROR, MT_FATAL.
5968 (main): Call gcc_init_libintl.
5969 (v_message): Call gettext on msgid and "warning: "
5970 * tradcif.y: Include intl.h.
5971 (yyerror): Make parameter definition consistent with
5972 prototype. Call gettext on msgid argument.
5973
5974 2001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5975
5976 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
5977 warnings.
5978
5979 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
5980
5981 Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5982
5983 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
5984 before referencing it.
5985
5986 2001-10-26 DJ Delorie <dj@redhat.com>
5987
5988 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
5989 override -G, and force -G0.
5990
5991 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
5992
5993 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
5994 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
5995 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
5996 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
5997
5998 * loop.h (struct induction): Rename ext_dependant to
5999 ext_dependent.
6000 * loop.c: Change all uses.
6001 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6002 All callers changed.
6003 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6004
6005 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
6006
6007 * c-parse.in (expr_no_commas, primary), c-typeck.c
6008 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6009
6010 2001-10-29 David Edelsohn <edelsohn@gnu.org>
6011
6012 Undo assemble_name change in earlier patch.
6013
6014 Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
6015
6016 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6017 determining the type of the receiver, do not check that TREE_CODE
6018 of receiver is CALL_EXPR before calling receiver_is_class_object().
6019 (receiver_is_class_object): For the GNU runtime: recognize
6020 the case that the receiver is self in a class method context.
6021 Check that TREE_CODE of receiver is CALL_EXPR when checking that
6022 the receiver is a call to objc_get_class.
6023
6024 2001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
6025
6026 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6027
6028 Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6029
6030 * Makefile.in (OBJS): Put all files in alphabetical order.
6031
6032 * dwarf2out.c (add_const_value_attribute): Fix error in last
6033 change.
6034
6035 Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
6036
6037 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6038 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6039 fix warning.
6040 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6041 (life_analysis): call purge_all_dead_edges after deleting noops.
6042 (delete_noop_move): Do not purge CFG.
6043 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6044
6045 2001-10-28 David Edelsohn <edelsohn@gnu.org>
6046
6047 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6048 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6049 (ASM_GLOBALIZE_LABEL): Use assemble_name.
6050 (ASM_OUTPUT_COMMON): Likewise.
6051 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6052 (rs6000_output_function_epilogue): Likewise.
6053 (output_mi_thunk): Fix typo.
6054 (rs6000_output_symbol_ref): Use assemble_name.
6055 (output_toc): Likewise.
6056 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6057 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6058 assemble_name calls STRIP_NAME_ENCODING.
6059 (ASM_OUTPUT_LABEL): Use assemble_name.
6060 (ASM_GLOBALIZE_LABEL): Likewise.
6061 (ASM_DECLARE_FUNCTION_NAME): Likewise.
6062 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
6063 (ASM_OUTPUT_LOCAL): Likewise.
6064
6065 Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6066
6067 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6068 (expand_builtin_apply, expand_builtin_return): Likewise.
6069 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6070
6071 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
6072
6073 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6074 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6075 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6076 configure, configure.in, except.c, except.h, flow.c, function.c,
6077 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6078 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6079 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6080 unroll.c: Fix spelling errors.
6081
6082 * doc/extend.texi, doc/invoke.texi: Fix spelling.
6083
6084 * doc/gcc.texi: Document use of "dependent" and American spelling.
6085
6086 Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
6087
6088 * expr.c (emit_group_load): Support CONCATs by storing them to memory
6089 and reloading.
6090
6091 Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6092
6093 * expr.c (store_constructor_field): Only call adjust_address on MEM.
6094
6095 Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
6096
6097 * genrecog.c (write_switch): Output if before switch for
6098 DT_elt_zero_wide_safe.
6099
6100 2001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6101
6102 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
6103 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
6104 (FUNCTION_PROFILER): Const-ify.
6105 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
6106 (eliminate_constant_term, assemble_name, output_addr_const):
6107 Remove declarations.
6108 (ptr_half_pic_address_p, half_pic_hash): Prototype.
6109 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
6110 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
6111 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
6112 (half_pic_declare, half_pic_external): Const-ify.
6113 * toplev.c: Include "halfpic.h".
6114
6115 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
6116
6117 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
6118 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
6119 config/i386/i386.c, config/i386/i386-interix.h,
6120 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
6121 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
6122 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
6123 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
6124 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
6125 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
6126 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
6127 spelling errors.
6128
6129 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6130 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
6131 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
6132 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
6133 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
6134 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
6135 system.h, toplev.c: Fix spelling errors.
6136
6137 Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6138
6139 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
6140
6141 * dwarf2out.c (reg_number): Abort if pseudo.
6142 (reg_loc_descriptor): Return 0 if pseudo.
6143 (is_based_loc): Return 0 if pseudo.
6144 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
6145 recursive calls.
6146 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
6147 (loc_descriptor): Return 0 if can't find location and handle 0
6148 return from recursive calls.
6149 (loc_descriptor_from_tree): Likewise.
6150 Fix handling of indirect.
6151 Also return 0 for PLACEHOLDER_EXPR.
6152 Clean up COMPONENT_REF cases.
6153 (add_AT_location_descriptor): Simplify, but handle 0 return from
6154 loc_descriptor.
6155 (add_const_value_attribute): Avoid shift count warning.
6156 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
6157 Set comp_unit_die as context if not in function.
6158
6159 * config/mips/mips-protos.h: Break up long lines.
6160 Remove needless #ifdef/#endif blocks.
6161 Don't declare functions declared in file made by genpreds or recog.h.
6162 * config/mips/mips.c (mips_output_function_prologue): TSIZE
6163 is now HOST_WIDE_INT; delete unneeded casts.
6164 * config/mips/mips.h: Don't use #elif.
6165
6166 * expr.c (stor_constructor_field): Always call adjust_address.
6167 Copy TARGET before changing its alias set.
6168 (store_field): Likewise, for TO_RTX.
6169 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
6170 replacement.
6171 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
6172 (find_placeholder): Return 0 if can't find object.
6173 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
6174 returns 0.
6175
6176 Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
6177
6178 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
6179
6180 Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
6181
6182 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
6183 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
6184 (merge_blocks): Properly udpate life after making edge nonfallthru.
6185 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
6186
6187 2001-10-26 Kazu Hirata <kazu@hxi.com>
6188
6189 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
6190
6191 2001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
6192
6193 * c-typeck.c (convert_arguments): When comparing for enumeral
6194 type equality, use TYPE_MAIN_VARIANT.
6195 * gcc.dg/Wconversion.c: New tests.
6196
6197 2001-10-26 Kazu Hirata <kazu@hxi.com>
6198
6199 * s390/s390.c: Fix comment typos.
6200 * s390/s390.h: Likewise.
6201 * s390/s390.md: Likewise.
6202
6203 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
6204
6205 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
6206 (walk_tree): Use it for tail calls where appropriate.
6207
6208 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
6209
6210 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
6211 non-local label_refs.
6212
6213 2001-10-26 Kazu Hirata <kazu@hxi.com>
6214
6215 * config/h8300/h8300.md (4 anonymous patterns): New.
6216
6217 2001-10-26 Kazu Hirata <kazu@hxi.com>
6218
6219 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
6220 algorithm through the shift_info structure.
6221 (emit_a_shift): Update the use of get_shift_alg.
6222
6223 2001-10-27 Daniel Berlin <dan@cgsoftware.com>
6224
6225 * sched-rgn.c: Remove bitset typedef.
6226 Change bitset to sbitmap in prototypes / variable types.
6227 Remove bbset_size.
6228 Remove edgeset_bits.
6229 Remove edgeset_size.
6230 s/BITSET_ADD/SET_BIT/g
6231 s/BITSET_INVERT/sbitmap_ones/g
6232 s/BITSET_INTER/sbitmap_a_and_b/g
6233 s/BITSET_UNION/sbitmap_a_or_b/g
6234 s/BITSET_DIFFER/sbitmap_difference/g
6235 s/bitset_member/TEST_BIT/g
6236 (BITSET_*): Removed.
6237 (bitset_member): Removed.
6238 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
6239 EXECUTE_IF_SET_IN_SBITMAP.
6240 (split_edges): Rewrite, use sbitmap functions instead of bitset
6241 operations.
6242 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
6243
6244 2001-10-26 Andreas Schwab <schwab@suse.de>
6245
6246 * reload1.c (emit_input_reload_insns): Fix parens in last
6247 (undocumented) change that was supposed to change only whitespace.
6248
6249 Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6250
6251 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
6252
6253 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
6254 ASM_OPERANDS.
6255
6256 2001-10-26 Andreas Jaeger <aj@suse.de>
6257
6258 * flow.c (clear_log_links): Remove unused variable.
6259 * cfgcleanup.c (cleanup_cfg): Likewise.
6260
6261 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
6262
6263 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
6264 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
6265
6266 2001-10-26 Richard Henderson <rth@redhat.com>
6267
6268 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
6269 rename PV_REG to R27_REG.
6270 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
6271 (REG_CLASS_FROM_LETTER): Update.
6272 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
6273 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
6274 (udivsi3, modsi3, umodsi3): Likewise.
6275 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
6276
6277 2001-10-26 Richard Henderson <rth@redhat.com>
6278
6279 * cfg.c (clear_aux_for_blocks): Split out of ...
6280 (free_aux_for_blocks): here.
6281 (clear_aux_for_edges): Split from ...
6282 (free_aux_for_edges): here.
6283 * basic-block.h: Declare them.
6284 * lcm.c (compute_antinout_edge): Use them.
6285 (compute_laterin, compute_available, compute_nearerout): Likewise.
6286 (optimize_mode_switching): Likewise.
6287
6288 2001-10-26 Richard Henderson <rth@redhat.com>
6289
6290 * Makefile.in (unstage*): Remove as, ld, collect-ld before
6291 moving everything back to the main build directory.
6292
6293 2001-10-26 Christopher Faylor <cgf@redhat.com>
6294
6295 * config/i386/cygwin.h: Search target specific include directory, if
6296 appropriate.
6297
6298 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6299
6300 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
6301 of macro guards. Fix #endif comment.
6302
6303 * output.h (default_exception_section, default_eh_frame_section):
6304 Move prototypes outside of macro guard.
6305
6306 * crtstuff.c: Fix #endif comment.
6307
6308 Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
6309
6310 * doc/md.texi (movMM): Clarify semantics of storing into a
6311 non-paradoxical SUBREG.
6312
6313 2001-10-25 Zack Weinberg <zack@codesourcery.com>
6314
6315 * langhooks.c (lang_hook_default_clear_binding_stack): New.
6316 (lang_hook_default_get_alias_set): Move next to other alias
6317 hooks.
6318 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
6319 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
6320 (LANG_HOOKS_INITIALIZER): Add it.
6321 * toplev.h (struct lang_hooks): Add clear_binding_stack.
6322 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
6323 instead of a loop calling poplevel.
6324
6325 2001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
6326
6327 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
6328 occurrences of #elif with #if...#endif.
6329
6330 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6331
6332 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
6333
6334 Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6335
6336 * alias.c (can_address_p): No longer static.
6337 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
6338 Return 0 if all parameters are default values.
6339 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
6340 (adjust_address_1): Try harder to compute a size.
6341 * expr.c (expand_assignment, store_constructor): If can't address,
6342 set MEM_KEEP_ALIAS_SET_P.
6343 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
6344 (store_field): Likewise.
6345 (store_constructor): Simplify call to store_constructor_field.
6346 * expr.h (can_address_p): New declaration.
6347 * gensupport.c (gen_rtx_CONST_INT): New function.
6348 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
6349 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
6350 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
6351
6352 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
6353
6354 2001-10-24 Christopher Faylor <cgf@redhat.com>
6355
6356 * config/i386/cygwin.h: Use proper path for mingw crt files when
6357 -mno-cygwin.
6358
6359 Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6360
6361 * dwarf2out.c (file_info_cmp): Always return consistent results.
6362
6363 2001-10-24 Roger Sayle <roger@eyesopen.com>
6364
6365 * stmt.c (expand_end_case): Index jumptables from zero for
6366 suitably small values of minval.
6367
6368 2001-10-24 Jakub Jelinek <jakub@redhat.com>
6369
6370 * stor-layout.c (place_union_field): If any field was aligned with
6371 attribute aligned, set record type's TYPE_USER_ALIGN.
6372 (place_field): Likewise.
6373 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
6374 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
6375
6376 2001-10-24 Zack Weinberg <zack@codesourcery.com>
6377
6378 * c-common.h (struct c_common_identifier): Remove rid_code field.
6379 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
6380
6381 * c-typeck.c (constructor_designated): New local flag.
6382 (struct constructor_stack): Add "designated" field to match.
6383 (start_init): Clear it.
6384 (really_start_incremental_init, push_init_level): Push and
6385 clear it.
6386 (pop_init_level): Pop it.
6387 (set_designator): Set it.
6388
6389 (pop_init_level): Suppress "missing initializer" warnings if
6390 constructor_designated is true.
6391 (process_init_element): Suppress warning about union
6392 initialization under traditional C, if constructor_designated
6393 is true.
6394
6395 Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6396
6397 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
6398 change.
6399
6400 Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
6401
6402 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
6403
6404 2001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
6405
6406 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
6407 the node was already a set to a constant.
6408
6409 Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6410
6411 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
6412 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
6413
6414 2001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6415
6416 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
6417 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
6418 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6419 * s390.c (s390_final_chunkify): Don't use string concatenation.
6420 (s390_function_prologue, s390_function_epilogue): Const-ify.
6421 * s390.h (FUNCTION_PROFILER): Remove unused variable.
6422
6423 2001-10-24 Jakub Jelinek <jakub@redhat.com>
6424
6425 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
6426 prototypes.
6427
6428 2001-10-23 Stan Shebs <shebs@apple.com>
6429
6430 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
6431 -traditional-cpp in first-stage compilation.
6432
6433 Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6434
6435 * gensupport.c (target_flags): Add.
6436
6437 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
6438
6439 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
6440 if needed.
6441 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
6442 * except.c (expand_builtin_frob_return_addr): Likewise.
6443 (expand_builtin_eh_return): Likewise.
6444 * stmt.c (expand_computed_goto): Likewise.
6445 * explow.c (memory_address): Likewise.
6446 (allocate_dynamic_stack_space): Clean up predicate testing.
6447 (probe_stack_range): Convert SIZE to Pmode.
6448 * calls.c (rtx_for_function_call): Only call convert_memory_address
6449 if needed.
6450 Pass function call operand as ptr_mode, not Pmode.
6451 * expr.c (expand_assignment): Clean up calls to convert_memory
6452 address by only doing so when needed and making offsets Pmode.
6453 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
6454 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
6455 is in Pmode, not ptr_mode.
6456
6457 2001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6458
6459 * darwin-protos.h (constructor_section, destructor_section,
6460 mod_init_section, mod_term_section): Prototype.
6461 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
6462 Const-ify.
6463 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
6464 Likewise.
6465 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
6466 objc_section_init declaration.
6467 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
6468 (objc_section_init, try_section_alias): Make static.
6469 (alias_section): Make static and hide unused function.
6470 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6471
6472 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6473
6474 * alias.c (can_address_p): Compnonents are not addressable if
6475 the containing type has alias set 0.
6476 (get_alias_set): Rework to use STRIP_NOPS.
6477 Only call front-end routine on object, type, or object with
6478 NOPs stripped, not inner values.
6479 Use language hook to call front-end routine.
6480 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
6481 (expand_builtin_apply): Call set_mem_align on MEMs we make.
6482 Don't pass alignment to emit_block_move.
6483 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
6484 (expand_builtin_memset): Likewise, but for clear_storage.
6485 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
6486 and remove C++ specific parts.
6487 * c-common.h (c_common_get_alias_set): Add declaration.
6488 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
6489 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
6490 (save_fixed_argument_area): Call set_mem_align.
6491 Remove alignment in call to emit_block_move.
6492 (emit_library_call_value_1, store_one_arg): Likewise.
6493 (target_for_arg): Remove; disabled long ago.
6494 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
6495 once and similar cleanups.
6496 (offset_address): Use proper introductory comment.
6497 * expr.c (emit_block_move): Use alignment from that of MEM args, not
6498 from explicit operand; all callers changed.
6499 (clear_storage): Likewise.
6500 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
6501 (store_field): Remove kludge on alias set used for to_rtx.
6502 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
6503 (expand_expr_unaligned): Call set_mem_attributes instead of
6504 set_mem_alias_set.
6505 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
6506 * function.c (assign_stack_temp_for_type): Set MEM alignment.
6507 (expand_function_end): Track MEM attributes of trampolines.
6508 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
6509 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
6510 attributes from original.
6511 * langhooks.c (lang_hook_default_get_alias_set): New function.
6512 (hook_get_alias_set_0): New function.
6513 * langhooks.h (hook_get_alias_set_0): New declaration.
6514 (lang_hook_default_get_alias_set): Likewise.
6515 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
6516 * reload1.c (alter_reg): Use adjust_address_nv.
6517 * rtl.c (get_mode_alignment): Moved to here.
6518 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
6519 change default if unknown from 1 to BITS_PER_UNIT.
6520 * stor-layout.c (get_mode_alignment): Remove from here.
6521 * toplev.h (struct lang_hoks): Add get_alias_set field.
6522 * tree.h (lang_get_alias_set): Delete declaration.
6523 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
6524 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
6525 (ix86_va_arg): Likewise.
6526 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6527 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6528 * config/sparc/sparc.c (sparc_va_arg): Likewise.
6529 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6530 (expand_block_move_mem): Remove dead code.
6531
6532 2001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
6533
6534 * c-common.c (warn_div_by_zero): New.
6535 * c-common.h (warn_div_by_zero): New.
6536 * c-decl.c (c_decode_option): Take it on the command line.
6537 * c-typeck.c (build_binary_op): Warn about division by zero.
6538 * doc/invoke.texi: Document the new command line option, fix
6539 documentation of -Wmultichar.
6540 * testsuite/gcc.dg/divbyzero.c: New tests.
6541 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
6542
6543 Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
6544
6545 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
6546
6547 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
6548 to avoid update_life_info call.
6549 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
6550 * cfgcleanup.c (bb_flags): New enum.
6551 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
6552 (notice_new_block, update_forwarder_flag): New functions.
6553 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
6554 (try_forward_edges): Likewise; update flags.
6555 (merge_blocks): Likewise.
6556 (outgoing_edges_match): Likewise.
6557 (try_crossjump_to_edge): Likewise.
6558 (try_optimize_cfg): Likewise; initialize and clear the flags;
6559 recompute life info if needed.
6560 (cleanup_cfg): No need to clear aux pointers.
6561
6562 2001-10-23 Alexandre Oliva <aoliva@redhat.com>
6563
6564 * config/i386/i386.c (override_options): Default to minimum
6565 stack alignment when optimizing for code size.
6566 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
6567 change.
6568
6569 * config/i386/i386.c (override_options): Set upper limit of
6570 -mpreferred-stack-boundary to 12.
6571
6572 2001-10-22 Zack Weinberg <zack@codesourcery.com>
6573
6574 * recog.c (peephole2_optimize): Add default case to switch.
6575
6576 2001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
6577
6578 * doc/gcc.texi (Sending Patches): Remove.
6579
6580 2001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
6581
6582 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
6583 fields when comparing.
6584
6585 2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6586
6587 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
6588 * arm.c (HOST_INT, HOST_UINT): Likewise.
6589
6590 2001-10-22 Stan Shebs <shebs@apple.com>
6591
6592 * config/darwin-protos.h (darwin_exception_section): Declare.
6593 (darwin_eh_frame_section): Declare.
6594
6595 Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
6596
6597 * i386.md (movti_rex64): Fix mode.
6598
6599 2001-10-22 Stan Shebs <shebs@apple.com>
6600
6601 * target.h (struct gcc_target): Add asm_out.exception_section,
6602 asm_out.eh_frame_section.
6603 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
6604 (TARGET_ASM_EH_FRAME_SECTION): New.
6605 (TARGET_INITIALIZER): Update.
6606 * output.h (default_exception_section): Declare.
6607 (default_eh_frame_section): Declare.
6608 * dwarf2out.c: Include target.h.
6609 (output_call_frame_info): Call target hook for eh frames.
6610 (default_eh_frame_section): New function.
6611 * except.c: Include target.h.
6612 (output_function_exception_table): Call target hook for exception
6613 section.
6614 * varasm.c (default_exception_section): Rename from
6615 exception_section, remove EXCEPTION_SECTION macro.
6616
6617 * config/darwin.h (darwin_eh_frame_section): New function.
6618 (EXCEPTION_SECTION): Remove.
6619 (TARGET_ASM_EXCEPTION_SECTION): Define.
6620 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
6621 (nextstep_exception_section): New function.
6622 (nextstep_eh_frame_section): New function.
6623 (TARGET_ASM_EXCEPTION_SECTION): Define.
6624 (TARGET_ASM_EH_FRAME_SECTION): Define.
6625
6626 * config/pa/som.h (EXCEPTION_SECTION): Remove.
6627 (TARGET_ASM_EXCEPTION_SECTION): Define.
6628 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
6629 (EXCEPTION_SECTION): Remove.
6630 (TARGET_ASM_EXCEPTION_SECTION): Define.
6631 * config/stormy16/stormy16.h: Remove comments referencing
6632 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
6633
6634 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
6635 TARGET_ASM_EH_FRAME_SECTION.
6636
6637 2001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
6638
6639 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
6640 terms.
6641
6642 * c-format.c: Fix spelling typo in comment.
6643
6644 * sched-int.h: Fix typo in GCC preamble.
6645
6646 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
6647
6648 PR debug/4252
6649 * doc/invoke.texi: Remove references to -fdump-translation-unit.
6650
6651 2001-10-22 Richard Henderson <rth@redhat.com>
6652
6653 * config/i386/i386.c (ix86_expand_clear): New.
6654 * config/i386/i386-protos.h: Declare it.
6655 * config/i386/i386.md (setcc peep2s): Use it.
6656 (movsi_xor): Unexport.
6657
6658 2001-10-22 Richard Henderson <rth@redhat.com>
6659
6660 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
6661 free_EXPR_LIST_list for LOG_LINKS.
6662
6663 2001-10-21 Robert Lipe <robertlipe@usa.net>
6664
6665 * config/i386/i386.c (sco_asm_named_section): Delete.
6666 (sco_asm_out_constructor): Delete.
6667 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
6668 (ASM_OUTPUT_DOUBLE_INT): Likewise.
6669 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
6670 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
6671 (EXCEPTION_SECTION): Delete EH scn renaming hack.
6672
6673 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6674
6675 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
6676 and/or fold extra calls into fewer ones.
6677 * collect2.c (dump_file): Likewise.
6678 * cppexp.c (parse_number): Likewise.
6679 * cpplex.c (_cpp_lex_direct): Likewise.
6680 * final.c (output_asm_insn, asm_fprintf): Likewise.
6681 * fix-header.c (inf_scan_ident, main): Likewise.
6682 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
6683 Likewise.
6684 * fold-const.c (real_hex_to_f): Likewise.
6685 * gen-protos.c (parse_fn_proto): Likewise.
6686 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
6687 * genrecog.c (change_state, write_action): Likewise.
6688 * gensupport.c (shift_output_template): Likewise.
6689 * local-alloc.c (requires_inout): Likewise.
6690 * mips-tfile.c (IS_ASM_IDENT): Likewise.
6691 * protoize.c (is_id_char, main): Likewise.
6692 * real.c (asctoeg): Likewise.
6693 * recog.c (asm_operand_ok): Likewise.
6694 * reload.c (find_reloads): Likewise.
6695 * scan.c (scan_identget_token): Likewise.
6696 * sched-vis.c (print_value): Likewise.
6697 * stringpool.c (ggc_alloc_string): Likewise.
6698 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
6699 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
6700 * tradcpp.c (rescan): Likewise.
6701 * tree.c (clean_symbol_name): Likewise.
6702 * varasm.c (decode_reg_name): Likewise.
6703
6704 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
6705 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
6706 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
6707 * m88k.c (output_ascii): Likewise.
6708 * m88k.h (OVERRIDE_OPTIONS): Likewise.
6709 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
6710 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
6711 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
6712
6713 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
6714
6715 * langhooks.c (lang_hook_default_do_nothing,
6716 lang_hook_default_decode_option): New defaults.
6717 * langhooks.h: Make hooks unconditional and non-NULL.
6718 * toplev.c (compile_file, toplev_main): Update.
6719 * toplev.h: Update comments.
6720 * objc/objc-act.c (lang_hooks): Update to new paradigm.
6721
6722 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6723
6724 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
6725
6726 * system.h (IN_RANGE): New macro.
6727
6728 2001-10-21 Zack Weinberg <zack@codesourcery.com>
6729
6730 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
6731 INTLDEPS variable, which does not include $LIBICONV.
6732 * Makefile.in: Use INTLDEPS in LIBDEPS.
6733 * configure: Regenerate.
6734
6735 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
6736
6737 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
6738 * cpplex.c (lex_percent, lex_dot): Remove.
6739 (get_effective_char, skip_block_comment, skip_line_comment,
6740 parse_identifier_slow, parse_number, parse_string, save_comment,
6741 _cpp_lex_direct): Update to do lookback freely.
6742 (IF_NEXT_IS, BACKUP): New macros.
6743 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
6744 * cppmacro.c (paste_tokens): Update.
6745
6746 2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
6747
6748 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
6749
6750 2001-10-20 Hans-Peter Nilsson <hp@axis.com>
6751
6752 * reload1.c (reload): Check CONSTANT_P before calling
6753 LEGITIMATE_PIC_OPERAND_P.
6754 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
6755 workaround of 2001-10-13.
6756
6757 Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
6758
6759 * i386.c (split_di): Handle splitting of DFmode.
6760
6761 Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6762
6763 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
6764 (adjust_address_1, offset_address): Likewise.
6765
6766 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
6767 (output_asm_insn): Call it for each line output.
6768 Don't record an operand more than once.
6769
6770 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
6771 * main.c: Include config.h and system.h, but not ansidecl.h.
6772 * Makefile.in (main.o): Update accordingly.
6773
6774 Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
6775
6776 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
6777
6778 Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
6779
6780 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
6781 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
6782 Break out from ...
6783 (find_sub_basic_blocks): ... here;
6784 (find_many_sub_basic_blocks): New.
6785 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
6786
6787 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
6788
6789 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
6790
6791 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
6792
6793 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
6794 * flow.c (update_life_info): Measure time.
6795 * c-decl.c: Include timevar.h
6796 (c_expand_body): Measure time.
6797 * toplev.c (rest_of_compilation): Measure time of mode switching
6798 separately.
6799 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
6800
6801 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
6802 (lang_independent_options): Add asynchronous-unwind-tables
6803 (toplev_main): flag_asynchronous_unwind_tables implies
6804 flag_unwind_tables.
6805 * flags.h (flag_asynchronous_unwind_tables): Declare.
6806 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
6807 flag_asynchronous_unwind_tables.
6808 (output_call_frame_info): Likewise.
6809 * invoke.texi (-fasynchronous-unwind-tables): Document.
6810 * i386.c (optimization_options): Enable
6811 flag_asynchronous_unwind_tables.
6812
6813 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
6814 * i386.md (s* expanders): Destination is QImode.
6815
6816 * toplev.c (rest_of_compilation): Do not call clear_log_links.
6817 * rtl.h (clear_log_links): Kill.
6818 * flow.c (clear_log_links): Make static; accept blocks parameter;
6819 do no clear life info.
6820 (update_life_info): Call clear_log_links.
6821
6822 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
6823
6824 2001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
6825
6826 * cpplex.c (handle_newline, skip_escaped_newlines,
6827 get_effective_char, skip_block_comment, skip_line_comment,
6828 parse_identifier_slow, parse_number, parse_string,
6829 _cpp_lex_direct): Update to do more stepping back.
6830 (trigraph_ok): Similarly. Rename trigraph_p.
6831 (SAVE_STATE, RESTORE_STATE): Remove.
6832 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
6833
6834 * cpplib.c (destringize): Rename destringize_and_run, and
6835 call run_directive directly.
6836 (_cpp_do__Pragma): Simplify.
6837
6838 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6839
6840 * pe.c (arm_pe_unique_section): Const-ify.
6841 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6842 (switch_to_section): Add static prototype.
6843
6844 * output.h (drectve_section): Prototype.
6845
6846 2001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6847
6848 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
6849 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
6850 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
6851 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
6852 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
6853 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
6854 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
6855 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
6856 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
6857 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
6858 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
6859 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
6860 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
6861 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
6862 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
6863 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
6864 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
6865 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
6866 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
6867 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
6868 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
6869 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
6870 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
6871 cris-*-none, cris-*-linux*: Update ${tmfile} list.
6872 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
6873 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
6874 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
6875 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
6876 v850-*-*): Delete superflous ${cpu_type} setting.
6877 * config/linux.h: Delete svr4.h include.
6878 (SET_ASM_OP): Delete.
6879 * config/netware.h (INT_ASM_OP): Undef before define.
6880 * config/ptx4.h: Delete elfos.h include.
6881 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
6882 * config/svr4.h: Delete elfos.h include. Update commentary.
6883 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
6884 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
6885 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
6886 config/v850/v850.h: Delete svr4.h include.
6887 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
6888 config/m68k/m68kv4.h, config/m88k/sysv4.h,
6889 config/sparc/sysv4.h: Update includes.
6890 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
6891 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
6892 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
6893 config/m88k/dguxbcs.h: Delete includes.
6894 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
6895 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
6896 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
6897 it.
6898 * config/m88k/dgux.h: Delete include.
6899 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
6900 defining it.
6901 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
6902 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
6903 * config/sh/elf.h: Update include.
6904 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
6905 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
6906
6907 2001-10-19 Catherine Moore <clm@redhat.com>
6908
6909 * config/stormy16/stormy-abi: Updates to varargs descriptions.
6910 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
6911 base and count fields.
6912 (stormy16_expand_builtin_va_start): last_reg_count changed to
6913 size_of_reg_args. Use count + size in first comparison.
6914
6915 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6916
6917 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
6918 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
6919 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
6920 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
6921 Set alignment from type if INDIRECT_REF.
6922 (adjust_address_1, offset_address): Simplify alignment compuitation.
6923 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
6924 here; done by set_mem_attributes.
6925
6926 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6927
6928 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
6929 * arm-protos.h (rdata_section, zero_init_section, common_section):
6930 Prototype.
6931 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
6932 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
6933 traditional mode stringification.
6934 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
6935 in macros controling its use.
6936 * rtlanal.c: Include tm_p.h.
6937 * varasm.c (asm_output_aligned_bss): Mark parameter with
6938 ATTRIBUTE_UNUSED.
6939 (assemble_constant_align, assemble_start_function, assemble_align,
6940 assemble_variable, assemble_trampoline_template,
6941 output_constant_def_contents): Wrap potentially empty if-stmt body
6942 in brackets.
6943
6944 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6945
6946 * a29k-protos.h (literal_section): Prototype.
6947 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
6948 * a29k.md: Ensure function pointers are prototyped.
6949 * genattrtab.c (write_eligible_delay): Mark parameter with
6950 ATTRIBUTE_UNUSED.
6951
6952 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6953
6954 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
6955 * 1750a.c (print_operand): Fix format specifier warning.
6956 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
6957 * 1750a.md: Likewise.
6958 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
6959 * genemit.c (output_add_clobbers): Mark parameter with
6960 ATTRIBUTE_UNUSED.
6961 * genrecog.c (write_subroutine): Likewise.
6962 * integrate.c (expand_inline_function): Delete unused variable.
6963 * varasm.c (remove_from_pending_weak_list): Wrap with
6964 ASM_WEAKEN_LABEL.
6965
6966 2001-10-19 Jakub Jelinek <jakub@redhat.com>
6967
6968 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
6969 field is different to previous argument's neg field.
6970
6971 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
6972
6973 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6974
6975 * final.c (get_decl_from_op): New function.
6976 (output_asm_insn): Call it; write "*" when item with decl is address.
6977
6978 2001-10-19 Janis Johnson <janis187@us.ibm.com>
6979
6980 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
6981 about 64-bit support from the 3.0_branch version.
6982
6983 2001-10-19 Zack Weinberg <zack@codesourcery.com>
6984
6985 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
6986 USE_INCLUDED_LIBINTL when appropriate.
6987 * configure, config.in: Regenerate.
6988 * Makefile.in (datadir): Set to @datadir@.
6989 (intl.o): Also depend on $(CONFIG_H) and system.h.
6990
6991 * intl.c: Factor out common gettext initialization sequence.
6992 (gcc_init_libintl): New function.
6993 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
6994 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
6995 off NLS. Add multiple include guard. No need to #ifdef-guard
6996 an #undef. Prototype gcc_init_libintl here.
6997
6998 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
6999 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7000 Use gcc_init_libintl.
7001
7002 2001-10-19 Catherine Moore <clm@redhat.com>
7003
7004 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7005
7006 * config/stormy16/stormy16.c (stormy16_split_move): Make
7007 sure that REG_INC notes are present for auto_inc operands.
7008
7009 2001-10-19 Andreas Jaeger <aj@suse.de>
7010
7011 * configure: Regenerated.
7012 * configure.in: Add x86_64 to switch statements.
7013
7014 2001-10-18 Richard Henderson <rth@redhat.com>
7015
7016 * config/alpha/alpha.md (sibcall_osf_1): Load destination
7017 address into $27 explicitly.
7018 (sibcall_value_osf_1): Likewise.
7019
7020 Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7021
7022 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7023 (offset_address): New function.
7024 (free_emit_status): Free regno_decl.
7025 (init_emit): Pass proper number of elements to xcalloc.
7026 Allocate regno_decl.
7027 (mark_emit_status): Mark regno_decl values.
7028 * expr.c (highest_pow2_factor): New function.
7029 (expand_assigment): Use it and offset_address.
7030 Properly handle ptr_mode vs. Pmode in offset calculation.
7031 (store_constructor, expand_expr_unaligned): Likewise.
7032 (expand_expr, case COMPONENT_EXPR): Likewise.
7033 * expr.h (offset_address): New decl.
7034 * function.h (struct emit_status): Add regno_decl.
7035 (REGNO_DECL): New macro.
7036 * final.c (output_asm_name): Move in file and don't conditionalize
7037 on flag_print_asm_name.
7038 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7039 Output names of operands, if known.
7040 * function.c (assign_parms): Set REGNO_DECL.
7041 * integrate.c (integrate_decl_tree): Likewise.
7042 * stmt.c (expand_decl): Likewise.
7043 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7044
7045 2001-10-18 Alexandre Oliva <aoliva@redhat.com>
7046
7047 * attribs.c (handle_noinline_attribute): New function.
7048 (handle_used_attribute): Likewise.
7049 (c_common_attribute_table): Added noinline and used.
7050 * doc/extend.texi (Function Attributes): Document them.
7051 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7052 Warn when merging inline with attribute noinline.
7053 (start_decl, start_function): Warn if inline and attribute
7054 noinline appear in the same declaration.
7055
7056 2001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
7057
7058 * config.gcc: Update c4x and i370 for C front end-specific
7059 dependencies.
7060 * config/c4x/c4x-c.c: New.
7061 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7062 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7063 New declarations.
7064 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7065 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7066 Make extern.
7067 (c4x_init_pragma): Remove.
7068 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7069 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7070 c4x_pr_ignored): Move to c4x-c.c.
7071 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7072 * config/c4x/t-c4x: Update.
7073 * config/i370/i370-c.c: New.
7074 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7075 (i370_pr_map): Move to i370-c.c.
7076 * config/i370/t-i370: New.
7077
7078 * doc/tm.texi: Update.
7079
7080 2001-10-17 Stan Shebs <shebs@apple.com>
7081
7082 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7083 typo fixes throughout.
7084 (machopic_output_stub): Remove some dead code.
7085
7086 2001-10-17 Richard Earnshaw <rearnsha@arm.com>
7087
7088 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
7089 leak.
7090
7091 Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7092
7093 * Makefile.in (print-rtl.o): Depend on TREE_H.
7094 * alias.c (get_alias_set): Make two passes over objects to first
7095 see if inner object is access via restricted pointer.
7096 Defer allocating alias set for restricted pointer until here.
7097 Call find_placeholder with second arg nonzero.
7098 Minor cleanups.
7099 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
7100 set for restricted pointer types.
7101 * emit-rtl.c (set_mem_attributes): Set more attributes.
7102 (set_mem_align, change_address, adjust_address_1): New functions.
7103 (change_address_1): Now static.
7104 (adjust_address, adjust_address_nv): Deleted.
7105 (replace_equiv_address): Call change_address_1.
7106 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
7107 (find_placeholder): Get starting point from PLIST arg.
7108 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
7109 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
7110 (adjust_address, adjust_address_nv): New macros.
7111 * print-rtl.c (tree.h): New include.
7112 (print_rtx, case MEM): Print all memory attributes.
7113
7114 2001-10-17 Richard Henderson <rth@redhat.com>
7115
7116 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
7117
7118 2001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
7119
7120 * c-tree.texi: Eliminate duplicated word.
7121 * cpp.texi: Likewise.
7122 * install.texi: Likewise.
7123 * invoke.texi: Likewise.
7124 * tm.texi: Likewise.
7125
7126 2001-10-17 Michael Collison <collison@isisinc.net>
7127
7128 * dsp16xx.c: Fix comment formatting to match GNU standards.
7129 (dsp16xx_output_function_prologue): Change type of 'size'
7130 parameter from 'int' to HOST_WIDE_INT.
7131 (dsp16xx_output_function_epilogue): Change type of 'size'
7132 parameter from 'int' to HOST_WIDE_INT.
7133
7134 2001-10-16 Richard Henderson <rth@redhat.com>
7135
7136 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
7137 * configure, config.in: Rebuild.
7138
7139 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
7140 (ix86_output_addr_diff_elt): New.
7141 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
7142 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7143 (JUMP_TABLES_IN_TEXT_SECTION): New.
7144 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
7145 * config/i386/i386-protos.h: Update.
7146
7147 * config/i386/386bsd.h, config/i386/beos-elf.h,
7148 config/i386/freebsd-aout.h, config/i386/freebsd.h,
7149 config/i386/i386-interix.h, config/i386/i386elf.h,
7150 config/i386/linux.h, config/i386/netbsd-elf.h,
7151 config/i386/netbsd.h, config/i386/openbsd.h,
7152 config/i386/ptx4-i.h, config/i386/rtemself.h,
7153 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
7154 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
7155
7156 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
7157
7158 * stmt.c (expand_asm_operands): Update commentary.
7159
7160 2001-10-16 Stan Shebs <shebs@apple.com>
7161
7162 * config/darwin.h (GCC_NAME): Remove, no longer used.
7163 (NO_MATH_LIBRARY): Ditto.
7164 (MATH_LIBRARY): Define to emptiness.
7165 (DWARF2_DEBUGGING_INFO): Define.
7166 (PREFERRED_DEBUGGING_TYPE): Define.
7167 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
7168 (EXCEPTION_SECTION): Define.
7169 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7170 * config/darwin.c (darwin_encode_section_info): Handle case of
7171 DECL_INITIAL being error_mark_node.
7172
7173 2001-10-16 Richard Henderson <rth@redhat.com>
7174
7175 * alpha.c (current_file_function_operand): Don't fail for profiling.
7176 (direct_call_operand): New.
7177 * alpha-protos.h: Declare it.
7178 * alpha.h (EXTRA_CONSTRAINT): Use it.
7179 (PREDICATE_CODES): Add it.
7180 (ASM_OUTPUT_MI_THUNK): Remove.
7181 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
7182 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
7183
7184 2001-10-16 Krister Walfridsson <cato@df.lth.se>
7185
7186 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
7187 (JUMP_TABLES_IN_TEXT_SECTION): Define.
7188
7189 Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
7190
7191 * cfg.c (free_edge): Break out from ....
7192 (remove_edge): ... here.
7193 (clear_edges): Use free_edge.
7194
7195 * att.h (ASM_QUAD): Add comment.
7196 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
7197
7198 Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
7199
7200 * i386.c (split_ti): New function.
7201 (ix86_split_to_parts): Support TImodes.
7202 * i386.h (VALID_INT_MODE_P): Add TImode.
7203 * i386.md (movdi splitter): Fix.
7204 (movti): Support 64bit integer registers.
7205 (movti_rex64): New function and splitter.
7206
7207 * i386.c (*_cost): Add movsx/movzx cost.
7208 * i386.h (struct processor_costs): Add movsx/movzx fields.
7209 (RTX_COSTS): Handle zero/sign extend + avoid believing that
7210 64bit operations require split on 64bit machine.
7211 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
7212
7213 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
7214 (ix86_expand_move): Avoid pushes of memory if size does not match;
7215 move long constants to register.
7216 (x86_initialize_trampoline): Fix mode.
7217 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
7218 Use ASM_QUAD on 64bit.
7219 * i386.md (test pattern): Disallow impossible constants.
7220 (tablejump PIC expander): Fix emitting of sum.
7221 (movdicc_rex64): Rename to movdicc.
7222 * linux64.h (LINK_SPEC): Add missing '%'.
7223
7224 2001-10-16 Alexandre Oliva <aoliva@redhat.com>
7225
7226 * tree-inline.c (inlinable_function_p): Leave it up to the
7227 front-end to turn -finline-functions into DECL_INLINE set for all
7228 functions.
7229
7230 2001-10-16 Stan Shebs <shebs@apple.com>
7231
7232 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
7233
7234 2001-10-16 Alan Modra <amodra@bigpond.net.au>
7235
7236 * recog.c: Formatting and comment typo fixes.
7237
7238 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
7239 version in single tree build.
7240 * configure: Regenerate.
7241
7242 2001-10-15 David Edelsohn <edelsohn@gnu.org>
7243
7244 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
7245 MODE arguments to gen_rtx and compare operand with const0_rtx.
7246
7247 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
7248
7249 * system.h: Poison old unused target macros.
7250 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
7251 * config/stormy16/stormy16.c: Update references to obsolete macros.
7252 * config/stormy16/stormy16.h: Similarly.
7253 * config/stormy16/stormy16.md: Similarly.
7254 * config/cris/cris.h: Similarly.
7255
7256 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
7257
7258 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
7259 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
7260 cpp_register_pragma): Update accordingly.
7261
7262 2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
7263
7264 * c-pragma.h (cpp_register_pragma_space): Remove.
7265 * cpplib.h (cpp_register_pragma_space): Remove.
7266 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
7267 (cpp_register_pragma_space): Remove.
7268 (cpp_register_pragma): Simplify using lookup_pragma_entry,
7269 add sanity checks.
7270 (do_pragma): Similarly.
7271 (_cpp_init_internal_pragmas): Don't register namespaces.
7272
7273 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
7274 Don't register namespaces.
7275 * cp/lex.c (init_cp_pragma): Similarly.
7276 * doc/tm.texi: Update.
7277
7278 2001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
7279
7280 PR c/4157
7281 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
7282
7283 2001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
7284
7285 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
7286 add scheduling support.
7287 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
7288 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
7289 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
7290
7291
7292 2001-10-13 Hans-Peter Nilsson <hp@axis.com>
7293
7294 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
7295 missing CONSTANT_P test in core GCC.
7296
7297 2001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
7298
7299 * cppmain.c (struct printer): New member source.
7300 (scan_translation_unit): Fix spacing at start of lines.
7301 (cb_line_change): Update.
7302
7303 * gcc.dg/cpp/spacing2.c: New test.
7304
7305 2001-10-12 Hans-Peter Nilsson <hp@axis.com>
7306
7307 * config/cris/arit.c: Use __builtin_labs, not abs.
7308
7309 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
7310
7311 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
7312 misplaced sprintf and fprintf argument.
7313
7314 2001-10-12 Zack Weinberg <zack@codesourcery.com>
7315
7316 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
7317 * configure.in, Makefile.in: Take out obsolete check-po logic.
7318 * configure, config.in: Regenerate.
7319
7320 2001-10-12 Ziemowit Laski <zlaski@apple.com>
7321
7322 * objc/objc-act.c (finish_objc): Correct precondition for emitting
7323 symtab declarations.
7324
7325 2001-10-12 Stan Shebs <shebs@apple.com>
7326
7327 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
7328 declarations of arguments and local variables.
7329
7330 2001-10-12 Christopher Faylor <cgf@redhat.com>
7331
7332 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
7333 ENDFILE_SPEC definition.
7334
7335 2001-10-12 Kazu Hirata <kazu@hxi.com>
7336
7337 * gthr-dce.h: Fix comment formatting.
7338 * gthr-posix.h: Likewise.
7339 * gthr-single.h: Likewise.
7340 * gthr-solaris.h: Likewise.
7341 * gthr-vxworks.h: Likewise.
7342 * gthr-win32.h: Likewise.
7343
7344 2001-10-12 Jakub Jelinek <jakub@redhat.com>
7345
7346 * final.c (output_asm_insn): Make sure assembly dialects are
7347 terminated, not nested. Output `|' and `}' characters if they
7348 don't appear inside assembly dialect selection.
7349 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
7350 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
7351 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
7352 strsetsi_rex_1): Add {} braces.
7353
7354 2001-10-11 Zack Weinberg <zack@codesourcery.com>
7355
7356 * toplev.c (compile_file): Ignore return value from yyparse.
7357 Always pop any nested binding levels after yyparse returns.
7358
7359 2001-10-11 Richard Henderson <rth@redhat.com>
7360
7361 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
7362
7363 2001-10-11 Richard Henderson <rth@redhat.com>
7364
7365 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
7366 fall back to add_AT_long_long for large CONST_INT.
7367
7368 2001-10-11 Richard Henderson <rth@redhat.com>
7369
7370 * config/i386/i386.md (setcc splitters): Add four splitters to
7371 simplify compound compares that simplify_comparison can't handle.
7372
7373 2001-10-11 Zack Weinberg <zack@codesourcery.com>
7374
7375 * cpplex.c (digraph_spellings, token_spellings): Make static.
7376
7377 2001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7378
7379 * unroll.c (loop_iterations): Fixup last patch.
7380
7381 2001-10-11 Richard Henderson <rth@redhat.com>
7382
7383 * rtl.h (REG_VTABLE_REF): New.
7384 * rtl.c (reg_note_name): Add it.
7385 * combine.c (distribute_notes): Handle it.
7386 * final.c (final_scan_insn): Handle it.
7387 * tree.def (VTABLE_REF): New.
7388 * expr.c (expand_expr): Handle it.
7389 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
7390 * output.h: Declare them.
7391
7392 2001-10-11 Richard Henderson <rth@redhat.com>
7393
7394 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
7395 for a DECL_INITIAL.
7396
7397 2001-10-11 David Edelsohn <edelsohn@gnu.org>
7398
7399 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
7400 available in 64-bit mode.
7401
7402 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
7403
7404 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
7405 cris-*-linux* cases.
7406 * config/cris/cris-protos.h: New file.
7407 * config/cris/cris.c: New file.
7408 * config/cris/cris.h: New file.
7409 * config/cris/cris.md: New file.
7410 * config/cris/linux.h: New file.
7411 * config/cris/aout.h: New file.
7412 * config/cris/arit.c: New file.
7413 * config/cris/cris_abi_symbol.c: New file.
7414 * config/cris/mulsi3.asm: New file.
7415 * config/cris/t-aout: New file.
7416 * config/cris/t-cris: New file.
7417 * config/cris/t-elfmulti: New file.
7418 * config/cris/t-linux: New file.
7419 * doc/invoke.texi: Add CRIS options.
7420 * doc/install.texi (Specific): Add blurb for CRIS.
7421
7422 2001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
7423
7424 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
7425 before using it.
7426 * config/float/i32.h: Likewise.
7427 * config/float-i386.h: Likewise.
7428 * config/float-i64.h: Likewise.
7429 * config/float-m68k.h: Likewise.
7430 * config/float-sh.h: Likewise.
7431 * config/float-sparc.h: Likewise.
7432
7433 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
7434
7435 * doc/contrib.texi: Add note about CRIS port to my entry.
7436
7437 2001-10-11 Kazu Hirata <kazu@hxi.com>
7438
7439 * basic-block.h: Fix formatting.
7440 * bitmap.h: Likewise.
7441 * cpplib.h: Likewise.
7442 * c-tree.h: Likewise.
7443 * diagnostic.h: Likewise.
7444 * flags.h: Likewise.
7445 * ggc.h: Likewise.
7446 * longlong.h: Likewise.
7447 * real.h: Likewise.
7448 * reload.h: Likewise.
7449 * rtl.h: Likewise.
7450 * tree.h: Likewise.
7451
7452 2001-10-10 Richard Henderson <rth@redhat.com>
7453
7454 * c-parse.in (asm_operand): Allow named operands.
7455 * genconfig.c (max_recog_operands): Set to 29.
7456 * local-alloc.c (requires_inout): Skip multiple digits.
7457 * recog.c (asm_operand_ok): Likewise.
7458 (preprocess_constraints): Use strtoul for matching constraints.
7459 (constrain_operands): Likewise.
7460 * regmove.c (find_matches): Likewise.
7461 * reload.c (find_reloads): Likewise.
7462 * stmt.c (parse_output_constraint): Don't reject in-out
7463 constraint on operands > 9. Reject '[' in constraint.
7464 (expand_asm_operands): Handle named operands. Use strtoul
7465 for matching constraints.
7466 (check_operand_nalternatives): Split out from expand_asm_operands.
7467 (check_unique_operand_names): New.
7468 (resolve_operand_names, resolve_operand_name_1): New.
7469
7470 * doc/extend.texi (Extended Asm): Document named operands.
7471 * doc/md.texi (Simple Constraints): Document matching constraints
7472 on operands > 9.
7473
7474 2001-10-10 Richard Henderson <rth@redhat.com>
7475
7476 * combine.c (try_combine): Handle a SEQUENCE of one insn.
7477
7478 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
7479 (jcc splitters): Add two splitters to simplify compound compares
7480 that simplify_comparison can't handle.
7481
7482 2001-10-10 Richard Henderson <rth@redhat.com>
7483
7484 * langhooks.c: Include langhooks.h.
7485 * Makefile.in (langhooks.o): Depend on it.
7486
7487 Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
7488
7489 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
7490 should not be considered as a no-op.
7491 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
7492
7493 2001-10-10 Stan Shebs <shebs@apple.com>
7494
7495 * alias.c: Remove uses of "register" specifier in declarations
7496 of arguments and local variables.
7497 * c-common.c: Ditto.
7498 * c-convert.c: Ditto.
7499 * c-decl.c: Ditto.
7500 * c-format.c: Ditto.
7501 * c-semantics.c: Ditto.
7502 * c-typeck.c: Ditto.
7503 * caller-save.c: Ditto.
7504 * calls.c: Ditto.
7505 * cfg.c: Ditto.
7506 * cfgbuild.c: Ditto.
7507 * cfgrtl.c: Ditto.
7508 * collect2.c: Ditto.
7509 * combine.c: Ditto.
7510 * convert.c: Ditto.
7511 * cppexp.c: Ditto.
7512 * cppfiles.c: Ditto.
7513 * cse.c: Ditto.
7514 * dbxout.c: Ditto.
7515 * defaults.h: Ditto.
7516 * df.c: Ditto.
7517 * dwarf2out.c: Ditto.
7518 * dwarfout.c: Ditto.
7519 * emit-rtl.c: Ditto.
7520 * explow.c: Ditto.
7521 * expmed.c: Ditto.
7522 * expr.c: Ditto.
7523 * final.c: Ditto.
7524 * fix-header.c: Ditto.
7525 * floatlib.c: Ditto.
7526 * flow.c: Ditto.
7527 * fold-const.c: Ditto.
7528 * function.c: Ditto.
7529 * gcc.c: Ditto.
7530 * gcse.c: Ditto.
7531 * gen-protos.c: Ditto.
7532 * genattrtab.c: Ditto.
7533 * gencheck.c: Ditto.
7534 * genconfig.c: Ditto.
7535 * genemit.c: Ditto.
7536 * genextract.c: Ditto.
7537 * genflags.c: Ditto.
7538 * gengenrtl.c: Ditto.
7539 * genoutput.c: Ditto.
7540 * genpeep.c: Ditto.
7541 * genrecog.c: Ditto.
7542 * gensupport.c: Ditto.
7543 * global.c: Ditto.
7544 * gmon.c: Ditto.
7545 * graph.c: Ditto.
7546 * haifa-sched.c: Ditto.
7547 * hard-reg-set.h: Ditto.
7548 * hash.c: Ditto.
7549 * integrate.c: Ditto.
7550 * jump.c: Ditto.
7551 * lists.c: Ditto.
7552 * local-alloc.c: Ditto.
7553 * loop.c: Ditto.
7554 * mips-tdump.c: Ditto.
7555 * mips-tfile.c: Ditto.
7556 * optabs.c: Ditto.
7557 * prefix.c: Ditto.
7558 * print-rtl.c: Ditto.
7559 * read-rtl.c: Ditto.
7560 * real.c: Ditto.
7561 * recog.c: Ditto.
7562 * reg-stack.c: Ditto.
7563 * regclass.c: Ditto.
7564 * regmove.c: Ditto.
7565 * reload.c: Ditto.
7566 * reload1.c: Ditto.
7567 * reorg.c: Ditto.
7568 * resource.c: Ditto.
7569 * rtl.c: Ditto.
7570 * rtlanal.c: Ditto.
7571 * scan.c: Ditto.
7572 * sched-deps.c: Ditto.
7573 * sched-rgn.c: Ditto.
7574 * sdbout.c: Ditto.
7575 * simplify-rtx.c: Ditto.
7576 * stmt.c: Ditto.
7577 * stor-layout.c: Ditto.
7578 * toplev.c: Ditto.
7579 * tradcif.y: Ditto.
7580 * tradcpp.c: Ditto.
7581 * tree.c: Ditto.
7582 * unroll.c: Ditto.
7583 * varasm.c: Ditto.
7584 * xcoffout.c: Ditto.
7585
7586 2001-10-10 Richard Henderson <rth@redhat.com>
7587
7588 * rtl.h (can_reverse_comparison_p): Remove.
7589
7590 2001-10-10 Christopher Faylor <cgf@redhat.com>
7591
7592 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
7593 used.
7594
7595 2001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7596
7597 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
7598 (Thanks to Chris Faylor for suggesting macro name).
7599 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
7600 WIN32 defines.
7601 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
7602 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
7603 (MATH_LIBRARY): Undef before definition.
7604 (OUTPUT_QUOTED_STRING): Likewise.
7605 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
7606
7607 2001-10-10 Richard Henderson <rth@redhat.com>
7608
7609 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
7610 (fde_unencoded_compare): Likewise. Don't use subtraction to get
7611 a tristate comparison value.
7612 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
7613
7614 2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7615
7616 PR c++/4512
7617 * unroll.c (loop_iterations): Ignore insns generated by loop
7618 unrolling.
7619
7620 * config.gcc (mips*-*-gnu*): Delete support.
7621 * config/mips/gnu.h: Remove.
7622
7623 2001-10-10 Kazu Hirata <kazu@hxi.com>
7624
7625 * calls.c: Fix formatting.
7626 * c-decl.c: Likewise.
7627 * cfgcleanup.c: Likewise.
7628 * combine.c: Likewise.
7629 * cppfiles.c: Likewise.
7630 * cpplib.c: Likewise.
7631 * cppmacro.c: Likewise.
7632 * crtstuff.c: Likewise.
7633 * cse.c: Likewise.
7634 * dwarf2out.c: Likewise.
7635 * expmed.c: Likewise.
7636 * expr.c: Likewise.
7637 * fold-const.c: Likewise.
7638 * function.c: Likewise.
7639 * gcse.c: Likewise.
7640 * genattrtab.c: Likewise.
7641 * ggc-page.c: Likewise.
7642 * integrate.c: Likewise.
7643 * libgcc2.c: Likewise.
7644 * loop.c: Likewise.
7645 * optabs.c: Likewise.
7646 * profile.c: Likewise.
7647 * protoize.c: Likewise.
7648 * real.c: Likewise.
7649 * recog.c: Likewise.
7650 * reload1.c: Likewise.
7651 * reload.c: Likewise.
7652 * reorg.c: Likewise.
7653 * resource.c: Likewise.
7654 * sched-rgn.c: Likewise.
7655 * sdbout.c: Likewise.
7656 * stmt.c: Likewise.
7657 * toplev.c: Likewise.
7658 * varasm.c: Likewise.
7659
7660 2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
7661
7662 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
7663 * Makefile.in (langhooks.o): Add dependencies.
7664
7665 Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
7666
7667 * rs6000.c (rs6000_emit_load_toc_table): Don't
7668 strdup the toc label.
7669 (create_TOC_reference): Likewise.
7670
7671 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7672
7673 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
7674 version default.
7675
7676 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7677
7678 * config/i386/i386.c (ix86_attribute_table): Correct
7679 min_len, max_len fields for dllimport, dllexport and shared.
7680
7681 2001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
7682
7683 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
7684 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
7685 Consistently use "nonzero" instead of "non-zero".
7686
7687 2001-10-09 Kazu Hirata <kazu@hxi.com>
7688
7689 * acconfig.h: Fix comment formatting.
7690 * c-dump.h: Likewise.
7691 * c-tree.h: Likewise.
7692 * conditions.h: Likewise.
7693 * expr.h: Likewise.
7694 * function.h: Likewise.
7695 * gthr.h: Likewise.
7696 * hwint.h: Likewise.
7697 * integrate.h: Likewise.
7698 * intl.h: Likewise.
7699 * loop.h: Likewise.
7700 * optabs.h: Likewise.
7701
7702 2001-10-09 Kazu Hirata <kazu@hxi.com>
7703
7704 * c-common.h: Fix comment formatting.
7705 * c-dump.c: Likewise.
7706 * cfg.c: Likewise.
7707 * diagnostic.h: Likewise.
7708 * except.c: Likewise.
7709 * gcc.h: Likewise.
7710 * gcov-io.h: Likewise.
7711 * genattrtab.c: Likewise.
7712 * output.h: Likewise.
7713 * predict.h: Likewise.
7714 * reload1.c: Likewise.
7715 * reload.h: Likewise.
7716 * resource.h: Likewise.
7717 * scan.h: Likewise.
7718 * system.h: Likewise.
7719 * tree.h: Likewise.
7720 * tree-inline.c: Likewise.
7721 * tsystem.h: Likewise.
7722 * varasm.c: Likewise.
7723 * xcoffout.h: Likewise.
7724
7725 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
7726
7727 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
7728
7729 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
7730
7731 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
7732 config/i386/i386elf.h, config/i386/netbsd-elf.h,
7733 config/i386/netware.h, config/mcore/gfloat.h,
7734 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
7735 config/netware.h, gccbug.in: Update FSF address.
7736
7737 2001-10-09 Kazu Hirata <kazu@hxi.com>
7738
7739 * c-common.c: Fix comment typos.
7740 * cfgrtl.c: Likewise.
7741 * collect2.c: Likewise.
7742 * cpplex.c: Likewise.
7743 * doloop.c: Likewise.
7744 * dwarf2out.c: Likewise.
7745 * dwarfout.c: Likewise.
7746 * expr.c: Likewise.
7747 * fold-const.c: Likewise.
7748 * gcc.c: Likewise.
7749 * gcov.c: Likewise.
7750 * gcse.c: Likewise.
7751 * global.c: Likewise.
7752 * ifcvt.c: Likewise.
7753 * loop.c: Likewise.
7754 * optabs.c: Likewise.
7755 * protoize.c: Likewise.
7756 * regclass.c: Likewise.
7757 * reorg.c: Likewise.
7758 * rtl.h: Likewise.
7759 * stmt.c: Likewise.
7760 * tree.h: Likewise.
7761 * doc/cpp.texi: Likewise.
7762 * doc/c-tree.texi: Likewise.
7763 * doc/extend.texi: Likewise.
7764 * doc/invoke.texi: Likewise.
7765 * doc/objc.texi: Likewise.
7766 * doc/tm.texi: Likewise.
7767
7768 2001-10-08 Richard Henderson <rth@redhat.com>
7769
7770 * varasm.c (set_named_section_flags): Initialize "declared".
7771
7772 2001-10-08 Robert Lipe <robertlipe@usa.net>
7773
7774 * varasm.c (struct in_named_entry): Add declared.
7775 (named_section_first_declaration): New function.
7776 (default_elf_asm_named_section): Use it.
7777 * output.h (named_section_first_declaration): New.
7778
7779 2001-10-08 Richard Henderson <rth@redhat.com>
7780
7781 * i386.md (movsi_xor): Export.
7782 (setcc peep2): Use it when available; add an alternative to
7783 match zero_extendhisi2_and.
7784
7785 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7786
7787 * romp-protos.h (romp_initialize_trampoline): New function.
7788 * romp.c (romp_initialize_trampoline): Likewise.
7789 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
7790 romp_initialize_trampoline.
7791
7792 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7793
7794 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
7795 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7796 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7797 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7798
7799 2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7800
7801 * unroll.c (loop_iterations): Extend check for multiple back edges.
7802
7803 2001-10-08 Alexandre Oliva <aoliva@redhat.com>
7804
7805 * langhooks.h: New file.
7806 * Makefile.in (OBJS): Added langhooks.o.
7807 (c-lang.o): Depend on langhooks.h.
7808 (c-common.o): Don't depend on tree-inline.h.
7809 (tree-inline.o): Depend on toplev.h.
7810 (langhooks.o): New rule.
7811 * c-common.c: Don't include tree-inline.h.
7812 (c_mark_lang_decl): Mark argument c as unused.
7813 (c_common_lang_init): Don't initialize hooks here.
7814 * c-lang.c: Include langhooks.h, then override some macros.
7815 (lang_hooks): Initialize with macros in langhooks.h.
7816 (c_init): Don't initialize hooks here.
7817 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
7818 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
7819 * tree-inline.c: Include toplev.h. Don't define hook variables.
7820 * tree-inline.h: Don't define hook types nor declare hook
7821 variables. Move macros to...
7822 * langhooks.c: ... new file, as functions. Adjust all callers.
7823
7824 2001-10-08 Jeffrey A Law <law@cygnus.com>
7825
7826 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
7827 purge_mem_unchanging_flag on all instructions, not just on those
7828 before NOTE_INSN_FUNCTION_BEG.
7829
7830 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7831
7832 * cppmacro.c (_cpp_create_definition): Leave comments off.
7833
7834 * doc/cpp.texi: Update.
7835
7836 2001-10-08 DJ Delorie <dj@redhat.com>
7837
7838 * c-decl.c (grokfield): Make sure the only unnamed fields
7839 we're allowing are either structs or unions.
7840 * doc/extend.texi: Add documentation for the unnamed field
7841 extension.
7842
7843 2001-10-08 Zack Weinberg <zack@codesourcery.com>
7844
7845 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
7846 * configure.in: Use it.
7847 * configure: Regenerated.
7848 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
7849 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
7850
7851 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7852
7853 * cppfiles.c (open_file): Don't mark zero-length files
7854 never-reread here. Don't output diagnostics here either.
7855 (stack_include_file): Mark them never-reread here.
7856 (_cpp_read_file): Update.
7857
7858 2001-10-08 Richard Henderson <rth@redhat.com>
7859
7860 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7861
7862 2001-10-08 Richard Henderson <rth@redhat.com>
7863
7864 * expr.c (store_expr): When converting a CONST_INT for storage
7865 in a SUBREG, convert it to both SUBREG modes before stripping
7866 the SUBREG.
7867
7868 2001-10-08 Richard Henderson <rth@redhat.com>
7869
7870 * varasm.c (restore_varasm_status): New.
7871 * function.h: Declare it.
7872 * function.c (pop_function_context_from): Call it.
7873
7874 2001-10-08 Richard Henderson <rth@redhat.com>
7875
7876 * c-common.h (struct c_lang_decl): Add declared_inline.
7877 * c-tree.h (DECL_DECLARED_INLINE_P): New.
7878 * c-lang.c (c_disregard_inline_limits): Use it.
7879 * c-decl.c (duplicate_decls): Likewise.
7880 (pushdecl, redeclaration_error_message): Likewise.
7881 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
7882 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
7883 Set DECL_INLINE if -finline-functions.
7884 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
7885
7886 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7887
7888 * cppmacro.c (funlike_invocation_p): Move some logic to caller
7889 in enter_macro_context. Create a padding token in its own context
7890 if necessary when the search for '(' fails.
7891 (enter_macro_context): Update.
7892
7893 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7894
7895 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
7896 genmultilib, toplev.c: Fix spelling errors of "separate" as
7897 "seperate", and corresponding spelling errors of related words.
7898
7899 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7900
7901 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
7902 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
7903 Likewise.
7904 * c-dump.c (dump_option_value_info): Likewise.
7905 * c-format.c (format_length_info, format_char_info,
7906 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
7907 * collect2.c (names): Likewise.
7908 * cppdefault.h (default_include): Likewise.
7909 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
7910 * flow.c (life_analysis): Likewise.
7911 * gcc.c (dir_separator_str, modify_target, option_map,
7912 target_option_translations, spec_list_1, extra_specs_1,
7913 init_spec): Likewise.
7914 * gcov.c (gcov_version_string): Likewise.
7915 * genattr.c (write_units): Likewise.
7916 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
7917 * gengenrtl.c (rtx_definition, defs): Likewise.
7918 * genrecog.c (pred_table): Likewise.
7919 * global.c (global_alloc): Likewise.
7920 * lcm.c (optimize_mode_switching): Likewise.
7921 * local-alloc.c (find_free_reg): Likewise.
7922 * params.h (param_info): Likewise.
7923 * predict.c (predictor_info): Likewise.
7924 * protoize.c (unexpansion_struct): Likewise.
7925 * real.c (bmask): Likewise.
7926 * recog.h (insn_operand_data, insn_data): Likewise.
7927 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
7928 * stmt.c (expand_nl_goto_receiver): Likewise.
7929 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
7930 target_switches, target_options): Likewise.
7931 * tradcif.y (token, tokentab2, yylex): Likewise.
7932 * tree.h (attribute_spec): Likewise.
7933
7934 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
7935 Likewise.
7936 * arc.c (arc_output_function_epilogue): Likewise.
7937 * arm.c (processors, all_cores, all_architectures,
7938 arm_override_options, isr_attribute_arg, isr_attribute_args,
7939 arm_isr_value): Likewise.
7940 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
7941 Likewise.
7942 * c4x.c (c4x_int_reglist): Likewise.
7943 * d30v.c (override_options): Likewise.
7944 * h8300.c (shift_insn): Likewise.
7945 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
7946 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
7947 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
7948 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
7949 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
7950 * i386.h (processor_costs, ix86_cost): Likewise.
7951 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
7952 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
7953 * m68k.c (codes_68881, codes_FPA): Likewise.
7954 * m88k.c (mode_from_align, max_from_align, all_from_align,
7955 best_from_align, m_options): Likewise.
7956 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
7957 * mcore.c (mode_from_align): Likewise.
7958 * mips/elf64.h (UNIQUE_SECTION): Likewise.
7959 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
7960 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
7961 * mips.h (mips_regno_to_class): Likewise.
7962 * ns32k.c (scales): Likewise.
7963 * pa.c (import_string, magic_milli): Likewise.
7964 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
7965 * sparc.c (leaf_reg_remap, sparc_override_options,
7966 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
7967 Likewise.
7968 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
7969
7970 2001-10-07 Dale Johannesen <dalej@apple.com>
7971
7972 * reload1.c (reload_reg_free_p): Teach register interference
7973 checking that multiple output reloads are emitted in
7974 reverse order.
7975 reload1.c (reload_reg_reaches_end_p): Ditto.
7976 reload1.c (reloads_conflict): Ditto.
7977
7978 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7979
7980 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
7981 NULL_TREE inside @code.
7982
7983 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7984
7985 * doc/gcc.texi: Document consistent style of "32-bit",
7986 "Objective-C", and "@code{NULL}".
7987
7988 2001-10-06 Zack Weinberg <zack@codesourcery.com>
7989
7990 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
7991 (cpp_token_len, cpp_spell_token, cpp_output_token,
7992 _cpp_equiv_tokens): Handle it.
7993 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
7994 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
7995 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
7996 error messages.
7997
7998 Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7999
8000 * gcc.c (default_compilers): Remove .ada.
8001
8002 2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
8003
8004 * doc/cppinternals.texi: Update.
8005
8006 2001-10-06 Zack Weinberg <zack@codesourcery.com>
8007
8008 * gcc.c (main): Set this_file_error if the appropriate
8009 compiler for a language has not been installed.
8010
8011 2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
8012
8013 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8014
8015 2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
8016
8017 * gccbug.in (CATEGORIES): Add ada.
8018
8019 2001-10-05 Catherine Moore <clm@redhat.com>
8020
8021 * config/stormy16/stormy-abi: Document abi changes.
8022 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8023 (ICALL_REGS): New register class.
8024 (NUM_ARGUMENT_REGISTERS): Now 6.
8025 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8026 in registers.
8027 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8028 * config/stormy16.md (call_internal, call_value_internal,
8029 indirect_jump): Use new 'z' constraint.
8030
8031 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
8032
8033 * doc/cppinternals.texi: Update.
8034
8035 2001-10-05 Richard Henderson <rth@redhat.com>
8036
8037 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8038 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8039 the gas section-name-as-label feature.
8040
8041 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
8042
8043 * doc/cppinternals.texi: Update.
8044
8045 Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8046
8047 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8048 to ensure valid SImode constants.
8049
8050 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
8051
8052 * Makefile.in (c-decl.o): Depend on tree-inline.h.
8053 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8054 * c-decl.c: Include tree-inline.h.
8055 (c_expand_body): Call optimize_inline_calls. Determine whether
8056 a function is inlinable upfront, and only clear
8057 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8058 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8059 (c_disregard_inline_limits): New function.
8060 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8061 (c_post_options): Enable tree inlining if inlining is enabled.
8062 Don't inline trees when instrumenting functions.
8063 (c_init): Initialize lang_disregard_inline_limits and
8064 lang_cannot_inline_tree_fn.
8065 * tree-inline.c (initialize_inlined_parameters): Handle calls
8066 with fewer arguments than declared parameters, and fewer
8067 parameters than passed arguments. Don't assume value is a
8068 DECL.
8069 (declare_return_variable): Convert return value back to the
8070 original type, if it was promoted.
8071 (tree_inlinable_function_p): New function.
8072 (inlinable_function_p): Don't look at DECL_INLINE if we're
8073 inlining all functions. Make it work with a NULL id.
8074 Re-check DECL_UNINLINABLE after language-specific checks.
8075 * tree-inline.h (tree_inlinable_function_p): Declare it.
8076 * integrate.c (save_for_inline): Don't bother to prepare argvec
8077 when not inlining.
8078 * cse.c (check_for_label_ref): Don't check deleted labels.
8079
8080 * Makefile.in (tree-inline.o): Depend on newly-included headers.
8081 * tree-inline.c: Include headers needed for the functions moved in.
8082 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8083 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8084 (copy_body, initialize_inlined_parameters): Likewise.
8085 (declare_return_variable, inlinable_function_p): Likewise.
8086 (expand_call_inline, expand_calls_inline): Likewise.
8087 (optimize_inline_calls, clone_body): Likewise.
8088 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
8089 (copy_tree_r, remap_save_expr): Likewise.
8090
8091 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
8092
8093 * Makefile.in (OBJS): Added tree-inline.o.
8094 (c-common.o): Depend on tree-inline.h.
8095 (tree-inline.o): New target.
8096 * c-common.c: Include tree-inline.h.
8097 (c_mark_lang_decl): Don't mark saved_tree.
8098 (c_common_lang_init): Set lang_anon_aggr_type_p.
8099 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
8100 (struct c_lang_decl): Moved saved_tree to tree_decl.
8101 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
8102 * integrate.h (function_attribute_inlinable_p): Declare it.
8103 * integrate.c (function_attribute_inlinable_p): Export it.
8104 * tree-inline.c: New file. Define variables declared in...
8105 * tree-inline.h: New file. Declare functions to be moved to
8106 tree-inline.c. Define macros and declare types and hooks for
8107 language-specific tree inlining.
8108 (flag_inline_trees): Moved definition from cp/decl2.c.
8109 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
8110 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
8111 (struct tree_decl): Moved saved_tree from c_lang_decl and
8112 inlined_fns from C++'s lang_decl.
8113
8114 2001-10-04 Loren J. Rittle <ljrittle@acm.org>
8115
8116 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
8117 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
8118
8119 2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
8120
8121 * doc/cppinternals.texi: Update.
8122
8123 2001-10-04 Eric Christopher <echristo@redhat.com>
8124
8125 * config/mips/mips.c (init_cumulative_args): Remember to set
8126 cum->prototype.
8127 * config.gcc: Redo linux configuration. Add target_cpu_default
8128 of soft-float to all mipsisa32 combinations and tx39.
8129 * config/mips/linux.h: Remove include of mips.h.
8130
8131 2001-10-03 Loren J. Rittle <ljrittle@acm.org>
8132
8133 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
8134 HOST_LDFLAGS and HOST_CPPFLAGS.
8135
8136 2001-10-03 Ziemowit Laski <zlaski@apple.com>
8137
8138 * c-parse.in (objc_inherit_code, objc_pq_context,
8139 objc_public_flag): Make static.
8140 (objc_interface_context, objc_implementation_context,
8141 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
8142 global tree array in objc/objc-act.[ch].
8143 (methoddef): Remove unnecessary code.
8144
8145 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
8146 Hoist struct definitions to objc-act.h.
8147 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
8148 cat_count): Place declaration in objc-act.h.
8149 (objc_tree_index): Move enumeration to objc-act.h.
8150 (objc_global_trees): Place declaration and macro accessors in
8151 objc-act.h.
8152 (implementation_context): Remove duplicate; use
8153 objc_implementation_context instead:
8154 (method_context): Remove duplicate; use objc_method_context
8155 instead.
8156 (objc_ellipsis_node, objc_method_prototype_template,
8157 implemented_classes, function_type): Move global vars to
8158 objc_global_trees.
8159 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
8160 (build_message_expr): Move actual construction of ObjC message
8161 send nodes to finish_message_expr.
8162 (finish_message_expr): New routine, contains code formerly in
8163 build_message_expr.
8164 * objc/objc-act.h (finish_message_expr): New prototype.
8165 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
8166 declarations; these vars are now part of objc_global_trees.
8167 (objc_tree_index, objc_global_trees): Move definitions from
8168 objc-act.c.
8169 * objc/objc-tree.def: Update copyright info.
8170
8171 Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
8172
8173 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
8174 op is NULL.
8175 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
8176 only if TARGET_ARCH64.
8177
8178 2001-10-02 Bernd Schmidt <bernds@redhat.com>
8179
8180 * doc/extend.texi: Fix some problems with previous checkin.
8181 * doc/invoke.texi: Likewise.
8182
8183 2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
8184
8185 * cpphash.h: Update comments.
8186 (cpp_context): Update.
8187 (spec_nodes): Remove n__Pragma.
8188 * cppinit.c (cpp_create_reader): Update.
8189 (builtin_array): Add _Pragma.
8190 * cpplib.h: Update comments.
8191 (NODE_DISABLED, BT_PRAGMA): New.
8192 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
8193 * cppmacro.c (struct cpp_macro): Remove disabled.
8194 (builtin_macro): Return int, handle _Pragma, push the new token
8195 on the context stack.
8196 (funlike_invocation_p): Unconstify, update.
8197 (enter_macro_context): Handle builtins here.
8198 (replace_args, push_token_context, push_ptoken_context):
8199 Update for prototype changes.
8200 (_cpp_pop_context): Update.
8201 (cpp_get_token): Don't handle buitins, nor _Pragma here.
8202 (cpp_sys_macro_p): Update.
8203 (_cpp_free_definition): Clear disabled flag.
8204 (_cpp_create_definition): Upate.
8205 * cppmain.c: Update comments.
8206
8207 Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
8208 Andreas Jaeger <aj@suse.de>,
8209 Jan Hubicka <jh@suse.cz>
8210
8211 * doc/invoke.texi (i386 Options): Document x86-64 options.
8212 (i386 and x86-64 Options): Rename i386 options section.
8213
8214 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
8215 (TARGET_SWITCHES): Add -munwind-info.
8216 (MASK_NO_UNWIND_INFO): New.
8217 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
8218 biarch compilation.
8219 (ASM_OUTPUT_DOUBLE_INT): New.
8220
8221 * config/i386/linux64.h: New spec file for Linux x86-64 support.
8222 * config.gcc: Fix tm_file settings for x86-64.
8223 * config/i386/x86-64.h: New file with OS independent x86-64
8224 definitions.
8225 * config/i386/biarch64.h: New file used to configure compiler
8226 to biarch/64bit compilation.
8227
8228 * config/i386/i386.c: (override_options): Set flags default
8229 for 64bit compilation.
8230
8231 Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
8232
8233 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
8234 (ix86_expand_int_movcc): Optimize DImode conditional moves with
8235 constants on x86_64.
8236 (ix86_attr_length_immediate_default): Support MODE_DI.
8237 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
8238 condition.
8239 (indirect_jump, tablejump): Turn into expander.
8240
8241 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
8242
8243 * c-common.c (c_format_attribute_table): Make format and
8244 format_arg attributes apply to function types rather than to
8245 decls.
8246 (is_valid_printf_arglist): Construct an attribute list and pass
8247 that to check_function_format rather than a name.
8248 * c-common.h (check_function_format): Adjust prototype.
8249 * c-decl.c (duplicate_decls): Preserve attributes from type of
8250 built-in decl when allowing for harmless conflict in types.
8251 * c-format.c (record_function_format,
8252 record_international_format, function_format_list,
8253 international_format_info, international_format_list): Remove.
8254 (function_format_info): Remove next, name and assembler_name.
8255 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
8256 (decode_format_attr): New.
8257 (handle_format_attribute): Handle receiving a type rather than a
8258 decl. Call decode_format_attr. Store format information in a
8259 function_format_info.
8260 (handle_format_arg_attribute): Correct comment. Handle receiving
8261 a type rather than a decl. Use unsigned HOST_WIDE_INT for
8262 arg_num.
8263 (check_format_info_recurse, check_format_info_main): Take argument
8264 numbers as unsigned HOST_WIDE_INT.
8265 (check_function_format): Take a list of attributes from the
8266 function type rather than a name or assembler name. Check for
8267 format attributes in that list and the attributes on the type of
8268 the current function rather than looking through
8269 function_format_list.
8270 (check_format_info): Use unsigned HOST_WIDE_INT for argument
8271 numbers.
8272 (check_format_info_recurse): Take format_arg attributes from the
8273 type of the function calls rather than using
8274 international_format_list. Allow for multiple format_arg
8275 attributes.
8276 * c-typeck.c (build_function_call): Pass type attributes to
8277 check_function_format rather than name or assembler name. Don't
8278 require there to be a name or assembler name to check formats.
8279
8280 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
8281
8282 * attribs.c (decl_attributes): Possibly call
8283 insert_default_attributes to insert default attributes on
8284 functions in a lazy manner.
8285 * builtin-attrs.def: New file; define the default format and
8286 format_arg attributes.
8287 * c-common.c (c_format_attribute_table): Move to earlier in the
8288 file.
8289 (c_common_nodes_and_builtins): Initialize format_attribute_table.
8290 (enum built_in_attribute, built_in_attributes,
8291 c_attrs_initialized, c_init_attributes,
8292 c_common_insert_default_attributes): New.
8293 (c_common_lang_init): Don't initialize format_attribute_table. Do
8294 call c_init_attributes.
8295 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
8296 * c-common.h (init_function_format_info): Don't declare.
8297 (c_common_insert_default_attributes): Declare.
8298 * c-decl.c (implicitly_declare, builtin_function): Call
8299 decl_attributes.
8300 (init_decl_processing): Don't call init_function_format_info.
8301 (insert_default_attributes): New.
8302 * c-format.c (handle_format_attribute,
8303 handle_format_arg_attribute): Be quiet about inappropriate
8304 declaration when applying default attributes.
8305 (init_function_format_info): Remove.
8306 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
8307 (insert_default_attributes): Declare.
8308
8309 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
8310
8311 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
8312
8313 2001-10-01 Jim Wilson <wilson@redhat.com>
8314
8315 * sched-deps.c (add_dependence): When elide conditional dependence,
8316 check that insn doesn't modify cond2.
8317
8318 2001-10-01 Dale Johannesen <dalej@apple.com>
8319
8320 * config/rs6000/rs6000.h (enum processor_type): Add support
8321 for 7400 (G4) and 7450.
8322 (RTX_COSTS): Ditto.
8323 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
8324 (rs6000_issue_rate): Ditto.
8325 (rs6000_adjust_cost): Fix cycle counts for compares.
8326 (debug_stack_info): Fix an obvious typo.
8327 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
8328 * doc/invoke.texi: Document.
8329 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
8330 for Darwin.
8331 (PROCESSOR_DEFAULT): Ditto.
8332
8333 2001-10-01 Loren J. Rittle <ljrittle@acm.org>
8334
8335 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
8336 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
8337 later recursive make invocation.
8338
8339 2001-10-01 Hans Boehm <boehm@acm.org>
8340
8341 * optabs.c (emit_libcall_block): When using non-call exceptions,
8342 don't add REG_LIBCALL reg notes to trapping calls.
8343
8344 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
8345
8346 * flow.c (propagate_block_delete_libcall): Remove unused first arg
8347 (propagate_one_insn): Update for above change
8348
8349 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
8350
8351 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
8352 _Unwind_GetTextRelBase): Argument is unused.
8353
8354 Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8355
8356 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
8357 Loop through NOPs, placeholders, and components.
8358 Don't go through NOPs if change mode.
8359 (record_alias_subset): Do nothing if SUBSET and SET are the same.
8360 * emit-rtl.c (set_mem_alias_set): Enable check.
8361 * expr.c (find_placeholder): New function.
8362 (expand_expr, case PLACEHOLDER_EXPR): Use it.
8363 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
8364 to modify it and avoid unneeded copies.
8365 * expr.h (expand_expr): Always define.
8366 (find_placeholder): New declaration.
8367
8368 2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8369
8370 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
8371 operand 2 is the stack pointer.
8372 ("addr-peephole"): Fix address computation peephole when operand 2
8373 is the stack pointer.
8374
8375 Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8376
8377 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
8378 (ix86_setup_incoming_varargs): Likewise.
8379
8380 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
8381
8382 * stor-layout.c (layout_type): Don't complain about too-large
8383 array here.
8384
8385 Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8386
8387 * function.c (keep_stack_depressed): Don't use delete_insn.
8388
8389 * expr.h (set_mem_alias_set): Move decl to here.
8390 * rtl.h (mem_attrs): New typedef and struct.
8391 (union rtunion_def): Add field for mem_attrs.
8392 (X0MEMATTR, MEM_ATTRS): New macros.
8393 (MEM_ALIAS_SET): Use MEM_ATTRS.
8394 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
8395 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
8396 (set_mem_alias_set): Delete decl from here.
8397
8398 * alias.c (set_mem_alias_set): Delete from here.
8399 * emit-rtl.c (mem_attrs_htab): New variable.
8400 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
8401 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
8402 (mem_attrs_mark, get_mem_attrs): Likewise.
8403 (gen_rtx_MEM): Clear MEM_ATTRS.
8404 (set_mem_attributes): Move to here.
8405 (set_mem_alias_set): Likewise, and call get_mem_attrs.
8406 (init_emit_once): const_int_htab now deletable htab.
8407 Initialize mem_attrs_htab.
8408 * explow.c (set_mem_attributes): Delete from here.
8409 * function.c (put_var_into_stack): Clear MEM_ATTRS.
8410 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
8411 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
8412 * reload1.c (reload): Rework changing REG to MEM.
8413
8414 2001-09-30 H.J. Lu <hjl@gnu.org>
8415
8416 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
8417 * config.in: Rebuild.
8418
8419 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8420
8421 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
8422 ("tsthi_1"): Avoid allocation in register y.
8423 ("*movqi_68hc12"): Reorganize and fix constraints.
8424 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
8425 ("addqi3"): Likewise.
8426 ("addhi3"): Fix constraints.
8427 ("*logicalhi3_zexthi"): Disparage soft registers.
8428
8429 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8430
8431 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
8432 to tmp reg.
8433
8434 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8435
8436 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
8437 that we use setjmp/longjmp exceptions.
8438
8439 2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
8440
8441 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
8442 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
8443 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8444 _cpp_pool_alloc, _cpp_next_chunk): Remove.
8445 (_cpp_extend_buff, BUFF_ROOM): Update.
8446 (_cpp_append_extend_buff): New.
8447 (struct cpp_reader): Remove macro_pool, add a_buff.
8448 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
8449 macro_pool.
8450 (cpp_destroy): Free a_buff instead of macro_pool.
8451 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
8452 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8453 _cpp_pool_alloc, ): Remove.
8454 (parse_number, parse_string): Update use of _cpp_extend_buff.
8455 (_cpp_extend_buff): Update.
8456 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
8457 * cpplib.c (glue_header_name, parse_answer):
8458 Update use of _cpp_extend_buff.
8459 (cpp_register_pragma, cpp_register_pragma_space): Use
8460 _cpp_aligned_alloc.
8461 (do_assert, do_unassert): Check for EOL, update.
8462 * cppmacro.c (stringify_arg, collect_args): Update to use
8463 _cpp_extend_buff and _cpp_append_extend_buff.
8464 (save_parameter, parse_params, alloc_expansion_token,
8465 _cpp_create_definition): Rework memory management.
8466
8467 2001-09-29 Andris Pavenis <pavenis@lanet.lv>
8468
8469 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
8470 update md_exec_prefix.
8471 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
8472 to string constant.
8473
8474 2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
8475
8476 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
8477 (SELECT_CC_MODE): Use s390_select_ccmode.
8478 * config/s390/s390-protos.h (s390_select_ccmode): Add.
8479 * config/s390/s390.c (s390_select_ccmode): New.
8480 (s390_match_ccmode): Add CCLmode.
8481 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
8482 (output_branch_condition, output_inverse_branch_condition): Removed.
8483 (print_operand): Use s390_branch_condition_mnemonic.
8484 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
8485 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
8486 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
8487
8488 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
8489 when converting conditional branches to far branches.
8490 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
8491 cmpint_di): Use CCSmode instead of CCUmode.
8492
8493 * config/s390/s390.c (legitimate_la_operand_p): New.
8494 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
8495 * config/s390/s390.md (movsi): Convert load address patterns to
8496 arithmetic operations when necessary.
8497 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
8498 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
8499 (*do_la_reg_0): Don't use before reload.
8500
8501 * config/s390/s390.c (legitimize_address): Make more efficient
8502 use of two-register addressing mode.
8503
8504 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
8505 with -mno-backchain in some corner cases.
8506
8507 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
8508
8509 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
8510
8511 * reload.c (find_reloads): Mark new USE insns with QImode.
8512 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
8513 find_reloads_subreg_address): Likewise.
8514 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
8515 encountered.
8516 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
8517 CLOBBERs.
8518 (reload): Make sure there are no USEs with mode other than
8519 VOIDmode. At the end, remove those marked with QImode.
8520
8521 2001-09-29 Per Bothner <per@bothner.com>
8522
8523 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
8524 * Makefile.in (includedir): Rename to local_includedir.
8525 (includedir): Define as $(prefix)/include.
8526 * config.in (PREFIX_INCLUDE_DIR): New variable.
8527 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
8528
8529 2001-09-29 Bernd Schmidt <bernds@redhat.com>
8530
8531 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
8532 storehps builtins.
8533 * doc/extend.texi (Vector Extensions): New node.
8534 * doc/invoke.texi (Machine Dependent Options): Add documentation for
8535 i386 -mmmx, -msse, -m3dnow.
8536
8537 Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
8538
8539 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
8540
8541 2001-09-29 Hans-Peter Nilsson <hp@axis.com>
8542
8543 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
8544
8545 * doc/invoke.texi (Optimize Options): Delete spurious @table.
8546
8547 2001-09-28 Richard Henderson <rth@redhat.com>
8548
8549 * varasm.c (assemble_integer): Bound alignment check by
8550 BIGGEST_ALIGNMENT.
8551
8552 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
8553
8554 2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8555
8556 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
8557
8558 2001-09-25 Bernd Schmidt <bernds@redhat.com>
8559
8560 Mostly from Graham Stott <grahams@redhat.com>
8561 * c-common.c (type_for_mode): Add support for V2SFmode.
8562 * tree.c (build_common_tree_nodes_2): Likewise.
8563 * tree.h (enum tree_index, global_trees): Likewise.
8564 * config/i386/i386.c (x86_3dnow_a): New variable.
8565 (override_options): Support 3Dnow extensions.
8566 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
8567 Athlon's version of 3Dnow.
8568 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
8569 (ix86_expand_builtin): Handle them.
8570 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
8571 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
8572 TARGET_3DNOW_A): New macros.
8573 (TARGET_SWITCHES): Add 3Dnow switches.
8574 (VALID_MMX_REG_MODE_3DNOW): New macro.
8575 (VECTOR_MODE_SUPPORTED_P): Use it.
8576 (enum ix86_builtins): Add entries for 3Dnow builtins.
8577 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
8578 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
8579 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
8580 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
8581 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
8582 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
8583 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
8584 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
8585 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
8586 sfence_insn, prefetch): Make these available if TARGET_SSE or
8587 TARGET_3DNOW_A.
8588
8589 Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
8590
8591 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
8592 ix86_va_start, ix86_build_va_list): Declare.
8593 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
8594 ix86_va_start, ix86_build_va_list): New global functions.
8595 * i386.md (sse_prologue_save_insn): New insn.
8596 (sse_prologue_save): New expander.
8597 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
8598 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
8599
8600 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
8601
8602 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
8603 Use size_t everywhere, make definitions consistent with
8604 prototypes.
8605
8606 Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
8607
8608 * gcse.c (replace_store_insn): Use delete_insn.
8609 * loop.c (move_movables): Likewise; avoid delete_insn
8610 from clobbering notes moved elsewhere.
8611 (check_dbra_loop): Use delete_insn.
8612 * ssa.c (convert_from_ssa): Likewise.
8613 * cse.c (cse_insn): Use delete_insn.
8614
8615 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
8616
8617 * cpphash.h (struct cpp_buff): Make unsigned.
8618 (_cpp_get_buff): Take length of size_t.
8619 (_cpp_unaligned_alloc): New.
8620 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
8621 (struct cpp_reader): Remove ident_pool. Add u_buff.
8622 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
8623 (cpp_destroy): Destroy u_buff, not ident_pool.
8624 * cpplex.c (parse_number, parse_string, save_comment,
8625 cpp_token_as_text): Update to use the unaligned buffer.
8626 (new_buff): Make unsigned.
8627 (_cpp_unaligned_alloc): New.
8628 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
8629 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
8630 Similarly.
8631 (collect_args): Make unsigned.
8632
8633 2001-09-27 Zack Weinberg <zack@codesourcery.com>
8634
8635 * cpplex.c (cpp_output_token): Use a putc loop for
8636 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
8637
8638 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
8639 * configure, config.in: Regenerate.
8640 * system.h: Replace fwrite and fprintf with their unlocked
8641 variants if available.
8642
8643 2001-09-27 Richard Henderson <rth@redhat.com>
8644
8645 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
8646 in favour of .eh_frame.
8647
8648 2001-09-27 Aldy Hernandez <aldyh@redhat.com>
8649
8650 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
8651 to macros.
8652 (LIBCALL_VALUE): Likewise.
8653
8654 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
8655
8656 * cpphash.h: Update comment.
8657 * cpplex.c: Update comments.
8658 (_cpp_can_paste): Remove.
8659 * cpplib.h (_cpp_can_paste): Remove.
8660 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
8661 lexer rather than _cpp_can_paste.
8662
8663 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
8664
8665 * doc/cppinternals.texi: Update.
8666
8667 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
8668
8669 * cpphash.h (struct cpp_pool): Remove locks and locked.
8670 (struct cpp_context): Add member buff.
8671 (struct cpp_reader): Remove member argument_pool.
8672 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8673 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
8674 * cpplex.c (chunk_suitable): Remove pool argument.
8675 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
8676 (new_buff, _cpp_extend_buff): Update.
8677 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
8678 which buffer is returned.
8679 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
8680 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8681 * cppmacro.c (lock_pools, unlock_pools): Remove.
8682 (push_ptoken_context): Take a _cpp_buff.
8683 (enter_macro_context): Pool locking removed.
8684 (replace_args): Use a _cpp_buff for the replacement list with
8685 arguments replaced.
8686 (push_token_context): Clear buff.
8687 (expand_arg): Use _cpp_pop_context.
8688 (_cpp_pop_context): Free a context's buffer, if any.
8689
8690 2001-09-26 DJ Delorie <dj@redhat.com>
8691
8692 * c-typeck.c (digest_init): Check for sizeless arrays.
8693
8694 2001-09-26 Richard Henderson <rth@redhat.com>
8695
8696 * optabs.c (init_one_libfunc): Create a dummy function type
8697 instead of using error_mark_node.
8698
8699 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
8700
8701 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
8702 _cpp_extend_buff, _cpp_free_buff): New.
8703 (struct cpp_reader): New member free_buffs.
8704 * cppinit.c (cpp_destroy): Free buffers.
8705 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
8706 _cpp_extend_buff, _cpp_free_buff): New.
8707 * cpplib.h (struct cpp_options): Remove unused member.
8708 * cppmacro.c (collect_args): New. Combines the old parse_arg
8709 and parse_args. Use _cpp_buff for memory allocation.
8710 (funlike_invocation_p, replace_args): Update.
8711
8712 Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
8713
8714 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
8715
8716 2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
8717
8718 * except.c (sjlj_mark_call_sites): Change address inside sequence.
8719
8720 2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
8721
8722 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
8723 glibc.
8724
8725 2001-09-25 Janis Johnson <janis187@us.ibm.com>
8726 Jim Wilson <wilson@redhat.com>
8727
8728 * doc/install.texi (Specific, ia64-*-linux): Document.
8729
8730 Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
8731
8732 * Makefile.in (cfgrtl.o): Add.
8733 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8734 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8735 free_aux_for_edge): Declare.
8736 * cfg.c
8737 (HAVE_return): Undefine.
8738 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8739 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8740 free_aux_for_edge): New global functions.
8741 (first_delete_block): New static variable.
8742 (init_flow): Clear first_delete_block.
8743 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
8744 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
8745 try_redirect_by_replacing_jump, last_loop_beg_note,
8746 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
8747 delete_insn, delete_insn_chain, create_basic_block_structure,
8748 create_basic_block, flow_delete_block, compute_bb_for_insn,
8749 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
8750 set_block_for_new_insns, split_block, merge_blocks_nomove,
8751 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
8752 redirect_edge_and_branch, force_nonfallthru_and_redirect,
8753 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
8754 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
8755 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
8756 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
8757 purge_all_dead_edges): Move to ....
8758 * cfgrtl.c: New file; .... Here.
8759
8760 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
8761 (reroder_basic_block): Use alloc_aux_for_blocks.
8762 * predict.c (estimate_bb_frequencies): Likewise; use
8763 alloc_aux_for_edges.
8764 * profile.c (compute_branch_probabilities): Likewise.
8765 (branch_prob): Likewise.
8766 * reg-stack.c (reg_to_stack): Likewise.
8767
8768 * emit-rtl.c (emit_insns_after): Never return NULL.
8769
8770 * basic-block.h (set_block_for_new_insns): Delete.
8771 * cfgrtl.c (set_block_for_new_insns): Delete.
8772
8773 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
8774 calls when crossjumping.
8775
8776 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
8777 * unroll.c (copy_loop_body): Use delete_insn.
8778
8779 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
8780 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
8781 keep_stack_depressed): Likewise.
8782 * gcse.c (cprop_cc0_jump): Likewise.
8783 * local-alloc.c (update_equiv_regs): Likewise.
8784 * loop.c (scan_loop, loop_delete_insns): Likewise.
8785 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
8786 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
8787 delete_output_reload, delete_address_reloads_1,
8788 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
8789 Likewise.
8790 * sibcall.c (replace_call_placeholder): Likewise.
8791 * cse.c (cse_insn): Likewise.
8792
8793 2001-09-25 Bernd Schmidt <bernds@redhat.com>
8794
8795 From Graham Stott <grahams@redhat.com>
8796 (def_builtin): Only define builtins appropriate for target_flags. All
8797 callers changed.
8798 (builtin_decsription): Add new field mask which is used to determine
8799 when to define the builtin via the macro def_builtin.
8800
8801 (bdesc_comi): Initialise new mask fields.
8802 (bdesc_2srg): Likewise.
8803 (bdesc_1arg): Likewise.
8804
8805 * config/i386/i386.c (ix86_init_builtins): Correct return type
8806 building v4hi_ftype_v4hi_int_int tree node.
8807 (ix86_expand_sse_comi): Fix typo swapping operands.
8808 Don't swap comparision condition, it is already swapped.
8809 (ix86_expand_sse_compare): Before swapping operands
8810 move operand 1 into new rtx and not the target rtx.
8811 Don't swap comparison condition, it is already swapped.
8812 Always check whether we need to create a new TARGET.
8813
8814 * config/i386/i386.md: (sse_comi) Fix typos.
8815 (sse_ucomi): Likewise.
8816 (cvtss2si): Fix operand 0 contraint.
8817 (cvttss2si): Likewise.
8818 (sse_unpckhps): Fix mode for operand 2.
8819 (sse_unpcklps): Likewise.
8820
8821 2001-09-25 Graham Stott <grahams@redhat.com>
8822
8823 * sibcall.c (skip_copy_to_return_value): Tighten return value
8824 copy check.
8825
8826 2001-09-24 David Edelsohn <edelsohn@gnu.org>
8827
8828 * rs6000.c (lwa_operand): Address must be word aligned.
8829
8830 Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8831
8832 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
8833 number has been set.
8834 (type_hash_mark): Mark type itself.
8835
8836 2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
8837
8838 * c-lex.c (cb_def_pragma): Update.
8839 (c_lex): Update, and skip padding.
8840 * cppexp.c (lex, parse_defined): Update, remove unused variable.
8841 * cpphash.h (struct toklist): Delete.
8842 (union utoken): New.
8843 (struct cpp_context): Update.
8844 (struct cpp_reader): New members eof, avoid_paste.
8845 (_cpp_temp_token): New.
8846 * cppinit.c (cpp_create_reader): Update.
8847 * cpplex.c (_cpp_temp_token): New.
8848 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
8849 (cpp_output_token): Don't print leading whitespace.
8850 (cpp_output_line): Update.
8851 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
8852 do_include_common, do_line, do_ident, do_pragma,
8853 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
8854 parse_assertion): Update.
8855 (get_token_no_padding): New.
8856 * cpplib.h (CPP_PADDING): New.
8857 (AVOID_LPASTE): Delete.
8858 (struct cpp_token): New union member source.
8859 (cpp_get_token): Update.
8860 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
8861 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
8862 replace_args, quote_string, stringify_arg, parse_arg, next_context,
8863 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
8864 _cpp_backup_tokens, _cpp_create_definition): Update.
8865 (push_arg_context): Delete.
8866 (padding_token, push_token_context, push_ptoken_context): New.
8867 (make_string_token, make_number_token): Update, rename.
8868 (cpp_get_token): Update to handle tokens as pointers to const,
8869 and insert padding appropriately.
8870 * cppmain.c (struct printer): New member prev.
8871 (check_multiline_token): Constify.
8872 (do_preprocessing, cb_line_change): Update.
8873 (scan_translation_unit): Update to handle spacing.
8874 * scan-decls.c (get_a_token): New.
8875 (skip_to_closing_brace, scan_decls): Update.
8876 * fix-header.c (read_scan_file): Update.
8877
8878 * doc/cpp.texi: Update.
8879
8880 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8881
8882 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
8883 leak by passing malloc'ed pointer to reconcat, not concat.
8884
8885 2001-09-24 DJ Delorie <dj@redhat.com>
8886
8887 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
8888
8889 2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
8890
8891 * flow.c (delete_dead_jumptables): Delete jumptable if the only
8892 reference is from the literal pool.
8893
8894 2001-09-24 Janis Johnson <janis187@us.ibm.com>
8895
8896 * doc/install.texi (Final install): Request additional information
8897 in mail about successful builds.
8898
8899 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8900
8901 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
8902 initial value of return pointer register instead of value in frame-20.
8903 Revise comments.
8904
8905 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8906
8907 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
8908 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
8909 the libcall if there isn't a referenced identifier for the symbol.
8910
8911 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8912
8913 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
8914 non 64-bit machines. Use these as a plabel for the trampoline.
8915 (TRAMPOLINE_SIZE): Adjust size for new words.
8916 (INITIALIZE_TRAMPOLINE): Initialize new words.
8917 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
8918 pointer to the plabel in the trampoline.
8919
8920 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8921
8922 * pa.c (function_arg): Pass floating arguments in both general and
8923 floating registers in indirect (dynamic) calls when generating code
8924 for the 32 bit ABI and the HP assembler.
8925
8926 2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8927
8928 * doc/install.texi: Markup fixes.
8929 Use Solaris 2, SunOS 4 as appropriate.
8930 (Specific, *-*-solaris2*): Explain this.
8931 Unconditionally warn against /usr/ucb tools.
8932 Remove Sun as warning, obsolete.
8933 Move X11 header bug workaround here, update patches.
8934 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
8935 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
8936
8937 2001-09-23 Zack Weinberg <zack@codesourcery.com>
8938
8939 * errors.h (warning, error, fatal, internal_error): Don't mark
8940 with ATTRIBUTE_PRINTF_n.
8941 * toplev.h (internal_error, fatal_io_error, warning, error,
8942 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
8943 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
8944 Likewise.
8945
8946 Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8947
8948 * function.c (pop_function_context_from): var_refs_queue
8949 and temp slots now in GC memory.
8950 (mark_function_status, free_after_compilation): Likewise;
8951 also struct function now in GC memory.
8952 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
8953 (combine_temp_slots): Likewise.
8954 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
8955 (prepare_function_start): Use GC memory for struct function.
8956 (mark_temp_slot): Deleted.
8957 (gcc_mark_struct_function): struct function now in GC memory.
8958
8959 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
8960 code for division, not modulus.
8961
8962 * rtl.def (MEM): Remove obsolete part of comment.
8963
8964 2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
8965
8966 * c-format.c (init_function_format_info): Check __builtin_printf
8967 and __builtin_fprintf even if -ffreestanding. Check C99 functions
8968 in gnu89 mode.
8969
8970 Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8971
8972 * c-common.c (format_attribute_table): Remove decl.
8973 * tree.h (format_attribute_table, lang_attribute_table): New decls.
8974 (lang_attribute_common): Likewise.
8975
8976 * function.c (fix_lexical_address): Use set_mem_alias_set.
8977 (expand_function_start): Likewise.
8978 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
8979
8980 * varasm.c (output_constant): Fix unused variable warning.
8981
8982 * attribs.c: New file, from c-common.c.
8983 (attribute_tables): Now four elements.
8984 (format_attribute_table, lang_attribute_common): New variables.
8985 (init_attributes): Reflect above changes.
8986 (handle_mode_attribute): Delete check for wider than uintmax.
8987 * c-common.c: Delete parts moved to attribs.c.
8988 (enum attrs): Deleted; unused.
8989 (c_format_attribute_table): New variable.
8990 (c_common_lang_init): Initialize format_attribute_table with it.
8991 * c-common.h (decl_attributes): Remove decl.
8992 * tree.h (decl_attribute): Move it to here.
8993 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
8994 (attribs.o): New rule.
8995
8996 2001-09-22 Andreas Jaeger <aj@suse.de>
8997
8998 * builtins.c (c_getstr): Remove unused variable.
8999
9000 2001-09-21 Richard Henderson <rth@redhat.com>
9001
9002 * reload1.c (reload): Use delete_insn instead of splatting
9003 NOTE_INSN_DELETED.
9004
9005 2001-09-21 Richard Henderson <rth@redhat.com>
9006
9007 * reload.c (push_secondary_reload): Don't check for "=" in output
9008 constraint after ""->ALL_REGS check.
9009
9010 2001-09-21 Richard Henderson <rth@redhat.com>
9011
9012 * predict.c (expected_value_to_br_prob): Use pc_set.
9013
9014 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9015 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9016
9017 2001-09-21 Richard Henderson <rth@redhat.com>
9018
9019 * rtl.h (LCT_RETURNS_TWICE): New.
9020 * calls.c (emit_call_1): Set current_function_calls_setjmp for
9021 ECF_RETURNS_TWICE.
9022 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9023 to ECF_RETURNS_TWICE.
9024 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9025 call to setjmp.
9026
9027 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9028
9029 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9030 (JMP_BUF_SIZE): New.
9031
9032 2001-09-21 Richard Henderson <rth@redhat.com>
9033
9034 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9035 to R8_REGS.
9036
9037 2001-09-21 Richard Henderson <rth@redhat.com>
9038
9039 * tree.def (FDESC_EXPR): New.
9040 * expr.c (expand_expr): Handle it.
9041 * varasm.c (initializer_constant_valid_p): Likewise.
9042 (output_constant): Likewise.
9043 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9044 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9045 (ASM_OUTPUT_FDESC): New.
9046 * doc/tm.texi: Document the new macros.
9047
9048 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
9049
9050 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9051 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9052 once merging is complete.
9053
9054 Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9055
9056 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9057
9058 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
9059
9060 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9061 that would be invalid after a merge.
9062
9063 Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
9064
9065 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9066 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9067 remove some labels.
9068 (flow_delete_insn): This one.
9069 (delete_insn_chain): Rename from ...; do not care labels.
9070 (flow_delete_insn_chain): ... this one.
9071 (flow_delete_block): Remove the insns one BB has been expunged.
9072 (merge_blocks_nomove): Likewise.
9073 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9074 updating BB boundaries.
9075 (tidy_fallthru_edge): Likewise.
9076 (commit_one_edge_insertion): Likewise.
9077 * cfgbuild.c (find_basic_block): Likewise.
9078 (find_basic_blocks_1): Likewise.
9079 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9080 (try_crossjump_to_edge): Likewise.
9081 (try_optimize_cfg): Likewise.
9082 * cse.c (delete_trivially_dead_insns): Likewise.
9083 * df.c (df_insn_delete): Likewise.
9084 * doloop.c (doloop_modify): Use delete_related_insns.
9085 * emit-rtl.c (try_split): Likewise.
9086 (remove_insn): Update BB boundaries.
9087 * expect.c (connect_post_landing_pads): Use delete_related_insns.
9088 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
9089 updating BB boundaries.
9090 (propagate_block_delete_insn): Likewise.
9091 (propagate_block_delete_libcall): Likewise.
9092 * function.c (delete_handlers): Use delete_related_insns.
9093 (thread_prologue_and_epilogue_insns): Likewise.
9094 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
9095 * genpeep.c (gen_peephole): Use delete_related_insns.
9096 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
9097 BB boundaries.
9098 (find_cond_trap): Likewise.
9099 * integrate.c (save_for_inline): Use delete_related_insns.
9100 (copy_insn_list): Likewise.
9101 * jump.c (pruge_linie_number_notes): Likewise.
9102 (duplicate_loop_exit_test): Likewise.
9103 (delete_computation): Likewise.
9104 (delete_related_insn): Rename from ...; use delete_insn
9105 (delete_insn): ... this one.
9106 (redirect_jump): Use delete_related_insns.
9107 * loop.c (scan_loop): Likewise.
9108 (move_movables): Likewise.
9109 (find_and_verify_loops): Likewise.
9110 (check_dbra_loop): Likewise.
9111 * recog.c (peephole2_optimize): Likewise.
9112 * reg-stack.c (delete_insn_for_stacker): Remove.
9113 (move_for_stack_reg): Use delete_insn.
9114 * regmove.c (combine_stack_adjustments_for_block): Likewise.
9115 * reload1.c (delete_address_reloads): Use delete_related_insns.
9116 (fixup_abnormal_edges): Use delete_insn.
9117 * recog.c (emit_delay_sequence): Use delete_related_insns.
9118 (delete_from-delay_slot): Likewise.
9119 (delete_scheduled_jump): likewise.
9120 (optimize_skip): Likewise.
9121 (try_merge_delay_insns): Likewise.
9122 (full_simple_delay_slots): Likewise.
9123 (fill_slots_from_thread): Likewise.
9124 (relax_delay_slots): Likewise.
9125 (make_return_insns): Likewise.
9126 (dbr_schedule): Likewise.
9127 * rtl.h (delete_insn): Rename to delete_related_insns.
9128 (delete_insn, delete_insn_chain): New prototypes.
9129 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
9130 by df_insn_delete already.
9131 * ssa-dce.c (delete_insn_bb): Use delete_insn.
9132 * ssa.c (convert_from_ssa): Use delete_related_insns.
9133 * unroll.c (unroll_loop): Likewise.
9134 (calculate_giv_inc): Likewise.
9135 (copy_loop_body): Likewise.
9136
9137 * i386-protos.h (ix86_libcall_value, ix86_function_value,
9138 ix86_function_arg_regno_p, ix86_function_arg_boundary,
9139 ix86_return_in_memory, ix86_function_value): Declare.
9140 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
9141 new static valurables.
9142 (x86_64_reg_class): New enum
9143 (x86_64_reg_class_name): New array.
9144 (classify_argument, examine_argument, construct_container,
9145 merge_classes): New static functions.
9146 (optimization_options): Enable flag_omit_frame_pointer and disable
9147 flag_pcc_struct_return on 64bit.
9148 (ix86_libcall_value, ix86_function_value,
9149 ix86_function_arg_regno_p, ix86_function_arg_boundary,
9150 ix86_return_in_memory, ix86_function_value): New global functions.
9151 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
9152 (function_arg_advance): Handle x86_64 passing conventions.
9153 (function_arg): Likewise.
9154 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
9155 (RETURN_IN_MEMORY): Move offline.
9156 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
9157 (FUNCTION_VALUE_REGNO_P): New macro.
9158 (FUNCTION_ARG_REGNO_P): Move offline.
9159 (struct ix86_args): Add maybe_vaarg.
9160 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
9161 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
9162
9163 2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
9164
9165 * s390.md: Changed attributes for scheduling.
9166 * s390.c: (s390_adjust_cost, s390_adjust_priority)
9167 Changed scheduling
9168
9169 2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
9170
9171 Table-driven attributes.
9172 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
9173 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
9174 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
9175 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
9176 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
9177 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
9178 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
9179 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
9180 * tree.h (struct tree_decl): Change machine_attributes to
9181 attributes.
9182 * doc/c-tree.texi: Document that all attributes are now attached
9183 to decls and types.
9184 * c-common.c (add_attribute, attrtab, attrtab_idx,
9185 default_valid_lang_attribute, valid_lang_attribute): Remove.
9186 (attribute_tables, attributes_initialized,
9187 c_common_attribute_table, default_lang_attribute_table): New
9188 variables.
9189 (handle_packed_attribute, handle_nocommon_attribute,
9190 handle_common_attribute, handle_noreturn_attribute,
9191 handle_unused_attribute, handle_const_attribute,
9192 handle_transparent_union_attribute, handle_constructor_attribute,
9193 handle_destructor_attribute, handle_mode_attribute,
9194 handle_section_attribute, handle_aligned_attribute,
9195 handle_weak_attribute, handle_alias_attribute,
9196 handle_no_instrument_function_attribute,
9197 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
9198 handle_no_limit_stack_attribute, handle_pure_attribute): New
9199 functions.
9200 (init_attributes, decl_attributes): Rewrite to implement
9201 table-driven attributes.
9202 * c-common.h (enum attribute_flags): Move to tree.h.
9203 * c-format.c (decl_handle_format_attribute,
9204 decl_handle_format_arg_attribute): Rename to
9205 handle_format_attribute and handle_format_arg_attribute. Update
9206 for table-driven attributes.
9207 * c-common.h (decl_handle_format_attribute,
9208 decl_handle_format_arg_attribute): Remove prototypes.
9209 (handle_format_attribute, handle_format_arg_attribute): Add
9210 prototypes.
9211 * c-decl.c (grokdeclarator): Handle attributes nested inside
9212 declarators.
9213 * c-parse.in (setattrs, maybe_setattrs): Remove.
9214 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
9215 Update to handle nested attributes properly.
9216 (maybe_resetattrs, after_type_declarator,
9217 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
9218 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
9219 properly.
9220 (make_pointer_declarator): Update to handle nested attributes
9221 properly.
9222 * doc/extend.texi: Update documentation of limits of attributes
9223 syntax. Warn about problems with attribute semantics in C++.
9224 * target.h (struct target): Remove valid_decl_attribute and
9225 valid_type_attribute. Add attribute_table and
9226 function_attribute_inlinable_p.
9227 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
9228 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
9229 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
9230 Add.
9231 (TARGET_INITIALIZER): Update.
9232 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
9233 definition.
9234 (function_attribute_inlinable_p): New function. Check for the
9235 presence of any machine attributes before using
9236 targetm.function_attribute_inlinable_p.
9237 (function_cannot_inline_p): Update.
9238 * Makefile.in (integrate.o): Update dependencies.
9239 * doc/tm.texi: Update documentation of target attributes and
9240 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
9241 * tree.c (default_valid_attribute_p, valid_machine_attribute):
9242 Remove.
9243 (default_target_attribute_table,
9244 default_function_attribute_inlinable_p): New.
9245 (lookup_attribute): Update comment to clarify handling of multiple
9246 attributes with the same name.
9247 (merge_attributes, attribute_list_contained): Allow multiple
9248 attributes with the same name but different arguments to appear in
9249 the same attribute list.
9250 * tree.h (default_valid_attribute_p): Remove prototype.
9251 (struct attribute_spec): New.
9252 (default_target_attribute_table): Declare.
9253 (enum attribute_flags): Move from c-common.h. Add
9254 ATTR_FLAG_TYPE_IN_PLACE.
9255 (default_function_attribute_inlinable_p): Declare.
9256 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
9257 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9258 (TARGET_ATTRIBUTE_TABLE): Define.
9259 (vms_attribute_table): New.
9260 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
9261 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9262 (TARGET_ATTRIBUTE_TABLE): Define.
9263 (arc_attribute_table, arc_handle_interrupt_attribute): New.
9264 * config/arm/arm.c (arm_valid_type_attribute_p,
9265 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
9266 Remove.
9267 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9268 define.
9269 (TARGET_ATTRIBUTE_TABLE): Define.
9270 (arm_attribute_table, arm_handle_fndecl_attribute,
9271 arm_handle_isr_attribute): New.
9272 * config/avr/avr.c (avr_valid_type_attribute,
9273 avr_valid_decl_attribute): Remove.
9274 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
9275 define.
9276 (TARGET_ATTRIBUTE_TABLE): Define.
9277 (avr_attribute_table, avr_handle_progmem_attribute,
9278 avr_handle_fndecl_attribute): New.
9279 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
9280 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9281 (TARGET_ATTRIBUTE_TABLE): Define.
9282 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
9283 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
9284 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9285 (TARGET_ATTRIBUTE_TABLE): Define.
9286 (h8300_attribute_table, h8300_handle_fndecl_attribute,
9287 h8300_handle_eightbit_data_attribute,
9288 h8300_handle_tiny_data_attribute): New.
9289 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
9290 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
9291 Remove prototypes.
9292 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
9293 declarations.
9294 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
9295 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9296 define.
9297 (TARGET_ATTRIBUTE_TABLE): Define.
9298 (ix86_attribute_table, ix86_handle_cdecl_attribute,
9299 ix86_handle_regparm_attribute): New.
9300 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
9301 i386_pe_valid_type_attribute_p): Remove.
9302 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
9303 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
9304 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9305 (TARGET_ATTRIBUTE_TABLE): Define.
9306 (ia64_attribute_table): New.
9307 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
9308 interrupt_ident2, model_ident1, model_ident2): Remove.
9309 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9310 (TARGET_ATTRIBUTE_TABLE): Define.
9311 (init_idents): Update.
9312 (m32r_attribute_table, m32r_handle_model_attribute): New.
9313 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
9314 Remove.
9315 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9316 (TARGET_ATTRIBUTE_TABLE): Define.
9317 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
9318 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
9319 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9320 (TARGET_ATTRIBUTE_TABLE): Define.
9321 (mcore_attribute_table, mcore_handle_naked_attribute): New.
9322 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
9323 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9324 (TARGET_ATTRIBUTE_TABLE): Define.
9325 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
9326 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
9327 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9328 (TARGET_ATTRIBUTE_TABLE): Define.
9329 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
9330 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
9331 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9332 (TARGET_ATTRIBUTE_TABLE): Define.
9333 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
9334 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
9335 New.
9336 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
9337 Remove.
9338 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
9339 (TARGET_ATTRIBUTE_TABLE): Define.
9340 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
9341 New.
9342 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
9343 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9344 (TARGET_ATTRIBUTE_TABLE): Define.
9345 (v850_attribute_table, v850_handle_interrupt_attribute,
9346 v850_handle_data_area_attribute): New.
9347 * config/v850/v850-c.c (mark_current_function_as_interrupt):
9348 Return void. Call decl_attributes instead of
9349 valid_machine_attribute.
9350
9351 Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
9352
9353 * sh-protos.h (sh_pr_n_sets): Declare.
9354 * sh.c (calc_live_regs): If the initial value for PR has been copied,
9355 look at the copy to determine if PR needs to be saved.
9356 sh_pr_n_sets: New function.
9357 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
9358 (ALLOCATE_INITIAL_VALUE): Define.
9359
9360 * sh.c (initial_elimination_offset):
9361 Fix RETURN_ADDRESS_POINTER_REGNUM case.
9362
9363 Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
9364
9365 * integrate.c (allocate_initial_values): New function.
9366 * integrate.h (allocate_initial_values): Declare.
9367 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
9368 here...
9369 * reload1.c (reload): And initialization of reg_equiv_memory_loc
9370 from here...
9371 * toplev.c (rest_of_compilation): To here.
9372 Call allocate_initial_values.
9373 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
9374
9375 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9376
9377 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
9378
9379 2001-09-20 DJ Delorie <dj@redhat.com>
9380
9381 * c-typeck.c (really_start_incremental_init): Discriminate
9382 between zero-length arrays and flexible arrays.
9383 (push_init_level): Detect zero-length arrays and handle them
9384 like fixed-sized arrays.
9385 * expr.c (store_constructor): Handle zero-length arrays and
9386 flexible arrays correctly.
9387 * doc/extend.texi: Update zero-length array notes.
9388
9389 2001-09-20 Jim Wilson <wilson@redhat.com>
9390
9391 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
9392 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
9393 for issue port conflicts.
9394 (cycle_end_fill_slots): TYPE_L instructions take two slots.
9395
9396 2001-09-20 Andrew MacLeod <amacleod@redhat.com>
9397
9398 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
9399 on ia64.
9400
9401 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9402
9403 * fold-const.c (hashtab.h): Include.
9404 (int_const_binop): Remove FORSIZE arg and compute from type; all
9405 callers changed.
9406 Call size_int_type_wide for all single-word constants.
9407 (size_htab_hash, size_htab_eq): New functions.
9408 (size_int_type_wide): Rework to use hash table.
9409 * ggc-common.c (hashtab.h): Include.
9410 (struct d_htab_root): New struct.
9411 (d_htab_roots): New variable.
9412 (ggc_add_deletable_htab, ggc_htab_delete): New functions
9413 (ggc_mark_roots): Handle deletable htabs.
9414 * ggc-page.c (ggc_marked_p): New function.
9415 * ggc-simple.c (ggc_marked_p): Likewise.
9416 * ggc.h: Reformatting throughout.
9417 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
9418 * tree.c (init_obstacks): Make type_hash_table a deletable root.
9419 (type_hash_add): Allocate struct type_hash from GC memory.
9420 (mark_hash_entry, mark_type_hash): Deleted.
9421 (type_hash_marked_p, type_hash_mark): New functions.
9422 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
9423
9424 Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
9425
9426 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
9427 than SImode.
9428
9429 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9430
9431 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
9432 array-too-large test for signed sizetype.
9433
9434 Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
9435
9436 * i386.md (indirect_jump): Allow Pmode operand.
9437 (tablejump): LIkewise; perform expansion to 64bit mode.
9438 * i386.c (symbolic_operand): Allow 64bit PIC references.
9439 (pic_symbolic_operand): Likewise.
9440 (ix86_find_base_term): Strip the 64bit PIC references.
9441 (legitimate_pic_address_disp_p): Handle 64bit PIC.
9442 (legitimize_pic_address): Likewise.
9443 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
9444 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
9445
9446 2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
9447
9448 * stringpool.c (get_identifier_with_length): New function.
9449 * tree.h (get_identifier_with_length): New prototype.
9450
9451 2001-09-19 Alan Modra <amodra@bigpond.net.au>
9452 David Edelsohn <edelsohn@gnu.org>
9453
9454 Revert:
9455 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
9456 already sign-extended.
9457
9458 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
9459 * config/rs6000/rs6000.c (logical_operand): Always compare op as
9460 HOST_WIDE_INT.
9461 (rs6000_emit_set_long_const): Avoid unnecessary shift.
9462 (output_profile_hook): Declare label_name const.
9463 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
9464 to match constraints.
9465
9466 2001-09-19 Stan Shebs <shebs@apple.com>
9467
9468 * alias.c: Fix typos in comments.
9469 * sched-rgn.c (init_ready_list): Ditto.
9470 * unwind-dw2.c (uw_frame_state_for): Ditto.
9471 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
9472 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
9473 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
9474
9475 2001-09-19 Richard Henderson <rth@redhat.com>
9476
9477 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
9478 to the exit block.
9479 * Makefile.in (cfg.o): Depend on TM_P_H.
9480
9481 2001-09-19 Richard Henderson <rth@redhat.com>
9482
9483 * config/alpha/alpha.c (local_symbol_p): Split out from ...
9484 (local_symbolic_operand): ... here.
9485 (small_symbolic_operand): Check mode.
9486 (global_symbolic_operand): New.
9487 (input_operand): Reject symbolics if explicit relocs.
9488 (call_operand): Tidy.
9489 (alpha_legitimize_address): Use movdi_er_high_g.
9490 (alpha_expand_mov): Likewise.
9491 * config/alpha/alpha-protos.h: Update.
9492 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9493 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
9494 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
9495 (UNSPECV_LDGP2): Remove.
9496 (all call patterns): Use 's' not 'i' for symbolic constraint.
9497 (call_osf call_value_osf): Use call_operand.
9498 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
9499 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
9500 (prologue_ldgp_1_er): Remove.
9501 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
9502 (builtin_setjmp_receiver_er patterns): Use them.
9503 (exception_receiver_er): Likewise.
9504
9505 2001-09-19 Richard Henderson <rth@redhat.com>
9506
9507 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
9508
9509 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
9510 and NON_LOCAL_GOTO notes.
9511 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
9512 copy over CALL_INSN_FUNCTION_USAGE.
9513
9514 2001-09-18 Catherine Moore <clm@redhat.com>
9515
9516 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
9517 Define as 0.
9518
9519 2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
9520
9521 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
9522 new-style tm_file specification. Specify correct tm_p_file,
9523 md_file, and out_file for s390x.
9524
9525 * config/s390/linux.h, linux64.h: Don't include other target
9526 macro header files. Now handled via tm_file.
9527
9528 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
9529 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
9530 are defined before use.
9531
9532 Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
9533
9534 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
9535 code generation only for Gnu assembler.
9536
9537 2001-09-18 Catherine Moore <clm@redhat.com>
9538
9539 * config/stormy16 (LIB_SPEC): Remove -lnosys.
9540
9541 2001-09-18 Richard Sandiford <rsandifo@redhat.com>
9542
9543 * config/mips/mips.c (mips_frame_set): New.
9544 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
9545 a parallel frame-related expression with a set for each register.
9546
9547 2001-09-18 Philip Blundell <philb@gnu.org>
9548
9549 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
9550 header files.
9551
9552 2001-09-17 Dale Johannesen <dalej@apple.com>
9553
9554 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
9555 * config/rs6000/aix.h (FIXED_R2): Define.
9556 * config/rs6000/darwin.h (FIXED_R2): Define.
9557 * config/rs6000/sysv4.h (FIXED_R2): Define.
9558
9559 2001-09-17 Jeff Sturm <jsturm@one-point.com>
9560
9561 * except.c (dw2_build_landing_pads): New local
9562 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
9563 barrier after clobbers. Fixes c++/4012.
9564
9565 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9566
9567 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
9568
9569 2001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
9570
9571 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
9572 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
9573
9574 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9575
9576 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
9577 alloca/strcpy.
9578
9579 2001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
9580
9581 * cpphash.h (_cpp_lex_direct): New.
9582 * cpplex.c (_cpp_lex_token): Update.
9583 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
9584 and increment that pointer.
9585 * cppmacro.c (alloc_expansion_token): New.
9586 (lex_expansion_token): Lex macro expansion directly into
9587 macro storage.
9588
9589 2001-09-16 Brad Lucier <lucier@math.purdue.edu>
9590
9591 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
9592
9593 Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
9594
9595 * basic-block.h (free_bb_for_insn): Declare.
9596 * bb-reorder.c (label_for_bb): Use block_label.
9597 (emit_jump_to_block_after): Remove.
9598 (insert_intra_1): Do not update block_for_insn.
9599 (insert_inter_bb_scope_notes): Likewise; update bb->end
9600 * cfg.c (free_bb_for_insn): New.
9601 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
9602 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
9603 (commit_one_edge_insertion): Likewise.
9604 (commit_one_edge_insertion): Do not update BB boundary.
9605 (commit_edge_insertions): Do not call compute_bb_for_insn.
9606 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
9607 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
9608 (merge_blocks_move_successor_nojumps): Likewise.
9609 (try_crossjump_to_edge): Do not update block_for_insn.
9610 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
9611 * df.c (df_pattern_emit_later): Do not update BB boundary.
9612 (df_jump_pattern_emit_after): Likewise.
9613 (df_insn_move_before): Use emit_insn_before.
9614 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
9615 properly.
9616 (add_insn_after, add_insn_before, emit_insns_after): Update BB
9617 boundaries and basic_block_for_insn.
9618 (reorder_insns_nobb): Rename from reorder_insns.
9619 (reorder_insns): New.
9620 (emit_block_insn_before, emit_block_insn_after): Kill.
9621 * flow.c (check_function_return_warnings): Do not call
9622 compute_bb_for_insn; Do not free basic_block_for_insn.
9623 (attempt_auto_inc): Do not update basic_block_for_insn.
9624 * function.c (emit_return_into_block): Likewise;
9625 do not update BB boundaries.
9626 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
9627 (insert_insn_end_bb): Use emit_insn_before; Likewise.
9628 (pre_insert_copy_insn): Likewise.
9629 (update_ld_motion_notes): Likewise.
9630 (insert_insn_start_bb): Likewise.
9631 (replace_store_insn): Likewise.
9632 * ifcvt.c (noce_process_if_block): Likewise.
9633 (if_convert): Do not call compute_bb_for_insn.
9634 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
9635 Use emit_insn_before and emit_insn_after.
9636 * recog.c (split_all_insns): Do not update BB boundaries;
9637 Do not call compute_bb_for_insn.
9638 (peephole2_optimize): Do not update BB boundaries.
9639 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
9640 emit_insn_before.
9641 (emit_swap_insn): Likewise.
9642 (convert_regs_1): Likewise.
9643 * reload1.c (reload): Call compute_bb_for_insn.
9644 * rtl.h (reorder_insns_nobb): Declare.
9645 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
9646 * toplev.c (rest_of_compilation): Call free_bb_for_insn
9647 at places CFG is invalidated; do not call compute_bb_for_insn.
9648
9649 * cfg.c (expunge_block): Invalidate BB structure.
9650
9651 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
9652 array.
9653
9654 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
9655
9656 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
9657
9658 * cpphash.h (_cpp_lex_token): Update prototype.
9659 * cpplex.c (_cpp_lex_token): New prototype.
9660 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
9661 lex_macro_node, read_flag, do_pragma_poison): Update.
9662 * cppmacro.c (cpp_get_token, parse_params,
9663 lex_expansion_token): Update.
9664
9665 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
9666
9667 * cppmain.c (scan_translation_unit): Don't worry about
9668 putting a space after hashes.
9669 * cpplib.c (directive_diagnostics): New.
9670 (_cpp_handle_directive): Update to use directive_diagnostics.
9671 (run_directive): Don't toggle prevent_expansion.
9672 (do_line): Backup in case of the line extension.
9673 * cpplib.h (cpp_lexer_pos): Remove.
9674 * cppmacro.c (_cpp_create_definition): Precede a leading #
9675 with whitespace.
9676
9677 2001-09-15 Richard Henderson <rth@redhat.com>
9678
9679 * c-typeck.c (comptypes): Handle zero-length arrays properly.
9680
9681 2001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9682
9683 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
9684
9685 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9686
9687 PR preprocessor/3571
9688 * tradcpp.c (handle_directive): Skip non-vertical space.
9689
9690 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9691
9692 * cppmain.c (setup_callbacks): Set line callback only
9693 if outputting preprocessed source.
9694
9695 2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9696
9697 * collect2.c (main): Const-ification.
9698 * gcc.c (translate_options, process_command): Use xstrdup in
9699 lieu of xmalloc/strcpy.
9700 (main): Use concat in lieu of xmalloc/strcpy/strcat.
9701
9702 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9703
9704 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
9705 example.
9706
9707 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9708
9709 * scan-decls.c (scan_decls): Fix typo.
9710
9711 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9712
9713 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
9714 Split mlstring_pos into mls_line and mls_col.
9715 * cppinit.c (cpp_create_reader): Initialize line to 1.
9716 (cpp_destroy): Free tokenruns.
9717 (push_include): Don't update lexer_pos.
9718 * cpplex.c (unterminated, parse_string): Update.
9719 (lex_token): Don't update lexer_pos, update.
9720 * cpplib.c (if_stack): Save line instead of line + col.
9721 (start_directive, _cpp_do__Pragma, do_else, do_elif,
9722 push_conditional, _cpp_pop_buffer): Update.
9723 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
9724 (_cpp_create_definition): Update.
9725
9726 2001-09-15 Eric Christopher <echristo@redhat.com>
9727
9728 * config/mips/abi64.h: Add support for MEABI.
9729
9730 2001-09-15 Eric Christopher <echristo@redhat.com>
9731
9732 * config/mips/mips.md: Add unspec #2.
9733 (reload_indi): Use.
9734 (reload_outdi): Ditto.
9735 (reload_outsi): Ditto.
9736 (HILO_delay): New.
9737
9738 2001-09-15 Eric Christopher <echristo@redhat.com>
9739 Jason Eckhardt <jle@redhat.com>
9740
9741 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
9742 * config/mips/isa32-linux.h: New file.
9743 * config/mips/isa3264.h: Ditto.
9744 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
9745 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
9746 (output_block_mode): Support MEABI.
9747 (function_arg): Ditto. Fix floating point arg passing.
9748 (mips_va_start): Ditto.
9749 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
9750 processors.
9751 (mips_asm_file_start): Add new section to pass abi to gdb.
9752 (function_arg_pass_by_reference): Support MEABI.
9753 (mips_parse_cpu): Support mips32 and mips64 processors.
9754 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
9755 TARGET_MIPS5KC. Support isa32 and isa64.
9756 (processor_type): Add r4kc, r5kc, r20kc.
9757 (GENERATE_MULT3_SI): New.
9758 (GENERATE_MULT3_DI): Ditto.
9759 (GENERATE_MULT3): Remove.
9760 (ISA_HAS_64BIT_REGS): Add isa == 64.
9761 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
9762 (ISA_HAS_MADD_MSUB): New.
9763 (ISA_HAS_CLZ_CLO): Ditto.
9764 (ISA_HAS_DCLZ_DCLO): Ditto.
9765 (ABI_GAS_ASM_SPEC): New.
9766 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
9767 (ASM_SPEC): Ditto.
9768 (LINK_SPEC): Ditto.
9769 (SUBTARGET_CC1_SPEC): Ditto.
9770 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
9771 (PAD_VARARGS_DOWN): Support MEABI.
9772 (HARD_REGNO_NREGS): Move to mips.c.
9773 (ASM_OUTPUT_IDENT): Add #undef.
9774 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
9775 (mulsi3): Use GENERATE_MULT3_SI.
9776 (mulsi3_mult3): Ditto. Support mips32, mips64.
9777 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
9778 (mul_sub_si): New pattern.
9779 (unnamed splitters): New.
9780 (muldi3): Use GENERATE_MULT3_DI.
9781 (muldi3_internal2): Ditto.
9782 (movdicc): Support mips32.
9783 * config/mips/t-isa3264: New file.
9784
9785 2001-09-15 Hans-Peter Nilsson <hp@axis.com>
9786
9787 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
9788 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
9789 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
9790
9791 * reorg.c (fill_slots_from_thread): After call to
9792 steal_delay_list_from_target, update own_thread as new_thread may
9793 have branched.
9794
9795 2001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
9796
9797 * cpperror.c (print_location): Take line and column, for
9798 default positioning use the previously lexed token.
9799 (_cpp_begin_message): Take line and column.
9800 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9801 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9802 * cpphash.h (_cpp_begin_message): Update prototype.
9803 * cppinit.c (push_include): Don't set output line.
9804 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
9805 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
9806 (do_pragma): Kludge for front ends. Don't expand macros at all.
9807 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
9808 (struct cpp_token): Remove output_line.
9809 (struct cpp_callbacks): New member line_change.
9810 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
9811 cpp_get_token): Preserve BOL flag.
9812 (cpp_get_line): Remove.
9813 (_cpp_backup_tokens): Remove useless abort().
9814 * cppmain.c (cb_line_change): New.
9815 (scan_translation_unit): Don't worry about starting new lines here.
9816 * scan-decls.c (scan_decls): Update.
9817 * c-lex.c (c_lex, init_c_lex): Update.
9818 (cb_line_change, src_lineno): New.
9819
9820 Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
9821
9822 * tree.c (append_random_chars): Generate the random
9823 characters in a reproducable fashion.
9824
9825 2001-09-14 Richard Henderson <rth@redhat.com>
9826
9827 * config/i386/i386.c (internal_label_prefix): New.
9828 (internal_label_prefix_len): New.
9829 (override_options): Set them.
9830 (local_symbolic_operand): New.
9831 (legitimate_pic_address_disp_p): Use it.
9832 (legitimize_pic_address): Likewise.
9833
9834 2001-09-14 Marc Espie <espie@openbsd.org>
9835
9836 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
9837 correctly.
9838
9839 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9840
9841 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
9842 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
9843
9844 2001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
9845
9846 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
9847 invocation of SUBREG_REGNO_OFFSET.
9848
9849 * haifa-sched.c: Fix typo in FSF copyright statement.
9850 * sched-deps.c: Fix typo in FSF copyright statement.
9851 * sched-ebb.c: Fix typo in FSF copyright statement.
9852 * sched-rgn.c: Fix typo in FSF copyright statement.
9853 * sched-vis.c: Fix typo in FSF copyright statement.
9854
9855 * config.gcc: Move inclusion of arm elf specific header files
9856 from the files themselves into the tm_file variable. Make
9857 sure that elfos.h is included before target specific elf
9858 headers.
9859 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
9860 already defined.
9861 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
9862 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
9863 ASM_OUTPUT_CASE_LABEL): Protect definition.
9864 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
9865 not already defined.
9866 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
9867 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
9868 Remove duplicate definition.
9869 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
9870 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
9871 (RDATA_SECTION_FUNCTION): Remove redundant definition.
9872 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
9873 Remove inclusion of arm/elf.h.
9874 * config/arm/unknown-elf.h: as for conix-elf.h.
9875 (STARTFILE_SPEC): Include crti.o and crtn.o.
9876 * config/arm/linux-elf.h: as for conix-elf.h.
9877 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
9878 * config/arm/strongarm-elf.h: Remove inclusion of
9879 unknown-elf.h.
9880 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
9881 * config/arm/unknown-elf-oabi.h: Remove inclusion of
9882 unknown-elf.h and elf.h.
9883 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
9884 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
9885 ASM_WEAKEN_LABEL): Remove redundant definition.
9886 * config/arm/elf.h: Test for inclusion of elfos.h
9887 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
9888 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
9889 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
9890 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
9891 redundant definition.
9892 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
9893 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
9894 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
9895 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
9896 Add rules to build crti.o and crtn.o
9897 * crti.asm: New file.
9898 * crtn.asm: New file.
9899
9900 2001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
9901
9902 * c-parse.in (_yylex): Use _cpp_backup_tokens.
9903 * cpphash.h (struct tokenrun): Add prev.
9904 (struct lexer_state): Remove bol.
9905 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
9906 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
9907 : Remove.
9908 * cppinit.c (cpp_create_reader): Don't set bol.
9909 (cpp_destroy): Don't free lookaheads.
9910 * cpplex.c (lex_directive): Remove.
9911 (next_tokenrun): Update.
9912 (_cpp_lex_token): Clean up logic.
9913 (lex_token): Update to return a pointer to lexed token, since it
9914 can move to the start of the buffer. Simpify newline handling.
9915 * cpplib.c (SEEN_EOL): Update.
9916 (skip_rest_of_line): Remove lookahead stuff.
9917 (end_directive): Line numbers are already incremented. Revert
9918 to start of lexed token buffer if we can.
9919 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
9920 parse_answer): Use _cpp_backup_tokens.
9921 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
9922 instead. Don't check for EOL.
9923 (do_include_common, do_line, do_pragma_system_header): Use
9924 skip_rest_of_line.
9925 * cpplib.h (BOL, _cpp_backup_tokens): New.
9926 * cppmacro.c (save_lookahead_token, take_lookahead_token,
9927 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
9928 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
9929 (builtin_macro): Don't use cpp_get_line.
9930 (cpp_get_line): Short term kludge.
9931 (parse_arg): Handle directives in arguments here. Back up when
9932 appropriate. Store EOF at end of argument list.
9933 (funlike_invocation_p): Use _cpp_backup_tokens.
9934 (push_arg_context): Account for EOF at end of list.
9935 (cpp_get_token): Remove lookahead stuff. Update.
9936
9937 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9938
9939 * c-parse.in (yyerror): Const-ification and/or static-ization.
9940 * c-typeck.c (push_member_name): Likewise.
9941 * collect2.c (main): Likewise.
9942 * dbxout.c (dbxout_parms): Likewise.
9943 * diagnostic.c (format_with_decl): Likewise.
9944 * dwarf2out.c (output_ranges): Likewise.
9945 * dwarfout.c (fundamental_type_code): Likewise.
9946 * except.c (dw2_output_call_site_table): Likewise.
9947 * gcc.c (do_spec_1): Likewise.
9948 * genopinit.c (optabs): Likewise.
9949 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
9950 gen_declaration_1, handle_impent): Likewise.
9951 * protoize.c (default_include, in_system_include_dir, abspath):
9952 Likewise.
9953 * sched-vis.c (visualize_stall_cycles): Likewise.
9954 * sdbout.c (plain_type_1, sdbout_end_function,
9955 sdbout_end_epilogue): Likewise.
9956 * varasm.c (decode_reg_name): Likewise.
9957
9958 * 1750a.c (mod_regno_adjust): Likewise.
9959 * alpha.c (alpha_write_one_linkage,
9960 unicosmk_output_default_externs): Likewise.
9961 * arm.c (arm_condition_codes): Likewise.
9962 * arm.h (arm_condition_codes): Likewise.
9963 * avr.c (output_movsisf, encode_section_info): Likewise.
9964 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
9965 Likewise.
9966 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9967 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9968 * m88k.c (output_function_profiler): Likewise.
9969 * mips.c (mips_output_conditional_branch): Likewise.
9970 * ns32k.c (ns32k_out_reg_names): Likewise.
9971 * ns32k.h (ns32k_out_reg_names): Likewise.
9972 * pj.c (pj_output_rval): Likewise.
9973 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
9974 * sparc.c (sparc_flat_function_prologue,
9975 sparc_flat_function_epilogue): Likewise.
9976
9977 2001-09-13 Markus Werle <numerical.simulation@web.de>
9978 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9979
9980 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
9981 Aachen University of Technology".
9982
9983 2001-09-13 Andreas Schwab <schwab@suse.de>
9984
9985 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
9986 C99.
9987
9988 2001-09-13 Richard Henderson <rth@redhat.com>
9989
9990 * config/alpha/alpha.c (small_symbolic_operand): New.
9991 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
9992 (some_operand, input_operand): Don't handle HIGH.
9993 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
9994 (alpha_expand_mov): Likewise.
9995 (print_operand) [H]: Just print HIGH symbol.
9996 (print_operand_address): Handle small data.
9997 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
9998 (TARGET_SWITCHES): Add -msmall-data/large-data.
9999 (PIC_OFFSET_TABLE_REGNUM): New.
10000 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10001 (PREDICATE_COES): Update.
10002 * config/alpha/alpha.md (adddi_er_high): New.
10003 (adddi_er_low): Handle small data.
10004 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10005 prefer .sdata to .rodata.
10006 (SELECT_RTX_SECTION): Likewise.
10007
10008 2001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
10009
10010 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10011 defining __size_t and leaving size_t undefined.
10012
10013 2001-09-12 Diego Novillo <dnovillo@redhat.com>
10014
10015 * basic-block.h (expunge_block): Declare.
10016 * cfg.c (expunge_block): Remove static declaration.
10017
10018 2001-09-12 Richard Henderson <rth@redhat.com>
10019
10020 * integrate.c (copy_insn_list): Copy label name from
10021 NOTE_INSN_DELETED_LABEL.
10022
10023 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10024
10025 * c-common.c (c_tree_code_name): Const-ification.
10026 * c-decl.c (c_decode_option): Likewise.
10027 * c-typeck.c (warn_for_assignment): Likewise.
10028 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10029 Likewise.
10030 * cppinit.c (output_deps): Likewise.
10031 * dependence.c (dependence_string, direction_string): Likewise.
10032 * dwarf2out.c (output_ranges): Likewise.
10033 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10034 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10035 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10036 standard_startfile_prefix, standard_startfile_prefix_1,
10037 standard_startfile_prefix_2, tooldir_base_prefix,
10038 standard_bindir_prefix, find_a_file): Likewise.
10039 * genattrtab.c (make_length_attrs): Likewise.
10040 * gencheck.c (tree_codes): Likewise.
10041 * genemit.c (gen_split): Likewise.
10042 * genrecog.c (special_mode_pred_table): Likewise.
10043 * graph.c (graph_ext): Likewise.
10044 * protoize (default_include): Likewise.
10045 * reload.c (reload_when_needed_name): Likewise.
10046 * sched-vis.c (visualize_stall_cycles): Likewise.
10047 * tlink.c (recompile_files): Likewise.
10048 * toplev.c (decode_g_option): Likewise.
10049 * tradcpp.c (output_deps): Likewise.
10050 * varasm.c (decode_reg_name): Likewise.
10051
10052 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10053 Const-ification.
10054 * arm.md: Likewise.
10055 * avr.c (avr_regnames, encode_section_info): Likewise.
10056 * c4x.c (float_reg_names): Likewise.
10057 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10058 * elfos.h (const_section): Likewise.
10059 * i386.c (ix86_comp_type_attributes): Likewise.
10060 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10061 * ia64/aix.h (UNIQUE_SECTION): Likewise.
10062 * ia64.c (type_names): Likewise.
10063 * m68hc11.c (reg_class_names): Likewise.
10064 * m88k.c (m_options): Likewise.
10065 * mips.c (mips_output_conditional_branch, mips_unique_section):
10066 Likewise.
10067 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10068 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10069 ultra_code_names): Likewise.
10070 * sparc.h (OVERRIDE_OPTIONS): Likewise.
10071
10072 2001-09-12 Jakub Jelinek <jakub@redhat.com>
10073
10074 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10075 Use --fatal-warnings option for gas.
10076 * configure: Rebuilt.
10077
10078 2001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10079
10080 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10081
10082 2001-09-11 Jim Wilson <wilson@redhat.com>
10083
10084 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10085
10086 2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
10087
10088 * builtins.c (c_strlen): Treat an offset too large for a
10089 HOST_WIDE_INT as out of range.
10090
10091 Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
10092
10093 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
10094 (EDGE_CRITICAL_P): New predicate.
10095 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
10096 handling.
10097 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
10098 (dump_edge_info): Remove "crit".
10099 * cfganal.c (mark_critical_edges): Kill.
10100 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
10101 * cfgcleanup.c (cleanup_cfg): Likewise.
10102 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
10103 (find_spanning_tree): Likewise.
10104 * reg-stack.c (convert_regs_1): Likewise.
10105 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
10106
10107 * basic-block.h (create_basic_block_structure): New.
10108 (create_basic_block): Update prototype.
10109 (force_nonfallthru): New.
10110 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
10111 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
10112 handle updating of block_for_insn, creating of empty BBs and BBs at
10113 the end of INSN chain.
10114 (create_basic_block): New function.
10115 (split_block): Use create_basic_block.
10116 (force_nonfallthru_and_redirect): Break out from ...; cleanup
10117 (redirect_edge_and_branch_force): ... here.
10118 (force_nonfallthru): New.
10119 (split_edge): Rewrite to use force_nonfallthru and create_block.
10120 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
10121 (find_basic_blocks): Free basic_block_for_insn.
10122 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
10123
10124 * cfg.c: Fix formating.
10125 * cfgcleanup.c: Fix formating.
10126 (merge_blocks, tail_recursion_label_p): Return bool.
10127 (merge_blocks_move_predecessor_nojumps,
10128 merge_blocks_move_successor_nojumps): Return void.
10129
10130 2001-09-11 Jakub Jelinek <jakub@redhat.com>
10131
10132 * configure.in: Check whether assembler supports section merging.
10133 * config.in: Rebuilt.
10134 * configure: Rebuilt.
10135 * varasm.c (variable_section, output_constant_pool): Pass alignment
10136 to SELECT_SECTION and SELECT_RTX_SECTION.
10137 (mergeable_string_section): New.
10138 (mergeable_constant_section): New.
10139 (default_elf_asm_named_section): Output SECTION_MERGE and
10140 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10141 * output.h (mergeable_string_section): New.
10142 (mergeable_constant_section): New.
10143 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
10144 * toplev.c (flag_merge_constants): New.
10145 (f_options): Add -fmerge-constants and -fmerge-all-constants
10146 options.
10147 (toplev_main): Default to -fno-merge-constants if not optimizing.
10148 * flags.h (flag_merge_constants): Add extern.
10149 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
10150 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
10151 argument.
10152 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
10153 Define if assembler has working .subsection -1 support.
10154 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
10155 Put constant into special SHF_MERGE sections if the linker should
10156 attempt to merge duplicates.
10157 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
10158 macro argument.
10159 Put constant into special SHF_MERGE sections if the linker should
10160 attempt to merge duplicates.
10161 * config/alpha/elf.h: Likewise.
10162 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
10163 has working .subsection -1 support.
10164 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
10165 SELECT_SECTION.
10166 * config/svr3.h: Likewise.
10167 * config/darwin.h: Likewise.
10168 * config/arm/aof.h: Likewise.
10169 * config/arm/linux-elf.h: Likewise.
10170 * config/avr/avr.h: Likewise.
10171 * config/c4x/c4x.h: Likewise.
10172 * config/d30v/d30v.h: Likewise.
10173 * config/i386/dgux.h: Likewise.
10174 * config/i386/osfrose.h: Likewise.
10175 * config/i386/sco5.h: Likewise.
10176 * config/i386/svr3gas.h: Likewise.
10177 * config/ia64/aix.h: Likewise.
10178 * config/m32r/m32r.h: Likewise.
10179 * config/m68k/m68k.h: Likewise.
10180 * config/m88k/dgux.h: Likewise.
10181 * config/m88k/m88k.h: Likewise.
10182 * config/mcore/mcore-pe.h: Likewise.
10183 * config/mips/mips.h: Likewise.
10184 * config/pa/pa.h: Likewise.
10185 * config/pa/pa-linux.h: Likewise.
10186 * config/romp/romp.h: Likewise.
10187 * config/rs6000/sysv4.h: Likewise.
10188 * config/rs6000/xcoff.h: Likewise.
10189 * config/s390/linux.h: Likewise.
10190 * config/sparc/sparc.h: Likewise.
10191 * config/sparc/sysv4.h: Likewise.
10192 * config/stormy16/stormy16.h: Likewise.
10193 * config/v850/v850.h: Likewise.
10194 * config/vax/vms.h: Likewise.
10195 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
10196 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10197 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
10198 default_elf_asm_named_section for SHF_MERGE sections.
10199
10200 Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10201
10202 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
10203 is OK.
10204
10205 2001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
10206
10207 * c-common.c (split_specs_attrs): Allow for empty attributes with
10208 empty TREE_PURPOSE. Fixes PR c/4294.
10209
10210 Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
10211
10212 * basic-block.h (cached_make_edge, make_single_succ): New.
10213 (make_edge): Remove first parameter.
10214 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
10215 * cfg.c (cached_make_edge): Rename from make_edge; return newly
10216 created edge; use obstack allocation.
10217 (make_edge, make_single_succ_edge): New.
10218 (first_removed_edge): New static variable.
10219 (init_flow): Initialize first_removed_edge and n_edges.
10220 (clear_edges): Use remove_edge.
10221 (flow_delete_block): Likewise.
10222 (remove_edge): Add removed edges to the removed edges list.
10223 (split_block, redirect_edge_and_branch_force, split_edge):
10224 Use make_edge.
10225 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
10226 (add_noreturn_fake_exit_edges): Likewise.
10227 (connect_infinite_loops_to_exit): Liekwise.
10228 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
10229 Use cached_make_edge.
10230 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
10231 * profile.c (branch_prob): Update make_edge call.
10232 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
10233
10234 2001-09-11 Richard Henderson <rth@redhat.com>
10235
10236 * config/alpha/alpha.c: Tidy formatting.
10237 (local_symbolic_operand): Verify mode.
10238 (alpha_sa_mask): Ignore unicos for eh_return.
10239 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
10240 * config/alpha/alpha.md (umk divsi patterns): Remove.
10241 (extendsfdf2): Remove unicos check.
10242 (tablejump): Merge vms and unicos code; always use direct set
10243 plus label_ref use.
10244
10245 2001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10246
10247 * config.gcc (alpha*-*-unicosmk*): New target.
10248
10249 * config/alpha/alpha-protos.h (symbolic_operand,
10250 unicosmk_add_call_info_word, unicosmk_add_extern,
10251 unicosmk_defer_case_vector, unicosmk_unique_section,
10252 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
10253 unicosmk_asm_file_start, unicosmk_asm_file_end,
10254 unicosmk_output_common): Declare.
10255
10256 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
10257 direct_return, function_arg, alpha_va_start, alpha_va_arg,
10258 alpha_does_function_need_gp, alpha_end_function): Support Cray
10259 Unicos/Mk.
10260 (alpha_init_machine_status, alpha_mark_machine_status,
10261 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
10262 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
10263 unicosmk_asm_named_section, unicosmk_insert_attributes,
10264 unicosmk_section_type_flags, symbolic_operand,
10265 unicosmk_output_module_name, unicosmk_output_default_externs,
10266 unicosmk_output_dex, unicosmk_output_externs,
10267 unicosmk_output_addr_vec, unicosmk_ssib_name,
10268 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
10269 unicosmk_asm_file_end, unicosmk_output_common,
10270 unicosmk_section_type_flags, unicosmk_unique_section,
10271 unicosmk_add_call_info_word, unicosmk_text_section,
10272 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
10273 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
10274 unicosmk_dex_count, unicosmk_special_name): New.
10275 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
10276 TARGET_ABI_UNICOSMK.
10277 (get_aligned_mem, alpha_expand_unaligned_load,
10278 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
10279 alpha_expand_unaligned_store_words): Support big-endian mode.
10280 (print_operand): Likewise. New format specifier 't'. Use
10281 TARGET_AS_SLASH_BEFORE_SUFFIX.
10282 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
10283 (alpha_pv_save_size): Update with above change.
10284 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
10285 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
10286 Unicos/Mk.
10287
10288 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
10289 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
10290 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
10291 (EXTRA_CONSTRAINT): New constraint 'U'.
10292 (PREDICATE_CODES): Add symbolic_operand.
10293
10294 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
10295 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
10296 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
10297 (integer division and modulus patterns): Split in default and
10298 Unicos/Mk versions.
10299 (*divmodsi_internal, *divmoddi_internal): Disable for
10300 TARGET_ABI_UNICOSMK.
10301 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
10302 little-endian and big-endian versions.
10303 (ext, ins, msk): Likewise.
10304 (extv, extzv, insv): Support big-endian mode.
10305 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
10306 (call_umk, call_value_umk, *call_umk, tablejump_umk,
10307 *tablejump_umk_internal, *call_value_umk): New.
10308 (*movdi_nofix): Add pattern for loading an address into a register on
10309 TARGET_ABI_UNICOSMK.
10310 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
10311 (umk_mismatch_args, arg_home_umk): New.
10312 (various insns): Don't use mov, fmov, nop, fnop and unop.
10313 (realign): Support TARGET_ABI_UNICOSMK.
10314
10315 * config/alpha/unicosmk.h: New file.
10316 * config/alpha/t-unicosmk: New file.
10317
10318 * fixinc/inclhack.def (unicosmk_restrict): New.
10319 * fixinc/fixincl.x: Regenerate.
10320
10321 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
10322 (wchar_t): Check for and define __WCHAR_T__.
10323
10324 2001-09-11 Richard Sandiford <rsandifo@redhat.com>
10325
10326 * combine.c (simplify_shift_const): Treat shifts by the mode
10327 size as undefined.
10328
10329 2001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
10330
10331 * cpphash.h (struct tokenrun): New.
10332 (struct cpp_context): New member bol.
10333 (struct cpp_reader): New members.
10334 (_cpp_init_tokenrun): New.
10335 * cppinit.c (cpp_create_reader): Set up the token runs.
10336 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
10337 (lex_token): New internalised version of _cpp_lex_token. Don't
10338 handle directives or the multiple include optimization here any
10339 more. Simply lex a token.
10340 * cpplib.c (run_directive): Clear bol.
10341 (_cpp_pop_buffer): Set bol.
10342 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
10343 arguments.
10344
10345 2001-09-11 Michael Meissner <meissner@redhat.com>
10346
10347 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
10348 give an error if the user uses -mfp32.
10349 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
10350 default options.
10351 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
10352 floating point register size.
10353 (EXTRA_SPECS): Add CPP_FPR_SPEC.
10354
10355 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
10356 HOST_WIDE_INT_PRINT_DEC to properly print the result of
10357 int_size_in_bytes.
10358 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10359 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10360
10361 2001-09-11 Hans-Peter Nilsson <hp@axis.com>
10362
10363 * dbxout.c (dbxout_parms): Fix typo in comment.
10364 * unroll.c (loop_find_equiv_value): Ditto.
10365 * toplev.c (rest_of_compilation): Ditto.
10366 * loop.c (scan_loop): Ditto.
10367 * dwarf2out.c (struct dw_fde_struct): Ditto.
10368
10369 2001-09-10 Zack Weinberg <zackw@panix.com>
10370
10371 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
10372 copying identifier when we're just going to throw it away.
10373 (parse_identifier_slow): New routine to handle abnormal cases.
10374 (_cpp_lex_token): Update call site.
10375
10376 * hashtable.c (ht_lookup): Don't assume that the string we've
10377 been given is NUL-terminated.
10378 * system.h: #define __builtin_expect(a, b) to (a) if not
10379 GCC >=3.0.
10380
10381 2001-09-10 Michael Meissner <meissner@redhat.com>
10382
10383 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
10384 binutils, gdb.
10385
10386 2001-09-10 David Edelsohn <edelsohn@gnu.org>
10387
10388 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
10389
10390 Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10391
10392 * builtins.c (c_getstr): Correct thinko in last change and further
10393 cleanup.
10394
10395 2001-09-10 Tim Freeman <tim@fungibole.com>
10396
10397 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
10398 into varray's and register them as roots with the garbage
10399 collector so they are not collected too soon.
10400
10401 Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
10402
10403 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
10404 New.
10405 * basic-block.h (flow_obstack, label_value_list,
10406 tail_recursion_label_list): Declare
10407 (tidy_fallthru_edges): Declare.
10408 (expunge_block, last_loop_beg_note): Delete.
10409 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
10410 * cfg.c: New file
10411 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
10412 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
10413 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
10414 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
10415 expunge_block, flow_delete_block, compute_bb_for_insn,
10416 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
10417 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
10418 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
10419 try_redirect_by_replacing_jump, last_loop_beg_note,
10420 redirect_edge_and_branch, redirect_edge_and_branch_force,
10421 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
10422 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
10423 commit_edge_insertions, dump_flow_info, debug_flow_info,
10424 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
10425 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
10426 Move here from flow.c
10427 * cfganal.c: New file.
10428 (forwarder_block_p, can_fallthru, mark_critical_edges,
10429 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
10430 find_unreachable_blocks, create_edge_list, free_edge_list,
10431 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
10432 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
10433 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
10434 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
10435 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
10436 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
10437 Move here from flow.c
10438 * cfgbuild.c: New file
10439 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
10440 make_edges, find_basic_blocks_1, find_basic_blocks,
10441 find_sub_basic_blocks): Move here from flow.c
10442 * cfgcleanup.c: New file.
10443 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
10444 merge_blocks_move_predecessor_nojumps,
10445 merge_blocks_move_successor_nojumps, merge_blocks,
10446 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
10447 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
10448 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
10449 if succeeded.
10450 * cfgloop.c: New file
10451 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
10452 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
10453 flow_loop_exit_edges_find, flow_loop_nodes_find,
10454 flow_loop_pre_header_scan, flow_loop_pre_header_find,
10455 flow_loop_tree_node_add, flow_loops_tree_build,
10456 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
10457 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
10458 Move here from flow.c
10459 * flow.c: Remove everything moved elsewhere
10460 * output.h (cleanup_cfg): Return bool.
10461
10462 * bb-reorder.c (reorder_block_def): Remove 'index'.
10463 (insert_intra_1): Add argument BB, set block for new note.
10464 (make_reorder_chain): Do not depdent on BB indexes.
10465 (make_reorder_chain_1): Do not use BB indexes.
10466 (label_for_bb): Likewise; set BB for new insn.
10467 (emit_jump_to_block_after): Likewise.
10468 (fixup_reorder_chain): Sanity check that all basic blocks
10469 are chained; verify newly created insn chain; remove
10470 undocnitional jump simplifying; Do not use BB indexes;
10471 properly initialize count and frequency information;
10472 dump reordered sequence.
10473 (insert_intra_bb_scope_notes): update call of insert_intra_1.
10474 (insert_inter_bb_scope_notes): Set block for new insn.
10475 (reorder_basic_blocks): Dump flow info before reoredering.
10476
10477 Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10478
10479 * alias.c (clear_reg_alias_info): Use K&R format definition.
10480 Avoid unsigned warning.
10481 * builtins.c: Use "unsigned int", not "unsigned".
10482 (target_char_cast): Use host_integerp and tree_low_cst.
10483 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
10484 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
10485 (c_getstr): Likewise.
10486 (std_expand_builtin_va_arg): Use int_size_in_bytes.
10487 (builtin_memcpy_read_str): Avoid unsigned warning.
10488 (expand_builtin_memcpy): Alignments are unsigned.
10489 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
10490 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
10491 * predict.c (expensive_function_p): LIMIT now unsigned.
10492 * resource.c (mark_target_live_regs): Make some vars unsigned.
10493 * sdbout.c: Use "unsigned int", not "unsigned".
10494 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
10495 (sdbout_source_line): Likewise.
10496 (sdbout_record_type_name): Remove "const" for NAME declaration.
10497 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
10498
10499 2001-09-10 Richard Sandiford <rsandifo@redhat.com>
10500
10501 * calls.c (store_one_arg): Expand comment.
10502
10503 2001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10504
10505 * calls.c (store_one_arg): Make sure that the entire argument is
10506 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
10507
10508 2001-09-09 Richard Henderson <rth@redhat.com>
10509
10510 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
10511
10512 Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
10513
10514 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
10515
10516 2001-09-09 Richard Henderson <rth@redhat.com>
10517
10518 * config/alpha/alpha.c (alpha_next_sequence_number): New.
10519 (alpha_this_literal_sequence_number): New.
10520 (alpha_this_gpdisp_sequence_number): New.
10521 (some_operand, input_operand): Add HIGH.
10522 (local_symbolic_operand): New.
10523 (alpha_encode_section_info): New.
10524 (alpha_legitimate_address_p): Allow LO_SUM.
10525 (alpha_legitimize_address): Generate HIGH+LO_SUM.
10526 (alpha_expand_mov): Likewise.
10527 (secondary_reload_class): Check memory_operand not general_operand
10528 for FP_REGS test.
10529 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
10530 (alpha_expand_unaligned_store): Likewise.
10531 (alpha_expand_unaligned_load_words): Likewise.
10532 (alpha_expand_unaligned_store_words): Likewise.
10533 (alpha_expand_block_clear): Likewise.
10534 (print_operand): Handle %#, %*, %H.
10535 (print_operand_address): Handle LO_SUM.
10536 (find_lo_sum): New.
10537 (alpha_does_function_need_gp): Use it.
10538 (alpha_expand_block_move): Fix signed compare warnings.
10539 (alpha_sa_mask, alpha_align_insns): Likewise.
10540 * config/alpha/alpha-protos.h: Update.
10541 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
10542 (MASK_EXPLICIT_RELOCS): New.
10543 (TARGET_SWITCHES): Add -mexplicit-relocs.
10544 (EXTRA_CONSTRAINT): Add 'T'.
10545 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
10546 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
10547 (ENCODE_SECTION_INFO): Out line.
10548 (REDO_SECTION_INFO_P): New.
10549 (STRIP_NAME_ENCODING): New.
10550 (ASM_OUTPUT_LABELREF): New.
10551 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
10552 (PREDICATE_CODES): Update.
10553 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
10554 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
10555 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
10556 builtin_setjmp_receiver_er, exception_receiver_1_er,
10557 call_value_osf_1_er): New patterns.
10558 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
10559 (movqi, movhi, movsi): Add explicit $31 base register to lda.
10560 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
10561 (FINAL_PRESCAN_INSN): New.
10562
10563 Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
10564
10565 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
10566
10567 2001-09-08 Andreas Jaeger <aj@suse.de>
10568
10569 * i386.h (TARGET_SWITCHES): Fix description.
10570
10571 2001-09-07 David Edelsohn <edelsohn@gnu.org>
10572
10573 * rs6000.c (num_insns_constant): Compute number of instructions
10574 more accurately.
10575
10576 * doc/install.texi: Explain AIX exception handling work-around.
10577 Update URL for AIX fixes.
10578
10579 2001-09-07 Jim Wilson <wilson@redhat.com>
10580
10581 * alias.c (clear_reg_alias_info): New.
10582 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
10583 * rtl.h (clear_reg_alias_info): Declare.
10584
10585 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10586
10587 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
10588 available.
10589 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
10590 (m16m,edivm,emulm): Change declaration to match definition.
10591
10592 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10593
10594 * reload.c (push_reload): Check for subreg_lowpart_p instead of
10595 SUBREG_BYTE being 0 when determining if the inner part of a subreg
10596 can be reloaded.
10597
10598 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10599
10600 * c-common.c (signed_or_unsigned_type): Handle machine mode types
10601 which have no corresponding C type.
10602 * fold_const.c (target_isinf,target_isnan,target_negative): Update
10603 the representation of 64-bit doubles to work with 64-bit ints.
10604
10605 2001-09-07 Aldy Hernandez <aldyh@redhat.com>
10606
10607 * config/mips/mips.c (override_options): Do not override ISA when ABI
10608 specified if MIPS_CPU_STRING_DEFAULT was specified.
10609
10610 2001-09-07 Richard Henderson <rth@redhat.com>
10611
10612 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
10613 (express_from_1): Wrap lines.
10614 * rtlanal.c (commutative_operand_precedence): Rename from
10615 operand_preference; export.
10616 * rtl.h: Declare it.
10617 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
10618 (simplify_binary_operation): Invoke simplify_plus_minus on
10619 (CONST (PLUS ...)) as well.
10620 (struct simplify_plus_minus_op_data): New.
10621 (simplify_plus_minus_op_data_cmp): New.
10622 (simplify_plus_minus): Use them. Avoid infinite recursion with
10623 simplify_binary_operation wrt CONST.
10624
10625 Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
10626
10627 * h8300-protos.h (general_operand_dst_push): Remove.
10628 * h8300.c (general_operand_dst_push): Likewise.
10629 * h8300.h (OK_FOR_T): Likewise.
10630 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
10631 * h8300.md (pushqi_h8300): New.
10632 (pushqi_h8300hs): Likewise.
10633 (pushqi): Likewise.
10634 (pushhi_h8300): Likewise.
10635 (pushhi_h8300hs): Likewise.
10636 (pushhi): Likewise.
10637
10638 Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10639
10640 * genattrtab.c (attr_printf): First arg is unsigned.
10641 Clean up formatting of callers.
10642
10643 2001-09-06 Aldy Hernandez <aldyh@redhat.com>
10644
10645 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
10646 registers.
10647
10648 2001-09-07 Andreas Jaeger <aj@suse.de>
10649
10650 * i386.h (TARGET_SWITCHES): Fix descriptions.
10651
10652 2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
10653
10654 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
10655
10656 2001-09-06 Ira Ruben <ira@apple.com>
10657
10658 Remove OP_IDENTIFIER.
10659 * tree.def (OP_IDENTIFIER): Remove.
10660 * tree.c (tree_node_kind enum): Remove op_id_kind.
10661 (tree_node_kind_names): Remove "op_identifiers".
10662 (make_node): Remove OP_IDENTIFIER test.
10663 (build_op_identifier): Removed because it isn't being used.
10664 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
10665 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
10666
10667 2001-09-06 Richard Henderson <rth@redhat.com>
10668
10669 * simplify-rtx.c (simplify_binary_operation): Revert last change.
10670
10671 2001-09-06 Richard Henderson <rth@redhat.com>
10672
10673 * simplify-rtx.c (simplify_binary_operation): Simplify contents
10674 of CONST.
10675
10676 2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10677
10678 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
10679 number used for CR register.
10680
10681 Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
10682 Joern Rennecke (amylaar@cygnus.com)
10683
10684 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
10685 * h8300.c (initial_offset): Handle offset between RP and FP.
10686 (h8300_return_addr_rtx): New function.
10687 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
10688 return register.
10689 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
10690 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
10691 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
10692 (CAN_ELIMINATE, REGISTER_NAMES):
10693 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
10694
10695 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
10696
10697 Remove TYPE_NONCOPIED_PARTS.
10698 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
10699 (struct tree_type): Remove noncopied_parts.
10700 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
10701 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
10702 (fixed_type_p): Remove.
10703 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
10704 (expand_expr, MODIFY_EXPR): Likewise.
10705 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
10706 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
10707
10708 2001-09-06 Alan Modra <amodra@bigpond.net.au>
10709
10710 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
10711 compiler warnings.
10712 (mask64_operand): Likewise.
10713 (includes_rldic_lshift_p): Likewise.
10714 (includes_rldicr_lshift_p): Likewise.
10715
10716 2001-09-05 Ziemowit Laski <zlaski@apple.com>
10717
10718 * objc/objc-act.c (build_message_expr): If a class method cannot
10719 be found, do not issue a warning if a corresponding instance
10720 method exists in the root class.
10721
10722 2001-09-05 Richard Henderson <rth@redhat.com>
10723
10724 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
10725
10726 2001-09-05 Zack Weinberg <zack@codesourcery.com>
10727
10728 * function.c (ggc_mark_struct_function): Mark f->outer.
10729 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
10730 * integrate.c (output_inline_function): ... not here.
10731
10732 Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
10733
10734 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
10735
10736 * i386.c (size_cost): New static variable.
10737 (override_function): Use size_cost when -Os is specified.
10738
10739 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
10740 properly; Use current_function_calls_eh_return.
10741 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
10742 use leave to avoid dependency chain.
10743
10744 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
10745 get BB loop_depth instead of computing it from LOOP notes.
10746
10747 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
10748
10749 2001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
10750
10751 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10752 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10753 UNALIGNED_DOUBLE_INT_ASM_OP): Define
10754
10755 2001-09-05 Jeffrey A Law (law@cygnus.com)
10756 Jason Merrill (jason@redhat.com)
10757
10758 * stor-layout.c (layout_type): Complain if an array's size can
10759 not be represented in a size_t.
10760
10761 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
10762
10763 2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
10764
10765 * gcc.c: (process_command) Add parentheses around assignment
10766 used as truth value.
10767
10768 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
10769
10770 * config/mips/mips.c (save_restore_insns): Don't mark any register
10771 save slots as unchanging if current_function_calls_eh_return.
10772
10773 2001-09-05 Richard Henderson <rth@redhat.com>
10774
10775 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
10776 * config/alpha/alpha-protos.h: Declare it.
10777 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
10778 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
10779 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
10780 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
10781 (REG_OK_FOR_BASE_P): Select one of the above.
10782
10783 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
10784
10785 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
10786 (crti.o): Prefix name of object file with $(T).
10787 (crtn.o): Likewise.
10788
10789 2001-09-05 David S. Miller <davem@redhat.com>
10790
10791 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
10792 * config/sparc/linux64.h: Likewise.
10793
10794 2001-09-05 Andreas Jaeger <aj@suse.de>
10795
10796 * doc/invoke.texi (i386 Options): -mwide-multiply is not
10797 available anymore, remove the documentation.
10798 (i386 Options): Fix typo, cleanup index entries.
10799
10800 * prefix.c (concat): Remove, we can use the version from liberty.
10801
10802 2001-09-05 Richard Henderson <rth@redhat.com>
10803
10804 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
10805 New functions split out of md file expanders.
10806 * config/alpha/alpha-protos.h: Declare them.
10807 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
10808
10809 2001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
10810
10811 * cppmacro.c (funlike_invocation_p): No need to restore context.
10812
10813 2001-09-04 Richard Henderson <rth@redhat.com>
10814
10815 * reload.c (push_reload): Export.
10816 * reload.h (push_reload): Declare it.
10817
10818 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
10819 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
10820 * config/alpha/alpha.c (alpha_legitimize_address): New.
10821 (alpha_legitimize_reload_address): Likewise.
10822 * config/alpha/alpha-protos.h: Declare them.
10823
10824 2001-09-04 Stan Shebs <shebs@apple.com>
10825
10826 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
10827 * config/darwin.c (machopic_stub_name): Account for internally
10828 generated lib calls such as memcpy.
10829
10830 2001-09-04 Richard Henderson <rth@redhat.com>
10831
10832 * unwind.h (_UA_END_OF_STACK): New flag.
10833 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
10834
10835 Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
10836
10837 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
10838
10839 2001-09-04 Richard Sandiford <rsandifo@redhat.com>
10840
10841 * config/mips/mips.c (save_restore_insns): Change base_offset to
10842 fp_offset in second call to mips_emit_frame_related_store.
10843
10844 2001-09-04 Hans-Peter Nilsson <hp@axis.com>
10845
10846 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
10847 sometimes be represented as a NOTE of type
10848 NOTE_INSN_DELETED_LABEL.
10849 (Insns): Document NOTE_INSN_DELETED_LABEL.
10850
10851 2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
10852
10853 * c-common.h (tree_dump_index): Add more comments.
10854 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
10855 (dump_option_value_info): New struct.
10856 (dump_options): New array.
10857 (dump_switch_p): Parse switch options symbolically.
10858 * doc/invoke.texi (-fdump-ast): Rename to ...
10859 (-fdump-tree): ... here. Document that options are symbolic, and
10860 not all are applicable.
10861
10862 2001-09-04 David S. Miller <davem@redhat.com>
10863
10864 * config/sparc/sparc.md (define_splits): Kill constraints.
10865
10866 Cleanup redundant and unused insn attributes.
10867 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
10868 binary, and move. Mark ialu as default.
10869 (commented out define_function_unit "alu"): Kill.
10870 (define_attr "use_clobbered"): Kill.
10871 (whole file): Kill address insn type references. Replace
10872 all unary/binary/move references with ialu.
10873 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
10874 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
10875 TYPE_IALU.
10876
10877 Simplify length insn attribute and make more judicious use
10878 of insn attribute defaulting.
10879 * config/sparc/sparc.md (all insns with length > one): Mark as
10880 insn type multi if real instructions, else use default if
10881 it is a forced splitter.
10882 (all insns with length == one): Use default insn length.
10883 (all insns of type ialu): Use default insn type.
10884
10885 Fix erroneous insn attribute settings.
10886 (addx): Set insn type to misc.
10887 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
10888 const_umulsidi3_sp64): Set insn type to imul.
10889
10890 Track SFmode vs DFmode insns according to UltraSPARC
10891 scheduling rules.
10892 * config/sparc/sparc.md ("fptype"): New attribute, default
10893 to "single".
10894 (all DFmode single insns): Mark as fptype "double".
10895
10896 2001-09-03 Jakub Jelinek <jakub@redhat.com>
10897
10898 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
10899
10900 2001-09-03 Richard Henderson <rth@redhat.com>
10901
10902 * function.h (struct function): Add arg_pointer_save_area_init.
10903 * function.c (expand_function_end): Init arg_pointer_save_area.
10904 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
10905 when called from a nested function.
10906
10907 2001-09-02 Angela Marie Thomas <angela@cygnus.com>
10908
10909 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
10910 is enabled.
10911
10912 Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10913
10914 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
10915
10916 2001-09-01 Geoffrey Keating <geoffk@redhat.com>
10917
10918 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
10919 (emit_push_insn): Use specified padding direction when
10920 STACK_PUSH_CODE is POST_INC.
10921
10922 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
10923
10924 2001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10925
10926 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
10927
10928 2001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
10929
10930 * cppinit.c (cpp_start_read): Free the imacros list as we
10931 traverse it. Don't free the chains before returning.
10932 (_cpp_push_next_buffer): Only try pushing buffers if we've
10933 completed -imacros handling.
10934
10935 2001-08-31 Eric Christopher <echristo@redhat.com>
10936
10937 * gcc.c (handle_braces): Add explaination for abort.
10938
10939 2001-08-30 Roman Zippel <zippel@linux-m68k.org>
10940
10941 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
10942 move adjustment of bitpos instead.
10943
10944 2001-08-31 Zack Weinberg <zack@codesourcery.com>
10945
10946 * function.c: Remove all_functions. Make outer_function_chain
10947 static.
10948 (init_function_start): Don't add new function structure to
10949 all_functions.
10950 (find_function_data, push_function_context_to,
10951 pop_function_context_from, put_var_into_stack,
10952 trampoline_address): Update for changed structure element names.
10953 (push_function_context_to): Disentangle.
10954 (free_after_compilation): Also free F.
10955 (expand_dummy_function_end): Don't free cfun here.
10956 (put_var_into_stack): Comment why we can't use find_function_data here.
10957 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
10958 (mark_function_chain): Split into maybe_mark_struct_function and
10959 ggc_mark_struct_function. Export the latter.
10960 (init_function_once): Mark from cfun and outer_function_chain;
10961 not all_functions.
10962
10963 * function.h (struct function): Kill next_global. Rename next
10964 to outer. All users updated to match.
10965 (all_functions, outer_function_chain): Don't declare.
10966
10967 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
10968 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
10969 don't touch f->inlinable, after calling rest_of_compilation.
10970
10971 * tree.h: Forward-declare struct function. Prototype
10972 ggc_mark_struct_function.
10973
10974 2001-08-31 Kazu Hirata <kazu@hxi.com>
10975
10976 * config/h8300/h8300.md (*andorhi3): Fix typos.
10977
10978 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10979
10980 * calls.c (emit_library_call_value): Don't use a fixed
10981 argument after VA_CLOSE, i.e. out of scope in traditional C.
10982
10983 * emit-rtl.c (gen_rtvec): Likewise.
10984
10985 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10986
10987 * Makefile.in (c-pragma.o): Depend on output.h.
10988 (reorg.o): Depend on except.h.
10989
10990 * c-pragma.c: Include output.h.
10991
10992 * reorg.c: Include except.h.
10993
10994 * unwind-dw2.c: Call __builtin_alloca, not alloca.
10995
10996 2001-08-31 Richard Henderson <rth@redhat.com>
10997
10998 * sched-deps.c (add_dependence): Don't elide dependency if the
10999 conditional used by insn is modified in elem.
11000
11001 2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
11002
11003 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11004
11005 2001-08-31 Diego Novillo <dnovillo@redhat.com>
11006
11007 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11008 dump_switch_p.
11009
11010 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
11011
11012 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11013 function.
11014 (stormy16_asm_out_constructor): New function.
11015 (TARGET_ASM_CONSTRUCTOR): Define.
11016 (TARGET_ASM_DESTRUCTOR): Define.
11017
11018 2001-08-31 Andreas Jaeger <aj@suse.de>
11019
11020 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11021 * loop.c (add_label_notes): Likewise.
11022 * reload.c (find_reloads): Likewise.
11023 * config/sh/sh.c (machine_dependent_reorg): Likewise.
11024
11025 2001-08-31 Jason Merrill <jason_merrill@redhat.com>
11026
11027 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11028 code here. Take _Unwind_{W,Sw}ord*.
11029 (read_encoded_value_with_base): Use them.
11030 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11031 words.
11032 (extract_cie_info): Simplify read_?leb128 handling.
11033 (execute_stack_op, execute_cfa_program): Likewise.
11034 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11035
11036 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
11037
11038 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11039 the frame pointer to pop the stack if convenient.
11040
11041 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11042 Don't use post-increment before combine.
11043 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11044 a call-saved register.
11045
11046 2001-08-31 Andreas Jaeger <aj@suse.de>
11047
11048 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11049 code was correct.
11050
11051 2001-08-30 Geoffrey Keating <geoffk@redhat.com>
11052
11053 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11054 not DIV/MOD, of course.
11055
11056 2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
11057
11058 * rtl.def: Undo my patch commited 2001-08-27.
11059
11060 * genattrtab.c: Ditto.
11061
11062 * rtl.h: Ditto.
11063
11064 * sched-int.h: Ditto.
11065
11066 * target-def.h: Ditto.
11067
11068 * target.h: Ditto.
11069
11070 * haifa-sched.c: Ditto.
11071
11072 * sched-rgn.c: Ditto.
11073
11074 * sched-vis.c: Ditto.
11075
11076 * Makefile.in: Ditto.
11077
11078 * doc/md.texi: Ditto.
11079
11080 * doc/tm.texi: Ditto.
11081
11082 * doc/contrib.texi: Ditto.
11083
11084 * doc/gcc.texi: Ditto.
11085
11086 * genattrtab.h: Remove it.
11087
11088 * genautomata.c: Remove it.
11089
11090 * genattr.c: Undo my patch and Richard Henderson's patch commited
11091 2001-08-27.
11092
11093 Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
11094
11095 * config.gcc (h8300-*-elf*): New case.
11096 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
11097 (SUBTARGET_CPP_SPEC): Define.
11098 (EXTRA_SPECS): Define.
11099 (SUBTARGET_EXTRA_SPECS): Define.
11100 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
11101 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
11102
11103 Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
11104
11105 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
11106 (LIB2FUNCS_EXTRA): Define.
11107 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
11108 config/h8300/fixunssfsi.c: New file.
11109
11110 2001-08-30 Kazu Hirata <kazu@hxi.com>
11111
11112 * config/h8300/h8300.md (zero_extendqihi2): Changes to
11113 define_expand to accommodate target-specific attributes.
11114 (anonymous zero_extendqihi2 patterns): New.
11115
11116 Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
11117
11118 * h8300.md (*andorhi3): New pattern.
11119
11120 Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
11121
11122 * h8300.c (dosize): Fix test for "sub".
11123
11124 Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
11125
11126 * c-typeck.c (pointer_diff): Try to eliminate common term before
11127 doing conversions.
11128
11129 2001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
11130
11131 * config/arm/arm.c (arm_compute_initial_elimination_offset):
11132 Account for the saves of the FP registers.
11133
11134 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
11135 (TEXT_SECTION_ASM_OP): Define.
11136 (INIT_SECTION_ASM_OP): Define.
11137 (FINI_SECTION_ASM_OP): Define.
11138 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
11139 (RDATA_SECTION_FUNCITON): Provide prototype.
11140
11141 2001-08-29 Geoffrey Keating <geoffk@redhat.com>
11142
11143 * reload1.c (move2add_note_store): Correct typo checking for
11144 argument pushes.
11145
11146 2001-08-29 Andrew MacLeod <amacleod@redhat.com>
11147
11148 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
11149 note should not be considered outside the libcall block.
11150
11151 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11152
11153 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
11154
11155 2001-08-29 Kazu Hirata <kazu@hxi.com>
11156
11157 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
11158
11159 2001-08-29 Kazu Hirata <kazu@hxi.com>
11160
11161 * config/h8300/h8300-protos.h: Add a prototype for
11162 emit_logical_op.
11163 * config/h8300/h8300.c (emit_logical_op): New.
11164 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
11165 (andsi3): Likewise.
11166 (iorhi3): Likewise.
11167 (iorsi3): Likewise.
11168 (xorhi3): Likewise.
11169 (xorsi3): Likewise.
11170
11171 2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
11172
11173 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
11174 comparison with rtx INTVAL.
11175 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
11176 expression.
11177 * pa.h (FUNCTION_ARG_SIZE): Likewise.
11178
11179 2001-08-29 Kazu Hirata <kazu@hxi.com>
11180
11181 * config/h8300/lib1funcs.asm: Update the copyright. Fix
11182 comment typos.
11183
11184 2001-08-29 Kazu Hirata <kazu@hxi.com>
11185
11186 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
11187 (reg n) to (mem (pre_dec (reg n))
11188 (anonymous movsi pattern): Likewise.
11189
11190 2001-08-29 Kazu Hirata <kazu@hxi.com>
11191
11192 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
11193
11194 2001-08-29 Kazu Hirata <kazu@hxi.com>
11195
11196 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
11197 several special constants.
11198
11199 2001-08-29 Kazu Hirata <kazu@hxi.com>
11200
11201 * config/h8300/lib1funcs.asm: Fix comment typos.
11202
11203 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11204
11205 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
11206 Fix format specifier warnings.
11207
11208 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
11209 inet_makeaddr, semctl): Prototype.
11210
11211 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
11212 (save_restore_insns): Use base_offset, not gp_offset.
11213
11214 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
11215 (ASM_OUTPUT_BYTE): Fix format specifier warning.
11216
11217 2001-08-29 Richard Henderson <rth@redhat.com>
11218
11219 * bb-reorder.c (function_tail_eff_head): New.
11220 (record_effective_endpoints): Set it.
11221 (fixup_reorder_chain): Use it.
11222
11223 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11224
11225 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
11226
11227 2001-08-28 Dale Johannesen <dalej@apple.com>
11228
11229 * config/darwin.c (machopic_function_base_name): Add const
11230 qualifier to a string.
11231 (darwin_encode_section_info): Ditto.
11232
11233 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11234
11235 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
11236 function definition.
11237
11238 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
11239
11240 * df.h (struct df): Add rts_order variable.
11241
11242 * df.c (df_visit_next_rts): New function.
11243 (df_visit_next): Renamed to df_visit_next_rc
11244 (df_analyse_1): Allocate/compute/free rts_order as well.
11245 (df_rd_global_compute): Use df_visit_next_rc instead of
11246 df_visit_next.
11247 (df_ru_global_compute): Use df_visit_next_rts instead of
11248 df_visit_next.
11249
11250 * flow.c (flow_reverse_top_sort_order_compute): New function.
11251
11252 * basic-block.h: Add prototype.
11253
11254 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
11255
11256 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
11257 blocks, the BB_REACHABLE is now set, rather than aux being
11258 non-NULL. Update the test to reflect this.
11259
11260 2001-08-28 Eric Christopher <echristo@redhat.com>
11261
11262 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
11263 config/mips/crti.asm: Ditto.
11264
11265 2001-08-28 Eric Christopher <echristo@redhat.com>
11266 Richard Henderson <rth@redhat.com>
11267
11268 * c-pragma.h (add_weak): Move prototype from here...
11269 * output.h (add_weak): ... to here.
11270 * varasm.c (add_weak): Fix typo.
11271 * config/mips/crti.asm: New file.
11272 * config/mips/crtn.asm: Ditto.
11273 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
11274 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
11275 (INVOKE__main): Ditto.
11276 (INIT_SECTION_ASM_OP): New.
11277 (FINI_SECTION_ASM_OP): Ditto.
11278 (STARTFILE_SPEC): Add crti.
11279 (ENDFILE_SPEC): Add crtn.
11280 * config/mips/elf64.h: Same.
11281 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
11282 Remove.
11283 * config/mips/vxworks.h: Ditto.
11284 * config/mips/t-elf: Support crti and crtn.
11285
11286 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
11287
11288 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
11289 INSN_LIST.
11290
11291 2001-08-28 Richard Henderson <rth@redhat.com>
11292
11293 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
11294 (one_cmplbi2 splitter): Remove redundant test.
11295
11296 2001-08-28 Dale Johannesen <dalej@apple.com>
11297
11298 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
11299
11300 2001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
11301
11302 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
11303
11304 2001-08-28 Stan Shebs <shebs@apple.com>
11305
11306 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
11307 (UNALIGNED_SHORT_ASM_OP): Define.
11308 (UNALIGNED_INT_ASM_OP): Define.
11309
11310 2001-08-28 Will Cohen <wcohen@redhat.com>
11311
11312 * config/rs6000/rs6000.md (store_multiple): Correct RTL
11313 generation for first set.
11314
11315 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11316
11317 * flow.c (redirect_edge_succ_nodup): Return new edge.
11318 (try_simplify_condjump): Use new edge.
11319 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
11320
11321 * cse.c (cse_basic_block): Skip note instructions.
11322
11323 2001-08-27 Richard Henderson <rth@redhat.com>
11324
11325 * combine.c (combine_simplify_rtx): Don't reverse condition
11326 if there is no reverse for the condition.
11327 (simplify_comparison): Don't simplify subregs from INT to FP.
11328
11329 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
11330 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
11331 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
11332 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
11333 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
11334 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
11335
11336 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11337
11338 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
11339 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
11340 (pushqi1): New.
11341 (adddi_dilshr32, adddi_dishl32): Only data register can be
11342 source for mem destination.
11343
11344 * expmed.c (store_bit_field): Ignore adjustment to bitpos
11345 and use bitnum to decide about register move.
11346
11347 2001-08-27 Richard Henderson <rth@redhat.com>
11348
11349 * genattr.c (main): Emit state_t even when not doing scheduling.
11350
11351 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11352 Richard Henderson <rth@redhat.com>
11353
11354 * gcse.c (reg_first_set, reg_last_set): Replace with ...
11355 (reg_avail_info, current_bb): ... these.
11356 (oprs_unchanged_p, record_last_reg_set_info): Use them.
11357 (compute_hash_table): Likewise.
11358
11359 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11360
11361 * flow.c (verify_flow_info): Use checksums to verify edges.
11362
11363 2001-08-27 Richard Henderson <rth@redhat.com>
11364
11365 * genautomata.c (expand_automata): Always create a description.
11366
11367 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
11368
11369 * optabs.c (expand_binop): Correctly handle the carry in multiword
11370 add/subtract operations.
11371
11372 2001-08-27 Fred Fish <fnf@be.com>
11373
11374 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
11375 __SIZE_TYPE__.
11376
11377 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
11378
11379 * reload.c (find_reloads_toplev): Back out this change:
11380
11381 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
11382
11383 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
11384 mem if the address is a mode_dependent_address_p.
11385
11386 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
11387
11388 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
11389 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
11390 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
11391 RTL constructions.
11392
11393 * genattr.c (main): New variable num_insn_reservations. Increase
11394 it if there is DEFINE_INSN_RESERVATION. Output automaton based
11395 pipeline hazard recognizer interface.
11396
11397 * genattrtab.h: New file.
11398
11399 * genattrtab.c: Include genattrtab.h.
11400 (attr_printf, check_attr_test, make_internal_attr,
11401 make_numeric_value): Move protypes into genattrtab.h. Define them
11402 as external.
11403 (num_dfa_decls): New global variable.
11404 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
11405 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
11406 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
11407 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
11408
11409 * genautomata.c: New file.
11410
11411 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
11412
11413 * sched-int.h: (curr_state): Add the external definition for
11414 automaton pipeline interface.
11415 (haifa_insn_data): Add comments for members blockage and units.
11416
11417 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11418 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11419 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11420 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11421 TARGET_SCHED_DFA_POST_CYCLE_INSN,
11422 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11423 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
11424 macros.
11425 (TARGET_SCHED): Use the new macros.
11426
11427 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
11428 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
11429 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
11430 dfa_bubble): New members in gcc_target.sched.
11431
11432 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
11433 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
11434 (insn_queue): Redefine it as pointer to array.
11435 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
11436 INSN_QUEUE_SIZE.
11437 (max_insn_queue_index_macro_value): New variable.
11438 (curr_state, dfa_state_size, ready_try): New varaibles for
11439 automaton interface.
11440 (ready_element, ready_remove, max_issue): New function prototypes
11441 for automaton interface.
11442 (choose_ready): New function prototype.
11443 (insn_unit, blockage_range): Add comments.
11444 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
11445 FUNCTION_UNITS_SIZE == 0.
11446 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
11447 actual_hazard, potential_hazard): Add comments.
11448 (insn_cost): Use cost -1 as undefined value. Remove
11449 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
11450 pipeline interface.
11451 (ready_element, ready_remove): New functions for automaton
11452 interface.
11453 (schedule_insn): Add new code for automaton pipeline interface.
11454 (queue_to_ready): Add new code for automaton pipeline interface.
11455 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
11456 (debug_ready_list): Print newline when the queue is empty.
11457 (max_issue): New function for automaton pipeline interface.
11458 (choose_ready): New function.
11459 (schedule_block): Add new code for automaton pipeline interface.
11460 Print ready list before scheduling each insn.
11461 (sched_init): Add new code for automaton pipeline interface.
11462 Initiate insn cost by -1.
11463 (sched_finish): Free the current automaton state and finalize
11464 automaton pipeline interface.
11465
11466 * sched-rgn.c: Include target.h.
11467 (init_ready_list, new_ready, debug_dependencies): Add new code for
11468 automaton pipeline interface.
11469
11470 * sched-vis.c: Include target.h.
11471 (get_visual_tbl_length): Add code for automaton interface.
11472 (target_units, print_block_visualization): Add comments.
11473
11474 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
11475 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
11476 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
11477 (getruntime.o, genautomata.o): New entries.
11478 (genattrtab.o): Add new dependency file genattrtab.h.
11479 (genattrtab): Add new dependencies. Link it with `libm.a'.
11480 (getruntime.o, hashtab.o): New entries for canadian cross.
11481
11482 * doc/md.texi: Description of automaton based model.
11483
11484 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
11485 Add comments.
11486 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11487 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11488 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11489 TARGET_SCHED_DFA_POST_CYCLE_INSN,
11490 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11491 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11492 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
11493 hook descriptions.
11494 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
11495 MAX_DFA_ISSUE_RATE): New macro descriptions.
11496
11497 * doc/contrib.texi: Add dfa based scheduler contribution.
11498
11499 * doc/gcc.texi: Add more information about genattrtab.
11500
11501 2001-08-27 Diego Novillo <dnovillo@redhat.com>
11502
11503 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
11504 an RTL basic block.
11505
11506 2001-08-27 Richard Henderson <rth@redhat.com>
11507
11508 * function.c (expand_function_end): Don't init arg_pointer_save_area.
11509 (get_arg_pointer_save_area): New. Create an init it here.
11510 (fix_lexical_addr): Use it.
11511 * function.h: Declare it.
11512 * builtins.c (expand_builtin_setjmp_receiver): Use it.
11513 * stmt.c (expand_nl_goto_receiver): Use it.
11514
11515 2001-08-27 Richard Henderson <rth@redhat.com>
11516
11517 * final.c (final_scan_insn): Don't enter APP_ON mode for
11518 empty asm strings.
11519
11520 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
11521 alignment for assemble_integer for DW_EH_PE_aligned.
11522 * except.c (output_function_exception_table): Likewise.
11523
11524 2001-08-26 Andreas Jaeger <aj@suse.de>
11525
11526 * c-tree.h: Add prototyp for c_sizeof_nowarn.
11527
11528 2001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
11529
11530 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
11531
11532 2001-08-27 Alan Modra <amodra@bigpond.net.au>
11533
11534 * config/rs6000/rs6000.c (mask_operand): Rewrite without
11535 bit-shifting loop.
11536 (mask64_operand): Likewise.
11537 (rldic_operand): Delete.
11538 (includes_lshift64_p): Delete.
11539 (includes_rldic_lshift_p): New function.
11540 (includes_rldicr_lshift_p): New function.
11541 (print_operand): Don't call rldic_operand in case 'W'.
11542 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
11543 (includes_lshift64_p): Remove.
11544 (includes_rldic_lshift_p): Declare.
11545 (includes_rldicr_lshift_p): Declare.
11546 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
11547 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
11548 Replace match_operand rldic_operand predicate with
11549 const_int_operand. Replace includes_lshift64_p condition with
11550 includes_rldic_lshift_p.
11551 <ashldi3_internal 64 bit rldicr patterns>: New.
11552
11553 2001-08-27 Andreas Jaeger <aj@suse.de>
11554
11555 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11556 * errors.c: Likewise.
11557 * final.c: Likewise.
11558 * dwarf2asm.c: Likewise.
11559 * doprint.c (checkit): Likewise.
11560 * diagnostic.c: Likewise.
11561 * collect2.c: Likewise.
11562 * calls.c: Likewise.
11563 * c-semantics.c (build_stmt): Likewise.
11564 * c-format.c (status_warning): Likewise.
11565 * c-errors.c (pedwarn_c99): Likewise.
11566 * builtins.c (validate_arglist): Likewise.
11567 * config/pj/pj.c (pj_printf): Likewise.
11568 * fix-header.c: Likewise.
11569 * gcc.c: Likewise.
11570 * gcov.c (fnotice): Likewise.
11571 * gensupport.c (message_with_line): Likewise.
11572 * mips-tfile.c: Likewise.
11573 * protoize.c (notice): Likewise.
11574 * read-rtl.c (fatal_with_file_and_line): Likewise.
11575 * rtl-error.c: Likewise.
11576 * tradcpp.c: Likewise.
11577 * tree.c: Likewise.
11578 * cp/tree.c (build_min_nt): Likewise.
11579 (build_min): Likewise.
11580 * cp/lex.c: Likewise.
11581 * cp/errfn.c: Likewise.
11582 * cp/rtti.c (create_pseudo_type_info): Likewise.
11583
11584 Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
11585
11586 * df.c (df_uses_record): Return after recording all uses
11587 in ASM_OPERANDS.
11588
11589 2001-08-26 Daniel Berlin <dan@cgsoftware.com>
11590
11591 * df.c (df_insn_modify): Realloc the INSN table here, if
11592 necessary, here, too.
11593
11594 2001-08-26 Aldy Hernandez <aldyh@redhat.com>
11595
11596 * config/mips/mips.c (mips_function_value): Handle complex return
11597 values.
11598
11599 2001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
11600
11601 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
11602 unshared.
11603 * reload.c (make_memloc): Copy result if it is still
11604 reg_equiv_memory_loc[regno] on return.
11605 (subst_reloads) [ENABLE_CHECKING]: Check that none of
11606 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
11607 reg_equiv_mem are modified by the substitutions.
11608
11609 Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
11610
11611 * predict.c (expensive_function_p): New.
11612 * rtl.h (expensive_function_p): Declare.
11613 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
11614 (use_fast_prologue_epilogue): New static variable.
11615 (expand_prologue): Set it; emit short prologues if unset.
11616 (expand_epilogue): Likewise.
11617
11618 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
11619
11620 * config.gcc: Add stormy16-*-elf case.
11621 * config/stormy16/stormy-abi: New file.
11622 * config/stormy16/stormy16-lib2.c: New file.
11623 * config/stormy16/stormy16-protos.h: New file.
11624 * config/stormy16/stormy16.c: New file.
11625 * config/stormy16/stormy16.h: New file.
11626 * config/stormy16/stormy16.md: New file.
11627 * config/stormy16/t-stormy16: New file.
11628
11629 Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
11630
11631 * i386.h (no-accumulate-outgoing-args): Use proper mask.
11632
11633 2001-08-24 David Edelsohn <edelsohn@gnu.org>
11634
11635 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
11636 descriptor members are pointer size, not constant 4.
11637 * config/rs6000/rs6000.md (define_splits): Remove more unused
11638 constraints.
11639
11640 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11641
11642 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
11643
11644 2001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
11645
11646 * cp/rtti.c (VPARAMS): Fix parameter.
11647
11648 2001-08-24 Zack Weinberg <zackw@panix.com>
11649
11650 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
11651 to zero.
11652 (mode_for_extraction): No need for #ifdefs. Add default-case abort
11653 to switch.
11654 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
11655 in if controlling use of insv.
11656 (extract_bit_field): Likewise, for extv and extzv.
11657
11658 Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
11659
11660 * i386.md (movcc peep2): Fix load of 0.
11661
11662 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11663
11664 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
11665 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
11666
11667 2001-08-23 Jason Merrill <jason_merrill@redhat.com>
11668
11669 * c-pragma.h: Move weak_syms and weak_decls...
11670 * varasm.c: ...here. Now static.
11671 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
11672 depend on HANDLE_PRAGMA_WEAK.
11673
11674 * c-common.c (c_alignof, c_alignof_expr): Move here...
11675 * c-typeck.c: ...from here.
11676 * c-tree.h, c-common.h: Adjust.
11677
11678 2001-08-23 Bernd Schmidt <bernds@redhat.com>
11679
11680 * config/ia64/ia64.c (rws_update): If !pred, set write_count
11681 instead of incrementing it.
11682
11683 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
11684 asm ready, don't try to move them all into the same array element.
11685
11686 Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
11687
11688 * function.c (thread_prologue_and_epilogue_insns): Avoid
11689 fallthru flag on edge to exit.
11690
11691 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
11692
11693 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
11694 dead edges.
11695
11696 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
11697
11698 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
11699 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
11700 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
11701 Remove prototype.
11702
11703 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
11704
11705 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
11706 replace "GNU CC" with "GCC".
11707
11708 2001-08-23 Richard Henderson <rth@redhat.com>
11709
11710 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
11711 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
11712 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
11713 Need GR between FR and not GR_AND_FR.
11714 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
11715 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
11716 AR regs before GR regs.
11717 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
11718 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
11719 (REGISTER_MOVE_COST): Update.
11720 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
11721
11722 2001-08-23 Richard Henderson <rth@redhat.com>
11723
11724 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
11725 a register class.
11726
11727 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
11728
11729 * reload1.c (emit_reload_insns): Don't look for notes
11730 on a NULL store_insn.
11731
11732 2001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11733
11734 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
11735 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
11736 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
11737 format specifier warnings.
11738 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
11739
11740 2001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
11741
11742 * config/i386/i386-protos.h: Correct declaration of
11743 i386_pe_asm_named_section.
11744
11745 2001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
11746
11747 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
11748 variable i.
11749 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11750
11751 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
11752
11753 * cpperror.c (print_location): Don't show _Pragma.
11754 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
11755 and file change callback generation here.
11756 (stack_include_file): Update use of cpp_push_buffer.
11757 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
11758 (struct cpp_buffer): Remove type, pfile members.
11759 * cppinit.c (cpp_handle_option): Use free_chain.
11760 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
11761 (skip_escaped_newlines, get_effective_char, lex_percent): Take
11762 a cpp_reader rather than a cpp_buffer.
11763 (skip_escaped_newlines, get_effective_char, skip_block_comment,
11764 skip_line_comment, parse_string, lex_percent, lex_dot,
11765 _cpp_lex_token): Update accordingly.
11766 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
11767 generation here.
11768 (cpp_push_buffer): Update prototype.
11769 (run_directive): Update use of cpp_push_buffer.
11770 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
11771 handle_assertion): Update use of run_directive.
11772 * cpplib.h (enum cpp_buffer_type): Remove.
11773 (cpp_push_buffer): Update prototype.
11774 * fix-header.c (read_scan_file): Update.
11775
11776 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11777
11778 * gcc.c (struct prefix_list): Change prefix to const char *.
11779
11780 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11781
11782 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
11783
11784 2001-08-22 Jason Merrill <jason_merrill@redhat.com>
11785
11786 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
11787 from a new MEM.
11788
11789 * jump.c (squeeze_notes): Take parms by reference. Handle END being
11790 a squeezable note.
11791 * rtl.h: Adjust.
11792 * ifcvt.c (dead_or_predicable): Adjust.
11793 * loop.c (find_and_verify_loops): Adjust.
11794 * stmt.c (expand_end_case): Adjust.
11795 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
11796 head and end insn pointers in the basic block, not just local copies.
11797 (merge_blocks_move_predecessor_nojumps): Likewise.
11798
11799 2001-08-22 Lars Brinkhoff <lars@nocrew.org>
11800
11801 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
11802 bitmap.h, builtin-types.def, builtins.c, builtins.def,
11803 c-aux-info.c, c-common.c, c-common.def, c-common.h,
11804 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
11805 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
11806 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
11807 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
11808 conditions.h, config.gcc, configure.frag, configure.in,
11809 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
11810 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
11811 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
11812 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
11813 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
11814 emit-rtl.c, errors.c, errors.h, except.c, except.h,
11815 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
11816 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
11817 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
11818 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
11819 gencheck.c, gencodes.c, genconfig.c, genemit.c,
11820 genextract.c, genflags.c, gengenrtl.c, genmultilib,
11821 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
11822 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
11823 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
11824 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
11825 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
11826 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
11827 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
11828 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
11829 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
11830 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
11831 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
11832 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
11833 params.h, predict.c, predict.def, predict.h, prefix.c,
11834 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
11835 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
11836 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
11837 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
11838 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
11839 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
11840 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
11841 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
11842 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
11843 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
11844 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
11845 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
11846 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
11847 xcoffout.h: replace "GNU CC" with "GCC".
11848
11849 2001-08-21 Richard Henderson <rth@redhat.com>
11850
11851 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
11852 (final_scan_insn): Consider jump tables data even if we have no
11853 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
11854 ADDR_VEC_ALIGN.
11855 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
11856 (ASM_OUTPUT_CASE_END): Remove.
11857 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
11858 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
11859 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
11860
11861 2001-08-21 Richard Henderson <rth@redhat.com>
11862
11863 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
11864 at barrier insns. Emit stop bits before barriers.
11865
11866 * flow.c (flow_find_cross_jump): Don't consider unconditional
11867 return insns for commoning.
11868
11869 * final.c (compute_alignments): Fix typo.
11870
11871 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
11872 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
11873 (store_bit_field): Use mode_for_extraction more places.
11874 (extract_bit_field): Likewise.
11875
11876 2001-08-21 Zack Weinberg <zackw@panix.com>
11877
11878 * caller-save.c: Don't include insn-codes.h.
11879 (reg_save_code, reg_restore_code): Make arrays of int.
11880 All uses updated to match.
11881 (insert_save, insert_restore): No need to initialize "code"
11882 variable upon declaration.
11883 * Makefile.in: update dependencies; fix typo in clean rule.
11884
11885 2001-08-21 Richard Henderson <rth@redhat.com>
11886
11887 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
11888 (merge_if_block): Handle fallout from same.
11889
11890 2001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11891
11892 * builtins.c (type_to_class): Fix typo in last change.
11893
11894 2001-08-21 Richard Henderson <rth@redhat.com>
11895
11896 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
11897 ia64_asm_output_label.
11898
11899 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
11900 copy of gp while the real gp register contains garbage.
11901
11902 2001-08-21 Zack Weinberg <zackw@panix.com>
11903
11904 * expmed.c (mode_for_extraction): New function.
11905 (store_bit_field, extract_bit_field): Use it.
11906 * expr.h: Prototype it and provide an enum for its first argument.
11907
11908 * combine.c, function.c, recog.c: Don't include insn-codes.h.
11909 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
11910 and digging through the insn_data tables.
11911 * Makefile.in: Update dependencies.
11912
11913 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
11914
11915 * cppfiles.c (stack_include_file): line-map.c now handles include
11916 depth.
11917 (handle_missing_handler): Similarly.
11918 (_cpp_execute_include): Similarly.
11919 (_cpp_pop_file_buffer): Similarly.
11920 * cpphash.h (struct cpp_reader): Remove system_include_depth,
11921 buffer_stack_depth and include_depth.
11922 * cpplib.c (do_include_common): line-map.c now handles include depth.
11923 (cpp_push_buffer): Similarly.
11924 (_cpp_pop_buffer): Similarly.
11925 * cppmacro.c (builtin_macro): Update.
11926 * line-map.c (init_line_maps): Set depth.
11927 (add_line_map): Increment "used" earlier. Update and use the
11928 include depth.
11929 (trace_include): Use the include depth.
11930 * line-map.h (struct line_maps): New member depth.
11931
11932 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
11933
11934 * cppfiles.c (stack_include_file): Don't handle -H here.
11935 * cppinit.c (cpp_start_read): Set include tracing after
11936 cpp_post_options and after stacking the main file.
11937 * line-map.c (trace_include): New.
11938 (init_line_maps, add_line_map): Update.
11939 * line-map.h (struct line_maps): New member trace_includes.
11940
11941 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
11942
11943 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
11944 * cppfiles.c (stack_include_file): Only stack a file if there
11945 is something to do. Return a boolean indicating whether a
11946 buffer was stacked or not.
11947 (_cpp_execute_include): Similarly.
11948 (_cpp_read_file): Similarly.
11949 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
11950
11951 2001-08-21 Sam Steingold <sds@gnu.org>
11952
11953 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
11954 (RECACHE): keep obufp_before_macroname up to date
11955
11956 2001-08-21 Zack Weinberg <zackw@panix.com>
11957
11958 * stmt.c: Don't include insn-codes.h.
11959 (expand_end_case): Machine specific logic moved to expr.c.
11960 No need to worry about __builtin_classify_type.
11961 (check_for_full_enumeration_handling, emit_case_nodes):
11962 Kill #if 0 blocks.
11963
11964 * builtins.o (expand_builtin_classify_type): Split up so code
11965 can be shared with fold_builtin_classify_type.
11966 (type_to_class, fold_builtin_classify_type): New functions.
11967 (fold_builtins): Handle __builtin_classify_type.
11968
11969 * expr.c (do_tablejump): Now static.
11970 (case_values_threshold, try_casesi, try_tablejump): New;
11971 code mostly from stmt.c (expand_end_case).
11972 (expr.h): Update prototypes.
11973
11974 * Makefile.in (stmt.o): Update dependencies.
11975
11976 2001-08-21 Will Cohen <wcohen@redhat.com>
11977
11978 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
11979 declaration of variable i.
11980 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
11981 declaration of variable i.
11982
11983 2001-08-21 Richard Henderson <rth@redhat.com>
11984
11985 * crtstuff.c: Fix thinko last change. Move list tails to start
11986 of CRT_END section. Tidy ifdefs.
11987 (__EH_FRAME_BEGIN__): Always static for ELF.
11988 (__do_global_ctors_1): Rename from __frame_dummy.
11989 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
11990 name change; don't hide __EH_FRAME_BEGIN__.
11991
11992 2001-08-21 Richard Henderson <rth@redhat.com>
11993
11994 * gdbinit.in: Move break on exit after break on fancy_abort.
11995
11996 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
11997 sized types.
11998
11999 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
12000
12001 * cpphash.h (_cpp_push_next_buffer): New.
12002 * cppinit.c (do_includes): Remove.
12003 (push_include, free_chain, _cpp_push_next_buffer): New.
12004 (cpp_start_read): Use them to rework command line option handling.
12005 (cpp_handle_option): Combine handling of -include and -imacros.
12006 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12007 appropriate. Always insert missing \n at EOF.
12008 * cpplib.c (start_directive): Get the directive position right.
12009 * cppmain.c (cb_file_change): Always print the first line, unless
12010 preprocessed.
12011
12012 2001-08-20 Andreas Jaeger <aj@suse.de>
12013
12014 * profile.c (compute_branch_probabilities): Remove extra new-line
12015 in error message.
12016 * flow.c (verify_flow_info): Likewise.
12017
12018 2001-08-20 Diego Novillo <dnovillo@redhat.com>
12019
12020 * basic-block.h (basic_block): Add new field 'flags'.
12021 (BB_REACHABLE): Define.
12022 (expunge_block): Declare.
12023 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12024 (EXIT_BLOCK_PTR): Ditto.
12025 (expunge_block): Remove static declaration.
12026 (cleanup_cfg): Clear bb->aux on every basic block.
12027 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12028 computing reachability.
12029 (delete_unreachable_blocks): Delete block b if b->flags has
12030 BB_REACHABLE unset.
12031
12032 2001-08-20 Diego Novillo <dnovillo@redhat.com>
12033
12034 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12035
12036 2001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12037
12038 * sparc.c (sparc_variable_issue): Fix typo in last change.
12039
12040 2001-08-20 Richard Henderson <rth@redhat.com>
12041
12042 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12043
12044 2001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
12045
12046 * pa.h (RETURN_IN_MEMORY): Improve comment.
12047
12048 2001-08-20 Janis Johnson <janis187@us.ibm.com>
12049
12050 * doc/invoke.texi (Profiling options): Clarify the interactions
12051 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12052
12053 2001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
12054
12055 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12056 command.
12057
12058 2001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12059
12060 * gcc.c (make_relative_prefix): Allocate a sufficiently large
12061 buffer.
12062
12063 2001-08-20 Richard Henderson <rth@redhat.com>
12064
12065 * final.c (end_final): Fix typo last change.
12066
12067 2001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
12068
12069 * cppinit.c (init_standard_includes): The returned buffer
12070 is already malloc-ed.
12071 * gcc.c (add_prefix): Similarly.
12072 * prefix.c (translate_name): Update to support clear buffer
12073 ownership rules.
12074 (update_path): Similarly. Be sure to free any newly allocated
12075 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12076 (tr): New function.
12077 * prefix.h (update_path): Update prototype and document.
12078 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12079 up and update to new buffer ownership rules.
12080 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12081
12082 Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
12083
12084 * final.c (compute_alignments): New function.
12085 (init_insn_lengths): Do not care label_align.
12086 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
12087 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
12088 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
12089 (shorted_branches): Realloc label_align array; do
12090 not call init_insn_lengths; Do not care about loop alignments.
12091 * output.h (compute_alignments): Declare.
12092 * toplev.c (rest_of_compilation): Call compute_alignments.
12093 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
12094
12095 * predict.c (block_info_def): Add npredecesors, remove nvisited;
12096 change visited to tovisit.
12097 (propagate_freq): Use faster traversing algorithm.
12098 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
12099 to tovisit; reverse meaning.
12100
12101 * predict.c (struct block_info_def): Remove nvisited.
12102 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12103 (estimate_bb_frequencies): Call mark_dfs_back_edges.
12104
12105 2001-08-19 Geoffrey Keating <geoffk@redhat.com>
12106
12107 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
12108 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
12109 (TARGET_FUSED_MADD): New.
12110 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
12111 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
12112 the multiply-add instructions.
12113
12114 2001-08-19 Richard Henderson <rth@redhat.com>
12115
12116 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
12117 is aligned to pointer size.
12118
12119 2001-08-19 Richard Henderson <rth@redhat.com>
12120
12121 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
12122 display markers during final schedule.
12123
12124 2001-08-19 Richard Henderson <rth@redhat.com>
12125
12126 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
12127
12128 2001-08-19 Richard Henderson <rth@redhat.com>
12129
12130 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
12131 in the same string.
12132 (ASM_NAME_TO_STRING): Remove.
12133 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
12134 in the same string. Remove support for expressions.
12135
12136 2001-08-19 Richard Henderson <rth@redhat.com>
12137
12138 * config/i386/i386.md (tablejump): Make an expander; handle
12139 pic relative addressing here.
12140 (tablejump_1): Rename from tablejump_pic.
12141 (casesi): Remove.
12142
12143 2001-08-19 Richard Henderson <rth@redhat.com>
12144
12145 * regclass.c (fix_register): Fix typo.
12146
12147 2001-08-18 Richard Henderson <rth@redhat.com>
12148
12149 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
12150 (struct _Unwind_Context): Expand br_loc to hold it.
12151 (uw_frame_state_for): Handle leaf functions better.
12152 (uw_update_reg_address): Update for br_loc change.
12153
12154 2001-08-18 Richard Henderson <rth@redhat.com>
12155
12156 * crtstuff.c: Move list heads before code that uses them.
12157 (__JCR_LIST__): Remove initial null.
12158 (frame_dummy, __frame_dummy): Do java registration here ...
12159 (__do_global_ctors_aux): ... not here.
12160
12161 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
12162 (__do_global_dtors_aux): Update to match.
12163 (__JCR_LIST__, __do_jv_register_classes): New.
12164 (.init): Call it.
12165 * config/ia64/crtend.asm (__JCR_END__): New.
12166 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
12167 instead of an indirect LTOFF22 reloc.
12168
12169 2001-08-18 Richard Henderson <rth@redhat.com>
12170
12171 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
12172 * regclass.c (init_reg_sets_1): Fix typo.
12173 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
12174 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
12175 (ia64_compute_frame_size): Make ar.unat live when in use.
12176 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
12177 for ar.pfs; remove ar.unat handling.
12178 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
12179 call-saved.
12180 (PREDICATE_CODES): Add ar_pfs_reg_operand.
12181 * config/ia64/ia64-protos.h: Update decls.
12182 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
12183 (sibcall_pic): Likewise.
12184
12185 2001-08-18 Richard Henderson <rth@redhat.com>
12186
12187 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
12188 pred_rel_mutex when searching for insn_group_barrier.
12189 * config/ia64/ia64.md (cycle_display): Combine the expander
12190 and insn patterns.
12191
12192 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
12193 bit before asm as needed.
12194
12195 2001-08-18 Richard Henderson <rth@redhat.com>
12196
12197 * timevar.def (TV_MACH_DEP): New.
12198 * toplev.c (rest_of_compilation): Use it.
12199 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
12200
12201 2001-08-18 Zack Weinberg <zackw@panix.com>
12202
12203 * unwind-dw2.c (execute_stack_op): Add default aborts to
12204 the inner switches to prevent warnings.
12205
12206 2001-08-18 Richard Henderson <rth@redhat.com>
12207
12208 * timevar.h (struct timevar_time_def): Change element type to float.
12209 (ticks_to_msec, clocks_to_msec): Likewise.
12210 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
12211 (get_time): Likewise.
12212 (timevar_print): Adjust zero check and printing to match.
12213
12214 2001-08-18 Zack Weinberg <zackw@panix.com>
12215
12216 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
12217 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
12218 Eliminate overfull or underfull hboxes.
12219
12220 2001-08-18 Zack Weinberg <zackw@panix.com>
12221
12222 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12223
12224 2001-08-18 Zack Weinberg <zackw@panix.com>
12225
12226 * haifa-sched.c: Convert to target hooks. Macros replaced
12227 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
12228 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
12229 MD_SCHED_FINISH, and HAVE_cycle_display.
12230 * target-def.h (TARGET_SCHED_ADJUST_COST,
12231 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
12232 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
12233 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
12234 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
12235 New hook #defines to be overridden.
12236 (TARGET_SCHED): Bring them all together.
12237 (TARGET_INITIALIZER): Update.
12238 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
12239 instead of 'struct rtx_def *' throughout.
12240 (struct sched): New set of hooks for the scheduler.
12241 * Makefile.in (haifa-sched.o): Depend on target.h.
12242 * doc/tm.texi: Document the new scheduler hooks, together in
12243 their own section, instead of scattered around.
12244 Fix a bunch of underfull/overfull hboxes.
12245
12246 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
12247 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
12248 sparc.h: Don't define any of the old scheduler macros.
12249
12250 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
12251 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
12252 sparc.c: Create hook functions from code extracted from
12253 corresponding target header, or make existing hooks static, as
12254 appropriate. Set the appropriate entries in targetm.
12255
12256 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
12257 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
12258 rs6000-protos.h, s390-protos.h, sparc-protos.h:
12259 Remove prototypes for functions which are now static.
12260
12261 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
12262 related gunk; the Haifa scheduler is now the only choice.
12263
12264 2001-08-18 Zack Weinberg <zackw@panix.com>
12265
12266 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
12267 * genopinit.c: Put floating point divide insns in sdiv_optab.
12268 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
12269 * config/gofast.h, config/c4x/c4x.h,
12270 config/ia64/hpux_longdouble.h, config/mips/mips.h,
12271 config/pa/long_double.h, config/rs6000/sysv4.h,
12272 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
12273 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
12274 (init_optabs): Use init_optabv for overflow-trapping optabs.
12275 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
12276 cmp_optab RTX codes so have_insn_for can find them.
12277
12278 * optabs.c (expand_simple_binop, expand_simple_unop,
12279 have_insn_for, gen_sub3_insn): New interfaces.
12280 * expr.h: Prototype new functions.
12281 (enum optab_methods): Move here from optabs.h.
12282
12283 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
12284 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
12285 Use new functions instead of working directly with optabs.
12286 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
12287 unroll.c: Don't include optabs.h.
12288 * caller-save.c, combine.c, function.c, stmt.c: Just include
12289 insn-codes.h, not optabs.h.
12290 * Makefile.in: Update dependencies.
12291
12292 * combine.c (make_compound_operation, simplify_comparison):
12293 Fix typos testing for this or that instruction.
12294
12295 2001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12296
12297 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
12298 generating libgcc.a.
12299
12300 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12301
12302 * except.c (TYPE_HASH): Delete.
12303
12304 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
12305 HOST_WIDE_INT.
12306
12307 * tree.c (TYPE_HASH): Delete.
12308
12309 * tree.h (TYPE_HASH): Define.
12310
12311 2001-08-18 Graham Stott <grahams@redhat.com>
12312
12313 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
12314 define_split.
12315 (adddi3_internal_2+2): Likewise.
12316 (eh_set_lr_di+1): Likewise.
12317
12318 2001-08-17 Richard Henderson <rth@redhat.com>
12319
12320 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12321 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
12322 * dwarf2asm.c: ... here.
12323 * dwarfout.c: Remove them.
12324
12325 * varasm.c (assemble_integer): Add align parameter.
12326 (assemble_real, output_constant, output_constructor): Likewise.
12327 * output.h: Update decls.
12328 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
12329 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
12330 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
12331 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
12332 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
12333 Update all callers.
12334
12335 * final.c (end_final): Abort profile block generation if we
12336 haven't layed it out properly.
12337 * output.h (assemble_eh_integer): Remove stale decl.
12338 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
12339 (min_align): New.
12340 (assemble_integer): Handle unaligned data.
12341 (assemble_real): Abort on unaligned data.
12342 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
12343 anything useful.
12344 (default_dtor_section_asm_out_destructor): Use assemble_align.
12345 (default_named_section_asm_out_constructor): Likewise.
12346 (default_ctor_section_asm_out_constructor): Likewise.
12347 * config/darwin.c (machopic_asm_out_constructor): Likewise.
12348 (machopic_asm_out_destructor): Likewise.
12349 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
12350 (nextstep_asm_out_destructor): Likewise.
12351 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
12352 (vms_asm_out_destructor): Likewise.
12353
12354 2001-08-17 Richard Henderson <rth@redhat.com>
12355
12356 * config/mips/iris6.h (TARGET_IRIX6): New.
12357 (current_section_name, current_section_flags): New.
12358 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
12359 (MAX_OFILE_ALIGNMENT): New.
12360 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
12361 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
12362 (copy_file_data): Split out from
12363 (mips_asm_file_end): ... here.
12364 (mips_asm_file_start): Remove extra .section directive. Use
12365 tmpfile instead of mips_make_temp_file.
12366 (mips_unique_section): Use const char * as needed for warnings.
12367 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
12368 re-add align parameter.
12369 (iris6_asm_named_section): New.
12370 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
12371 (iris6_asm_output_align, iris6_section_align_1): New.
12372 (iris6_asm_file_start, iris6_asm_file_end): New.
12373 * config/mips/mips-protos.h: Update decls.
12374
12375 2001-08-17 Janis Johnson <janis187@us.ibm.com>
12376
12377 * doc/install.texi (Install GCC): Add links to build status pages.
12378 (Specific): Ditto.
12379 (Final install): Ditto; request updates for specific info
12380
12381 2001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
12382
12383 * cpperror.c (print_location): Don't take a file name; use the
12384 line map instead.
12385 (_cpp_begin_message): Similarly.
12386 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
12387 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
12388 (cpp_pedwarn_with_file_and_line): Remove.
12389 * cppfiles.c (stack_include_file): Update; set filename to stdin
12390 here when appropriate.
12391 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
12392 (_cpp_begin_message): Don't take a file name.
12393 * cppinit.c: Add comment.
12394 * cpplex.c: Fix end-of-directive indicator.
12395 * cpplib.c: Don't include intl.h.
12396 (run_directive, do_diagnostic): Update.
12397 (do_line): Update to not use nominal_fname.
12398 (cpp_push_buffer): Don't take a filename.
12399 * cpplib.h (struct ht): Remove.
12400 (cpp_push_buffer): Don't take a filename.
12401 (cpp_pedwarn_with_file_and_line): Remove.
12402 * cppmacro.c (struct cpp_macro): Remove file.
12403 (builtin_macro): Update.
12404 (_cpp_create_definition): Update.
12405 * cppmain.c: Correct comment.
12406 * fix-header.c (read_scan_file): Update.
12407
12408 2001-08-17 Kazu Hirata <kazu@hxi.com>
12409
12410 * sbitmap.c: Fix comment formatting.
12411 * sched-deps.c: Likewise.
12412 * sibcall.c: Likewise.
12413 * simplify-rtx.c: Likewise.
12414 * ssa.c: Likewise.
12415 * ssa-ccp.c: Likewise.
12416 * stor-layout.c: Likewise.
12417 * timevar.c: Likewise.
12418 * toplev.c: Likewise.
12419 * unwind-dw2.c: Likewise.
12420 * unwind-dw2-fde.c: Likewise.
12421 * varasm.c: Likewise.
12422
12423 2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
12424
12425 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
12426 or larger than an integer in memory.
12427
12428 2001-08-17 Zack Weinberg <zackw@panix.com>
12429
12430 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
12431 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
12432 * rtl.h: Don't forward-declare union tree_node here. Don't
12433 typedef rtx or rtvec here. Change all uses of struct rtx_def *,
12434 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12435 and tree respectively.
12436 * tree.h: Don't forward-declare struct rtx_def here. Don't
12437 typedef tree here. Change all uses of struct rtx_def *,
12438 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12439 and tree respectively.
12440
12441 2001-08-17 Richard Henderson <rth@redhat.com>
12442
12443 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
12444 config/mips/openbsd.h: Fix typos last change.
12445
12446 2001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12447
12448 * doc/invoke.texi (Optimize Options): The default for
12449 -finline-limit is 600.
12450
12451 2001-08-17 Richard Henderson <rth@redhat.com>
12452
12453 * varasm.c (text_section): Allow TEXT_SECTION to override the
12454 printing of TEXT_SECTION_ASM_OP.
12455 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
12456 (DATA_SECTION, BSS_SECTION): Remove.
12457 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
12458 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
12459 Rename from s/_NAME//.
12460 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
12461 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
12462 (TEXT_SECTION): ... here. New.
12463 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
12464 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
12465 * config/mips/openbsd.h: Likewise.
12466 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
12467 (mips_asm_file_end): Likewise test.
12468 (mips_output_function_epilogue): Likewise. Switch back to data
12469 section after emitting the function.
12470
12471 * doc/tm.texi (Sections): Document TEXT_SECTION.
12472
12473 2001-08-17 Richard Henderson <rth@redhat.com>
12474
12475 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
12476 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
12477
12478 2001-08-17 Richard Henderson <rth@redhat.com>
12479
12480 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
12481 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
12482 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
12483 Add aligned attribute.
12484
12485 2001-08-17 Andrew Haley <aph@cambridge.redhat.com>
12486
12487 * config/sh/sh.md: Add modes to unspecs in first insn to match
12488 those in the second.
12489
12490 * Makefile.in: Fix collect2 copy for Cygwin.
12491
12492 Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
12493
12494 Install the proper patch.
12495 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12496 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12497 (expand_function_start): Likewise.
12498 * stmt.c (expand_decl): Likewise.
12499 * varasm.c (make_decl_rtx): Likewise.
12500
12501 Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
12502
12503 * final.c: Undo my previous accidental checkin.
12504 * output.h: Likewise.
12505 * tm.texi: Likewise.
12506
12507 2001-08-16 Richard Henderson <rth@redhat.com>
12508
12509 * varasm.c (named_section_flags): Remove align parameter.
12510 * varasm.c, dwarf2out.c: Update all callers.
12511 * output.h: Update prototypes.
12512
12513 * target.h (target.asm_out.named_section): Remove align parameter.
12514 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
12515 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
12516 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
12517 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
12518 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
12519
12520 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
12521 (get_named_section_flags, set_named_section_flags): New.
12522 (named_section_flags): Use them.
12523 (named_section): Do decl vs section flags check here...
12524 (default_section_type_flags): ... not here.
12525 (init_varasm_once): Create in_named_htab.
12526 (resolve_unique_section): Mark reloc unused.
12527
12528 2001-08-16 Richard Henderson <rth@redhat.com>
12529
12530 * varasm.c (force_const_mem): Keep pool alignment in bits.
12531 (output_constant_pool): Use assemble_align.
12532
12533 2001-08-16 Zack Weinberg <zackw@panix.com>
12534
12535 * doc/tm.texi: Remove extra @table command.
12536
12537 2001-08-16 Zack Weinberg <zackw@panix.com>
12538
12539 * final.c (shorten_branches): Clear the end of the label_align
12540 array only if we made it larger. Break up messy expressions
12541 for clarity.
12542
12543 * diagnostic.c (internal_error): Check for error recursion
12544 before doing ICE suppression.
12545
12546 * timevar.c: Timing variables now count in milliseconds.
12547 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
12548 (get_time): Not here.
12549 (timevar_print): Don't print any timer whose user, cpu, and
12550 wall times are all zero as displayed.
12551 * timevar.h: Update comment aboout units. Make timevar
12552 counters unsigned.
12553
12554 Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
12555
12556 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12557 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12558 (expand_function_start): Likewise.
12559 * stmt.c (expand_decl): Likewise.
12560 * varasm.c (make_decl_rtx): Likewise.
12561
12562 2001-08-16 Jason Merrill <jason_merrill@redhat.com>
12563
12564 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
12565 (finalize_record_size): Don't set TYPE_USER_ALIGN.
12566
12567 2001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12568
12569 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
12570 variables.
12571
12572 2001-08-16 Andreas Jaeger <aj@suse.de>
12573
12574 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
12575 prototype.
12576
12577 Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
12578
12579 * rtl.h (only_sets_cc0_p): New prototype.
12580 * jump.c (sets_cc0_p): Handle INSN.
12581 (only_sets_cc0_p): New function.
12582 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
12583 (tidy_fallthru_edge): Likewise.
12584 * integrate.c (copy_insn_list): Likewise.
12585 * unroll.c (unroll_loop): Likewise.
12586 (copy_loop_body): Likewise.
12587
12588 2001-08-15 Jason Eckhardt <jle@redhat.com>
12589
12590 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
12591
12592 Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
12593
12594 * predict.c (struct block_info_def): Remove nvisited.
12595 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12596 (estimate_bb_frequencies): Call mark_dfs_back_edges.
12597
12598 * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
12599 (ix86_adjust_cost): Teach scheduler that latency to load operand can
12600 be masked.
12601
12602 Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
12603
12604 * predict.def: Update hitrates.
12605
12606 2001-08-15 Richard Henderson <rth@redhat.com>
12607
12608 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
12609
12610 Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
12611
12612 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
12613 note from its associated jump.
12614
12615 2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
12616
12617 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
12618 also on 64-bit s390x targets.
12619
12620 2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
12621
12622 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
12623 function.
12624 (arm_expand_prologue): Handled nested functions which take a
12625 variable argument list.
12626 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
12627 macro with an invocation of
12628 arm_compute_initial_elimination_offset.
12629 * config/arm/arm-protos.h: Prototype
12630 arm_compute_initial_elimination_offset.
12631
12632 2001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12633
12634 * doc/install.texi (Specific, avr): Fix markup.
12635 (Specific, c4x): Ditto.
12636
12637 2001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12638
12639 * predict.c (dump_prediction): Change `bool' parameter to `int'.
12640
12641 2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
12642
12643 * Makefile.in (OBJS): Add rtl-error.o
12644 (rtl-error.o): New rule.
12645 (diagnostic.o): Adjust dependency.
12646 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
12647 error_for_asm, _fatal_insn, _fatal_insn_not_found,
12648 warning_for_asm): Move to...
12649 rtl-error.c: ...here. New file.
12650
12651 2001-08-14 Richard Henderson <rth@redhat.com>
12652
12653 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
12654 if USING_SJLJ_EXCEPTIONS.
12655
12656 2001-08-14 Steve Ellcey <sje@cup.hp.com>
12657
12658 * tlink.c (scan_linker_output): Check string for unsatisfied in
12659 addition to undefined and unresolved.
12660
12661 2001-08-14 Graham Stott <grahams@redhat.com>
12662
12663 * libgcc2.c (*): Replace EH_FRAME_SECTION with
12664 EH_FRAME_SECTION_NAME.
12665
12666 Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
12667
12668 * genattrtab.c (simplify_test_exp_in_temp): New function.
12669 (simplify_test_exp): Avoid explicit use of temporary obstack.
12670 (simplify_cond, insert_right_side, evaluate_eq_attr,
12671 simplify_and_tree, simplify_or_tree, eliminate_known_true):
12672 Use simplify_test_exp_in_temp.
12673 (optimize_attrs): Iterate until expression stabilizes.
12674
12675 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
12676
12677 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
12678 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
12679
12680 2001-08-13 Richard Henderson <rth@redhat.com>
12681
12682 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
12683 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
12684 * config/arm/conix-elf.h: Likewise.
12685
12686 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
12687
12688 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
12689 in gcc.c.
12690 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12691
12692 * gcse.c (hash_scan_set): Expressions that are set as part of
12693 jump instructions are not available.
12694
12695 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
12696
12697 * config/s390/s390.c (print_operand, s390_function_prologue,
12698 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
12699
12700 2001-08-13 Richard Henderson <rth@redhat.com>
12701
12702 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
12703 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
12704 * doc/tm.texi (Exception Region Output): Document it.
12705
12706 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
12707
12708 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
12709 DWARF2 instead of stabs by default.
12710
12711 2001-08-13 David Edelsohn <edelsohn@gnu.org>
12712
12713 * config/rs6000/rs6000.c: Include optabs.h.
12714
12715 2001-08-13 David Edelsohn <edelsohn@gnu.org>
12716
12717 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
12718 save/restore routines.
12719 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
12720
12721 2001-08-13 Andreas Jaeger <aj@suse.de>
12722
12723 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
12724 the english is correct.
12725
12726 2001-08-13 Zack Weinberg <zackw@panix.com>
12727
12728 * expr.h: Split out optab- and libfunc-related code to...
12729 * optabs.h, libfuncs.h: ... these new headers.
12730
12731 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
12732 (OPTABS_H): New.
12733 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
12734 dependencies.
12735 * mkconfig.sh: Don't include insn-codes.h from config.h.
12736
12737 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
12738 enum insn_code is available. Move reload_in_optab and
12739 reload_out_optab array declarations to optabs.h.
12740 * regmove.c (gen_add3_insn): Move to optabs.c, export from
12741 there, prototype in expr.h.
12742 * gencodes.c: Cleanup: zap global variables, don't use
12743 printf where puts will do, don't bother defining MAX_INSN_CODE
12744 which nothing uses, let CODE_FOR_nothing get its value implicitly.
12745
12746 * genemit.c, genopinit.c: Include optabs.h in generated file.
12747 * genoutput.c: Include insn-codes.h in generated file.
12748 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
12749 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
12750 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
12751 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
12752 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
12753 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
12754 Include optabs.h.
12755 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
12756 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
12757 config/m88k/m88k.c, config/sparc/sparc.c:
12758 Include libfuncs.h.
12759 * reload.c: Include expr.h and optabs.h before reload.h.
12760 * config/alpha/alpha.c: Include tree.h before reload.h.
12761 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
12762 and reload.h in that order.
12763 * config/sparc/sparc.c: Include debug.h.
12764 * recog.c: Include insn-codes.h.
12765
12766 2001-08-13 Andreas Jaeger <aj@suse.de>
12767
12768 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
12769 s390*linux.
12770
12771 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
12772
12773 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
12774 * gcc.c (init_spec): Fix typo in comment.
12775 * varasm.c (data_section): Fix typo in comment.
12776
12777 Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
12778
12779 * predict.c (dump_prediction): New argument "USED".
12780 (combine_predictions_for_insn): Determine the used heuristics,
12781 output the case no heuristic applied.
12782 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
12783
12784 2001-08-13 Andreas Jaeger <aj@suse.de>
12785
12786 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
12787 register %rip.
12788
12789 2001-08-13 Kazu Hirata <kazu@hxi.com>
12790
12791 * jump.c: Fix formatting.
12792
12793 2001-08-13 Kazu Hirata <kazu@hxi.com>
12794
12795 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
12796 length.
12797
12798 2001-08-12 Geoffrey Keating <geoffk@redhat.com>
12799
12800 * loop.c (check_dbra_loop): Use condjump_label to compute
12801 jump_label.
12802
12803 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
12804 to better document the files they're in.
12805
12806 2001-08-12 Zack Weinberg <zackw@panix.com>
12807
12808 * recog.h (struct insn_operand_data): Shrink 'mode' field
12809 to 16 bits.
12810
12811 2001-08-12 Kazu Hirata <kazu@hxi.com>
12812
12813 * gcc.c: Fix comment formatting.
12814 * gccspec.c: Likewise.
12815 * gcov.c: Likewise.
12816 * gcse.c: Likewise.
12817 * genemit.c: Likewise.
12818 * gengenrtl.c: Likewise.
12819 * genrecog.c: Likewise.
12820 * gensupport.c: Likewise.
12821 * ggc-page.c: Likewise.
12822 * global.c: Likewise.
12823 * graph.c: Likewise.
12824 * ifcvt.c: Likewise.
12825 * integrate.c: Likewise.
12826 * lcm.c: Likewise.
12827 * libgcc2.c: Likewise.
12828 * loop.c: Likewise.
12829 * mbchar.c: Likewise.
12830 * optabs.c: Likewise.
12831 * predict.c: Likewise.
12832 * prefix.c: Likewise.
12833 * profile.c: Likewise.
12834 * protoize.c: Likewise.
12835 * real.c: Likewise.
12836 * recog.c: Likewise.
12837 * regclass.c: Likewise.
12838 * regmove.c: Likewise.
12839 * reg-stack.c: Likewise.
12840 * reload1.c: Likewise.
12841 * resource.c: Likewise.
12842 * rtlanal.c: Likewise.
12843 * rtl.c: Likewise.
12844
12845 2001-08-12 Kazu Hirata <kazu@hxi.com>
12846
12847 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
12848 a tree representing a constant is passed to the macro.
12849
12850 2001-08-12 Richard Henderson <rth@redhat.com>
12851
12852 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
12853 (rs6000_elf_asm_out_destructor): New.
12854 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
12855 (DTORS_SECTION_ASM_OP): Remove.
12856 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12857 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
12858
12859 2001-08-12 David Edelsohn <edelsohn@gnu.org>
12860
12861 Revert:
12862 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12863 * gcc.c (set_collect_gcc_options): New function, split out from
12864 main.
12865 Ignore elided switches.
12866 (do_spec_1): Invoke before executing command.
12867 (set_input): Export.
12868 Move declaration ...
12869 * gcc.h (set_input): ... here.
12870 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
12871 file.
12872
12873 2001-08-12 Richard Henderson <rth@redhat.com>
12874
12875 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
12876 thinko wrt TARGET_RELOCATABLE.
12877
12878 2001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
12879
12880 * fix-header.c (cb_file_change): Update prototype.
12881
12882 2001-08-11 Zack Weinberg <zackw@panix.com>
12883
12884 * toplev.c (set_float_handler): Make static.
12885 * toplev.h: Don't prototype set_float_handler.
12886
12887 * simplify-rtx.c: Don't include setjmp.h.
12888 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
12889 New functions.
12890 (simplify_unary_operation, simplify_binary_operation): Use them,
12891 via do_float_handler.
12892
12893 * fold-const.c: Don't include setjmp.h.
12894 (exact_real_inverse_1): New function.
12895 (exact_real_inverse): Use it, via do_float_handler.
12896
12897 * varasm.c: Don't include setjmp.h.
12898 (assemble_real_1): New function.
12899 (assemble_real): Use it, via do_float_handler.
12900 Call internal_error if we get a trap here.
12901
12902 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
12903 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
12904
12905 2001-08-11 Zack Weinberg <zackw@panix.com>
12906
12907 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
12908 STACK_BOUNDARY if not already defined.
12909
12910 * calls.c, function.c, reload1.c, explow.c: Don't default
12911 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
12912 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
12913
12914 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
12915 to run-time test.
12916
12917 * doc/tm.texi: Document that STACK_BOUNDARY is required;
12918 clarify difference between it and PREFERRED_STACK_BOUNDARY.
12919
12920 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
12921
12922 * cppmacro.c (enter_macro_context): Push macro expansions even
12923 if empty.
12924
12925 2001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12926
12927 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
12928 (rs6000_elf_section_type_flags): Actually return a value.
12929
12930 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
12931
12932 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
12933 Clean up code: add missing comments and prototypes, fix warnings,
12934 remove obsolete code, fix spacing to conform to coding style.
12935
12936 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
12937
12938 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
12939 and TARGET_ASM_CLOSE_PAREN.
12940 (regclass_map): CC register belongs to class NO_REGS.
12941 (legitimize_pic_address): Don't generate unnecessary moves
12942 (to avoid confusing loop optimization).
12943 (check_and_change_labels): Replace jump_long by indirect_jump.
12944 (s390_final_chunkify): Don't start a new literal pool on section
12945 switch in 64-bit code.
12946 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
12947
12948 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
12949 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
12950 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
12951 modes correctly.
12952 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
12953 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
12954 (CONST_COSTS): Fixed incorrect costs.
12955
12956 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
12957 Use emit_jump instead of emit_jump_insn (gen_jump).
12958 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
12959 (to avoid confusing flow analysis).
12960 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
12961 (casesi, casesi_jump): New.
12962 (jump_long): Removed. Functionality merged into indirect_jump.
12963 (indirect_jump): Accept address_operand, not just register_operand.
12964 (cjump_long, icjump_long): Use same logic as indirect_jump.
12965 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
12966 Fixed broken setjmp/longjmp handling.
12967 (do_builtin_setjmp_setup): Removed.
12968
12969 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
12970 broken GNU as versions that don't accept .quad with large
12971 negative values. Use hexadecimal output instead.
12972 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
12973 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
12974 FUNCTION_EPILOGUE): Removed. Now in targetm.
12975
12976 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
12977
12978 * config/s390/fixdfdi.h: Add missing copyright statement.
12979 Fix type conflicts on 64-bit. Add missing SFmode routines.
12980
12981 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
12982 email address.
12983
12984 2001-08-11 Richard Henderson <rth@redhat.com>
12985
12986 * rtl.h (REG_EH_RETHROW): Remove.
12987 * rtl.c (reg_note_name): Update.
12988 * combine.c (distribute_notes): Don't check for it.
12989
12990 2001-08-11 Richard Henderson <rth@redhat.com>
12991
12992 * combine.c (distribute_notes): Place REG_SETJMP.
12993
12994 2001-08-11 Richard Henderson <rth@redhat.com>
12995
12996 * doc/extend.texi (Arrays and pointers implementation): Discourage
12997 relying on sign-extension of pointers.
12998
12999 2001-08-11 H.J. Lu <hjl@gnu.org>
13000
13001 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13002 in_dtors.
13003 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13004 RDATA_SECTION_ASM_OP.
13005
13006 2001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13007
13008 * doc/install.texi (Specific, c4x): Fix cross-reference to the
13009 main manual to work both for info and HTML versions.
13010
13011 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
13012 Matt Kraai <kraai@alumni.carnegiemellon.edu>
13013
13014 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13015 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13016 (struct cpp_pool): New member first.
13017 * cppinit.c (append_include_chain): Plug memory leaks.
13018 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13019 Allocate pragma structures from the (aligned) macro pool to
13020 avoid leaking memory.
13021 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13022 so we don't leak memory.
13023 * hashtable.c (ht_destroy): New.
13024 * hashtable.h (ht_destroy): New.
13025
13026 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
13027 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13028
13029 * c-lex.c (map): Make const.
13030 (cb_file_change): Update for callback passing a line map.
13031 Don't assume we have a previous map. Remove sanity check
13032 about popping too many files.
13033 * cpperror.c (print_location): Make map const.
13034 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13035 (cpp_make_system_header): Similarly.
13036 (search_from): Similarly.
13037 (_cpp_execute_include): Don't remember where we came from.
13038 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13039 (struct cpp_reader): Make map const.
13040 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13041 * cpplib.c (do_line): Update; line maps now hold sysp.
13042 (cpp_push_buffer): Similarly.
13043 (_cpp_do_file_change): Similarly; callback with map instead.
13044 (cpp_get_line_maps): Constify return value.
13045 (_cpp_pop_buffer): Update.
13046 * cpplib.h (struct cpp_file_change): Remove.
13047 (struct cpp_callbacks): Update.
13048 (cpp_get_line_maps): Constify return value.
13049 * cppmacro.c (_cpp_create_definition): Update.
13050 * cppmain.c (struct printer): Constify map.
13051 (maybe_print_line): Similarly.
13052 (print_line): Similarly. Deduce flags 1 and 2 here.
13053 (cb_file_change): Update.
13054 * line-map.c (free_line_maps): Warn regardless.
13055 (add_line_map): Return pointer to const. When passed NULL to_file
13056 with LC_LEAVE, use the obvious values for the return point so the
13057 caller doesn't have to figure them out.
13058 (lookup_line): Return pointer to const.
13059 (print_containing_files): Take pointer to const.
13060 * line-map.h (struct line_map): New members reason, sysp.
13061 (add_line_map): Return pointer to const.
13062 (lookup_line): Similarly.
13063 (print_containing_files): Take pointer to const.
13064
13065 2001-08-10 Roman Zippel <zippel@linux-m68k.org>
13066 Richard Henderson <rth@redhat.com>
13067
13068 * regmove.c (regmove_optimize): Avoid setting a register twice in
13069 a parallel set.
13070
13071 2001-08-10 Richard Henderson <rth@redhat.com>
13072
13073 * doc/extend.texi (Arrays and pointers implementation): Document
13074 behavior of pointer/integer conversion.
13075
13076 2001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
13077
13078 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13079
13080 2001-08-10 Richard Henderson <rth@redhat.com>
13081
13082 * doc/extend.texi (C Implementation): New chapter.
13083 * doc/gcc.texi (Top): Link it in.
13084
13085 2001-08-10 Andrew Cagney <ac131313@redhat.com>
13086
13087 * doc/install.texi (Specific): Fix CVS merge botch.
13088
13089 2001-08-10 Richard Henderson <rth@redhat.com>
13090
13091 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
13092 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
13093
13094 2001-08-10 Zack Weinberg <zackw@stanford.edu>
13095
13096 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
13097 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
13098 this macro is now required.
13099
13100 * cselib.c (cselib_process_insn), flow.c (propagate_block),
13101 loop.c (find_and_verify_loops), reload.c (reload): Check
13102 for rtx code of CALL_INSN, not CALL, when deciding if we
13103 need to check for REG_SETJMP note.
13104
13105 * gcse.c (compute_hash_table, compute_store_table): Update
13106 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
13107 logic.
13108
13109 * config/avr/avr.c: Fix typo.
13110 * config/convex/convex.c (expand_movstr): Use adjust_address.
13111 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
13112 variable.
13113 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
13114 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
13115 Fix typo.
13116 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
13117 Do define STACK_BOUNDARY.
13118 * config/i370/i370.c: Include expr.h.
13119 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
13120 config/pa/som.h, config/v850/v850.h: Take in_ctors and
13121 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
13122 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
13123 * config/m88k/m88k.c: Include c-tree.h after expr.h.
13124 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
13125 * config/romp/romp.c: Include expr.h after tree.h.
13126 Include toplev.h.
13127 (output_fpop): Use xmalloc, not oballoc.
13128 * config/we32k/we32k.c: Include expr.h.
13129
13130 2001-08-10 Kazu Hirata <kazu@hxi.com>
13131
13132 * config/h8300/h8300.h: Fix formatting.
13133
13134 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
13135
13136 * c-common.h (RETURN_NULLIFIED_P): Lose.
13137 * c-semantics.c (genrtl_return_stmt): Don't check it.
13138
13139 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
13140
13141 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
13142 (mips_annotate_frame_insn): New function.
13143 (mips_emit_frame_related_store): New function.
13144 (save_restore_insns): Don't mark instructions that set up the base
13145 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
13146 the store instructions instead.
13147 (mips_expand_prologue): If the stack size is moved into a temporary
13148 register, do not mark that move as frame-related. Add a
13149 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
13150
13151 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
13152
13153 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
13154 stack slot as unchanging if current_function_calls_eh_return.
13155
13156 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
13157
13158 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
13159 access the second half of the TFmode scratch operand.
13160
13161 2001-08-10 Anthony Green <green@redhat.com>
13162
13163 * java/class.c (emit_register_classes): Conditionalize code on
13164 JCR_SECTION_NAME.
13165
13166 2001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13167
13168 * doc/install.texi (Specific, avr): Fix cross-reference to the
13169 main manual to work both for info and HTML versions.
13170
13171 2001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13172
13173 * stmt.c (expand_null_return_1): Remove code to generate simple returns
13174 and "use_goto" argument.
13175 (expand_null_return, expand_value_return): Update all callers.
13176 * function.c (expand_function_end): Remove code to generate simple
13177 return.
13178 * config/vax/vax.md (epilogue): New expander for function return.
13179 * doc/md.texi (epilogue): Remove "if defined".
13180
13181 2001-08-09 Zack Weinberg <zackw@stanford.edu>
13182
13183 * Makefile.in: Partially revert my previous change:
13184 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
13185 of the hashtab.o and safe-ctype.o rules.
13186
13187 2001-08-09 Richard Henderson <rth@redhat.com>
13188
13189 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
13190 (USE_COLLECT2): Remove duplicate definition.
13191 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
13192 (use_collect2): Remove dead code.
13193 * configure.in (use_collect2): Remove will_use_collect2 and
13194 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
13195 * configure: Rebuild.
13196
13197 * target.h (targetm.asm_out.constructor): New.
13198 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
13199 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
13200 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
13201 * varasm.c (in_ctors, in_dtors): New.
13202 (assemble_constructor, assemble_destructor): Remove.
13203 (default_stabs_asm_out_destructor): New.
13204 (default_named_section_asm_out_destructor): New.
13205 (dtors_section, default_dtor_section_asm_out_destructor): New.
13206 (default_stabs_asm_out_constructor): New.
13207 (default_named_section_asm_out_constructor): New.
13208 (ctors_section, default_ctor_section_asm_out_constructor): New.
13209 * output.h: Update declarations.
13210 * c-decl.c (c_expand_body): Use target hooks instead of
13211 assemble_constructor and assemble_destructor.
13212 * profile.c (output_func_start_profiler): Likewise.
13213 * objc/objc-act.c (finish_objc): Likewise.
13214 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
13215 for the constructor.
13216 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
13217
13218 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
13219 (DTORS_SECTION_ASM_OP): Likewise.
13220 (__CTOR_LIST__): Use attribute section when possible.
13221 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
13222
13223 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
13224 ASM_OUTPUT_CONSTRUCTOR.
13225
13226 * config/darwin.c (machopic_asm_out_constructor): New.
13227 (machopic_asm_out_destructor): New.
13228 * config/darwin-protos.h: Update declarations.
13229 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13230 (ASM_OUTPUT_DESTRUCTOR): Remove.
13231 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13232 * config/nextstep.c (nextstep_asm_out_constructor): New.
13233 (nextstep_asm_out_destructor): New.
13234 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13235 (ASM_OUTPUT_DESTRUCTOR): Remove.
13236 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13237 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
13238 ASM_OUTPUT_*STRUCTOR.
13239 * config/i386/aix386ng.h: Likewise.
13240
13241 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
13242 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
13243 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13244 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13245 * config/lynx.h: Likewise.
13246 * config/netware.h: Likewise.
13247 * config/psos.h: Likewise.
13248 * config/alpha/alpha-interix.h: Likewise.
13249 * config/alpha/elf.h: Likewise.
13250 * config/arc/arc.h: Likewise.
13251 * config/arm/aof.h: Likewise.
13252 * config/arm/coff.h: Likewise.
13253 * config/arm/elf.h: Likewise.
13254 * config/c4x/c4x.h: Likewise.
13255 * config/h8300/h8300.h: Likewise.
13256 * config/i386/cygwin.h: Likewise.
13257 * config/i386/djgpp.h: Likewise.
13258 * config/i386/i386-coff.h: Likewise.
13259 * config/i386/i386-interix.h: Likewise.
13260 * config/i386/sco5.h: Likewise.
13261 * config/i386/vsta.h: Likewise.
13262 * config/i386/win32.h: Likewise.
13263 * config/i960/i960-coff.h: Likewise.
13264 * config/ia64/sysv4.h: Likewise.
13265 * config/m68hc11/m68hc11.h: Likewise.
13266 * config/m68k/coff.h: Likewise.
13267 * config/m68k/mot3300.h: Likewise.
13268 * config/m88k/m88k.h: Likewise.
13269 * config/mcore/mcore-pe.h: Likewise.
13270 * config/mcore/mcore.h: Likewise.
13271 * config/mips/elf.h: Likewise.
13272 * config/mips/elf64.h: Likewise.
13273 * config/mips/iris6.h: Likewise.
13274 * config/pa/pa64-hpux.h: Likewise.
13275 * config/rs6000/sysv4.h: Likewise.
13276 * config/sh/sh.h: Likewise.
13277 * config/sparc/litecoff.h: Likewise.
13278
13279 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
13280 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13281 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13282 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13283 (ASM_OUTPUT_DESTRUCTOR): Remove.
13284 * config/a29k/a29k.c: Move include of tree.h.
13285 * config/a29k/udi.h: Delete file.
13286 * config/alpha/alpha.c (vms_asm_out_constructor): New.
13287 (vms_asm_out_destructor): New.
13288 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
13289 (EXTRA_SECTION_FUNCTIONS): Likewise.
13290 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13291 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13292 * config/c4x/c4x.c: Move include of tree.h.
13293 * config/clipper/clipper.c (clix_asm_out_constructor): New.
13294 (clix_asm_out_destructor): New.
13295 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13296 (ASM_OUTPUT_DESTRUCTOR): Remove.
13297 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13298 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13299 (TARGET_ASM_CONSTRUCTOR): New.
13300 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
13301 (sco_asm_out_constructor): New.
13302 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
13303 * config/i386/svr3gas.h: Remove stack grows up code.
13304 Remove code duplicated from i386/sysv3.h.
13305 (TARGET_ASM_CONSTRUCTOR): New.
13306 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13307 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
13308 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13309 (TARGET_ASM_CONSTRUCTOR): New.
13310 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
13311 (m68hc11_asm_out_destructor): New.
13312 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
13313 (TARGET_ASM_DESTRUCTOR): New.
13314 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
13315 * config/m68k/dpx2.h: Properly undef all the bits inherited from
13316 config/svr3.h pertaining to section manipulation.
13317 * config/m68k/dpx2g.h: Remove #if 0 code.
13318 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
13319 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
13320 (ASM_OUTPUT_CONSTRUCTOR): Remove.
13321 (TARGET_ASM_CONSTRUCTOR): New.
13322 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
13323 (m88k_svr3_asm_out_constructor): New.
13324 (m88k_svr3_asm_out_destructor): New.
13325 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13326 (ASM_OUTPUT_DESTRUCTOR): Remove.
13327 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13328 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
13329 * config/rs6000/aix.h: Likewise.
13330 * config/mips/rtems64.h: Don't undef removed constructor related bits.
13331 * config/mips/vxworks.h: Likewise.
13332 * config/rs6000/lynx.h: Likewise.
13333 * config/sh/elf.h: Likewise.
13334 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
13335 (DTORS_SECTION_ASM_OP): New.
13336 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13337 (ASM_OUTPUT_DESTRUCTOR): Remove.
13338 * config/sparc/sol2-sld-64.h: Likewise.
13339 * config/vax/vax.c (vms_asm_out_constructor): New.
13340 (vms_asm_out_destructor): New.
13341 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13342 (ASM_OUTPUT_DESTRUCTOR): Remove.
13343 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13344
13345 * doc/tm.texi (@node Initialization): Update.
13346
13347 2001-08-09 Richard Henderson <rth@redhat.com>
13348
13349 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
13350 (__do_global_dtors_aux): Use gp-relative static data to avoid
13351 one dynamic relocation.
13352 (__do_frame_setup): Register Java classes.
13353 * config/alpha/crtend.asm (__JCR_END__): New.
13354
13355 2001-08-09 Zack Weinberg <zackw@stanford.edu>
13356
13357 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
13358 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
13359 (GEN, STAGESTUFF): Add new files.
13360 (insn-constants.h, s-constants, tm-preds.h, s-preds,
13361 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
13362 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
13363 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
13364 as well as insn-codes.h and insn-flags.h in config.h; and no
13365 extra headers in tconfig.h and hconfig.h.
13366
13367 * gencodes.c: Eliminate code to generate predicate declarations
13368 or #defines for md-file constants.
13369 * genconstants.c, genpreds.c: New files.
13370
13371 * i386.md: Re-order guard expressions such that TARGET_64BIT
13372 comes first, when this permits better optimization. Add
13373 TARGET_64BIT to more x86-64 patterns. Add comment explaining
13374 why this is desirable.
13375
13376 2001-08-09 Jakub Jelinek <jakub@redhat.com>
13377
13378 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
13379 (find_fde_for_dso): Remove.
13380 (_Unwind_IteratePhdrCallback): New.
13381 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
13382 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
13383
13384 Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13385
13386 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
13387 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
13388
13389 2001-08-09 Graham Stott <grahams@redhat.com>
13390
13391 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
13392 (vis_no_unit): Use it.
13393 (visualize_no_unit): Add the insn only if room exists.
13394
13395 2001-08-09 Graham Stott <grahams@redhat.com>
13396
13397 * predict.c (estimate_probability): Replace magic numbers with
13398 appropriate enumeration.
13399
13400 2001-08-09 Graham Stott <grahams@redhat.com>
13401
13402 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
13403 parameter.
13404 (EXTRACT_FLAGS): Likewise.
13405
13406 2001-08-09 Aldy Hernandez <aldyh@redhat.com>
13407
13408 * config/mips/mips.c (mips_legitimate_address_p): Check for
13409 CONST_INT in last patch.
13410
13411 2001-08-08 Anthony Green <green@redhat.com>
13412
13413 * java/class.c (emit_register_classes): Use assemble_jcr if
13414 possible. Keep the original mechanism as a fallback.
13415 * defaults.h (JCR_SECTION_NAME): Define if we have named section
13416 and weak symbol support.
13417 * crtstuff.c (__JCR_LIST__): Define.
13418 (__JCR_END__): Define.
13419 (_Jv_RegiserClasses): Define weak symbol if possible.
13420 (__do_global_ctors_aux): Register classes for ELF targets with
13421 weak symbol support.
13422
13423 2001-08-08 Kazu Hirata <kazu@hxi.com>
13424
13425 * dbxout.c: Fix comment formatting.
13426 * dependence.c: Likewise.
13427 * df.c: Likewise.
13428 * diagnostic.c: Likewise.
13429 * dominance.c: Likewise.
13430 * doprint.c: Likewise.
13431 * dwarf2out.c: Likewise.
13432 * dwarfout.c: Likewise.
13433 * emit-rtl.c: Likewise.
13434 * except.c: Likewise.
13435 * explow.c: Likewise.
13436 * expmed.c: Likewise.
13437 * expr.c: Likewise.
13438 * flow.c: Likewise.
13439 * fold-const.c: Likewise.
13440 * function.c: Likewise.
13441
13442 2001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13443
13444 * global.c (retry_global_alloc): Avoid shadowing allocno.
13445
13446 2001-08-08 Mark Mitchell <mark@codesourcery.com>
13447
13448 * except.c (remove_fixup_regions): Fix typo.
13449
13450 2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
13451
13452 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
13453 unsigned HOST_WIDE_INT to avoid warning.
13454 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
13455 * flow.c (set_block_for_new_insns): Likewise.
13456
13457 Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
13458
13459 * sibcall.c (return_value_pseudo): New static variable.
13460 (skip_copy_to_return_value): Handle return_value_pseudo.
13461 (call_ends_block_p): Ensure that return_value_pseudo is set.
13462 (optimize_sibling_and_tail_recursive_call): Discover the
13463 load of pseudo return value in alternate exit block.
13464
13465 Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
13466
13467 * calls.c (ECF_ALWAYS_RETURN): New constant.
13468 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
13469 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
13470 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
13471 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
13472 * rtl.c (reg_note_name): New name.
13473 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
13474
13475 2001-08-07 Aldy Hernandez <aldyh@redhat.com>
13476
13477 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
13478
13479 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
13480
13481 * alias.c (get_alias_set): Return a previously calculated
13482 alias set for a VAR_DECL.
13483 * function.c (gen_mem_addressof): Calculate the alias set before
13484 touching the RTL.
13485
13486 Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
13487
13488 * predict.def: Set hitrates according our experimental run.
13489
13490 Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
13491
13492 * i386.h (HARD_REGNO_RENAME_OK): New macro.
13493
13494 2001-08-08 H.J. Lu <hjl@gnu.org>
13495
13496 * config/mips/mips.c (mips_unique_section): New. Copied from
13497 config/mips/elf.h.
13498
13499 * config/mips/mips-protos.h (mips_unique_section): New
13500 prototype.
13501
13502 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
13503
13504 * config/mips/little.h: New. Generic little endian mips
13505 targets. Only mips*-*-linux* is converted to use it so far.
13506
13507 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
13508 (WCHAR_TYPE): Defined
13509 (WCHAR_TYPE_SIZE): Likewise.
13510 (INIT_SUBTARGET_OPTABS): Likewise.
13511 (BSS_SECTION_ASM_OP): Likewise.
13512 (SBSS_SECTION_ASM_OP): Likewise.
13513 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13514 (ASM_DECLARE_OBJECT_NAME): Likewise.
13515 (UNIQUE_SECTION): Likewise.
13516 (EXTRA_SECTIONS): Likewise.
13517 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
13518 (ASM_OUTPUT_DESTRUCTOR): Likewise.
13519 (ASM_OUTPUT_DEF): Likewise.
13520 (HANDLE_SYSV_PRAGMA): Removed.
13521 (NO_IMPLICIT_EXTERN_C): Likewise.
13522 (TARGET_MEM_FUNCTIONS): Likewise.
13523 (STARTFILE_SPEC): Likewise.
13524 (ENDFILE_SPEC): Likewise.
13525 (LIB_SPEC): Likewise.
13526 (INVOKE__main): Likewise.
13527 (CTOR_LIST_BEGIN): Likewise.
13528 (CTOR_LIST_END): Likewise.
13529 (DTOR_LIST_BEGIN): Likewise.
13530 (DTOR_LIST_END): Likewise.
13531 (SET_ASM_OP): Likewise.
13532 (ASM_OUTPUT_SOURCE_LINE): Likewise.
13533 (ASM_OUTPUT_DEF): Likewise.
13534 (ASM_OUTPUT_IDENT): Likewise.
13535
13536 * config/mips/mips.h (ASM_SPEC): Undefine before define.
13537 (CPLUSPLUS_CPP_SPEC): Likewise.
13538 (ASM_APP_ON) Redefine only if not defined.
13539 (ASM_APP_OFF): Likewise.
13540 (ASM_OUTPUT_SOURCE_LINE): Likewise.
13541 (ASM_OUTPUT_IDENT): Likewise.
13542
13543 * config.gcc: Update tm_file for Linux/mips.
13544
13545 2001-08-08 Bernd Schmidt <bernds@redhat.com>
13546
13547 * cselib.c (cselib_record_sets): If insn is predicated, turn
13548 sources into IF_THEN_ELSEs.
13549
13550 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
13551 Turn into define_insn_and_split.
13552
13553 * sched-deps.c: Include "cselib.h".
13554 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
13555 Use cselib to turn memory addresses into VALUEs.
13556 (sched_analyze): Call cselib_init/cselib_finish if necessary.
13557 * sched-int.h (struct sched_info): New member USE_CSELIB.
13558 * sched-ebb.c (ebb_sched_info): Initialize it.
13559 * sched-rgn.c (rgn_sched_info): Likewise.
13560 * Makefile.in (sched-deps.o): Update dependencies.
13561
13562 * cselib.h (cselib_subst_to_values): Declare.
13563 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
13564 that have no value and autoincs to be handled by generating a new
13565 dummy value.
13566
13567 2001-08-08 Graham Stott <grahams@redhat.com>
13568
13569 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
13570 within fixed length SEQUENCE.
13571
13572 2001-08-08 Graham Stott <grahams@redhat.com>
13573
13574 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
13575 (diagnostic_prefixing_rule): Likewise.
13576 (diagnostic_line_cutoff): Likewise.
13577 (diagnostic_kind_count): Likewise.
13578
13579 2001-08-08 Graham Stott <grahams@redhat.com>
13580
13581 * alias.c (find_base_decl): Delete redundent assignment.
13582
13583 2001-08-08 Graham Stott <grahams@redhat.com>
13584
13585 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
13586 (abs): Uppercase and paranthesize macro parameter.
13587 (MEM_DEPENDENCY): Add whitespace.
13588
13589 2001-08-08 Graham Stott <grahams@redhat.com>
13590
13591 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
13592 failure check for CONST_INT
13593
13594 2001-08-08 Graham Stott <grahams@redhat.com>
13595
13596 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
13597 (libcall_dead_p): Likewise.
13598
13599 (mark_used_regs): Constify fmt.
13600 (find_use_as_address): Likewise.
13601
13602 2001-08-08 Graham Stott <grahams@redhat.com>
13603
13604 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
13605 parameter.
13606
13607 2001-08-08 Graham Stott <grahams@redhat.com>
13608
13609 * combine.c (combine_simplify_rtx): Update comment and
13610 remove erroneous test.
13611
13612 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
13613
13614 * cppinit.c (cpp_finish): Pop the final buffer without comment.
13615 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
13616 take care to avoid multiple no-newline at EOF warnings in that
13617 case.
13618
13619 Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
13620
13621 * calls.c (expand_call): Do not emit INSN_SETJMP note.
13622 (emit_library_call_value_1): Likewise.
13623 (emit_call_1): Emit REG_SETJMP note.
13624 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
13625 of INSN_SETJMP
13626 * cselib.c (cselib_process_insn): Likewise.
13627 * flow.c (propagate_block): Likewise.
13628 * loop.c (find_and_verify_loops): Likewise.
13629 * reload.c (find_equiv_regs): Likewise.
13630 * reload1.c (reload): Likewise.
13631 * resource.c (mark_referenced_resources,
13632 mark_set_resources): Likewise.
13633 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
13634 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
13635 * haifa-sched.c (unlink_other_notes): Likewise.
13636 (reemit_notes): Likewise.
13637 * sched-ebb.c (sched_ebb): Likewise.
13638 * sched-rgc.c (sched_region): Likewise.
13639 * rtl.c (note_insn_name): Likewise.
13640 (reg_note_name): Add REG_SETJMP
13641 * rtl.h (reg_note): Add REG_SETJMP.
13642 (insn_note): Remove NOTE_INSN_SETJMP.
13643
13644 * profile.c (branch_prob): Add fake edges for setjmp.
13645
13646 2001-08-07 Daniel Jacobowitz <drow@mvista.com>
13647
13648 * config.gcc: Quote target_cpu_default2 correctly for
13649 powerpc*-*-* targets.
13650
13651 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
13652
13653 * cpplib.h, line-map.h: Update comments.
13654 * cppmain.c (printer_init): Move inline.
13655 (maybe_print_line, print_line): Take a map pointer.
13656 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
13657 (cb_file_change): Don't use prior value of print.map.
13658
13659 2001-08-07 David Edelsohn <edelsohn@gnu.org>
13660
13661 * doc/install.texi: Document fine-grained multilib configuration.
13662
13663 Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
13664
13665 * rtlanal.c (find_first_parameter_load): Call note_stores
13666 only on the instructions.
13667
13668 Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
13669
13670 * alias.c (nonlocal_mentioned_p):
13671 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
13672 * calls.c (emit_call_1): Likewise.
13673 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
13674 * cselib.c (cselib_process_insn): Likewise.
13675 * df.c (df_insns_modify): Likewise.
13676 * flow.c (need_fake_edge_p): Likewise.
13677 (propagate_one_insn): Likewise.
13678 * haifa-sched.c (reemit_notes): Likewise.
13679 * integrate.c (copy_insn_list): Likewise.
13680 * jump.c (delete_prior_computation): Likewise.
13681 * local-alloc.c (validate_equiv_mem): Likewise.
13682 * loop.c (scan_loop): Likewise.
13683 * predict.c (estimate_probability): Likewise.
13684 * reload.c (reload): Likewise.
13685 * sched-deps (sched_analyze): Likewise.
13686 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
13687 * gcse.c (compute_hash_table): Likewise.
13688 (mark_call): Likewise.
13689 (store_killed_in_insn): Likewise.
13690
13691 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
13692
13693 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
13694
13695 2001-08-06 Richard Henderson <rth@redhat.com>
13696
13697 * varasm.c (assemble_gc_entry): Remove.
13698 * output.h: Likewise.
13699
13700 2001-08-06 Richard Henderson <rth@redhat.com>
13701
13702 * varasm.c (assemble_constructor): Take a symbol_ref and a
13703 priority instead of a bare string. Move priority handling
13704 here from cp/decl2.c.
13705 * output.h: Update decls.
13706
13707 * c-decl.c (c_expand_body): Update calls to assemble_constructor
13708 and assemble_destructor.
13709 * profile.c (output_func_start_profiler): Likewise.
13710 * objc/objc-act.c (finish_objc): Likewise.
13711 (build_module_descriptor): Return the symbol not the symbol name.
13712
13713 2001-08-06 David Edelsohn <edelsohn@gnu.org>
13714
13715 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
13716 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
13717 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
13718 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
13719 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
13720 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
13721
13722 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
13723
13724 * cpperror.c (print_containing_files): Moved to line-map.c.
13725 (print_location): line-map.c handles re-listing or otherwise.
13726 * cpphash.h (struct lexer_state): Remove next_bol.
13727 (struct cpp_buffer): Remove include_stack_listed.
13728 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
13729 Remove faked buffer handling.
13730 (_cpp_do_file_change): Tweak.
13731 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
13732 * cppmain.c (struct printer): Remove filename.
13733 (print_line, cb_file_change): Update accordingly.
13734 * line-map.c: Include intl.h.
13735 (init_line_maps): Initialize last_listed.
13736 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
13737 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
13738 (print_containing_files): New.
13739 * line-map.h (struct line_maps): New member last_listed.
13740 (print_containing_files, INCLUDED_FROM): New.
13741 * Makefile.in: Update.
13742 * po/POTFILES.in: Add line-map.c.
13743
13744 2001-08-06 Richard Henderson <rth@redhat.com>
13745
13746 * except.c (convert_from_eh_region_ranges_1): Never mark
13747 USE or CLOBBER insns as throwing.
13748
13749 * expr.c (store_constructor): Don't clobber memory targets.
13750
13751 2001-08-06 Andreas Jaeger <aj@suse.de>
13752
13753 * profile.c (branch_prob): Remove unused variable insn.
13754
13755 * Makefile.in (local-alloc.o): Add dependency on except.h.
13756
13757 * local-alloc.c: Include except.h for can_throw_internal prototype.
13758
13759 2001-08-06 Richard Henderson <rth@redhat.com>
13760
13761 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
13762 * function.c (expand_main_function): Implement it.
13763 * doc/tm.texi: Document it.
13764
13765 2001-08-06 Stan Shebs <shebs@apple.com>
13766
13767 * doc/install.texi: Document powerpc-*-darwin* details.
13768
13769 2001-08-06 Daniel Berlin <dan@cgsoftware.com>
13770
13771 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
13772 (ASM_CPU_SPEC): Move back to rs6000.h
13773 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
13774
13775 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
13776
13777 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
13778 readded.
13779
13780 * config/rs6000/linux64.h: Ditto.
13781
13782 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13783 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
13784 nothing.
13785
13786 Remove accidently readded definitions of FUNCTION_PROLOGUE,
13787 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
13788
13789 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13790 to rs6000.h
13791
13792 2001-08-05 Richard Henderson <rth@redhat.com>
13793
13794 * local-alloc.c (update_equiv_regs): Do not move insns that
13795 can throw.
13796
13797 2001-08-05 Jan Hubicka <jh@suse.cz>
13798
13799 * Makefile.in (reload1.o): Add dedendancy on except.h
13800 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
13801 prototypes.
13802 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
13803 indicating wehther edges has been cleaned up.
13804 * reload1.c: Inlucde except.h
13805 (fixup_abnormal_edges): Accept deleted insns.
13806 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
13807 after combine.
13808
13809 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
13810
13811 * cpplib.c (do_line): Correct line number after pop_buffer.
13812
13813 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
13814
13815 PR preprocessor/3824
13816 * line-map.c: Update comments.
13817 * line-map.h: Update comments.
13818 * tradcif.y: Don't consider large numbers unsigned.
13819
13820 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
13821
13822 PR preprocessor/3081
13823 * c-lex.c (map): New.
13824 (cb_file_change): Update map and use it.
13825 (cb_def_pragma, cb_define, cb_undef): Use map and line.
13826 (c_lex): Update to use map.
13827 * cpperror.c (print_location): Move to using logical line numbers.
13828 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
13829 (cpp_make_system_header): Similarly.
13830 (_cpp_execute_include): Stop line numbering hacks. Store the
13831 line we will return to.
13832 * cpphash.h (CPP_BUF_LINE): Remove.
13833 (struct cpp_buffer): Remove lineno and pseudo_newlines.
13834 Add map and return_to_line.
13835 (_cpp_do_file_change): Update.
13836 * cppinit.c (cpp_start_read): Update line kludge.
13837 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
13838 (trigraph_ok): Use logical line numbers for diagnostics.
13839 (skip_block_comment): Likewise.
13840 (skip_whitespace): Likewise.
13841 (skip_line_comment): Use pfile->line instead.
13842 (_cpp_lex_token): Update to use logical line numbering exclusively.
13843 Handle BOL locally. Accept new lines in directives, but keep
13844 pfile->line decremented. Diagnostics use logical lines. Update
13845 directive handling.
13846 * cpplib.c (SEEN_EOL): New.
13847 (skip_rest_of_line, check_eol): Use it.
13848 (end_directive): Increase line number when accepting the newline
13849 at the end of a directive.
13850 (run_directive): Simplify.
13851 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
13852 (_cpp_do_file_change): Update to take buffer line number as an
13853 argument, and store the current map in the cpp_reader. Remove
13854 line number kludges.
13855 (_cpp_do__Pragma): Restore output position after a _Pragma.
13856 (cpp_push_buffer): Don't set output line or lineno.
13857 (_cpp_pop_buffer): Transfer more info from a faked buffer.
13858 Remove line kludge. Set output_line.
13859 * cppmacro.c (builtin_macro): Update handling of __LINE__.
13860 (parse_arg): Use logical lines.
13861 (save_lookahead_token): Save EOFs too now.
13862 * cppmain.c (struct printer): Fix comments.
13863 (printer_init): Simplify, let caller do errors.
13864 (scan_translation_unit, check_multiline_token, dump_macro): Update.
13865 (maybe_print_line): Simplify.
13866 (print_line): Don't print a linemarker if -P.
13867 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
13868 (cb_file_change): Simplify.
13869 * line-map.h (LAST_SOURCE_LINE): Fix.
13870 (CURRENT_LINE_MAP): New.
13871
13872 2001-08-05 Bernd Schmidt <bernds@redhat.com>
13873
13874 * doloop.c (doloop_modify_runtime): Properly compute number of
13875 iterations if loop was unrolled.
13876
13877 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
13878 if their CSELIB_VAL_PTRs are.
13879
13880 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
13881 (setup_spill_pointers): Initialize it.
13882 (spill_restore_mem): Set it.
13883 (do_spill, do_restore): Use it to add REG_INC note.
13884 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
13885
13886 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
13887 asms if other insns are available.
13888
13889 * config/ia64/ia64.c (condop_operator): New predicate.
13890 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
13891 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
13892 patterns.
13893
13894 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
13895 temporary register than directly using a MEM.
13896
13897 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13898
13899 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
13900 parameter in last change.
13901
13902 2001-08-04 Zack Weinberg <zackw@panix.com>
13903
13904 * sparc.md: Don't use #if inside C test expression.
13905
13906 2001-08-04 Richard Henderson <rth@redhat.com>
13907
13908 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
13909
13910 2001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
13911
13912 * cpphash.h (struct cpp_reader): New member directive_line.
13913 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
13914 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
13915 do_pragma): Pass line to callbacks.
13916 (start_directive): Record line of directive.
13917 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
13918 cb_include): Similarly.
13919 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
13920 Similarly.
13921
13922 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13923
13924 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
13925 comment.
13926
13927 Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
13928
13929 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
13930
13931 * reload1.c (fixup_abnormal_edges): New static function.
13932 (reload): Use it.
13933
13934 * flow.c (need_fake_edge_p): New function.
13935 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
13936 avoid call insn to be very last insn in the insn stream.
13937
13938 * profile.c (branch_prob): Call flow_call_edges_add instead of
13939 doing that by hand; cleanup cfg to re-merge basic blocks once
13940 we are done.
13941
13942 2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13943
13944 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
13945 are also on line-map.h.
13946 * cppfiles.c (stack_include_file): Update.
13947 * cpphash.h (struct cpp_buffer): New member return_at_eof.
13948 (_cpp_pop_buffer): New.
13949 * cppinit.c (cpp_destroy, cpp_finish): Update.
13950 (do_includes): Mark each buffer to return at EOF.
13951 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
13952 return as requested.
13953 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
13954 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
13955 * cpplib.h (cpp_pop_buffer): Remove.
13956 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
13957 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
13958 buffers.
13959 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
13960 to pop buffers.
13961 (do_preprocessing): Update.
13962 * fix-header.c (read_scan_file): Update. No need to pop buffers.
13963 * c-parse.in (_yylex): Similarly.
13964 * scan-decls.c (scan_decls): Similarly.
13965 * line-map.h: Update comments.
13966
13967 * objc/Make-lang.in (objc-act.o): Update dependencies.
13968
13969 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13970
13971 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
13972 and soft register for operand 0.
13973 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
13974
13975 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13976
13977 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
13978 register for operand 0.
13979 ("bitcmpqi_z_used"): Allow memory for operand 0.
13980 (split "bitcmpqi"): New split to handle address reg as operand 1.
13981
13982 2001-08-04 Andreas Jaeger <aj@suse.de>
13983
13984 * gcse.c: Revert Daniel's last patch.
13985
13986 2001-08-03 Zack Weinberg <zackw@stanford.edu>
13987
13988 * sparc-protos.h: Add prototypes for fp_zero_operand and
13989 reg_or_0_operand.
13990 * sh-protos.h: Add prototype for fpul_operand.
13991
13992 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13993
13994 * doc/extend.texi (Other Builtins): Fix typo in last change.
13995
13996 2001-08-03 Richard Henderson <rth@redhat.com>
13997
13998 * target.h (gcc_target): Add asm_out.named_section,
13999 section_type_flags, have_named_sections.
14000 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14001 (TARGET_HAVE_NAMED_SECTIONS): New.
14002 (TARGET_SECTION_TYPE_FLAGS): New.
14003
14004 * Makefile.in (toplev.o): Depend on TARGET_H.
14005 (varasm.o, dbxout.o): Likewise.
14006 * c-common.c (decl_attributes): Check targetm.have_named_sections
14007 instead of ifdef ASM_OUTPUT_SECTION_NAME.
14008 * dbxout.c (dbxout_function_decl): Likewise.
14009 (dbxout_function_end): Likewise.
14010 * toplev.c (compile_file): Likewise.
14011 * varasm.c (exception_section): Likewise.
14012 * cp/decl2.c (finish_objects): Likewise.
14013
14014 * defaults.h (EH_FRAME_SECTION): Remove.
14015 (EH_FRAME_SECTION_ASM_OP): Remove.
14016 (EH_FRAME_SECTION_NAME): New.
14017 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14018 (UNIQUE_SECTION_P): Remove.
14019 * dwarf2out.c (SECTION_FORMAT): Remove.
14020 (ASM_OUTPUT_SECTION): Remove.
14021 (output_call_frame_info): Use named_section_flags.
14022 (output_comp_unit, dwarf2out_start_source_file): Likewise.
14023 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14024 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14025 * varasm.c (in_eh_frame, eh_frame_section): Remove.
14026 (named_section_flags): New.
14027 (named_section): Use it and targetm.section_type_flags.
14028 (resolve_unique_section): New.
14029 (assemble_start_function): Use it.
14030 (asm_emit_uninitialised, assemble_variable): Likewise.
14031 (default_section_type_flags): New.
14032 (default_no_named_section, default_elf_asm_named_section): New.
14033 (default_coff_asm_named_section, default_pe_asm_named_section): New.
14034 * output.h: Update varasm.c decls.
14035 (SECTION_*): New flags.
14036
14037 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14038 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14039
14040 * config/elfos.h (UNIQUE_SECTION_P): Remove.
14041 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14042 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14043 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14044 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14045 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14046 * config/mips/elf.h, config/mips/elf64.h: Likewise.
14047 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14048 * config/pa/pa64-hpux.h,
14049
14050 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14051 (TARGET_ASM_NAMED_SECTION): New.
14052 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14053 * config/alpha/vms.h, config/arm/coff.h: Likewise.
14054 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14055 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14056 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14057 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14058 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14059 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14060 * config/i386/sco5.h, config/i386/win32.h: Likewise.
14061 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14062 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14063 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14064 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14065 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14066 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14067 * config/sparc/sysv4.h: Likewise.
14068
14069 * config/nextstep.h: Error until named sections implemented.
14070
14071 * config/a29k/a29k.c (a29k_asm_named_section): New.
14072 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14073 (vms_section_type_flags, vms_asm_named_section): New.
14074 * config/arm/arm.c (arm_elf_asm_named_section): New.
14075 * config/avr/avr.c (asm_output_section_name): Remove.
14076 * config/avr/avr-protos.h: Update.
14077 * config/c4x/c4x.c (c4x_asm_named_section): New.
14078 * config/h8300/h8300.c (h8300_asm_named_section): New.
14079 * config/i386/i386.c (sco_asm_named_section): New.
14080 * config/i386/winnt.c (SECTION_PE_SHARED): New.
14081 (i386_pe_section_type_flags): New.
14082 (i386_pe_asm_named_section): New.
14083 * config/i386/i386-protos.h: Update.
14084 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14085 * config/mcore/mcore.c (mcore_asm_named_section): New.
14086 * config/mips/mips.c (iris6_asm_named_section): New.
14087 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
14088 instead of UNIQUE_SECTION_P.
14089 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
14090 (xcoff_asm_named_section): New.
14091 * config/sh/sh.c (sh_asm_named_section): New.
14092 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
14093
14094 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
14095 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
14096 (EH_FRAME_SECTION_NAME): New.
14097 (EXCEPTION_SECTION): New.
14098 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
14099 (DEBUG_*_SECTION): Remove.
14100 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
14101 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
14102 (EH_FRAME_SECTION_ASM_OP): Remove.
14103
14104 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
14105 (ASM_OUTPUT_SECTION_NAME): Remove.
14106 (TARGET_ASM_NAMED_SECTION): New.
14107 (TARGET_HAVE_NAMED_SECTIONS): New.
14108 (TARGET_SECTION_TYPE_FLAGS): New.
14109 (EH_FRAME_SECTION_ASM_OP): Remove.
14110 (EH_FRAME_SECTION_NAME): New.
14111
14112 2001-08-03 Zack Weinberg <zackw@stanford.edu>
14113
14114 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
14115 for complex expressions when cfun == 0.
14116 * doc/extend.texi: Document that __builtin_constant_p can be
14117 used in data initializers as well as functions.
14118
14119 2001-08-03 Alexandre Oliva <aoliva@redhat.com>
14120
14121 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
14122 variable I locally, instead of expecting a declaration in the
14123 calling context.
14124
14125 2001-08-03 Richard Henderson <rth@redhat.com>
14126
14127 * except.c (collect_one_action_chain): Add an explicit cleanup
14128 action if regions surrounding a catch were encoded entirely
14129 within the call-site entry.
14130
14131 2001-08-03 Richard Henderson <rth@redhat.com>
14132
14133 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
14134 don't take REGNO of a non-register.
14135
14136 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14137
14138 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
14139 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
14140 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
14141 (__gthread_mutex_init_function): New function for mutex initialization.
14142
14143 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
14144
14145 * Makefile.in: Revert screwed up commit.
14146
14147 2001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14148
14149 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
14150 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
14151 merged by linker script to get a final _exit().
14152 (__do_global_dtors): New for destructor handling in specific exit
14153 section.
14154 (__do_global_ctors): New for constructors in specific install section.
14155 (__map_data_section): Map data sections before running constructors.
14156 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
14157 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
14158 (DTORS_SECTION_ASM_OP): Likewise.
14159 (CTORS_SECTION_FUNCTION): Define to force a reference to
14160 __do_global_ctors.
14161 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
14162
14163 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
14164
14165 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
14166
14167 * Makefile.in: Add df.h to gcse.c dependencies.
14168
14169 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14170
14171 * varasm.c (output_constant_def_contents): Use for the length of a
14172 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
14173 depending on which is larger.
14174
14175 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
14176
14177 * gcse.c: Include df.h for use as a dataflow analyzer.
14178 Remove regvec.
14179 Declaration of reg_set_info: gone.
14180 New df_analyzer variable used by store motion.
14181 (reg_set_info): Deleted.
14182 (mark_mem_regs): New function, analyze regs used by a mem.
14183 (store_ops_ok): Use dataflow analyzer results to determine if
14184 necessary regs are changed in the block.
14185 (find_moveable_store): Remove check for symbol ref, we can handle
14186 much more complex expressions now.
14187 (compute_store_table): Remove most of the code, it's unnecessary
14188 now that the dataflow analyzer records the info for us.
14189 (store_killed_after): Add parameter to say whether to do the
14190 store_ops_okay test, used to speed up testing when we already know
14191 the answer, and just want to know if the store itself was killed.
14192 (build_store_vector): Largely rewritten to calculate the various
14193 vectors properly, and somewhat optimized.
14194 (store_motion): Init the df_analyzer, get REG_DEF chains.
14195 Also handle trapping expressions (since mems almost always trap)
14196 (simple_mem): Redefine what a simple mem is.
14197
14198 2001-08-03 DJ Delorie <dj@redhat.com>
14199
14200 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
14201 set from a constant part of the condition.
14202
14203 2001-08-01 Andrew Cagney <ac131313@redhat.com>
14204
14205 * mkdeps.c (deps_add_default_target): Make local variable
14206 ``start'' a const char pointer.
14207 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
14208
14209 2001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14210
14211 * doc/install.texi (Configuration): Fix markup.
14212 (Specific, i?86-*-udk): Likewise.
14213 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
14214 --with-gnu-ld.
14215 Document --enable-threads and --enable-libgcj status.
14216 (Specific, mips-sgi-irix*): Canonicalize triples.
14217 (Specific, mips-sgi-irix5): Warn about problems with this config.
14218 Mention required GNU as patch.
14219 Native assembler problems are fixed.
14220 (Specific, mips-sgi-irix6): Update O32 ABI support status.
14221 Document --enable-threads and --enable-libgcj status.
14222
14223 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
14224
14225 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
14226 of mkinstalldirs.
14227
14228 2001-08-03 Richard Henderson <rth@redhat.com>
14229
14230 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
14231 constant data.
14232
14233 2001-08-03 Richard Henderson <rth@redhat.com>
14234
14235 * rtlanal.c (find_first_parameter_load): Stop if we
14236 reach a CODE_LABEL at BOUNDARY.
14237
14238 2001-08-03 Richard Henderson <rth@redhat.com>
14239
14240 * config/alpha/alpha.md (force_movdi): New insn.
14241 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
14242 Tweek FRP marking of VMS prologue insns.
14243 * config/alpha/vms.h (EPILOGUE_USES): New.
14244
14245 2001-08-02 Richard Henderson <rth@redhat.com>
14246
14247 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
14248
14249 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
14250
14251 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
14252 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
14253 config/convex/convex.h, config/d30v/d30v.c,
14254 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14255 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
14256 config/mips/mips.h, config/mn10200/mn10200.h,
14257 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
14258 config/v850/v850.h, config/vax/openbsd.h,
14259 config/vax/openbsd1.h, config/vax/ultrix.h,
14260 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
14261 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
14262 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
14263 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
14264 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
14265 in comments and documentation.
14266
14267 2001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14268
14269 * line-map.c: New.
14270 * line-map.h: New.
14271 * Makefile.in (line-map.o): New.
14272 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
14273 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
14274 * cpperror.c (print_containing_files): Similarly.
14275 (print_location): Update. Don't output a space before _Pragma.
14276 * cppfiles.c (stack_include_file): Set to line 1 immediately.
14277 (stack_include_filee, cpp_make_system_header): Update.
14278 (_cpp_execute_include): Get logical line number right for calling
14279 as-yet-unterminated #include.
14280 * cpphash.h (struct cpp_reader): Add line_maps.
14281 (_cpp_do_file_change): Update.
14282 * cppinit.c (cpp_create_reader): Initialize line maps.
14283 (cpp_destroy): Destroy line maps.
14284 (cpp_start_read): Get logical line number right.
14285 * cpplex.c (parse_string): Only warn once for multi-line strings.
14286 Use boolean variable for null warning.
14287 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
14288 already.
14289 (do_include_common): End the directive early.
14290 (do_line): Don't warn about out-of-range lines in preprocessed
14291 source. Update. Remove unused variables.
14292 (_cpp_do_file_change): Update for new line mapping.
14293 (pragma_cb): New typedef.
14294 (cpp_register_pragma): Stop looking ahead before calling the
14295 handler. Clean up.
14296 (do_pragma_system_header): End directive early.
14297 (cpp_get_line_maps): New.
14298 (cpp_pop_buffer): Fudge logical line. Update.
14299 * cpplib.h: Include line-map.h
14300 (enum cpp_fc_reason): Remove.
14301 (struct cpp_file_change): Update.
14302 (cpp_get_line_maps): New.
14303 * cppmain.c (struct_printer): New member map.
14304 (cb_file_change): Update for new mappings.
14305 * fix-header.c (cb_file_change): Similarly.
14306
14307 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
14308
14309 * Makefile.in (libgcc.mk): Define mkinstalldirs.
14310 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
14311
14312 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
14313
14314 * config/vax/vax.c: include expr.h.
14315
14316 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
14317
14318 * Makefile.in ($(srcdir)/configure): Only rebuild in
14319 maintainer mode.
14320 ($(srcdir)/config.in): Only define in maintainer mode.
14321 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
14322
14323 2001-08-02 David Edelsohn <edelsohn@gnu.org>
14324
14325 * doc/install.texi (Install GCC: Binaries): Update Bull info.
14326
14327 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14328
14329 * gcc.c (set_collect_gcc_options): New function, split out from
14330 main.
14331 Ignore elided switches.
14332 (do_spec_1): Invoke before executing command.
14333 (set_input): Export.
14334 Move declaration ...
14335 * gcc.h (set_input): ... here.
14336 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14337 file.
14338
14339 2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
14340
14341 Kill -fhonor-std.
14342 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
14343 interaction.
14344 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
14345
14346 2001-08-02 Richard Sandiford <rsandifo@redhat.com>
14347
14348 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
14349 for the unnamed instructions it expands to.
14350
14351 2001-08-02 Richard Henderson <rth@redhat.com>
14352
14353 * regclass.c (call_really_used_regs): Conditionally define.
14354 (init_reg_sets_1): Don't use it if not defined.
14355 (fix_register): Similarly, don't set it.
14356
14357 2001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14358
14359 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
14360 Correct comment that had been missed in the previous change.
14361
14362 2001-08-01 Stan Shebs <shebs@apple.com>
14363
14364 * config/darwin.c (machopic_stub_name): Try matching by name.
14365 (update_stubs): New function.
14366 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
14367 unconditionally.
14368
14369 2001-08-01 Richard Henderson <rth@redhat.com>
14370
14371 * except.c (output_function_exception_table): Use assemble_align.
14372 * varasm.c (assemble_eh_label): Remove.
14373 (assemble_eh_align, assemble_eh_integer): Remove.
14374
14375 2001-08-01 Robert Lipe <robertl@caldera.com>
14376
14377 * dwarfout.c: Remove reference to README.DWARF.
14378
14379 2001-08-01 Andrew MacLeod <amacleod@redhat.com>
14380
14381 * regclass.c (call_really_used_regs): New array for registers which
14382 are actually used by a call.
14383 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
14384 new array.
14385 (fix_register): Set call_really_used too.
14386 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
14387 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
14388
14389 2001-08-01 Richard Henderson <rth@redhat.com>
14390
14391 * read-rtl.c (read_name): Consider \r whitespace.
14392
14393 2001-07-11 Andrew Cagney <ac131313@redhat.com>
14394
14395 * config.gcc: Recognize powerpc-*-netbsd*.
14396
14397 * doc/install.texi (Host/target specific installation notes for
14398 GCC): Mention powerpc-*-netbsd*.
14399
14400 * config/rs6000/netbsd.h: New file.
14401 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
14402 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
14403 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
14404 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
14405 (TARGET_VERSION): Redefine.
14406
14407 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
14408 mcall-netbsd as a match for mcall-sysv.
14409 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
14410 (ncrti.S, ncrtn.S): New targets.
14411 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
14412
14413 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
14414 "netbsd' as a V4 ABI.
14415 (ASM_SPEC): Check for -mcall-netbsd.
14416 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
14417 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
14418 (LIB_SPEC, ENDFILE_SPEC): Ditto.
14419 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
14420 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
14421 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
14422 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
14423
14424 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
14425 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
14426
14427 2001-08-01 Mark Kettenis <kettenis@gnu.org>
14428
14429 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
14430 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
14431 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
14432 including "unwind-pe.h".
14433
14434 Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
14435
14436 * rs6000.md (define_splits): Kill unused constraints.
14437
14438 Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
14439 Jan Hubicka <jh@suse.cz>
14440
14441 * function.c (thread_prologue_and_epilogue_insns): Kill code
14442 dealing with non-existent CFG.
14443
14444 2001-08-01 Kazu Hirata <kazu@hxi.com>
14445
14446 * alias.c: Fix comment formatting.
14447 * bitmap.c: Likewise.
14448 * builtins.c: Likewise.
14449 * calls.c: Likewise.
14450 * c-common.c: Likewise.
14451 * c-decl.c: Likewise.
14452 * c-dump.c: Likewise.
14453 * c-lex.c: Likewise.
14454 * collect2.c: Likewise.
14455 * combine.c: Likewise.
14456 * conflict.c: Likewise.
14457 * cppfiles.c: Likewise.
14458 * cppinit.c: Likewise.
14459 * cpplex.c: Likewise.
14460 * cpplib.c: Likewise.
14461 * cppmacro.c: Likewise.
14462 * cppspec.c: Likewise.
14463 * c-pragma.c: Likewise.
14464 * crtstuff.c: Likewise.
14465 * cse.c: Likewise.
14466 * cselib.c: Likewise.
14467 * c-semantics.c: Likewise.
14468 * c-typeck.c: Likewise.
14469
14470 2001-08-01 H.J. Lu <hjl@gnu.org>
14471
14472 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
14473
14474 2001-08-01 H.J. Lu <hjl@gnu.org>
14475
14476 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
14477
14478 2001-08-01 Ziemowit Laski <zlaski@apple.com>
14479
14480 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
14481 contextualizing Objective-C class name lookup by the lexer.
14482 (typespec_reserved_nonattr): Disable ObjC class name lookup after
14483 seeing a TYPESPEC.
14484 (protocoldef): Add support for forward @protocol declarations.
14485 (yylexname): Suppress ObjC class name lookup in certain contexts;
14486 re-enable after lookup is complete.
14487 (_yylex): Re-enable ObjC class name lookup when certain
14488 punctuation marks are seen.
14489
14490 * objc/objc-act.c (check_protocol_recursively): New function used
14491 for finding circular dependencies in protocols.
14492 (objc_declare_protocols): New function for handling forward
14493 @protocol declarations.
14494 (receiver_is_class_object): Detect the case when 'self' is used
14495 inside of a class method.
14496 (build_message_expr): Issue a warning if class method is desired
14497 but instance method is found instead.
14498 (conforms_to_protocol): Streamline.
14499 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
14500 protocol Foo, even if 'Bar foo' does not.
14501 (check_protocols): Streamline.
14502 (start_protocol): Add checks for circular and duplicate protocol
14503 definitions.
14504 (encode_aggregate_within): For typedefs of structs, encode the
14505 underlying struct.
14506 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
14507 (objc_declare_protocols): New prototype.
14508
14509 2001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14510
14511 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
14512 * cpplex.c (handle_newline): Update prototype. Maintain logical
14513 line number.
14514 (skip_escaped_newlines, skip_block_comment, parse_string):
14515 Update accordingly.
14516 (_cpp_lex_token): Update, and store token position within the token.
14517 * cpplib.h (struct cpp_token): Add line and column entries.
14518 * cppmacro.c (replace_args): Position stringified tokens correctly.
14519
14520 2001-08-01 Andreas Jaeger <aj@suse.de>
14521
14522 * basic-block.h: Add prototype for last_loop_beg_note.
14523
14524 2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
14525
14526 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
14527 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
14528 comment.
14529 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
14530 while handling WITH_CLEANUP_EXPR node. Use second operand calling
14531 expand_decl_cleanup.
14532 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
14533 the first RTX.
14534 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
14535 operand while calling simple_cst_equal.
14536 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
14537 operand is the cleanup expression, the third is the RTL_EXPR.
14538 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
14539
14540 2001-07-31 Jeff Sturm <jsturm@one-point.com>
14541
14542 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
14543
14544 2001-07-31 matthew green <mrg@eterna.com.au>
14545
14546 * config.gcc (i386-*-netbsdelf): New description.
14547 * config/i386/netbsd-elf.h: New file.
14548
14549 2001-07-30 Geoffrey Keating <geoffk@redhat.com>
14550
14551 * loop.c (check_dbra_loop): Use single_set to compute
14552 jump_label.
14553
14554 2001-07-31 Daniel Berlin <dan@cgsoftware.com>
14555
14556 PowerPC reorg and support for powerpc64-*-linux*.
14557
14558 Also fixes emitting of constants on 32 bit and 64 bit
14559 platforms.
14560
14561 * config.gcc: powerpc64-*-linux* is a new target.
14562 Things that needed aix.h now also include xcoff.h
14563
14564 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
14565 xcoff.h.
14566 Move AIX specific stuff into aix.h.
14567 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
14568 with more than just XCOFF now.
14569 (SET_ASM_OP): Remove, now defined where needed.
14570 (FUNCTION_PROLOGUE): New macro definition.
14571 (FUNCTION_EPILOGUE): New macro definition.
14572 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
14573
14574 * config/rs6000/xcoff.h: New file.
14575
14576 * config/rs6000/linux64.h: New file.
14577
14578 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
14579
14580 2001-07-31 Alan Modra <amodra@bigpond.net.au>
14581
14582 * rs6000.c (print_operand_address): Handle ELF syntax.
14583 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
14584 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
14585 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
14586
14587 2001-07-31 David Edelsohn <edelsohn@gnu.org>
14588
14589 * rs6000.c (rs6000_override_options): Only disable
14590 flag_function_sections for XCOFF.
14591 (exact_log2_cint_operand): New predicate.
14592 (reg_or_{add,sub}_cint64_operand): New predicates.
14593 (add_operand): Compare CONST_INT with fewer function calls.
14594 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
14595 (print_operand, case 'p'): Ensure positive operand.
14596 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
14597 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
14598 (PREDICATE_CODES): Add new predicates.
14599 * rs6000.md (addsi3): Split 32-bit constants more correctly.
14600 (divsi3, modsi3): Ensure positive power-of-2.
14601 (adddi3): Use new predicate. Split 32-bit constants more
14602 correctly. Re-arrange splitter to handle any constant.
14603 (subdi3): Use new predicate.
14604 (divdi3, moddi3): Ensure positive power-of-2.
14605 (movdi): Use rs6000_emit_set_const.
14606 (load_toc_v4_pic_di): Delete.
14607
14608 2001-07-31 Graham Stott <grahams@redhat.com>
14609
14610 * function.c (pad_below): Revert 2001-07-26 patch.
14611
14612 Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
14613
14614 * reg-stack (convert_regs_1): Fix best edge condition.
14615
14616 Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
14617
14618 * jump.c (duplicate_loop_exit_test): Better test for jumps
14619 entering the loop; create loop pre_header.
14620
14621 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
14622
14623 * doc/install.texi: Add s390 and s390x as new targets.
14624 * doc/invoke.texi: Add documentation of S/390 and zSeries
14625 target options.
14626 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
14627
14628 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
14629
14630 * config/m68k/m68k.md: Replace all general_operand with
14631 nonimmediate_operand for all destinations.
14632 * config/m68k/m68k.c (not_sp_operand): Likewise.
14633
14634 Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
14635
14636 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
14637
14638 2001-07-30 Richard Henderson <rth@redhat.com>
14639
14640 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
14641 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
14642
14643 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
14644
14645 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
14646 Add missing doc strings
14647 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
14648 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
14649
14650 Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
14651
14652 * i386.c (ix86_output_main_function_alignment_hack): New function.
14653 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
14654
14655 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
14656 edges by EDGE_DFS_BACK flag.
14657 (dump_edge_info): Add dfs_back flag.
14658 * basic-block.h (EDGE_DFS_BACK): New constant.
14659 (mark_dfs_back_edges): Declare.
14660 * alias.c (loop_p): Remove.
14661 (mark_constant_function): Use mark_dfs_back_edges.
14662
14663 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
14664 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
14665 (compensate_edge): Break out from ...
14666 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
14667 (convert_regs_2): Set block_done once block is really done;
14668 Do updating of the predecessors counts.
14669
14670 * toplev.c (rest_of_compilation): Recompute block_for_insn
14671 before post-reload cfg_cleanup.
14672 * function.c (thread_prologue_epilogue_insns):
14673 Call set_block_for_new_insns when emitting prologue directly.
14674
14675 2001-07-30 Andreas Jaeger <aj@suse.de>
14676
14677 * jump.c: Add prototype for mark_modified_reg.
14678
14679 * cse.c (set_live_p): Add unused attribute.
14680
14681 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
14682 overflow.
14683 (scan_for_source_files): Use long for count to avoid overflow.
14684 (output_data): Likewise.
14685 (output_data): Don't use string concatatenation to silence gcc
14686 -traditional.
14687
14688 * predict.c: Fix typos and grammar.
14689
14690 * gcse.c (insert_insn_end_bb): Remove unused variables.
14691
14692 Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
14693
14694 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
14695 (attempt_auto_inc): LIkewise.
14696 (mark_used_reg): Likewise.
14697 (try_pre_increment_1): Likewise.
14698 * regclass.c (regclass): Likewise.
14699 * global.c (allocno_compare): Update comment; change scaling factor.
14700 * local-alloc.c (QTY_CMP_PRI): Likewise.
14701 * regs.h (REG_FREQ_FROM_BB): New.
14702 (REG_FREQ_MAX): Likewise.
14703
14704 2001-07-30 H.J. Lu <hjl@gnu.org>
14705
14706 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
14707 -D_GNU_SOURCE.
14708
14709 2001-07-30 H.J. Lu (hjl@gnu.org)
14710
14711 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
14712 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
14713 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
14714
14715 2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
14716
14717 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
14718 as -mthumb-interwork when -mcpu=arm7 is specified.
14719
14720 Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
14721
14722 * predict.def (noreturn, loop branch, loop exit): Mark as first
14723 match heuristics.
14724
14725 Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
14726
14727 * combine.c (try_combine): Avoid barrier after noop jumps.
14728
14729 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14730
14731 * cpphash.h (struct cpp_reader): Remove import_warning.
14732 * cpplib.c (skip_rest_of_line): Don't bother turning off
14733 macro expansion.
14734 (parse_include): Move include handling to...
14735 (do_include_common): ... here. Move import warning from...
14736 (do_import): ... here.
14737 (do_pragma_poison): Don't do a callback for poison identifiers.
14738 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
14739 * cppmain.c (setup_callbacks): Similarly.
14740
14741 Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
14742
14743 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
14744 handle multiple sets.
14745 * except.c (sjlj_mark_call_sites): .... here.
14746 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
14747
14748 Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
14749
14750 Suggested by Richard Henderson and Richard Kenner:
14751 * combine.c (recog_for_combine): Use the fake recog
14752 only if instruction does not match.
14753 * rtl.h (NOOP_MOVE_INSN_CODE): New.
14754 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
14755
14756 * combine.c (try_combine): Discover noop jump as direct jump.
14757
14758 2001-07-29 Daniel Berlin <dan@cgsoftware.com>
14759
14760 * df.c (df_rd_global_compute): Add successors to worklist, not
14761 current item.
14762 (df_ru_global_compute): Ditto.
14763
14764 2001-07-27 Daniel Berlin <dan@cgsoftware.com>
14765
14766 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
14767 increment REG_N_SETS.
14768
14769 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
14770
14771 * sbitmap.h: New prototype for sbitmap_a_xor_b.
14772
14773 * sbitmap.c (sbitmap_a_xor_b): New function.
14774 ifdef the basic block stuff on IN_GCC.
14775
14776 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14777
14778 * cppexp.c (parse_defined): Always record the macro name.
14779 (lex): Don't worry about identifiers, or special-case
14780 CPP_NOT here.
14781 (_cpp_parse_expr): Figure out at the end of the routine
14782 whether we saw a valid !defined() expression.
14783 * cppfiles.c (stack_include_file): Update for mi_valid.
14784 (_cpp_pop_file_buffer): Similarly.
14785 * cpplex.c (_cpp_lex_token): Similarly.
14786 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
14787 mi_if_not_defined, mi_lexed): Remove.
14788 (mi_valid): New.
14789 * cpplib.c (do_if): Simplify.
14790 (do_endif, push_conditional, _cpp_handle_directive): Update
14791 for renaming of mi_state to mi_valid.
14792 doc:
14793 * cpp.texi: Add index entries for digraphs, and add comment
14794 that C++ refers to them as alternative tokens.
14795
14796 Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
14797
14798 * basic-block.h (CLEANUP_PRE_LOOP): New.
14799 * except.c (finish_eh_generation): Update call of cleanup_cfg.
14800 * sibcall.c (optimize_sibling_calls): Likewise.
14801 * toplev.c (rest_of_compilation): Likewise.
14802 * flow.c (try_forward_edges): Take argument MODE;
14803 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
14804 (try_optimize_cfg): Update call of try_forward_edges.
14805
14806 Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
14807 Jan Hubicka <jh@suse.cz>
14808
14809 * (validate_replace_rtx_1): Fix simplification of MINUS.
14810
14811 2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
14812
14813 PR preprocessor/3669
14814 * cppinit.c (init_dependency_output): Turn off dump requests
14815 if sending dependencies to stdout.
14816
14817 2001-07-28 Richard Henderson <rth@redhat.com>
14818
14819 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
14820 not optimizing.
14821
14822 2001-07-28 Golubev I. N. <gin@mo.msk.ru>
14823
14824 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
14825
14826 2001-07-28 Kazu Hirata <kazu@hxi.com>
14827
14828 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
14829 is VAR_DECL first to prevent an ICE.
14830
14831 2001-07-28 Richard Henderson <rth@redhat.com>
14832
14833 * varasm.c (immed_real_const_1): Don't elide special cases for
14834 nested functions.
14835 (clear_const_double_mem): Clear const_tiny_rtx too.
14836
14837 2001-07-28 Richard Henderson <rth@redhat.com>
14838
14839 * dwarf2out.c (dw_val_class_offset): New.
14840 (struct dw_ranges_struct, dw_ranges_ref): New.
14841 (ranges_table, ranges_table_allocated): New.
14842 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
14843 (add_AT_offset, add_ranges, output_ranges): New.
14844 (print_die, output_die): Handle dw_val_class_offset.
14845 (attr_checksum, size_of_die, value_format): Likewise.
14846 (gen_lexical_block_die): Handle non-contiguous blocks.
14847 (gen_block_die): Likewise.
14848 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
14849 if needed. Dump the ranges table.
14850 * final.c (final_start_function): Remove unnecessary notes and
14851 rebuild the block tree before numbering the blocks.
14852 * function.c (reorder_blocks_0): Walk the existing block tree
14853 to unmark all blocks.
14854 (reorder_blocks_1): Create block fragments when duplicate block
14855 notes are seen.
14856 (reorder_fix_fragments): New.
14857 (reorder_blocks): Call it.
14858 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
14859
14860 2001-07-28 Richard Henderson <rth@redhat.com>
14861
14862 * emit-rtl.c (adjust_address): Make a copy of the memory address.
14863
14864 2001-07-28 Richard Henderson <rth@redhat.com>
14865
14866 * flow.c (add_to_mem_set_list): New function.
14867 (init_propagate_block_info): Use it.
14868 (mark_set_1): Likewise.
14869 (insn_dead_p): Canonicalize memory address for dead store
14870 comparison. Allow wider mode stores to kill narrower mode stores.
14871 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
14872 (invalidate_mems_from_set): Don't handle MEMs.
14873
14874 2001-07-28 Kazu Hirata <kazu@hxi.com>
14875
14876 * config/h8300/h8300.h: Fix formatting.
14877
14878 Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
14879
14880 * basic-block.h (EDGE_FREQUENCY): New macro.
14881 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
14882 for new BB/edges.
14883 * flow.c (find_sub_basic_blocks): Likewise.
14884 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
14885 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
14886
14887 * predict.c (DEF_PREDICTOR): New argument FLAGS.
14888 (HITRATE): New macro.
14889 (PRED_FLAG_FIRST_MATCH): New constant.
14890 (predictor_info): New field flgags.
14891 (combine_predictions_for_insn): Use DS theory to combine
14892 probabilities; set the edge probabilities when finished.
14893 (estimate_probability): Avoid duplicated matches
14894 of LOOP_BRANCH heuristics for nested loops; update comment.
14895 * predict.def: Add flags for each prediction, set probabilities
14896 according to B&L paper.
14897 * predict.h (DEF_PREDICTOR): New argument FLAGS.
14898
14899 * profile.c (compute_branch_probabilities): Cleanup way the edge
14900 probabilities are computed and REG_BR_PROB notes are dropped; if
14901 values does not match, emit error.
14902 (init_branch_prob): Do error instead of warning when profile driven
14903 feedback is missing or corrupt.
14904
14905 2001-07-27 DJ Delorie <dj@redhat.com>
14906
14907 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
14908 against a constant, try to adjust the compare to have the desired
14909 constant in it so that min/max optimizations happen more often.
14910
14911 Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14912
14913 * flow.c (last_loop_beg_note): New function.
14914 (redirect_edge_and_branch): Use it.
14915 (split_edge): Likewise.
14916
14917 * alias.c (loop_p): Avoid uninitialized memory access.
14918
14919 * flow.c (try_forward_edges): Avoid accessing freed memory.
14920
14921 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
14922 variable access.
14923
14924 2001-07-26 Andrew Haley <aph@redhat.com>
14925 Joern Rennecke <amylaar@redhat.com>
14926
14927 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
14928 (SUBTARGET_CPP_ENDIAN_SPEC): New.
14929 (SUBTARGET_CPP_SPEC): New.
14930 (CPP_SPEC): Remove.
14931 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
14932 (SUBTARGET_CPP_PTR_SPEC): New.
14933 (CPP_DEFAULT_CPU_SPEC): New.
14934 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
14935 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14936 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
14937 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14938 (SUBTARGET_CPP_SPEC): Define as an empty string.
14939
14940 2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14941
14942 * doc/install.texi (Configuration): Properly link the host
14943 specific instructions also when generating HTML.
14944
14945 Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
14946
14947 * flow.c (redirect_edge_and_branch_force): Test
14948 target->global_live_at_start.
14949
14950 2001-07-26 Richard Henderson <rth@redhat.com>
14951
14952 * simplify-rtx.c (avoid_constant_pool_reference): Export.
14953 * rtl.h (avoid_constant_pool_reference): Declare it.
14954 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
14955 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
14956
14957 Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
14958
14959 * rtl.h (cleanup_barriers): Declare.
14960 * jump.c (cleanup_barriers): New function.
14961 * toplev.c (rest_of_compilation): Call cleanup_barriers
14962 before loop optimizer and after bb_reorder.
14963
14964 * flow.c (back_edge_of_syntactic_loop_p): New.
14965 (split_edge): Use it.
14966
14967 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14968
14969 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
14970
14971 Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
14972
14973 * cse.c (cse_process_notes): Replace any registers if the address
14974 remains valid.
14975
14976 Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
14977
14978 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
14979 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
14980 (propagate_block): Update prototype.
14981 * flow.c (update_life_info): Simplify the CFG and
14982 recalculate the global regs which are alive when
14983 removing dead code during a global update.
14984 (propagate_block): Return non-zero if an INSN is
14985 deleted.
14986
14987 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14988
14989 * Makefile.in (LIBICONV): Define.
14990
14991 2001-07-26 Catherine Moore <clm@redhat.com>
14992
14993 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
14994 of conditional to avoid tree checking errors.
14995
14996 2001-07-26 Kazu Hirata <kazu@hxi.com>
14997
14998 * regmove.c (regmove_optimize): Don't replace a reg with
14999 another reg of a different mode.
15000
15001 2001-07-26 Andrew MacLeod <amacleod@redhat.com>
15002
15003 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15004 limit length of dependency flush list.
15005 * params.h (MAX_PENDING_LIST_LENGTH): Define.
15006 * sched-int.h (struct deps): Add pending_flush_length field.
15007 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15008 has 1 element in it.
15009 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15010 (sched_analyze): After a jump, if the pending memory flush list is too
15011 large, flush the pending lists.
15012 (init_deps): Initialize pending_flush_length to 0.
15013 * doc/invoke.texi (max_pending_list_length): Document parameter.
15014
15015 2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
15016
15017 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15018 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15019 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15020
15021 2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15022
15023 * cpphash.h (struct_lexer_state): Delete was_skipping.
15024 Move skipping here from struct cpp_reader.
15025 * cpplex.c (parse_identifier): Update.
15026 (_cpp_lex_token): Don't skip tokens in a directive.
15027 * cpplib.c (struct if_stack): Update.
15028 (start_directive, end_directive): Don't change skipping state.
15029 (_cpp_handle_directive): Update.
15030 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15031 (do_else, do_endif): Update; only check for excess tokens if not
15032 in a skipped conditional block.
15033 (push_conditional): Update for new struct if_stack.
15034
15035 2001-07-26 Graham Stott <grahams@redhat.com>
15036
15037 * function.c (locate_and_pad_parm): Also pad initial offset
15038 so that the total argument size also includes the padding.
15039
15040 2001-07-26 Graham Stott <grahams@redhat.com>
15041
15042 * gensupport.c (alter_output_for_insn): Correct enable checking failure
15043 change XSTR to XTMPL.
15044
15045 (process_one_cond_exec): Likewise
15046
15047 2001-07-25 Richard Henderson <rth@redhat.com>
15048
15049 * varasm.c (assemble_variable): Create DECL_RTL before setting
15050 TREE_ASM_WRITTEN.
15051
15052 Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
15053
15054 * predict.c (estimate_probability): Avoid duplicated predictions.
15055
15056 * loop.c (find_and_verify_loops): Grok multiple barriers.
15057
15058 Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15059
15060 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15061
15062 * dbxout.c: Consistently use putc instead of fputc.
15063 (print_wide_int): New function; call instead of direct fprintf.
15064 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15065 (dbxout_type_fields, dbxout_type_method_1): Likewise.
15066 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15067 (print_int_cst_octal): Likewise.
15068 (print_octal): Show we wrote characters.
15069 (dbxout_type): Set have_used_extensions in more places.
15070
15071 2001-07-25 Catherine Moore <clm@redhat.com>
15072
15073 * config/v850/v850.c (v850_va_arg): Use addr
15074 instead of valist to build incr.
15075
15076 Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
15077
15078 * flow.c (delete_dead_jumptables): New function.
15079 (life_analyzis): Call it.
15080 * bb-reorder.c (skip_insns_after_block): Handle contradictory
15081 sequences.
15082
15083 2001-07-25 Richard Henderson <rth@redhat.com>
15084
15085 * except.c (reachable_handlers): Handle a region being removed
15086 out from under a RESX.
15087
15088 2001-07-25 Richard Henderson <rth@redhat.com>
15089
15090 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
15091 swap GE/GT if it is an fp comparison.
15092
15093 2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
15094
15095 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
15096 operands.
15097
15098 Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
15099
15100 * ssa.c (rename_insn_1): Do not wrap an assignment to a
15101 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
15102 glitch.
15103
15104 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
15105 throw an exception.
15106 (visit_expression): When attempting to simplify an expression,
15107 retrieve any modes for arguments before they are simplified
15108 to constants.
15109
15110 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
15111 Janis Johnson <janis@us.ibm.com>
15112
15113 * stmt.c (expand_goto): A nonlocal goto can be a call too.
15114 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
15115 pointer parameters to match documented usage of nonlocal_goto.
15116 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
15117 parameters to their correct order.
15118 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
15119 parameters to their correct order.
15120
15121 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
15122
15123 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
15124
15125 2001-07-25 Jan Hubicka <jh@suse.cz>
15126 Richard Henderson <rth@redhat.com>
15127
15128 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
15129 the sequence.
15130 (make_edges): New argument update_p; populate the edge cache if set.
15131 (find_basic_blocks): Update make_edges invocation.
15132
15133 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15134
15135 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
15136
15137 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15138
15139 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
15140 -Acpu and -Amachine.h.
15141 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
15142 Corrected header to say ELF not a.out.
15143 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
15144 when given -msoft-float.
15145
15146 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15147
15148 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
15149 extra multilib parts like arm-elf.
15150 (i960-*-coff*, i960-*-rtems): Should not use collect2.
15151 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
15152 crtfini.o as extra multilib parts.
15153
15154 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15155
15156 * configure.in: Add rtems as a supported thread model.
15157 * gthr-rtems.h: Add missing entry point __gthread_active_p.
15158 * configure: Rebuilt.
15159
15160 2001-07-24 Lars Brinkhoff <lars@nocrew.org>
15161
15162 * stor-layout.c (get_mode_alignment): make it work when
15163 BITS_PER_UNIT is not a power of two.
15164 * builtins.c (get_pointer_alignment): Likewise.
15165
15166 2001-07-24 Richard Henderson <rth@redhat.com>
15167
15168 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
15169 the retrieved constant into the expected mode.
15170
15171 Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
15172
15173 * flow.c (try_simplify_condjump): Avoid duplicated edges.
15174 (verify_flow_info): Check for duplicated edges; clarify
15175 error reporting.
15176
15177 * flow.c (block_label): Update basic_block_for_insn.
15178 (commit_edge_insertions): Call compute_bb_for_insn.
15179
15180 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
15181 returns too.
15182
15183 * flow.c (redirect_edge_and_branch,
15184 try_optimize_cfg): Use redirect_edge_succ_nodup
15185 (redirect_edge_succ_nodup): New.
15186 * basic_block.h (redirect_edge_succ_nodup): Declare.
15187
15188 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
15189 after gcse.
15190
15191 Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
15192
15193 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
15194 (try_crossjump_to_edge): Update commetns.
15195 (try_crossjump_bb): Likewise.
15196
15197 2001-07-24 Richard Henderson <rth@redhat.com>
15198
15199 * combine.c (distribute_notes): Move set of need_refresh
15200 for noop_move_p down to catch all cases.
15201
15202 Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
15203
15204 * recog.c (split_all_insns_noflow): New.
15205 * rtl.h (split_all_insns_noflow): Declare.
15206 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
15207 * m68hc11.c (m68hc11_reorg): Likewise.
15208 * sh.c (machine_dependent_reorg): Likewise.
15209 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
15210 call.
15211
15212 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
15213
15214 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
15215 (ashlsi3_n splitter): Likewise.
15216 (lshrsi3_n splitter): Likewise.
15217
15218 (GOTaddr2picreg): Make const SImode.
15219 (sym_label2reg): Likewise.
15220 (symGOT2reg): Likewise.
15221 (symGOTOFF2reg) Likewise.
15222
15223 (casesi_worker_0): Make unspec SImode.
15224
15225 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
15226
15227 * config/sh/sh.c (barrier_align): Check that an operand really is
15228 an insn before extracting its INSN_CODE.
15229
15230 2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
15231
15232 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
15233 dangling else.
15234
15235 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
15236 for SImode to prevent overflow.
15237
15238 2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15239
15240 * config/mips/irix6-libc-compat.c: New file.
15241 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
15242 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
15243 passing workaround.
15244
15245 2001-07-24 lars brinkhoff <lars@nocrew.org>
15246
15247 * rtl.texi (REG_POINTER): Document.
15248 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
15249 QFmode, HFmode, TQFmode, QCmode, and HCmode.
15250
15251 Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
15252
15253 * flow.c (delete_noop_moves): Do not confuse libcall regions.
15254
15255 2001-07-23 Richard Henderson <rth@redhat.com>
15256
15257 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
15258
15259 2001-07-23 Kazu Hirata <kazu@hxi.com>
15260
15261 * config/h8300/h8300-protos.h: Add a prototype for
15262 general_operand_dst_push.
15263 * config/h8300/h8300.c (general_operand_dst_push): New.
15264 * config/h8300/h8300.h (OK_FOR_T): New.
15265 (EXTRA_CONSTRAINT): Use it.
15266 * config/h8300/h8300.md (movqi_push): Remove and integrate into
15267 the existing movqi pattern.
15268 (movhi_push): Likewise.
15269
15270 * reload.c: Fix comment typos.
15271
15272 Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
15273
15274 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
15275
15276 2001-07-23 H.J. Lu (hjl@gnu.org)
15277
15278 * doc/extend.texi: Update __builtin_return_address and
15279 __builtin_frame_address.
15280
15281 2001-07-23 Richard Henderson <rth@redhat.com>
15282
15283 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
15284 before CSE.
15285 * config/i386/i386.md: New setcc+movzbl peephole2.
15286
15287 2001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15288
15289 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
15290 * objc/objc-act.c: Include debug.h.
15291 (synth_module_prologue): Save and restore debug hooks too.
15292
15293 2001-07-23 lars brinkhoff <lars@nocrew.org>
15294
15295 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
15296 and C4X_FLOAT_FORMAT.
15297 (BOOL_TYPE_SIZE): Document.
15298
15299 Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
15300
15301 * unroll.c (loop_iterations): Fix miscalculation of initial
15302 giv offset.
15303
15304 2001-07-13 Andrew Haley <aph@redhat.com>
15305
15306 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
15307 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
15308 * config/sh/sh.c (sh_can_redirect_branch): New function.
15309 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
15310 * reorg.c (steal_delay_list_from_target): Use
15311 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
15312
15313 Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
15314
15315 * flow.c (try_simplify_condjump): Unlink insn chain on
15316 fallthru edge; use can_fallthru.
15317
15318 Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
15319
15320 * basic-block.h (find_sub_basic_block): Declare.
15321 * flow.c (make_edges): New arguments MIN and MAX;
15322 (find_sub_basic_blocks): Revamp to use make_edges
15323 and purge_dead_edges.
15324 (find_basic_blocks): Update call of find_sub_basic_block.
15325
15326 * recog.c (split_all_insns): Always expect CFG to be consistent;
15327 call find_sub_basic_blocks in case something has changed.
15328 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
15329 has been built.
15330
15331 * basic-block.h (delete_noop_moves): Declare.
15332 * combine.c (combine_instructions): Call it.
15333 (recog_for_combine): Tolerate noop moves
15334 (distribute_notes): Force refresh when register dies at noop move.
15335 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
15336 too.
15337 (life_analysis): Update delete_noop_moves call.
15338 (set_noop_p): Move too ...
15339 * rtlanal.c (noop_move_p): ... here.
15340 * rtl.h (noop_move_p): Declare.
15341
15342 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
15343 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
15344 after combine.
15345 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
15346 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
15347
15348 2001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
15349
15350 * reload.c (push_reload): Fix typo in comment.
15351 (find_reloads_address): Ditto.
15352 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
15353
15354 2001-07-22 Richard Henderson <rth@redhat.com>
15355
15356 * flow.c: Grammar check and clarify a lot of comments.
15357 (try_simplify_condjump): Rename variables to be clearer.
15358 (try_forward_edges): Skip complex and fallthru edges.
15359 Rearrange tests to avoid duplicate checks.
15360 (flow_find_cross_jump): Likewise.
15361 (outgoing_edges_match): Allow match if neither branch has
15362 probability data. Loosen probability match to 5%.
15363 (try_crossjump_to_edge): Hoist repeated indirection into
15364 local variables.
15365 (try_crossjump_bb): Don't check complex edges. Eliminate
15366 redundant crossjump tests.
15367 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
15368 checks before more expensive checks.
15369
15370 2001-07-22 Richard Henderson <rth@redhat.com>
15371
15372 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
15373 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
15374 arguments.
15375
15376 2001-07-22 Richard Henderson <rth@redhat.com>
15377
15378 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
15379 (const_sint32_operand): Likewise.
15380 * m68k.md (anon mulsi pattern): Use const_int_operand not
15381 const_sint32_operand.
15382 (umulsi3_highpart): Zero extend a constant input.
15383 (smulsi3_highpart): Don't bother checking SImode constant.
15384 (const_umulsi3_highpart): Give op3 DImode.
15385 (const_smulsi3_highpart): Likewise.
15386
15387 2001-07-22 Richard Henderson <rth@redhat.com>
15388
15389 * flow.c (split_block): Make sure bb_note is included in the
15390 new block when splitting before a label.
15391
15392 Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
15393
15394 * basic-block.h (redirect_edge_and_branch_force,
15395 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
15396 * flow.c (redirect_edge_and_branch_force,
15397 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
15398 (redirect_edge_and_branch_force): Fix copying of lifeness information.
15399 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
15400 * ifcvt.c (dead_or_predictable): Take BB as an new destination
15401 instead of label; update CFG after transformation.
15402 (find_if_case_1): Update call, use redirect_edge_and_branch_force
15403 for finishing the transformation; handle even case where ELSE
15404 does not follow THEN.
15405 (find_if_case_2): Update call of dead_or_predictable; simplify
15406 CFG update.
15407
15408 * emit-rtl.c (split_branch_probability): New global variable.
15409 (try_split): Take care to set split_branch_probability and
15410 create REG_BR_PROB note for new jump insns.
15411 * md.texi (define_split): Document new feature.
15412
15413 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
15414
15415 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
15416
15417 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
15418 (asm_out_file): Remove redundant declaration.
15419 (assemble_asm): Remove old #if 0 block.
15420 (assemble_variable): Remove end of function; debug output is
15421 now handled with global_decl. Remove old #if 0 block. Update.
15422 Remove saved_in_section and associated no-op code.
15423 * Makefile.in (varasm.o): Correct dependencies.
15424
15425 Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
15426
15427 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
15428 the definition in defaults.h.
15429
15430 Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
15431
15432 * jump.c: Update comments.
15433 (delete_barrier_successors, delete_unreferenced_labels,
15434 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
15435 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
15436 jump_optimize, jump_optimize_minimal): Kill.
15437 (rebuild_jump_labels): Move code from jump_optimize_1.
15438 (purge_line_number_notes): Likewise.
15439 (copy_loop_headers): Likewise.
15440 * reg-stack.c: Update comment.
15441 * stmt.c: Likewise.
15442 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
15443 JUMP_AFTER_REGSCAN): Kill.
15444 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
15445 purge_line_number_notes and copy_loop_headers.
15446
15447 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
15448 Richard Henderson <rth@redhat.com>
15449
15450 * dbxout.c (dbxout_global_decl): New.
15451 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15452 * sdbout.c (sdbout_finish): New.
15453 (sdbout_debug_hooks): Use it, add comments.
15454 (sdbout_global_decl): Defer initialised public vars to
15455 sdbout_finish.
15456 * varasm.c (assemble_variable): Don't output debug information
15457 for file-scope variables.
15458
15459 2001-07-22 Richard Henderson <rth@redhat.com>
15460
15461 * config/alpha/alpha.c (get_trap_mode_suffix): New.
15462 (get_round_mode_suffix): New.
15463 (print_operand): Use them for [/]. Remove support for [&'`()+].
15464 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
15465 * config/alpha/alpha.md (attr round_suffix): New.
15466 (attr trap_suffix): New.
15467 (all insns): Set them appropriately. Use %/ instead of the
15468 myriad punctuators.
15469
15470 2001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15471
15472 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
15473
15474 2001-07-22 Richard Henderson <rth@redhat.com>
15475
15476 * regrename.c (regrename_optimize): Compute nregs for each
15477 potential target register.
15478
15479 2001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
15480 Richard Henderson <rth@redhat.com>
15481
15482 * dbxout.c (dbxout_global_decl): New.
15483 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15484 * sdbout.c (sdbout_finish): New.
15485 (sdbout_debug_hooks): Use it, add comments.
15486 (sdbout_global_decl): Defer initialised public vars to
15487 sdbout_finish.
15488 * varasm.c (assemble_variable): Don't output debug information
15489 for file-scope variables.
15490
15491 2001-07-21 H.J. Lu (hjl@gnu.org)
15492
15493 * config/mips/mips.c (mips_cpu): Moved into ...
15494 (override_options): Here.
15495
15496 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
15497 mips_tune.
15498 (mips_cpu): Removed.
15499
15500 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15501
15502 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
15503 ("iorqi3"): Likewise.
15504 ("xorqi3"): Likewise.
15505 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
15506 ("*subhi3_sp): Likewise.
15507 ("*subhi3"): Likewise.
15508 ("extendhisi2"): Accept D, X and Y as source operand to avoid
15509 reload problems.
15510
15511 2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
15512
15513 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
15514 * config/freebsd.h: Likewise.
15515 * config/linux.h: Likewise.
15516 * config/openbsd.h: Likewise.
15517 * config/alpha/linux-elf.h: Likewise.
15518 * config/arm/linux-elf.h: Likewise.
15519 * config/d30v/d30v.h: Likewise.
15520 * config/fr30/fr30.h: Likewise.
15521 * config/ia64/aix.h: Likewise.
15522 * config/ia64/ia64.h: Likewise.
15523 * config/mips/linux.h: Likewise.
15524 * config/pj/pj.h: Likewise.
15525 * config/rs6000/linux.h: Likewise.
15526 * config/sparc/linux.h: Likewise.
15527 * config/sparc/linux64.h: Likewise.
15528
15529 2001-07-20 Bruce Korb <bkorb@gnu.org>
15530
15531 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
15532 because getc() and char* may disagree on signedness.
15533
15534 2001-07-20 Richard Henderson <rth@redhat.com>
15535
15536 * doc/rtl.texi (REG_DEAD): Update for current semantics.
15537
15538 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
15539 insns to delete in the presence of cc0 in a jump insn.
15540
15541 Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
15542 Jan Hubicka <jh@suse.cz>
15543
15544 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
15545 of doing the change by hand.
15546
15547 Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
15548
15549 * rtlanal.c (set_noop_p): Return true for noop jumps.
15550
15551 * expr.c (emit_single_push_insn): Add call to push expander.
15552 * expr.h (optab_index): Add OTI_push
15553 (push_optab): New constant.
15554 * genopinit.c (optabs): Add push_optab.
15555 * optabs.c (init_optab): Init push optab.
15556 * md.texi (push??1): Document
15557
15558 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15559
15560 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
15561 expand to emit the pattern; put a REG_INC note for push/pop
15562 instructions.
15563 ("movdf", "movdf_internal"): Likewise.
15564 ("movsi", "movsi_internal"): Likewise.
15565 ("movsf", "movsf_internal"): Likewise.
15566 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
15567
15568 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15569
15570 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
15571 gen_highpart.
15572
15573 2001-07-20 Daniel Berlin <dan@cgsoftware.com>
15574
15575 * params.def: Change default max inline insns to 100.
15576
15577 2001-07-20 Diego Novillo <dnovillo@redhat.com>
15578
15579 * combine.c (combine_simplify_rtx): Generate a new shift operation
15580 when simplifying the first operand of a (neg (ashift)) expression.
15581
15582 2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
15583
15584 * regclass.c (N_REG_INTS): Use only 32 bits per element.
15585
15586 2001-07-20 Kelley Cook <kelley.cook@home.com>
15587
15588 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
15589 information. Move rest into ...
15590 (*-*-solaris): ... here. Eliminate redundant information and
15591 reword necessary packages section. Delete 4.x assembler bug info.
15592 (sparc-sun-*): Merge into ...
15593 (sparc-sun-sunos*): here.
15594
15595 2001-07-20 Catherine Moore <clm@redhat.com>
15596
15597 * config/v850/v850.md (casesi): Generate LABEL_REF
15598 with Pmode.
15599
15600 Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
15601
15602 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
15603 * i386.c (ix86_zero_extend_to_Pmode): Make global.
15604 * i386.md (strclrsi expander): Use it.
15605
15606 Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
15607
15608 * integrate.c (copy_insn_list): handle
15609 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
15610 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
15611 identically as to CODE_LABEL.
15612
15613 * fold-const (fold): Convert A/B/C to A/(B*C) and
15614 A/(B/C) to (A/B)*C
15615
15616 * except.c (connect_post_landing_pads): Delete the RESX insns.
15617
15618 2001-07-20 Aldy Hernandez <aldyh@redhat.com>
15619
15620 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
15621
15622 * config/mips/mips.md (nmadd/nmsub): Use macro.
15623
15624 2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
15625
15626 * cppinit.c (remove_dup_dir): Make static.
15627 (remove_dup_dirs): Make static. Only warn about preempting a
15628 system directory with a non-system directory.
15629
15630 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
15631
15632 * ifcvt.c (noce_try_store_flag_constants): Correct order
15633 of parameters to trunc_int_for_mode.
15634
15635 2001-07-19 Mark Mitchell <mark@codesourcery.com>
15636
15637 * reorg.c (fill_simple_delay_slots): If an instruction might throw
15638 an exception that will be caught within this function, do not fill
15639 its delay slot with any subsequent instruction.
15640
15641 2001-07-19 Steve Ellcey <sje@cup.hp.com>
15642
15643 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
15644 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
15645 pointer extension instruction.
15646 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
15647 * simplify-rtx.c (simplify_unary_operation) Likewise.
15648 * explow.c (convert_memory_address) Check value of
15649 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
15650 less than zero.
15651 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
15652 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
15653 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
15654 Add Multilib Support.
15655 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
15656 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
15657 Add Multilib Support.
15658 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
15659 support.
15660 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
15661 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
15662 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
15663
15664 2001-07-19 Alexandre Oliva <aoliva@redhat.com>
15665
15666 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
15667 old and new operands in `<', `3' and `b'.
15668
15669 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15670
15671 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
15672 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
15673 (toplev.o): Don't depend on xcoffout.h.
15674 * c-decl.c: Include debug.h
15675 (duplicate_decls): Use debug hook.
15676 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
15677 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15678 (dbxout_types): Remove.
15679 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
15680 * debug.c (do_nothing_debug_hooks): Update.
15681 (debug_true_tree, debug_nothing_rtx): New.
15682 * debug.h (struct rtx_def): New.
15683 (struct gcc_debug_hooks): New hooks ignore_block,
15684 outlining_inline_function and label.
15685 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
15686 dwarf2out_frame_finish): New.
15687 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
15688 Make static, update prototype.
15689 (dwarf2_debug_hooks): Update.
15690 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
15691 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
15692 * dwarfout.c (dwarf_debug_hooks): Update.
15693 * emit-rtl.c: Include debug.h.
15694 (remove_unnecessary_notes): Use debug hook.
15695 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
15696 (final_scan_insn): Use debug hook.
15697 * integrate.c (output_inline_function): Use debug hook.
15698 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
15699 (sdb_debug_hooks): Update.
15700 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
15701 * toplev.c: Don't include xcoffout.h.
15702 (note_outlining_of_inline_function, debug_ignore_block): Remove.
15703 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
15704 Remove.
15705 * tree.h (dwarf2out_do_frame): Remove.
15706
15707 2001-07-19 Catherine Moore <clm@cygnus.com>
15708
15709 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
15710
15711 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
15712
15713 * reload1.c (eliminate_regs_in_insn): When updating a set
15714 to the frame pointer to the hardware frame pointer, perform
15715 the update always not just when REPLACE is set.
15716
15717 * reload1.c (choose_reload_regs): Don't inherit a reload
15718 that crosses multiple registers if registers past the first
15719 don't fit in the desired class.
15720
15721 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
15722 when negating constants.
15723
15724 2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
15725
15726 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
15727 * doc/tree.texi: Ditto.
15728
15729 2001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
15730 Jakub Jelinek <jakub@redhat.com>
15731
15732 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
15733 (extract_cie_info): Handle "eh" augmentation properly,
15734 remember eh_ptr.
15735 (struct frame_state, __frame_state_for): New.
15736
15737 2001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15738
15739 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
15740 HANDLE_SYSV_PRAGMA): Define.
15741 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
15742 previous args.
15743 (copy_object): Caller changed.
15744
15745 2001-07-19 Andreas Schwab <schwab@suse.de>
15746
15747 * configure.in (assembler dwarf2 debug_line support): Define nop
15748 insn for m68k.
15749 * configure: Regenerated.
15750
15751 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15752
15753 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
15754 dwarfout.h.
15755 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
15756 to conditionally compiled block.
15757 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15758 * dbxout.h (dbxout_function): Remove.
15759 * debug.c (do_nothing_debug_hooks): Update.
15760 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
15761 global_decl, deferred_inline_function.
15762 * dwarf2out.c (dwarf2_debug_hooks): Update.
15763 (dwarf2out_global_decl): New.
15764 * dwarfout.c: Don't include dwarfout.h.
15765 (dwarfout_global_decl, dwarfout_function_decl,
15766 dwarfout_deferred_inline_function): New.
15767 (dwarf_debug_hooks): Update.
15768 * dwarfout.h: Remove.
15769 * final.c: Don't include dwarfout.h.
15770 * sdbout.c (sdbout_global_decl): New.
15771 (sdbout_debug_hooks): Update.
15772 * toplev.c: Don't include dwarfout.h.
15773 (check_global_declarations, rest_of_compilation): Use new debug hooks.
15774 (note_deferral_of_defined_inline_function): Remove.
15775 * toplev.h (note_deferral_of_defined_inline_function): Remove.
15776 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
15777 * ch/lex.c: Don't include dwarfout.h.
15778 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
15779 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
15780 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
15781 * cp/optimize.c: Include debug.h.
15782 (maybe_clone_body): Use debug hook.
15783 * cp/semantics.c: Include debug.h.
15784 (expand_body): Use debug hook.
15785 * po/POTFILES.in: Remove dwarfout.h.
15786
15787 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15788
15789 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
15790 * c-parse.in (yyerror, _yylex): Similarly.
15791 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
15792 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
15793 Update comments.
15794 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
15795 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
15796
15797 2001-07-18 Jeff Sturm <jsturm@one-point.com>
15798
15799 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
15800 in-class declaration at -g1. Fixes c++/2814.
15801
15802 2001-07-18 Richard Henderson <rth@redhat.com>
15803
15804 * doc/md.texi (reload_in/out): Document restrictions in predicates
15805 and constraints for these patterns. Document empty string matching
15806 ALL_REGS.
15807
15808 2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15809
15810 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
15811
15812 Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
15813
15814 * cse.c: Undo my previous patch.
15815
15816 2001-07-18 Tom Tromey <tromey@redhat.com>
15817
15818 For PR java/2812:
15819 * configure: Rebuilt.
15820 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
15821 instead.
15822 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
15823
15824 Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
15825 Jan Hubicka <jh@suse.cz>
15826
15827 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
15828 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
15829 * jump.c (mark_jump_label): Do not forward branches.
15830
15831 Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
15832
15833 * cse.c (delete_trivially_dead_insns): Delete the libcall block
15834 when return value is unused.
15835
15836 Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
15837
15838 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
15839
15840 Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
15841
15842 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
15843 on error. We can't blindly return the result of
15844 pthread_mutex_trylock because it returns a positive number on
15845 error, while we must return -1 on error.
15846 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
15847 fixes.
15848 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
15849
15850 2001-07-18 Andreas Jaeger <aj@suse.de>
15851
15852 * integrate.c (output_inline_function): Correct type of debug_hooks.
15853
15854 2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
15855
15856 * combine.c (combine_simplify_rtx): DIV can be treated
15857 associatively for floats if unsafe math optimisations are enabled.
15858
15859 2001-07-17 Richard Henderson <rth@redhat.com>
15860
15861 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
15862
15863 2001-07-17 Richard Henderson <rth@redhat.com>
15864
15865 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
15866 don't force the function address into a register.
15867 (expand_call, emit_library_call_value_1): Update callers.
15868 * builtins.c (expand_builtin_apply): Likewise.
15869 * expr.h (prepare_call_address): Update decl.
15870
15871 2001-07-17 Chandrakala Chavva <cchavva@redhat.com>
15872
15873 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
15874 config directory.
15875 * config/i386/chorus.h: Move up.
15876 * config/sparc/chorus.h: Likewise.
15877 * config/rs6000/chorus.h: Likewise.
15878 * config/chorus.h: Moved here.
15879
15880 2001-07-17 Andreas Schwab <schwab@suse.de>
15881
15882 * configure.in (assembler eh_frame optimization): Handle big
15883 endian.
15884 * configure: Regenerated.
15885
15886 Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
15887
15888 * expr.c (epxand_expr): Convert divisions into multiplications by
15889 reciprocals if -ffast-math.
15890
15891 2001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
15892
15893 * dbxout.c (dbxout_really_begin_function): Rename to
15894 dbxout_begin_function.
15895 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15896 (dbxout_begin_function): Remove.
15897 (dbxout_function): Update.
15898 (dbxout_source_line): Update prototype.
15899 * dbxout.h (dbxout_begin_function): Remove.
15900 * debug.c (do_nothing_debug_hooks): Update.
15901 (debug_nothing_tree): Update.
15902 (debug_nothing_charstar_rtx): Remove.
15903 * debug.h (union tree_node): Declare.
15904 (struct rtx_def): Remove.
15905 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
15906 begin_function. Change source_line prototype.
15907 (debug_nothing_tree): New.
15908 (debug_nothing_charstar_rtx): Delete.
15909 (dwarf2out_begin_prologue): Moved from ...
15910 * tree.h: ... here.
15911 * dwarf2out.c (dwarf2_debug_hooks): Update.
15912 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
15913 debug info, call dwarf2out_source_line.
15914 (dwarf2out_souce_line): Update prototype.
15915 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
15916 Change prototype, make static.
15917 (dwarfout_source_line): Update prototype.
15918 (dwarf_debug_hooks): Update.
15919 * dwarfout.h (dwarfout_begin_function): Remove.
15920 * final.c (final_start_function, final_scan_insn): Use appropriate
15921 debug hooks, update to use notice_source_line.
15922 (output_source_line): Rename notice_source_line. Don't call the
15923 source_line debug hook.
15924 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
15925 make static, update prototype.
15926 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
15927 prototype.
15928 (sdbout_end_prologue): New.
15929 (sdbout_source_line): Update prototype.
15930 (sdbout_debug_hooks): Update.
15931 (sdbout_symbol): Remove unused var.
15932 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
15933 Delete.
15934 * varasm.c: Include debug.h.
15935 (assemble_start_function): Use begin_function debug_hook.
15936 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15937 update with prototype.
15938 (xcoffout_source_line): Update prototype.
15939 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15940 update prototype.
15941 (xcoffout_source_line): Update prototype.
15942
15943 2001-07-17 Richard Henderson <rth@redhat.com>
15944
15945 * c-typeck.c (build_binary_op): Do not shorten unsigned
15946 right shift after sign extension.
15947
15948 Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
15949
15950 * combine.c (combine_simplify_rtx): Attempt to simplify
15951 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
15952
15953 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
15954 (simplify_binary_operation, simplify_unary_operation,
15955 simplify_relational_operation): Use it.
15956
15957 * combine.c (combine_simplify_rtx): Don't do associative law
15958 on divisions; allow associative law on floats.
15959
15960 2001-07-17 H.J. Lu <hjl@gnu.org>
15961 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15962
15963 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
15964 ASM_OUTPUT_WEAK_ALIAS are defined.
15965 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
15966 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
15967 Moved ...
15968 * config/mips/iris5.h: ... here.
15969 (HANDLE_SYSV_PRAGMA): Defined as 1.
15970 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
15971 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
15972 symbol.
15973
15974 2001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
15975
15976 * c-parse.in (all_prefix_attributes): New variable.
15977 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
15978 (maybe_resetattrs): New production.
15979 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
15980 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
15981 notype_initdcl, nested_function, notype_nested_function,
15982 component_decl, components, components_notype,
15983 component_declarator, component_notype_declarator,
15984 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
15985 ivars, mydecl, myparm): Update. Avoid prefix attributes just
15986 after a comma being applied to more than one declarator.
15987 * doc/extend.texi (Attribute Syntax): Update. Remove
15988 documentation of bugs that are no longer present.
15989
15990 2001-07-13 Eric Christopher <echristo@redhat.com>
15991
15992 * config/mips/mips.h: Change TUNE_MIPS* options to use
15993 mips_tune.
15994 (EXTRA_SPECS): Add cc1_cpu_spec.
15995 * config/mips/mips.md (muldf3): Fix typo.
15996
15997 2001-07-16 Richard Henderson <rth@redhat.com>
15998
15999 * config/m68k/m68k.c: Include expr.h and reload.h.
16000 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16001 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16002
16003 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
16004 Richard Henderson <rth@redhat.com>
16005
16006 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16007 (insn_live_p): Fix fall off end of function.
16008 (dead_libcall_p): Remove COUNTS argument; update callers.
16009 (delete_trivially_dead_insns): Remove unused variables.
16010
16011 2001-07-17 Andreas Jaeger <aj@suse.de>
16012
16013 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16014 x86-64 pic support.
16015
16016 * lcm.c (optimize_mode_switching): Avoid warning for unused
16017 variable if !NORMAL_MODE.
16018
16019 * flow.c (try_crossjump_to_edge): Remove unused variable.
16020
16021 2001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
16022
16023 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16024 atexit declaration in stdlib.h.
16025
16026 2001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
16027
16028 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16029
16030 Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
16031
16032 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16033 * except.c (finish_eh_generation): Update call of cleanup_cfg;
16034 do rebuild_jump_labels instead of jump_optimize
16035 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16036 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16037 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16038
16039 * flow.c: Include timevar.h
16040 (find_basic_block): Push/pop timevar;
16041 (cleanup_cfg): Likewise.
16042 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16043 * Makefile: Add dependencies on timevar.h
16044
16045 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16046 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16047
16048 * rtl.h (delete_trivially_dead_insns): Add new parameter.
16049 * toplev.c (rest_of_compilation): Update calls.
16050 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16051 (delete_trivially_dead_insns): ... here; accept new argument
16052 preserve_basic_blocks; preserve basic blocks if set.
16053
16054 * reg-stack.c (stack_regs_mentioned): Return 0 if
16055 stack_regs_mentioned_data is not initialized.
16056 (reg_to_stack): Make stack_regs_mentioned survive after the
16057 reg-stack is completted; do not call cleanup_cfg.
16058 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16059 make cleanup_cfg after bb-reorder to output to debug file.
16060
16061 2001-07-16 Richard Henderson <rth@redhat.com>
16062
16063 * regclass.c (init_reg_sets): Use only 32 bits per initializer
16064 from int_reg_class_contents.
16065
16066 2001-07-16 Richard Henderson <rth@redhat.com>
16067
16068 * hard-reg-set.h (regs_invalidated_by_call): Declare.
16069 * regclass.c (regs_invalidated_by_call): Move from cse.c.
16070 (init_reg_sets_1): Move initialization from cse_main.
16071 * cse.c (regs_invalidated_by_call): Move to regclass.c.
16072 (cse_main): Move its initialization also.
16073 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16074 * flow.c (propagate_one_insn): Likewise.
16075 * gcse.c (compute_hash_table): Likewise.
16076 (compute_kill_rd, compute_store_table): Likewise.
16077 * sched-deps.c (sched_analyze_1): Likewise.
16078
16079 Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
16080
16081 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16082 gen_rtx_SET.
16083
16084 2001-07-16 Steve Ellcey <sje@cup.hp.com>
16085
16086 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
16087 in if statement so we don't access undefined memory.
16088
16089 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
16090
16091 * gcse.c: Update comment at top.
16092 Update comment on mem handling.
16093 mem_last_set, mem_first_set, mem_set_in_block: gone.
16094 Declaration of reg_set_info: gone.
16095 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
16096 pointless with load_killed_in_block_p (they are *more*
16097 conservative then it, not less, and less accurate).
16098 (oprs_not_set_p): Ditto.
16099 (alloc_gcse_mem): Don't allocate mem_set_in_block
16100 (free_gcse_mem): Don't free it, either.
16101 (record_last_mem_set_info): Update comment in front, remove
16102 mem_*set_* stuff. Note the reason we don't handle stores directly
16103 here.
16104 (compute_hash_table): Update comments to reflect reality. Remove
16105 mem_*set_* references.
16106 (reset_opr_set_tables): Remove mem_*set_* references.
16107 (mark_call): Ditto.
16108 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
16109 (mark_clobber): Ditto (on both parts, we double set here too).
16110 (expr_killed_p): Remove mem_set_in_block test.
16111 (compute_transp): Remove mem_set_in_block test.
16112
16113 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
16114 of edge, and removal of phi alternative to dump file.
16115 (ssa_ccp_substitute_constants): Add note about register now being
16116 constant, and which uses were replaced in what insns to dump file.
16117
16118 2001-07-16 Andreas Jaeger <aj@suse.de>
16119
16120 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
16121 variables of type HOST_WIDEST_INT.
16122
16123 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
16124 (__bb_exit_func): Correct type of count_max to avoid overflow.
16125 (num_digits): Handle long long argument.
16126
16127 * combine.c (gen_lowpart_for_combine): Remove unused variable.
16128
16129 2001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
16130
16131 * output.h (sdb_begin_function_line): Restore as an extern
16132 variable.
16133 * sdbout.c (sdb_begin_function_line): Make extern.
16134
16135 2001-07-15 Richard Henderson <rth@redhat.com>
16136
16137 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
16138 * genrecog.c (maybe_both_true_mode): New.
16139 (maybe_both_true_2): Use it.
16140 (write_switch): Don't put Pmode in a switch.
16141 * rtl.c (mode arrays): Don't explicitly size them.
16142
16143 Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
16144
16145 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
16146 handling; move unconditional splitting before mode switching.
16147
16148 * i386.md (type): Add fistp type.
16149 (i387, length_attr, scheduling definitions): Handle this type.
16150 (fix_trunc?f?i2): Revamp to use mode switching.
16151 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
16152 * i386.h (fp_cw_mode): New enum
16153 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
16154 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
16155
16156 Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16157
16158 * Makefile.in (integrate.o): Add debug.h.
16159 * integrate.c (debug.h): Add.
16160 (output_inline_function): Save, reset, and restore debug_hooks.
16161
16162 2001-07-15 Richard Henderson <rth@redhat.com>
16163
16164 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
16165 instead of COMPARE for the EQUIV expression.
16166
16167 2001-07-15 Richard Henderson <rth@redhat.com>
16168
16169 * flow.c (redirect_edge_and_branch_force): Initialize
16170 global_live_at_start and global_live_at_end.
16171 (allocate_bb_life_data): Export.
16172 * basic-block.h (allocate_bb_life_data): Declare.
16173 * toplev.c (rest_of_compilation): Call it.
16174
16175 2001-07-15 Richard Henderson <rth@redhat.com>
16176
16177 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
16178 (alpha_tablejump_best_label): New.
16179 * config/alpha/alpha-protos.h: Declare them.
16180 * config/alpha/alpha.md: Use braced strings for code blocks.
16181 (tablejump_osf): Break out add with r29.
16182 (tablejump_osf_internal): Remove.
16183 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
16184 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
16185
16186 Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
16187
16188 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
16189 of the movable.
16190
16191 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
16192
16193 * i386-protos.h (ix86_split_fp_branch): Update prototype.
16194 (ix86_fp_jump_nontrivial_p): New.
16195 * i386.md (fp_jcc_?): Update call of split_fp_branch;
16196 use ix86_fp_jump_nontrivial_p.
16197 * i386.c (ix86_fp_jump_nontrivial_p): New.
16198 (ix86_split_fp_branch): Accept code instead of rtx.
16199 (ix86_expand_compare): Expand comparison early in case
16200 doing so is resonably cheap.
16201
16202 2001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
16203
16204 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
16205 not 'machine'.
16206 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
16207 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
16208
16209 2001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
16210
16211 * dbxout.c (dbxout_source_line): Make static, update prototype.
16212 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
16213 (dbxout_init, dbxout_finish, dbxout_source_line,
16214 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
16215 * dbxout.h (dbxout_source_line): Delete.
16216 * debug.c (debug_nothing_file, debug_nothing_file_int,
16217 debug_nothing_file_charstar_rtx): New.
16218 (do_nothing_debug_hooks): Update.
16219 (debug_nothing_void, debug_nothing_charstar_rtx,
16220 dwarf2out_end_epilogue): New.
16221 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16222 * debug.h (struct rtx_def): Declare.
16223 (gcc_debug_hooks): New hooks source_line, end_epilogue
16224 and end_function.
16225 (debug_nothing_void, debug_nothing_charstar_rtx,
16226 dwarf2out_end_epilogue): New.
16227 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16228 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
16229 (dwarf2_debug_hooks): Update.
16230 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
16231 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
16232 * dwarf2out.h (dwarf2out_source_line): Remove.
16233 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
16234 Make static, update prototype.
16235 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
16236 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
16237 (dwarf_debug_hooks): Update.
16238 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
16239 dwarfout_end_function): Remove.
16240 * final.c (profile_function): Use debug hooks for ending functions
16241 and epilogues.
16242 (output_source_line, final_end_function): Update prototype,
16243 use debug hooks.
16244 (final_start_function, final_scan_insn): Update.
16245 * output.h (sdb_begin_function_line): Remove.
16246 (final_end_function): Update prototype.
16247 * sdbout.c (sdb_begin_function_line): Make static.
16248 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
16249 (sdbout_source_line): New.
16250 (sdbout_end_epilogue, sdbout_end_function): Make static, update
16251 prototypes.
16252 (sdb_debug_hooks): Update.
16253 (sdbout_init, sdbout_source_line,
16254 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
16255 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
16256 * toplev.c (compile_file, rest_of_compilation): Update.
16257 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
16258 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
16259 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
16260 Update for prototype changes.
16261 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
16262 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
16263
16264 2001-07-15 Richard Henderson <rth@redhat.com>
16265
16266 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
16267 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
16268 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
16269 * config/alpha/alpha.c: Likewise.
16270 * config/alpha/alpha.md: Likewise.
16271 * config/alpha/alpha32.h: Likewise.
16272 * config/alpha/vms.h: Likewise.
16273 (OPEN_VMS): Remove.
16274
16275 2001-07-14 Richard Henderson <rth@redhat.com>
16276
16277 * config/alpha/alpha.md: Use define_constants for unspec values.
16278 Substitute throughout.
16279
16280 2001-07-14 Tim Josling <tej@melbpc.org.au>
16281
16282 * tree.def (EXPON_EXPR) remove. Never supported anyway.
16283
16284 2001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
16285
16286 * pa.md: Remove unused constraints from define_split's.
16287
16288 2001-04-14 Richard Henderson <rth@redhat.com>
16289
16290 * ifcvt.c (find_cond_trap): Test for exit block.
16291
16292 Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
16293
16294 Re-install recently reverted patch.
16295 * emit-rtl.c (try_split): Update mark_jump_label call.
16296 * flow.c (find_sub_basic_blocks): Likewise.
16297 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16298 jump_back_p): Kill.
16299 (mark_all_labels): Kill second parameter.
16300 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16301 (rebuild_jump_labels, jump_optimize_minimal): Update call
16302 of jump_optimize_1.
16303 (jump_optimize_1): Kill crossjumping code.
16304 (mark_jump_label): Kill cross_jump parameter.
16305 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16306 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16307 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16308 splitting.
16309 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16310 DFI_bpro.
16311 (dump_file_info): Likewise.
16312 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16313 reorganize passes to do reg-stack first, bb-reorder second.
16314 * invoke.texi (-d letters doc): Remove the jump2 pass.
16315
16316 2001-07-14 Richard Henderson <rth@redhat.com>
16317
16318 * ifcvt.c (find_cond_trap): New.
16319 (find_if_header): Call it.
16320 (merge_if_block): Relax existing jump sanity check.
16321 * jump.c (jump_optimize_1): Remove conditional trap handling.
16322
16323 2001-07-14 Alan Modra <amodra@bigpond.net.au>
16324
16325 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
16326 millicode.
16327 (insn_refs_are_delayed): Correct comment.
16328 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
16329 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
16330 instead of r31. Make associated insn !TARGET_64BIT, and
16331 provide an additional 64-bit insn that clobbers r2.
16332 (divsi3): Likewise.
16333 (udivsi3): Likewise.
16334 (modsi3): Likewise.
16335 (umodsi3): Likewise.
16336
16337 Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
16338
16339 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
16340
16341 * flow.c (redirect_edge_and_branch_force, split_edge,
16342 try_crossjump_to_edge): Use set_block_for_new_insns.
16343 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
16344
16345 2001-07-13 H.J. Lu (hjl@gnu.org)
16346
16347 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
16348 the correct patch.
16349
16350 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
16351
16352 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
16353
16354 2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
16355
16356 * c-common.c (decl_attributes): Take a pointer to the node to
16357 which attributes are to be attached, and a flags argument.
16358 * c-common.h (enum attribute_flags): New.
16359 (decl_attributes): Update prototype.
16360 * c-decl.c (start_decl, push_parm_decl, finish_struct,
16361 finish_enum, start_function): Update calls to decl_attributes.
16362 * c-parse.in (component_declarator, component_notype_declarator,
16363 label): Update calls to decl_attributes.
16364
16365 Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
16366
16367 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
16368 * config/avr/avr.c (legitimate_address_p): Return value changed
16369 from letter to register classes. For better debugging.
16370
16371 2001-07-13 Kazu Hirata <kazu@hxi.com>
16372
16373 * jump.c (reversed_comparison_code_parts): Fix comment typos.
16374
16375 2001-07-13 H.J. Lu (hjl@gnu.org)
16376
16377 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
16378
16379 2001-07-13 Marc Espie <espie@cvs.openbsd.org>
16380
16381 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
16382 correctly for shared configurations.
16383 * config/t-libgcc-pic: New.
16384 * config/{i386,m68k,sparc}/t-openbsd: New.
16385 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
16386 Support -shared. Support debugging libraries with -g.
16387 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
16388 frame information does not emit pointer diffs.
16389 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
16390 emit pointer diffs.
16391
16392 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
16393
16394 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
16395
16396 2001-07-13 David Edelsohn <edelsohn@gnu.org>
16397
16398 * combine.c (try_combine): Ensure const_int pow2 is positive.
16399
16400 2001-07-13 Hartmut Penner <hpenner@de.ibm.com>
16401
16402 * config.gcc: Add configuration for s/390.
16403 * config/s390/s390.c: New. Subroutines for code generation.
16404 * config/s390/s390.h: New. Definitions for s/390.
16405 * config/s390/s390-protos.h: New. Prototypes.
16406 * config/s390/linux.h: New. Definitions for linux for s/390.
16407 * config/s390/linux64.h: New. Definitions for linux for zSeries.
16408 * config/s390/t-linux: New. Makefile fragment.
16409 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
16410 * config/s390/fixdfdi.h: New. Fix L_fix*di.
16411
16412 Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
16413
16414 * emit-rtl.c (try_split): Update mark_jump_label call.
16415 * flow.c (find_sub_basic_blocks): Likewise.
16416 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16417 jump_back_p): Kill.
16418 (mark_all_labels): Kill second parameter.
16419 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16420 (rebuild_jump_labels, jump_optimize_minimal): Update call
16421 of jump_optimize_1.
16422 (jump_optimize_1): Kill crossjumping code.
16423 (mark_jump_label): Kill cross_jump parameter.
16424 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16425 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16426 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16427 splitting.
16428 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16429 DFI_bpro.
16430 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16431 reorganize passes to do reg-stack first, bb-reorder second.
16432 * invoke.texi (-d letters doc): Remove the jump2 pass.
16433
16434 2001-07-12 Steve Ellcey <sje@cup.hp.com>
16435
16436 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
16437
16438 Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
16439
16440 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
16441 basic blocks.
16442 (verify_flow_info): Make diagnostics prettier.
16443
16444 Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
16445
16446 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
16447
16448 * flow.c (outgoing_edges_match): Return early if condition reversal
16449 failed.
16450
16451 2001-07-06 Richard Sandiford <rsandifo@redhat.com>
16452
16453 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
16454 (mips_move_2words): When splitting a move into two instructions,
16455 prefix the second address operand with '%D'.
16456
16457 2001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
16458
16459 * Makefile.in (final.o): Depend on debug.h.
16460 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
16461 (dbx_debug_hooks): Add new hooks.
16462 (xcoff_debug_hooks): New.
16463 * debug.c (debug_nothing_file_int_int): New.
16464 (do_nothing_debug_hooks): Update.
16465 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
16466 (debug_nothing_file_int_int): New.
16467 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
16468 static, update prototype.
16469 (dwarf2_debug_hooks): Update.
16470 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
16471 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
16472 static, update prototype.
16473 (dwarf_debug_hooks): Update.
16474 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
16475 * final.c: Include debug.h.
16476 (final_scan_insn): Use debug hooks when beginning and ending blocks.
16477 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
16478 static, update prototype.
16479 (sdb_debug_hooks): Update.
16480 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
16481 * toplev.c: Distinguish between xcoff and dbx.
16482
16483 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
16484 Call all debug hooks, not just dwarf ones.
16485
16486 2001-07-11 Timothy Wall <twall@redhat.com>
16487
16488 * config.gcc: Add configuration for AIX5/IA64.
16489 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
16490 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
16491 support prefix/suffix code.
16492 * config/ia64/t-aix: New. Makefile fragment.
16493 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
16494
16495 2001-07-11 Kazu Hirata <kazu@hxi.com>
16496
16497 * recog.c (validate_change): Fix a comment typo.
16498
16499 2001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
16500
16501 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
16502 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
16503 hooks directly.
16504 * dbxout.c (dbx_debug_hooks): Add new hooks.
16505 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
16506 make static.
16507 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
16508 make static.
16509 * dbxout.h (dbxout_start_new_source_file,
16510 dbxout_resume_previous_source_file): Delete.
16511 * debug.c (do_nothing_debug_hooks): Add new hooks.
16512 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16513 (debug_nothing_int_charstar, debug_nothing_int): New.
16514 * debug.h (gcc_debug_hooks): New hooks define, undef,
16515 start_source_file and end_source_file.
16516 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16517 (debug_nothing_int_charstar, debug_nothing_int): New.
16518 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
16519 the conditionally compiled section.
16520 (dwarf2out_start_source_file, dwarf2out_end_source_file,
16521 dwarf2out_define, dwarf2out_undef): Make static.
16522 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
16523 dwarf2out_define, dwarf2out_undef): Remove.
16524 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
16525 (dwarfout_start_source_file, dwarfout_end_source_file,
16526 dwarfout_define, dwarfout_undef): Make static.
16527 (dwarfout_start_source_file_check,
16528 dwarfout_end_source_file_check): New.
16529 (dwarfout_define, dwarfout_finish): Update.
16530 * dwarfout.h (dwarfout_start_new_source_file,
16531 dwarfout_resume_previous_source_file, dwarfout_define,
16532 dwarfout_undef): Remove.
16533 * sdbout.c (sdb_debug_hooks): Add new hooks.
16534 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
16535 make static.
16536 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
16537 make static, take an arg.
16538 * sdbout.h (sdbout_start_new_source_file,
16539 sdbout_resume_previous_source_file): Delete.
16540 * toplev.c (debug_start_source_file, debug_end_source_file,
16541 debug_define, debug_undef): Delete.
16542 * toplev.h (debug_start_source_file, debug_end_source_file,
16543 debug_define, debug_undef): Delete.
16544
16545 * java/jcf-parse.c: Include debug.h.
16546 (parse_class_file): Update to use debug hooks directly.
16547 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
16548
16549 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16550
16551 * alias.c (set_mem_alias_set): New function.
16552 * rtl.h (set_mem_alias_set): Declare it.
16553 * builtins.c (expand_builtin_return_addr): Call it instead of
16554 using MEM_ALIAS_SET accessor.
16555 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
16556 (get_memory_rtx, expand_builtin_va_arg): Likewise.
16557 (expand_builtin_va_copy):Likewise.
16558 * caller-save.c (setup_save_areas): Likewise.
16559 * calls.c (compute_argument_addresses): Likewise.
16560 * explow.c (set_mem_attributes): Likewise.
16561 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
16562 (expand_assignment, store_constructor_field, store_field): Likewise.
16563 (expand_expr_unaligned): Likewise.
16564 * function.c (assign_stack_temp_for_type): Likewise.
16565 (put_reg_into_stack, gen_mem_addressof): Likewise.
16566 * ifcvt.c (noce_try_cmove_arith): Likewise.
16567 * reload1.c (reload, alter_reg): Likewise.
16568 * config/alpha/alpha.c (get_aligned_mem): Likewise.
16569 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
16570 (alpha_expand_unaligned_store): Likewise
16571 (alpha_expand_unaligned_load_words): Likewise.
16572 (alpha_expand_unaligned_store_words): Likewise.
16573 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
16574 (alpha_expand_epilogue): Likewise.
16575 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
16576 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
16577 * config/i386/i386.c (legitimize_pic_address): Likewise.
16578 * config/i960/i960.c (setup_incoming_varargs): Likewise.
16579 * config/ia64/ia64.c (spill_restore_mem): Likewise.
16580 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
16581 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
16582 * config/mips/mips.c (mips_va_arg): Likewise.
16583 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
16584 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
16585 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
16586 (setup_incoming_varargs, rs6000_va_arg): Likewise.
16587 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
16588 (rs6000_emit_epilogue): Likewise.
16589 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
16590 * config/sparc/sparc.c (sparc_va_arg): Likewise.
16591 * config/v850/v850.c (v850_va_arg): Likewise.
16592
16593 Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
16594
16595 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
16596 when fallthru edge is present.
16597 (mege_blocks): Handle case where creation of jump insn
16598 is required.
16599
16600 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
16601 CLEANUP_POST_REGSTACK): New constants.
16602 * except.c (finish_eh_generation): Update call of cleanup_cfg,
16603 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
16604 * output.h (cleanup_cfg): Update prototype.
16605 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
16606 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
16607 cleanup_cfg call; kill missleading comment.
16608 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
16609 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
16610 parameter; control optimizations performed using it.
16611 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
16612 try_crossjump_bb): New functions.
16613
16614 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16615
16616 * pa.c (pa_output_function_prologue): Delete prototype. Make function
16617 extern.
16618 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
16619 pa_output_function_prologue.
16620 * pa-protos.h (pa_output_function_prologue): New prototype.
16621
16622 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16623
16624 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
16625 and low to get correct sign extension in low+high test.
16626
16627 2001-07-11 Janis Johnson <janis@us.ibm.com>
16628
16629 * gcov.c (arcdata): Use gcov_type to fix branch percentage
16630 for large hit count.
16631
16632 * profile.c (branch_prob): Fix .bbg info for computed gotos
16633 and C++ EH code.
16634
16635 2001-07-11 Mark Mitchell <mark@codesourcery.com>
16636
16637 * stmt.c (parse_output_constraint): New function, split out
16638 from ...
16639 (expand_asm_operands): ... here. Use parse_output_constraint.
16640 * tree.h (parse_output_constraint): Declare it.
16641
16642 2001-07-11 Richard Henderson <rth@redhat.com>
16643
16644 * bitmap.c: Comment some functions; fiddle whitespace.
16645 (bitmap_free): Don't export.
16646 (bitmap_element_allocate): Use memset.
16647 * bitmap.h (bitmap_free): Don't declare.
16648
16649 2001-07-11 Daniel Berlin <dan@cgsoftware.com>
16650
16651 * gcse.c, lcm.c, sched-deps.c:
16652 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
16653
16654 * flow.c (flow_loops_find): Free dom if we found no loops, since
16655 we aren't going to save it.
16656
16657 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
16658 done.
16659
16660 Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
16661
16662 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
16663
16664 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16665
16666 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
16667 #ifndef DWARF2_DEBUGGING_INFO.
16668
16669 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
16670
16671 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
16672
16673 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
16674
16675 * config/mips/mips.c (gen_int_relational): Tell the caller not to
16676 reverse a branch if a NE comparison is implemented with GTU.
16677
16678 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
16679 H.J. Lu <hjl@gnu.org>
16680
16681 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
16682 constant addresses.
16683 (call_internal2): Likewise.
16684 (call_value_internal1): Likewise.
16685 (call_value_internal2): Likewise.
16686 (call_value_multiple_internal1): Likewise.
16687 (call_value_multiple_internal2): Likewise.
16688
16689 2001-07-10 Kazu Hirata <kazu@hxi.com>
16690
16691 * calls.c (emit_library_call_value_1): Fix a comment typo.
16692 * dwarf2out.c (mem_loc_descriptor): Likewise.
16693 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
16694
16695 2001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
16696
16697 * simplify-rtx.c (simplify_subreg): Fix typo in comment
16698
16699 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16700
16701 * recog.c (offsettable_address_p): Handle LO_SUM case.
16702 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
16703 instead of plus_constant.
16704
16705 2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16706
16707 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
16708 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
16709
16710 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16711
16712 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
16713 adjust_address_nv instead of plus_constant.
16714
16715 2001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
16716
16717 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
16718 dwarf2out.o): Depend on debug.h, wrap long lines.
16719 * dbxout.c: Include debug.h.
16720 (dbx_debug_hooks): New.
16721 (dbxout_init): Make static, take just 2 args.
16722 (dbxout_finish): Make static.
16723 * dbxout.h (dbxout_init, dbxout_finish): Delete.
16724 * debug.c: New file.
16725 * debug.h: New file.
16726 * dwarf2out.c: Include debug.h.
16727 (dwarf2_debug_hooks): New.
16728 (dwarf2out_init): Make static.
16729 (dwarf2out_finish): Make static, take 2 args.
16730 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
16731 * dwarfout.c: Include debug.h.
16732 (dwarf_debug_hooks): New.
16733 (dwarfout_init): Make static.
16734 (dwarfout_finish): Make static, take 2 args.
16735 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
16736 * sdbout.c: Include debug.h.
16737 (sdb_debug_hooks): New.
16738 (sdbout_init): Make static, take 2 args.
16739 * sdbout.h (sdbout_init): Delete.
16740 * toplev.c: Include debug.h.
16741 (debug_hooks): New.
16742 (compile_file): Set deubg_hooks based on command line options.
16743 Use the hooks unconditionally rather than conditional compilation.
16744
16745 Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
16746
16747 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
16748 first_insn_after_basic_block_note instead.
16749
16750 * df.c (df_bb_refs_unlink): #if 0 out for now.
16751
16752 2001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
16753
16754 * ssa.h: Add prototype for ssa_const_prop
16755 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
16756 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
16757 (ssa_fast_dce): Remove unused variable
16758
16759 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16760
16761 * diagnostic.c (finish_diagnostic): Rename to
16762 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
16763 calls thourghout.
16764
16765 2001-07-10 Jason Merrill <jason_merrill@redhat.com>
16766
16767 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
16768 .loc support.
16769
16770 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
16771 (dump_file): Only pad the demangled name with spaces if the
16772 mangled name was padded with spaces.
16773
16774 2001-07-10 Bernd Schmidt <bernds@redhat.com>
16775
16776 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
16777 edge detection.
16778
16779 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16780
16781 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
16782 extraction if no direct load if either EXPAND_CONST_ADDRESS or
16783 EXPAND_INITIALIZER.
16784
16785 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
16786 whether can put offset inside LO_SUM to check mode alignment, not size.
16787
16788 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16789
16790 * doc/tm.texi (Misc): Fix thinko.
16791
16792 2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
16793
16794 * regmove.c (replace_in_call_usage): Fix warnings.
16795 * sched-deps.c (add_dependence): Fix warnings.
16796 * simplify-rtx.c (simplify_subreg): Likewise.
16797 Return NULL_RTX instead of NULL.
16798
16799 * reg-stack.c (emit_swap_insn): Eliminate warnings.
16800 (subst_asm_stack_regs): Likewise.
16801
16802 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
16803 warnings.
16804
16805 * dwarf2out.c (output_call_frame_info): Declare i as int.
16806 (build_abbrev_table): Declare n_alloc as int.
16807 (dwarf2out_finish): Initialize die.
16808 * except.c: Declare sjlj_funcdef_number as unsigned.
16809 (connect_post_landing_pads): Declare j as unsigned.
16810 (convert_to_eh_region_ranges): Initialize call_site.
16811 (output_function_exception_table): Initialize tt_format_size.
16812 * expr.c (move_by_pieces_1): Initialize to1.
16813 (store_constructor): Initialize minelt and maxelt.
16814 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
16815 * function.c (instantiate_decls): Avoid signed/unsigned warning.
16816
16817 * c-decl.c (combine_parm_decls): Unused, remove.
16818 * c-tree.h: Remove prototype for combine_parm_decls.
16819
16820 * reload.c (push_reload): Fix warning.
16821 (regno_clobbered_p): Likewise.
16822 * reload1.c (replace_pseudos_in_call_usage): Likewise.
16823 (reload_combine): Likewise.
16824
16825 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
16826 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
16827 warnings.
16828 * bitmap.c (bitmap_operation): Change user.
16829 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
16830
16831 2001-07-10 Eric Christopher <echristo@redhat.com>
16832
16833 * config/mips/mips.c (override_options): Fix typo.
16834
16835 2001-07-09 Stan Shebs <shebs@apple.com>
16836
16837 * target.h (struct gcc_target): New fields init_builtins and
16838 expand_builtin.
16839 * target-def.h (TARGET_INIT_BUILTINS): New macro.
16840 (TARGET_EXPAND_BUILTIN): New macro.
16841 (TARGET_INITIALIZER): Add them.
16842 * builtins.c: Include target.h.
16843 (expand_builtin): Use targetm.expand_builtin.
16844 (default_init_builtins): New function.
16845 (default_expand_builtin): New function.
16846 * expr.h (default_init_builtins): Declare.
16847 (default_expand_builtin): Declare.
16848 * c-common.c (c_common_nodes_and_builtins): Use
16849 targetm.init_builtins.
16850 * defaults.h (MD_INIT_BUILTINS): Remove.
16851 * Makefile.in (builtins.o): Depend on target.h.
16852
16853 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
16854 (TARGET_EXPAND_BUILTIN): Define.
16855 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
16856 (MD_EXPAND_BUILTIN): Remove.
16857
16858 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
16859 (TARGET_EXPAND_BUILTIN): Define.
16860 (c4x_init_builtins): Make endlink arg a local.
16861 (c4x_print_operand): Fix typos in adjust_address usages.
16862 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
16863 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
16864 (MD_EXPAND_BUILTIN): Remove.
16865
16866 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
16867 (TARGET_EXPAND_BUILTIN): Define.
16868 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
16869 (ix86_init_builtins): Call new function only if TARGET_MMX.
16870 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
16871 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
16872 (MD_EXPAND_BUILTIN): Remove.
16873
16874 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
16875 (TARGET_EXPAND_BUILTIN): Define.
16876 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
16877 (MD_EXPAND_BUILTIN): Remove.
16878
16879 * doc/tm.texi: Document these changes.
16880
16881 2001-07-09 Diego Novillo <dnovillo@redhat.com>
16882
16883 * basic-block.h (tree_node): Forward declare if needed.
16884 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
16885 (BLOCK_HEAD_TREE): Define.
16886 (BLOCK_END_TREE): Define.
16887 (struct loops): Rename field 'tree' to 'tree_root'.
16888 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
16889 'end_tree'.
16890 (flow_loops_tree_build): Rename reference to field 'tree' to
16891 'tree_root'.
16892 (flow_loops_level_compute): Ditto.
16893 * predict.c (estimate_bb_frequencies): Ditto.
16894 * tree.h (struct tree_common): Add field 'aux'.
16895
16896 2001-07-09 Stan Shebs <shebs@apple.com>
16897
16898 * config/darwin.c (darwin_encode_section_info): Don't mark any
16899 DECL_EXTERNAL node as defined.
16900
16901 2001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
16902
16903 * pa.c (pa_init_machine_status, pa_mark_machine_status,
16904 pa_free_machine_status, hppa_init_pic_save): Delete.
16905 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
16906 (hppa_profile_hook): Use hppa_pic_save_rtx.
16907 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
16908 hppa_init_pic_save): Delete.
16909 (hppa_pic_save_rtx): Declare.
16910 * pa.md (call, call_value, sibcall, sibcall_value,
16911 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
16912
16913 2001-07-09 Kazu Hirata <kazu@hxi.com>
16914
16915 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
16916 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
16917
16918 2001-07-09 Andreas Jaeger <aj@suse.de>
16919
16920 * output.h: Add declaration of final_forward_branch_p.
16921
16922 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
16923
16924 * varray.c: Include errors.h for internal_error and trim_filename
16925 declarations.
16926
16927 * Makefile.in (varray.o): Add errors.h.
16928
16929 2001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
16930
16931 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
16932 * optabs.c (have_add2_insn): Check whether the add insn chosen
16933 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
16934 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
16935
16936 Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
16937
16938 * Makefile.in (OBJS): Add ssa-ccp.o
16939 (ssa-ccp.o): Add dependencies.
16940 * toplev.c (DFI_ssa_ccp): New dump file enum.
16941 (dump_file): Add entry for dumping after SSA CCP.
16942 (flag_ssa_ccp): New flag variable.
16943 (f_options): Add -fssa-ccp.
16944 (rest_of_compilation): Run SSA CCP if requested.
16945 * timevar.def (TV_SSA_CCP): New timevar.
16946 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
16947 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
16948 Fix minor typo in SSA DCE documentation.
16949 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
16950 Add documentation for new dump option. Renumber dump files
16951 appropriately.
16952
16953 Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
16954
16955 * emit-rtl.c (gen_highpart_mode): New.
16956 * rtl.h (gen_highpart_mode): Declare.
16957 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
16958 operand can be VOIDmode constant.
16959
16960 Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
16961
16962 * flow.c (redirect_edge_and_branch_force): New.
16963 (can_fallthru): Ensure that basic blocks are succeeding.
16964 (try_optimize_cfg): Do not delete basic block if it is the last one.
16965
16966 * flow.c (try_redirect_by_replacing_jump): Do not remove
16967 jumps with side effects, unlink chain on fallthru edge;
16968 set block for new jump instruction; avoid basic block to
16969 over by line number note.
16970
16971 * flow.c (try_simplify_condjump): Verify that the condjump
16972 is not always falling through.
16973
16974 Re-install patch:
16975 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
16976
16977 * flow.c (forwarder_block_p): Fix for fallthru blocks.
16978 (try_redirect_by_replacing_jump): Update properly the count
16979 and frequency information.
16980
16981 Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16982
16983 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
16984 address that is a LO_SUM specially.
16985 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
16986
16987 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
16988
16989 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
16990 (operand_subword): Use them.
16991 (change_address_1): Renamed from change_address; new arg VALIDATE.
16992 * expr.h: Reflect above changes; change_address now macro.
16993 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
16994 making MEM.
16995 * cselib.c (add_mem_for_addr): Likewise.
16996 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
16997 * regmove.c (try_apply_stack_adjustment): Likewise.
16998 * reload.c (push_reload, make_memloc): Likewise.
16999 * reload1.c (eliminate_regs): Likewise.
17000 * simplify-rtx.c (simplify_replace_rtx): Likewise.
17001 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17002 adjust_addess.
17003 * combine.c (make_extraction, simplify_shift_const): Likewise.
17004 (gen_lowpart_for_combine): Likewise.
17005 * cse.c (gen_lowpart_if_possible): Likewise.
17006 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17007 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17008 * optabs.c (gen_move_insn): Likewise.
17009 * reload1.c (alter_reg): Likewise.
17010 * simplify-rtx.c (simplify_subreg): Likewise.
17011 * stmt.c (expand_anon_union_decl): Likewise.
17012 * recog.c (validate_replace_rtx_1): Likewise.
17013 (expr.h): Include.
17014 * Makefile.in (recog.o): Add $(EXPR_H).
17015 * explow.c (stabilize): Call replace_equiv_address.
17016 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17017 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17018
17019 2001-07-03 Andrew Haley <aph@redhat.com>
17020
17021 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17022 the mode of the memory location.
17023
17024 2001-07-09 Bo Thorsen <bo@suse.co.uk>
17025
17026 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17027
17028 2001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
17029
17030 * final.c (output_addr_const): Use target opening and
17031 closing parentheses.
17032 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17033 defaults, add to TARGET_ASM_OUT.
17034 * target.h (struct gcc_target): Add open_paren and close_paren.
17035 * doc/md.texi: Update.
17036 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17037 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17038 TARGET_ASM_CLOSE_PAREN.
17039 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17040 Override.
17041 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17042 Override.
17043 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17044 * config/a29k/a29k.h: Similarly.
17045 * config/alpha/alpha.h: Similarly.
17046 * config/arc/arc.h: Similarly.
17047 * config/arm/aof.h: Similarly.
17048 * config/arm/aout.h: Similarly.
17049 * config/avr/avr.h: Similarly.
17050 * config/c4x/c4x.h: Similarly.
17051 * config/clipper/clipper.h: Similarly.
17052 * config/convex/convex.h: Similarly.
17053 * config/d30v/d30v.h: Similarly.
17054 * config/dsp16xx/dsp16xx.h: Similarly.
17055 * config/elxsi/elxsi.h: Similarly.
17056 * config/fr30/fr30.h: Similarly.
17057 * config/h8300/h8300.h: Similarly.
17058 * config/i370/i370.h: Similarly.
17059 * config/i386/i386.h: Similarly.
17060 * config/i860/i860.h: Similarly.
17061 * config/i960/i960.h: Similarly.
17062 * config/ia64/ia64.h: Similarly.
17063 * config/m32r/m32r.h: Similarly.
17064 * config/m68hc11/m68hc11.h: Similarly.
17065 * config/m68k/m68k.h: Similarly.
17066 * config/m88k/m88k.h: Similarly.
17067 * config/mcore/mcore.h: Similarly.
17068 * config/mips/mips.h: Similarly.
17069 * config/mn10200/mn10200.h: Similarly.
17070 * config/mn10300/mn10300.h: Similarly.
17071 * config/ns32k/ns32k.h: Similarly.
17072 * config/pa/pa.h: Similarly.
17073 * config/pdp11/pdp11.h: Similarly.
17074 * config/pj/pj.h: Similarly.
17075 * config/romp/romp.h: Similarly.
17076 * config/rs6000/rs6000.h: Similarly.
17077 * config/sh/sh.h: Similarly.
17078 * config/sparc/sparc.h: Similarly.
17079 * config/v850/v850.h: Similarly.
17080 * config/vax/vax.h: Similarly.
17081 * config/we32k/we32k.h: Similarly.
17082
17083 2001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
17084
17085 * doc/c-tree.texi: Document representation of attributes.
17086
17087 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
17088
17089 * doc/tm.texi: Update some places for the rename of target to
17090 targetm. Fix typo.
17091
17092 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
17093
17094 * target.h (struct gcc_target): Add insert_attributes.
17095 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
17096 (TARGET_INITIALIZER): Update.
17097 * tree.c, tree.h (default_insert_attributes): New function.
17098 Update comments on other default functions to refer to targetm,
17099 not target.
17100 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
17101 TARGET_INSERT_ATTRIBUTES.
17102 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
17103 * c-common.c (decl_attributes): Use targetm.insert_attributes.
17104 Don't use PRAGMA_INSERT_ATTRIBUTES.
17105 * Makefile.in (c-common.o): Depend on $(TARGET_H).
17106 * c-decl.c (start_decl, start_function): Don't call
17107 SET_DEFAULT_DECL_ATTRIBUTES.
17108 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17109 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
17110 declare.
17111 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
17112 (c4x_check_attribute): Avoid modifying attribute list itself.
17113 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
17114 Make static.
17115 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
17116 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
17117 declare.
17118 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
17119 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
17120 Make static.
17121 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17122 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
17123 declare.
17124 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
17125 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
17126 Adjust parameters. Make static.
17127
17128 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
17129
17130 * c-common.c (decl_attributes): Only take a single attributes
17131 parameter.
17132 * c-common.h (decl_attributes): Update prototype.
17133 * c-decl.c (start_decl, start_function): Only take a single
17134 attributes parameter. Update calls to decl_attributes.
17135 (finish_struct, finish_enum): Update calls to decl_attributes.
17136 (push_parm_decl): Expect unified list of attributes. Update call
17137 to decl_attributes.
17138 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
17139 notype_nested_function, component_declarator,
17140 component_notype_declarator, label): Update calls to
17141 decl_attributes.
17142 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
17143 lists that are passed to push_parm_decl.
17144 * c-tree.h (start_function, start_decl): Update prototypes.
17145 * config/sh/sh-protos.h, config/sh/sh.c
17146 (sh_pragma_insert_attributes): Only take a single attributes
17147 parameter.
17148 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
17149 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
17150 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
17151 build_module_descriptor, generate_static_references,
17152 generate_strings, build_selector_translation_table,
17153 generate_descriptor_table, generate_protocols,
17154 generate_ivars_list, generate_dispatch_table,
17155 generate_protocol_list, generate_category,
17156 generate_shared_structures, really_start_method, add_objc_decls,
17157 generate_classref_translation_entry): Update calls to start_decl
17158 and start_function.
17159 (build_tmp_function_decl, start_method_def): Unify attribute lists
17160 that are passed to push_parm_decl.
17161
17162 2001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
17163
17164 * final.c (no_asm_to_stream): New.
17165 (final_scan_insn): Use target structures for prologue ends
17166 and epilogue starts.
17167 * output.h (no_asm_to_stream): New.
17168 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
17169 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
17170 (TARGET_ASM_OUT): Update.
17171 * target.h (struct gcc_target): New members function_end_prologue
17172 and function_begin_epilogue.
17173 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
17174 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
17175 * config/alpha/alpha.c (output_end_prologue): Rename to
17176 alpha_output_function_end_prologue. Use in target struct
17177 and make static.
17178 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
17179 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
17180 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
17181 ia64_output_function_end_prologue. Use in target struct
17182 and make static.
17183 (ia64_function_prologue, ia64_funciton_epilogue): Rename
17184 mistyped prototypes.
17185 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
17186 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
17187 Delete.
17188 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
17189 an use in target struct, make static.
17190 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
17191 Delete.
17192
17193 2001-07-08 Richard Henderson <rth@redhat.com>
17194
17195 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
17196
17197 2001-07-08 Richard Henderson <rth@redhat.com>
17198
17199 * config/i386/i386.md: Remove constraints strings from define_split
17200 and define_peephole2 patterns.
17201 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
17202 (eh_return): Use them.
17203
17204 2001-07-08 Richard Henderson <rth@redhat.com>
17205
17206 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
17207 Document MD_FALLBACK_FRAME_STATE_FOR.
17208
17209 2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17210
17211 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
17212 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
17213 elimination.
17214 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
17215
17216 2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
17217
17218 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
17219 of the label inside NAME as opposed to just the end of NAME.
17220
17221 2001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
17222
17223 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
17224 * config/alpha/alpha.c (alpha_init_machine_status,
17225 alpha_mark_machine_status, alpha_free_machine_status): Delete.
17226 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
17227 (vms_valid_decl_attribute_p): Make static, conditionally compile.
17228 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
17229
17230 2001-07-06 Stan Shebs <shebs@apple.com>
17231
17232 * target.h (targetm): Rename global from "target", so as not to
17233 conflict with local variables.
17234 * c-decl.c: Ditto.
17235 * c-typeck.c: Ditto.
17236 * final.c: Ditto.
17237 * tree.c: Ditto.
17238 * cp/decl.c: Ditto.
17239 * cp/decl2.c: Ditto.
17240 * cp/typeck.c: Ditto.
17241 * 1750a/1750a.c: Ditto.
17242 * a29k/a29k.c: Ditto.
17243 * arc/arc.c: Ditto.
17244 * arm/arm.c: Ditto.
17245 * avr/avr.c: Ditto.
17246 * clipper/clipper.c: Ditto.
17247 * convex/convex.c: Ditto.
17248 * d30v/d30v.c: Ditto.
17249 * dsp16xx/dsp16xx.c: Ditto.
17250 * elxsi/elxsi.c: Ditto.
17251 * fr30/fr30.c: Ditto.
17252 * h8300/h8300.c: Ditto.
17253 * i370/i370.c: Ditto.
17254 * i386/i386.c: Ditto.
17255 * i860/i860.c: Ditto.
17256 * i960/i960.c: Ditto.
17257 * ia64/ia64.c: Ditto.
17258 * m32r/m32r.c: Ditto.
17259 * m68hc11/m68hc11.c: Ditto.
17260 * m68k/m68k.c: Ditto.
17261 * m88k/m88k.c: Ditto.
17262 * mips/mips.c: Ditto.
17263 * ns32k/ns32k.c: Ditto.
17264 * pa/pa.c: Ditto.
17265 * pdp11/pdp11.c: Ditto.
17266 * romp/romp.c: Ditto.
17267 * rs6000/rs6000.c: Ditto.
17268 * sh/sh.c: Ditto.
17269 * sparc/sparc.c: Ditto.
17270 * vax/vax.c: Ditto.
17271 * we32k/we32k.c: Ditto.
17272 * doc/tm.texi: Update the manual to match.
17273
17274 2001-07-06 Richard Henderson <rth@redhat.com>
17275
17276 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
17277 DWARF2_UNWIND_INFO not just whether it is defined.
17278
17279 2001-07-06 Diego Novillo <dnovillo@redhat.com>
17280
17281 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
17282 call to simplify_binary_operation returns a new pattern.
17283
17284 2001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
17285
17286 * glimits.h (__SHRT_MAX__): New.
17287 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
17288 (SHRT_MAX): Define in terms of __SHRT_MAX__.
17289
17290 2001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
17291
17292 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
17293 avoid warnings.
17294
17295 2001-07-06 Richard Henderson <rth@redhat.com>
17296
17297 * bitmap.c (bitmap_release_memory): Move adjacent to the
17298 allocation functions.
17299 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
17300 the implementation. Binary search for the set bit.
17301 (bitmap_union_of_diff): Allocate the temporary on the stack
17302 instead of using xmalloc.
17303
17304 2001-07-06 Richard Henderson <rth@redhat.com>
17305
17306 * genrecog.c (validate_pattern): Warn for constraints in
17307 define_{expand,split,peephole2}. Remove strict_low_part
17308 before looking up match_dup.
17309
17310 2001-07-06 DJ Delorie <dj@redhat.com>
17311
17312 * doc/gcc.texi (Makefile): Rename to be a more general purpose
17313 chapter about various build hints and history. Add section
17314 talking about the various types of native and cross builds.
17315
17316 2001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
17317
17318 * Makefile.in (final.o): Depend on target.h.
17319 * final.c: Include target.h.
17320 (default_function_pro_epilogue): New.
17321 (final_start_function): Use target structure for function prologues.
17322 (final_end_function): Use target structure for function epilogues.
17323 * fold-const.c (real_hex_to_f): Constify s and p.
17324 * output.h (default_function_pro_epilogue): New.
17325 * real.h (real_hex_to_f): Update prototype.
17326 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
17327 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
17328 (TARGET_INITIALIZER): Update.
17329 * target.h (gcc_target): Add struct asm_out.
17330 * doc/tm.texi: Update.
17331
17332 config:
17333 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
17334 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
17335 in cpu/cpu.c, or rename old functions consistently. Take
17336 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
17337 redundant macros and prototypes. Make new functions static.
17338
17339 * 1750a/1750a.c: Similarly.
17340 * 1750a/1750a.h: Similarly.
17341 * a29k/a29k-protos.h: Similarly.
17342 * a29k/a29k.c: Similarly.
17343 * a29k/a29k.h: Similarly.
17344 * arc/arc-protos.h: Similarly.
17345 * arc/arc.c: Similarly.
17346 * arc/arc.h: Similarly.
17347 * arm/arm-protos.h: Similarly.
17348 * arm/arm.c: Similarly.
17349 * arm/arm.h: Similarly.
17350 * avr/avr-protos.h: Similarly.
17351 * avr/avr.c: Similarly.
17352 * avr/avr.h: Similarly.
17353 * clipper/clipper-protos.h: Similarly.
17354 * clipper/clipper.c: Similarly.
17355 * clipper/clipper.h: Similarly.
17356 * convex/convex.c: Similarly.
17357 * convex/convex.h: Similarly.
17358 * d30v/d30v-protos.h: Similarly.
17359 * d30v/d30v.c: Similarly.
17360 * d30v/d30v.h: Similarly.
17361 * d30v/d30v.md: Similarly.
17362 * dsp16xx/dsp16xx-protos.h: Similarly.
17363 * dsp16xx/dsp16xx.c: Similarly.
17364 * dsp16xx/dsp16xx.h: Similarly.
17365 * elxsi/elxsi.c: Similarly.
17366 * elxsi/elxsi.h: Similarly.
17367 * fr30/fr30.c: Similarly.
17368 * fr30/fr30.md: Similarly.
17369 * h8300/h8300-protos.h: Similarly.
17370 * h8300/h8300.c: Similarly.
17371 * h8300/h8300.h: Similarly.
17372 * i370/i370-protos.h: Similarly.
17373 * i370/i370.c: Similarly.
17374 * i370/i370.h: Similarly.
17375 * i386/i386.c: Similarly.
17376 * i386/osf1elf.h: Similarly.
17377 * i386/osfrose.h: Similarly.
17378 * i860/i860-protos.h: Similarly.
17379 * i860/i860.c: Similarly.
17380 * i860/i860.h: Similarly.
17381 * i960/i960-protos.h: Similarly.
17382 * i960/i960.c: Similarly.
17383 * i960/i960.h: Similarly.
17384 * ia64/ia64-protos.h: Similarly.
17385 * ia64/ia64.c: Similarly.
17386 * ia64/ia64.h: Similarly.
17387 * m32r/m32r-protos.h: Similarly.
17388 * m32r/m32r.c: Similarly.
17389 * m32r/m32r.h: Similarly.
17390 * m68hc11/m68hc11-protos.h: Similarly.
17391 * m68hc11/m68hc11.c: Similarly.
17392 * m68hc11/m68hc11.h: Similarly.
17393 * m68k/crds.h: Similarly.
17394 * m68k/dpx2.h: Similarly.
17395 * m68k/m68k-protos.h: Similarly.
17396 * m68k/m68k.c: Similarly.
17397 * m68k/m68k.h: Similarly.
17398 * m68k/news.h: Similarly.
17399 * m88k/m88k-protos.h: Similarly.
17400 * m88k/m88k.c: Similarly.
17401 * m88k/m88k.h: Similarly.
17402 * mips/mips-protos.h: Similarly.
17403 * mips/mips.c: Similarly.
17404 * mips/mips.h: Similarly.
17405 * ns32k/merlin.h: Similarly.
17406 * ns32k/ns32k.c: Similarly.
17407 * ns32k/ns32k.h: Similarly.
17408 * ns32k/tek6000.h: Similarly.
17409 * pa/pa-protos.h: Similarly.
17410 * pa/pa.c: Similarly.
17411 * pa/pa.h: Similarly.
17412 * pdp11/2bsd.h: Similarly.
17413 * pdp11/pdp11-protos.h: Similarly.
17414 * pdp11/pdp11.c: Similarly.
17415 * pdp11/pdp11.h: Similarly.
17416 * romp/romp-protos.h: Similarly.
17417 * romp/romp.c: Similarly.
17418 * romp/romp.h: Similarly.
17419 * rs6000/rs6000-protos.h: Similarly.
17420 * rs6000/rs6000.c: Similarly.
17421 * rs6000/rs6000.h: Similarly.
17422 * rs6000/sysv4.h: Similarly.
17423 * sh/sh-protos.h: Similarly.
17424 * sh/sh.c: Similarly.
17425 * sh/sh.h: Similarly.
17426 * sparc/sparc-protos.h: Similarly.
17427 * sparc/sparc.c: Similarly.
17428 * sparc/sparc.h: Similarly.
17429 * vax/vax.c: Similarly.
17430 * vax/vax.h: Similarly.
17431 * vax/vms.h: Similarly.
17432 * we32k/we32k.c: Similarly.
17433 * we32k/we32k.h: Similarly.
17434
17435 Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
17436
17437 * basic-block.h (first_insn_after_basic_block_note): Declare.
17438 * flow.c (first_insn_after_basic_block_note): Define. Moved
17439 from...
17440 * ssa.c (first_insn_after_basic_block_note): Remove.
17441 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
17442 necessary.
17443 (ssa_eliminate_dead_code): Properly update the CFG and PHI
17444 nodes when we find a dead conditional branch. Insert BARRIERs
17445 after any blocks with no successors, but which do not have
17446 any BARRIERs.
17447
17448 2001-07-06 Zack Weinberg <zackw@stanford.edu>
17449
17450 * varray.c (varray_check_failed): Use internal_error.
17451
17452 2001-07-05 Andrew Haley <aph@redhat.com>
17453
17454 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
17455 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
17456 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
17457
17458 2001-07-02 Jason Merrill <jason_merrill@redhat.com>
17459
17460 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
17461 reference if the target constant is also a SYMBOL_REF.
17462
17463 2001-07-05 Eric Christopher <echristo@redhat.com>
17464
17465 * config/mips/mips.h (MASK_MIPS3900): Remove.
17466 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
17467 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
17468 (TARGET_MIPS3900): Change to use mips_arch.
17469 (TARGET_MIPS4000): New.
17470 (TARGET_MIPS4100): New.
17471 (TARGET_MIPS4300): New.
17472 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
17473 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
17474 for -mipsX.
17475 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
17476 (ISA_HAS_BRANCHLIKELY): To here.
17477 (CC1_CPU_SPEC): New.
17478 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
17479 (mips_arch_string): Declare.
17480 (mips_arch): Declare.
17481 (TARGET_OPTIONS): Add -march and -mtune.
17482
17483 * config/mips/mips.c (mips_arch_string): New.
17484 (mips_arch): New.
17485 (override_options): Handle -march for codegen and -mtune
17486 for scheduling. Use mips_arch. Move tx39 target default here.
17487 (mips_parse_cpu): Move error message to override_options.
17488
17489 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
17490
17491 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
17492
17493 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
17494 (MIPS Options): Ditto. Change mcpu entry to historical text.
17495
17496 2001-07-05 H.J. Lu (hjl@gnu.org)
17497
17498 * config/mips/mips.c (mips_parse_cpu): New function to parse
17499 -march=*/-mcpu=*.
17500
17501 2001-07-05 Jim Wilson <wilson@redhat.com>
17502
17503 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
17504 * config/ia64/t-ia64: Likewise.
17505 (LIB1ASMFUNCS): Update comment.
17506
17507 2001-07-05 David Edelsohn <edelsohn@gnu.org>
17508
17509 * doc/install.texi (Install GCC: Binaries): Fix typo.
17510
17511 2001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17512
17513 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
17514 reference using the stack pointer, adjust it since we push Y
17515 temporarily.
17516 ("*ashrsi3"): Likewise.
17517 ("*lshrsi3"): Likewise.
17518
17519 2001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17520
17521 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
17522 when -fomit-frame-pointer is used.
17523
17524 2001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
17525
17526 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
17527 (try_redirect_by_replacing_jump): Reverse updating properly the
17528 count and frequency information. Reverse removing cc0 setter.
17529 (forwarder_block_p): Reverse fixing for fallthru blocks.
17530
17531 2001-07-05 DJ Delorie <dj@redhat.com>
17532
17533 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
17534 (translate_options): If the above is defined, use it to map
17535 given options to new options.
17536 * doc/tm.texi: Document it.
17537
17538 2001-07-05 Brad Lucier <lucier@math.purdue.edu>
17539 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17540
17541 * doc/invoke.texi (Optimize Options): Document that -fgcse may
17542 cause programs using computed gotos to run more slowly.
17543
17544 2001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17545
17546 * doc/install.texi (Specific): Markup, spelling and typo fixes.
17547 Fixed sorting.
17548 Consistently require binutils 2.11.2, not prereleases.
17549 (Specific, decstation-*): Canonicalize as mips-dec-*.
17550 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
17551 always necessary.
17552 (Specific, m68k-altos): Removed reference to README.altos, deleted.
17553 (Specific, mips-*): Reword MIPS C compiler requirements.
17554 (Specific, powerpc*-*-*): New, mention --with-cpu once.
17555 (Specific, sunv5): Removed, obsolete.
17556
17557 2001-07-05 Nathan Sidwell <nathan@codesourcery.com>
17558
17559 * dwarf2out.c (output_loc_list): Use an all ones mask for
17560 .text asm output and don't rely on long long
17561 literals. Reformat some long lines.
17562
17563 2001-07-05 Andreas Jaeger <aj@suse.de>
17564
17565 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
17566 section.
17567
17568 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
17569
17570 * dwarf2out.c (dwarf2out_define): Update comment.
17571 (dwarf2out_undef): Ditto.
17572 (dwarf2out_start_source_file): Ditto.
17573 (dwarf2out_end_source_file): Ditto.
17574 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
17575 since we never call the start/end debug hook for the primary file.
17576
17577 2001-07-04 Kazu Hirata <kazu@hxi.com>
17578
17579 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
17580 from shll.
17581
17582 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
17583
17584 * cppinit.c (remove_dup_dirs): Inform if a system include
17585 directory is being reordered.
17586 * doc/invoke.texi (Directory Options): GCC warns if you hide a
17587 system include.
17588 * doc/cpp.texi (Search Paths): Likewise.
17589 * doc/gcc.texi (Interoperation): Remove information about
17590 -I/usr/include.
17591
17592 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
17593
17594 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
17595 (VARRAY_TOP_CHAR_PTR): Likewise.
17596
17597 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17598
17599 * gcc.c (process_command): Don't assign elements of a const char*.
17600
17601 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17602
17603 * emit-rtl.c (change_address): Don't abort if invalid address while
17604 reload is in progress.
17605
17606 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
17607
17608 * c-lex.c (cb_file_change): Pass line number to
17609 debug_start_source_file.
17610 (cb_undefine): Pass correct line number to debug_undef.
17611
17612 * toplev.c (debug_start_source_file): Add line number to
17613 parameters. Pass it along to dwarf2out_start_source_file.
17614 (decode_g_option): Stop resetting debug level back to normal when
17615 we change debug formats, unless the current level is
17616 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
17617 3).
17618
17619 * toplev.h (debug_start_source_file): Add line number to
17620 parameters.
17621
17622 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
17623 parameters.
17624
17625 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
17626 parameters.
17627 Output debug_macinfo data for starting file if requested.
17628 (dwarf2out_end_source_file): Output debug_macinfo data for ending
17629 file if requested.
17630 (dwarf2out_define): Output debug_macinfo data for defining a macro
17631 if requested.
17632 (dwarf2out_undef): Output debug_macinfo data for undefining a
17633 macro if requested.
17634 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
17635 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
17636 (macinfo_section_label): New. DWARF2 macro info section label.
17637 (dwarf2out_init): If we want macro info, output the start label
17638 for the section.
17639 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
17640 attribute to the compilation unit die pointing to the macro info.
17641
17642 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
17643
17644 * dwarf2out.c (new_loc_list): Move to inside #ifdef
17645 DWARF2_DEBUGGING_INFO.
17646 (add_loc_descr_to_loc_list): Ditto.
17647 (output_loc_list): Ditto.
17648 Also, fix thinko in curr not being initialized.
17649 (gen_internal_sym): Ditto.
17650
17651 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17652
17653 * emit-rtl.c (replace_equiv_address): New function.
17654 * expr.h (replace_equiv_address): New declaration.
17655 * explow.c (validize_mem): Call it instead of change_address and
17656 also call if -fforce-addr and address is constant.
17657 * expr.c: Replace more calls to change_address with adjust_address
17658 and/or replace_equiv_address or to validize_mem.
17659 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
17660 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
17661 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17662 * config/i370/i370.md, config/i860/i860.md: Likewise.
17663 * config/i960/i960.md, config/mips/mips.c: Likewise.
17664 * config/mips/mips.md, config/pa/pa.md: Likewise.
17665 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
17666 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
17667
17668 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17669
17670 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
17671
17672 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
17673 function.
17674
17675 2001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
17676
17677 * doc/include: New directory.
17678 * doc/fdl.texi: Move to doc/include/fdl.texi.
17679 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
17680 * doc/include/funding.texi, doc/include/gpl.texi: New files.
17681 * doc/gcc.texi: Use funding.texi and gpl.texi.
17682 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
17683 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
17684 Update dependencies and use -I $(docdir)/include.
17685
17686 2001-07-04 Anthony Green <green@redhat.com>
17687
17688 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
17689
17690 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17691
17692 * doc/install.texi (sparc64-*-*): Remove garbage.
17693
17694 Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
17695
17696 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
17697 Fix typo in last change to use adjust_address.
17698
17699 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17700
17701 * doc/install.texi (Specific): Update information for *-*-solaris*.
17702
17703 Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17704
17705 * explow.c (plus_constant_wide): Reinitialize Y for restart.
17706
17707 2001-07-03 Stan Shebs <shebs@apple.com>
17708
17709 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
17710 case for flag_no_mach_text_sections.
17711 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
17712 * config/darwin.c (flag_no_mach_text_sections): Remove.
17713 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
17714
17715 Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17716
17717 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
17718 and avoid checking for constant as first operand.
17719 * recog.c (find_constant_term_loc): No longer static.
17720 (adj_offettable_operand): Delete.
17721 * rtl.h (adj_offsettable_operand): Delete declaration.
17722 (find_constant_term): Add declaration.
17723 * caller-save.c: Replace calls to adj_offsettable_operand with calls
17724 to adjust_address.
17725 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
17726 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
17727 * config/i386/i386.c, config/i386/i386.md: Likewise.
17728 * config/i860/i860.c, config/i960/i960.c: Likewise.
17729 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
17730 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
17731 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
17732 * config/mips/mips.c, config/mips/mips.md: Likewise.
17733 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
17734 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
17735 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
17736 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
17737 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
17738 * config/ns32k/ns32k.md: Likewise.
17739
17740 2001-07-03 Zack Weinberg <zackw@stanford.edu>
17741
17742 * rtl.c (copy_rtx): Handle 'T' format letter.
17743 * gensupport.c (collect_insn_data): Likewise.
17744 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
17745
17746 2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
17747
17748 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
17749 -B option. Use 'dir' not 'foo' as example directory name.
17750
17751 2001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17752
17753 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17754 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
17755
17756 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
17757
17758 * doc/cppinternals.texi: Improve formatting and logical markup.
17759
17760 2001-07-03 Andreas Jaeger <aj@suse.de>
17761
17762 * Makefile.in (insn-recog.o): Add dependency on reload.h.
17763
17764 * genrecog.c (write_header): Include reload.h for prototypes in
17765 insn-recog.c.
17766
17767 2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
17768
17769 config:
17770 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
17771 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
17772 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
17773 i386_pe_valid_type_attribute_p): Add.
17774 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
17775 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
17776
17777 Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17778
17779 * explow.c (plus_constant_wide, case LO_SUM): New case.
17780 (plus_constant_for_output_wide): Delete.
17781 * rtl.h (plus_constant_for_output): Delete.
17782 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
17783 instead of plus_constant_for_output.
17784 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
17785 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
17786 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
17787 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
17788 * config/sparc/sparc.md: Likewise.
17789 Convert some change_address calls to adjust_address.
17790
17791 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
17792
17793 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
17794 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
17795 documentation of -std and -Wwrite-strings.
17796
17797 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
17798
17799 * cse.c (canon_hash): Don't register registers in very small
17800 register classes, as extending their lifetime might cause
17801 reload to fail.
17802
17803 Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
17804
17805 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17806
17807 * flow.c (forwarder_block_p): Fix for fallthru blocks.
17808 (try_redirect_by_replacing_jump): Update properly the count
17809 and frequency information.
17810
17811 Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
17812
17813 * toplev.c (dump_file_index): Move SSA dumps just after first
17814 jump dump.
17815 (dump_file): Corresponding changes.
17816 (rest_of_compilation): Move SSA path to just after the first
17817 jump pass.
17818 * doc/gcc.texi (Passes): Update due to movement of SSA path.
17819 * doc/invoke.texi: Update dump file #s as they were completely
17820 out of date with reality.
17821
17822 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
17823
17824 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
17825
17826 * expr.c (emit_move_insn_1): Deal with non-default
17827 STACK_PUSH_CODE.
17828
17829 * expr.c (emit_single_push_insn): Fix warning.
17830
17831 2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
17832
17833 * expr.c (emit_move_insn_1): Avoid modifying
17834 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
17835
17836 Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17837
17838 * emit-rtl.c (adjust_address): New function.
17839 * expr.h (adjust_address): Add declaration.
17840 * builtins.c: Replace some calls to change_address with calls to it
17841 or to validize_mem.
17842 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
17843 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
17844 * config/arm/arm.c, config/convex/convex.c: Likewise.
17845 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17846 * config/i386/i386.c, config/i386/i386.md: Likewise.
17847 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
17848 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
17849 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
17850 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
17851 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
17852
17853 2001-07-02 Jim Wilson <wilson@redhat.com>
17854
17855 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
17856
17857 2001-07-02 Steve Ellcey <sje@cup.hp.com>
17858
17859 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
17860 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
17861
17862 2001-07-02 Zack Weinberg <zackw@stanford.edu>
17863
17864 * cppinit.c (lang_defaults): New table.
17865 (set_lang): Just read from lang_defaults into the live options
17866 structure.
17867
17868 2001-07-02 Zack Weinberg <zackw@stanford.edu>
17869
17870 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
17871 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
17872 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
17873
17874 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17875
17876 * doc/install.texi: Various spelling and markup fixes.
17877 (Installing GCC): Component specific installation instructions are
17878 gone.
17879 Fix reference.
17880 Warn about removing old install dir in the presence of shared libs.
17881 (Configuration): Invoke with options target to match configure
17882 --help.
17883 Consistently refer to gas, gld pathnames.
17884 Invert --enable-multilib documentation.
17885 Remove references to old compiler versions.
17886
17887 Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17888
17889 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
17890
17891 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17892
17893 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
17894 section.
17895 (Specific, mips*-sgi-irix5): Note IDO download.
17896 Reworded MIPS C hints.
17897 Use GNU as instead of GAS.
17898 Markup fixes.
17899 Removed SGI Freeware reference, IRIX 6 only.
17900 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
17901 Note N64 library requirement/workaround.
17902 Update O32 hints.
17903 Complete list of structure passing bug victims.
17904
17905 2001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17906
17907 * doc/install.texi: Remove CVS Id.
17908
17909 2001-07-02 Andreas Jaeger <aj@suse.de>
17910
17911 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
17912 (find_inherently_necessary): Remove unused variable.
17913
17914 2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
17915
17916 * c-common.h (TDI_inlined): New ast dump phase.
17917 (dump_flag_name): New function.
17918 * c-dump.c (dump_files): Add inlined phase.
17919 (dump_flag_name): Define.
17920 * doc/invoke.texi (-fdump-ast-inlined): Document.
17921
17922 Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17923
17924 * stor-layout.c (layout_decl): Revert change to handling of alignment
17925 in packed types.
17926
17927 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17928
17929 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
17930 for FIELD_DECL.
17931
17932 2001-07-01 Geoffrey Keating <geoffk@redhat.com>
17933
17934 * doc/tm.texi (FUNCTION_ARG): Document that the last call
17935 is special.
17936
17937 2001-07-01 Nathan Sidwell <nathan@codesourcery.com>
17938
17939 * tlink.c (recompile_files): Remove COMPILER_PATH and
17940 LIBRARY_PATH from the environment.
17941
17942 2001-07-01 Zack Weinberg <zackw@stanford.edu>
17943
17944 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
17945 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
17946 enumerators.
17947 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
17948
17949 * c-parse.in (OBJC_STRING): Kill.
17950 (objc_string): Decompose to [objc_string] '@' STRING.
17951 (reswords): Take the leading '@' off all the Objective C keywords.
17952 (objc_rid_sans_at): Kill.
17953 (init_reswords): Don't initialize it.
17954 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
17955 (_yylex): Kill reconsider label. Look ahead one token after
17956 an '@'; if we get an identifier, check whether it's an
17957 Objective C @-keyword. If so, return the keyword. Otherwise,
17958 put back the token and return the '@' as a terminal.
17959
17960 * cpplib.c (lex_macro_node): Remove unnecessary check for
17961 leading '@' on identifier. Clarify control flow and commentary.
17962
17963 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17964
17965 * cse.c (new_label_ref): Variable deleted.
17966 (insert): Remove set of new_label_ref.
17967 (check_for_label_ref): New function.
17968 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
17969
17970 See ChangeLog.5 for earlier changes.
This page took 0.780247 seconds and 4 git commands to generate.