]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
* c-common.def: Fix typo in comment.
[gcc.git] / gcc / ChangeLog
1 2001-12-17 Andreas Jaeger <aj@suse.de>
2
3 * c-common.def: Fix typo in comment.
4
5 2001-12-16 David O'Brien <obrien@FreeBSD.org>
6
7 * config.gcc (sparc64-*-freebsd*): Add target.
8 * config/sparc/freebsd.h: New file.
9 * config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
10 * config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
11 * config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
12
13 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
14
15 * config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
16 PLUS operands into registers for altivec mode.
17
18 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
19
20 * builtins.c (apply_args_size): Change regno to unsigned.
21
22 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
23
24 * config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
25 ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
26
27 2001-12-16 Zack Weinberg <zack@codesourcery.com>
28
29 * c-typeck.c (error_init, pedwarn_init, warning_init): Call
30 gettext on argument before printing.
31
32 * fold-const.c (negate_expr): Always call fold on new
33 NEGATE_EXPR.
34
35 2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk>
36
37 * c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
38 a DECL directly.
39 * c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
40 (COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
41 * c-decl.c (build_compound_literal): Put the decl inside a
42 DECL_STMT.
43 * doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
44 Fixes PR c/5105.
45
46 2001-12-16 Aldy Hernandez <aldyh@redhat.com>
47
48 * config.gcc: Add powerpc-*-eabisimaltivec*.
49
50 2001-12-16 Neil Booth <neil@daikokuya.demon.co.uk>
51
52 * c-common.c, c-common.h (back_end_hook): Remove.
53 * c-lang.c (finish_file): Remove back_end_hook.
54
55 Sun Dec 16 13:13:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
56
57 * expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
58 last change.
59
60 2001-12-16 Richard Henderson <rth@redhat.com>
61
62 * toplev.c (parse_options_and_default_flags): Don't enable
63 flag_cprop_registers at -O1.
64
65 2001-12-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
66
67 * avr.c (avr_simplify_comparision_p, adjust_insn_length,
68 mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
69 * avr.h (reg_class): Likewise.
70 * avr.md: Likewise.
71 * mcore.c (try_constant_tricks, mcore_byte_offset,
72 mcore_halfword_offset): Likewise.
73 * sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
74 * v850.c (not_power_of_two_operand): Likewise.
75
76 * clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
77 warnings.
78 * convex.h (ASM_OUTPUT_ASCII): Likewise.
79 * i370.h (ASM_OUTPUT_ASCII): Likewise.
80 * i386/att.h (ASM_OUTPUT_ASCII): Likewise.
81 * i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
82 * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
83 * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
84 * i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
85 * i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
86 * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
87 * i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
88 * m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
89 * m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
90 * m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
91 * m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
92 * m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
93 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
94 * m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
95 * m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
96 * m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
97 * mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
98 * mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
99 * mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
100 * mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
101 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
102 * vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
103 * we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
104
105 * i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
106 * interix.h (TARGET_MEM_FUNCTIONS): Likewise.
107 * psos.h (CPP_PREDEFINES): Likewise.
108 * rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
109 * rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
110 ASM_OUTPUT_EXTERNAL): Likewise.
111 * sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
112 Likewise.
113 * sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
114 * sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
115 Likewise.
116 * sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
117
118 * c-lex.c (lex_number): Use ISXDIGIT/hex_value.
119 * vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
120 * fold-const.c (real_hex_to_f): Use hex_value.
121 * real.c (asctoeg): Use hex_value & ISXDIGIT.
122 * toplev.c (toplev_main): Call hex_init.
123 * tradcpp.c (main): Call hex_init.
124
125 * nextstep-protos.h: New file.
126 * nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
127 * nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
128 STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
129 (nextstep_asm_out_constructor, nextstep_asm_out_destructor,
130 handle_pragma): Move prototypes to nextstep-protos.h.
131 * config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
132 m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
133
134 2001-12-16 Craig Rodrigues <rodrigc@gcc.gnu.org>
135
136 PR other/3725
137 * configure.in: Add AC_SUBST(target_alias).
138 * configure: Regenerated.
139
140 2001-12-15 Richard Henderson <rth@redhat.com>
141
142 * config/alpha/alpha.md (sibcall_osf_1_er): New.
143 (sibcall_value_osf_1_er): New.
144
145 2001-12-15 Dan Nicolaescu <dann@ics.uci.edu>
146
147 * config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
148 addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
149 addrs; eliminate restriction of only using fp and sp as base
150 registers.
151 * config/sparc/sparc-protos.h: Update.
152 * config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
153 (*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
154 from old define_peepholes.
155 Convert all the ldd/std peepholes to peephole2.
156
157 2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
158
159 * s390.md (prologue, epilogue, *return_si, *return_di): New.
160 s390.c (find_unused_clobbered_reg, s390_frame_info,
161 save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
162 s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
163 s390.c (s390_arg_frame_offset): Use s390_frame_info.
164 (leaf_function_flag, cur_is_leaf_function,
165 save_fprs, restore_fprs, force_const_mem_late): Remove.
166 (s390_function_prologue, s390_function_epilogue): Mostly remove.
167 s390.md (lit): New. Uses ...
168 s390.c (s390_output_constant_pool): ... this, so adapt and make global.
169 s390-protos.h (s390_output_constant_pool): Declare.
170 s390.md (load_multiple, store_multiple): Allow use after reload.
171 s390.c (load_multiple_operation, store_multiple_operation): Likewise.
172 s390.h (INCOMING_FRAME_SP_OFFSET): Define.
173 s390.h (CALL_REALLY_USED_REGISTERS): Define.
174 config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
175 s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
176 s390.c (s390_sr_alias_set): New global variable, initialized ...
177 (override_options): ... here. New.
178 s390-protos.h (override_options): Declare.
179 s390.h (OVERRIDE_OPTIONS): Call it.
180 s390.c (s390_function_profiler): New.
181 s390-protos.h (s390_function_profiler): Declare.
182 s390.h (FUNCTION_PROFILER): Call it.
183 s390.c (s390_profile): Remove.
184
185 * s390.c (reg_used_in_mem_p): PC reload counts as memory access.
186 (addr_generation_dependency_p): Consider literal pool register loads.
187 (s390_adjust_priority): Do not schedule load_multiple.
188 s390.md (attribute "type"): Define some additional types.
189 (function_unit "integer"): Adapt.
190 (many insns): Adapt "type" attribute setting.
191
192 * s390.c (general_s_operand, s_imm_operand): New.
193 (s_operand): Remove old definition, call general_s_operand instead.
194 s390-protos.h (s_imm_operand): Declare.
195 s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
196 r_or_x_or_im16_operand, r_or_im8_operand): Remove.
197 s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
198 r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
199 s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
200 s390.md (many insns): Rework insn predicates.
201
202 * s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
203 non-symbolic constants. Reload will force them because of ...
204 (s390_preferred_reload_class): ... this. New.
205 s390-protos.h (s390_preferred_reload_class): Declare.
206 s390.h (PREFERRED_RELOAD_CLASS): Call it.
207 s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
208 *reload_la_31 splitters): Handle constants after reload.
209 (many insns): no longer force all constants immediately.
210 s390.c (legitimate_reload_constant_p): New helper routine.
211 s390-protos.h (legitimate_reload_constant_p): Declare.
212 s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
213
214 * s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
215 HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
216 (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
217 (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
218 (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
219 (DWARF_FRAME_REGISTERS): Define.
220 s390.c (regclass_map): Add virtual frame pointer.
221 (legitimate_la_operand_p): Allow use of virtual frame pointer.
222 s390.md (*la_ccclobber, *addaddr_ccclobber): New.
223 (addaddr, addsi_64): Delete.
224
225 * s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
226 floating point registers.
227 (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
228 (ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
229 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
230
231 * s390.md (movti): Replace multi-insn output with splitters.
232 (movdi_31, movdf_31): Likewise.
233 (movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
234 (movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
235 (movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
236 (movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
237 (movsf_64, movsf_31): Remove, replace by ...
238 (movsf): ... this.
239 (movqi_64): Use lhi instead of llill.
240 (*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
241
242 * s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
243 extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
244 extendqihi2 and associated splitters): Reworked.
245 (zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
246 zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
247 zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
248 *zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
249 *zero_extendqisi2_64, *zero_extendqisi2_mem_31,
250 zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
251 zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
252 and associated splitters): Likewise.
253 (*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
254 and associated splitters): New.
255 (truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
256 *truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
257 (ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
258 s390.h (PROMOTE_PROTOTYPES): Remove.
259 config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
260
261 * s390.md (muldi3): Delete, use instead ...
262 (mulsidi3): ... this.
263 (*muldi3_64): Rename to muldi3.
264 (mulsi_6432): Fix template.
265 (divdi3, moddi3): Delete, replace by ...
266 (divmoddi4): ... this.
267 (divmodtidi3): Fix template.
268 (divmodtisi3): New.
269 (udivdi3, umoddi3): Delete, replace by ...
270 (udivmoddi4): ... this.
271 (udivmodtidi3): Fix template.
272 (divsi3, modsi3): Delete, replace by ...
273 (divmodsi4): ... this.
274 (divmoddisi3): Fix template.
275 (udivsi3, umodsi3): Adapt.
276
277 * s390.md (anddi3): Remove SS alternative, use instead ...
278 (anddi3_ss, anddi3_ss_inv): ... these.
279 (anddi3_ni): New.
280 (andsi3*, andhi3*, andqi3*): Likewise.
281 (iordi3): Remove SS alternative, use instead ...
282 (iordi3_ss, iordi3_ss_inv): ... these.
283 (iordi3_oi): New.
284 (iorsi3*, iorhi3*, iorqi3*): Likewise.
285 (iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
286 (xordi3): Remove SS alternative, use instead ...
287 (xordi3_ss, xordi3_ss_inv): ... these.
288 (xordi3_oi): New.
289 (xorsi3*, xorhi3*, xorqi3*): Likewise.
290 (xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
291 (one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
292 Expand to XOR with -1.
293 (*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
294 (cmpdi_tm): Delete, replace by ...
295 (cmpdi_tm_reg, cmpdi_tm_mem): ... these.
296 (cmpsi_cct): Delete, replace by ...
297 (cmpsi_tm_reg, cmpsi_tm_mem): ... these.
298 (cmpdi_tm2, cmpsi_tm2): Improve.
299 (cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
300 s390.c (s390_single_hi, s390_extract_hi,
301 s390_single_qi, s390_extract_qi): New helper routines.
302 s390-protos.h (s390_single_hi, s390_extract_hi,
303 s390_single_qi, s390_extract_qi): Declare.
304 s390.c (tmxx_operand, const1_operand): Remove.
305 s390-protos.h (tmxx_operand, const1_operand): Likewise.
306 s390.h (PREDICATE_CODES): Likewise.
307
308 * s390.md (sqrtdf2, sqrtsf2): New.
309
310 * s390.h (CRT_CALL_STATIC_FUNCTION): Define.
311 (check_and_change_labels): Remove section-change special case.
312
313 * s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
314 in leaf functions. Needs ...
315 (DYNAMIC_CHAIN_RTX): ... this. New.
316
317 * s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
318
319 * s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
320 clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
321 input operands using a match_dup clause.
322 (movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
323
324 * s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
325 floatsisf2, floatsisf2_ieee): Add missing CC clobber.
326
327 * s390.md (floatsidf2_ibm): Use correct operand.
328
329 * s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
330 fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
331 non-portable constants.
332 s390.c (s390_gen_rtx_const_DI): New helper routine.
333 s390-protos.h (s390_gen_rtx_const_DI): Declare.
334
335 * s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
336
337 * config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
338 ASM_OUTPUT_BYTE): Clean up assembly output.
339 (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
340 (ASM_OUTPUT_ASCII): Remove.
341
342 * config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
343
344 2001-12-15 Zack Weinberg <zack@codesourcery.com>
345
346 * unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
347 before including unwind-dw2-fde.c, if we are not using the
348 special code in this file.
349
350 2001-12-15 Richard Henderson <rth@redhat.com>
351
352 * config/alpha/alpha.h (TARGET_SWITCHES): Turn on
353 MASK_EXPLICIT_RELOCS if the assembler supports it.
354 * configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
355 * configure, config.in: Rebuild.
356
357 Sat Dec 15 17:53:03 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
358
359 * calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
360 for rounded_stack_size.
361
362 2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
363
364 * c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
365 config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
366 toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
367 "bit-field" spellings in messages.
368 * po/gcc.pot: Regenerate.
369
370 2001-12-15 Joseph S. Myers <jsm28@cam.ac.uk>
371
372 * gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
373 American spelling in messages.
374 * po/gcc.pot: Regenerate.
375
376 2001-12-15 Kazu Hirata <kazu@hxi.com>
377
378 * config/h8300/h8300.md: Adjust whitespacing. Remove
379 constraints from expanders. Replace \@ with @.
380
381 2001-12-15 Richard Earnshaw <rearnsha@arm.com>
382
383 * arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
384
385 2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
386
387 * regrename.c (copyprop_hardreg_forward): Do not keep register
388 value data live across abnormal call or eh egdes.
389
390 Sat Dec 15 08:29:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
391
392 * expr.c (highest_pow2_factor, case INTEGER_CST): Return
393 BIGGEST_ALIGNMENT for 0.
394
395 Sat Dec 15 14:13:03 CET 2001 Jan Hubicka <jh@suse.cz>
396
397 * predict.def (PRED_NORETURN): Make probabilities match reality.
398 (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
399 Likewise.
400
401 2001-12-15 Jakub Jelinek <jakub@redhat.com>
402
403 * configure.in: Check for ld.
404 (HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
405 * configure, config.in: Rebuilt.
406 * config.gcc: Add crtbeginT.o to extra_parts where needed.
407 * config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
408 frame unwinding on Linux.
409 * config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
410 frame unwinding.
411 * config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
412 (LINK_EH_SPEC): Define.
413 * config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
414 * config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
415 * config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
416 iterate further if pc falls into current library, but fde was not
417 found.
418 * config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
419 if using glibc.
420 (LINK_EH_SPEC): Define.
421 * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
422 Use crtbeginT.o for -static.
423 (LINK_EH_SPEC): Define.
424 * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
425 * Makefile.in (crtbeginT.o): Add rule.
426 * gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
427 If neither -static-libgcc nor -shared-libgcc is passed and -shared,
428 use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
429 If none of the above switches are passed, use -lgcc -lgcc_eh.
430 (init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
431 * mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
432 creating libgcc_s.so, put them into separate libgcc_eh.a instead.
433 * unwind-dw2-fde.c: Don't include any headers if this file
434 is included from other .c file.
435 * unwind-dw2-fde-glibc.c: New file.
436 * crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
437 Use it instead of EH_FRAME_SECTION_NAME where appropriate.
438
439 2001-12-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
440
441 * builtins.c (expand_builtin_memcmp): Mark parameter with
442 ATTRIBUTE_UNUSED.
443 * cfgcleanup.c (insns_match_p): Likewise.
444 * regrename.c (mode_change_ok): Likewise.
445 * gcc.c (execute): Const-ify.
446
447 2001-12-14 Aldy Hernandez <aldyh@redhat.com>
448
449 * c-parse.in (typename): Do not split attributes.
450 Remove unsupported attributes warning.
451
452 * c-decl.c (groktypename): Apply attributes.
453
454 2001-12-14 Richard Henderson <rth@redhat.com>
455
456 * config/ia64/ia64.c (spill_restore_mem): Mark iterator
457 initialization as possibly dead.
458
459 2001-12-14 Richard Henderson <rth@redhat.com>
460
461 * regrename.c (mode_change_ok): New.
462 (find_oldest_value_reg): Use it.
463
464 2001-12-14 Richard Henderson <rth@redhat.com>
465
466 * regrename.c (struct value_data): Add max_value_regs.
467 (init_value_data): Initialize it.
468 (kill_value): Kill values that overlap the dying register.
469 (set_value_regno): New.
470 (kill_set_value, kill_autoinc_value, copy_value): Use it.
471 (copyprop_hardreg_forward_1): Kill earlyclobber operands
472 before looking at inputs.
473
474 2001-12-14 David Edelsohn <edelsohn@gnu.org>
475
476 * config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
477 DECL_WEAK for function descriptors.
478 * config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
479 weak support present.
480 (ASM_WEAKEN_LABEL): Same.
481
482 2001-12-14 Kazu Hirata <kazu@hxi.com>
483
484 * config/h8300/h8300.md (anonymous pattern): Add a missing
485 mode.
486
487 2001-12-14 Kazu Hirata <kazu@hxi.com>
488
489 * config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
490 comment typo.
491
492 2001-12-14 Kazu Hirata <kazu@hxi.com>
493
494 * config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
495 Remove the initialization requierment.
496 (h8300_handle_tiny_data_attribute): Likewise.
497
498 2001-12-14 Kazu Hirata <kazu@hxi.com>
499
500 * config/h8300/h8300.md (udivqi3): Remove.
501 (divqi3): Likewise.
502 (udivhi3): Likewise.
503 (divhi3): Likewise.
504 (umodqi3): Likewise.
505 (modqi3): Likewise.
506 (umodhi3): Likewise.
507 (modhi3): Likewise.
508 (udivmodqi3): New.
509 (divmodqi3): Likewise.
510 (udivmodhi3): Likewise.
511 (divmodhi3): Likewise.
512
513 Sat Dec 15 01:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
514
515 * cfgcleanup.c (flow_find_cross_jump): Replace tests for note
516 by active_insn_p; count conditional jump as instruction.
517
518 2001-12-14 DJ Delorie <dj@redhat.com>
519 Danny Smith <dannysmith@users.sourceforge.net>
520
521 * config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
522 at SYM_NAME[0] or SYM_NAME[3].
523 (STRIP_NAME_ENCODING): Don't check for leading '*'.
524
525 2001-12-14 Ira Ruben <ira@apple.com>
526
527 Add -### option (displays driver-generated commands without
528 executing and quotes all arguments).
529 * doc/invoke.texi: Add -###.
530 * gcc.c (verbose_only_flag) - New flag.
531 * (execute): If -### write quoted arguments and return.
532 * (display_help): Print meaning of -###.
533 * (process_command): Handle -###.
534
535 2001-12-14 Ira Ruben <ira@apple.com>
536
537 Fix to no allow -save-temps to clobber user's source file.
538 * gcc.c: Add static globals input_stat and input_stat_set.
539 (do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
540 set, check that user's input file is not overwritten.
541 (set_input): Reset input_stat_set for each new file.
542
543 Fri Dec 14 22:14:44 CET 2001 Jan Hubicka <jh@suse.cz>
544
545 * predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
546
547 2001-12-14 Zack Weinberg <zack@codesourcery.com>
548
549 * combine.c (record_dead_and_set_regs): Use
550 regs_invalidated_by_call. Don't note stores for CALL_INSNs.
551
552 2001-12-14 Roger Sayle <roger@eyesopen.com>
553
554 * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
555 __builtin_fsqrt to __builtin_sqrt.
556
557 * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
558 * doc/extend.texi: Simplify documentation to match patch.
559
560 Fri Dec 14 21:23:54 CET 2001 Jan Hubicka <jh@suse.cz>
561
562 * config.gcc: Revamp target_cpu_default2 to strings;
563 support new x86 variants.
564 * i386.c (override_options): Default x86_cpu_string and x86_arch_string
565 properly; set prefetch_sse.
566 * i386.h (x86_prefetch_sse): Declare.
567 (TARGET_PREFETCH_SSE): New.
568 (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
569 (TARGET_CPU_DEFAULT_*): New.
570
571 Thu Dec 13 21:57:13 CET 2001 Janis Johnson <janis187@us.ibm.com>
572 Jan Hubicka <jh@suse.cz>
573
574 * config/i386/i386.h (struct processor_costs): Add new members
575 prefetch_block and simultaneous_prefetches.
576 (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
577 * config/i386/i386.c (processor_costs structs): Add values for
578 prefetch_block and simultaneous_prefetches.
579 * config/i386/i386.md (unspec values): Remove values for prefetch
580 operations, which now use the PREFETCH rtx code.
581 (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
582 unified prefetch support.
583
584 2001-12-14 Jason Merrill <jason@redhat.com>
585
586 * diagnostic.c (sorry): Increment sorrycount before saving the
587 buffer state.
588
589 Fri Dec 14 19:53:23 CET 2001 Jan Hubicka <jh@suse.cz>
590
591 * i386.md (sqrt?f): Fix conditionals.
592
593 Fri Dec 14 07:29:52 2001 Douglas B. Rupp <rupp@gnat.com>
594
595 * config.gcc (alpha64-dec-*vms*): New case.
596 * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
597 * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
598 * config/alpha/xm-vms64.h: Likewise.
599
600 * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
601 (alpha_write_linkage): Test for null alpha_links.
602 (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
603 (vms_section_type_flags, vms_asm_named_section): Handle them.
604
605 Fri Dec 14 12:05:14 CET 2001 Jan Hubicka <jh@suse.cz>
606
607 * i386.c (ix86_fpmath, ix86_fpmath_string): New.
608 (override_option): Set ix86_fpmath.
609 * i386.h (MASK_MIX_SSE_I387): Remove.
610 (TARGET_SSE_MATH): New.
611 (TARGET_MIX_SSE_I387): Use ix86_fpmath.
612 (TARGET_SWITCHES): Remove "mix-sse-i387".
613 (fpmath_unit): New enum.
614 (ix86_fpmath, ix86_fpmath_string): Declare.
615 * i386.md (swapsf): Fix condition.
616 (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
617 (fp_?f_*_nosse): New.
618 (fp_*): Use TARGET_SSE_MATH.
619 * invoke.texi (-mfpmath): Document.
620 (-msse2): Add.
621
622 2001-12-14 Jason Merrill <jason@redhat.com>
623
624 * dwarf2out.c (output_die): Print the string in the comment for
625 a DW_FORM_strp.
626
627 2001-12-14 Richard Earnshaw <rearnsha@arm.com>
628
629 * netbsd.h (COLLECT_SHARED_INIT_FUNC)
630 (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
631 * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
632 (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
633
634 2001-12-13 Richard Henderson <rth@redhat.com>
635
636 * regrename.c (kill_value_regno): Simplify chain removal.
637 (kill_value): Kill all of HARD_REGNO_NREGS.
638 (kill_set_value): Use kill_value not kill_value_regno.
639 (kill_autoinc_value): Likewise.
640 (copyprop_hardreg_forward): Don't collect refresh_blocks.
641 Call delete_noop_moves.
642
643 2001-12-13 Aldy Hernandez <aldyh@redhat.com>
644
645 * attribs.c (c_common_attribute_table): Swap decl_req and type_req
646 for the mode attribute.
647 (handle_mode_attribute): Handle types, not decls.
648
649 2001-12-13 Jason Merrill <jason@redhat.com>
650
651 * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
652
653 2001-12-13 Aldy Hernandez <aldyh@redhat.com>
654
655 * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
656 constraint to base register.
657 (eh_set_lr_si): Same.
658
659 2001-12-13 Hans-Peter Nilsson <hp@axis.com>
660
661 * expr.c (expand_expr, case ADDR_EXPR): Don't honor
662 flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
663 modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
664
665 Thu Dec 13 20:30:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
666
667 * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
668 warning and reformat comments.
669 (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
670 (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
671 if overflow.
672
673 2001-12-12 Aldy Hernandez <aldyh@redhat.com>
674
675 * config/rs6000/rs6000.c (rs6000_override_options): Add
676 SUBSUBTARGET_OVERRIDE_OPTIONS.
677
678 * config/rs6000/eabialtivec.h: New file.
679
680 * config/rs6000/linuxaltivec.h: New file.
681
682 * config.gcc: Add powerpc-*-eabialtivec and
683 powerpc-*-linux-gnualtivec.
684
685 2001-12-13 Neil Booth <neil@daikokuya.demon.co.uk>
686
687 * toplev.c (process_options, parse_options_and_default_flags):
688 Set flag_no_inline before the post_options hook.
689
690 2001-12-13 Richard Henderson <rth@redhat.com>
691
692 * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
693 is false.
694
695 2001-12-13 Richard Earnshaw <rearnsha@arm.com>
696
697 * collect2.c (COLLECT_SHARED_INIT_FUNC)
698 (COLLECT_SHARD_FINI_FUNC): Define default values.
699 (write_c_file_stat): Use them to call construtor and destructor
700 functions in shared libraries.
701 * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
702 (COLLECT_SHARD_FINI_FUNC): Document them.
703 * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
704 (COLLECT_SHARD_FINI_FUNC): Define.
705
706 * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
707 shared library. Pass -shared through to the linker.
708 * config/arm/netbsd.h (LINK_SPEC): Likewise.
709
710 * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
711 (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
712 (SHLIB_INSTALL): Define.
713
714 2001-12-13 Richard Earnshaw <rearnsha@arm.com>
715
716 * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
717 the same way as we handle SYMBOL_REFS.
718
719 Thu Dec 13 07:47:24 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
720
721 * loop.c (remove_constant_addition): Fix prototype and whitespace.
722 (emit_prefetch_instructions): Remove warnings and whitespace
723 changes.
724
725 Thu Dec 13 06:48:38 2001 Douglas B. Rupp <rupp@gnat.com>
726
727 * config/alpha/vms-cc.c (preprocess_args): Fix forward
728 declaration.
729
730 Thu Dec 13 12:31:07 CET 2001 Jan Hubicka <jh@suse.cz>
731
732 * predict.c (estimate_probability): Reorganize opcode heuristics.
733 * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
734 PRED_FPOPCODE): New.
735
736 * i386.c (override_options): Recognize various CPU variants and set
737 SSE/MMX/3dNOW flags accordingly.
738 * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
739 MASK_3DNOW_A_SET): New.
740 (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
741 (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
742 (MASK_*): Renumber.
743 (TARGET_FLAGS): Use new masks.
744 (CPP_CPU_SPECS): Recognize new CPU variants.
745 * invoke.texi (-mcpu): Update documentation.
746
747 * flags.h (flag_prefetch_loop_arrays): Declare.
748 * loop.h (LOOP_PREFETCH): Define new constant.
749 * loop.c (strength_reduce): Call emit_prefetch_instructions.
750 (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
751 PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
752 constants.
753 (check_store_data): New structure.
754 (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
755 New functions.
756 * toplev.c: Include insn-flags.h.
757 (flag_prefetch_loop_arrays): New global variable.
758 (lang_independent_option): Add -fprefetch-loop-arrays.
759 (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
760 is set.
761 * Makefile.in (toplev.c): Depend on insn-flags.h.
762 * invoke.texi (-fprefetch-loop-arrays): Document.
763
764 * predict.c (estimate_probability): Distribute the loop exit
765 probability according to number of exit edges.
766
767 * cfgcleanup.c (insns_match_p): Break out from ...;
768 (flow_find_cross_jump): ... here;
769 (outgoing_edges_match): Add parameter MODE; attempt to match everything
770 except for tablejumps.
771 (try_crossjump_to_edge): Accept complex edges.
772 (try_crossjump_bb): Likewise.
773
774 2001-11-29 Corey Minyard <minyard@acm.org>
775
776 * recog.c (validate_replace_rtx_1): Use simplify_gen_binary
777 instead of plus_constant.
778 * simplify-rtx.c (neg_const_int): New.
779 (simplify_gen_binary, simplify_plus_minus): Use it.
780
781 2001-12-12 Roger Sayle <roger@eyesopen.com>
782
783 * builtins.c (expand_builtin_memset, expand_builtin_memcpy,
784 expand_builtin_strcpy): Additional arguments TARGET and MODE.
785 (expand_builtin_bzero, expand_builtin_strcpy,
786 expand_builtin_strncpy, expand_builtin_bzero): Pass additional
787 TARGET and MODE parameters to the above functions.
788 (expand_builtin_memset, expand_builtin_memcpy): Optimize the
789 case where the LEN parameter is constant zero.
790 (expand_builtin_memcmp): No longer conditional on
791 HAVE_cmpstrsi. Take an additional mode parameter. Optimize
792 the cases where len is either constant zero or one.
793 Optimize to call to memcpy, even if the memcpy isn't inlined.
794 (expand_builtin_strncpy): Optimize to call memcpy, even if the
795 memcpy isn't inlined.
796 (expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
797 to optimize to a call to memcmp.
798 (expand_builtin): expand_builtin_memcmp can always be called,
799 and pass the required parameters to expand_builtin_memcmp,
800 expand_builtin_memset, expand_builtin_memcpy and
801 expand_builtin_strcpy.
802
803 2001-12-12 David O'Brien <obrien@FreeBSD.org>
804
805 * config.gcc (arm-*-freebsd*): Add target.
806 * config/arm/freebsd.h: New file.
807 * config/arm/arm.h (CPP_PREDEFINES): Do not define.
808 (CPP_SPEC): #undef before defining.
809 (CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
810 * config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
811 -Amachine=arm.
812 * config/arm/linux-elf.h: Likewise.
813 * config/arm/netbsd.h: Likewise.
814 * config/arm/riscix.h: Likewise.
815 * config/arm/riscix1-1.h: Likewise.
816 * config/arm/semiaof.h: Likewise.
817
818 2001-12-12 Richard Henderson <rth@redhat.com>
819
820 * regrename.c (copyprop_hardreg_forward): New optimization.
821 (kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
822 kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
823 replace_oldest_value_reg, replace_oldest_value_addr,
824 replace_oldest_value_mem, copyprop_hardreg_forward_1,
825 debug_value_data, validate_value_data): New.
826 * rtl.h (copyprop_hardreg_forward): Declare.
827 * toplev.c (flag_cprop_registers): New.
828 (f_options): Add -fcprop-registers
829 (rest_of_compilation): Invoke it.
830 (parse_options_and_default_flags): Set it at -O1.
831 * doc/invoke.texi: Document it.
832
833 2001-12-12 Jakub Jelinek <jakub@redhat.com>
834
835 * dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
836 (DEBUG_RANGES_SECTION_LABEL): Define.
837 (ranges_section_label): Add.
838 (add_AT_range_list): New.
839 (print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
840 (output_loc_list): Location expression length is always 2-byte.
841 (output_die): Handle dw_val_class_range_list.
842 (gen_lexical_block_die): Call add_AT_range_list.
843 (dwarf2out_init): Initialize ranges_section_label.
844 (dwarf2out_finish): Emit ranges_section_label.
845
846 2001-12-12 Jakub Jelinek <jakub@redhat.com>
847
848 * c-typeck.c (digest_init): Allow initializing
849 static storage duration objects with compound literals.
850 * doc/extend.texi (Compound literals): Document the extension.
851
852 2001-12-12 Richard Henderson <rth@redhat.com>
853
854 * emit-rtl.c (adjust_address_1): Always copy address to avoid
855 shared rtl.
856
857 Wed Dec 12 07:37:52 2001 Olivier Hainque <hainque@act-europe.fr>
858
859 * stmt.c (expand_end_case): Do subtraction of lower bound as trees
860 to avoid overflow.
861
862 Wed Dec 12 07:35:24 2001 Douglas B. Rupp <rupp@gnat.com>
863
864 * cppfiles.c (read_include_file): Set buffer size properly when
865 file is shorter than expected.
866
867 Wed Dec 12 08:35:33 2001 Nicola Pero <n.pero@mi.flashnet.it>
868
869 * objc/objc-act.c (encode_complete_bitfield): Fixed encoding
870 enumeral types - encode them using 'i'.
871
872 2001-12-12 Nathan Sidwell <nathan@codesourcery.com>
873
874 * doc/extend.texi (Deprecated Features): Deprecate implicit
875 typename. Document that named return and initializer lists are now
876 removed.
877
878 2001-12-11 Roger Sayle <roger@eyesopen.com>
879
880 * except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
881 compiler warning about enumeration values not being handled.
882
883 2001-12-11 Momchil Velikov <velco@fadata.bg>
884
885 * config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
886 shifts.
887
888 2001-12-11 Richard Henderson <rth@redhat.com>
889
890 * config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
891 * config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
892 * config/alpha/alpha.md (prefetch): New.
893
894 2001-12-11 Richard Henderson <rth@redhat.com>
895
896 * combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
897 if C has only low bits set and doesn't intersect with X or Y.
898
899 Tue Dec 11 23:58:39 EST 2001 John Wehle (john@feith.com)
900
901 * basic-block.h (flow_preorder_transversal_compute): Declare.
902 * cfganal.c (flow_preorder_transversal_compute): Implement.
903
904 Tue Dec 11 23:54:27 EST 2001 John Wehle (john@feith.com)
905
906 * cfganal.c (flow_depth_first_order_compute): Always
907 increment dfsnum.
908
909 2001-11-30 Alan Matsuoka <alanm@redhat.com>
910
911 * combine.c (combine_simplify_rtx) : Can't simplify
912 cases that use mode class MODE_CC.
913
914 2001-12-11 Richard Henderson <rth@redhat.com>
915
916 * expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
917 which there is no divide expander.
918
919 2001-12-11 Richard Henderson <rth@redhat.com>
920
921 * except.c (sjlj_find_directly_reachable_regions): Don't
922 consider RNL_BLOCKED a directly reachable region.
923 (sjlj_assign_call_site_values): Trust directly_reachable.
924 (sjlj_emit_dispatch_table): Likewise.
925
926 2001-12-11 Richard Henderson <rth@redhat.com>
927
928 * config/alpha/alpha.md (divmodsi_internal_er): Split, so that
929 we represent the address load's dependency on the gp.
930 (divmoddi_internal_er): Likewise.
931 (divmodsi_internal_er_1, divmoddi_internal_er_1): New.
932
933 2001-12-11 Richard Henderson <rth@redhat.com>
934
935 * emit-rtl.c (widen_memory_access): New.
936 * expr.h (widen_memory_access): Declare it.
937 * config/alpha/alpha.c (get_aligned_mem): Use it.
938
939 2001-12-11 Richard Henderson <rth@redhat.com>
940
941 * combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
942 simplification above out of range check.
943
944 2001-12-11 Dan Nicolaescu <dann@ics.uci.edu>
945
946 * config/sparc/sparc.md (prefetch): New.
947
948 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
949
950 * output.h (regno_uninitialized): Make argument unsigned.
951
952 * flow.c (regno_uninitialized): Make regno unsigned.
953
954 2001-12-11 David O'Brien <obrien@FreeBSD.org>
955
956 * elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
957 * config/cris/cris.h (ENDFILE_SPEC): Define.
958 * config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
959 * config/pa/elf.h: Likewise.
960
961 2001-12-11 Richard Henderson <rth@redhat.com>
962
963 * objc/objc-act.c (build_string_class_template): New.
964 (build_objc_string_object): Call it.
965
966 2001-12-11 Steve Ellcey <sje@cup.hp.com>
967
968 * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
969 * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
970 * calls.c (store_unaligned_arguments_into_pseudos): Check
971 FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
972 are passed/returned.
973 * expr.c (move_block_from_reg): Ditto.
974 (move_block_from_reg): Ditto.
975 (copy_blkmode_from_reg): Ditto.
976 * stmt.c (expand_return): Ditto.
977 * stor-layout.c (compute_record_mode): If
978 FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
979 MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
980 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
981 so that Structures of one field are still treated as structures.
982 (FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
983 (FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
984 (PAD_VARARGS_DOWN): Modify from default to not pad structures down.
985 * config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
986 * config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
987 to special case handling of structure padding.
988
989 2001-12-11 Daniel Berlin <dan@cgsoftware.com>
990
991 * sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
992 (may_trap_exp): Stores only are risk if they trap, too, not just
993 if code == MEM.
994
995 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
996
997 * flow.c (find_regno_partial): Indent properly. Add a default to
998 switch.
999
1000 2001-12-11 Neil Booth <neil@daikokuya.demon.co.uk>
1001
1002 * c-common.c (combine_strings): Complain if concatenating
1003 __FUNCTION__.
1004 * c-parse.in (yylexname): Flag artificial strings.
1005 * tree.h (TREE_ARTIFICIAL_STRING_P): New.
1006 doc:
1007 * extend.texi: Update.
1008
1009 2001-12-11 Aldy Hernandez <aldyh@redhat.com>
1010
1011 * c-common.c (type_for_mode): Handle unsigned vectors.
1012 (type_for_mode): Remove redundant calls to TYPE_MODE.
1013
1014 * tree.c (make_vector): New.
1015 (build_common_tree_nodes_2): Use make_vector for vector types.
1016 Add unsigned vector types.
1017
1018 * tree.h (tree_index): Add unsigned types for vectors.
1019 (unsigned_V16QI_type_node): New.
1020 (unsigned_V4SI_type_node): New.
1021 (unsigned_V8QI_type_node): New.
1022 (unsigned_V8HI_type_node): New.
1023 (unsigned_V4HI_type_node): New.
1024 (unsigned_V2SI_type_node): New.
1025
1026 2001-12-11 Stan Shebs <shebs@apple.com>
1027
1028 * objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
1029 test of class names.
1030
1031 2001-12-11 David O'Brien <obrien@FreeBSD.org>
1032
1033 * config.gcc (m68020-*-elf*): Expand tm_file to include all needed
1034 cpu configuration headers.
1035 * config/h8300/elf.h: Include dbxelf.h.
1036 * config/m68k/linux.h: Likewise.
1037 * config/m68k/m68020-elf.h: Likewise.
1038 * config/m68k/m68kv4.h: Likewise.
1039 * config/sh/elf.h: Likewise.
1040 * config/m68k/m68kemb.h: Add comment about the its purpose.
1041
1042 2001-12-11 Richard Henderson <rth@redhat.com>
1043
1044 * objc/objc-act.c (build_constructor): Cast initializer values
1045 to the proper field types.
1046
1047 2001-12-11 Jakub Jelinek <jakub@redhat.com>
1048
1049 * unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
1050
1051 2001-12-10 Roger Sayle <roger@eyesopen.com>
1052
1053 * builtins.c (expand_builtin): Use a switch statement to list
1054 those functions not expanded without optimizations, instead of a
1055 series of equality tests.
1056
1057 Tue Dec 11 07:08:57 2001 Douglas B. Rupp <rupp@gnat.com>
1058
1059 * config/alpha/vms.h (LIB_SPEC): Define.
1060 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
1061
1062 * libgcc2.c (_bb): Remove ctime declaration.
1063
1064 * Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
1065 that works if LN_S = cp.
1066
1067 * config/alpha/x-vms (version): Change "." to "_".
1068
1069 * configure.in: Hardcode that vfork works on VMS host.
1070 * configure: Regenerated.
1071
1072 Mon Dec 10 18:37:31 2001 Douglas B. Rupp <rupp@gnat.com>
1073
1074 * gcc.c (convert_filename): Add do_obj parameter. Don't convert
1075 unless do_obj true.
1076 (process_command): Modify calls to convert_filename.
1077
1078 2001-12-11 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1079
1080 * config/sparc/sol2-sld-64.h: Include dbxelf.h again.
1081
1082 Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com)
1083
1084 * combine.c (known_cond): Check mode of each operand to determine
1085 if COND is comparing floating point values.
1086
1087 2001-12-10 David Edelsohn <edelsohn@gnu.org>
1088
1089 * rs6000.h (processor_type): Add PPC405.
1090 (RTX_COSTS): Add PPC405. Correct rs64 and ppc630 multiply costs.
1091 * rs6000.md: Add PPC405 information. Utilize imul2 and imul3 for
1092 rios1, rs64, and ppc630 processors.
1093 * rs6000.c (processor_target_table): Add PPC405.
1094
1095 2001-12-10 Richard Henderson <rth@redhat.com>
1096
1097 * config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
1098 instead of hardcoding subregs into the _be and _le patterns.
1099
1100 2001-12-10 Neil Booth <neil@daikokuya.demon.co.uk>
1101
1102 * c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
1103
1104 Mon Dec 10 09:19:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1105
1106 * config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
1107 what insn does.
1108
1109 2001-12-10 Joseph S. Myers <jsm28@cam.ac.uk>
1110
1111 * doc/cpp.texi: Don't condition menus on @ifinfo. Condition the
1112 copyright notice formerly conditioned on @ifinfo on @ifnottex
1113 instead.
1114
1115 Mon Dec 10 06:15:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1116
1117 * vmsdbgout.c (lookup_filename): Remove warning.
1118
1119 Mon Dec 10 06:09:57 2001 Douglas B. Rupp <rupp@gnat.com>
1120
1121 * Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
1122
1123 * config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1124 (exeext, target_alias, prefix, local_prefix): Define.
1125 * config/alpha/x-vms (USE_COLLECT2): Make empty.
1126 * config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
1127 file specifications. Remove ".".
1128 (GCC_INCLUDE_DIR): Remove redefinition (redundant).
1129 * fixinc/mkfixinc.sh (alpha*-dec-vms*): Change to alpha*-dec-*vms*
1130
1131 2001-12-09 Nathan Sidwell <nathan@codesourcery.com>
1132
1133 * Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
1134
1135 Sun Dec 9 21:57:24 2001 Douglas B. Rupp <rupp@gnat.com>
1136
1137 * config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
1138 Add rules for building [vp]crt0.o
1139 * config/alpha/vms.h (START_FILE_SPEC): Define.
1140 * config/alpha/x-vms (VMS_EXTRA_PARTS): Define
1141 * config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
1142 * doc/invoke.texi: Document special Alpha/VMS options.
1143
1144 Sun Dec 9 20:25:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1145
1146 * hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
1147 * vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
1148 not GNUC.
1149
1150 Sun Dec 9 20:19:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1151 Douglas B. Rupp <rupp@gnat.com>
1152
1153 * tree.c (append_random_char): Conditionalize INO for VMS.
1154
1155 2001-12-09 Richard Henderson <rth@redhat.com>
1156
1157 * cfgcleanup.c (label_is_jump_target_p): New function.
1158 (try_optimize_cfg): Use label_is_jump_target_p to check if label is
1159 target of a JUMP_INSN from the preceding block.
1160
1161 Sun Dec 9 18:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
1162
1163 * vmsdbgout.c (lookup_filename): Assign null string instead
1164 of null pointer to fnam.
1165
1166 2001-12-09 Richard Henderson <rth@redhat.com>
1167
1168 * config/alpha/alpha.c (alpha_align_insns): Suppress realignment
1169 immediately after a call; insert nops before a call.
1170
1171 2001-12-09 Richard Henderson <rth@redhat.com>
1172
1173 * config/alpha/alpha.c (alpha_align_insns): Use align_functions,
1174 not FUNCTION_BOUNDARY.
1175 * config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
1176 * config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
1177 * config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
1178
1179 2001-12-09 Hans-Peter Nilsson <hp@bitrange.com>
1180
1181 * config/mmix/mmix.c (mmix_function_block_profiler,
1182 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1183 unused functions.
1184 * config/mmix/mmix-protos.h (mmix_function_block_profiler,
1185 mmix_block_profiler, mmix_function_block_profiler_exit): Delete
1186 prototypes.
1187
1188 * config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
1189 Delete obsoleted macros.
1190
1191 2001-12-09 Joseph S. Myers <jsm28@cam.ac.uk>
1192
1193 * doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
1194 doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
1195
1196 * ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
1197 cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
1198 function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
1199 config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
1200 config/i370/i370.c, config/i386/i386.c,
1201 config/i386/i386-interix.h, config/i386/i386.md,
1202 config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
1203 config/m32r/m32r-protos.h, config/mcore/mcore.h,
1204 config/rs6000/rs6000.h, config/sparc/linux64.h,
1205 config/sparc/sparc.c, config/v850/v850-protos.h,
1206 config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
1207 spelling errors.
1208
1209 2001-12-09 Daniel Berlin <dan@cgsoftware.com>
1210
1211 * config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
1212 altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
1213
1214 * config/rs6000/rs6000.c: Ditto.
1215
1216 * config/rs6000/rs6000.md: Ditto.
1217
1218 2001-12-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1219
1220 * 1750a.md: Add default case in switch.
1221 * alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1222 if-else statement.
1223 * dsp16xx.c (print_operand_address): Likewise.
1224 * i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
1225 * ia64.md: Add missing braces.
1226 * rs6000-protos.h (s8bit_cint_operand): Prototype.
1227 * s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
1228 if-else statement.
1229 * stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
1230 * v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
1231 * dbxout.c (dbxout_source_file): Move a variable into the scope
1232 where it is used.
1233 * final.c (profile_function): Mark parameter with
1234 ATTRIBUTE_UNUSED.
1235 * genemit.c (gen_expand): Likewise for generated file.
1236 * insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
1237
1238 * vmsdbg.h: Delete spurious close-comment.
1239 (DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
1240 * vmsdbgout.c (write_modbeg): Define return type.
1241
1242 * m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
1243 * m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1244 * m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1245 * m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
1246 * m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
1247 * m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
1248 * m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
1249
1250 2001-12-08 Tom Rix <trix@redhat.com>
1251
1252 * config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
1253 * config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
1254 * config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
1255 for powerpc64.
1256 * config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
1257 movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
1258 * config/rs6000/rs6000.c (expand_block_move): Do not use
1259 gen_movstrsi_2reg and powerpc64.
1260
1261 2001-10-08 Aldy Hernandez <aldyh@redhat.com>
1262
1263 * c-common.h (rid): Add RID_CHOOSE_EXPR and
1264 RID_TYPES_COMPATIBLE_P.
1265
1266 * c-parse.in (reswords): Add __builtin_choose_expr.
1267 Add __builtin_types_compatible_p.
1268 Add CHOOSE_EXPR token.
1269 Add TYPES_COMPATIBLE_P token.
1270 Add production for CHOOSE_EXPR.
1271 Add production for TYPES_COMPATIBLE_P.
1272
1273 * doc/extend.texi (__builtin_choose_expr): Add documentation.
1274 (__builtin_types_compatible_p): Likewise.
1275
1276 2001-12-08 David Edelsohn <edelsohn@gnu.org>
1277
1278 * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
1279 to unions.
1280
1281 2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
1282
1283 * c-parse.in: Take string literals in assembler constructs,
1284 not expressions.
1285 * c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
1286 check the strings are STRING_CSTs.
1287
1288 2001-12-08 Neil Booth <neil@daikokuya.demon.co.uk>
1289
1290 * c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
1291 using combine_strings to do the concatenation.
1292 * c-parse.in: Replace uses of the string non-terminal with STRING.
1293 Don't attempt string concatenation.
1294 (OBJC_STRING): New terminal.
1295 (string): Remove non-terminal.
1296 (_yylex): Call combine_strings on function names. Generate
1297 OBJC_STRING terminals; don't pass '@' on to yacc.
1298 * c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
1299 (build_asm_stmt): Similarly.
1300
1301 2001-12-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1302
1303 * rtlanal.c (get_jump_table_offset): Delete unused variable.
1304
1305 2001-12-08 Richard Earnshaw <rearnsha@arm.com>
1306
1307 * arm.md (VUNSPEC_PREFETCH): Delete constant definition.
1308 (prefetch): Rewrite using PREFETCH RTL primitive.
1309 * arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
1310 * arm.c (arm_init_builtins): Don't initialize a builtin for
1311 __builtin_prefetch here.
1312 (arm_expand_builtin): Don't expand __builtin_prefetch here.
1313
1314 2001-12-08 Richard Earnshaw <rearnsha@arm.com>
1315
1316 * final.c (cleanup_subreg_operands): Use recog_data.operand_loc
1317 in test for a subreg.
1318
1319 2001-12-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
1320
1321 * rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
1322 strings.
1323
1324 2001-12-07 Richard Henderson <rth@redhat.com>
1325
1326 * doc/extend.texi: Fix typo last change.
1327
1328 * c-decl.c (c_language): Remove duplicate.
1329
1330 2001-12-07 Dale Johannesen <dalej@apple.com>
1331
1332 * config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
1333 * config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
1334 specific codegen, eliminate a register copy.
1335 (print_operand_address): Add support for Darwin's lo16(constant)
1336 syntax.
1337 (rs6000_machopic_legitimize_pic_address): Fix darwin-specific
1338 generation of addresses within very large data objects.
1339 (s8bit_cint_operand): New.
1340 * config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
1341 Move "mtjmpr" to correct functional unit for 750/7400/7450.
1342 Add imul2 and imul3 insn types for multiplication by 16- and
1343 8-bit constants.
1344 Change tablejump patterns to strongly discourage using LR
1345 rather than CTR.
1346 Add %lo16 patterns for Darwin loads and stores.
1347
1348 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1349
1350 * alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
1351
1352 2001-12-07 Stephane Carrez <Stephane.Carrez@sun.com>
1353
1354 * config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
1355 with %sp because it can cause the delayed instruction to load
1356 below the stack.
1357
1358 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1359
1360 * alpha.c (alpha_expand_unaligned_store,
1361 alpha_expand_unaligned_store_words): Use constm1_rtx in place of
1362 call to immed_double_const.
1363
1364 2001-12-07 Aldy Hernandez <aldyh@redhat.com>
1365
1366 * doc/extend.texi (Variable Attributes): Document vector_size.
1367
1368 * attribs.c (c_common_attribute_table): Add vector_size.
1369 (handle_vector_size_attribute): New.
1370 (vector_size_helper): New.
1371 (decl_attributes): Relayout the decl after calculating attribs.
1372
1373 2001-12-07 Joseph S. Myers <jsm28@cam.ac.uk>
1374
1375 * doc/gcc.texi: Don't include install-old.texi. Adjust menu
1376 description for Trouble section.
1377 * doc/install-old.texi: Adjust for inclusion as chapter of new
1378 installation manual.
1379 * doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
1380 Adjust to include old installation chapter as chapter of new
1381 installation manual.
1382
1383 Fri Dec 7 11:07:35 EST 2001 John Wehle (john@feith.com)
1384
1385 * rtl.h (get_jump_table_offset): Declare.
1386 * rtlanal.c (get_jump_table_offset): Implement.
1387
1388 Fri Dec 7 07:06:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1389
1390 * final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
1391 Deleted; were used only by BB profiler code.
1392 (sbb_head, sbb_tail, sbb_label_num): Likewise.
1393 (end_final): Delete now-unused vars I, PTR, and SPTR.
1394
1395 * expr.c (store_field): Remove warning.
1396 (expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
1397 (highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
1398 (highest_pow2_factor, case *_DIV_EXPR): Only can do something if
1399 divisor constant power of 2.
1400 (highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
1401
1402 2001-12-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1403
1404 * alpha.c (function_arg): Cast value to HOST_WIDE_INT before
1405 shifting.
1406
1407 2001-12-06 Aldy Hernandez <aldyh@redhat.com>
1408
1409 * rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
1410 (DWARF_FRAME_REGISTERS): Delete.
1411
1412 2001-12-06 Janis Johnson <janis187@us.ibm.com>
1413
1414 * builtin-types.def (BT_FN_VOID_PTR_VAR): New.
1415 * builtins.def (BUILT_IN_PREFETCH): Change arguments.
1416 * builtins.c (expand_builtin_prefetch): Two arguments are now optional,
1417 with defaults for read prefetch with high degree of locality.
1418 * doc/extend.texi (__builtin_prefetch): Update documentation.
1419 * doc/md.texi (prefetch): Add documentation.
1420
1421 2001-12-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1422
1423 * fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
1424 UNIX V5.1A stdio.h.
1425 * fixinc/fixincl.x: Regenerate.
1426 Fixes PR libf2c/4826.
1427
1428 2001-12-06 Aldy Hernandez <aldyh@redhat.com>
1429 Richard Henderson <rth@redhat.com>
1430
1431 * doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
1432 (PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
1433
1434 * unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
1435 to PRE_GCC3_DWARF_FRAME_REGISTERS.
1436 (frame_state): Same.
1437 (PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
1438
1439 2001-12-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1440
1441 * langhooks.c (lhd_staticp): Mark parameter with
1442 ATTRIBUTE_UNUSED.
1443
1444 2001-12-06 H.J. Lu <hjl@gnu.org>
1445
1446 * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
1447 reduce noise.
1448 (.po.pox): Likewise.
1449 (o/$(PACKAGE).pot): Likewise.
1450
1451 2001-12-06 Alexandre Oliva <aoliva@redhat.com>
1452
1453 * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
1454 * tree-inline.c (expand_call_inline): ... here.
1455
1456 2001-12-06 H.J. Lu <hjl@gnu.org>
1457
1458 * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
1459 (.po.pox): Likewise.
1460 (o/$(PACKAGE).pot): Likewise.
1461
1462 2001-12-06 David O'Brien <obrien@FreeBSD.org>
1463
1464 * config.gcc: Include dbxelf.h before elfos.h.
1465 * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
1466
1467 2001-12-06 Zack Weinberg <zack@codesourcery.com>
1468
1469 * cppfiles.c (open_file): If we've opened a directory by
1470 mistake, close it.
1471 (find_include_file): Avoid turning / into // or // into ///.
1472
1473 2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
1474
1475 * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
1476 (STRUCT_VALUE_REGNUM): Restore definition.
1477
1478 2001-12-06 Andrew MacLeod <amacleod@redhat.com>
1479
1480 * flow.c (find_regno_partial): Return register, not the expression
1481 the register is in.
1482
1483 Thu Dec 6 09:24:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1484
1485 * function.c (handle_epilogue_set): Check for FP setting case when
1486 SP is set from FP in same insn.
1487
1488 2001-12-06 Nick Clifton <nickc@cambridge.redhat.com>
1489
1490 * config/arm/arm.c (load_multiple_sequence): Pass pointer to
1491 RTX when calling alter_subreg().
1492 (store_multiple_sequence): Pass pointer to RTX when calling
1493 alter_subreg().
1494
1495 Thu Dec 6 06:55:13 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1496
1497 * function.c (assing_parms): Fix typo in last change.
1498 * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
1499 * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
1500 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
1501 * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
1502
1503 2001-12-06 Alan Modra <amodra@bigpond.net.au>
1504
1505 * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
1506 correct code selecting section.
1507
1508 Thu Dec 6 12:45:33 CET 2001 Jan Hubicka <jh@suse.cz>
1509
1510 * final.c (count_basic_block, add_bb, add_bb_string):
1511 Kill.
1512 (end_final, final_start_function, final, final_scan_insn,
1513 leaf_function_p): Kill BB profiler related code.
1514 * flags.h (profile_block_flag): Kill.
1515 * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
1516 BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
1517 __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
1518 bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
1519 reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
1520 __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
1521 __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
1522 __bb_init_trace_func): Kill.
1523 * toplev.c (profile_block_flag): Kill.
1524 (indepdendent_decode_option, process_options): Kill -a related code.
1525 * alpha.c (direct_call_operand): Likewise.
1526 * arm.c (arm_expand_prologue, thumb_expand_prologue,
1527 thumb_expand_epilogue): Likewise.
1528 * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
1529 * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1530 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1531 MACHINE_STATE_RESTORE): Kill.
1532 * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1533 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1534 MACHINE_STATE_RESTORE): Kill.
1535 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1536 * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
1537 ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
1538 code.
1539 (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
1540 * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1541 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1542 MACHINE_STATE_RESTORE): Kill.
1543 * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
1544 * i960.c (i960_output_function_prologue): Kill BB profiler related
1545 code.
1546 * ia64.c (ia64_compute_frame_size): Likewise.
1547 * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1548 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1549 MACHINE_STATE_RESTORE): Kill.
1550 * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
1551 * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1552 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1553 MACHINE_STATE_RESTORE): Kill.
1554 * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
1555 * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1556 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1557 MACHINE_STATE_RESTORE): Kill.
1558 * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
1559 Kill BB profiler related code.
1560 * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1561 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1562 MACHINE_STATE_RESTORE): Kill.
1563 * mips.c (mips_expand_prologue): Kill BB profiler related code.
1564 * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1565 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1566 MACHINE_STATE_RESTORE): Kill.
1567 * rs6000.c (rs6000_override_options): Kill BB profiler related code.
1568 * s960.c (s390_function_prologue): Kill BB profiler related code.
1569 * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1570 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1571 MACHINE_STATE_RESTORE): Kill.
1572 * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1573 * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1574 * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1575 * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1576 * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
1577 sparc_nonflat_function_epilogue): Kill BB profiler related code.
1578 (sparc_function_block_profiler, sparc_block_profiler,
1579 sparc_function_block_profiler_exit): Kill.
1580 * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
1581 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1582 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1583 MACHINE_STATE_RESTORE): Kill.
1584 * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1585 * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
1586 * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1587 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1588 MACHINE_STATE_RESTORE): Kill.
1589 * doc/invoke.texi: Kill documentation of -a and -ax.
1590 * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
1591 FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
1592 MACHINE_STATE_RESTORE): Kill.
1593
1594 2001-10-26 Steve Christiansen <smc@us.ibm.com>
1595
1596 * doc/rtl.texi: Use a table to display RTL format characters.
1597
1598 2001-12-06 Bo Thorsen <bo@suse.co.uk>
1599
1600 * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
1601
1602 Wed Dec 5 19:18:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1603
1604 * function.c (keep_stack_depressed): Check global_live_at_start
1605 of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
1606
1607 2001-12-05 David O'Brien <obrien@FreeBSD.org>
1608
1609 * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
1610 as set by the generic FreeBSD configure framework.
1611
1612 2001-12-04 Jason Merrill <jason@redhat.com>
1613
1614 * langhooks.h (struct lang_hooks_for_tree_inlining): Add
1615 start_inlining, end_inlining.
1616 * tree-inline.c (expand_call_inline): Call them.
1617 * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
1618 (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
1619 (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
1620 * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
1621 (lhd_tree_inlining_end_inlining): New fn.
1622
1623 2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
1624
1625 * c-common.c (shadow_warning): New function, moved from cp/decl.c.
1626 * c-common.h (shadow_warning): New.
1627 * c-decl.c: Include c-common.h.
1628 (warn_if_shadowing): New, broken out of pushdecl.
1629 (pushdecl): Use warn_if_shadowing.
1630 (store_parm_decls): Prevent duplicate -Wshadow warnings.
1631
1632 Wed Dec 5 17:59:19 2001 Douglas B. Rupp <rupp@gnat.com>
1633
1634 * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
1635 (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
1636 (LIB_SPEC): Remove.
1637
1638 Wed Dec 5 16:03:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1639
1640 * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
1641 (QUAL_UNION_TYPE): New type.
1642
1643 * varasm.c (output_constant, case ERROR_MARK): New case.
1644
1645 * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
1646 (c_com): Delete its reference.
1647 * builtins.c: Delete memory checking code.
1648 * calls.c, expr.c, function.c, stmt.c: Likewise.
1649 * builtins.c (expand_builtin_arg_info): Remove reference to
1650 EXPAND_MEMORY_USE_* modifiers.
1651 * explow.c (expr_size): Likewise.
1652 * expr.c (expand_expr, expand_increment): Likewise.
1653 * expr.h (ARGS_SIZE_RTX): Likewise.
1654 * function.c (assign_parms, expand_pending_sizeso): Likewise.
1655 * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
1656 * expr.c (in_check_memory_usage): Delete.
1657 (get_push_address, get_memory_usage_from_modifier): Delete.
1658 (expand_assigment): Use EXPAND_WRITE on destination.
1659 (expand_expr): Delete ro_modifier.
1660 * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
1661 add EXPAND_WRITE.
1662 (memory_use_mode): Delete.
1663 * flags.h (flag_check_memory_usage): Deleted.
1664 (flag_prefix_function_name): Likewise.
1665 * function.c (expand_function_start): Don't set
1666 current_function_check_memory_usage.
1667 * function.h (check_memory_usage): Delete.
1668 * libfuncs.h, optabs.c: Delete chkr_* stuff.
1669 * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
1670 EXPAND_WRITE.
1671 * toplev.c (flag_check_memory_usage): Deleted.
1672 (flag_prefix_function_name): Likewise.
1673 (f_options, process_options): Delete references to above.
1674 * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
1675 * varasm.c (CHKR_PREFIX): Deleted.
1676 (make_decl_rtl): Remove flag_prefix_function_name handling.
1677 (assemble_name): Likewise.
1678 * doc/extend.texi: Remove no_check_memory_usage attribute.
1679 * doc/invoke.texi: Remove -fcheck-memory-usage
1680 and -fprefix-function-name.
1681
1682 2001-12-05 Andreas Schwab <schwab@suse.de>
1683
1684 * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
1685 from autoconf.
1686
1687 2001-12-05 Nick Clifton <nickc@cambridge.redhat.com>
1688
1689 * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
1690
1691 2001-12-05 William Cohen <wcohen@redhat.com>
1692
1693 * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
1694 instruction.
1695
1696 2001-12-05 Daniel Berlin <dan@cgsoftware.com>
1697
1698 * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
1699 builtins.
1700
1701 * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
1702 better reflect reality (change from Apple's tree).
1703 Add more of altivec instructions.
1704 Add ftruncv4sf2 pattern.
1705 Remove more unspecs (vector merge instructions, etc).
1706
1707 * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
1708 builtins.
1709 (bdesc_1arg): New, for 1 argument altivec builtins.
1710 (altivec_expand_builtin): Handle unary and ternary ops.
1711 (altivec_init_builtins): Ditto.
1712
1713 Wed Dec 5 09:33:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1714
1715 * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
1716 * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
1717
1718 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1719
1720 * gcse.c (store_killed_in_insn): Consider pure calls
1721 as potential store killers in addition to normal calls.
1722
1723 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1724
1725 * expr.c (expand_expr): When checking promoted value, use
1726 DECL_MODE (exp) and not mode.
1727
1728 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1729
1730 * c-typeck.c (output_init_element): Call digest_init
1731 just once, not in each if branch and check its return value for
1732 error_mark_node.
1733
1734 2001-12-05 Jakub Jelinek <jakub@redhat.com>
1735
1736 * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
1737 type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
1738 (finish_struct): Break the loop if n_incomplete went to 0.
1739 For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
1740
1741 Wed Dec 5 07:41:13 2001 Douglas B. Rupp <rupp@gnat.com>
1742
1743 * config/alpha/alpha.c (alpha_va_start): Update VMS case.
1744
1745 Wed Dec 5 07:27:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1746 Douglas B. Rupp <rupp@gnat.com>
1747
1748 * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
1749 * doc/invoke.texi: Add -gvms.
1750 * doc/passes.texi: Add mention of vmsdbgout.c.
1751 * doc/tm.texi: Document VMS debugging output.
1752
1753 Wed Dec 5 06:26:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1754
1755 * function.h (tree, rtx): Remove no-longer-needed definitions.
1756
1757 * function.c (keep_stack_depressed): Refine check for register
1758 clobbered over call.
1759
1760 * expr.c (store_expr): When copying string constant into array,
1761 use functions that update memrefs instead of computations on
1762 addresses to better track MEMs. Also properly handle 32/64 pointers.
1763 (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
1764 (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
1765
1766 * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
1767 underneath COMPONENT_REFs.
1768 (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
1769
1770 2001-12-05 Neil Booth <neil@daikokuya.demon.co.uk>
1771
1772 * toplev.c (display_target_options): Don't print twice.
1773
1774 Wed Dec 5 00:42:16 EST 2001 John Wehle (john@feith.com)
1775
1776 * emit-rtl.c (set_unique_reg_note): Don't set
1777 a REG_EQUAL or REG_EQUIV note if multiple sets
1778 are present.
1779
1780 2001-12-04 John David Anglin <dave@hiauly1.hia.nrc.ca>
1781
1782 * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
1783 CASE_DROPS_THROUGH.
1784
1785 2001-12-04 Andrew MacLeod <amacleod@redhat.com>
1786
1787 * rtl.h (initialize_uninitialized_subregs): New prototype.
1788 * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
1789 when optimization is on.
1790 * flow.c (find_regno_partial): Find subregs within an expression.
1791 (initialize_uninitialized_subregs): Initialize live on entry registers
1792 which are used in subreg expressions.
1793
1794 2001-12-04 Phil Edwards <pme@gcc.gnu.org>
1795
1796 * Makefile.in: Add INSTALL_SCRIPT using INSTALL definition.
1797
1798 2001-12-04 DJ Delorie <dj@redhat.com>
1799
1800 * fixinc/fixincl.c (initialize): Avoid problemsome macro
1801 parameter names (PR 3388).
1802
1803 2001-12-05 Alan Modra <amodra@bigpond.net.au>
1804
1805 * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
1806 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
1807
1808 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1809
1810 * c-common.def (COMPOUND_LITERAL_EXPR): New.
1811 * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
1812 (c_staticp): New function.
1813 * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
1814 (c_staticp): Declare.
1815 * c-typeck.c (default_function_array_conversion, build_unary_op):
1816 Don't handle CONSTRUCTOR specially.
1817 (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
1818 * c-decl.c (build_compound_literal): New function.
1819 * c-tree.h (build_compound_literal): Declare.
1820 * c-parse.in (primary): Use build_compound_literal.
1821 * c-lang.c (LANG_HOOKS_STATICP): Define.
1822 * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
1823 * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
1824 * doc/extend.texi: Update documentation of compound literals.
1825 Fixes PR c/4787.
1826
1827 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1828
1829 * langhooks.h (struct lang_hooks): Add staticp.
1830 * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
1831 (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
1832 * langhooks.c (lhd_staticp): New function.
1833 * tree.c (staticp): Call lang_hooks.staticp for language-specific
1834 tree codes.
1835
1836 2001-12-04 Neil Booth <neil@daikokuya.demon.co.uk>
1837
1838 * cppspec.c (lang_specific_driver): Set is_cpp_driver.
1839 * gcc.c (process_command): Ensure the cpp driver sees
1840 --help and --target-help, and that the help is printed
1841 exactly once.
1842
1843 2001-12-04 David Edelsohn <edelsohn@gnu.org>
1844
1845 * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
1846
1847 2001-12-04 Hans-Peter Nilsson <hp@axis.com>
1848
1849 * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
1850 flag_strict_aliasing. Use separate assignment statements.
1851
1852 2001-12-04 Zack Weinberg <zack@codesourcery.com>
1853
1854 * build-make, cross-make: Delete file.
1855 * configure.in: Set and substitute CROSS, ALL,
1856 SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
1857 HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
1858 whether build == host and host == target. Do not
1859 AC_SUBST_FILE build_overrides or cross_overrides. Do not
1860 AC_SUBST cross_defines or extra_c_flags.
1861 * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
1862 (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
1863 HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
1864 partially or completely with autoconf-substituted @variable@
1865 notation.
1866 (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
1867 @build_overrides@, @extra_c_flags@, all.build, install-build,
1868 install-cross-rest, install-float-h-cross): Deleted.
1869 (install-normal): Rename to install. Delete old "install"
1870 indirection rule.
1871
1872 2001-12-04 Andrew MacLeod <amacleod@redhat.com>
1873
1874 * stmt.c (expand_return): Clear destination instead of clobbering it
1875 when setting a return value via bitsets.
1876
1877 2001-12-04 Alexandre Oliva <aoliva@redhat.com>
1878
1879 * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
1880 it has DECL_SAVED_TREE.
1881
1882 * c-decl.c (duplicate_decls): Revert rth's patch. If newdecl
1883 is in a different binding level, get its abstract origin to be
1884 olddecl.
1885 * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
1886 check earlier.
1887 * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
1888 DECL_INITIAL is NULL.
1889
1890 2001-12-04 Jakub Jelinek <jakub@redhat.com>
1891
1892 * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
1893 Return correct value if one of the subexpressions was optimized to
1894 0 resp. 1. Optimize (x | A) | x and (x & A) | x.
1895 (and_reg_cond): Similarly.
1896
1897 2001-12-04 Jakub Jelinek <jakub@redhat.com>
1898
1899 * function.c (assign_parms): Set last_named only for last named
1900 argument.
1901
1902 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1903
1904 * doc/install.texi: Use the GFDL. Include years from old install
1905 manual in copyright notice. Include copyright and GFDL notice on
1906 HTML index page. Include usual footer on testing.html.
1907 * doc/install.texi2html: Build gfdl.html. Use -I
1908 $SOURCEDIR/include.
1909 * doc/include/fdl.texi: Adapt for use in the install manual.
1910
1911 2001-12-04 Joseph S. Myers <jsm28@cam.ac.uk>
1912
1913 * doc/install.texi: Document that installed native compiler for
1914 building cross compilers should be GCC 2.95 or later.
1915
1916 2001-12-03 Eric Christopher <echristo@redhat.com>
1917
1918 * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
1919 * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
1920 patterns.
1921
1922 2001-12-03 Janis Johnson <janis187@us.ibm.com>
1923
1924 * rtl.def (PREFETCH): New rtx code.
1925 * doc/rtl.texi (PREFETCH): Add documentation.
1926 * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
1927 * rtlanal.c (reg_referenced_p): Ditto.
1928 * sched-vis.c (print_exp): Ditto.
1929 * ssa-dce.c (find_inherently_necessary): Ditto.
1930
1931 * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
1932 (PREFETCH_BLOCK): Define.
1933 * config/ia64/ia64.md (itanium_class): Add lfetch.
1934 (prefetch, prefetch_internal): New.
1935
1936 * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
1937 * builtins.def (BUILT_IN_PREFETCH): New.
1938 * builtins.c (expand_builtin_expect): New.
1939 (expand_builtin): Call it.
1940 * doc/extend.texi: Document __builtin_prefetch.
1941
1942 * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
1943 conflicts with new generic prefetch functionality.
1944 * config/i386/i386.c (ix86_expand_builtin): Use new name for
1945 prefetch_sse.
1946
1947 2001-12-02 Ziemowit Laski <zlaski@apple.com>
1948
1949 * objc/Make-lang.in: Update copyright.
1950 (OBJC_OBJS): Add objc-lang.o.
1951 (objc-lang.o): New rule.
1952 * objc/config-lang.in: Fix file description and update
1953 copyright.
1954 * objc/objc-act.c: Do not include langhooks.h and
1955 langhooks-def.h
1956 (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
1957 (objc_post_options): Move to objc-lang.c.
1958 (objc_init_options): Move to objc-lang.c.
1959 (objc_init): Make non-static.
1960 (objc_decode_option): Make non-static.
1961 (HASHFUNCTION): Remove macro.
1962 (hash_func): New function.
1963 (hash_enter): Replace HASHFUNCTION with hash_func.
1964 (hash_lookup): Replace HASHFUNCTION with hash_func.
1965 (maybe_objc_tree_codes): New function.
1966 (init_objc): Move ObjC tree code initialization to
1967 maybe_objc_tree_codes().
1968 * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
1969 (objc_init): New public prototype.
1970 (objc_decode_option): New public prototype.
1971 (maybe_add_objc_tree_codes): New public prototype.
1972 * objc/objc-lang.c: New file.
1973 (lang_hooks): Moved from objc-act.c.
1974 (objc_post_options): Moved from objc-act.c.
1975 (objc_init_options): Moved from objc-act.c.
1976
1977 2001-12-03 Geoff Keating <geoffk@redhat.com>
1978
1979 * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
1980 of array elements.
1981
1982 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
1983
1984 PR c/4988
1985 * gcc.c (process_command): Don't add a preprocessor option for
1986 --help and --target-help; cc1 is enough.
1987
1988 2001-12-03 Neil Booth <neil@daikokuya.demon.co.uk>
1989
1990 * c-decl.c (grokdeclarator): Use ISO word.
1991 * cppinit.c: Remove leading capital from diagnostic messages, as
1992 per GNU coding standards.
1993 * emit-rtl.c: Similarly.
1994 * final.c: Similarly.
1995 * gcc.c: Similarly.
1996 * tradcpp.c: Similarly.
1997 * config/arm/arm.c: Similarly.
1998 * config/arm/arm.h: Similarly.
1999 * config/avr/avr.c: Similarly.
2000 * config/avr/avr.h: Similarly.
2001 * config/c4x/c4x.c: Similarly.
2002 * config/cris/cris.c: Similarly.
2003 * config/cris/cris.h: Similarly.
2004 * config/d30v/d30v.c: Similarly.
2005 * config/dsp16xx/dsp16xx.c: Similarly.
2006 * config/dsp16xx/dsp16xx.h: Similarly.
2007 * config/h8300/h8300.c: Similarly.
2008 * config/i386/i386.c: Similarly.
2009 * config/i386/xm-djgpp.h: Similarly.
2010 * config/i960/i960.h: Similarly.
2011 * config/m32r/m32r.c: Similarly.
2012 * config/m68hc11/m68hc11.c: Similarly.
2013 * config/m88k/m88k.c: Similarly.
2014 * config/m88k/m88k.h: Similarly.
2015 * config/mcore/mcore.c: Similarly.
2016 * config/mcore/mcore.h: Similarly.
2017 * config/mips/mips.c: Similarly.
2018 * config/mmix/mmix.c: Similarly.
2019 * config/pa/pa.c: Similarly.
2020 * config/rs6000/rs6000.c: Similarly.
2021 * config/rs6000/sysv4.h: Similarly.
2022 * config/s390/s390.c: Similarly.
2023 * config/sparc/sparc.c: Similarly.
2024 * config/v850/v850-c.c: Similarly.
2025 * config/v850/v850.c: Similarly.
2026
2027 2001-12-03 Zack Weinberg <zack@codesourcery.com>
2028
2029 * rs6000.h (RETURN_IN_MEMORY): Cast result of
2030 int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
2031
2032 Mon Dec 3 09:18:34 2001 Jeffrey A Law (law@cygnus.com)
2033
2034 * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
2035 bit twiddling constant.
2036
2037 Mon Dec 3 16:16:37 CET 2001 Jan Hubicka <jh@suse.cz>
2038
2039 * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
2040 call purge_dead_edges after removing.
2041 (delete_null_pointer_checks): Do not handle delete_list.
2042
2043 * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
2044 (count_basic_blocks): ... here.
2045 (find_basic_blocks, find_bb_boundaries): Cleanup.
2046
2047 * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
2048 overflow for types greater then 2 * HOST_WIDE_INT.
2049
2050 * reload.c (find_reloads): Update the duplicates after swapingg.
2051
2052 Mon Dec 3 13:52:19 CET 2001 Jan Hubicka <jh@suse.cz>
2053
2054 * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
2055
2056 2001-12-02 Zack Weinberg <zack@codesourcery.com>
2057
2058 * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
2059 MASK_LONG_DOUBLE_128): Delete.
2060 (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
2061 TARGET_AIX_STRUCT_RET): New flags.
2062 (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
2063 -mlong-double-64. Add entries for -m(no-)aix-struct-return
2064 and -m(no-)svr4-struct-return.
2065 (TARGET_OPTIONS): Add entry for -mlong-double-.
2066 (rs6000_long_double_size_string, rs6000_long_double_type_size,
2067 rs6000_altivec_abi): Declare.
2068 (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
2069 LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
2070 (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
2071 structures of size <= 8 bytes in registers.
2072 (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
2073
2074 * config/rs6000/rs6000.c (rs6000_long_double_size_string,
2075 rs6000_long_double_type_size, rs6000_altivec_abi): New
2076 globals.
2077 (rs6000_override_options): Set rs6000_long_double_type_size
2078 from rs6000_long_double_size_string, if nonzero. Set the
2079 MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
2080 not already set.
2081 (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
2082 target_flags bit.
2083 (rs6000_init_builtins): This hook now takes no arguments.
2084
2085 * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
2086 DRAFT_V4_STRUCT_RET to 1.
2087
2088 2001-12-03 Joseph S. Myers <jsm28@cam.ac.uk>
2089
2090 * c-typeck.c (really_start_incremental_init, push_init_level):
2091 Avoid constructor_max_index being other than an INTEGER_CST.
2092
2093 2001-12-02 David Edelsohn <edelsohn@gnu.org>
2094
2095 * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
2096 unsigned.
2097 (ASM_GENERATE_INTERNAL_LABEL): Same.
2098 (UNIQUE_SECTION): Fix typo.
2099
2100 2001-12-02 Richard Henderson <rth@redhat.com>
2101
2102 * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
2103
2104 2001-12-02 Richard Henderson <rth@redhat.com>
2105
2106 * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
2107 (MEM_EXPR): Rename from MEM_DECL; adjust all users.
2108 * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
2109 * expr.h, final.c, reload1.c: Adjust users.
2110
2111 * alias.c (nonoverlapping_component_refs_p): New.
2112 (decl_for_component_ref, adjust_offset_for_component_ref): New.
2113 (nonoverlapping_memrefs_p): Use them.
2114 * emit-rtl.c (component_ref_for_mem_expr): New.
2115 (set_mem_attributes): Use it.
2116 (set_mem_offset): New.
2117 * expr.c (expand_assignment): Call set_mem_attributes for
2118 inner references; adjust the memory offset as needed.
2119 * print-rtl.c (print_mem_expr): New.
2120 (print_rtx): Use it.
2121
2122 Sun Dec 2 09:22:25 2001 Douglas B. Rupp <rupp@gnat.com>
2123
2124 * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
2125
2126 * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
2127 (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
2128 (ASM_SPEC): Don't redefine.
2129 (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
2130 * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
2131 * config/alpha/vms-dwarf2.asm: New file.
2132
2133 * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
2134 * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
2135 * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
2136 (vmsdbgout_after_prologue): New declaration.
2137 * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
2138 * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
2139 * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
2140 (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
2141 (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
2142 (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
2143 * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
2144 Test VMS_DEBUGGING_INFO.
2145 (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
2146 (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
2147 * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
2148 * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
2149 VMS_AND_DWARF2_DEBUG.
2150 (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
2151 (decode_g_option): Add "vms" to debug_type_names.
2152 (process_options): Set vmsdbg_debug_hooks if -gvms.
2153 (lang_independent_init): Emit line number for VMS unless -g0.
2154 * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
2155 * vmsdbg.h, vmsdbgout.c: New files.
2156
2157 Sun Dec 2 09:03:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2158
2159 * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
2160
2161 2001-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2162
2163 * cfgrtl.c (purge_all_dead_edges): Initialize variable.
2164 * dwarf2out.c (is_cxx): Prototype.
2165 * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
2166 warning.
2167 * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
2168
2169 Sun Dec 2 07:12:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2170
2171 * libgcc2.c (__bb_exit_func): Fix line wrap problems.
2172
2173 2001-12-02 Geoff Keating <geoffk@redhat.com>
2174
2175 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
2176 * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
2177 rather than simplify_subreg. Check for volatile-ness. Check that
2178 we're not splitting one slow operation into two slow operations.
2179
2180 2001-12-02 David Edelsohn <edelsohn@gnu.org>
2181
2182 * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
2183 before shifting.
2184
2185 2001-12-02 Neil Booth <neil@daikokuya.demon.co.uk>
2186
2187 * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
2188 capital from diagnostics.
2189 * c-lex.c (cb_file_change): Similarly.
2190 * c-parse.in : Similarly.
2191 * cfgrtl.c (verify_flow_info): Similarly.
2192 * collect2.c: Similarly.
2193 * cppfiles.c (find_include_file): Similarly.
2194 * cppinit.c (cpp_handle_option): Similarly.
2195 * cpplex.c (cpp_spell_token): Similarly.
2196 * cppmain.c (do_preprocessing): Similarly.
2197 * gcc.c (translate_options, process_command, do_spec1,
2198 main, pfatal_execute): Similarly.
2199 * genattr.c (main): Similarly.
2200 * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
2201 write_test_expr, main): Similarly.
2202 * gencodes.c (main): Similarly.
2203 * genconfig.c (main): Similarly.
2204 * genconstants.c (main): Similarly.
2205 * genemit.c (main): Similarly.
2206 * genextract.c (main): Similarly.
2207 * genflags.c (main): Similarly.
2208 * genopinit.c (main): Similarly.
2209 * genoutput.c (process_template, main): Similarly.
2210 * genpeep.c (main): Similarly.
2211 * genrecog.c (main): Similarly.
2212 * gensupport.c (is_predicable, identify_predicable_attribute,
2213 alter_predicate_for_insn, init_md_reader_args, main): Similarly.
2214 * ggc-page.c (alloc_anon): Similarly.
2215 * mips-tfile.c (add_string, add_procedure, add_file, read_line,
2216 parse_begin, parse_bend, parse_def, parse_end, parse_file,
2217 parse_stabs_common, parse_stabs, write_varray, write_object,
2218 read_seek, copy_object, main, error): Similarly.
2219 * profile.c (compute_branch_probabilities): Similarly.
2220 * reg-stack.c (check_asm_stack_operands): Similarly.
2221 * reload.c (find_reloads): Similarly.
2222 * reload1.c (spill_failure, failed_reload): Similarly.
2223 * rtl-error.c (_fatal_insn_not_found): Similarly.
2224 * toplev.c (read_integral_parameter, crash_signal,
2225 decode_f_option, set_target_switch, parse_options_and_default_flags)
2226 : Similarly.
2227 * tradcif.y (parse_number, yylex): Similarly.
2228 * tradcpp.c (main, fancy_abort): Similarly.
2229 * tree.c (tree_check_failed): Similarly.
2230 * varray.c (varray_check_failed): Similarly.
2231 * xcoffout.c (xcoff_output_standard_types): Similarly.
2232 objc:
2233 * objc-act.c (get_object_ref, lookup_and_install_protocols,
2234 build_objc_string_object, objc_declare_alias, build_ivar_chain,
2235 finish_message_expr, build_protocol_expr, is_public,
2236 start_class): Similarly.
2237
2238 2001-12-01 Neil Booth <neil@daikokuya.demon.co.uk>
2239
2240 * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
2241 trailing period from diagnostics.
2242 * c-lex.c (cb_file_change): Similarly.
2243 * cppmacro.c (check_trad_stringification): Similarly.
2244 * gcc.c (do_spec_1): Similarly.
2245 * genattr.c (main): Similarly.
2246 * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
2247 * gencodes.c (main): Similarly.
2248 * genconfig.c (main): Similarly.
2249 * genconstants.c (main): Similarly.
2250 * genemit.c (main): Similarly.
2251 * genextract.c (main): Similarly.
2252 * genopinit.c (main): Similarly.
2253 * genoutput.c (main): Similarly.
2254 * genpeep.c (main): Similarly.
2255 * genrecog.c (main): Similarly.
2256 * mips-tfile.c (add_file, error): Similarly.
2257 * profile.c (init_branch_prob): Similarly.
2258 * reload1.c (spill_failure): Similarly.
2259 * stmt.c (parse_output_constraint): Similarly.
2260 * varasm.c (assemble_variable): Similarly.
2261
2262 2001-12-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2263
2264 * m68k.c (init_FPA_table): Provide static prototype.
2265 * mips/abi64.h (mips_function_value): Move prototype to ...
2266 * mips-protos.h (mips_function_value): ... here.
2267 * mips.c: Include halfpic.h.
2268 * output.h (rdata_section): Prototype.
2269
2270 * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2271 * m88k.c (m88k_svr3_asm_out_constructor,
2272 m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
2273 !OBJECT_FORMAT_ELF.
2274 * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2275 * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
2276 * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
2277
2278 2001-12-01 Geoff Keating <geoffk@redhat.com>
2279
2280 * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
2281 LO_SUM addresses less than word size are not legitimate,
2282 because they lead to invalid SUBREGs.
2283 * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
2284
2285 2001-12-01 Olivier Hainque <hainque@act-europe.fr>
2286
2287 * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
2288 while scanning for multiple back edges.
2289
2290 2001-12-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2291
2292 * ginclude/ppc-asm.h (JUMP_TARGET): New macro.
2293 * config/rs6000/tramp.asm: Use it.
2294
2295 2001-12-01 Zack Weinberg <zack@codesourcery.com>
2296
2297 * gencheck.c, gengenrtl.c: Don't define xmalloc.
2298 * gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
2299 xmalloc.
2300
2301 2001-11-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
2302
2303 * pa.c (output_ascii): Cast `p' to unsigned char.
2304
2305 2001-11-30 Daniel Berlin <dan@cgsoftware.com>
2306
2307 * config/rs6000/rs6000.c (altivec_expand_builtin): add
2308 ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
2309 *_16qi,_8hi, rename existing V4SI ones to *_4si.
2310 (altivec_init_builtins): Ditto.
2311 (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
2312
2313 * config/rs6000/rs6000.md: Add attribute types vecsimple,
2314 veccomplex, vecfloat, and vecperm, for altivec instructions.
2315 Modify altivec patterns to use appropriate attribute type.
2316 Modify altivec patterns to match RTL operations where appropriate
2317 (IE no unspec where we can avoid it).
2318 Add vector unit scheduling for ppc7450.
2319 Rename patterns to what they are where appropriate
2320 (altivec_vaddfp->addv4sf3, etc)
2321
2322 * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
2323 Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
2324
2325 * config/rs6000/sysv4.h: Add -mcpu=7450.
2326
2327 * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
2328 _builtin_altivec_ld_interal function.
2329
2330 2001-11-30 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2331
2332 * configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
2333 strchr, strrchr, isascii, gettimeofday.
2334 * config.in, configure: Regenerate.
2335
2336 2001-11-30 Zoltan Hidvegi <hzoli@hzoli.2y.net>
2337
2338 * unroll.c (unroll_loop): Correct special exit cases.
2339
2340 2001-11-30 Stephane Carrez <Stephane.Carrez@sun.com>
2341
2342 * config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
2343 accept DFmode and DImode only.
2344
2345 2001-11-30 Aldy Hernandez <aldyh@redhat.com>
2346
2347 * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
2348 (STACK_DYNAMIC_OFFSET): Same.
2349
2350 2001-11-30 Richard Henderson <rth@redhat.com>
2351
2352 * c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
2353
2354 2001-11-30 Aldy Hernandez <aldyh@redhat.com>
2355
2356 * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
2357 (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
2358 the values in call_used_registers.
2359
2360 Fri Nov 30 12:48:26 2001 Jeffrey A Law (law@cygnus.com)
2361
2362 * gthr-dce.h: If _DCE_THREADS is not defined, then just include
2363 gthr-single.
2364
2365 2001-11-30 Jason Merrill <jason@redhat.com>
2366
2367 * dwarf2out.c (is_cxx): New fn.
2368 (add_data_member_location_attribute): Check it.
2369 * dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
2370
2371 Fri Nov 30 08:26:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2372
2373 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
2374
2375 2001-11-30 Daniel Berlin <dan@cgsoftware.com>
2376
2377 * genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
2378 MODE_VECTOR_FLOAT as allowed.
2379
2380 2001-11-29 Zack Weinberg <zack@codesourcery.com>
2381
2382 Purge cruft now we have build libiberty.
2383
2384 * Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
2385 HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
2386 USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
2387 USE_HOST_STRSTR): Delete variables.
2388 (vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
2389 hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
2390 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
2391 $(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
2392 (LIBIBERTY, BUILD_LIBIBERTY): New variables.
2393 (LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
2394 (LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
2395 (HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
2396 (HOST_LIBS): Ditto.
2397 (HOST_RTL): Remove hashtab.o safe-ctype.o.
2398 (OBJS): Remove splay-tree.o.
2399 (gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
2400 (distclean): No need to delete splay-tree.c obstack.c
2401 hashtab.c safe-ctype.c.
2402 (mostlyclean): Delete build copies of print-rtl.c bitmap.c
2403 errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
2404 * aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
2405 Delete.
2406 * configure.in: Don't use them.
2407 Set and substitute @FORBUILD@.
2408 * config.in, configure: Regenerate.
2409 * doprint.c: Move to libiberty/_doprnt.c.
2410 * doc/configterms.texi: Document that libiberty is now built
2411 up to three times. Fix typo.
2412
2413 2001-11-30 Jason Merrill <jason@redhat.com>
2414
2415 * dwarf2out.c (add_data_member_location_attribute): Do the
2416 right thing for virtual bases.
2417 * dbxout.c (dbxout_type): For a virtual base, print the offset
2418 within the vtable.
2419
2420 2001-11-29 Zoltan Hidvegi <hzoli@hzoli.2y.net>
2421
2422 * doloop.c (doloop_valid_p): Check for LTU and GTU as well.
2423
2424 2001-11-29 Aldy Hernandez <aldyh@redhat.com>
2425
2426 * config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
2427 go in memory.
2428 Remove unused attribute for named.
2429
2430 2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2431
2432 * genattrtab.c (attr_rtx_1): New function containing the
2433 majority of `attr_rtx'. Move variable declarations into the
2434 scope where they are used. Eliminate unnecessary gotos.
2435 (attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
2436 VA_FIXEDARG, and VA_CLOSE.
2437
2438 2001-11-30 Hans-Peter Nilsson <hp@axis.com>
2439
2440 * config/cris/cris.c (cris_notice_update_cc): Check first
2441 destination also against overlap with cc_status.value2 and second
2442 destination against overlap with cc_status.value1. For overlaps,
2443 clear overlapped value, don't just CC_STATUS_INIT.
2444
2445 * config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
2446 Fix typo in comment.
2447 (LINK_SPEC): Remove whitespace at end of line.
2448
2449 2001-11-29 Jakub Jelinek <jakub@redhat.com>
2450
2451 * c-lex.c (init_c_lex): Canonicalize "-" filename to "".
2452
2453 2001-11-29 Jakub Jelinek <jakub@redhat.com>
2454
2455 * gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
2456 macros for the supported debugging types.
2457
2458 2001-11-29 Craig Rodrigues <rodrigc@gcc.gnu.org>
2459
2460 PR other/4932
2461 * config/i386/i386.c (print_operand): Verify that the
2462 argument to %c is a constant and not a conditional which
2463 needs to be reversed.
2464
2465 Thu Nov 29 11:12:59 2001 Geoffrey Keating (geoffk@redhat.com)
2466
2467 * emit-rtl.c (gen_lowpart_common): Fix conversion of
2468 REAL_VALUE_TYPEs to an array of target integers. Fix extraction
2469 of low part of those arrays for 32bit and 64bit hosts.
2470
2471 2001-11-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2472
2473 * Makefile.in (insn-output.o): Depend on insn-codes.h.
2474
2475 2001-11-29 Joseph S. Myers <jsm28@cam.ac.uk>
2476
2477 * configure.in (target_list): Add generated-manpages.
2478 * configure: Regenerate.
2479 * Makefile.in (generated-manpages): Depend on
2480 lang.generated-manpages.
2481 * objc/Make-lang.in (objc.generated-manpages): New dummy target.
2482
2483 2001-11-29 Nick Clifton <nickc@cambridge.redhat.com>
2484
2485 * config/arm/crti.asm (_init): Add .thumb_func if compiled
2486 with -mthumb.
2487 (_fini): Add .thumb_func if compiled with -mthumb.
2488
2489 2001-11-28 Eric Christopher <echristo@redhat.com>
2490
2491 * config/mips/mips.c (override_options): Fix thinko in mips_tune
2492 for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
2493
2494 Thu Nov 29 00:24:15 EST 2001 John Wehle (john@feith.com)
2495
2496 * alpha.md (tablejump): Use pic_offset_table_rtx
2497 instead of gen_rtx_REG.
2498
2499 Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com)
2500
2501 * expr.c (store_expr): When copying a string constant into an
2502 array, reset the known alignment of the MEM for the section to
2503 be cleared to BITS_PER_UNIT.
2504
2505 2001-11-28 Hans-Peter Nilsson <hp@axis.com>
2506
2507 * config/cris/cris.c: Remove whitespace at end of line.
2508
2509 Wed Nov 28 14:51:23 2001 Douglas B. Rupp <rupp@gnat.com>
2510
2511 * config.gcc (i[34567]86-*-interix3*): New case.
2512 * config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
2513 New files.
2514
2515 2001-11-28 Richard Henderson <rth@redhat.com>
2516
2517 * config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
2518 symbolic_operand as the predicate.
2519
2520 2001-11-28 Richard Henderson <rth@redhat.com>
2521
2522 * doloop.c (doloop_modify_runtime): Properly select induction
2523 variable; skip late entry test if biv initializer created by loop.
2524
2525 Wed Nov 28 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2526
2527 * tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
2528 EXPR_WITH_FILE_LOCATION, so change checks and documentation.
2529
2530 * tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
2531
2532 * tree.h: Add missing checks on some macros; make formatting more
2533 consistent.
2534
2535 * stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
2536 level; only add to pending_sizes if find it.
2537
2538 * langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
2539
2540 * df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
2541 Add casts to remove warnings.
2542
2543 * Makefile.in (OBJS): Sort alphabetically.
2544
2545 * print-rtl.c (print_rtx): If RTX code is bad, just say so.
2546 Also minor cleanups.
2547
2548 Wed Nov 28 06:52:27 2001 Arnaud Charlet <charlet@ACT-Europe.FR>
2549
2550 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
2551 (FLAGS_TO_PASS): Add STAGE_PREFIX.
2552 (SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
2553 to STAGE_PREFIX.
2554
2555 Wed Nov 28 10:42:19 CET 2001 Jan Hubicka <jh@suse.cz>
2556
2557 * cse.c (true_dependence_in_rtx): New function.
2558 (invalidate): Use it.
2559
2560 * c-common.h (GOTO_FAKE_P): New macro.
2561 * tree-inline.c (GOTO_FAKE_P): Set.
2562 * c-tree.texi (GOTO_FAKE_P): Document.
2563
2564 * varasm.c (assemble_variable): Set reloc to 3 for error_mark
2565 containing pointers.
2566 (output_addressed_constants): Check for local/external relocations.
2567 * elfos.h (SELECT_SECTION): Classify data section.
2568 * tm.texi (SELECT_SECTION): Update documentation.
2569
2570 * cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
2571 (flow_dfs_compute_reverse_execute): Add only unvisited blocks.
2572
2573 2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2574
2575 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
2576 UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
2577 OBJECT_FORMAT_ROSE.
2578
2579 2001-11-28 Hans-Peter Nilsson <hp@axis.com>
2580
2581 * config/cris/cris.c: Tweak spacing for prototypes.
2582 (LOSE_AND_RETURN): New macro.
2583 (cris_operand_lossage): New function.
2584 (cris_print_index, cris_print_base): Use cris_operand_lossage
2585 rather than fatal_insn.
2586 (cris_print_operand, cris_print_operand_address): Use
2587 LOSE_AND_RETURN rather than fatal_insn and internal_error.
2588 (cris_output_addr_const): Use LOSE_AND_RETURN and
2589 output_operand_lossage rather than fatal_insn and internal_error
2590 for valid but unexpected rtx expressions.
2591
2592 * config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
2593 for a SUBREG in src or dest, abort instead.
2594
2595 2001-11-28 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2596
2597 * doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
2598 doc.
2599
2600 2001-11-27 Jakub Jelinek <jakub@redhat.com>
2601
2602 * gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
2603 preprocessor define. If only DBX_DEBUGGING_INFO or only
2604 DWARF2_DEBUGGING_INFO is supported for the target, provide
2605 appropriate definitions.
2606
2607 2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
2608
2609 * Makefile.in: Update, and add c-objc-common.o dependencies.
2610 * c-lang.c: Remove unnecessary includes.
2611 (c_init): Move bulk of code to c_objc_common_init, and call it.
2612 (c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
2613 inline_forbidden_p, c_cannot_inline_tree_fn): Move to
2614 c-objc-common.c.
2615 * c-objc-common.c: New. Mostly pulled from c-lang.c.
2616 * c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
2617 c_objc_common_init, c_missing_noreturn_ok_p): New.
2618 * toplev.c: Update comment.
2619 * doc/passes.texi: Update.
2620 objc:
2621 * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
2622 LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
2623 LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
2624 (objc_init): Update to use c_objc_common_init.
2625
2626 2001-11-27 Neil Booth <neil@daikokuya.demon.co.uk>
2627
2628 * cpphash.c (_cpp_init_hashtable): Update.
2629 * cpphash.h (struct spec_nodes): Remove n_L.
2630 * cpplex.c (_cpp_lex_direct): Check for prefix L separately.
2631
2632 2001-11-17 Richard Henderson <rth@redhat.com>
2633
2634 * unroll.c (loop_iterations): Move last change ...
2635 * doloop.c (doloop_modify_runtime): ... here.
2636
2637 2001-11-17 Corey Minyard <minyard@acm.org>
2638 Richard Henderson <rth@redhat.com>
2639
2640 * unroll.c (loop_iterations): Detect one situation in which we
2641 overestimate the number of iterations.
2642
2643 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2644
2645 * gcc.c (set_input): Export.
2646 Move declaration ...
2647 gcc.h (set_input): ... here.
2648
2649 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2650
2651 * gcc.c (set_collect_gcc_options): New function, split out from
2652 main.
2653 Ignore elided switches.
2654 (do_spec): Invoke before executing command.
2655 (do_spec_1): Likewise.
2656 Fixes PR other/3968.
2657
2658 2001-11-27 Hans-Peter Nilsson <hp@axis.com>
2659
2660 * config/cris/cris.h (INT_ASM_OP): Remove.
2661
2662 2001-11-27 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2663
2664 * config/i386/sol2.h (WINT_TYPE): Redefine.
2665 (WINT_TYPE_SIZE): Likewise.
2666
2667 2001-11-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2668
2669 * collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
2670 (dup2): Make static and add prototype.
2671 * m68k/plexus.h: Don't define NO_DUP2.
2672 * configure.in (AC_CHECK_FUNCS): Add dup2.
2673 * config.in, configure: Regenerate.
2674
2675 * ia64/aix.h (REG_SIZE): Don't #undef.
2676 * sparc.h (REG_SIZE): Delete.
2677 * flow.c (mark_used_regs): Don't use REG_SIZE.
2678 * regs.h (REG_SIZE): Delete.
2679
2680 2001-11-27 Andreas Schwab <schwab@suse.de>
2681
2682 * gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
2683 PREFERRED_DEBUGGING_TYPE.
2684
2685 Tue Nov 27 08:21:47 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2686
2687 * Makefile.in (c-lang.o): Depends on langhooks-def.h.
2688 (expr.o, varasm.o): Depends on langhooks.h.
2689 * c-common.c (c_safe_from_p): Always declare.
2690 (c_expand_expr): Refine when declared.
2691 * c-lang.c (c-common.h): Now include.
2692 (LANG_HOOKS_SAFE_FROM_P): Define new hook.
2693 (c_init): Don't set lang_safe_from_expr.
2694 * expr.c (langhooks.h): Now include.
2695 (lang_safe_from_p): No longer define.
2696 (safe_from_p): Use lang hook.
2697 (expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
2698 (expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
2699 * expr.h (lang_expand_constant, lang_safe_from_p): Delete.
2700 * langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
2701 (LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
2702 * langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
2703 * langhooks.h (struct lang_hooks): New fields expand_constant
2704 and safe_from_p.
2705 * output.h (output_constant): Size arg is HOST_WIDE_INT.
2706 * stmt.c (expand_decl_init): No longer need to expand constant
2707 for CONST_DECL.
2708 * stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
2709 * toplev.c (lang_expand_constant): Delete var.
2710 * tree.c (save_expr): Don't put another SAVE_EXPR around simple
2711 operations on SAVE_EXPR.
2712 * varasm.c (langhooks.h): Now include.
2713 (compare_constant_1): Use lang_hooks, not lang_expand_constant.
2714 (record_constant_1, output_addressed_constants): Likewise.
2715 (initializer_constant_valid_p, output_constant): Likewise.
2716 (output_constant_def): Process no-defer of string constant.
2717 (output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
2718 (output_constant): Strip more conversions.
2719 Track our size and pad for the rest.
2720 (array_size_for_constructor): Remove code for non-byte STRING_CST.
2721 (output_constructor): SIZE now HOST_WIDE_INT.
2722
2723 2001-11-27 Richard Henderson <rth@redhat.com>
2724
2725 * ifcvt.c (noce_try_store_flag_constants): Test for overflow
2726 in computing DIFF.
2727
2728 2001-11-27 Zack Weinberg <zack@codesourcery.com>
2729
2730 * cppfiles.c (read_include_file): Add comment.
2731
2732 2001-11-26 Richard Henderson <rth@redhat.com>
2733
2734 * toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
2735
2736 2001-11-26 Richard Henderson <rth@redhat.com>
2737
2738 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
2739 * config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
2740 commented out override.
2741
2742 2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
2743
2744 * cppfiles.c (stack_include_file): Don't optimize zero-length
2745 files.
2746 (read_include_file): NUL-terminate read files.
2747 * cpplex.c (handle_newline, skip_escaped_newlines,
2748 get_effective_char, skip_whitespace, parse_identifier,
2749 parse_identifier_slow, parse_number, parse_string,
2750 _cpp_lex_direct): Optimize for the fact that buffers are guaranteed
2751 NUL-terminated.
2752 * cpplib.c (destringize_and_run, cpp_define, handle_assertion):
2753 Be sure buffers are NUL terminated.
2754 * cppmacro.c (warn_of_redefinition): Kill compile warning.
2755
2756 2001-11-26 Neil Booth <neil@daikokuya.demon.co.uk>
2757
2758 * c-common.c: Include tree-inline.h.
2759 (c_language): Move separate definitions here.
2760 (c_common_init_options, c_common_post_options): New.
2761 (c_common_lang_init): Rename c_common_init.
2762 * c-common.h (c_common_lang_init): Similarly.
2763 (c_common_init_options, c_common_post_options): New.
2764 * c-lang.c (c_post_options): Move body to c_common_post_options.
2765 (c_init_options): Use c_common_init_options.
2766 (c_init): Update.
2767 * langhooks.def: Rearrange.
2768 * langhooks.h: Rearrange, and improve comments.
2769 * toplev.c (do_compile): New function.
2770 (toplev_main): Use it.
2771 (lang_independent_f_options, parse_options_and_default_flags,
2772 process_options): Remove trailing periods.
2773 * Makefile.in: Update.
2774 objc: * objc-act.c (objc_post_options, objc_init_options): Use c-common.c
2775 functions.
2776 (ojbc_init): Update.
2777
2778 2001-11-26 Richard Henderson <rth@redhat.com>
2779
2780 * config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
2781
2782 2001-11-26 DJ Delorie <dj@redhat.com>
2783
2784 * expr.c (store_constructor): Actually use the value computed
2785 if WORD_REGISTER_OPERATIONS.
2786
2787 2001-11-26 Richard Henderson <rth@redhat.com>
2788
2789 * config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
2790 for CONSTRUCTOR.
2791
2792 2001-11-26 David Edelsohn <edelsohn@gnu.org>
2793
2794 * rs6000.c (output_mi_thunk): Handle minimal-toc and call
2795 correct function on AIX.
2796
2797 2001-11-26 Alexandre Oliva <aoliva@redhat.com>
2798
2799 * toplev.c (process_options): Don't force
2800 flag_optimize_sibling_calls to zero just because exceptions are
2801 enabled.
2802
2803 Mon Nov 26 12:37:05 2001 Jeffrey A Law (law@cygnus.com)
2804
2805 * df.h (transfer_function_sbitmap): Use PARAMS around argument
2806 list in function prototypes.
2807 (transfer_function_bitmap): Likewise.
2808
2809 2001-11-26 Loren J. Rittle <ljrittle@acm.org>
2810
2811 * config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
2812 * config/i386/netbsd-elf.h: Likewise.
2813
2814 2001-11-26 David Edelsohn <edelsohn@gnu.org>
2815
2816 * doc/trouble.texi: Remove outdated RS/6000 comments.
2817
2818 Mon Nov 26 13:49:41 CET 2001 Jan Hubicka <jh@suse.cz>
2819
2820 * final.c (walk_alter_subreg): Fix return value.
2821
2822 Mon Nov 26 11:36:20 CET 2001 Jan Hubicka <jh@suse.cz>
2823
2824 * sparc.c (sparc_absnegfloat_split_legitimate): Do not call
2825 alter_subreg.
2826 * sparc.md (post-reload splitters): Do not call alter_subreg.
2827 * cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
2828
2829 2001-11-25 Aldy Hernandez <aldyh@redhat.com>
2830
2831 * regclass.c (choose_hard_reg_mode): Handle vector arguments.
2832
2833 2001-11-26 Alan Modra <amodra@bigpond.net.au>
2834
2835 * final.c: (insn_lengths): Make it an int *, so that large jump
2836 tables don't overflow.
2837
2838 2001-11-25 Joseph S. Myers <jsm28@cam.ac.uk>
2839
2840 * c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
2841 (format_types): Use it for scanf.
2842 (dollar_arguments_pointer_p): New.
2843 (init_dollar_format_checking): Store details of which arguments
2844 are pointers.
2845 (maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
2846 (finish_dollar_format_checking): Take extra parameter
2847 pointer_gap_ok. Treat unused arguments differently if
2848 pointer_gap_ok and the unused arguments are pointers.
2849 (check_format_info_main): Pass extra argument to
2850 finish_dollar_format_checking.
2851 * doc/invoke.texi (-Wno-format-extra-args): Document behavior when
2852 unused arguments are present between used arguments with operand
2853 numbers.
2854
2855 2001-11-25 Daniel Berlin <dan@cgsoftware.com>
2856
2857 * df.c: Add prototypes for hybrid_search_bitmap and
2858 hybrid_search_sbitmap.
2859 (hybrid_search_bitmap): New function.
2860 (hybrid_search_sbitmap): New function.
2861 (iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
2862 (iterative_dataflow_bitmap): Ditto.
2863
2864 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2865
2866 * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
2867 address computations.
2868
2869 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2870
2871 * config/m68hc11/m68hc11.c (d_register_operand): Must accept
2872 register b (low part of d).
2873
2874 2001-11-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>
2875
2876 * config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
2877 passed to mcount.
2878
2879 Sun Nov 25 06:22:09 2001 Douglas B. Rupp <rupp@gnat.com>
2880
2881 * config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
2882 * config/alpha/x-vms: New file, to compile the above.
2883 * config.gcc (alpha*-dec-vms*): Add x-vms.
2884
2885 2001-11-24 Hans-Peter Nilsson <hp@axis.com>
2886
2887 * genextract.c (main): Set ro_loc for peepholes.
2888
2889 Sat Nov 24 17:04:10 2001 Douglas B. Rupp <rupp@gnat.com>
2890
2891 * fix-header.c (main): Move inf_buffer termination and inf_limit
2892 calculation to after read.
2893
2894 * config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
2895 (__UNIX_FOPEN): Define.
2896
2897 Sat Nov 24 16:11:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2898
2899 * function.c (assign_stack_temp_for_type): Clear alias set before
2900 setting new one.
2901
2902 2001-11-23 David Edelsohn <edelsohn@gnu.org>
2903
2904 * rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
2905 format.
2906 * rs6000.md (cmptf): Fix typo.
2907
2908 2001-11-23 Richard Sandiford <rsandifo@redhat.com>
2909
2910 * final.c (output_addr_const): Output PC as '.' even if !flag_pic.
2911 * varasm.c (output_constructor): Use assemble_integer rather
2912 than ASM_OUTPUT_BYTE.
2913
2914 2001-11-23 Andreas Jaeger <aj@suse.de>
2915
2916 * cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
2917 extension.
2918
2919 2001-11-23 Nick Clifton <nickc@cambridge.redhat.com>
2920
2921 * config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
2922 default definition.
2923 (SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
2924 (MULTILIB_DEFAULTS): Remove previous definition.
2925
2926 2001-11-23 Neil Booth <neil@daikokuya.demon.co.uk>
2927
2928 * cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
2929 * gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
2930
2931 2001-11-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2932
2933 * cris.h: Revert thinko in last patch.
2934
2935 2001-11-23 Joseph S. Myers <jsm28@cam.ac.uk>
2936
2937 * ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
2938 FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
2939 cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
2940 dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
2941 explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
2942 sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
2943
2944 * predict.c, reg-stack.c: Fix spelling errors.
2945
2946 2001-10-09 Andrew Haley <aph@redhat.com>
2947
2948 * calls.c (check_sibcall_argument_overlap): Use slot_offset for
2949 start of stack slot.
2950
2951 2001-11-22 Graham Stott <grahams@redhat.com>
2952
2953 * cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
2954 replacement jump after original jump.
2955
2956 (verify_flow_info): Remove redundent initialisation.
2957 Handle reaching end of insn list before finding a BARRIER.
2958 Only issue one missing barrier diagnostic.
2959
2960 2001-11-22 Graham Stott <grahams@redhat.com>
2961
2962 * local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
2963
2964 Thu Nov 22 06:49:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2965
2966 * config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
2967 insn actually does.
2968
2969 2001-11-22 Nick Clifton <nickc@cambridge.redhat.com>
2970
2971 * doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
2972 Fix typo -mm32rx=> -m32rx.
2973
2974 * config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
2975 targets.
2976
2977 * config.gcc (xscale-coff): Add necessary header files to
2978 tm_file variable.
2979
2980 2001-11-20 Zack Weinberg <zack@codesourcery.com>
2981
2982 * rs6000.c (output_cbranch): Use $, not %$, in output template.
2983
2984 2001-11-21 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2985
2986 * tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
2987 (lang_type_quals): Declare.
2988 (dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
2989 retrieve language-specific qualifiers for a type node, instead of
2990 C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
2991 lang_dump_tree.
2992 * tree-dump.h: Rename from c-dump.h.
2993 * c-common.h (C_TYPE_QUALS): Removed.
2994 Move declarations for tree-dump.c interface to...
2995 * tree.h: ... here. Remove lang_dump_tree.
2996 * langhooks.h (struct lang_hooks_for_tree_dump): New.
2997 (struct lang_hooks): Add tree_dump hooks.
2998 * langhooks.c (lhd_tree_dump_dump_tree): New function.
2999 (lhd_tree_dump_type_quals): New function.
3000 * langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
3001 Declare.
3002 (LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
3003 * Makefile.in: Move tree-dump.o to language-independent back-end.
3004
3005 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3006
3007 * 1750a.h (DBX_REGISTER_NUMBER): Don't define.
3008 * alpha.h (DBX_REGISTER_NUMBER): Likewise.
3009 * arc.h (DBX_REGISTER_NUMBER): Likewise.
3010 * arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
3011 * avr.h (DBX_REGISTER_NUMBER): Likewise.
3012 * c4x.h (DBX_REGISTER_NUMBER): Likewise.
3013 * clipper.h (DBX_REGISTER_NUMBER): Likewise.
3014 * convex.h (DBX_REGISTER_NUMBER): Likewise.
3015 * cris.h (DBX_REGISTER_NUMBER): Likewise.
3016 * dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
3017 * elxsi.h (DBX_REGISTER_NUMBER): Likewise.
3018 * fr30.h (DBX_REGISTER_NUMBER): Likewise.
3019 * h8300.h (DBX_REGISTER_NUMBER): Likewise.
3020 * i370.h (DBX_REGISTER_NUMBER): Likewise.
3021 * i860.h (DBX_REGISTER_NUMBER): Likewise.
3022 * i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
3023 * i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
3024 * i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3025 * m32r.h (DBX_REGISTER_NUMBER): Likewise.
3026 * m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
3027 * m88k.h (DBX_REGISTER_NUMBER): Likewise.
3028 * mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
3029 * mcore.h (DBX_REGISTER_NUMBER): Likewise.
3030 * mn10200.h (DBX_REGISTER_NUMBER): Likewise.
3031 * mn10300.h (DBX_REGISTER_NUMBER): Likewise.
3032 * pdp11.h (DBX_REGISTER_NUMBER): Likewise.
3033 * romp.h (DBX_REGISTER_NUMBER): Likewise.
3034 * rs6000.h (DBX_REGISTER_NUMBER): Likewise.
3035 * rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
3036 * s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
3037 * stormy16.h (DBX_REGISTER_NUMBER): Likewise.
3038 * v850.h (DBX_REGISTER_NUMBER): Likewise.
3039 * vax.h (DBX_REGISTER_NUMBER): Likewise.
3040 * we32k.h (DBX_REGISTER_NUMBER): Likewise.
3041
3042 * defaults.h (DBX_REGISTER_NUMBER): Provide a default.
3043 * doc/tm.texi (DBX_REGISTER_NUMBER): Update.
3044
3045 2001-11-21 H.J. Lu <hjl@gnu.org>
3046
3047 * config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
3048
3049 2001-11-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3050
3051 * s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
3052 emit_cmp_and_jump_insns.
3053
3054 * stormy16.c (xstormy16_expand_builtin_va_arg,
3055 xstormy16_expand_casesi): Likewise.
3056
3057 Wed Nov 21 17:37:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3058
3059 * function.c (keep_stack_depressed): Major rework.
3060 (handle_epilogue_set, emit_equiv_load): New functions.
3061 (thread_prologue_and_epilogue_insns): keep_stack_depressed now
3062 has return value.
3063 * jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
3064 * rtl.h (SET_IS_RETURN_P): New macro.
3065
3066 * expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
3067 and also support TREE_ADDRESSABLE.
3068 * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
3069
3070 2001-11-21 David Edelsohn <edelsohn@gnu.org>
3071
3072 * rs6000.md (cmptf_internal1): Replace %$ with $.
3073
3074 Wed Nov 21 16:44:01 2001 Douglas B. Rupp <rupp@gnat.com>
3075
3076 * cppfiles.c (STAT_SIZE_TOO_BIG): Define.
3077 (read_include_file): Use STAT_SIZE_TOO_BIG.
3078
3079 * cppinit.c (INO_T_COPY): Define.
3080 (INO_T_EQ): Uppercase parameters.
3081 (append_include_chain): Use INO_T_COPY.
3082
3083 2001-11-21 Richard Sandiford <rsandifo@redhat.com>
3084
3085 * cfg.c: Fix typos and formatting in the introductory comment.
3086
3087 Wed Nov 21 12:38:37 CET 2001 Jan Hubicka
3088
3089 * profile.c (compute_branch_probabilites): Compute probabilities
3090 for entry/exit edges; estimate probabilities for zero counts.
3091
3092 2001-11-21 Jakub Jelinek <jakub@redhat.com>
3093
3094 * explow.c (probe_stack_range): Use LCT_NORMAL as second argument
3095 to emit_library_call.
3096 * function.c (expand_main_function, expand_function_start,
3097 expand_function_end): Likewise.
3098 * profile.c (output_func_start_profiler): Likewise.
3099 * stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
3100 second argument to emit_library_call.
3101 * optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
3102 as second argument to emit_library_call.
3103 * calls.c (emit_library_call): Update fn_type description.
3104
3105 2001-11-21 Jakub Jelinek <jakub@redhat.com>
3106
3107 * c-decl.c (c_expand_deferred_function): Only call c_expand_body
3108 if fndecl is still DECL_INLINE and has DECL_RESULT.
3109
3110 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3111
3112 * clipper.c (clipper_movstr): Avoid uninitialized warning.
3113 * i960.c (is_mask, legitimize_address): Likewise.
3114 * m88k.c (m88k_expand_prologue): Likewise.
3115 * m88k.md: Likewise.
3116 * mcore.c (emit_new_cond_insn): Likewise.
3117 * stormy16.c (xstormy16_emit_cbranch): Likewise.
3118
3119 2001-11-20 Zack Weinberg <zack@codesourcery.com>
3120
3121 * config.gcc: Delete powerpcle-*-solaris2* stanza.
3122 * config/rs6000/eabi.asm, config/rs6000/rs6000.c,
3123 config/rs6000/rs6000.h, config/rs6000/rs6000.md,
3124 config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
3125 config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
3126 config/rs6000/t-ppcos: Expunge all references to Solaris.
3127
3128 * config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
3129
3130 * config/rs6000/rs6000.md: Replace '%$' with '$' in all
3131 output templates.
3132 * config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
3133 and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
3134
3135 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3136
3137 * sh.md: Avoid uninitialized warnings.
3138 * vax.c (vax_rtx_cost): Likewise.
3139
3140 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
3141
3142 * rs6000.c (direct_return): Check if we are saving altivec
3143 registers.
3144 (first_altivec_reg_to_save): New.
3145 Updated stack frame layout comments.
3146 (rs6000_stack_info): Calculate altivec register save size.
3147 Save link register if we saved some altivec registers.
3148 (rs6000_stack_info): Align save size to 16 if altivec abi or
3149 abi_darwin.
3150 (rs6000_stack_info): Calculate altivec register offsets.
3151 (rs6000_stack_info): Add altivec info to save_size.
3152 (debug_stack_info): Add altivec debug info.
3153 (rs6000_emit_prologue): Save altivec registers and vrsave.
3154 (compute_vrsave_mask): New.
3155 (altivec_expand_builtin): Remove unused variables.
3156 (rs6000_parse_abi_options): Add static qualifier.
3157 (rs6000_expand_builtin): Remove unused parameters.
3158 (altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
3159 (altivec_init_builtins): Same.
3160 (is_altivec_return_reg): New.
3161 (vrsave_operation): New.
3162 (ALTIVEC_REG_BIT): New.
3163 (generate_set_vrsave): New.
3164
3165 * rs6000.md (get_vrsave): New.
3166 (set_vrsave): New.
3167 (*set_vrsave_internal): New.
3168
3169 * rs6000.h (rs6000_stack): Add first_altivec_reg_save,
3170 altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
3171 altivec_padding_size, vrsave_mask.
3172 (TOTAL_ALTIVEC_REGS): New.
3173 (EPILOGUE_USES): Add VRSAVE_REGNO.
3174
3175 2001-11-20 Jeff Law <law@redhat.com>
3176
3177 * unroll.c (copy_loop_body): Update LABEL_NUSES for the
3178 exit label as necessary.
3179
3180 2001-11-20 Brad Kaiser <bkaiser@acelink.net>
3181
3182 * reload1.c (elimination_effects): Use function_invariant_p
3183 instead of CONSTANT_P when considering register equivalences.
3184
3185 2001-11-20 David O'Brien <obrien@FreeBSD.org>
3186
3187 * config.gcc: Add FreeBSD/PowerPC target.
3188 (powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
3189 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
3190 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
3191 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
3192 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
3193 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
3194 freebsd-spec.h to tm_file.
3195 (rs6000-*-lynxos*): Add lynx.h to tm_file.
3196 * config/freebsd.h: Tidy up.
3197 (USING_CONFIG_FREEBSD): Define.
3198 (FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
3199 FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
3200 FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
3201 (TARGET_HAS_F_SETLKW): Define.
3202 (ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
3203 * config/freebsd-spec.h: New file.
3204 * config/rs6000/freebsd.h: New file.
3205 * config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
3206 * config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
3207 USING_SVR4_H to know when to turn on ELF support.
3208 * config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
3209 define only if not already defined.
3210 Add FreeBSD support.
3211 * config/rs6000/aix.h (TARGET_VERSION): Define.
3212 * config/rs6000/beos.h: Likewise.
3213 * config/rs6000/darwin.h: Likewise.
3214 * config/rs6000/mach.h: Likewise.
3215 * config/rs6000/lynx.h (TARGET_VERSION): Likewise.
3216 Don't include lynx.h directly.
3217
3218 2001-11-20 Graham Stott <grahams@redhat.com>
3219
3220 * unwind-dw2-fde.c (__deregister_frame_info_bases):
3221 Fix lossage in last change return OB.
3222
3223 Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com>
3224
3225 * config/alpha/xm-vms.h (_POSIX_EXIT): Define.
3226 Remove unneeded exit related macros.
3227
3228 2001-11-20 David Edelsohn <edelsohn@gnu.org>
3229
3230 * rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
3231
3232 * rs6000.c (rs6000_emit_move): Add TFmode case.
3233 * sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
3234 LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
3235 LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
3236 * rs6000.h: ... to here.
3237 * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
3238 trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
3239 fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
3240
3241 Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3242
3243 * emit-rtl.c (get_mem_attrs): Fix typo.
3244
3245 2001-11-20 Jakub Jelinek <jakub@redhat.com>
3246
3247 * c-lang.c (finish_file): Backout 2001-11-16
3248 changes, instead set DECL_DEFER_OUTPUT for static inline functions
3249 before calling c_expand_deferred_function.
3250
3251 2001-11-20 Jakub Jelinek <jakub@redhat.com>
3252
3253 * unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
3254 Don't register empty .eh_frame sections.
3255 (__deregister_frame_info_bases, __deregister_frame): Don't
3256 unregister them either.
3257
3258 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
3259
3260 * configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
3261 (HAVE_AS_GSTABS_DEBUG_FLAG): Define.
3262 * configure: Regenerate.
3263 * config.in: Add dummy definitions of new flags.
3264 * toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
3265 * defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
3266 * gcc.c (ASM_DEBUG_SPEC): New macro.
3267 (asm_debug): New static variable.
3268 (default_compilers): Add asm_debug when assembling from
3269 user input.
3270 (static_specs): Add asm_debug.
3271
3272 2001-11-20 Loren J. Rittle <ljrittle@acm.org>
3273
3274 * config.gcc (*-*-freebsd*): Remove configuration block.
3275
3276 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
3277
3278 bootstrap/4422
3279 * configure.in: Setup ability to run ./stage[1234]/xgcc in
3280 fixinc *as if* it were a proper lang subdirectory.
3281 * configure: Rebuilt.
3282
3283 2001-11-19 Loren J. Rittle <ljrittle@acm.org>
3284
3285 * config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
3286
3287 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3288
3289 * 1750a.md: Don't use hex format for a const_int.
3290
3291 2001-11-19 Geoffrey Keating <geoffk@redhat.com>
3292
3293 * expmed.c (extract_bit_field): Don't create invalid SUBREGs.
3294
3295 2001-11-19 Zack Weinberg <zack@codesourcery.com>
3296
3297 * mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
3298 defined (prevents link errors when gettext isn't in the system
3299 library).
3300
3301 2001-11-19 DJ Delorie <dj@redhat.com>
3302
3303 * read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
3304 (validate_const_int): New.
3305 (read_rtx): Validate constant integers.
3306 * config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
3307
3308 2001-11-19 Jakub Jelinek <jakub@redhat.com>
3309
3310 * doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
3311
3312 Mon Nov 19 16:57:44 2001 Douglas B. Rupp <rupp@gnat.com>
3313
3314 * toplev.c (DUMPFILE_FORMAT): Define default.
3315 (open_dump_file): Use DUMPFILE_FORMAT in sprintf.
3316 (close_dump_file, compile_file): Likewise.
3317 * config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
3318 * doc/hostconfig.texi (DUMPFILE_FORMAT): Document
3319
3320 2001-11-19 Jeff Law <law@redhat.com>
3321
3322 * gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
3323 a nop-jump.
3324
3325 2000-11-19 Neil Booth <neil@daikokuya.demon.co.uk>
3326
3327 * cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
3328 Don't fall off the base token run.
3329
3330 2001-11-19 Jason Wilkins <fenix@io.com>
3331
3332 * Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
3333
3334 Mon Nov 19 15:13:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3335
3336 * tree.def (VIEW_CONVERT_EXPR): New tree code.
3337 * tree.h (handled_component_p): New declaration.
3338 * alias.c (handled_component_p): Move function from here ...
3339 * expr.c (handled_component_p): ... to here and non longer static.
3340 (is_zeros_p, case VIEW_CONVERT_EXPR): New case.
3341 (store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
3342 (get_inner_reference): Handle VIEW_CONVERT_EXPR.
3343 (expand_expr, case VAR_DECL): Clean up handling of re-layout case.
3344 (expand_expr, case VIEW_CONVERT_EXPR): New case.
3345 (expand_expr, cse ADDR_EXPR): No need to copy if already
3346 BIGGEST_ALIGNMENT.
3347 * fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
3348 * varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
3349 (output_constant): Handle VIEW_CONVERT_EXPR.
3350 * dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
3351 Add new case for VIEW_CONVERT_EXPR.
3352
3353 2001-11-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3354
3355 * a29k/unix.h (ASM_FILE_START): Const-ify.
3356 * i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
3357 * i386/isc.h (ASM_FILE_START): Const-ify.
3358 * i386/sun386.h (ASM_FILE_START): Likewise.
3359 * m32r.md: Likewise.
3360 * m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
3361 * m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
3362 * m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
3363 * mn10200.md: Initialize variable.
3364
3365 Mon Nov 19 18:06:21 CET 2001 Jan Hubicka <jh@suse.cz>
3366
3367 * gcse.c (try_replace_reg): Copy RTX before creating note.
3368
3369 * df.h (df_ref_flags): New uenum.
3370 (DF_REF_FLAGS): New macro.
3371 (struct ref): Add field "flags".
3372 * df.c (HANDLE_SUBREG): Remove.
3373 (df_ref_create): Likewise; set flags field of ref.
3374 (df_def_record_1): Strip down read_write subreg; remove
3375 commented out code; set READ_WRITE flag.
3376 (read_modify_subreg_p): New static function.
3377 (df_uses_record): Cleanup SET handling; set READ_WRITE flag;
3378 new argument "flags".
3379 (df_insn_refs_record): Update call of df_uses_record.
3380 (df_insn_modify): Avoid #if 0 around comment.
3381 (df_dump): Dump the read/write flag.
3382
3383 * predict.c (propagate_freq): Make cyclic_probability and frequency
3384 volatile
3385
3386 * i386.c (ix86_cc_mode): Accept USE.
3387
3388 * cfgrtl.c (purge_dead_edges): Cleanup EDGE_ABNORMAL flag if computed
3389 jump is turned into simplejump.
3390
3391 2001-11-19 Joseph S. Myers <jsm28@cam.ac.uk>
3392
3393 * doc/fragments.texi, doc/trouble.texi: Remove links to old
3394 installation chapter.
3395 * doc/gcc.texi: Don't claim that this manual documents
3396 installation. Mark Installation menu entry as being out of date.
3397
3398 Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
3399
3400 * config/alpha/xm-vms.h: Don't define macros that autoconf handles.
3401 (SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
3402 * gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
3403
3404 2001-11-19 Jason Merrill <jason@redhat.com>
3405
3406 * cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
3407 cur_token, not after.
3408
3409 * config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
3410 Lose ASM_OUTPUT_CONSTRUCTOR.
3411 * system.h: Poison it and INT_ASM_OP.
3412 * c-lang.c (finish_file): Don't check for it.
3413 * libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
3414
3415 2001-11-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3416
3417 * mmix.c (mmix_cc1_ignored_option): Const-ify.
3418 (mmix_init_machine_status): Make static to match declaration.
3419 (mmix_unique_section): Const-ify.
3420 (mmix_output_quoted_string): Avoid automatic aggregate
3421 initialization.
3422 (mmix_output_register_setting): Likewise.
3423 (mmix_output_shiftvalue_op_from_str): Likewise.
3424
3425 * mmix.h (mmix_cc1_ignored_option): Const-ify.
3426 (ASM_OUTPUT_BYTE): Fix format specifier warning.
3427 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
3428
3429 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
3430
3431 PR c/4448
3432 * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
3433 name __objc_thread_exit_status so that it matches the
3434 variable defined in objc/thr.h.
3435
3436 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
3437
3438 PR bootstrap/4020
3439 * mklibgcc.in: Add missing semi-colons.
3440 * Makefile.in: Same.
3441
3442 Sun Nov 18 16:47:00 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3443
3444 * expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
3445 after re-laying out decl in incomplete case.
3446 (expand_expr, case ADDR_EXPR): Fix typo in copy case.
3447
3448 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
3449
3450 * doc/install-old.texi: Move some sections out to ...
3451 * doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
3452 ... here. New files. Make into chapters rather than sections.
3453 * doc/gcc.texi: Include the new files and add menu entries for
3454 them.
3455 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3456
3457 Sun Nov 18 14:13:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3458
3459 * tree.h (TYPE_ALIGN_OK): New flag.
3460 * emit-rtl.c (set_mem_attributes): Handle it.
3461 * expr.c (emit_single_push_insn): Only set to alias set 0 if
3462 doing sibcall optimization.
3463 (expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
3464 when make temporary.
3465 (expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
3466 (expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
3467
3468 * sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
3469
3470 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
3471
3472 * c-decl.c (c_decode_option): Give deprecation warning for
3473 -traditional.
3474 * doc/invoke.texi (-traditional): Note that this option is
3475 deprecated.
3476
3477 Sun Nov 18 07:40:07 2001 Douglas B. Rupp <rupp@gnat.com>
3478
3479 * config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
3480 arg to HOST_WIDE_INT, not long.
3481
3482 * config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
3483 (HAS_INIT_SECTION): Define.
3484 (REAL_ARITHMETIC): Don't undefine.
3485
3486 2001-11-18 Egor Duda <deo@logos-m.ru>
3487
3488 * config/i386/cygwin.h: Strip leading '*' from name, if any.
3489
3490 2001-11-18 Neil Booth <neil@daikokuya.demon.co.uk>
3491
3492 * Makefile.in (c-parse.o, c-common.o): Update dependencies.
3493 * c-common.c: Include diagnostic.h.
3494 (c_common_finish): New.
3495 * c-common.h (c_common_finish): New.
3496 * c-lang.c (LANG_HOOKS_FINISH): Override.
3497 * c-parse.in: Don't include diagnostic.h.
3498 (finish_parse): Remove.
3499 * langhooks.h: Update comments.
3500 * toplev.c (lang_dependent_init): New prototype.
3501 (finalize): New.
3502 (compile_file): Split cleanup code out to finalize.
3503 (lang_dependent_init): Stop if lang_hooks.init fails.
3504 (toplev_main): Update.
3505 * tree.h (finish_parse): Remove.
3506 objc:
3507 * objc-act.c (LANG_HOOKS_FINISH): Override.
3508
3509 Sat Nov 17 23:30:44 2001 Douglas B. Rupp <rupp@gnat.com>
3510
3511 * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
3512 * config/alpha/vms_tramp.asm: New file.
3513 * config/alpha/vms-tramp.asm: Removed.
3514
3515 2001-11-18 Joseph S. Myers <jsm28@cam.ac.uk>
3516
3517 * c-common.c (struct disabled_builtin, disabled_builtins,
3518 disable_builtin_function, builtin_function_disabled_p): New.
3519 (builtin_function_2): Check for disabled built-in functions.
3520 * c-common.h (disable_builtin_function): Declare.
3521 * c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
3522 * doc/invoke.texi: Document -fno-builtin-FUNCTION.
3523 * doc/extend.texi: Mention -fno-builtin-FUNCTION.
3524
3525 2001-11-17 Craig Rodrigues <rodrigc@gcc.gnu.org>
3526
3527 PR target/4606
3528 * config.gcc: Remove reference to va-clipper.h.
3529
3530 2001-11-17 Stan Shebs <shebs@apple.com>
3531
3532 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
3533 AltiVec-related bitfields.
3534
3535 Sat Nov 17 12:06:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3536
3537 * except.c (enum eh_region_type): Add ERT_UNKNOWN.
3538 (mark_eh_region, case ERT_UKNONW): New case.
3539
3540 2001-11-17 Christopher Faylor <cgf@redhat.com>
3541 Corinna Vinschen <vinschen@redhat.com>
3542
3543 * config/i386/cygwin.h: Search target specific include directory for
3544 w32api stuff, if appropriate.
3545
3546 Sat Nov 17 08:20:44 2001 Douglas Rupp <rupp@gnat.com>
3547
3548 * config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
3549
3550 2001-11-16 Aldy Hernandez <aldyh@redhat.com>
3551
3552 * config/rs6000/rs6000.md: Change all ldvx to lvx.
3553
3554 2001-11-16 Alexandre Oliva <aoliva@redhat.com>
3555
3556 * gensupport.c (process_rtx): Don't assume filename is the first
3557 argument of any rtl.
3558
3559 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3560
3561 * vax-protos.h (reg_was_0_p): New prototype.
3562 * vax.md (movsi, movhi, movqi): Use reg_was_0_p.
3563 * vax.c (follows_p, reg_was_0_p): New functions.
3564
3565 2001-11-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
3566
3567 * vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
3568 (casesi1): Likewise. Define new pattern which arises by simplification
3569 when operand 1 is a constant int. Correct pattern which arises by
3570 simplification when operand 1 is zero.
3571
3572 2001-11-16 David O'Brien <obrien@FreeBSD.org>
3573
3574 * config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
3575 arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
3576 arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
3577 arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
3578 arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
3579 arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
3580 xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
3581 * config/arm/aof.h: Don't include arm.h.
3582 * config/arm/aout.h: Likewise.
3583 * config/arm/coff.h: Don't include semi.h and aout.h.
3584 * config/arm/elf.h: Don't include aout.h.
3585 * config/arm/netbsd.h: Don't include netbsd.h and aout.h.
3586 (TARGET_VERSION): Undef before defining.
3587 (ARM_OS_NAME): Likewise
3588 (TARGET_DEFAULT): Likewise
3589 (TARGET_MEM_FUNCTIONS): Do not need to undefine now.
3590 * config/arm/pe.h: Don't include arm/coff.h.
3591 * config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
3592 SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
3593 * config/arm/riscix1-1.h: Likewise.
3594 * config/arm/rix-gas.h: Don't include riscix.h.
3595 (DBX_CONTIN_LENGTH): Undef before defining.
3596 * config/arm/semi.h: Don't include aout.h.
3597 * config/arm/semiaof.h: Don't include aof.h.
3598 * config/arm/strongarm-coff.h: Don't include coff.h.
3599 * config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
3600 * config/arm/vxarm.h: Don't include arm/coff.h.
3601 * config/arm/xscale-coff.h: Don't include coff.h.
3602
3603 Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3604
3605 * config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
3606 emit_cmp_insn.
3607
3608 2001-11-16 Andreas Jaeger <aj@suse.de>
3609
3610 * cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
3611 to ....
3612 (fixup_fallthru_exit_predecessor): ... this.
3613 Change callers and prototype.
3614
3615 2001-11-16 Bernd Schmidt <bernds@redhat.com>
3616
3617 * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
3618 hand; don't use gen_setcc_2.
3619 (ix86_expand_builtin): Fix pshufw.
3620 * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
3621 case UNORDERED to emit the right assembler instruction.
3622 (mmx_pshufw): Lose operand 2.
3623 (cvtsi2ss): Fix representation.
3624 From Graham Stott:
3625 (mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
3626
3627 2001-11-16 Joseph S. Myers <jsm28@cam.ac.uk>
3628
3629 * doc/include/linux-and-gnu.texi: Remove.
3630 * doc/gnu.texi: New.
3631 * doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
3632 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
3633
3634 2001-11-16 Kazu Hirata <kazu@hxi.com>
3635
3636 * config/a29k/a29k.c: Fix comment formatting.
3637 * config/a29k/a29k.h: Likewise.
3638 * config/arc/arc.c: Likewise.
3639 * config/arc/arc.h: Likewise.
3640 * config/vax/vax.c: Likewise.
3641 * config/vax/vax.h: Likewise.
3642 * config/we32k/we32k.c: Likewise.
3643 * config/we32k/we32k.h: Likewise.
3644
3645 2001-11-16 Jeff Law <law@redhat.com>
3646
3647 * unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
3648 creating a new jump insn.
3649
3650 Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3651
3652 * expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
3653 copy misaligned data.
3654 * varasm.c (assemble_variable): Set alignment into MEM when changed.
3655
3656 2001-11-16 Graham Stott <grahams@redhat.com>
3657
3658 * optabs.c (prepare_cmp_insn): Correct lossage in last change fix
3659 OPALIGN type.
3660
3661 2001-11-16 Olivier Hainque <hainque@act-europe.fr>
3662
3663 * except.c: Support for catching a list of types with a single handler
3664 (struct eh_region): Change type and filter to lists for catch regions.
3665 (mark_eh_region): Mark the filter list for GC also.
3666 (expand_start_catch): Always build a list if argument not NULL and
3667 register each type of the list through add_type_for_runtime.
3668 (duplicate_eh_region_1): Change type into type_list for catch regions.
3669 (assign_filter_values): Assign a filter to each type associated with a
3670 catch region. Assign filter for NULL types in a unique entry in the
3671 filter list.
3672 (build_post_landing_pads): Emit compare and jump for each filter of
3673 the list associated with a catch region.
3674 (reachable_next_level): When the type thrown is known, stop the search
3675 as soon as one type within a catch list matches. Also, a handler is
3676 potentially reachable only if at least one of the types it catches
3677 has not been previously caught.
3678 (collect_one_action_chain): Retrieve the filter for a NULL type list
3679 from the first filter list entry. For non NULL type lists, add an
3680 action record for every filter assigned.
3681 * except.h: Reflect changes in comment before expand_start_catch.
3682
3683 Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3684
3685 * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
3686 BLKmode.
3687
3688 Fri Nov 16 06:37:05 2001 Andreas Tobler <a.tobler@schweiz.ch>
3689
3690 * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
3691
3692 2001-11-16 Jakub Jelinek <jakub@redhat.com>
3693
3694 * c-lang.c (finish_file): Don't emit static inline functions if
3695 they weren't referenced.
3696
3697 2001-11-15 Stan Shebs <shebs@apple.com>
3698
3699 * expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
3700
3701 2001-11-16 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3702
3703 * config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
3704 call.
3705 * config/i386/i386.md: Likewise.
3706
3707 Thu Nov 15 21:40:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3708
3709 * timevar.c (rtl.h): Include so get fancy abort.
3710
3711 2001-11-15 Dale Johannesen <dalej@apple.com>
3712
3713 * config/darwin.h (SELECT_RTX_SECTION): Force address
3714 initializers into 'const' section
3715 * config/rs6000/rs6000.c (rs6000_emit_cmove): Fix mode of
3716 if_then_else to match result, not operands
3717
3718 Thu Nov 15 17:57:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3719
3720 * alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
3721 * emit-rtl.c (change_address): Fix typo in default alignment.
3722 (adjust_address_1): Use mode of NEW, not MODE, when setting size.
3723 * expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
3724 * rtl.h (REGNO_PTR_FRAME_P): New macro.
3725
3726 * expr.c (store_field): Pass tree instead of max size; callers changed.
3727 Change handling of alignment.
3728 Only copy to_rtx if is TARGET.
3729 (expand_expr_unaligned): Delete; callers now use expand_expr.
3730 (emit_cmp_insn): No longer take ALIGN parm; all callers changed.
3731 (expand_assignment): Change handling of alignment.
3732 Only copy to_rtx if was original.
3733 (get_inner_reference): No longer return alginment; callers changed.
3734 (expand_expr, case COMPONENT_REF): Change handling of alignment.
3735 (expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
3736 (compare_from_rtx): Delete ALIGN parm; all callers changed.
3737 (do_compare_rtx_and_jump): Likewise.
3738 * expr.h: Reflect above changes.
3739 * tree.h: Likewise.
3740 * dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
3741 to get_inner_reference.
3742 * builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
3743 * doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
3744 * optabs.c: Likewise.
3745 (prepare_cmp_insn): Now static; remove ALIGN parm. Callers changed.
3746 (emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
3747 * expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
3748 compare_rtx_and_jump, and emit_cmp_jump_insns.
3749 * fold-const.c: Remove PALIGN in calls to get_inner_reference.
3750 * function.c (assign_stack_temp_for_type): No longer static.
3751 * optabs.h (emit_cmp_insn): Remove ALIGN parm.
3752 (prepare_cmp_insn): Delete declaration.
3753 * rtl.h (assign_stack_temp_for_type): Add declaration.
3754 * config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
3755 * config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
3756 * config/i386/i386.c,config/mips/mips.c: Likewise.
3757 * config/i860/i860.c, config/ia64/ia64.c: Likewise.
3758 * config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
3759
3760 2001-11-15 Stan Shebs <shebs@apple.com>
3761
3762 * config/rs6000/rs6000.h: Fix a comment typo.
3763 (RTX_COSTS): Sort processor versions better.
3764
3765 2001-11-15 Kazu Hirata <kazu@hxi.com>
3766
3767 * config/h8300/h8300.md: Fix insn length of bit insns.
3768
3769 2001-11-15 Jason Merrill <jason@redhat.com>
3770
3771 * dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
3772 DIEs if there were errors in the source.
3773
3774 * config/alpha/alpha-interix.h, config/alpha/elf.h,
3775 config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
3776 config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
3777 config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
3778 config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
3779 config/elfos.h, config/lynx.h, config/netware.h,
3780 config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
3781 config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
3782 uses to use ASM_LONG.
3783
3784 2001-11-15 Alan Matsuoka <alanm@redhat.com>
3785
3786 * gensupport.c process_include : Change call to alloca to
3787 xmalloc.
3788
3789 2001-11-15 Aldy Hernandez <aldyh@redhat.com>
3790
3791 * config/rs6000/rs6000.md: Use spaces instead of tabs in output
3792 templates.
3793
3794 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3795
3796 * final.c (alter_subreg): If simplify_subreg can't do anything,
3797 handle REG ourselves and abort for others.
3798
3799 2001-11-15 Richard Hodson <hodsonr@dionecorp.com>
3800
3801 * config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
3802 routines.
3803
3804 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
3805
3806 * fix-header.c (read_scan_file): Update.
3807
3808 Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3809
3810 * toplev.c (toplev_main): Don't start timing until after
3811 command-line options are parsed.
3812
3813 2001-11-15 Andreas Schwab <schwab@suse.de>
3814
3815 * config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
3816 makefile frag, not host makefile frag.
3817 (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
3818 (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
3819 used.
3820 (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
3821 * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
3822 * config/m88k/t-dgux (STMP_FIXPROTO): Define.
3823 * config/i386/t-cygwin (STMP_FIXPROTO): Define.
3824 * config/i386/t-dgux (STMP_FIXPROTO): Define.
3825 * config/x-interix: Don't define STMP_FIXPROTO and
3826 FIXPROTO_DEFINES.
3827 * config/t-interix: New file, define STMP_FIXPROTO.
3828 * config/i386/x-beos (STMP_FIXPROTO): Don't define here.
3829 * config/i386/t-beos (STMP_FIXPROTO): Define here instead.
3830 * config/t-svr4 (FIXPROTO_DEFINES): Define.
3831 * config/arm/t-riscix (FIXPROTO_DEFINES): Define.
3832 * config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
3833 * config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
3834 * config/m68k/t-hp3200: Renamed from x-hp3200.
3835 * config/i370/t-oe: Renamed from x-oe.
3836 * config/mips/t-iris: Renamed from x-iris.
3837 * config/pa/t-bsd: Renamed from x-pa.
3838 * config/pa/t-pa-hpux: Renamed from x-pa-hpux.
3839 * config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
3840 config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
3841 config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
3842 config/rs6000/x-cygwin: Remove files.
3843
3844 * configure.in: Check for target objdump and use that in eh_frame
3845 optimization test.
3846 * configure: Regenerated.
3847
3848 2001-11-15 Jakub Jelinek <jakub@redhat.com>
3849
3850 * jump.c (squeeze_notes): Return true if no real insns were found.
3851 * rtl.h (squeeze_notes): Adjust prototype.
3852 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
3853 squeeze_notes finds no real instructions, abort.
3854 (merge_blocks_move_successor_nojumps): Likewise.
3855 * loop.c (find_and_verify_loops): Likewise.
3856 * stmt.c (expand_end_case): Likewise.
3857 * ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
3858 find any real instructions.
3859
3860 * config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
3861
3862 * cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
3863 conditional jump, request updating life into for the block
3864 containing it. Fix a typo which prevented life info update.
3865 Clear blocks bitmap before using it.
3866
3867 2001-11-15 Neil Booth <neil@daikokuya.demon.co.uk>
3868
3869 * c-common.c: Include c-lex.h.
3870 (c_common_lang_init): Change prototype. Call init_c_lex and
3871 init_pragma from here.
3872 * c-common.h (c_common_lang_init): Change prototype.
3873 * c-decl.c (init_decl_processing): Rename. Call c_parse_init.
3874 * c-lang.c (c_init): Change prototype. Update.
3875 (c_init_options): Update.
3876 * c-lex.c (cpp_filename): Remove.
3877 (init_c_lex): Update. Read the main file, and get the original
3878 file name.
3879 (yyparse): Finish the command line options.
3880 * c-parse.in (c_parse_init): Call init_reswords here.
3881 (init_parse): Remove.
3882 * c-tree.h (c_init_decl_processing): New.
3883 * cpphash.c (_cpp_init_hashtable): After initializing the hash
3884 table, populate it.
3885 * cppinit.c (read_original_filename, cpp_finish_options): New.
3886 (cpp_create_reader): New prototype. Defer hash table initialization.
3887 (cpp_start_read): Rename cpp_read_main_file. Initialize the
3888 hash table. Get the original filename.
3889 * cpplib.h (cpp_create_reader): Update.
3890 (cpp_start_read): Remove.
3891 (cpp_read_main_file, cpp_finish_options): New.
3892 * cppmain.c (main, do_preprocessing): Update.
3893 * langhooks.h (struct langhooks): Update init prototype.
3894 * toplev.c (general_init, parse_options_and_default_flags,
3895 process_options, lang_indpendent_init, lang_dependent_init,
3896 init_asm_output): New; perform the bulk of initialization.
3897 (compile_file): Move most of initialization to above functions.
3898 (debug_hooks): Initialize statically.
3899 (set_Wunused): Relocate.
3900 (toplev_main): Move most of initialization to other init functions.
3901 Have a clear logic flow.
3902 * tree.h (init_parse, init_decl_processing): Remove.
3903 objc:
3904 * objc-act.c (objc_init): Update prototype, combine with old
3905 init_parse.
3906 (objc_init_options): Update.
3907
3908
3909 2001-11-15 Andreas Jaeger <aj@suse.de>
3910
3911 * cfgrtl.c (purge_all_dead_edges): Use int as argument for
3912 portability.
3913 * basic-block.h: Adjust prototype.
3914
3915 2001-11-15 Kazu Hirata <kazu@hxi.com>
3916
3917 * config/rs6000/aix31.h: Fix comment formatting.
3918 * config/rs6000/beos.h: Likewise.
3919 * config/rs6000/darwin.h: Likewise.
3920 * config/rs6000/eabi.asm: Likewise.
3921 * config/rs6000/linux.h: Likewise.
3922 * config/rs6000/linux64.h: Likewise.
3923 * config/rs6000/lynx.h: Likewise.
3924 * config/rs6000/netbsd.h: Likewise.
3925 * config/rs6000/rs6000.c: Likewise.
3926 * config/rs6000/rs6000.h: Likewise.
3927 * config/rs6000/rs6000.md: Likewise.
3928 * config/rs6000/sol2.h: Likewise.
3929 * config/rs6000/tramp.asm: Likewise.
3930 * config/rs6000/xcoff.h: Likewise.
3931 * config/rs6000/xm-beos.h: Likewise.
3932
3933 2001-11-14 Alan Matsuoka <alanm@redhat.com>
3934
3935 * rtl.def (INCLUDE) : Define.
3936 * gensupport.c (init_include_reader, process_include,
3937 save_string) : New functions to implement an include facility
3938 in .md files.
3939 * gensupport.h : Add prototype for init_md_reader_args.
3940 * genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
3941 genextract.c genflags.c genopinit.c genoutput.c
3942 genpeep.c genrecog.c: Change call to init_md_reader to
3943 init_md_reader_args.
3944 * md.texi: Document (include "path") and -I directives for RTL
3945 generation tools.
3946
3947 2001-11-14 DJ Delorie <dj@redhat.com>
3948
3949 * integrate.c (get_hard_reg_initial_reg): New.
3950 * integrate.h (get_hard_reg_initial_reg): Prototype.
3951 * local-alloc.c (block_alloc): Don't tie pseudos that
3952 represent call-saved hard regs' initial values.
3953
3954 2001-11-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3955
3956 * m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
3957 recursion.
3958
3959 2001-11-14 Roger Sayle <roger@eyesopen.com>
3960
3961 * fold-const.c (fold): Optimize strlen comparisons against zero.
3962
3963 2001-11-14 David O'Brien <obrien@FreeBSD.org>
3964
3965 * config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
3966 sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
3967 sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
3968 sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
3969 sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
3970 sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
3971 sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
3972 Include various CPU headers via tm_file. a.out based platforms now
3973 properly include sparc/aout.h. sol2.h usage now implies including
3974 elfos.h, svr4.h, and sparc/sysv4.h.
3975 * config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
3976 Also define to '1'.
3977 * sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
3978 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
3979 DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
3980 Remove. They are a.out specific and belong in sparc/aout.h.
3981 * sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
3982 ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
3983 DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define. Moved here from
3984 sparc/sparc.h.
3985 * sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
3986 TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
3987 Moved here from sparc/sparc.h.
3988 * config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
3989 defining.
3990 * config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
3991 * config/sparc/lynx.h: Don't include lynx.h.
3992 (SELECT_SECTION): Do not undef.
3993 * config/sparc/openbsd.h: Don't include sparc/sparc.h.
3994 * config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
3995 and sparc/sysv4.h.
3996 * config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
3997 * config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define. Get from
3998 sparc/aout.h now.
3999 * config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
4000 Don't undef, there is no need.
4001 * config/sparc/splet.h (CPP_PREDEFINES): Define.
4002 * config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
4003 * config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
4004 Don't include sparc/sparc.h.
4005 * config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
4006 SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
4007 DATA_SECTION_ASM_OP): Don't undef, there is no need now. Don't include
4008 elfos.h and svr4.h.
4009 (TARGET_VERSION): Define.
4010 * config/sparc/vxsim.h (TARGET_VERSION): Define.
4011
4012 Wed Nov 14 19:46:08 CET 2001 Jan Hubicka <jh@suse.cz>
4013
4014 * cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
4015 (cfg_layout_finalize): Use it.
4016 * bb-reorder.c (HAVE_epilogue): Remove.
4017 (make_reorder_chain): Do not care special placement of
4018 last basic block.
4019
4020 * predict.c (expected_value_to_br_prob): Delete the note
4021 once transformed.
4022
4023 * c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
4024 measure integration time separately.
4025
4026 Wed Nov 14 12:30:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4027
4028 * function.c (struct temp_slot): ALIGN now unsigned.
4029
4030 2001-11-14 Kazu Hirata <kazu@hxi.com>
4031
4032 * config/dsp16xx/dsp16xx.c: Fix comment formatting.
4033 * config/dsp16xx/dsp16xx.h: Likewise.
4034 * config/dsp16xx/dsp16xx.md: Likewise.
4035
4036 2001-11-14 Kazu Hirata <kazu@hxi.com>
4037
4038 * config/h8300/h8300.c (get_shift_alg): Reorganize the code
4039 that deals with 7-bit shifts in HImode.
4040
4041 Wed Nov 14 14:17:05 CET 2001 Jan Hubicka <jh@suse.cz>
4042
4043 * dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
4044 * final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
4045 (final_scan_insn): Update call of alter_subreg.
4046 (cleanup_subreg_operands): Likewise.
4047 (alter_subreg): Rewrite using simplify_subreg.
4048 (output_address, output_operand): Update call of alter_subreg.
4049 * output.h (alter_subreg): Update prototype.
4050 * sdbout.c (sdbout_symbol): Update call of alter_subreg.
4051 * simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
4052 * Makefile.in (final.o): Add dependency on expr.h
4053
4054 Wed Nov 14 06:37:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4055
4056 * c-lang.c (finish_file): Make I unsigned to eliminate warning.
4057
4058 2001-11-13 Jeff Sturm <jsturm@one-point.com>
4059
4060 * doc/install.texi (sparc-*-linux*): Mention requirements for
4061 binutils and glibc.
4062
4063 2001-11-14 Joseph S. Myers <jsm28@cam.ac.uk>
4064
4065 * Makefile.in (POD2MAN): Don't include --section=1.
4066 (manext): Rename to man1ext. All users changed.
4067 (man7ext): New.
4068 (man7dir): New.
4069 (generated-manpages): Also depend on $(docdir)/gfdl.7,
4070 $(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
4071 ($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
4072 --section=1 in calls to $(POD2MAN).
4073 ($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
4074 (maintainer-clean, install, uninstall): Handle the new man pages.
4075 ($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
4076 (installdirs): Create man7dir.
4077 * doc/cpp.texi: Include GFDL in this manual. In the man page,
4078 refer to gfdl(7) for the GFDL. Apply Front Cover and Back Cover
4079 texts to man page. Include gpl(7), gfdl(7) and fsf-funding(7) in
4080 the SEE ALSO man page section.
4081 * doc/gcov.texi: Apply GFDL to man page. Include gpl(7), gfdl(7)
4082 and fsf-funding(7) in the SEE ALSO man page section.
4083 * doc/invoke.texi: Apply GFDL to man page. Include gpl(7),
4084 gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
4085 * doc/include/fdl.texi, doc/include/funding.texi,
4086 doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
4087 * doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
4088
4089 2001-11-13 Richard Henderson <rth@redhat.com>
4090
4091 * dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
4092 as appropriate for the artificial decl.
4093
4094 2001-11-13 Richard Henderson <rth@redhat.com>
4095
4096 * loop.c (combine_movables): Turn off combination until
4097 move_movables validation bugs are fixed.
4098
4099 2001-11-13 DJ Delorie <dj@redhat.com>
4100
4101 * config.gcc (powerpc|rs6000): Set default cpp options based
4102 on --with-cpu settings.
4103 * config/rs6000/softfloat.h: New.
4104
4105 2001-11-13 Kazu Hirata <kazu@hxi.com>
4106
4107 * config/h8300/h8300.c (shift_alg_si): Use special code for
4108 25-bit shifts on H8/S.
4109 (get_shift_alg): Generate special code for 25-bit shifts on
4110 H8/S.
4111
4112 2001-11-13 Jakub Jelinek <jakub@redhat.com>
4113
4114 * emit-rtl.c (adjust_address_1): Add ADJUST argument.
4115 (adjust_automodify_address_1): New.
4116 * expr.h (adjust_address, adjust_address_nv): Adjust.
4117 (adjust_automodify_address, adjust_automodify_address_nv): Define.
4118 (adjust_address_1): Update prototype.
4119 (adjust_automodify_address_1): Add prototype.
4120 * expr.c (move_by_pieces_1): Use adjust_automodify_address.
4121 (store_by_pieces_2): Likewise.
4122
4123 Tue Nov 13 05:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4124
4125 * Makefile.in (explow.o): Now depends on ggc.h.
4126 * explow.c (ggc.h): Include.
4127 (set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
4128
4129 * Makefile.in (expr.o): Depends on insn-attr.h.
4130 * expr.c (insn-attr.h): New include.
4131 (force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
4132 of MEM.
4133 (highest_pow2_factor, case INTEGER_CST): Handle negative values.
4134 (expand_expr): Remove unneeded mark_temp_addr_taken calls and
4135 clean up related usage in ADDR_EXPR.
4136 (expand_expr_unaligned): Likewise.
4137
4138 * emit-rtl.c (change_address): Fix typo in alias setting.
4139
4140 2001-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4141
4142 * Makefile.in (cfgcleanup.o): Depend on insn-config.h
4143
4144 2001-11-12 Craig Rodrigues <rodrigc@gcc.gnu.org>
4145
4146 PR bootstrap/3451
4147 * c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
4148 GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
4149
4150 2001-11-12 David O'Brien <obrien@FreeBSD.org>
4151
4152 * config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
4153 sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
4154 sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
4155 sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
4156 sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
4157 sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
4158 sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
4159 sparc64-*-linux*): Include various CPU headers via tm_file.
4160 * config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
4161 (SELECT_SECTION): Likewise.
4162 (SELECT_RTX_SECTION): Likewise.
4163 * config/sparc/sparc_bi.h: New file.
4164 * config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
4165 * config/sparc/linux-aout.h: Likewise.
4166 * config/sparc/linux.h: Don't include sparc/sysv4.h.
4167 * config/sparc/linux64.h: Likewise.
4168 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
4169 * config/sparc/lite.h: Don't include sparc/sparc.h and gofast.h.
4170 * config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
4171 and dbxcoff.h
4172 (ASM_OUTPUT_IDENT): Do not #undef.
4173 (SELECT_SECTION): Likewise.
4174 (SELECT_RTX_SECTION): Likewise.
4175 * config/sparc/liteelf.h: Don't include gofast.h.
4176 * config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
4177 * config/sparc/lynx.h: Don't include sparc/sparc.h.
4178 * config/sparc/pbd.h: Likewise.
4179 * config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
4180 * config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
4181 * config/sparc/rtemself.h: Don't include rtems.h.
4182 * config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
4183 * config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
4184 sparc_bi.h instead.
4185 * config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
4186 * config/sparc/sol2.h: Include sparc/sparc.h directly.
4187 * config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
4188 * config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
4189 * config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
4190 * config/sparc/sp86x-elf.h: Don't include gofast.h.
4191 * config/sparc/splet.h: Don't include sparc/aout.h.
4192 * config/sparc/sun4o3.h: Don't include sparc/sparc.h.
4193 * config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
4194 * config/sparc/vxsim.h: Don't include sparc/sysv4.h.
4195 * config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
4196 * config/sparc/vxsparc64.h: Don't include gofast.h.
4197 (SPARC_BI_ARCH): Don't define. sparc_bi.h will do it instead.
4198
4199 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
4200
4201 * doc/standards.texi: Mention C99 TC1.
4202
4203 2001-11-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4204
4205 * mips-protos.h (mips_output_conditional_branch): Const-ify.
4206 * mips.c (mips_output_conditional_branch): Likewise.
4207
4208 2001-11-12 Kazu Hirata <kazu@hxi.com>
4209
4210 * config/h8300/h8300.c (shift_alg_si): Use special code for
4211 15-bit logical shifts and 31-bit logical shifts.
4212 (get_shift_alg): Generate special code for 15-bit and 31-bit
4213 logical shifts.
4214
4215 2001-11-12 Kazu Hirata <kazu@hxi.com>
4216
4217 * config/h8300/h8300.c (shift_alg_qi): Use rotations when
4218 doing 6-bit logical shifts on H8/S.
4219 (shift_alg_qi): Use special code for 21-bit shifts on H8/S.
4220 (get_shift_alg): Generate special code for 21-bit shifts on
4221 H8/S.
4222
4223 2001-11-12 Kazu Hirata <kazu@hxi.com>
4224
4225 * config/h8300/h8300.c (get_shift_alg): Remove a redundant
4226 label.
4227
4228 Mon Nov 12 11:58:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4229
4230 * alias.c (nonoverlapping_memrefs_p): Only update size from memref
4231 if both size and offset known.
4232
4233 2001-11-12 David O'Brien <obrien@FreeBSD.org>
4234
4235 * config/ia64/freebsd.h: Fix misspelling.
4236
4237 2001-11-12 Joseph S. Myers <jsm28@cam.ac.uk>
4238
4239 * doc/gcc.texi: Move several chapters out to ...
4240 * doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
4241 doc/include/linux-and-gnu.texi, doc/interface.texi,
4242 doc/makefile.texi, doc/passes.texi, doc/portability.texi:
4243 ... here. New files.
4244 * doc/gcc.texi, doc/contrib.texi: Move section headings into
4245 contrib.texi.
4246 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4247
4248 2001-11-12 Kazu Hirata <kazu@hxi.com>
4249
4250 * config/alpha/alpha-interix.h: Fix comment formatting.
4251 * config/alpha/alpha.c: Likewise.
4252 * config/alpha/alpha.h: Likewise.
4253 * config/alpha/alpha32.h: Likewise.
4254 * config/alpha/freebsd.h: Likewise.
4255 * config/alpha/unicosmk.h: Likewise.
4256 * config/alpha/vms.h: Likewise.
4257
4258 2001-11-12 Kazu Hirata <kazu@hxi.com>
4259
4260 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4261
4262 2001-11-12 Jakub Jelinek <jakub@redhat.com>
4263
4264 * dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
4265 numbers.
4266
4267 Mon Nov 12 05:18:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4268
4269 * emit-rtl.c (set_mem_attributes): If making object, can set alignment
4270 from type.
4271 (replace_equiv_address): Call update_temp_slot_address.
4272
4273 * dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
4274
4275 * alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
4276
4277 2001-11-12 Kazu Hirata <kazu@hxi.com>
4278
4279 * config/h8300/h8300.c (shift_alg_qi): New.
4280 (shift_alg_hi): Likewise.
4281 (shift_alg_si): Likewise.
4282 (get_shift_alg): Change the type of count to unsigned int.
4283 Use the tables.
4284
4285 2001-11-11 Alexandre Oliva <aoliva@redhat.com>
4286
4287 * Makefile.in (c-lang.o): Depend on $(VARRAY_H).
4288 * c-decl.c (c_expand_body): Take argument can_defer_p. Use it
4289 to decide whether to defer a function.
4290 (finish_function): Adjust.
4291 (c_expand_deferred_function): New function.
4292 * c-lang.c (deferred_fns): New variable.
4293 (c_init): Initialize it, and mark it as a root.
4294 (defer_fn): New function.
4295 (finish_file): Expand all deferred functions.
4296 * c-tree.h (defer_fn): Declare.
4297 (c_expand_deferred_function): Likewise.
4298 * objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
4299 * objc-act.c (deferred_fns): New variable.
4300 (objc_init): Initialize it, and mark it as a root.
4301 (defer_fn): New function.
4302 (finish_file): Expand all deferred functions.
4303
4304 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4305
4306 * alpha.c (unicosmk_special_name): Prototype.
4307 (unicosmk_ssib_name): Delete unused variable.
4308 * alpha/unicosmk.h (common_section, ssib_section): Prototype.
4309 * alpha/vms.h (PREFIX): Undef before defining.
4310 * arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
4311 * i370/i370.c (mvs_hash_alias): Prototype. Wrap with macro
4312 controlling usage. Const-ify.
4313 (alias_number): Delete unused variable.
4314 * m32r/m32r.c (m32r_sched_init): Add missing argument.
4315 (m32r_expand_block_move): Fix uninitialized warnings.
4316 * mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
4317 always true' warnings.
4318 * openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
4319 * sh/sh.c: Include "integrate.h".
4320 (output_far_jump): Fix uninitialized warning.
4321 * final.c (shorten_branches): Avoid automatic aggregate
4322 initialization.
4323 * integrate.c (subst_constants): Likewise.
4324
4325 2001-11-11 Kazu Hirata <kazu@hxi.com>
4326
4327 * config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
4328 (get_shift_alg): Remove redundant code.
4329
4330 2001-11-11 Kazu Hirata <kazu@hxi.com>
4331
4332 * config/pa/milli64.S: Fix comment formatting.
4333 * config/pa/pa-64.h: Likewise.
4334 * config/pa/pa-linux.h: Likewise.
4335 * config/pa/pa-protos.h: Likewise.
4336 * config/pa/pa.c: Likewise.
4337 * config/pa/pa.h: Likewise.
4338 * config/pa/pa32-linux.h: Likewise.
4339 * config/pa/pa32-regs.h: Likewise.
4340 * config/pa/pa64-hpux.h: Likewise.
4341 * config/pa/pa64-regs.h: Likewise.
4342 * config/pa/som.h: Likewise.
4343
4344 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
4345
4346 * doc/gcc.texi: Move several chapters out to ...
4347 * doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
4348 doc/service.texi, doc/standards.texi, doc/trouble.texi,
4349 doc/vms.texi: ... here. New files.
4350 * Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
4351
4352 2001-11-11 Joseph S. Myers <jsm28@cam.ac.uk>
4353
4354 * ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
4355 cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
4356 collect2.c, combine.c, config.in, configure, configure.in,
4357 conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
4358 genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
4359 reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
4360 spelling errors.
4361
4362 Sun Nov 11 05:56:01 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4363
4364 * config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
4365 Adjust operand number in CONST_DOUBLE.
4366
4367 * expmed.c (extract_bit_field): No longer pass in alignment.
4368 (extract_fixed_bit_field, extract_split_bit_field): Likewise.
4369 (store_bit_field, store_fixed_bit_field, store_split_bit_field):
4370 Likewise.
4371 * expr.c (store_constructor, store_constructor_field): Likewise.
4372 (store_field, emit_group_load, emit_group_store): Likewise.
4373 * expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
4374 (store_bit_field, extract_bit_field): Likewise.
4375 * calls.c, expr.c, function.c: Change calls to above functions.
4376 * ifcvt.c, stmt.c: Likewise.
4377
4378 * alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
4379 constant and one is on frame.
4380 If know memref offset, adjust size from decl.
4381
4382 2001-11-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4383
4384 * alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
4385 format specifier warning.
4386 * convex.h (ASM_OUTPUT_BYTE): Likewise.
4387 * elfos.h (ALIGN_ASM_OP): Undef before defining.
4388 * i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
4389 warning.
4390 * i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4391 * i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4392 * i386-interix.h (gen_stdcall_suffix): Prototype.
4393 * i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4394 * i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4395 ASM_OUTPUT_LONG_DOUBLE): Likewise.
4396 * i386/interix.c (gen_stdcall_suffix): Const-ify.
4397 * i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4398 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
4399 specifier warnings.
4400 * i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4401 * i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
4402 ASM_OUTPUT_LONG_DOUBLE): Likewise.
4403 * i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4404 * i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4405 * i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4406 * i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4407 * m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
4408 ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
4409 * m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4410 * m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4411 Likewise.
4412 * m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
4413 Likewise.
4414 * m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
4415 * m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4416 ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
4417 Likewise.
4418 * m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
4419 Likewise.
4420 * m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4421 Likewise.
4422 * m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
4423 * m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
4424 * m68k/news.h (PRINT_OPERAND): Likewise.
4425 * m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
4426 ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
4427 * m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4428 * m68k/plexus.h (ASM_SPEC): Insert space between macro name and
4429 definition.
4430 * m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
4431 ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
4432 ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
4433 * m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
4434 * m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
4435 ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
4436 PRINT_OPERAND): Likewise.
4437 * m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
4438 Likewise.
4439 * mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4440 * mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
4441 * mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
4442 * mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4443 * mips.c (mips_output_external_libcall): Mark parameter with
4444 ATTRIBUTE_UNUSED.
4445 (mips_asm_file_start): Move variable into the scope where it's
4446 used.
4447 * mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
4448 * mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
4449 * mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
4450 * ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4451 * ns32k.c (print_operand): Likewise.
4452 * pa.c (print_operand, output_div_insn): Likewise.
4453 * pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
4454 ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
4455 * pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
4456 * sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4457 specifier warnings.
4458 * sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4459 * sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4460 (ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
4461 * sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
4462 specifier warnings.
4463 * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
4464
4465 * sdbout.c (sdbout_end_epilogue): Mark parameter with
4466 ATTRIBUTE_UNUSED.
4467 * varasm.c (assemble_global): Likewise.
4468
4469 2001-11-11 H.J. Lu <hjl@gnu.org>
4470
4471 * config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
4472
4473 Sun Nov 11 01:26:00 CET 2001 Jan Hubicka <jh@suse.cz>
4474
4475 * final.c (*_MAX_SKIP): Use *_max_skip variables.
4476 * flags.h (align_loops_max_skip, align_jumps_max_skip,
4477 align_labels_max_skip): New global variables.
4478 * toplev.c (align_loops_max_skip, align_jumps_max_skip,
4479 align_labels_max_skip): New global variables.
4480 (toplev_main): Set new variables.
4481 * i386.c (override_options): Set max_skip values.
4482
4483 2001-11-10 Geoffrey Keating <geoffk@redhat.com>
4484
4485 * doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
4486 * final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
4487 * config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
4488 don't print an @fptr for labels either.
4489 (xstormy16_output_addr_vec): Don't print @fptr here.
4490 * config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
4491
4492 Sat Nov 10 08:50:50 2001 Jeffrey A Law (law@cygnus.com)
4493
4494 * ssa-ccp.c (examine_flow_edges): Use old-style definition, not
4495 an ANSI/ISO definitino.
4496 (ssa_const_prop): Likewise.
4497
4498 2001-11-10 Aldy Hernandez <aldyh@redhat.com>
4499
4500 * config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
4501 altivec registers.
4502
4503 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4504
4505 * cppexp.c (parse_number): Use ISXDIGIT/hex_value.
4506 * cpplex.c (hex_digit_value): Use hex_p/hex_value.
4507 * cppmain.c (general_init): Call hex_init.
4508 * tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
4509
4510 * config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
4511
4512 * i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
4513 of dgux.c:output_file_start().
4514
4515 * i386/dgux.c: Delete file.
4516
4517 2001-11-09 Richard Henderson <rth@redhat.com>
4518
4519 * config/alpha/alpha.c (decl_in_text_section): New.
4520 (current_file_function_operand): Use it.
4521 (alpha_encode_section_info, alpha_end_function): Likewise.
4522
4523 2001-11-07 David O'Brien <obrien@FreeBSD.org>
4524
4525 * config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
4526 * config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
4527 they are OS specific. Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
4528 so OS specific files and use CPP_PREDEFINES for their needs.
4529 * config/i64/elf.h (TARGET_VERSION): Add. Also, move inclusion of
4530 target headers to tm_file.
4531 * config/ia64/aix.h (TARGET_VERSION): Likewise.
4532 * config/ia64/hpux.h (TARGET_VERSION): Likewise.
4533 * config/ia64/linux.h (TARGET_VERSION): Likewise.
4534 (FUNCTION_PROFILER): Remove.
4535 * config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
4536 version in config/ia64/linux.h.
4537 * config/ia64/freebsd.h: New file.
4538 * config/freebsd.h: Tidy up.
4539 (_USING_CONFIG_FREEBSD): Define.
4540 (FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
4541 (FBSD_CPP_SPEC): Define generic FreeBSD spec.
4542 (FBSD_STARTFILE_SPEC): Likewise.
4543 (FBSD_ENDFILE_SPEC): Likewise.
4544 (FBSD_LIB_SPEC): Likewise.
4545 (WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
4546 (USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
4547 set an ELF-improper one.
4548
4549 2001-11-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
4550
4551 * pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
4552 constant can be loaded in a single instruction to a register. When
4553 loading immediate constants, use PLUS instead of HIGH/LO_SUM. Use
4554 depdi for insertion of most significant 32-bits on 64-bit hosts.
4555 * pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
4556 with ldil/ldo/depdi instruction sequence on 64-bit hosts.
4557 * pa.md: New addmove pattern for adding constant_int to HImode
4558 register and moving result to HImode register. Remove HImode HIGH
4559 and LO_SUM patterns.
4560
4561 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
4562
4563 * Makefile.in: Update.
4564 * c-decl.c (print_lang_decl, print_lang_type): Remove.
4565 (print_lang_identifier): Rename c_print_identifier.
4566 * c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4567 (print_lang_statistics, lang_print_xnode): Remove.
4568 * c-parse.in (set_yydebug): Rename c_set_yydebug.
4569 * c-tree.h (c_set_yydebug, c_print_identifier): New.
4570 * langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
4571 LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
4572 LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
4573 LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
4574 (LANG_HOOKS_INITIALIZER): Update.
4575 * langhooks.h (struct lang_hooks): New members.
4576 (lang_print_tree_hook): New.
4577 * langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
4578 * print-tree.c: Include langhooks.h.
4579 (print_node): Update.
4580 * toplev.c (decode_d_option): Update.
4581 * tree.c: Include langhooks.h.
4582 (dump_tree_statistics): Update.
4583 * tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
4584 print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
4585 objc:
4586 * objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
4587 LANG_HOOKS_SET_YYDEBUG): Override.
4588 (lang_print_xnode, print_lang_statistics): Remove.
4589
4590 2001-11-09 Richard Henderson <rth@redhat.com>
4591
4592 * dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
4593 on the symbol string.
4594
4595 2001-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4596
4597 * pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
4598 ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
4599 * config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
4600
4601 * clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
4602
4603 * tlink.c (recompile_files): Copy strings passed to `putenv'.
4604
4605 2001-11-09 Geoffrey Keating <geoffk@redhat.com>
4606
4607 * tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
4608 (TYPE_READONLY): Likewise.
4609
4610 * flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
4611
4612 * config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
4613 don't pass --gdwarf2 to the assembler if the compiler will also
4614 provide debug info.
4615
4616 * config/stormy16/stormy16.c (xstormy16_expand_casesi):
4617 Don't change INDEX.
4618
4619 Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4620
4621 * alias.c (nonoverlapping_memrefs_p): New function.
4622 (true_dependence, canon_true_depenence, write_dependence_p): Call it.
4623
4624 * emit-rtl.c (set_mem_attributes): Get alignments for constants.
4625
4626 2001-11-09 Aldy Hernandez <aldyh@redhat.com>
4627
4628 * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
4629 (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
4630 generating altivec code.
4631 (FIXED_REGISTERS): VRSAVE is fixed.
4632 (CALL_USED_REGISTERS): VRSAVE is call used.
4633
4634 2001-11-09 Jason Eckhardt <jle@rice.edu>
4635
4636 * config/mips/mips.c (mips_output_conditional_branch): Do not hard
4637 code the branch target as ".+16/.+12", but rather use labels.
4638
4639 Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
4640
4641 * config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
4642 to work around limitations of certain versions of GAS.
4643
4644 * pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
4645 (muldi3): Update due to SUBREG_BYTE changes.
4646 (casesi): Similarly.
4647
4648 2001-11-09 Zack Weinberg <zack@codesourcery.com>
4649
4650 * doc/invoke.texi: Remove comment referring to -xf77-version.
4651
4652 2001-11-09 Kazu Hirata <kazu@hxi.com>
4653
4654 * config/convex/convex.c: Fix comment formatting.
4655 * config/convex/convex.h: Likewise.
4656
4657 2001-11-08 Zack Weinberg <zack@codesourcery.com>
4658
4659 * Makefile.in (.po.pox): Look both in srcdir and builddir
4660 for $(PACKAGE).pot.
4661 (po/$(PACKAGE).pot): Don't move-if-change the new potfile over
4662 to the source directory.
4663
4664 2001-11-09 Ben Elliston <bje@redhat.com>
4665 Michael Meissner <meissner@redhat.com>
4666 Andrew MacLeod <amacleod@redhat.com>
4667 Richard Henderson <rth@redhat.com>
4668 Nick Clifton <nickc@redhat.com>
4669 Catherine Moore <clm@redhat.com>
4670
4671 * m32r.c: Add support for m32rx processor.
4672 * m32r.h: Ditto.
4673 * m32r.md: Ditto.
4674 * t-m32r: Ditto.
4675 * m32r-protos.h: Add prototypes for m32rx functions.
4676 * doc/invoke.texi: Document -m32rx option.
4677
4678 2001-11-09 Jakub Jelinek <jakub@redhat.com>
4679
4680 * config/sparc/sparc.md (movdf): Avoid calling validize_mem during
4681 or after reload.
4682
4683 2001-11-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4684
4685 * doc/install.texi2html: Use $MAKEINFO --no-split.
4686
4687 2001-11-09 Andreas Schwab <schwab@suse.de>
4688
4689 * Makefile.in ($(HOST_PREFIX_1)rtl.o,
4690 $(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
4691 $(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
4692 $(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
4693 $(HOST_PREFIX_1)ggc-none.o): Update dependencies.
4694
4695 2001-11-09 H.J. Lu <hjl@gnu.org>
4696
4697 * config/mips/mips.c (mips_output_function_prologues): Cast
4698 `tsize' to long for output.
4699
4700 2001-11-09 Neil Booth <neil@daikokuya.demon.co.uk>
4701
4702 * c-lang.c (LANG_HOOKS_NAME): New.
4703 (lang_hooks): Constify.
4704 (c_init_options): Update.
4705 (lang_identify): Remove.
4706 * c-parse.in (language_string): Remove.
4707 * dbxout.c: Include langhooks.h.
4708 (dbxout_symbol_location): Update.
4709 * dwarf2out.c: Include langhooks.h.
4710 (gen_compile_unit_die): Update.
4711 * dwarfout.c: Include langhooks.h.
4712 (prototyped_attribute, output_compile_unit_die): Update.
4713 * langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
4714 (LANG_HOOKS_INITIALIZER): Update.
4715 * langhooks.h (struct lang_hooks): New members. Constify.
4716 * stringpool.c: Don't include toplev.h.
4717 (set_identifier_size): Remove.
4718 * toplev.c (toplev_main): Initialize identifier size.
4719 (print_version): Update.
4720 * tree.h (language_string, init_lex, lang_identify,
4721 set_identifier_size): Remove.
4722 * Makefile.in: Update dependencies.
4723 * config/darwin.c: Include langhooks.h.
4724 (func_name_maybe_scoped): Update.
4725 * config/darwin.h (ASM_END_FILE): Update.
4726 * config/nextstep.h (ASM_END_FILE): Update.
4727 * config/nextstep21.h (ASM_END_FILE): Update.
4728 * config/i386/sun386.h (ASM_END_FILE): Update.
4729 * config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
4730 (rs6000_output_function_epilogue): Update.
4731 objc:
4732 * objc-act.c (LANG_HOOKS_NAME): Override.
4733 (struct lang_hooks): Constify.
4734 (objc_init_options): Update.
4735 (lang_identify): Remove.
4736
4737 Fri Nov 9 00:25:18 EST 2001 John Wehle (john@feith.com)
4738
4739 * fold-const.c (lshift_double): Honor PREC.
4740 (rshift_double): Likewise.
4741
4742 2001-11-08 Kazu Hirata <kazu@hxi.com>
4743
4744 * config/1750a/1750a.c: Fix comment formatting.
4745 * config/1750a/1750a.h: Likewise.
4746
4747 2001-11-08 Phil Edwards <pedwards@disaster.jaj.com>
4748
4749 * configure.in (--enable-languages): Be more permissive about
4750 syntax. Check for empty lists better. Warn about $LANGUAGES.
4751 * configure: Regenerated.
4752
4753 2001-11-08 Richard Henderson <rth@redhat.com>
4754
4755 * dwarf2asm.c (dw2_force_const_mem): Fix typo.
4756
4757 2001-11-08 Geoffrey Keating <geoffk@redhat.com>
4758
4759 * config.gcc: Rename stormy16 to xstormy16.
4760 * config/stormy16/stormy-abi: Likewise.
4761 * config/stormy16/stormy16-protos.h: Likewise.
4762 * config/stormy16/stormy16.c: Likewise.
4763 * config/stormy16/stormy16.h: Likewise.
4764 * config/stormy16/stormy16.md: Likewise.
4765
4766 2001-11-06 Geoffrey Keating <geoffk@redhat.com>
4767
4768 * tree.h (TYPE_VOLATILE): Add enable-checking code.
4769 (TYPE_READONLY): Likewise.
4770
4771 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4772
4773 * reload1.c (reload): Don't delete equiv insn if can throw.
4774
4775 * expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
4776 (clear_storage): Likewise, for OBJECT.
4777
4778 Thu Nov 8 16:23:51 2001 Jeffrey A Law (law@cygnus.com)
4779
4780 * pa.c (emit_move_sequence): Fix SUBREG expression to
4781 use proper byte offset when extending a constant from
4782 SImode to DImode.
4783
4784 2001-11-09 Jakub Jelinek <jakub@redhat.com>
4785
4786 * cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
4787 which cannot throw.
4788
4789 Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4790
4791 * explow.c (convert_memory_address, case SUBREG): Only return
4792 inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
4793
4794 2001-11-08 Richard Henderson <rth@redhat.com>
4795
4796 * Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
4797 (CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
4798 (ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
4799
4800 2001-11-08 Aldy Hernandez <aldyh@redhat.com>
4801
4802 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
4803
4804 2001-11-08 Jakub Jelinek <jakub@redhat.com>
4805
4806 * dwarf2out.c (debug_str_hash): New.
4807 (struct indirect_string_node): New.
4808 (struct dw_val_struct): Change type of val_str to it.
4809 (DEBUG_STR_SECTION_FLAGS): Define.
4810 (add_AT_string): Push string into hashtable, increment reference
4811 counter.
4812 (AT_string): Return string from ht_identifier.
4813 (AT_string_form): New.
4814 (free_AT): For dw_val_class_str, just decrement reference counter.
4815 (size_of_string): Remove.
4816 (size_of_die): Use AT_string_form to decide what size the string
4817 occupies in DIE.
4818 (size_of_pubnames): Use strlen instead of size_of_string.
4819 (value_format): Use AT_string_form for dw_val_class_str.
4820 (output_die): Output DW_FORM_strp strings using
4821 dw2_asm_output_offset.
4822 (indirect_string_alloc, output_indirect_string): New.
4823 (dwarf2out_finish): Emit .debug_str strings if there are any.
4824
4825 2001-11-08 Andreas Franck <afranck@gmx.de>
4826
4827 * configure.in: Add AC_ARG_PROGRAM to support program name
4828 transformation with --program-prefix, --program-suffix and
4829 --program-transform-name.
4830 * configure: Regenerated.
4831 * Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
4832 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
4833 GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
4834 PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
4835 program_transform_name the way suggested by autoconf.
4836 (GCC_TARGET_INSTALL_NAME): Define.
4837 (install-driver): Use the transformed target alias name.
4838
4839 2001-11-08 Richard Henderson <rth@redhat.com>
4840
4841 * config/mips/mips.c (save_restore_insns): Remove GP from the
4842 restore registers mask early instead of special casing it inside
4843 the loop.
4844
4845 2001-11-08 Neil Booth <neil@daikokuya.demon.co.uk>
4846
4847 * cp/decl.c (shadow_warning): New function.
4848 (pushdecl): Improve -Wshadow warnings. Don't give both a warning
4849 and an error when a block scope decl shadows a parameter.
4850
4851 2001-11-08 Richard Henderson <rth@redhat.com>
4852
4853 * config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
4854 case as well.
4855
4856 2001-11-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
4857
4858 * pa.md (negdf2, negsf2): Use multiplication rather than subtraction
4859 to implement floating negation on processors prior to PA 2.0.
4860
4861 2001-11-08 Jakub Jelinek <jakub@redhat.com>
4862
4863 * dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
4864 (USE_LINKONCE_INDIRECT): Define.
4865 (dw2_output_indirect_constant_1): Try to output indirect constants
4866 into linkonce sections if possible.
4867 (dw2_force_const_mem): Likewise. Register indirect_pool with GGC.
4868 (dw2_output_indirect_constants): Likewise.
4869
4870 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
4871
4872 * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
4873
4874 2001-11-07 Neil Booth <neil@daikokuya.demon.co.uk>
4875
4876 * c-decl.c (pushdecl): Remove file and line.
4877 * c-typeck.c (pop_init_level): Remove size.
4878
4879 2001-11-07 Aldy Hernandez <aldyh@redhat.com>
4880
4881 * doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
4882 for rs6000.
4883
4884 * config/rs6000/rs6000.h (MASK_ALTIVEC): New.
4885 (TARGET_ALTIVEC): New.
4886 (TARGET_SWITCHES): Add altivec.
4887 (FIRST_PSEUDO_REGISTER): Change to 109.
4888 (CALL_USED_REGISTERS): Same.
4889 (FIRST_ALTIVEC_REGNO): New.
4890 (LAST_ALTIVEC_REGNO): New.
4891 (ALTIVEC_REGNO_P): New.
4892 (UNITS_PER_ALTIVEC_WORD): New.
4893 (ALTIVEC_VECTOR_MODE): New.
4894 (FIXED_REGISTERS): Add altivec registers.
4895 (REG_ALLOC_ORDER): Same.
4896 (HARD_REGNO_NREGS): Adjust for altivec registers.
4897 (HARD_REGNO_MODE_OK): Same.
4898 (MODES_TIEABLE_P): Same.
4899 (REGISTER_MOVE_COST): Same.
4900 (REGNO_REG_CLASS): Same.
4901 (reg_class): Add ALTIVEC_REGS.
4902 (REG_CLASS_NAMES): Same.
4903 (REG_CLASS_CONTENTS): Same.
4904 (REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
4905 (ALTIVEC_ARG_RETURN): New.
4906 (FUNCTION_VALUE): Handle VECTOR_TYPE.
4907 (LIBCALL_VALUE): Handle altivec vector modes.
4908 (VECTOR_MODE_SUPPORTED_P): New.
4909 (ALTIVEC_ARG_MIN_REG): New.
4910 (ALTIVEC_ARG_MAX_REG): New.
4911 (ALTIVEC_ARG_NUM_REG): New.
4912 (FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
4913 (FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
4914 (REGISTER_NAMES): Add altivec regs.
4915 (DEBUG_REGISTER_NAMES): Same.
4916 (ADDITIONAL_REGISTER_NAMES): Same.
4917 (rs6000_builtins): New.
4918 (MD_EXPAND_BUILTIN): New.
4919 (MD_INIT_BUILTINS): New.
4920 (LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
4921 for AltiVec instructions.
4922 (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
4923 (HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
4924 registers.
4925 (SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
4926 (TARGET_SWITCHES): Add no-altivec.
4927 (DATA_ALIGNMENT): Align vectors to 128 bits.
4928 (TARGET_OPTIONS): Add abi= option.
4929 Add rs6000_abi_string extern.
4930 (LOCAL_ALIGNMENT): New.
4931 (CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
4932 (MASK_ALTIVEC_ABI): New.
4933 (TARGET_ALTIVEC_ABI): New.
4934 (CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
4935 call-saved.
4936 (STACK_BOUNDARY): Adjust for altivec.
4937 (BIGGEST_ALIGNMENT): Same.
4938 (rs6000_args): Add vregno.
4939 (USE_ALTIVEC_FOR_ARG_P): New.
4940 (FIXED_REGISTERS): Add vrsave register.
4941 (CALL_USED_REGISTERS): Same.
4942 (CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
4943 (VRSAVE_REGNO): New.
4944 (reg_class): Add VRSAVE_REGS.
4945 (REG_CLASS_NAMES): Same.
4946 (REG_CLASS_CONTENTS): Same.
4947 (REGNO_REG_CLASS): Same.
4948
4949 * config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
4950 (ABI_STACK_BOUNDARY): Same.
4951 (BIGGEST_ALIGNMENT): Same.
4952 (ADJUST_FIELD_ALIGN): Remove undef. Define anew.
4953 (ROUND_TYPE_ALIGN): Same.
4954
4955 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4956 to 64.
4957
4958 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4959 to 64.
4960
4961 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
4962 to 64.
4963
4964 * config/rs6000/rs6000.c (rs6000_expand_builtin): New.
4965 (altivec_expand_builtin): New.
4966 (altivec_init_builtins): New.
4967 (TARGET_EXPAND_BUILTIN): New.
4968 (TARGET_INIT_BUILTINS): New.
4969 (rs6000_init_builtins): New.
4970 (struct builtin_description): New.
4971 (bdesc_2arg): New.
4972 (rs6000_reg_names): Add altivec registers.
4973 (alt_reg_names): Same.
4974 (secondary_reload_class): Altivec regs can hold altivec regs and
4975 memory.
4976 (rs6000_emit_move): Force constants into memory for AltiVec moves.
4977 (print_operand): Add 'y' case for printing altivec memory
4978 operands.
4979 (rs6000_legitimize_address): Legitimize vector addresses into
4980 [REG+REG] or [REG].
4981 (altivec_expand_binop_builtin): New.
4982 New string rs6000_current_abi.
4983 (rs6000_override_options): Call rs6000_parse_abi_options.
4984 (rs6000_parse_abi_options): New.
4985 (function_arg_boundary): Vector arguments must be 16
4986 byte aligned.
4987 (function_arg_advance): Handle vector arguments.
4988 (function_arg_partial_nregs): Same.
4989 (init_cumulative_args): Same.
4990 (function_arg): Same.
4991
4992 * config/rs6000/rs6000.md (altivec_lvx): New.
4993 (type): Add altivec attribute.
4994 (movv4si): New.
4995 (*movv4si_internal): New.
4996 (movv16qi): New.
4997 (*movv16qi_internal): New.
4998 (movv8hi): New.
4999 (*movv8hi_internal1): New.
5000 (movv4sf): New.
5001 (*movv4sf_internal1): New.
5002 (altivec_stvx): New.
5003 (vaddubm): New.
5004 (vadduhm): New.
5005 (vadduwm): New.
5006 (vaddfp): New.
5007 (vaddcuw): New.
5008 (vaddubs): New.
5009 (vaddsbs): New.
5010 (vadduhs): New.
5011 (vaddshs): New.
5012 (vadduws): New.
5013 (vaddsws): New.
5014 (vand): New.
5015 (vandc): New.
5016 (vavgub): New.
5017 (vavgsb): New.
5018 (vavguh): New.
5019 (vavgsh): New.
5020 (vavguw): New.
5021 (vavgsw): New.
5022 (vcmpbfp): New.
5023 (vcmpequb): New.
5024 (vcmpequh): New.
5025 (vcmpequw): New.
5026 (vcmpeqfp): New.
5027 (vcmpgefp): New.
5028 (vcmpgtub): New.
5029 (vcmpgtsb): New.
5030 (vcmpgtuh): New.
5031 (vcmpgtsh): New.
5032 (vcmpgtuw): New.
5033 (vcmpgtsw): New.
5034 (vcmpgtfp): New.
5035 (vcmpgefp): New.
5036 (vcmpgtub): New.
5037 (vcmpgtsb): New.
5038 (vcmpgtuh): New.
5039 (vcmpgtsh): New.
5040 (vcmpgtuw): New.
5041 (vcmpgtsw): New.
5042 (vcmpgtfp): New.
5043 (vmaxub): New.
5044 (vmaxsb): New.
5045 (vmaxuh): New.
5046 (vmaxsh): New.
5047 (vmaxuw): New.
5048 (vmaxsw): New.
5049 (vmaxfp): New.
5050 (vmrghb): New.
5051 (vmrghh): New.
5052 (vmrghw): New.
5053 (vmrglb): New.
5054 (vmrglh): New.
5055 (vmrglw): New.
5056 (vminub): New.
5057 (vminsb): New.
5058 (vminuh): New.
5059 (vminsh): New.
5060 (vminuw): New.
5061 (vminsw): New.
5062 (vminfp): New.
5063 (vmuleub): New.
5064 (vmulesb): New.
5065 (vmuleuh): New.
5066 (vmulesh): New.
5067 (vmuloub): New.
5068 (vmulosb): New.
5069 (vmulouh): New.
5070 (vmulosh): New.
5071 (vnor): New.
5072 (vor): New.
5073 (vpkuhum): New.
5074 (vpkuwum): New.
5075 (vpkpx): New.
5076 (vpkuhss): New.
5077 (vpkshss): New.
5078 (vpkuwss): New.
5079 (vpkswss): New.
5080 (vpkuhus): New.
5081 (vpkshus): New.
5082 (vpkuwus): New.
5083 (vpkswus): New.
5084 (vrlb): New.
5085 (vrlh): New.
5086 (vrlw): New.
5087 (vslb): New.
5088 (vslh): New.
5089 (vslw): New.
5090 (vsl): New.
5091 (vslo): New.
5092 (vsrb): New.
5093 (vrsh): New.
5094 (vrsw): New.
5095 (vsrab): New.
5096 (vsrah): New.
5097 (vsraw): New.
5098 (vsr): New.
5099 (vsro): New.
5100 (vsububm): New.
5101 (vsubuhm): New.
5102 (vsubuwm): New.
5103 (vsubfp): New.
5104 (vsubcuw): New.
5105 (vsububs): New.
5106 (vsubsbs): New.
5107 (vsubuhs): New.
5108 (vsubshs): New.
5109 (vsubuws): New.
5110 (vsubsws): New.
5111 (vsum4ubs): New.
5112 (vsum4sbs): New.
5113 (vsum4shs): New.
5114 (vsum2sws): New.
5115 (vsumsws): New.
5116 (vxor): New.
5117
5118 2001-11-07 Daniel Berlin <dan@cgsoftware.com>
5119
5120 * Makefile.in (df.o): Add fibheap.h to dependencies.
5121
5122 * df.h: Add prototypes for transfer functions, iterative_dataflow
5123 functions.
5124 (enum df_flow_dir): New enum.
5125 (enum df_confluence_op): New enum.
5126 (struct df): Add inverse_rts_map.
5127
5128 * df.c: Add sbitmap.h to the list of includes.
5129 (df_rd_global_compute): Removed.
5130 (df_ru_global_compute): Removed.
5131 (df_lr_global_compute): Removed.
5132 (df_rd_transfer_function): New function.
5133 (df_ru_transfer_function): New function.
5134 (df_lr_transfer_function): New function.
5135 (df_analyse_1): allocate/compute/free df->inverse_rts_map.
5136 Use iterative_dataflow_bitmap instead of df_*_global_compute.
5137 (iterative_dataflow_sbitmap): New function.
5138 (iterative_dataflow_bitmap): New function.
5139
5140 2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
5141
5142 * doc/gcc.texi: Move terminology and spelling conventions to
5143 htdocs/codingconventions.html.
5144
5145 2001-11-07 Graham Stott <grahams@redhat.com>
5146
5147 * cse.c (cse_insn): Emit BARRIER after unconditional jump.
5148
5149 Wed Nov 7 13:33:34 CET 2001 Jan Hubicka <jh@suse.cz>
5150
5151 * expmed.c (expand_mult): Force operand to register before computing
5152 cost.
5153 * i386.c (x86_decompose_lea): New global vairable.
5154 * i386.h (x86_decompose_lea): Declare.
5155 (TARGET_DECOMPOSE_LEA): New macro.
5156 (RTX_COST): Handle leas properly.
5157
5158 2001-11-06 Richard Henderson <rth@redhat.com>
5159
5160 * config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
5161 defined for a CONSTRUCTOR; don't check it.
5162
5163 2001-11-06 Danny Smith <dannysmith@users.sourceforge.net>
5164
5165 * gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
5166 test for absolute pathnames.
5167
5168 2001-11-06 Olivier Hainque <hainque@act-europe.fr>
5169
5170 * unwind-dw2.c (execute_cfa_program): Evaluate call frame
5171 instructions up to the target pc inclusive.
5172
5173 2001-11-06 Steve Christiansen <smc@us.ibm.com>
5174
5175 * loop.c (loop_regs_scan): Don't invalidate PIC register.
5176
5177 2001-11-06 Eric Christopher <echristo@redhat.com>
5178
5179 * config/mips/mips.md(movdf_internal2): Add constraints for float
5180 to general register move.
5181 * config/mips/elf64.h: Add default ABI.
5182
5183 2001-11-06 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5184
5185 * alias.c:: Include langhooks.h.
5186 * emit-rtl.c: Similarly.
5187 * toplev.c: Similarly.
5188 * tree-inline.c: Similarly.
5189 * langhooks-def.h: New, the old langhooks.h. Give the default
5190 hooks a common prefix.
5191 * langhooks.h: Contents extracted from toplev.h.
5192 * toplev.h: Move langhook stuff to langhooks.h.
5193 * langhooks.c: Give default hooks a common prefix.
5194
5195 * c-lang.c: Include langhooks-def.h.
5196 * objc/objc-act.c: Similarly.
5197 * Makefile.in: Update.
5198 * objc/Make-lang.in: Update.
5199
5200 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
5201
5202 * doc/install.texi: Document that configure options not listed in
5203 this file are unsupported. Document --with-system-zlib.
5204
5205 Tue Nov 6 09:21:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5206
5207 * rtl.h (mem_for_const_double): New declaration.
5208 * varasm.c (mem_for_const_double): New function.
5209 * config/convex/convex.md (movdf): Use it.
5210 * config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
5211 * config/m68k/linux.h, config/m68k/m68k.h: Likewise.
5212 * config/m68k/m68kv4.h: Likewise.
5213
5214 * config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
5215 of new GP reg classes.
5216
5217 * expr.c (store_field): When making temp object for unaligned
5218 component, set it to alias set 0.
5219
5220 2001-11-06 Joseph S. Myers <jsm28@cam.ac.uk>
5221
5222 * c-common.c (c_expand_expr_stmt): Apply default conversions to
5223 non-lvalue arrays if C99.
5224 * c-typeck.c (default_conversion): Split out code handling
5225 array-to-pointer and function-to-pointer conversions into a
5226 separate default_function_array_conversion function.
5227 (default_function_array_conversion): New function. Keep track of
5228 whether any NON_LVALUE_EXPRs were stripped. Return non-lvalue
5229 arrays unchanged outside C99 mode instead of giving an error for
5230 them.
5231 (build_component_ref): Use pedantic_non_lvalue when handling
5232 COMPOUND_EXPR. Don't handle COND_EXPR specially.
5233 (convert_arguments): Use default_function_array_conversion.
5234 (build_unary_op): For ADDR_EXPR, take a flag indicating whether
5235 non-lvalues are OK.
5236 (unary_complex_lvalue): Likewise.
5237 (internal_build_compound_expr): Use
5238 default_function_array_conversion. Apply default conversions to
5239 function in compound expression.
5240 (build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
5241 Use default_function_array_conversion.
5242 * doc/extend.texi: Update documentation of subscripting non-lvalue
5243 arrays.
5244 Fixes PR c/461.
5245
5246 2001-11-05 Zack Weinberg <zack@codesourcery.com>
5247
5248 * aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
5249 (AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
5250 corresponding to the complete set of .po and .gmo files in
5251 the source directory's po subdir, modified by LINGUAS. Don't
5252 look at ALL_LINGUAS.
5253 * configure.in: Don't set ALL_LINGUAS.
5254 * configure: Regenerate.
5255
5256 * Makefile.in (.po.gmo): Don't move into source directory.
5257 (.po.pox): Clarify comments.
5258 (install-po): Look for .gmo files in both srcdir and objdir;
5259 don't fail if a file is totally missing.
5260 (distclean): rmdir ada subdirectory too.
5261
5262 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
5263
5264 * config/rs6000/rs6000.c (rs6000_select_section): Handle
5265 CONSTRUCTORs _correctly_.
5266
5267 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5268
5269 * c-decl.c (delete_block): Remove.
5270 * c-tree.h (delete_block): Remove.
5271
5272 2001-11-05 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5273
5274 * cppexp.c (lex, parse_defined): Update warning about defined.
5275
5276 2001-11-05 Geoffrey Keating <geoffk@redhat.com>
5277
5278 * config/rs6000/rs6000.c (rs6000_select_section): Handle
5279 CONSTRUCTORs too.
5280
5281 2001-11-05 Nick Clifton <nickc@cambridge.redhat.com>
5282
5283 * config/arm/arm.c (arm_return_in_memory): Cope with
5284 int_size_in_bytes returning -1.
5285
5286 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
5287 DECL being NULL.
5288
5289 Mon Nov 5 16:15:25 CET 2001 Jan Hubicka <jh@suse.cz>
5290
5291 * Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
5292 remove unneeded dependencies;
5293 (cfglayout.o): New.
5294 * cfglayout.c, cfglayout.h: New files; break out from ...
5295 * bb-reorder.c: ... here; Remove unneeded includes;
5296
5297 2001-11-04 Alan Modra <amodra@bigpond.net.au>
5298
5299 * config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
5300
5301 2001-11-04 David Edelsohn <edelsohn@gnu.org>
5302
5303 * config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
5304 mode as well. Do not explicitly create intermediate regs.
5305
5306 2001-11-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5307
5308 * arm/aof.h (aof_text_section, aof_data_section): Don't declare.
5309 (common_section): Delete unused variable.
5310 (ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
5311 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
5312 * arm-protos.h (arm_poke_function_name, aof_add_import,
5313 aof_delete_import): Const-ify.
5314 * arm.c (legitimize_pic_address): Wrap variables in the macro
5315 controlling their usage.
5316 (arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
5317 (arm_poke_function_name, pic_chain, import, aof_add_import,
5318 aof_delete_import): Const-ify.
5319 * i386.c (ix86_osf_output_function_prologue): Const-ify.
5320 * i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
5321 ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
5322 * i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
5323 * i860/sysv3.h: Add missing comment closure.
5324 * m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
5325 * m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
5326 to symbolic_operand.
5327
5328 * config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
5329 (i960-*-*): Set tmake_file.
5330 (sparc86x-*-elf*): Fix typo in header name.
5331
5332 * sched-rgn.c (schedule_insns): Delete unused variable.
5333
5334 2001-11-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
5335
5336 PR c/2820
5337 * c-typeck.c (lookup_field): Rework to return a chain down to
5338 the looked-up field.
5339 (build_component_ref): Use the new lookup_field to handle
5340 nested anonymous entities correctly.
5341
5342 Sun Nov 4 11:53:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5343
5344 * config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
5345 Change parameters to gen_rtx_CONST_DOUBLE.
5346 (GEN_INT64, sparc_emit_set_const64): Likewise.
5347 * config/sparc/sparc.md (movdf split): Likewise.
5348
5349 2001-11-03 Geoffrey Keating <geoffk@redhat.com>
5350
5351 * unroll.c (calculate_giv_inc): Use find_last_value rather
5352 than just hoping the last instruction is the right SET.
5353 [Fixes 990604-1.c on stormy16.]
5354
5355 * config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
5356 library at all if -T is used.
5357
5358 * config/stormy16/stormy16.c (stormy16_print_operand): Avoid
5359 some uses of uninitialized variables in error cases.
5360
5361 * config/stormy16/stormy16.c (stormy16_output_shift): Don't
5362 look at 'temp' if we won't be using it.
5363
5364 * config/stormy16/stormy16.h (CONST_COSTS): Define.
5365 (RTX_COSTS): Define.
5366 (ADDRESS_COST): Define.
5367 (MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
5368
5369 * config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
5370
5371 * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
5372 stormy16_asm_output_mi_thunk.
5373 * config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
5374 function.
5375 * config/stormy16/stormy16-protos.h
5376 (stormy16_asm_output_mi_thunk): New prototype.
5377
5378 2001-11-04 Joseph S. Myers <jsm28@cam.ac.uk>
5379
5380 * ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
5381 FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
5382 caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
5383 cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
5384 sched-int.h, toplev.c, config/alpha/alpha.c,
5385 config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
5386 config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
5387 config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
5388 config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
5389 config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
5390 config/ns32k/ns32k.md, config/rs6000/rs6000.c,
5391 config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
5392
5393 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5394
5395 * Makefile.in (dbxout.o): Depend on function.h.
5396 * collect2.c (is_in_list): Hide unused function.
5397 * dbxout.c: Include function.h.
5398 (source_label_number, dbxout_source_line, dbxout_source_file,
5399 dbxout_function_end, dbxout_begin_function): Wrap/move inside
5400 macros controlling usage.
5401 * gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
5402 * output.h (exports_section): Prototype.
5403
5404 * convex.c (convex_output_function_prologue): Fix format specifier
5405 warning.
5406 (asm_declare_function_name): Fix signed/unsigned warning.
5407 (print_operand): Fix format specifier warning.
5408 * convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
5409 * dsp16xx-protos.h (uns_comparison_operator,
5410 num_1600_core_shifts): Prototype.
5411 * dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
5412 (frame_size, frame_pointer_offset): Delete.
5413 (dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
5414 Make static. Fix format specifier warnings.
5415 * dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
5416 (EXTRA_SECTION_FUNCTIONS): Prototype const_section.
5417 * dsp16xx.md: Add default case in switches.
5418 * fr30.h (IN_RANGE): Delete.
5419 * ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
5420 * mcore-protos.h (mcore_output_cmov): Const-ify.
5421 * mcore.c (mcore_output_cmov): Likewise.
5422 * mcore.h (switch_to_section): Make static and prototype.
5423 * mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
5424 unsigned>=0 warnings.
5425 * mn10300.h (REGNO_IN_RANGE_P): Likewise.
5426 * rs6000-protos.h (read_only_data_section,
5427 read_only_private_data_section): Prototype.
5428 * rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
5429 * sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
5430 * sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
5431
5432 2001-11-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5433
5434 * dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
5435 ATTRIBUTE_UNUSED.
5436 * final.c (final_scan_insn): Add brackets around body of if-stmt.
5437 * gcc.c (convert_filename): Add static prototype. Const-ify.
5438 Wrap variable in macros controlling its use.
5439 * output.h (sdata_section): Add prototype.
5440
5441 * 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5442 (ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
5443 * c4x.h (INIT_SECTION_FUNCTION): Add prototype.
5444 (ASM_FILE_START): Const-ify.
5445 (ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
5446 specifier warning.
5447 * c4x.md: Don't use the 'U' integer suffix.
5448 * clipper.md (clipper_movstr): Delete declaration.
5449 * d30v-protos.h (d30v_move_2words): Const-ify.
5450 (debug_stack_info): Add prototype.
5451 * d30v.c: Include "integrate.h".
5452 (d30v_function_arg_boundary, d30v_function_arg,
5453 d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
5454 signed/unsigned warnings.
5455 (d30v_print_operand_memory_reference, d30v_move_2words):
5456 Const-ify.
5457 * d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
5458 * fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
5459 * fr30.md: Const-ify.
5460 * h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5461 * i370.c (i370_label_scan, mvs_get_label): Make definition static.
5462 (mvs_get_label_page): Hide unused static function.
5463 * i860.c (current_function_original_name): Const-ify.
5464 * i860/sysv3.h (current_function_original_name): Likewise.
5465 * i860/sysv4.h (current_function_original_name): Likewise.
5466 * i960.md: Add default case in switches. Remove unused variable.
5467 * i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
5468 * m32r.md: Const-ify.
5469 * m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
5470 * m68hc11.c: Include "reload.h".
5471 (static_chain_reg, print_options, m68hc11_asm_file_start):
5472 Const-ify.
5473 * m68hc11.md: Delete unused variable. Const-ify. Add parens
5474 around & in comparison.
5475 * mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
5476 * mn10200.c (shift_mode): Remove trailing comma.
5477 * mn10300-protos.h (output_tst): Const-ify.
5478 * mn10300.c (output_tst): Likewise.
5479 * pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
5480 warnings.
5481 * pa-protos.h (output_ascii): Use regular char *, not unsigned.
5482 * pa.c (output_ascii): Likewise.
5483 * pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
5484 * pdp11.md (expand_unop): Delete declarations.
5485 * pj-protos.h (pj_output_addsi3): Const-ify.
5486 * pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
5487 pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
5488 unique_src_operand): Add prototypes.
5489 (pj_output_store_into_lval): Make definition static.
5490 (pj_function_incoming_arg): Don't use unary plus.
5491 (pj_output_addsi3): Const-ify.
5492 * romp.md (get_symref): Delete declarations.
5493 * v850-c.c (mark_current_function_as_interrupt): Don't return
5494 value from void function.
5495 * v850.c: Include "integrate.h".
5496 * v850.h (ASM_OUTPUT_LABELREF): Const-ify.
5497 * vax-protos.h (const_section): Add prototype.
5498
5499 2001-11-03 Aldy Hernandez <aldyh@redhat.com>
5500
5501 * machmode.def: Add documentation for the seventh argument in
5502 vector modes.
5503
5504 2001-11-04 Hans-Peter Nilsson <hp@bitrange.com>
5505
5506 * doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
5507 consistently.
5508 <-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
5509 <-melf>: Don't have markup for ELF acronym.
5510
5511 2001-11-03 Hans-Peter Nilsson <hp@bitrange.com>
5512
5513 * config.gcc (mmix-*-*): New target.
5514 * doc/invoke.texi: Document MMIX options.
5515 * doc/contrib.texi: Add note about MMIX port to my entry.
5516 * config/mmix/t-mmix: New file.
5517 * config/mmix/mmix.h: New file.
5518 * config/mmix/mmix-protos.h: New file.
5519 * config/mmix/mmix.c: New file.
5520 * config/mmix/mmix.md: New file.
5521 * config/mmix/crti.asm: New file.
5522 * config/mmix/crtn.asm: New file.
5523
5524 2001-11-03 Kazu Hirata <kazu@hxi.com>
5525
5526 * config/sparc/linux-aout.h: Fix comment formatting.
5527 * config/sparc/linux.h: Likewise.
5528 * config/sparc/linux64.h: Likewise.
5529 * config/sparc/lynx.h: Likewise.
5530 * config/sparc/pbd.h: Likewise.
5531 * config/sparc/sol2-sld-64.h: Likewise.
5532 * config/sparc/sol2.h: Likewise.
5533 * config/sparc/sparc.c: Likewise.
5534 * config/sparc/sparc.h: Likewise.
5535 * config/sparc/sparc.md: Likewise.
5536 * config/sparc/sunos4.h: Likewise.
5537 * config/sparc/vxsim.h: Likewise.
5538 * config/sparc/vxsparc.h: Likewise.
5539 * config/sparc/vxsparc64.h: Likewise.
5540
5541 Sat Nov 3 10:37:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5542
5543 * cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
5544 reference to CONST_DOUBLE_MEM in comment.
5545 * emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
5546 (gen_rtx, case CONST_DOUBLE): Call it with one less operand.
5547 (init_emit_once): Don't clear CONST_DOUBLE_MEM.
5548 * function.c (pop_function_context_from): Don't call
5549 restore_varasm_status.
5550 * function.h (restore_varasm_status): Delete declaration.
5551 * gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
5552 * rtl.c: Likewise.
5553 * rtl.def (CONST_DOUBLE): Update comment.
5554 * rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
5555 (CONST_DOUBLE_CHAIN): Likewise.
5556 (CONST_DOUBLE_MEM): Delete.
5557 (gen_rtx_CONST_DOUBLE): Update parameters.
5558 * varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
5559 Remove reference to CONST_DOUBLE_MEM.
5560 (const_alias_set): New variable.
5561 (immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
5562 (immed_real_const_1): Adjust tests for 0, 1, and 2.
5563 Don't set CONST_DOUBLE_MEM.
5564 (clear_const_double_mem): Don't do anything with const_tiny_rtx.
5565 (output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
5566 Put constant in const_alias_set.
5567 (struct pool_constant): ALIGN now unsigned.
5568 OFFSET now HOST_WIDE_INT.
5569 Delete LABEL.
5570 (restore_varasm_status): Deleted.
5571 (mark_pool_constant): Mark desc->rtl.
5572 (force_const_mem): Rework to store rtl in hash table,
5573 not CONST_DOUBLE_MEM.
5574 Put constant in const_alias_set.
5575 (find_pool_constant): Check desc->rtl.
5576 (mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
5577 (init_varasm_once): Initialize const_alias_set.
5578
5579 * expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
5580 force_const_mem.
5581
5582 * reload.c (combine_reloads): Don't combine an output reload if there
5583 are other reloads around for part of the output.
5584
5585 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
5586 constant expression.
5587 (set_mem_decl): New function.
5588 * expr.h (set_mem_decl): New declaration.
5589 * final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
5590 (output_asm_operand_names): Add tab.
5591 * reload1.c (alter_reg): Set decl of MEM from REG_DECL.
5592
5593 * builtins.c (get_memory_rtx): Properly set MEM alias set and
5594 attributes.
5595
5596 2001-11-03 Joseph S. Myers <jsm28@cam.ac.uk>
5597
5598 * doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
5599 Use "invalid" instead of "illegal". Use @r in comments in
5600 examples.
5601
5602 2001-11-02 Neil Booth <neil@daikokuya.demon.co.uk>
5603
5604 * c-decl.c (pushdecl): Move block inside if conditional to remove
5605 possibility of a segfault. Lookup block-level extern
5606 variables in enclosing scopes correctly.
5607
5608 * testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
5609
5610 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
5611
5612 * expmed.c (store_bit_field): Use simplify_gen_subreg to make
5613 SUBREG so we avoid SUBREGing memory.
5614
5615 * expmed.c (store_bit_field): Same.
5616
5617 2001-11-02 DJ Delorie <dj@redhat.com>
5618
5619 * config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
5620 using FP registers for DImode mem-mem moves is acceptable.
5621
5622 2001-11-02 Aldy Hernandez <aldyh@redhat.com>
5623
5624 * builtins.c (apply_args_size): Handle vector arguments.
5625 (apply_result_size): Same.
5626
5627 * machmode.def: Set WIDER mode field for all vector entries.
5628
5629 2001-11-02 Graham Stott <grahams@redhat.com>
5630
5631 * recog.c (decode_asm_operands): Check that the SRC is ASM_OPERANDS.
5632
5633 2001-11-01 Eric Christopher <echristo@redhat.com>
5634
5635 * config.gcc: Revert part of earlier patch.
5636 * config/mips/linux.h: Ditto.
5637 * df.c: Include tm_p.h to avoid warnings.
5638 * config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults. Adjust
5639 #if/#endif.
5640 * config/mips/mips.c: Define mips_abi regardless.
5641 (mips_output_function_prologues): Add long casts for .frame
5642 output.
5643 (override_options): Allow use of ABI_32.
5644
5645 2001-11-01 Kazu Hirata <kazu@hxi.com>
5646
5647 * config/m68hc11/m68hc11.c: Fix comment formatting.
5648 * config/m68hc11/m68hc11.h: Likewise.
5649 * config/m68hc11/m68hc11.md: Likewise.
5650
5651 2001-11-01 Neil Booth <neil@daikokuya.demon.co.uk>
5652
5653 * c-typeck.c (default_conversion): Retain the original expression
5654 codes.
5655 * gcc.dg/Wparentheses.c: New tests.
5656
5657 2001-11-01 David S. Miller <davem@redhat.com>
5658
5659 * doc/install.texi (Specific, sparc-sun-solaris2*): Bring
5660 64-bit Sparc description more in line with reality.
5661
5662 2001-11-01 Joseph S. Myers <jsm28@cam.ac.uk>
5663
5664 * Makefile.in (GCOV_OBJS): Add version.o.
5665 * gcov.c: Include "version.h" and <getopt.h>.
5666 (gcov_version_string): Remove.
5667 (print_usage): Take a parameter to determine whether this is a
5668 call from --help or an error message. Give fuller output that
5669 follows the GNU Coding Standards for --help.
5670 (print_version): New function.
5671 (options): New.
5672 (process_args): Use getopt_long. Support long options. Follow
5673 GNU Coding Standards for --help and --version.
5674 * doc/gcov.texi: Document long options.
5675 Addresses part of PR other/704.
5676
5677 2001-11-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
5678
5679 * pa.c (output_move_double): Fix typo in double load.
5680
5681 2001-11-01 Kazu Hirata <kazu@hxi.com>
5682
5683 * config/h8300/h8300.c (h8300_encode_label): Compute a string
5684 before passing it to ggc_alloc_string.
5685
5686 2001-11-01 Kazu Hirata <kazu@hxi.com>
5687
5688 * config/m68k/3b1.h: Fix comment formatting.
5689 * config/m68k/3b1g.h: Likewise.
5690 * config/m68k/a-ux.h: Likewise.
5691 * config/m68k/amix.h: Likewise.
5692 * config/m68k/apollo68.h: Likewise.
5693 * config/m68k/atari.h: Likewise.
5694 * config/m68k/aux-exit.c: Likewise.
5695 * config/m68k/ccur-GAS.h: Likewise.
5696 * config/m68k/crds.h: Likewise.
5697 * config/m68k/dpx2.h: Likewise.
5698 * config/m68k/dpx2g.h: Likewise.
5699 * config/m68k/hp310.h: Likewise.
5700 * config/m68k/hp320.h: Likewise.
5701 * config/m68k/isi.h: Likewise.
5702 * config/m68k/linux.h: Likewise.
5703 * config/m68k/lynx.h: Likewise.
5704 * config/m68k/m68k-psos.h: Likewise.
5705 * config/m68k/m68k.c: Likewise.
5706 * config/m68k/m68k.h: Likewise.
5707 * config/m68k/m68k.md: Likewise.
5708 * config/m68k/m68kelf.h: Likewise.
5709 * config/m68k/m68kv4.h: Likewise.
5710 * config/m68k/mot3300.h: Likewise.
5711 * config/m68k/news.h: Likewise.
5712 * config/m68k/next.h: Likewise.
5713 * config/m68k/pbb.h: Likewise.
5714 * config/m68k/plexus.h: Likewise.
5715 * config/m68k/sgs.h: Likewise.
5716 * config/m68k/sun3.h: Likewise.
5717 * config/m68k/tower.h: Likewise.
5718 * config/m68k/vxm68k.h: Likewise.
5719
5720 2001-10-31 DJ Delorie <dj@redhat.com>
5721
5722 * config/mips/mips.h (mips_cache_flush_func): Prototype.
5723 (TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
5724 (INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
5725 * config/mips/mips.c (mips_cache_flush_func): New.
5726 * doc/invoke.texi: Document the new options.
5727
5728 2001-10-31 Hans-Peter Nilsson <hp@axis.com>
5729
5730 * config.gcc (cris-*-linux*, tm_file): Rearrange order.
5731 * config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
5732
5733 * config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
5734
5735 * config/cris/cris.c: Include output.h after tree.h but before
5736 target.h.
5737
5738 2001-10-31 Zack Weinberg <zack@codesourcery.com>
5739
5740 * Makefile.in (INTL_TARGETS, POSUB): Delete all references.
5741 (INTL_SUBDIRS): Just intl.
5742 (.SUFFIXES): Add .gmo .po .pox.
5743 (native): Also depend on build-@POSUB@.
5744 (intl.all, intl.install): Depend on config.h and things it includes.
5745 (po-generated): New target; depend on c-parse.c and tradcif.c.
5746 (install-normal): Also depend on install-@POSUB@.
5747 (XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
5748 (build-, install-, build-po, update-po, install-po,
5749 .po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
5750
5751 * aclocal.m4: Prefix each entry in CATALOGS with "po/"
5752 * configure.in: Don't munge XGETTEXT. Don't generate
5753 po/Makefile.in.
5754 * configure: Regenerate.
5755
5756 * exgettext: Delete.
5757 * config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
5758 * objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
5759
5760 2001-10-31 Kazu Hirata <kazu@hxi.com>
5761
5762 * config/h8300/h8300.md (two anonymous patterns): New.
5763
5764 2001-10-31 Aldy Hernandez <aldyh@redhat.com>
5765
5766 * tree.h (tree_index): Add support for V16QI and V8HI.
5767 (V8HI_type_node): New.
5768 (V16QI_type_node): New.
5769
5770 * tree.c (build_common_tree_nodes_2): Same.
5771
5772 * c-common.c (type_for_mode): Same.
5773
5774 2001-10-31 Kazu Hirata <kazu@hxi.com>
5775
5776 * config/i386/att.h: Fix comment formatting.
5777 * config/i386/beos-elf.h: Likewise.
5778 * config/i386/bsd.h: Likewise.
5779 * config/i386/bsd386.h: Likewise.
5780 * config/i386/crtdll.h: Likewise.
5781 * config/i386/cygwin.asm: Likewise.
5782 * config/i386/cygwin.h: Likewise.
5783 * config/i386/djgpp.h: Likewise.
5784 * config/i386/freebsd-aout.h: Likewise.
5785 * config/i386/freebsd.h: Likewise.
5786 * config/i386/gas.h: Likewise.
5787 * config/i386/i386-interix.h: Likewise.
5788 * config/i386/i386-protos.h: Likewise.
5789 * config/i386/i386.c: Likewise.
5790 * config/i386/i386.h: Likewise.
5791 * config/i386/i386.md: Likewise.
5792 * config/i386/i386elf.h: Likewise.
5793 * config/i386/interix.c: Likewise.
5794 * config/i386/isc.h: Likewise.
5795 * config/i386/isccoff.h: Likewise.
5796 * config/i386/iscdbx.h: Likewise.
5797 * config/i386/linux.h: Likewise.
5798 * config/i386/lynx.h: Likewise.
5799 * config/i386/mingw32.h: Likewise.
5800 * config/i386/netbsd-elf.h: Likewise.
5801 * config/i386/next.h: Likewise.
5802 * config/i386/osf1elf.h: Likewise.
5803 * config/i386/osfrose.h: Likewise.
5804 * config/i386/sco5.h: Likewise.
5805 * config/i386/seq-gas.h: Likewise.
5806 * config/i386/seq-sysv3.h: Likewise.
5807 * config/i386/sequent.h: Likewise.
5808 * config/i386/sol2.h: Likewise.
5809 * config/i386/sun386.h: Likewise.
5810 * config/i386/uwin.asm: Likewise.
5811 * config/i386/uwin.h: Likewise.
5812 * config/i386/vxi386.h: Likewise.
5813 * config/i386/win32.h: Likewise.
5814 * config/i386/winnt.c: Likewise.
5815 * config/i386/xm-cygwin.h: Likewise.
5816 * config/i386/xm-mingw32.h: Likewise.
5817
5818 2001-10-31 Kazu Hirata <kazu@hxi.com>
5819
5820 * builtins.def: Fix comment typos.
5821 * config/alpha.c: Likewise.
5822 * config/arm/arm.c: Likewise.
5823 * config/avr/avr.h: Likewise.
5824 * config/d30v/d30v.c: Likewise.
5825 * config/d30v/d30v.h: Likewise.
5826 * config/d30v/d30v.md: Likewise.
5827 * config/dsp16xx/dsp16xx.c: Likewise.
5828 * config/fr30/fr30.c: Likewise.
5829 * config/fr30/fr30.md: Likewise.
5830 * config/i386/i386.c: Likewise.
5831 * config/i860/i860.c: Likewise.
5832 * config/i960/i960.c: Likewise.
5833 * config/ia64/ia64.c: Likewise.
5834 * config/mips/mips.c: Likewise.
5835 * config/pa/pa.c: Likewise.
5836 * config/rs6000/rs6000.c: Likewise.
5837 * config/s390/s390.c: Likewise.
5838 * config/sparc/sparc.c: Likewise.
5839
5840 2001-10-30 Kazu Hirata <kazu@hxi.com>
5841
5842 * config/mips/elf.h: Fix comment formatting.
5843 * config/mips/elf64.h: Likewise.
5844 * config/mips/iris5.h: Likewise.
5845 * config/mips/iris5gas.h: Likewise.
5846 * config/mips/iris6.h: Likewise.
5847 * config/mips/isa3264.h: Likewise.
5848 * config/mips/linux.h: Likewise.
5849 * config/mips/mips.c: Likewise.
5850 * config/mips/mips.h: Likewise.
5851 * config/mips/mips.md: Likewise.
5852 * config/mips/mips16.S: Likewise.
5853 * config/mips/netbsd.h: Likewise.
5854 * config/mips/osfrose.h: Likewise.
5855 * config/mips/r3900.h: Likewise.
5856 * config/mips/sni-svr4.h: Likewise.
5857 * config/mips/svr4-t.h: Likewise.
5858 * config/mips/ultrix.h: Likewise.
5859
5860 2001-10-30 Daniel Berlin <dan@cgsoftware.com>
5861
5862 * bitmap.c (bitmap_element_free): Don't forget to update head->indx
5863 when we update head->current.
5864
5865 2001-10-30 Neil Booth <neil@daikokuya.demon.co.uk>
5866
5867 * tree.c (id_string_size): Remove.
5868 (dump_tree_statistics): Update.
5869 * toplev.c (compile_file): If dumping stats, dump tree stats too.
5870
5871 Tue Oct 30 19:00:43 CET 2001 Jan Hubicka <jh@suse.cz>
5872
5873 * sched-rgn.c (schedule_insns): Fix comment.
5874
5875 2001-10-30 Zack Weinberg <zack@codesourcery.com>
5876
5877 * configure.in: Correct previous change: don't assume that
5878 gas's version number _isn't_ the last thing on the line, or
5879 isn't the only number on the line, either.
5880 * configure: Regenerate.
5881
5882 2001-10-30 Kazu Hirata <kazu@hxi.com>
5883
5884 * cfgcleanup.c: Fix a comment typo.
5885
5886 2001-10-30 Kazu Hirata <kazu@hxi.com>
5887
5888 * alias.c: Fix comment formatting.
5889 * recog.c: Likewise.
5890 * config/cris/cris.c: Likewise.
5891 * config/cris/cris.h: Likewise.
5892 * config/i960/i960.c: Likewise.
5893 * config/i960/i960.h: Likewise.
5894
5895 2001-10-30 Kazu Hirata <kazu@hxi.com>
5896
5897 * config/arm/arm.c: Fix a comment typo.
5898 * config/arm/arm.h: Likewise.
5899 * config/ia64/ia64.c: Likewise.
5900
5901 2001-10-30 Jakub Jelinek <jakub@redhat.com>
5902
5903 * emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
5904 REG_EQUIV notes for ASM_OPERANDS. Return the new note (if any).
5905 * rtl.h (set_unique_reg_note): Change return value.
5906 * gcse.c (try_replace_reg): Use set_unique_reg_note.
5907 * cse.c (cse_insn): Likewise.
5908 * expr.c (emit_move_insn): Likewise.
5909 * explow.c (force_reg): Likewise.
5910 * local-alloc (update_equiv_regs): Likewise.
5911 * loop.c (move_moveables, load_mems): Likewise.
5912 * reload (find_reloads): Likewise.
5913
5914 2001-10-30 Paolo Bonzini <bonzini@gnu.org>
5915
5916 Localization fixes.
5917 * c-decl.c (parmlist_tags_warning, start_struct,
5918 check_for_loop_decls): Separate messages for struct, union and
5919 enum cases to allow for languages in which they have different
5920 genders.
5921 * c-format.c (scanf_flag_specs): Separate short and long name of
5922 the assignment suppression feature.
5923 (check_format_types): Localize "pointer" and "different types"
5924 strings.
5925 * c-lex.c (lex_number): Localize "an unsigned long int" and
5926 related strings.
5927 (lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
5928 warning message.
5929 * c-typeck.c (build_unary_up): Separate messages for increment and
5930 decrement cases to allow for languages in which they use different
5931 articles. Localize the strings "increment" and "decrement" in one
5932 case.
5933
5934 Tue Oct 30 11:08:11 CET 2001 Jan Hubicka <jh@suse.cz>
5935
5936 * lcm.c (optimize_mode_switching): Do not rebuild liveness information
5937 when no changes has been made.
5938
5939 * gcse.c (reg_set_bitmap): Turn into reg_set.
5940 (modify_mem_list_set, canon_modify_mem_list_set)
5941 (clear_modify_mem_tables, free_modify_mem_tables): New.
5942 (gcse_main); Use free_modify_mem_tables.
5943 (free_gcse_mem): Likewise; free the bitmaps.
5944 (alloc_gcse_main): Initialize the bitmaps.
5945 (canon_list_insert): Set canon_modify_mem_list_set.
5946 (record_last_mem_set_info): Likewise; set modify_mem_list_set.
5947 (compute_hash_table): Use clear_modify_mem_tables.
5948 (reset_opr_set_tables): Likewise.
5949 (oprs_not_set_p): reg_set_bitmap is regset.
5950 (mark_set, mark_clobber): Likewise.
5951
5952 * df.h (DF_EQUIV_NOTES): New constant.
5953 (df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
5954 when asked for.
5955
5956 * sched-rgn.c (CHECK_DEAD_NOTES): New constant.
5957 (init_regions, schedule_insns): Conditionalize the checking
5958 code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
5959
5960 Tue Oct 30 11:02:31 CET 2001 Jan Hubicka <jh@suse.cz>
5961
5962 * i386.md (movti_rex64 splitter): Fix condition.
5963
5964 2001-10-29 Zack Weinberg <zack@codesourcery.com>
5965
5966 * configure.in: Do not assume that gas's version number is the
5967 last thing on the first line of as --version output.
5968 * configure: Regenerate.
5969
5970 * tradcpp.c: Include intl.h. Rename WARNING, ERROR, FATAL to
5971 MT_WARNING, MT_ERROR, MT_FATAL.
5972 (main): Call gcc_init_libintl.
5973 (v_message): Call gettext on msgid and "warning: "
5974 * tradcif.y: Include intl.h.
5975 (yyerror): Make parameter definition consistent with
5976 prototype. Call gettext on msgid argument.
5977
5978 2001-10-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
5979
5980 * combine.c (num_sign_bit_copies): Avoid signed/unsigned
5981 warnings.
5982
5983 * sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
5984
5985 Mon Oct 29 19:22:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5986
5987 * reload1.c (eliminate_regs): Test for reg_renumber being allocated
5988 before referencing it.
5989
5990 2001-10-26 DJ Delorie <dj@redhat.com>
5991
5992 * config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
5993 override -G, and force -G0.
5994
5995 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
5996
5997 * ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
5998 FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
5999 c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
6000 timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
6001
6002 * loop.h (struct induction): Rename ext_dependant to
6003 ext_dependent.
6004 * loop.c: Change all uses.
6005 (check_ext_dependant_givs): Rename to check_ext_dependent_givs.
6006 All callers changed.
6007 * timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
6008
6009 2001-10-29 Joseph S. Myers <jsm28@cam.ac.uk>
6010
6011 * c-parse.in (expr_no_commas, primary), c-typeck.c
6012 (parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
6013
6014 2001-10-29 David Edelsohn <edelsohn@gnu.org>
6015
6016 Undo assemble_name change in earlier patch.
6017
6018 Mon Oct 29 21:11:40 2001 Nicola Pero <n.pero@mi.flashnet.it>
6019
6020 * objc/objc-act.c (finish_message_expr): For the GNU runtime: when
6021 determining the type of the receiver, do not check that TREE_CODE
6022 of receiver is CALL_EXPR before calling receiver_is_class_object().
6023 (receiver_is_class_object): For the GNU runtime: recognize
6024 the case that the receiver is self in a class method context.
6025 Check that TREE_CODE of receiver is CALL_EXPR when checking that
6026 the receiver is a call to objc_get_class.
6027
6028 2001-10-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
6029
6030 * pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
6031
6032 Mon Oct 29 07:23:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6033
6034 * Makefile.in (OBJS): Put all files in alphabetical order.
6035
6036 * dwarf2out.c (add_const_value_attribute): Fix error in last
6037 change.
6038
6039 Mon Oct 29 12:43:06 CET 2001 Jan Hubicka <jh@suse.cz>
6040
6041 * basic-block.h (purge_all_dead_edges): Add update_life_p argument.
6042 * cfgcleanup.c (merge_blocks): Update the life flag after merging;
6043 fix warning.
6044 * cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
6045 (life_analysis): call purge_all_dead_edges after deleting noops.
6046 (delete_noop_move): Do not purge CFG.
6047 * toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
6048
6049 2001-10-28 David Edelsohn <edelsohn@gnu.org>
6050
6051 * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
6052 * config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
6053 (ASM_GLOBALIZE_LABEL): Use assemble_name.
6054 (ASM_OUTPUT_COMMON): Likewise.
6055 * config/rs6000/rs6000.c (print_operand): Use assemble_name.
6056 (rs6000_output_function_epilogue): Likewise.
6057 (output_mi_thunk): Fix typo.
6058 (rs6000_output_symbol_ref): Use assemble_name.
6059 (output_toc): Likewise.
6060 * config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
6061 * config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
6062 assemble_name calls STRIP_NAME_ENCODING.
6063 (ASM_OUTPUT_LABEL): Use assemble_name.
6064 (ASM_GLOBALIZE_LABEL): Likewise.
6065 (ASM_DECLARE_FUNCTION_NAME): Likewise.
6066 (ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op. Use assemble_name.
6067 (ASM_OUTPUT_LOCAL): Likewise.
6068
6069 Sun Oct 28 15:45:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6070
6071 * builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
6072 (expand_builtin_apply, expand_builtin_return): Likewise.
6073 (expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
6074
6075 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
6076
6077 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6078 ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
6079 c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
6080 configure, configure.in, except.c, except.h, flow.c, function.c,
6081 gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
6082 predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
6083 sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
6084 unroll.c: Fix spelling errors.
6085
6086 * doc/extend.texi, doc/invoke.texi: Fix spelling.
6087
6088 * doc/gcc.texi: Document use of "dependent" and American spelling.
6089
6090 Sun Oct 28 17:05:36 CET 2001 Jan Hubicka <jh@suse.cz>
6091
6092 * expr.c (emit_group_load): Support CONCATs by storing them to memory
6093 and reloading.
6094
6095 Sun Oct 28 09:59:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6096
6097 * expr.c (store_constructor_field): Only call adjust_address on MEM.
6098
6099 Sun Oct 28 16:48:09 CET 2001 Jan Hubicka <jh@suse.cz>
6100
6101 * genrecog.c (write_switch): Output if before switch for
6102 DT_elt_zero_wide_safe.
6103
6104 2001-10-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6105
6106 * Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
6107 * i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
6108 (FUNCTION_PROFILER): Const-ify.
6109 * halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
6110 (eliminate_constant_term, assemble_name, output_addr_const):
6111 Remove declarations.
6112 (ptr_half_pic_address_p, half_pic_hash): Prototype.
6113 (all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
6114 half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
6115 * halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
6116 (half_pic_declare, half_pic_external): Const-ify.
6117 * toplev.c: Include "halfpic.h".
6118
6119 2001-10-28 Joseph S. Myers <jsm28@cam.ac.uk>
6120
6121 * config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
6122 config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
6123 config/i386/i386.c, config/i386/i386-interix.h,
6124 config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
6125 config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
6126 config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
6127 config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
6128 config/sparc/sparc.c, config/m68hc11/m68hc11.c,
6129 config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
6130 config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
6131 spelling errors.
6132
6133 * ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
6134 ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
6135 c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
6136 collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
6137 haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
6138 regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
6139 system.h, toplev.c: Fix spelling errors.
6140
6141 Sat Oct 27 17:32:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6142
6143 * gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
6144
6145 * dwarf2out.c (reg_number): Abort if pseudo.
6146 (reg_loc_descriptor): Return 0 if pseudo.
6147 (is_based_loc): Return 0 if pseudo.
6148 (mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
6149 recursive calls.
6150 (concat_loc_descriptor): Return 0 if either part's descriptor is 0.
6151 (loc_descriptor): Return 0 if can't find location and handle 0
6152 return from recursive calls.
6153 (loc_descriptor_from_tree): Likewise.
6154 Fix handling of indirect.
6155 Also return 0 for PLACEHOLDER_EXPR.
6156 Clean up COMPONENT_REF cases.
6157 (add_AT_location_descriptor): Simplify, but handle 0 return from
6158 loc_descriptor.
6159 (add_const_value_attribute): Avoid shift count warning.
6160 (add_bound_info): Remove test for PLACEHOLDER_EXPR here.
6161 Set comp_unit_die as context if not in function.
6162
6163 * config/mips/mips-protos.h: Break up long lines.
6164 Remove needless #ifdef/#endif blocks.
6165 Don't declare functions declared in file made by genpreds or recog.h.
6166 * config/mips/mips.c (mips_output_function_prologue): TSIZE
6167 is now HOST_WIDE_INT; delete unneeded casts.
6168 * config/mips/mips.h: Don't use #elif.
6169
6170 * expr.c (stor_constructor_field): Always call adjust_address.
6171 Copy TARGET before changing its alias set.
6172 (store_field): Likewise, for TO_RTX.
6173 (get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
6174 replacement.
6175 (safe_from_p, case ADDR_EXPR): Properly check for conflict.
6176 (find_placeholder): Return 0 if can't find object.
6177 (expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
6178 returns 0.
6179
6180 Sat Oct 27 16:31:23 CEST 2001 Jan Hubicka <jh@suse.cz>
6181
6182 * ifcvt.c (if_convert): Call clear_aux_for_blocks.
6183
6184 Sat Oct 27 12:12:09 CEST 2001 Jan Hubicka <jh@suse.cz>
6185
6186 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
6187 merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
6188 (merge_blocks): Properly udpate life after making edge nonfallthru.
6189 * cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
6190
6191 2001-10-26 Kazu Hirata <kazu@hxi.com>
6192
6193 * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
6194
6195 2001-10-26 Neil Booth <neil@daikokuya.demon.co.uk>
6196
6197 * c-typeck.c (convert_arguments): When comparing for enumeral
6198 type equality, use TYPE_MAIN_VARIANT.
6199 * gcc.dg/Wconversion.c: New tests.
6200
6201 2001-10-26 Kazu Hirata <kazu@hxi.com>
6202
6203 * s390/s390.c: Fix comment typos.
6204 * s390/s390.h: Likewise.
6205 * s390/s390.md: Likewise.
6206
6207 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
6208
6209 * tree-inline.c (WALK_SUBTREE_TAIL): New macro.
6210 (walk_tree): Use it for tail calls where appropriate.
6211
6212 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
6213
6214 * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
6215 non-local label_refs.
6216
6217 2001-10-26 Kazu Hirata <kazu@hxi.com>
6218
6219 * config/h8300/h8300.md (4 anonymous patterns): New.
6220
6221 2001-10-26 Kazu Hirata <kazu@hxi.com>
6222
6223 * config/h8300/h8300.c (get_shift_alg): Clean up. Return the
6224 algorithm through the shift_info structure.
6225 (emit_a_shift): Update the use of get_shift_alg.
6226
6227 2001-10-27 Daniel Berlin <dan@cgsoftware.com>
6228
6229 * sched-rgn.c: Remove bitset typedef.
6230 Change bitset to sbitmap in prototypes / variable types.
6231 Remove bbset_size.
6232 Remove edgeset_bits.
6233 Remove edgeset_size.
6234 s/BITSET_ADD/SET_BIT/g
6235 s/BITSET_INVERT/sbitmap_ones/g
6236 s/BITSET_INTER/sbitmap_a_and_b/g
6237 s/BITSET_UNION/sbitmap_a_or_b/g
6238 s/BITSET_DIFFER/sbitmap_difference/g
6239 s/bitset_member/TEST_BIT/g
6240 (BITSET_*): Removed.
6241 (bitset_member): Removed.
6242 (extract_bitlst): Rewrite, now that we have sbitmaps, we can use
6243 EXECUTE_IF_SET_IN_SBITMAP.
6244 (split_edges): Rewrite, use sbitmap functions instead of bitset
6245 operations.
6246 (schedule_region): Allocate/free sbitmaps, rather than bitsets.
6247
6248 2001-10-26 Andreas Schwab <schwab@suse.de>
6249
6250 * reload1.c (emit_input_reload_insns): Fix parens in last
6251 (undocumented) change that was supposed to change only whitespace.
6252
6253 Fri Oct 26 07:18:08 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6254
6255 * cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
6256
6257 * local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
6258 ASM_OPERANDS.
6259
6260 2001-10-26 Andreas Jaeger <aj@suse.de>
6261
6262 * flow.c (clear_log_links): Remove unused variable.
6263 * cfgcleanup.c (cleanup_cfg): Likewise.
6264
6265 2001-10-26 Alexandre Oliva <aoliva@redhat.com>
6266
6267 * tree-inline.c (remap_decl): Don't copy size and size_unit here.
6268 (remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
6269
6270 2001-10-26 Richard Henderson <rth@redhat.com>
6271
6272 * config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
6273 rename PV_REG to R27_REG.
6274 (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
6275 (REG_CLASS_FROM_LETTER): Update.
6276 (PREFERRED_RELOAD_CLASS): Don't widen a reg class.
6277 * config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
6278 (udivsi3, modsi3, umodsi3): Likewise.
6279 (divdi3, udivdi3, moddi3, umoddi3): Likewise.
6280
6281 2001-10-26 Richard Henderson <rth@redhat.com>
6282
6283 * cfg.c (clear_aux_for_blocks): Split out of ...
6284 (free_aux_for_blocks): here.
6285 (clear_aux_for_edges): Split from ...
6286 (free_aux_for_edges): here.
6287 * basic-block.h: Declare them.
6288 * lcm.c (compute_antinout_edge): Use them.
6289 (compute_laterin, compute_available, compute_nearerout): Likewise.
6290 (optimize_mode_switching): Likewise.
6291
6292 2001-10-26 Richard Henderson <rth@redhat.com>
6293
6294 * Makefile.in (unstage*): Remove as, ld, collect-ld before
6295 moving everything back to the main build directory.
6296
6297 2001-10-26 Christopher Faylor <cgf@redhat.com>
6298
6299 * config/i386/cygwin.h: Search target specific include directory, if
6300 appropriate.
6301
6302 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6303
6304 * dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
6305 of macro guards. Fix #endif comment.
6306
6307 * output.h (default_exception_section, default_eh_frame_section):
6308 Move prototypes outside of macro guard.
6309
6310 * crtstuff.c: Fix #endif comment.
6311
6312 Thu Oct 25 12:21:58 2001 Jeffrey A Law (law@cygnus.com)
6313
6314 * doc/md.texi (movMM): Clarify semantics of storing into a
6315 non-paradoxical SUBREG.
6316
6317 2001-10-25 Zack Weinberg <zack@codesourcery.com>
6318
6319 * langhooks.c (lang_hook_default_clear_binding_stack): New.
6320 (lang_hook_default_get_alias_set): Move next to other alias
6321 hooks.
6322 * langhooks.h: Prototype lang_hook_default_clear_binding_stack.
6323 (LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
6324 (LANG_HOOKS_INITIALIZER): Add it.
6325 * toplev.h (struct lang_hooks): Add clear_binding_stack.
6326 * toplev.c (compile_file): Call lang_hooks.clear_binding_stack
6327 instead of a loop calling poplevel.
6328
6329 2001-10-25 Nick Clifton <nickc@cambridge.redhat.com>
6330
6331 * config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
6332 occurrences of #elif with #if...#endif.
6333
6334 2001-10-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6335
6336 * cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
6337
6338 Thu Oct 25 08:46:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6339
6340 * alias.c (can_address_p): No longer static.
6341 * emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
6342 Return 0 if all parameters are default values.
6343 (set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
6344 (adjust_address_1): Try harder to compute a size.
6345 * expr.c (expand_assignment, store_constructor): If can't address,
6346 set MEM_KEEP_ALIAS_SET_P.
6347 (store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
6348 (store_field): Likewise.
6349 (store_constructor): Simplify call to store_constructor_field.
6350 * expr.h (can_address_p): New declaration.
6351 * gensupport.c (gen_rtx_CONST_INT): New function.
6352 * rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
6353 (MEM_SIZE): Get size from mode, if not set and not BLKmode.
6354 (MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
6355
6356 * stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
6357
6358 2001-10-24 Christopher Faylor <cgf@redhat.com>
6359
6360 * config/i386/cygwin.h: Use proper path for mingw crt files when
6361 -mno-cygwin.
6362
6363 Wed Oct 24 18:43:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6364
6365 * dwarf2out.c (file_info_cmp): Always return consistent results.
6366
6367 2001-10-24 Roger Sayle <roger@eyesopen.com>
6368
6369 * stmt.c (expand_end_case): Index jumptables from zero for
6370 suitably small values of minval.
6371
6372 2001-10-24 Jakub Jelinek <jakub@redhat.com>
6373
6374 * stor-layout.c (place_union_field): If any field was aligned with
6375 attribute aligned, set record type's TYPE_USER_ALIGN.
6376 (place_field): Likewise.
6377 (finalize_record_size): Don't clear TYPE_USER_ALIGN.
6378 (layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
6379
6380 2001-10-24 Zack Weinberg <zack@codesourcery.com>
6381
6382 * c-common.h (struct c_common_identifier): Remove rid_code field.
6383 (C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
6384
6385 * c-typeck.c (constructor_designated): New local flag.
6386 (struct constructor_stack): Add "designated" field to match.
6387 (start_init): Clear it.
6388 (really_start_incremental_init, push_init_level): Push and
6389 clear it.
6390 (pop_init_level): Pop it.
6391 (set_designator): Set it.
6392
6393 (pop_init_level): Suppress "missing initializer" warnings if
6394 constructor_designated is true.
6395 (process_init_element): Suppress warning about union
6396 initialization under traditional C, if constructor_designated
6397 is true.
6398
6399 Wed Oct 24 15:35:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6400
6401 * integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
6402 change.
6403
6404 Wed Oct 24 13:26:12 2001 Jeffrey A Law (law@cygnus.com)
6405
6406 * h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
6407
6408 2001-10-24 Dan Nicolaescu <dann@ics.uci.edu>
6409
6410 * ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
6411 the node was already a set to a constant.
6412
6413 Wed Oct 24 12:41:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6414
6415 * emit-rtl.c (set_mem_attributes): Fix typo in last change.
6416 * print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
6417
6418 2001-10-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6419
6420 * s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
6421 (ASM_OUTPUT_ASCII): Const-ify. Fix signed/unsigned warning.
6422 (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
6423 * s390.c (s390_final_chunkify): Don't use string concatenation.
6424 (s390_function_prologue, s390_function_epilogue): Const-ify.
6425 * s390.h (FUNCTION_PROFILER): Remove unused variable.
6426
6427 2001-10-24 Jakub Jelinek <jakub@redhat.com>
6428
6429 * c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
6430 prototypes.
6431
6432 2001-10-23 Stan Shebs <shebs@apple.com>
6433
6434 * config/rs6000/x-darwin: Use -no-cpp-precomp instead of
6435 -traditional-cpp in first-stage compilation.
6436
6437 Tue Oct 23 21:45:40 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6438
6439 * gensupport.c (target_flags): Add.
6440
6441 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
6442
6443 * builtins.c (expand_builtin_setjmp): Only call convert_memory_address
6444 if needed.
6445 (expand_builtin_longjmp, expand_builtin_alloca): Likewise.
6446 * except.c (expand_builtin_frob_return_addr): Likewise.
6447 (expand_builtin_eh_return): Likewise.
6448 * stmt.c (expand_computed_goto): Likewise.
6449 * explow.c (memory_address): Likewise.
6450 (allocate_dynamic_stack_space): Clean up predicate testing.
6451 (probe_stack_range): Convert SIZE to Pmode.
6452 * calls.c (rtx_for_function_call): Only call convert_memory_address
6453 if needed.
6454 Pass function call operand as ptr_mode, not Pmode.
6455 * expr.c (expand_assignment): Clean up calls to convert_memory
6456 address by only doing so when needed and making offsets Pmode.
6457 (store_constructor, expand_expr, expand_expr_unaligned): Likewise.
6458 * function.c (assign_parms): Ensure address in MEM for RESULT_DECL
6459 is in Pmode, not ptr_mode.
6460
6461 2001-10-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6462
6463 * darwin-protos.h (constructor_section, destructor_section,
6464 mod_init_section, mod_term_section): Prototype.
6465 * darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
6466 Const-ify.
6467 * darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
6468 Likewise.
6469 (SECTION_FUNCTION): Prototype `FUNCTION'. Delete
6470 objc_section_init declaration.
6471 (EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
6472 (objc_section_init, try_section_alias): Make static.
6473 (alias_section): Make static and hide unused function.
6474 (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
6475
6476 Tue Oct 23 13:05:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6477
6478 * alias.c (can_address_p): Compnonents are not addressable if
6479 the containing type has alias set 0.
6480 (get_alias_set): Rework to use STRIP_NOPS.
6481 Only call front-end routine on object, type, or object with
6482 NOPs stripped, not inner values.
6483 Use language hook to call front-end routine.
6484 * builtins.c (get_memory_rtx): Always call set_mem_attributes.
6485 (expand_builtin_apply): Call set_mem_align on MEMs we make.
6486 Don't pass alignment to emit_block_move.
6487 (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
6488 (expand_builtin_memset): Likewise, but for clear_storage.
6489 * c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
6490 and remove C++ specific parts.
6491 * c-common.h (c_common_get_alias_set): Add declaration.
6492 * c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
6493 * calls.c (emit_call_1): Fix typo in sibcall_pop case.
6494 (save_fixed_argument_area): Call set_mem_align.
6495 Remove alignment in call to emit_block_move.
6496 (emit_library_call_value_1, store_one_arg): Likewise.
6497 (target_for_arg): Remove; disabled long ago.
6498 * emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
6499 once and similar cleanups.
6500 (offset_address): Use proper introductory comment.
6501 * expr.c (emit_block_move): Use alignment from that of MEM args, not
6502 from explicit operand; all callers changed.
6503 (clear_storage): Likewise.
6504 (expand_assignment): Don't call set_mem_alias_set on to_rtx.
6505 (store_field): Remove kludge on alias set used for to_rtx.
6506 (highest_pow2_factor, case *_DIV_EXPR): Never return 0.
6507 (expand_expr_unaligned): Call set_mem_attributes instead of
6508 set_mem_alias_set.
6509 * expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
6510 * function.c (assign_stack_temp_for_type): Set MEM alignment.
6511 (expand_function_end): Track MEM attributes of trampolines.
6512 * ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
6513 * integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
6514 attributes from original.
6515 * langhooks.c (lang_hook_default_get_alias_set): New function.
6516 (hook_get_alias_set_0): New function.
6517 * langhooks.h (hook_get_alias_set_0): New declaration.
6518 (lang_hook_default_get_alias_set): Likewise.
6519 (LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
6520 * reload1.c (alter_reg): Use adjust_address_nv.
6521 * rtl.c (get_mode_alignment): Moved to here.
6522 * rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
6523 change default if unknown from 1 to BITS_PER_UNIT.
6524 * stor-layout.c (get_mode_alignment): Remove from here.
6525 * toplev.h (struct lang_hoks): Add get_alias_set field.
6526 * tree.h (lang_get_alias_set): Delete declaration.
6527 * config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
6528 * config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
6529 (ix86_va_arg): Likewise.
6530 * config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
6531 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
6532 * config/sparc/sparc.c (sparc_va_arg): Likewise.
6533 * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
6534 (expand_block_move_mem): Remove dead code.
6535
6536 2001-10-22 Neil Booth <neil@daikokuya.demon.co.uk>
6537
6538 * c-common.c (warn_div_by_zero): New.
6539 * c-common.h (warn_div_by_zero): New.
6540 * c-decl.c (c_decode_option): Take it on the command line.
6541 * c-typeck.c (build_binary_op): Warn about division by zero.
6542 * doc/invoke.texi: Document the new command line option, fix
6543 documentation of -Wmultichar.
6544 * testsuite/gcc.dg/divbyzero.c: New tests.
6545 * testsuite/gcc.dg/noncompile/20010524-1.c: Update.
6546
6547 Tue Oct 23 15:30:23 CEST 2001 Jan Hubicka <jh@suse.cz>
6548
6549 * i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
6550
6551 * toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
6552 to avoid update_life_info call.
6553 * basic-block.h (CLEANUP_UPATE_LIFE): Define.
6554 * cfgcleanup.c (bb_flags): New enum.
6555 (BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
6556 (notice_new_block, update_forwarder_flag): New functions.
6557 (try_simplify_condjump): Use FORWARDER_BLOCK_P.
6558 (try_forward_edges): Likewise; update flags.
6559 (merge_blocks): Likewise.
6560 (outgoing_edges_match): Likewise.
6561 (try_crossjump_to_edge): Likewise.
6562 (try_optimize_cfg): Likewise; initialize and clear the flags;
6563 recompute life info if needed.
6564 (cleanup_cfg): No need to clear aux pointers.
6565
6566 2001-10-23 Alexandre Oliva <aoliva@redhat.com>
6567
6568 * config/i386/i386.c (override_options): Default to minimum
6569 stack alignment when optimizing for code size.
6570 * doc/invoke.texi (-mpreferred-stack-boundary): Document the
6571 change.
6572
6573 * config/i386/i386.c (override_options): Set upper limit of
6574 -mpreferred-stack-boundary to 12.
6575
6576 2001-10-22 Zack Weinberg <zack@codesourcery.com>
6577
6578 * recog.c (peephole2_optimize): Add default case to switch.
6579
6580 2001-10-23 Joseph S. Myers <jsm28@cam.ac.uk>
6581
6582 * doc/gcc.texi (Sending Patches): Remove.
6583
6584 2001-10-22 Hans-Peter Nilsson <hp@bitrange.com>
6585
6586 * unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
6587 fields when comparing.
6588
6589 2001-10-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6590
6591 * arm.h (HOST_INT, HOST_UINT): Delete. Remove all uses.
6592 * arm.c (HOST_INT, HOST_UINT): Likewise.
6593
6594 2001-10-22 Stan Shebs <shebs@apple.com>
6595
6596 * config/darwin-protos.h (darwin_exception_section): Declare.
6597 (darwin_eh_frame_section): Declare.
6598
6599 Mon Oct 22 18:21:25 CEST 2001 Jan Hubicka <jh@suse.cz>
6600
6601 * i386.md (movti_rex64): Fix mode.
6602
6603 2001-10-22 Stan Shebs <shebs@apple.com>
6604
6605 * target.h (struct gcc_target): Add asm_out.exception_section,
6606 asm_out.eh_frame_section.
6607 * target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
6608 (TARGET_ASM_EH_FRAME_SECTION): New.
6609 (TARGET_INITIALIZER): Update.
6610 * output.h (default_exception_section): Declare.
6611 (default_eh_frame_section): Declare.
6612 * dwarf2out.c: Include target.h.
6613 (output_call_frame_info): Call target hook for eh frames.
6614 (default_eh_frame_section): New function.
6615 * except.c: Include target.h.
6616 (output_function_exception_table): Call target hook for exception
6617 section.
6618 * varasm.c (default_exception_section): Rename from
6619 exception_section, remove EXCEPTION_SECTION macro.
6620
6621 * config/darwin.h (darwin_eh_frame_section): New function.
6622 (EXCEPTION_SECTION): Remove.
6623 (TARGET_ASM_EXCEPTION_SECTION): Define.
6624 * config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
6625 (nextstep_exception_section): New function.
6626 (nextstep_eh_frame_section): New function.
6627 (TARGET_ASM_EXCEPTION_SECTION): Define.
6628 (TARGET_ASM_EH_FRAME_SECTION): Define.
6629
6630 * config/pa/som.h (EXCEPTION_SECTION): Remove.
6631 (TARGET_ASM_EXCEPTION_SECTION): Define.
6632 * config/rs6000/sysv4.h, config/rs6000/xcoff.h
6633 (EXCEPTION_SECTION): Remove.
6634 (TARGET_ASM_EXCEPTION_SECTION): Define.
6635 * config/stormy16/stormy16.h: Remove comments referencing
6636 EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
6637
6638 * doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
6639 TARGET_ASM_EH_FRAME_SECTION.
6640
6641 2001-10-22 Nick Clifton <nickc@cambridge.redhat.com>
6642
6643 * config/mips/mips.md (mul_acc_si): Fix precedence of conditional
6644 terms.
6645
6646 * c-format.c: Fix spelling typo in comment.
6647
6648 * sched-int.h: Fix typo in GCC preamble.
6649
6650 2001-10-21 Craig Rodrigues <rodrigc@gcc.gnu.org>
6651
6652 PR debug/4252
6653 * doc/invoke.texi: Remove references to -fdump-translation-unit.
6654
6655 2001-10-22 Richard Henderson <rth@redhat.com>
6656
6657 * config/i386/i386.c (ix86_expand_clear): New.
6658 * config/i386/i386-protos.h: Declare it.
6659 * config/i386/i386.md (setcc peep2s): Use it.
6660 (movsi_xor): Unexport.
6661
6662 2001-10-22 Richard Henderson <rth@redhat.com>
6663
6664 * flow.c (clear_log_links): Use free_INSN_LIST_list, not
6665 free_EXPR_LIST_list for LOG_LINKS.
6666
6667 2001-10-21 Robert Lipe <robertlipe@usa.net>
6668
6669 * config/i386/i386.c (sco_asm_named_section): Delete.
6670 (sco_asm_out_constructor): Delete.
6671 * config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
6672 (ASM_OUTPUT_DOUBLE_INT): Likewise.
6673 (TARGET_ASM_CONSTRUCTOR): Delete. Use default.
6674 (TARGET_ASM_NAMED_SECTION): Use default for ELF.
6675 (EXCEPTION_SECTION): Delete EH scn renaming hack.
6676
6677 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6678
6679 * c-format.c (maybe_read_dollar_number): Use safe-ctype macros
6680 and/or fold extra calls into fewer ones.
6681 * collect2.c (dump_file): Likewise.
6682 * cppexp.c (parse_number): Likewise.
6683 * cpplex.c (_cpp_lex_direct): Likewise.
6684 * final.c (output_asm_insn, asm_fprintf): Likewise.
6685 * fix-header.c (inf_scan_ident, main): Likewise.
6686 * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
6687 Likewise.
6688 * fold-const.c (real_hex_to_f): Likewise.
6689 * gen-protos.c (parse_fn_proto): Likewise.
6690 * genattrtab.c (check_attr_test, check_attr_value): Likewise.
6691 * genrecog.c (change_state, write_action): Likewise.
6692 * gensupport.c (shift_output_template): Likewise.
6693 * local-alloc.c (requires_inout): Likewise.
6694 * mips-tfile.c (IS_ASM_IDENT): Likewise.
6695 * protoize.c (is_id_char, main): Likewise.
6696 * real.c (asctoeg): Likewise.
6697 * recog.c (asm_operand_ok): Likewise.
6698 * reload.c (find_reloads): Likewise.
6699 * scan.c (scan_identget_token): Likewise.
6700 * sched-vis.c (print_value): Likewise.
6701 * stringpool.c (ggc_alloc_string): Likewise.
6702 * toplev.c (read_integral_parameter, decode_g_option): Likewise.
6703 * tradcif.y (parse_number, yylex, parse_escape): Likewise.
6704 * tradcpp.c (rescan): Likewise.
6705 * tree.c (clean_symbol_name): Likewise.
6706 * varasm.c (decode_reg_name): Likewise.
6707
6708 * alpha.h (ASM_OUTPUT_ASCII): Likewise.
6709 * darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
6710 * dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
6711 * m88k.c (output_ascii): Likewise.
6712 * m88k.h (OVERRIDE_OPTIONS): Likewise.
6713 * mcore.h (REG_CLASS_FROM_LETTER): Likewise.
6714 * ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
6715 * sh.h (REG_CLASS_FROM_LETTER): Likewise.
6716
6717 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
6718
6719 * langhooks.c (lang_hook_default_do_nothing,
6720 lang_hook_default_decode_option): New defaults.
6721 * langhooks.h: Make hooks unconditional and non-NULL.
6722 * toplev.c (compile_file, toplev_main): Update.
6723 * toplev.h: Update comments.
6724 * objc/objc-act.c (lang_hooks): Update to new paradigm.
6725
6726 2001-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6727
6728 * arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
6729
6730 * system.h (IN_RANGE): New macro.
6731
6732 2001-10-21 Zack Weinberg <zack@codesourcery.com>
6733
6734 * aclocal.m4 (AM_WITH_NLS): Also create and substitute
6735 INTLDEPS variable, which does not include $LIBICONV.
6736 * Makefile.in: Use INTLDEPS in LIBDEPS.
6737 * configure: Regenerate.
6738
6739 2001-10-21 Neil Booth <neil@daikokuya.demon.co.uk>
6740
6741 * cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
6742 * cpplex.c (lex_percent, lex_dot): Remove.
6743 (get_effective_char, skip_block_comment, skip_line_comment,
6744 parse_identifier_slow, parse_number, parse_string, save_comment,
6745 _cpp_lex_direct): Update to do lookback freely.
6746 (IF_NEXT_IS, BACKUP): New macros.
6747 * cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
6748 * cppmacro.c (paste_tokens): Update.
6749
6750 2001-10-20 Nick Clifton <nickc@cambridge.redhat.com>
6751
6752 * doc/invoke.texi (i386 and x86-64 Options): Fix typo.
6753
6754 2001-10-20 Hans-Peter Nilsson <hp@axis.com>
6755
6756 * reload1.c (reload): Check CONSTANT_P before calling
6757 LEGITIMATE_PIC_OPERAND_P.
6758 * config/cris/cris.c (cris_legitimate_pic_operand): Revert
6759 workaround of 2001-10-13.
6760
6761 Sat Oct 20 15:16:10 CEST 2001 Jan Hubicka <jh@suse.cz>
6762
6763 * i386.c (split_di): Handle splitting of DFmode.
6764
6765 Sat Oct 20 07:27:14 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6766
6767 * emit-rtl.c (set_mem_attributes): Alignment is in bits.
6768 (adjust_address_1, offset_address): Likewise.
6769
6770 * final.c (output_asm_operand_names): New fcn, from output_asm_insn.
6771 (output_asm_insn): Call it for each line output.
6772 Don't record an operand more than once.
6773
6774 * toplev.h (struct lang_hooks): HONOR_READONLY now bool.
6775 * main.c: Include config.h and system.h, but not ansidecl.h.
6776 * Makefile.in (main.o): Update accordingly.
6777
6778 Sat Oct 20 12:05:31 CEST 2001 Jan Hubicka <jh@suse.cz>
6779
6780 * i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
6781
6782 Sat Oct 20 12:01:07 CEST 2001 Jan Hubicka <jh@suse.cz>
6783
6784 * basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
6785 * cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
6786 Break out from ...
6787 (find_sub_basic_blocks): ... here;
6788 (find_many_sub_basic_blocks): New.
6789 * recog.c (split_all_insns): Update find_sub_basic_blocks call.
6790
6791 * i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
6792
6793 * i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
6794
6795 * i386.c (split_di, split_ti): Revamp to use simplify_subreg.
6796
6797 * timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
6798 * flow.c (update_life_info): Measure time.
6799 * c-decl.c: Include timevar.h
6800 (c_expand_body): Measure time.
6801 * toplev.c (rest_of_compilation): Measure time of mode switching
6802 separately.
6803 * Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
6804
6805 * toplev.c (flag_asynchronous_unwind_tables): New global variable.
6806 (lang_independent_options): Add asynchronous-unwind-tables
6807 (toplev_main): flag_asynchronous_unwind_tables implies
6808 flag_unwind_tables.
6809 * flags.h (flag_asynchronous_unwind_tables): Declare.
6810 * dwarf2out.c (dwarf2out_stack_adjust): Take into account
6811 flag_asynchronous_unwind_tables.
6812 (output_call_frame_info): Likewise.
6813 * invoke.texi (-fasynchronous-unwind-tables): Document.
6814 * i386.c (optimization_options): Enable
6815 flag_asynchronous_unwind_tables.
6816
6817 * i386.c (ix86_expand_setcc): Always expect target to be QImode.
6818 * i386.md (s* expanders): Destination is QImode.
6819
6820 * toplev.c (rest_of_compilation): Do not call clear_log_links.
6821 * rtl.h (clear_log_links): Kill.
6822 * flow.c (clear_log_links): Make static; accept blocks parameter;
6823 do no clear life info.
6824 (update_life_info): Call clear_log_links.
6825
6826 * cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
6827
6828 2001-10-20 Neil Booth <neil@daikokuya.demon.co.uk>
6829
6830 * cpplex.c (handle_newline, skip_escaped_newlines,
6831 get_effective_char, skip_block_comment, skip_line_comment,
6832 parse_identifier_slow, parse_number, parse_string,
6833 _cpp_lex_direct): Update to do more stepping back.
6834 (trigraph_ok): Similarly. Rename trigraph_p.
6835 (SAVE_STATE, RESTORE_STATE): Remove.
6836 (BUFF_SIZE_UPPER_BOUND): Tweak. Add sanity check.
6837
6838 * cpplib.c (destringize): Rename destringize_and_run, and
6839 call run_directive directly.
6840 (_cpp_do__Pragma): Simplify.
6841
6842 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6843
6844 * pe.c (arm_pe_unique_section): Const-ify.
6845 * pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
6846 (switch_to_section): Add static prototype.
6847
6848 * output.h (drectve_section): Prototype.
6849
6850 2001-10-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6851
6852 * config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
6853 fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
6854 parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
6855 i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
6856 i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
6857 i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
6858 i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
6859 i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
6860 i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
6861 i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
6862 i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
6863 i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
6864 ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
6865 mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
6866 powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
6867 powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
6868 powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
6869 powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
6870 powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
6871 powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
6872 rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
6873 sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
6874 v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
6875 cris-*-none, cris-*-linux*: Update ${tmfile} list.
6876 (c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
6877 i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
6878 mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
6879 powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
6880 v850-*-*): Delete superflous ${cpu_type} setting.
6881 * config/linux.h: Delete svr4.h include.
6882 (SET_ASM_OP): Delete.
6883 * config/netware.h (INT_ASM_OP): Undef before define.
6884 * config/ptx4.h: Delete elfos.h include.
6885 (PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
6886 * config/svr4.h: Delete elfos.h include. Update commentary.
6887 * config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
6888 config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
6889 config/mn10200/mn10300.h, config/stormy16/stormy16.h,
6890 config/v850/v850.h: Delete svr4.h include.
6891 * config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
6892 config/m68k/m68kv4.h, config/m88k/sysv4.h,
6893 config/sparc/sysv4.h: Update includes.
6894 * config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
6895 config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
6896 config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
6897 config/m88k/dguxbcs.h: Delete includes.
6898 * config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
6899 (PREFERRED_DEBUGGING_TYPE): Undef before defining it.
6900 * config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
6901 it.
6902 * config/m88k/dgux.h: Delete include.
6903 (SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Undef before
6904 defining it.
6905 * config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
6906 ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
6907 * config/sh/elf.h: Update include.
6908 (SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
6909 DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
6910
6911 2001-10-19 Catherine Moore <clm@redhat.com>
6912
6913 * config/stormy16/stormy-abi: Updates to varargs descriptions.
6914 * config/stormy16/stormy16.c (stormy16_build_va_list): Reverse
6915 base and count fields.
6916 (stormy16_expand_builtin_va_start): last_reg_count changed to
6917 size_of_reg_args. Use count + size in first comparison.
6918
6919 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6920
6921 * langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
6922 * toplev.h (struct lang_hooks): New field HONOR_READONLY.
6923 * emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
6924 TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
6925 Set alignment from type if INDIRECT_REF.
6926 (adjust_address_1, offset_address): Simplify alignment compuitation.
6927 * expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
6928 here; done by set_mem_attributes.
6929
6930 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6931
6932 * Makefile.in (rtlanal.o): Depend on $(TM_P_H).
6933 * arm-protos.h (rdata_section, zero_init_section, common_section):
6934 Prototype.
6935 * arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
6936 * avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
6937 traditional mode stringification.
6938 * function.c (thread_prologue_and_epilogue_insns): Wrap variable
6939 in macros controling its use.
6940 * rtlanal.c: Include tm_p.h.
6941 * varasm.c (asm_output_aligned_bss): Mark parameter with
6942 ATTRIBUTE_UNUSED.
6943 (assemble_constant_align, assemble_start_function, assemble_align,
6944 assemble_variable, assemble_trampoline_template,
6945 output_constant_def_contents): Wrap potentially empty if-stmt body
6946 in brackets.
6947
6948 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6949
6950 * a29k-protos.h (literal_section): Prototype.
6951 * a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
6952 * a29k.md: Ensure function pointers are prototyped.
6953 * genattrtab.c (write_eligible_delay): Mark parameter with
6954 ATTRIBUTE_UNUSED.
6955
6956 2001-10-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6957
6958 * calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
6959 * 1750a.c (print_operand): Fix format specifier warning.
6960 * 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
6961 * 1750a.md: Likewise.
6962 * gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
6963 * genemit.c (output_add_clobbers): Mark parameter with
6964 ATTRIBUTE_UNUSED.
6965 * genrecog.c (write_subroutine): Likewise.
6966 * integrate.c (expand_inline_function): Delete unused variable.
6967 * varasm.c (remove_from_pending_weak_list): Wrap with
6968 ASM_WEAKEN_LABEL.
6969
6970 2001-10-19 Jakub Jelinek <jakub@redhat.com>
6971
6972 * simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
6973 field is different to previous argument's neg field.
6974
6975 * config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
6976
6977 Fri Oct 19 15:24:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6978
6979 * final.c (get_decl_from_op): New function.
6980 (output_asm_insn): Call it; write "*" when item with decl is address.
6981
6982 2001-10-19 Janis Johnson <janis187@us.ibm.com>
6983
6984 * doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
6985 about 64-bit support from the 3.0_branch version.
6986
6987 2001-10-19 Zack Weinberg <zack@codesourcery.com>
6988
6989 * aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
6990 USE_INCLUDED_LIBINTL when appropriate.
6991 * configure, config.in: Regenerate.
6992 * Makefile.in (datadir): Set to @datadir@.
6993 (intl.o): Also depend on $(CONFIG_H) and system.h.
6994
6995 * intl.c: Factor out common gettext initialization sequence.
6996 (gcc_init_libintl): New function.
6997 * intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
6998 otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
6999 off NLS. Add multiple include guard. No need to #ifdef-guard
7000 an #undef. Prototype gcc_init_libintl here.
7001
7002 * collect2.c (main), cppmain.c (general_init), gcc.c (main),
7003 gcov.c (main), protoize.c (main), toplev.c (toplev_main):
7004 Use gcc_init_libintl.
7005
7006 2001-10-19 Catherine Moore <clm@redhat.com>
7007
7008 * config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
7009
7010 * config/stormy16/stormy16.c (stormy16_split_move): Make
7011 sure that REG_INC notes are present for auto_inc operands.
7012
7013 2001-10-19 Andreas Jaeger <aj@suse.de>
7014
7015 * configure: Regenerated.
7016 * configure.in: Add x86_64 to switch statements.
7017
7018 2001-10-18 Richard Henderson <rth@redhat.com>
7019
7020 * config/alpha/alpha.md (sibcall_osf_1): Load destination
7021 address into $27 explicitly.
7022 (sibcall_value_osf_1): Likewise.
7023
7024 Thu Oct 18 16:07:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7025
7026 * emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
7027 (offset_address): New function.
7028 (free_emit_status): Free regno_decl.
7029 (init_emit): Pass proper number of elements to xcalloc.
7030 Allocate regno_decl.
7031 (mark_emit_status): Mark regno_decl values.
7032 * expr.c (highest_pow2_factor): New function.
7033 (expand_assigment): Use it and offset_address.
7034 Properly handle ptr_mode vs. Pmode in offset calculation.
7035 (store_constructor, expand_expr_unaligned): Likewise.
7036 (expand_expr, case COMPONENT_EXPR): Likewise.
7037 * expr.h (offset_address): New decl.
7038 * function.h (struct emit_status): Add regno_decl.
7039 (REGNO_DECL): New macro.
7040 * final.c (output_asm_name): Move in file and don't conditionalize
7041 on flag_print_asm_name.
7042 (output_asm_insn): Only call output_asm_name if flag_print_asm_name.
7043 Output names of operands, if known.
7044 * function.c (assign_parms): Set REGNO_DECL.
7045 * integrate.c (integrate_decl_tree): Likewise.
7046 * stmt.c (expand_decl): Likewise.
7047 * regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
7048
7049 2001-10-18 Alexandre Oliva <aoliva@redhat.com>
7050
7051 * attribs.c (handle_noinline_attribute): New function.
7052 (handle_used_attribute): Likewise.
7053 (c_common_attribute_table): Added noinline and used.
7054 * doc/extend.texi (Function Attributes): Document them.
7055 * c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
7056 Warn when merging inline with attribute noinline.
7057 (start_decl, start_function): Warn if inline and attribute
7058 noinline appear in the same declaration.
7059
7060 2001-10-17 Neil Booth <neil@daikokuya.demon.co.uk>
7061
7062 * config.gcc: Update c4x and i370 for C front end-specific
7063 dependencies.
7064 * config/c4x/c4x-c.c: New.
7065 * config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
7066 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7067 New declarations.
7068 * config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
7069 (code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
7070 Make extern.
7071 (c4x_init_pragma): Remove.
7072 (c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
7073 c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
7074 c4x_pr_ignored): Move to c4x-c.c.
7075 * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
7076 * config/c4x/t-c4x: Update.
7077 * config/i370/i370-c.c: New.
7078 * config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
7079 (i370_pr_map): Move to i370-c.c.
7080 * config/i370/t-i370: New.
7081
7082 * doc/tm.texi: Update.
7083
7084 2001-10-17 Stan Shebs <shebs@apple.com>
7085
7086 * config/rs6000/rs6000.c: Make assorted mechanical formatting and
7087 typo fixes throughout.
7088 (machopic_output_stub): Remove some dead code.
7089
7090 2001-10-17 Richard Earnshaw <rearnsha@arm.com>
7091
7092 * cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
7093 leak.
7094
7095 Wed Oct 17 05:26:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7096
7097 * Makefile.in (print-rtl.o): Depend on TREE_H.
7098 * alias.c (get_alias_set): Make two passes over objects to first
7099 see if inner object is access via restricted pointer.
7100 Defer allocating alias set for restricted pointer until here.
7101 Call find_placeholder with second arg nonzero.
7102 Minor cleanups.
7103 * c-common.c (c_apply_type_quals_to_decl): Defer getting alias
7104 set for restricted pointer types.
7105 * emit-rtl.c (set_mem_attributes): Set more attributes.
7106 (set_mem_align, change_address, adjust_address_1): New functions.
7107 (change_address_1): Now static.
7108 (adjust_address, adjust_address_nv): Deleted.
7109 (replace_equiv_address): Call change_address_1.
7110 * expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
7111 (find_placeholder): Get starting point from PLIST arg.
7112 (expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
7113 * expr.h (set_mem_align, change_address, adjust_address_1): New decls.
7114 (adjust_address, adjust_address_nv): New macros.
7115 * print-rtl.c (tree.h): New include.
7116 (print_rtx, case MEM): Print all memory attributes.
7117
7118 2001-10-17 Richard Henderson <rth@redhat.com>
7119
7120 * config/alpha/alpha.c (direct_call_operand): Don't fall off end.
7121
7122 2001-10-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
7123
7124 * c-tree.texi: Eliminate duplicated word.
7125 * cpp.texi: Likewise.
7126 * install.texi: Likewise.
7127 * invoke.texi: Likewise.
7128 * tm.texi: Likewise.
7129
7130 2001-10-17 Michael Collison <collison@isisinc.net>
7131
7132 * dsp16xx.c: Fix comment formatting to match GNU standards.
7133 (dsp16xx_output_function_prologue): Change type of 'size'
7134 parameter from 'int' to HOST_WIDE_INT.
7135 (dsp16xx_output_function_epilogue): Change type of 'size'
7136 parameter from 'int' to HOST_WIDE_INT.
7137
7138 2001-10-16 Richard Henderson <rth@redhat.com>
7139
7140 * configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
7141 * configure, config.in: Rebuild.
7142
7143 * config/i386/i386.c (ix86_output_addr_vec_elt): New.
7144 (ix86_output_addr_diff_elt): New.
7145 * config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
7146 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
7147 (JUMP_TABLES_IN_TEXT_SECTION): New.
7148 * config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
7149 * config/i386/i386-protos.h: Update.
7150
7151 * config/i386/386bsd.h, config/i386/beos-elf.h,
7152 config/i386/freebsd-aout.h, config/i386/freebsd.h,
7153 config/i386/i386-interix.h, config/i386/i386elf.h,
7154 config/i386/linux.h, config/i386/netbsd-elf.h,
7155 config/i386/netbsd.h, config/i386/openbsd.h,
7156 config/i386/ptx4-i.h, config/i386/rtemself.h,
7157 config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
7158 (ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
7159
7160 2001-10-16 Florian Weimer <fw@deneb.enyo.de>
7161
7162 * stmt.c (expand_asm_operands): Update commentary.
7163
7164 2001-10-16 Stan Shebs <shebs@apple.com>
7165
7166 * config/darwin.h (GCC_NAME): Remove, no longer used.
7167 (NO_MATH_LIBRARY): Ditto.
7168 (MATH_LIBRARY): Define to emptiness.
7169 (DWARF2_DEBUGGING_INFO): Define.
7170 (PREFERRED_DEBUGGING_TYPE): Define.
7171 (EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
7172 (EXCEPTION_SECTION): Define.
7173 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7174 * config/darwin.c (darwin_encode_section_info): Handle case of
7175 DECL_INITIAL being error_mark_node.
7176
7177 2001-10-16 Richard Henderson <rth@redhat.com>
7178
7179 * alpha.c (current_file_function_operand): Don't fail for profiling.
7180 (direct_call_operand): New.
7181 * alpha-protos.h: Declare it.
7182 * alpha.h (EXTRA_CONSTRAINT): Use it.
7183 (PREDICATE_CODES): Add it.
7184 (ASM_OUTPUT_MI_THUNK): Remove.
7185 * alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
7186 * alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
7187
7188 2001-10-16 Krister Walfridsson <cato@df.lth.se>
7189
7190 * config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
7191 (JUMP_TABLES_IN_TEXT_SECTION): Define.
7192
7193 Wed Oct 17 00:21:31 CEST 2001 Jan Hubicka <jh@suse.cz>
7194
7195 * cfg.c (free_edge): Break out from ....
7196 (remove_edge): ... here.
7197 (clear_edges): Use free_edge.
7198
7199 * att.h (ASM_QUAD): Add comment.
7200 * bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
7201
7202 Wed Oct 17 00:01:02 CEST 2001 Jan Hubicka <jh@suse.cz>
7203
7204 * i386.c (split_ti): New function.
7205 (ix86_split_to_parts): Support TImodes.
7206 * i386.h (VALID_INT_MODE_P): Add TImode.
7207 * i386.md (movdi splitter): Fix.
7208 (movti): Support 64bit integer registers.
7209 (movti_rex64): New function and splitter.
7210
7211 * i386.c (*_cost): Add movsx/movzx cost.
7212 * i386.h (struct processor_costs): Add movsx/movzx fields.
7213 (RTX_COSTS): Handle zero/sign extend + avoid believing that
7214 64bit operations require split on 64bit machine.
7215 (CONST_COST): Make large 64bit constants expensive on 64bit compilation.
7216
7217 * i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
7218 (ix86_expand_move): Avoid pushes of memory if size does not match;
7219 move long constants to register.
7220 (x86_initialize_trampoline): Fix mode.
7221 * i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
7222 Use ASM_QUAD on 64bit.
7223 * i386.md (test pattern): Disallow impossible constants.
7224 (tablejump PIC expander): Fix emitting of sum.
7225 (movdicc_rex64): Rename to movdicc.
7226 * linux64.h (LINK_SPEC): Add missing '%'.
7227
7228 2001-10-16 Alexandre Oliva <aoliva@redhat.com>
7229
7230 * tree-inline.c (inlinable_function_p): Leave it up to the
7231 front-end to turn -finline-functions into DECL_INLINE set for all
7232 functions.
7233
7234 2001-10-16 Stan Shebs <shebs@apple.com>
7235
7236 * config/rs6000/darwin.h (ASM_COMMENT_START): Define.
7237
7238 2001-10-16 Alan Modra <amodra@bigpond.net.au>
7239
7240 * recog.c: Formatting and comment typo fixes.
7241
7242 * configure.in (gcc_cv_as_bfd_srcdir): New. Use it to find gas
7243 version in single tree build.
7244 * configure: Regenerate.
7245
7246 2001-10-15 David Edelsohn <edelsohn@gnu.org>
7247
7248 * config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
7249 MODE arguments to gen_rtx and compare operand with const0_rtx.
7250
7251 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
7252
7253 * system.h: Poison old unused target macros.
7254 * config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
7255 * config/stormy16/stormy16.c: Update references to obsolete macros.
7256 * config/stormy16/stormy16.h: Similarly.
7257 * config/stormy16/stormy16.md: Similarly.
7258 * config/cris/cris.h: Similarly.
7259
7260 2001-10-15 Neil Booth <neil@daikokuya.demon.co.uk>
7261
7262 * cpplib.c (struct pragma_entry): Store the name as a hashnode.
7263 (lookup_pragma_entry, insert_pragma_entry, do_pragma,
7264 cpp_register_pragma): Update accordingly.
7265
7266 2001-10-14 Neil Booth <neil@daikokuya.demon.co.uk>
7267
7268 * c-pragma.h (cpp_register_pragma_space): Remove.
7269 * cpplib.h (cpp_register_pragma_space): Remove.
7270 * cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
7271 (cpp_register_pragma_space): Remove.
7272 (cpp_register_pragma): Simplify using lookup_pragma_entry,
7273 add sanity checks.
7274 (do_pragma): Similarly.
7275 (_cpp_init_internal_pragmas): Don't register namespaces.
7276
7277 * config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
7278 Don't register namespaces.
7279 * cp/lex.c (init_cp_pragma): Similarly.
7280 * doc/tm.texi: Update.
7281
7282 2001-10-10 Craig Rodrigues <rodrigc@gcc.gnu.org>
7283
7284 PR c/4157
7285 * config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
7286
7287 2001-10-13 Michael Collison <collison@dhcp-12-114.townisp.com>
7288
7289 * config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
7290 add scheduling support.
7291 * config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
7292 * config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
7293 * config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
7294
7295
7296 2001-10-13 Hans-Peter Nilsson <hp@axis.com>
7297
7298 * config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
7299 missing CONSTANT_P test in core GCC.
7300
7301 2001-10-12 Neil Booth <neil@daikokuya.demon.co.uk>
7302
7303 * cppmain.c (struct printer): New member source.
7304 (scan_translation_unit): Fix spacing at start of lines.
7305 (cb_line_change): Update.
7306
7307 * gcc.dg/cpp/spacing2.c: New test.
7308
7309 2001-10-12 Hans-Peter Nilsson <hp@axis.com>
7310
7311 * config/cris/arit.c: Use __builtin_labs, not abs.
7312
7313 * config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
7314
7315 * config/cris/cris.c (cris_target_asm_function_epilogue): Move
7316 misplaced sprintf and fprintf argument.
7317
7318 2001-10-12 Zack Weinberg <zack@codesourcery.com>
7319
7320 * ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
7321 * configure.in, Makefile.in: Take out obsolete check-po logic.
7322 * configure, config.in: Regenerate.
7323
7324 2001-10-12 Ziemowit Laski <zlaski@apple.com>
7325
7326 * objc/objc-act.c (finish_objc): Correct precondition for emitting
7327 symtab declarations.
7328
7329 2001-10-12 Stan Shebs <shebs@apple.com>
7330
7331 * config/rs6000/rs6000.c: Remove uses of "register" specifier in
7332 declarations of arguments and local variables.
7333
7334 2001-10-12 Christopher Faylor <cgf@redhat.com>
7335
7336 * config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
7337 ENDFILE_SPEC definition.
7338
7339 2001-10-12 Kazu Hirata <kazu@hxi.com>
7340
7341 * gthr-dce.h: Fix comment formatting.
7342 * gthr-posix.h: Likewise.
7343 * gthr-single.h: Likewise.
7344 * gthr-solaris.h: Likewise.
7345 * gthr-vxworks.h: Likewise.
7346 * gthr-win32.h: Likewise.
7347
7348 2001-10-12 Jakub Jelinek <jakub@redhat.com>
7349
7350 * final.c (output_asm_insn): Make sure assembly dialects are
7351 terminated, not nested. Output `|' and `}' characters if they
7352 don't appear inside assembly dialect selection.
7353 * config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
7354 rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
7355 rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
7356 strsetsi_rex_1): Add {} braces.
7357
7358 2001-10-11 Zack Weinberg <zack@codesourcery.com>
7359
7360 * toplev.c (compile_file): Ignore return value from yyparse.
7361 Always pop any nested binding levels after yyparse returns.
7362
7363 2001-10-11 Richard Henderson <rth@redhat.com>
7364
7365 * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
7366
7367 2001-10-11 Richard Henderson <rth@redhat.com>
7368
7369 * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
7370 fall back to add_AT_long_long for large CONST_INT.
7371
7372 2001-10-11 Richard Henderson <rth@redhat.com>
7373
7374 * config/i386/i386.md (setcc splitters): Add four splitters to
7375 simplify compound compares that simplify_comparison can't handle.
7376
7377 2001-10-11 Zack Weinberg <zack@codesourcery.com>
7378
7379 * cpplex.c (digraph_spellings, token_spellings): Make static.
7380
7381 2001-10-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7382
7383 * unroll.c (loop_iterations): Fixup last patch.
7384
7385 2001-10-11 Richard Henderson <rth@redhat.com>
7386
7387 * rtl.h (REG_VTABLE_REF): New.
7388 * rtl.c (reg_note_name): Add it.
7389 * combine.c (distribute_notes): Handle it.
7390 * final.c (final_scan_insn): Handle it.
7391 * tree.def (VTABLE_REF): New.
7392 * expr.c (expand_expr): Handle it.
7393 * varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
7394 * output.h: Declare them.
7395
7396 2001-10-11 Richard Henderson <rth@redhat.com>
7397
7398 * dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
7399 for a DECL_INITIAL.
7400
7401 2001-10-11 David Edelsohn <edelsohn@gnu.org>
7402
7403 * config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
7404 available in 64-bit mode.
7405
7406 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
7407
7408 * config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
7409 cris-*-linux* cases.
7410 * config/cris/cris-protos.h: New file.
7411 * config/cris/cris.c: New file.
7412 * config/cris/cris.h: New file.
7413 * config/cris/cris.md: New file.
7414 * config/cris/linux.h: New file.
7415 * config/cris/aout.h: New file.
7416 * config/cris/arit.c: New file.
7417 * config/cris/cris_abi_symbol.c: New file.
7418 * config/cris/mulsi3.asm: New file.
7419 * config/cris/t-aout: New file.
7420 * config/cris/t-cris: New file.
7421 * config/cris/t-elfmulti: New file.
7422 * config/cris/t-linux: New file.
7423 * doc/invoke.texi: Add CRIS options.
7424 * doc/install.texi (Specific): Add blurb for CRIS.
7425
7426 2001-10-10 Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
7427
7428 * config/float-i128.h: Make sure __STDC__VERSION__ is defined
7429 before using it.
7430 * config/float/i32.h: Likewise.
7431 * config/float-i386.h: Likewise.
7432 * config/float-i64.h: Likewise.
7433 * config/float-m68k.h: Likewise.
7434 * config/float-sh.h: Likewise.
7435 * config/float-sparc.h: Likewise.
7436
7437 2001-10-11 Hans-Peter Nilsson <hp@axis.com>
7438
7439 * doc/contrib.texi: Add note about CRIS port to my entry.
7440
7441 2001-10-11 Kazu Hirata <kazu@hxi.com>
7442
7443 * basic-block.h: Fix formatting.
7444 * bitmap.h: Likewise.
7445 * cpplib.h: Likewise.
7446 * c-tree.h: Likewise.
7447 * diagnostic.h: Likewise.
7448 * flags.h: Likewise.
7449 * ggc.h: Likewise.
7450 * longlong.h: Likewise.
7451 * real.h: Likewise.
7452 * reload.h: Likewise.
7453 * rtl.h: Likewise.
7454 * tree.h: Likewise.
7455
7456 2001-10-10 Richard Henderson <rth@redhat.com>
7457
7458 * c-parse.in (asm_operand): Allow named operands.
7459 * genconfig.c (max_recog_operands): Set to 29.
7460 * local-alloc.c (requires_inout): Skip multiple digits.
7461 * recog.c (asm_operand_ok): Likewise.
7462 (preprocess_constraints): Use strtoul for matching constraints.
7463 (constrain_operands): Likewise.
7464 * regmove.c (find_matches): Likewise.
7465 * reload.c (find_reloads): Likewise.
7466 * stmt.c (parse_output_constraint): Don't reject in-out
7467 constraint on operands > 9. Reject '[' in constraint.
7468 (expand_asm_operands): Handle named operands. Use strtoul
7469 for matching constraints.
7470 (check_operand_nalternatives): Split out from expand_asm_operands.
7471 (check_unique_operand_names): New.
7472 (resolve_operand_names, resolve_operand_name_1): New.
7473
7474 * doc/extend.texi (Extended Asm): Document named operands.
7475 * doc/md.texi (Simple Constraints): Document matching constraints
7476 on operands > 9.
7477
7478 2001-10-10 Richard Henderson <rth@redhat.com>
7479
7480 * combine.c (try_combine): Handle a SEQUENCE of one insn.
7481
7482 * i386.c (test splitter): Narrow tests vs paradoxical subregs.
7483 (jcc splitters): Add two splitters to simplify compound compares
7484 that simplify_comparison can't handle.
7485
7486 2001-10-10 Richard Henderson <rth@redhat.com>
7487
7488 * langhooks.c: Include langhooks.h.
7489 * Makefile.in (langhooks.o): Depend on it.
7490
7491 Wed Oct 10 23:49:06 EDT 2001 John Wehle (john@feith.com)
7492
7493 * rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
7494 should not be considered as a no-op.
7495 * flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
7496
7497 2001-10-10 Stan Shebs <shebs@apple.com>
7498
7499 * alias.c: Remove uses of "register" specifier in declarations
7500 of arguments and local variables.
7501 * c-common.c: Ditto.
7502 * c-convert.c: Ditto.
7503 * c-decl.c: Ditto.
7504 * c-format.c: Ditto.
7505 * c-semantics.c: Ditto.
7506 * c-typeck.c: Ditto.
7507 * caller-save.c: Ditto.
7508 * calls.c: Ditto.
7509 * cfg.c: Ditto.
7510 * cfgbuild.c: Ditto.
7511 * cfgrtl.c: Ditto.
7512 * collect2.c: Ditto.
7513 * combine.c: Ditto.
7514 * convert.c: Ditto.
7515 * cppexp.c: Ditto.
7516 * cppfiles.c: Ditto.
7517 * cse.c: Ditto.
7518 * dbxout.c: Ditto.
7519 * defaults.h: Ditto.
7520 * df.c: Ditto.
7521 * dwarf2out.c: Ditto.
7522 * dwarfout.c: Ditto.
7523 * emit-rtl.c: Ditto.
7524 * explow.c: Ditto.
7525 * expmed.c: Ditto.
7526 * expr.c: Ditto.
7527 * final.c: Ditto.
7528 * fix-header.c: Ditto.
7529 * floatlib.c: Ditto.
7530 * flow.c: Ditto.
7531 * fold-const.c: Ditto.
7532 * function.c: Ditto.
7533 * gcc.c: Ditto.
7534 * gcse.c: Ditto.
7535 * gen-protos.c: Ditto.
7536 * genattrtab.c: Ditto.
7537 * gencheck.c: Ditto.
7538 * genconfig.c: Ditto.
7539 * genemit.c: Ditto.
7540 * genextract.c: Ditto.
7541 * genflags.c: Ditto.
7542 * gengenrtl.c: Ditto.
7543 * genoutput.c: Ditto.
7544 * genpeep.c: Ditto.
7545 * genrecog.c: Ditto.
7546 * gensupport.c: Ditto.
7547 * global.c: Ditto.
7548 * gmon.c: Ditto.
7549 * graph.c: Ditto.
7550 * haifa-sched.c: Ditto.
7551 * hard-reg-set.h: Ditto.
7552 * hash.c: Ditto.
7553 * integrate.c: Ditto.
7554 * jump.c: Ditto.
7555 * lists.c: Ditto.
7556 * local-alloc.c: Ditto.
7557 * loop.c: Ditto.
7558 * mips-tdump.c: Ditto.
7559 * mips-tfile.c: Ditto.
7560 * optabs.c: Ditto.
7561 * prefix.c: Ditto.
7562 * print-rtl.c: Ditto.
7563 * read-rtl.c: Ditto.
7564 * real.c: Ditto.
7565 * recog.c: Ditto.
7566 * reg-stack.c: Ditto.
7567 * regclass.c: Ditto.
7568 * regmove.c: Ditto.
7569 * reload.c: Ditto.
7570 * reload1.c: Ditto.
7571 * reorg.c: Ditto.
7572 * resource.c: Ditto.
7573 * rtl.c: Ditto.
7574 * rtlanal.c: Ditto.
7575 * scan.c: Ditto.
7576 * sched-deps.c: Ditto.
7577 * sched-rgn.c: Ditto.
7578 * sdbout.c: Ditto.
7579 * simplify-rtx.c: Ditto.
7580 * stmt.c: Ditto.
7581 * stor-layout.c: Ditto.
7582 * toplev.c: Ditto.
7583 * tradcif.y: Ditto.
7584 * tradcpp.c: Ditto.
7585 * tree.c: Ditto.
7586 * unroll.c: Ditto.
7587 * varasm.c: Ditto.
7588 * xcoffout.c: Ditto.
7589
7590 2001-10-10 Richard Henderson <rth@redhat.com>
7591
7592 * rtl.h (can_reverse_comparison_p): Remove.
7593
7594 2001-10-10 Christopher Faylor <cgf@redhat.com>
7595
7596 * config/i386/cygwin.h: Avoid adding include files if -nostdinc is
7597 used.
7598
7599 2001-10-10 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7600
7601 * config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
7602 (Thanks to Chris Faylor for suggesting macro name).
7603 (CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
7604 WIN32 defines.
7605 (STANDARD_INCLUDE_DIR): Remove i386- from directory name.
7606 (STANDARD_INCLUDE_COMPONENT): Change to MINGW.
7607 (MATH_LIBRARY): Undef before definition.
7608 (OUTPUT_QUOTED_STRING): Likewise.
7609 * config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
7610
7611 2001-10-10 Richard Henderson <rth@redhat.com>
7612
7613 * unwind-dw2-fde.c (fde_compare_t): Change return type to int.
7614 (fde_unencoded_compare): Likewise. Don't use subtraction to get
7615 a tristate comparison value.
7616 (fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
7617
7618 2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7619
7620 PR c++/4512
7621 * unroll.c (loop_iterations): Ignore insns generated by loop
7622 unrolling.
7623
7624 * config.gcc (mips*-*-gnu*): Delete support.
7625 * config/mips/gnu.h: Remove.
7626
7627 2001-10-10 Kazu Hirata <kazu@hxi.com>
7628
7629 * calls.c: Fix formatting.
7630 * c-decl.c: Likewise.
7631 * cfgcleanup.c: Likewise.
7632 * combine.c: Likewise.
7633 * cppfiles.c: Likewise.
7634 * cpplib.c: Likewise.
7635 * cppmacro.c: Likewise.
7636 * crtstuff.c: Likewise.
7637 * cse.c: Likewise.
7638 * dwarf2out.c: Likewise.
7639 * expmed.c: Likewise.
7640 * expr.c: Likewise.
7641 * fold-const.c: Likewise.
7642 * function.c: Likewise.
7643 * gcse.c: Likewise.
7644 * genattrtab.c: Likewise.
7645 * ggc-page.c: Likewise.
7646 * integrate.c: Likewise.
7647 * libgcc2.c: Likewise.
7648 * loop.c: Likewise.
7649 * optabs.c: Likewise.
7650 * profile.c: Likewise.
7651 * protoize.c: Likewise.
7652 * real.c: Likewise.
7653 * recog.c: Likewise.
7654 * reload1.c: Likewise.
7655 * reload.c: Likewise.
7656 * reorg.c: Likewise.
7657 * resource.c: Likewise.
7658 * sched-rgn.c: Likewise.
7659 * sdbout.c: Likewise.
7660 * stmt.c: Likewise.
7661 * toplev.c: Likewise.
7662 * varasm.c: Likewise.
7663
7664 2001-10-10 Janis Johnson <janis187@us.ibm.com>, Alexandre Oliva <aoliva@redhat.com>
7665
7666 * langhooks.c: Include rtl.h, insn-config.h and integrate.h.
7667 * Makefile.in (langhooks.o): Add dependencies.
7668
7669 Wed Oct 10 00:41:29 EDT 2001 John Wehle (john@feith.com)
7670
7671 * rs6000.c (rs6000_emit_load_toc_table): Don't
7672 strdup the toc label.
7673 (create_TOC_reference): Likewise.
7674
7675 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7676
7677 * config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
7678 version default.
7679
7680 2001-10-09 Danny Smith <danny_r_smith_2001@yahoo.co.nz>
7681
7682 * config/i386/i386.c (ix86_attribute_table): Correct
7683 min_len, max_len fields for dllimport, dllexport and shared.
7684
7685 2001-10-10 Joseph S. Myers <jsm28@cam.ac.uk>
7686
7687 * doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
7688 doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
7689 Consistently use "nonzero" instead of "non-zero".
7690
7691 2001-10-09 Kazu Hirata <kazu@hxi.com>
7692
7693 * acconfig.h: Fix comment formatting.
7694 * c-dump.h: Likewise.
7695 * c-tree.h: Likewise.
7696 * conditions.h: Likewise.
7697 * expr.h: Likewise.
7698 * function.h: Likewise.
7699 * gthr.h: Likewise.
7700 * hwint.h: Likewise.
7701 * integrate.h: Likewise.
7702 * intl.h: Likewise.
7703 * loop.h: Likewise.
7704 * optabs.h: Likewise.
7705
7706 2001-10-09 Kazu Hirata <kazu@hxi.com>
7707
7708 * c-common.h: Fix comment formatting.
7709 * c-dump.c: Likewise.
7710 * cfg.c: Likewise.
7711 * diagnostic.h: Likewise.
7712 * except.c: Likewise.
7713 * gcc.h: Likewise.
7714 * gcov-io.h: Likewise.
7715 * genattrtab.c: Likewise.
7716 * output.h: Likewise.
7717 * predict.h: Likewise.
7718 * reload1.c: Likewise.
7719 * reload.h: Likewise.
7720 * resource.h: Likewise.
7721 * scan.h: Likewise.
7722 * system.h: Likewise.
7723 * tree.h: Likewise.
7724 * tree-inline.c: Likewise.
7725 * tsystem.h: Likewise.
7726 * varasm.c: Likewise.
7727 * xcoffout.h: Likewise.
7728
7729 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
7730
7731 * doc/gcc.texi: Document preference for "nonzero" over "non-zero".
7732
7733 2001-10-09 Joseph S. Myers <jsm28@cam.ac.uk>
7734
7735 * config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
7736 config/i386/i386elf.h, config/i386/netbsd-elf.h,
7737 config/i386/netware.h, config/mcore/gfloat.h,
7738 config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
7739 config/netware.h, gccbug.in: Update FSF address.
7740
7741 2001-10-09 Kazu Hirata <kazu@hxi.com>
7742
7743 * c-common.c: Fix comment typos.
7744 * cfgrtl.c: Likewise.
7745 * collect2.c: Likewise.
7746 * cpplex.c: Likewise.
7747 * doloop.c: Likewise.
7748 * dwarf2out.c: Likewise.
7749 * dwarfout.c: Likewise.
7750 * expr.c: Likewise.
7751 * fold-const.c: Likewise.
7752 * gcc.c: Likewise.
7753 * gcov.c: Likewise.
7754 * gcse.c: Likewise.
7755 * global.c: Likewise.
7756 * ifcvt.c: Likewise.
7757 * loop.c: Likewise.
7758 * optabs.c: Likewise.
7759 * protoize.c: Likewise.
7760 * regclass.c: Likewise.
7761 * reorg.c: Likewise.
7762 * rtl.h: Likewise.
7763 * stmt.c: Likewise.
7764 * tree.h: Likewise.
7765 * doc/cpp.texi: Likewise.
7766 * doc/c-tree.texi: Likewise.
7767 * doc/extend.texi: Likewise.
7768 * doc/invoke.texi: Likewise.
7769 * doc/objc.texi: Likewise.
7770 * doc/tm.texi: Likewise.
7771
7772 2001-10-08 Richard Henderson <rth@redhat.com>
7773
7774 * varasm.c (set_named_section_flags): Initialize "declared".
7775
7776 2001-10-08 Robert Lipe <robertlipe@usa.net>
7777
7778 * varasm.c (struct in_named_entry): Add declared.
7779 (named_section_first_declaration): New function.
7780 (default_elf_asm_named_section): Use it.
7781 * output.h (named_section_first_declaration): New.
7782
7783 2001-10-08 Richard Henderson <rth@redhat.com>
7784
7785 * i386.md (movsi_xor): Export.
7786 (setcc peep2): Use it when available; add an alternative to
7787 match zero_extendhisi2_and.
7788
7789 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7790
7791 * romp-protos.h (romp_initialize_trampoline): New function.
7792 * romp.c (romp_initialize_trampoline): Likewise.
7793 * romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
7794 romp_initialize_trampoline.
7795
7796 2001-10-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7797
7798 * m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
7799 * m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7800 * m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7801 * m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
7802
7803 2001-10-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
7804
7805 * unroll.c (loop_iterations): Extend check for multiple back edges.
7806
7807 2001-10-08 Alexandre Oliva <aoliva@redhat.com>
7808
7809 * langhooks.h: New file.
7810 * Makefile.in (OBJS): Added langhooks.o.
7811 (c-lang.o): Depend on langhooks.h.
7812 (c-common.o): Don't depend on tree-inline.h.
7813 (tree-inline.o): Depend on toplev.h.
7814 (langhooks.o): New rule.
7815 * c-common.c: Don't include tree-inline.h.
7816 (c_mark_lang_decl): Mark argument c as unused.
7817 (c_common_lang_init): Don't initialize hooks here.
7818 * c-lang.c: Include langhooks.h, then override some macros.
7819 (lang_hooks): Initialize with macros in langhooks.h.
7820 (c_init): Don't initialize hooks here.
7821 * toplev.c (struct lang_hooks_for_tree_inlining): New struct.
7822 (struct lang_hooks): Add tree_inlining. Refer to langhooks.h.
7823 * tree-inline.c: Include toplev.h. Don't define hook variables.
7824 * tree-inline.h: Don't define hook types nor declare hook
7825 variables. Move macros to...
7826 * langhooks.c: ... new file, as functions. Adjust all callers.
7827
7828 2001-10-08 Jeffrey A Law <law@cygnus.com>
7829
7830 * sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
7831 purge_mem_unchanging_flag on all instructions, not just on those
7832 before NOTE_INSN_FUNCTION_BEG.
7833
7834 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7835
7836 * cppmacro.c (_cpp_create_definition): Leave comments off.
7837
7838 * doc/cpp.texi: Update.
7839
7840 2001-10-08 DJ Delorie <dj@redhat.com>
7841
7842 * c-decl.c (grokfield): Make sure the only unnamed fields
7843 we're allowing are either structs or unions.
7844 * doc/extend.texi: Add documentation for the unnamed field
7845 extension.
7846
7847 2001-10-08 Zack Weinberg <zack@codesourcery.com>
7848
7849 * aclocal.m4 (gcc_AC_PROG_GNAT): New.
7850 * configure.in: Use it.
7851 * configure: Regenerated.
7852 * config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
7853 config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
7854
7855 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7856
7857 * cppfiles.c (open_file): Don't mark zero-length files
7858 never-reread here. Don't output diagnostics here either.
7859 (stack_include_file): Mark them never-reread here.
7860 (_cpp_read_file): Update.
7861
7862 2001-10-08 Richard Henderson <rth@redhat.com>
7863
7864 * config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
7865
7866 2001-10-08 Richard Henderson <rth@redhat.com>
7867
7868 * expr.c (store_expr): When converting a CONST_INT for storage
7869 in a SUBREG, convert it to both SUBREG modes before stripping
7870 the SUBREG.
7871
7872 2001-10-08 Richard Henderson <rth@redhat.com>
7873
7874 * varasm.c (restore_varasm_status): New.
7875 * function.h: Declare it.
7876 * function.c (pop_function_context_from): Call it.
7877
7878 2001-10-08 Richard Henderson <rth@redhat.com>
7879
7880 * c-common.h (struct c_lang_decl): Add declared_inline.
7881 * c-tree.h (DECL_DECLARED_INLINE_P): New.
7882 * c-lang.c (c_disregard_inline_limits): Use it.
7883 * c-decl.c (duplicate_decls): Likewise.
7884 (pushdecl, redeclaration_error_message): Likewise.
7885 (pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
7886 (grokdeclarator): Likewise. Set DECL_DECLARED_INLINE_P.
7887 Set DECL_INLINE if -finline-functions.
7888 (store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
7889
7890 2001-10-08 Neil Booth <neil@daikokuya.demon.co.uk>
7891
7892 * cppmacro.c (funlike_invocation_p): Move some logic to caller
7893 in enter_macro_context. Create a padding token in its own context
7894 if necessary when the search for '(' fails.
7895 (enter_macro_context): Update.
7896
7897 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7898
7899 * ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
7900 genmultilib, toplev.c: Fix spelling errors of "separate" as
7901 "seperate", and corresponding spelling errors of related words.
7902
7903 2001-10-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7904
7905 * builtins.c (expand_builtin_setjmp_receiver): Const-ify.
7906 * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
7907 Likewise.
7908 * c-dump.c (dump_option_value_info): Likewise.
7909 * c-format.c (format_length_info, format_char_info,
7910 format_flag_spec, format_flag_pair, format_kind_info): Likewise.
7911 * collect2.c (names): Likewise.
7912 * cppdefault.h (default_include): Likewise.
7913 * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
7914 * flow.c (life_analysis): Likewise.
7915 * gcc.c (dir_separator_str, modify_target, option_map,
7916 target_option_translations, spec_list_1, extra_specs_1,
7917 init_spec): Likewise.
7918 * gcov.c (gcov_version_string): Likewise.
7919 * genattr.c (write_units): Likewise.
7920 * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
7921 * gengenrtl.c (rtx_definition, defs): Likewise.
7922 * genrecog.c (pred_table): Likewise.
7923 * global.c (global_alloc): Likewise.
7924 * lcm.c (optimize_mode_switching): Likewise.
7925 * local-alloc.c (find_free_reg): Likewise.
7926 * params.h (param_info): Likewise.
7927 * predict.c (predictor_info): Likewise.
7928 * protoize.c (unexpansion_struct): Likewise.
7929 * real.c (bmask): Likewise.
7930 * recog.h (insn_operand_data, insn_data): Likewise.
7931 * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
7932 * stmt.c (expand_nl_goto_receiver): Likewise.
7933 * toplev.c (da, debug_args, lang_opt, documented_lang_options,
7934 target_switches, target_options): Likewise.
7935 * tradcif.y (token, tokentab2, yylex): Likewise.
7936 * tree.h (attribute_spec): Likewise.
7937
7938 * alpha.c (override_options, alpha_lookup_xfloating_lib_func):
7939 Likewise.
7940 * arc.c (arc_output_function_epilogue): Likewise.
7941 * arm.c (processors, all_cores, all_architectures,
7942 arm_override_options, isr_attribute_arg, isr_attribute_args,
7943 arm_isr_value): Likewise.
7944 * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
7945 Likewise.
7946 * c4x.c (c4x_int_reglist): Likewise.
7947 * d30v.c (override_options): Likewise.
7948 * h8300.c (shift_insn): Likewise.
7949 * i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
7950 pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
7951 ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
7952 builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
7953 ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
7954 * i386.h (processor_costs, ix86_cost): Likewise.
7955 * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
7956 * m68hc11.h (processor_costs, m68hc11_cost): Likewise.
7957 * m68k.c (codes_68881, codes_FPA): Likewise.
7958 * m88k.c (mode_from_align, max_from_align, all_from_align,
7959 best_from_align, m_options): Likewise.
7960 * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
7961 * mcore.c (mode_from_align): Likewise.
7962 * mips/elf64.h (UNIQUE_SECTION): Likewise.
7963 * mips/iris6gld.h (UNIQUE_SECTION): Likewise.
7964 * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
7965 * mips.h (mips_regno_to_class): Likewise.
7966 * ns32k.c (scales): Likewise.
7967 * pa.c (import_string, magic_milli): Likewise.
7968 * rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
7969 * sparc.c (leaf_reg_remap, sparc_override_options,
7970 reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
7971 Likewise.
7972 * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
7973
7974 2001-10-07 Dale Johannesen <dalej@apple.com>
7975
7976 * reload1.c (reload_reg_free_p): Teach register interference
7977 checking that multiple output reloads are emitted in
7978 reverse order.
7979 reload1.c (reload_reg_reaches_end_p): Ditto.
7980 reload1.c (reloads_conflict): Ditto.
7981
7982 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7983
7984 * doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
7985 NULL_TREE inside @code.
7986
7987 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
7988
7989 * doc/gcc.texi: Document consistent style of "32-bit",
7990 "Objective-C", and "@code{NULL}".
7991
7992 2001-10-06 Zack Weinberg <zack@codesourcery.com>
7993
7994 * cpplex.c (enum spell_type): Add SPELL_NUMBER.
7995 (cpp_token_len, cpp_spell_token, cpp_output_token,
7996 _cpp_equiv_tokens): Handle it.
7997 * cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
7998 CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
7999 * cppexp.c (_cpp_parse_expr): Use the correct operator code in
8000 error messages.
8001
8002 Sat Oct 6 07:42:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8003
8004 * gcc.c (default_compilers): Remove .ada.
8005
8006 2001-10-06 Neil Booth <neil@daikokuya.demon.co.uk>
8007
8008 * doc/cppinternals.texi: Update.
8009
8010 2001-10-06 Zack Weinberg <zack@codesourcery.com>
8011
8012 * gcc.c (main): Set this_file_error if the appropriate
8013 compiler for a language has not been installed.
8014
8015 2001-10-06 Ulrich Weigand <uweigand@de.ibm.com>
8016
8017 * config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
8018
8019 2001-10-05 Joseph S. Myers <jsm28@cam.ac.uk>
8020
8021 * gccbug.in (CATEGORIES): Add ada.
8022
8023 2001-10-05 Catherine Moore <clm@redhat.com>
8024
8025 * config/stormy16/stormy-abi: Document abi changes.
8026 * config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
8027 (ICALL_REGS): New register class.
8028 (NUM_ARGUMENT_REGISTERS): Now 6.
8029 (DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
8030 in registers.
8031 (REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
8032 * config/stormy16.md (call_internal, call_value_internal,
8033 indirect_jump): Use new 'z' constraint.
8034
8035 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
8036
8037 * doc/cppinternals.texi: Update.
8038
8039 2001-10-05 Richard Henderson <rth@redhat.com>
8040
8041 * dwarf2out.c (FRAME_BEGIN_LABEL): New.
8042 (output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
8043 the gas section-name-as-label feature.
8044
8045 2001-10-05 Neil Booth <neil@daikokuya.demon.co.uk>
8046
8047 * doc/cppinternals.texi: Update.
8048
8049 Fri Oct 5 08:17:46 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8050
8051 * config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
8052 to ensure valid SImode constants.
8053
8054 2001-10-05 Alexandre Oliva <aoliva@redhat.com>
8055
8056 * Makefile.in (c-decl.o): Depend on tree-inline.h.
8057 (c-lang.o): Likewise, as well as insn-config.h and integrate.h.
8058 * c-decl.c: Include tree-inline.h.
8059 (c_expand_body): Call optimize_inline_calls. Determine whether
8060 a function is inlinable upfront, and only clear
8061 DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
8062 * c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
8063 (c_disregard_inline_limits): New function.
8064 (inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
8065 (c_post_options): Enable tree inlining if inlining is enabled.
8066 Don't inline trees when instrumenting functions.
8067 (c_init): Initialize lang_disregard_inline_limits and
8068 lang_cannot_inline_tree_fn.
8069 * tree-inline.c (initialize_inlined_parameters): Handle calls
8070 with fewer arguments than declared parameters, and fewer
8071 parameters than passed arguments. Don't assume value is a
8072 DECL.
8073 (declare_return_variable): Convert return value back to the
8074 original type, if it was promoted.
8075 (tree_inlinable_function_p): New function.
8076 (inlinable_function_p): Don't look at DECL_INLINE if we're
8077 inlining all functions. Make it work with a NULL id.
8078 Re-check DECL_UNINLINABLE after language-specific checks.
8079 * tree-inline.h (tree_inlinable_function_p): Declare it.
8080 * integrate.c (save_for_inline): Don't bother to prepare argvec
8081 when not inlining.
8082 * cse.c (check_for_label_ref): Don't check deleted labels.
8083
8084 * Makefile.in (tree-inline.o): Depend on newly-included headers.
8085 * tree-inline.c: Include headers needed for the functions moved in.
8086 (struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
8087 (remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
8088 (copy_body, initialize_inlined_parameters): Likewise.
8089 (declare_return_variable, inlinable_function_p): Likewise.
8090 (expand_call_inline, expand_calls_inline): Likewise.
8091 (optimize_inline_calls, clone_body): Likewise.
8092 (walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
8093 (copy_tree_r, remap_save_expr): Likewise.
8094
8095 2001-10-04 Alexandre Oliva <aoliva@redhat.com>
8096
8097 * Makefile.in (OBJS): Added tree-inline.o.
8098 (c-common.o): Depend on tree-inline.h.
8099 (tree-inline.o): New target.
8100 * c-common.c: Include tree-inline.h.
8101 (c_mark_lang_decl): Don't mark saved_tree.
8102 (c_common_lang_init): Set lang_anon_aggr_type_p.
8103 * c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
8104 (struct c_lang_decl): Moved saved_tree to tree_decl.
8105 * ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
8106 * integrate.h (function_attribute_inlinable_p): Declare it.
8107 * integrate.c (function_attribute_inlinable_p): Export it.
8108 * tree-inline.c: New file. Define variables declared in...
8109 * tree-inline.h: New file. Declare functions to be moved to
8110 tree-inline.c. Define macros and declare types and hooks for
8111 language-specific tree inlining.
8112 (flag_inline_trees): Moved definition from cp/decl2.c.
8113 * tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
8114 (TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
8115 (struct tree_decl): Moved saved_tree from c_lang_decl and
8116 inlined_fns from C++'s lang_decl.
8117
8118 2001-10-04 Loren J. Rittle <ljrittle@acm.org>
8119
8120 * Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
8121 propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
8122
8123 2001-10-04 Neil Booth <neil@daikokuya.demon.co.uk>
8124
8125 * doc/cppinternals.texi: Update.
8126
8127 2001-10-04 Eric Christopher <echristo@redhat.com>
8128
8129 * config/mips/mips.c (init_cumulative_args): Remember to set
8130 cum->prototype.
8131 * config.gcc: Redo linux configuration. Add target_cpu_default
8132 of soft-float to all mipsisa32 combinations and tx39.
8133 * config/mips/linux.h: Remove include of mips.h.
8134
8135 2001-10-03 Loren J. Rittle <ljrittle@acm.org>
8136
8137 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
8138 HOST_LDFLAGS and HOST_CPPFLAGS.
8139
8140 2001-10-03 Ziemowit Laski <zlaski@apple.com>
8141
8142 * c-parse.in (objc_inherit_code, objc_pq_context,
8143 objc_public_flag): Make static.
8144 (objc_interface_context, objc_implementation_context,
8145 objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
8146 global tree array in objc/objc-act.[ch].
8147 (methoddef): Remove unnecessary code.
8148
8149 * objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
8150 Hoist struct definitions to objc-act.h.
8151 (nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
8152 cat_count): Place declaration in objc-act.h.
8153 (objc_tree_index): Move enumeration to objc-act.h.
8154 (objc_global_trees): Place declaration and macro accessors in
8155 objc-act.h.
8156 (implementation_context): Remove duplicate; use
8157 objc_implementation_context instead:
8158 (method_context): Remove duplicate; use objc_method_context
8159 instead.
8160 (objc_ellipsis_node, objc_method_prototype_template,
8161 implemented_classes, function_type): Move global vars to
8162 objc_global_trees.
8163 (init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
8164 (build_message_expr): Move actual construction of ObjC message
8165 send nodes to finish_message_expr.
8166 (finish_message_expr): New routine, contains code formerly in
8167 build_message_expr.
8168 * objc/objc-act.h (finish_message_expr): New prototype.
8169 (objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
8170 declarations; these vars are now part of objc_global_trees.
8171 (objc_tree_index, objc_global_trees): Move definitions from
8172 objc-act.c.
8173 * objc/objc-tree.def: Update copyright info.
8174
8175 Wed Oct 3 12:22:11 EDT 2001 John Wehle (john@feith.com)
8176
8177 * dwarf2asm.c (unaligned_integer_asm_op): Abort if
8178 op is NULL.
8179 * sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
8180 only if TARGET_ARCH64.
8181
8182 2001-10-02 Bernd Schmidt <bernds@redhat.com>
8183
8184 * doc/extend.texi: Fix some problems with previous checkin.
8185 * doc/invoke.texi: Likewise.
8186
8187 2001-10-02 Neil Booth <neil@daikokuya.demon.co.uk>
8188
8189 * cpphash.h: Update comments.
8190 (cpp_context): Update.
8191 (spec_nodes): Remove n__Pragma.
8192 * cppinit.c (cpp_create_reader): Update.
8193 (builtin_array): Add _Pragma.
8194 * cpplib.h: Update comments.
8195 (NODE_DISABLED, BT_PRAGMA): New.
8196 (cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
8197 * cppmacro.c (struct cpp_macro): Remove disabled.
8198 (builtin_macro): Return int, handle _Pragma, push the new token
8199 on the context stack.
8200 (funlike_invocation_p): Unconstify, update.
8201 (enter_macro_context): Handle builtins here.
8202 (replace_args, push_token_context, push_ptoken_context):
8203 Update for prototype changes.
8204 (_cpp_pop_context): Update.
8205 (cpp_get_token): Don't handle buitins, nor _Pragma here.
8206 (cpp_sys_macro_p): Update.
8207 (_cpp_free_definition): Clear disabled flag.
8208 (_cpp_create_definition): Upate.
8209 * cppmain.c: Update comments.
8210
8211 Tue Oct 2 12:46:01 CEST 2001 Bo Thorsen <bo@suse.co.uk>,
8212 Andreas Jaeger <aj@suse.de>,
8213 Jan Hubicka <jh@suse.cz>
8214
8215 * doc/invoke.texi (i386 Options): Document x86-64 options.
8216 (i386 and x86-64 Options): Rename i386 options section.
8217
8218 * config/i386/i386.h (TARGET_UNWIND_INFO): New.
8219 (TARGET_SWITCHES): Add -munwind-info.
8220 (MASK_NO_UNWIND_INFO): New.
8221 (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
8222 biarch compilation.
8223 (ASM_OUTPUT_DOUBLE_INT): New.
8224
8225 * config/i386/linux64.h: New spec file for Linux x86-64 support.
8226 * config.gcc: Fix tm_file settings for x86-64.
8227 * config/i386/x86-64.h: New file with OS independent x86-64
8228 definitions.
8229 * config/i386/biarch64.h: New file used to configure compiler
8230 to biarch/64bit compilation.
8231
8232 * config/i386/i386.c: (override_options): Set flags default
8233 for 64bit compilation.
8234
8235 Tue Oct 2 12:46:01 CEST 2001 Jan Hubicka <jh@suse.cz>
8236
8237 * i386.c (legitimize_pic_address): Add missing bits of 64bit support.
8238 (ix86_expand_int_movcc): Optimize DImode conditional moves with
8239 constants on x86_64.
8240 (ix86_attr_length_immediate_default): Support MODE_DI.
8241 * i386.md (fixdi splitter): Add missing "&& 1" in splitter
8242 condition.
8243 (indirect_jump, tablejump): Turn into expander.
8244
8245 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
8246
8247 * c-common.c (c_format_attribute_table): Make format and
8248 format_arg attributes apply to function types rather than to
8249 decls.
8250 (is_valid_printf_arglist): Construct an attribute list and pass
8251 that to check_function_format rather than a name.
8252 * c-common.h (check_function_format): Adjust prototype.
8253 * c-decl.c (duplicate_decls): Preserve attributes from type of
8254 built-in decl when allowing for harmless conflict in types.
8255 * c-format.c (record_function_format,
8256 record_international_format, function_format_list,
8257 international_format_info, international_format_list): Remove.
8258 (function_format_info): Remove next, name and assembler_name.
8259 Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
8260 (decode_format_attr): New.
8261 (handle_format_attribute): Handle receiving a type rather than a
8262 decl. Call decode_format_attr. Store format information in a
8263 function_format_info.
8264 (handle_format_arg_attribute): Correct comment. Handle receiving
8265 a type rather than a decl. Use unsigned HOST_WIDE_INT for
8266 arg_num.
8267 (check_format_info_recurse, check_format_info_main): Take argument
8268 numbers as unsigned HOST_WIDE_INT.
8269 (check_function_format): Take a list of attributes from the
8270 function type rather than a name or assembler name. Check for
8271 format attributes in that list and the attributes on the type of
8272 the current function rather than looking through
8273 function_format_list.
8274 (check_format_info): Use unsigned HOST_WIDE_INT for argument
8275 numbers.
8276 (check_format_info_recurse): Take format_arg attributes from the
8277 type of the function calls rather than using
8278 international_format_list. Allow for multiple format_arg
8279 attributes.
8280 * c-typeck.c (build_function_call): Pass type attributes to
8281 check_function_format rather than name or assembler name. Don't
8282 require there to be a name or assembler name to check formats.
8283
8284 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
8285
8286 * attribs.c (decl_attributes): Possibly call
8287 insert_default_attributes to insert default attributes on
8288 functions in a lazy manner.
8289 * builtin-attrs.def: New file; define the default format and
8290 format_arg attributes.
8291 * c-common.c (c_format_attribute_table): Move to earlier in the
8292 file.
8293 (c_common_nodes_and_builtins): Initialize format_attribute_table.
8294 (enum built_in_attribute, built_in_attributes,
8295 c_attrs_initialized, c_init_attributes,
8296 c_common_insert_default_attributes): New.
8297 (c_common_lang_init): Don't initialize format_attribute_table. Do
8298 call c_init_attributes.
8299 * Makefile.in (c-common.o): Depend on builtin-attrs.def.
8300 * c-common.h (init_function_format_info): Don't declare.
8301 (c_common_insert_default_attributes): Declare.
8302 * c-decl.c (implicitly_declare, builtin_function): Call
8303 decl_attributes.
8304 (init_decl_processing): Don't call init_function_format_info.
8305 (insert_default_attributes): New.
8306 * c-format.c (handle_format_attribute,
8307 handle_format_arg_attribute): Be quiet about inappropriate
8308 declaration when applying default attributes.
8309 (init_function_format_info): Remove.
8310 * tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
8311 (insert_default_attributes): Declare.
8312
8313 2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
8314
8315 * c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
8316
8317 2001-10-01 Jim Wilson <wilson@redhat.com>
8318
8319 * sched-deps.c (add_dependence): When elide conditional dependence,
8320 check that insn doesn't modify cond2.
8321
8322 2001-10-01 Dale Johannesen <dalej@apple.com>
8323
8324 * config/rs6000/rs6000.h (enum processor_type): Add support
8325 for 7400 (G4) and 7450.
8326 (RTX_COSTS): Ditto.
8327 * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
8328 (rs6000_issue_rate): Ditto.
8329 (rs6000_adjust_cost): Fix cycle counts for compares.
8330 (debug_stack_info): Fix an obvious typo.
8331 * config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
8332 * doc/invoke.texi: Document.
8333 * config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
8334 for Darwin.
8335 (PROCESSOR_DEFAULT): Ditto.
8336
8337 2001-10-01 Loren J. Rittle <ljrittle@acm.org>
8338
8339 * Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
8340 (fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
8341 later recursive make invocation.
8342
8343 2001-10-01 Hans Boehm <boehm@acm.org>
8344
8345 * optabs.c (emit_libcall_block): When using non-call exceptions,
8346 don't add REG_LIBCALL reg notes to trapping calls.
8347
8348 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
8349
8350 * flow.c (propagate_block_delete_libcall): Remove unused first arg
8351 (propagate_one_insn): Update for above change
8352
8353 2001-10-01 David Billinghurst <David.Billinghurst@riotinto.com>
8354
8355 * unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
8356 _Unwind_GetTextRelBase): Argument is unused.
8357
8358 Mon Oct 1 19:20:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8359
8360 * alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
8361 Loop through NOPs, placeholders, and components.
8362 Don't go through NOPs if change mode.
8363 (record_alias_subset): Do nothing if SUBSET and SET are the same.
8364 * emit-rtl.c (set_mem_alias_set): Enable check.
8365 * expr.c (find_placeholder): New function.
8366 (expand_expr, case PLACEHOLDER_EXPR): Use it.
8367 (expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
8368 to modify it and avoid unneeded copies.
8369 * expr.h (expand_expr): Always define.
8370 (find_placeholder): New declaration.
8371
8372 2001-10-01 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8373
8374 * config/m68hc11/m68hc11.md ("add-split"): Fix add split when
8375 operand 2 is the stack pointer.
8376 ("addr-peephole"): Fix address computation peephole when operand 2
8377 is the stack pointer.
8378
8379 Mon Oct 1 09:26:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8380
8381 * config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
8382 (ix86_setup_incoming_varargs): Likewise.
8383
8384 2001-10-01 Jason Merrill <jason_merrill@redhat.com>
8385
8386 * stor-layout.c (layout_type): Don't complain about too-large
8387 array here.
8388
8389 Mon Oct 1 06:43:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8390
8391 * function.c (keep_stack_depressed): Don't use delete_insn.
8392
8393 * expr.h (set_mem_alias_set): Move decl to here.
8394 * rtl.h (mem_attrs): New typedef and struct.
8395 (union rtunion_def): Add field for mem_attrs.
8396 (X0MEMATTR, MEM_ATTRS): New macros.
8397 (MEM_ALIAS_SET): Use MEM_ATTRS.
8398 (MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
8399 (MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
8400 (set_mem_alias_set): Delete decl from here.
8401
8402 * alias.c (set_mem_alias_set): Delete from here.
8403 * emit-rtl.c (mem_attrs_htab): New variable.
8404 (rtx_htab_mark, rtx_htab_mark_1): Deleted.
8405 (mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
8406 (mem_attrs_mark, get_mem_attrs): Likewise.
8407 (gen_rtx_MEM): Clear MEM_ATTRS.
8408 (set_mem_attributes): Move to here.
8409 (set_mem_alias_set): Likewise, and call get_mem_attrs.
8410 (init_emit_once): const_int_htab now deletable htab.
8411 Initialize mem_attrs_htab.
8412 * explow.c (set_mem_attributes): Delete from here.
8413 * function.c (put_var_into_stack): Clear MEM_ATTRS.
8414 (gen_mem_addressof): Likewise; rework to use set_mem_attributes.
8415 * ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
8416 * reload1.c (reload): Rework changing REG to MEM.
8417
8418 2001-09-30 H.J. Lu <hjl@gnu.org>
8419
8420 * acconfig.h (PREFIX_INCLUDE_DIR): New variable.
8421 * config.in: Rebuild.
8422
8423 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8424
8425 * config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
8426 ("tsthi_1"): Avoid allocation in register y.
8427 ("*movqi_68hc12"): Reorganize and fix constraints.
8428 ("zero_extendqisi2"): Prefer d over x and y for operand 1.
8429 ("addqi3"): Likewise.
8430 ("addhi3"): Fix constraints.
8431 ("*logicalhi3_zexthi"): Disparage soft registers.
8432
8433 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8434
8435 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
8436 to tmp reg.
8437
8438 2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
8439
8440 * config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
8441 that we use setjmp/longjmp exceptions.
8442
8443 2001-09-30 Neil Booth <neil@daikokuya.demon.co.uk>
8444
8445 * cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
8446 POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
8447 struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8448 _cpp_pool_alloc, _cpp_next_chunk): Remove.
8449 (_cpp_extend_buff, BUFF_ROOM): Update.
8450 (_cpp_append_extend_buff): New.
8451 (struct cpp_reader): Remove macro_pool, add a_buff.
8452 * cppinit.c (cpp_create_reader): Initialize a_buff, instead of
8453 macro_pool.
8454 (cpp_destroy): Free a_buff instead of macro_pool.
8455 * cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
8456 new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
8457 _cpp_pool_alloc, ): Remove.
8458 (parse_number, parse_string): Update use of _cpp_extend_buff.
8459 (_cpp_extend_buff): Update.
8460 (_cpp_append_extend_buff, cpp_aligned_alloc): New.
8461 * cpplib.c (glue_header_name, parse_answer):
8462 Update use of _cpp_extend_buff.
8463 (cpp_register_pragma, cpp_register_pragma_space): Use
8464 _cpp_aligned_alloc.
8465 (do_assert, do_unassert): Check for EOL, update.
8466 * cppmacro.c (stringify_arg, collect_args): Update to use
8467 _cpp_extend_buff and _cpp_append_extend_buff.
8468 (save_parameter, parse_params, alloc_expansion_token,
8469 _cpp_create_definition): Rework memory management.
8470
8471 2001-09-29 Andris Pavenis <pavenis@lanet.lv>
8472
8473 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
8474 update md_exec_prefix.
8475 (UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
8476 to string constant.
8477
8478 2001-09-30 Ulrich Weigand <uweigand@de.ibm.com>
8479
8480 * config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
8481 (SELECT_CC_MODE): Use s390_select_ccmode.
8482 * config/s390/s390-protos.h (s390_select_ccmode): Add.
8483 * config/s390/s390.c (s390_select_ccmode): New.
8484 (s390_match_ccmode): Add CCLmode.
8485 (s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
8486 (output_branch_condition, output_inverse_branch_condition): Removed.
8487 (print_operand): Use s390_branch_condition_mnemonic.
8488 * config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
8489 subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
8490 (bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
8491
8492 * config/s390/s390.c (check_and_change_labels): Preserve CC mode
8493 when converting conditional branches to far branches.
8494 * config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
8495 cmpint_di): Use CCSmode instead of CCUmode.
8496
8497 * config/s390/s390.c (legitimate_la_operand_p): New.
8498 * config/s390/s390-protos.h (legitimate_la_operand_p): Add.
8499 * config/s390/s390.md (movsi): Convert load address patterns to
8500 arithmetic operations when necessary.
8501 (addaddr_picR, addaddr_picL, addaddr_picN): Removed.
8502 (do_la): Renamed to *do_la and use legitimate_la_operand_p.
8503 (*do_la_reg_0): Don't use before reload.
8504
8505 * config/s390/s390.c (legitimize_address): Make more efficient
8506 use of two-register addressing mode.
8507
8508 * config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
8509 with -mno-backchain in some corner cases.
8510
8511 * config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
8512
8513 2001-09-29 Alexandre Oliva <aoliva@redhat.com>
8514
8515 * reload.c (find_reloads): Mark new USE insns with QImode.
8516 (find_reloads_toplev, find_reloads_address, subst_reg_equivs,
8517 find_reloads_subreg_address): Likewise.
8518 * regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
8519 encountered.
8520 * reload1.c (reload_combine_note_use): Likewise, inside USEs and
8521 CLOBBERs.
8522 (reload): Make sure there are no USEs with mode other than
8523 VOIDmode. At the end, remove those marked with QImode.
8524
8525 2001-09-29 Per Bothner <per@bothner.com>
8526
8527 * cppdefault.c (cpp_include_defaults): Also search PREFIX_INCLUDE_DIR.
8528 * Makefile.in (includedir): Rename to local_includedir.
8529 (includedir): Define as $(prefix)/include.
8530 * config.in (PREFIX_INCLUDE_DIR): New variable.
8531 * configure.in (PREFIX_INCLUDE_DIR): Test for new variable.
8532
8533 2001-09-29 Bernd Schmidt <bernds@redhat.com>
8534
8535 * config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
8536 storehps builtins.
8537 * doc/extend.texi (Vector Extensions): New node.
8538 * doc/invoke.texi (Machine Dependent Options): Add documentation for
8539 i386 -mmmx, -msse, -m3dnow.
8540
8541 Sat Sep 29 15:08:16 CEST 2001 Jan Hubicka <jh@suse.cz>
8542
8543 * doc/invoke.texi (Optimize Options): Revert an accidental checkin.
8544
8545 2001-09-29 Hans-Peter Nilsson <hp@axis.com>
8546
8547 * cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
8548
8549 * doc/invoke.texi (Optimize Options): Delete spurious @table.
8550
8551 2001-09-28 Richard Henderson <rth@redhat.com>
8552
8553 * varasm.c (assemble_integer): Bound alignment check by
8554 BIGGEST_ALIGNMENT.
8555
8556 * cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
8557
8558 2001-09-28 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8559
8560 * config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
8561
8562 2001-09-25 Bernd Schmidt <bernds@redhat.com>
8563
8564 Mostly from Graham Stott <grahams@redhat.com>
8565 * c-common.c (type_for_mode): Add support for V2SFmode.
8566 * tree.c (build_common_tree_nodes_2): Likewise.
8567 * tree.h (enum tree_index, global_trees): Likewise.
8568 * config/i386/i386.c (x86_3dnow_a): New variable.
8569 (override_options): Support 3Dnow extensions.
8570 (bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
8571 Athlon's version of 3Dnow.
8572 (ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
8573 (ix86_expand_builtin): Handle them.
8574 (ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
8575 * config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
8576 TARGET_3DNOW_A): New macros.
8577 (TARGET_SWITCHES): Add 3Dnow switches.
8578 (VALID_MMX_REG_MODE_3DNOW): New macro.
8579 (VECTOR_MODE_SUPPORTED_P): Use it.
8580 (enum ix86_builtins): Add entries for 3Dnow builtins.
8581 * config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
8582 pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
8583 pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
8584 pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
8585 pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
8586 pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
8587 (mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
8588 mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
8589 mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
8590 sfence_insn, prefetch): Make these available if TARGET_SSE or
8591 TARGET_3DNOW_A.
8592
8593 Fri Sep 28 19:18:40 CEST 2001 Jan Hubicka <jh@suse.cz>
8594
8595 * i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
8596 ix86_va_start, ix86_build_va_list): Declare.
8597 * i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
8598 ix86_va_start, ix86_build_va_list): New global functions.
8599 * i386.md (sse_prologue_save_insn): New insn.
8600 (sse_prologue_save): New expander.
8601 * i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
8602 BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
8603
8604 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
8605
8606 * cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
8607 Use size_t everywhere, make definitions consistent with
8608 prototypes.
8609
8610 Fri Sep 28 14:59:34 CEST 2001 Jan Hubicka <jh@suse.cz>
8611
8612 * gcse.c (replace_store_insn): Use delete_insn.
8613 * loop.c (move_movables): Likewise; avoid delete_insn
8614 from clobbering notes moved elsewhere.
8615 (check_dbra_loop): Use delete_insn.
8616 * ssa.c (convert_from_ssa): Likewise.
8617 * cse.c (cse_insn): Use delete_insn.
8618
8619 2001-09-28 Neil Booth <neil@daikokuya.demon.co.uk>
8620
8621 * cpphash.h (struct cpp_buff): Make unsigned.
8622 (_cpp_get_buff): Take length of size_t.
8623 (_cpp_unaligned_alloc): New.
8624 (BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
8625 (struct cpp_reader): Remove ident_pool. Add u_buff.
8626 * cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
8627 (cpp_destroy): Destroy u_buff, not ident_pool.
8628 * cpplex.c (parse_number, parse_string, save_comment,
8629 cpp_token_as_text): Update to use the unaligned buffer.
8630 (new_buff): Make unsigned.
8631 (_cpp_unaligned_alloc): New.
8632 * cpplib.c (glue_header_name): Update to use the unaligned buffer.
8633 * cppmacro.c (new_number_token, builtin_macro, stringify_arg):
8634 Similarly.
8635 (collect_args): Make unsigned.
8636
8637 2001-09-27 Zack Weinberg <zack@codesourcery.com>
8638
8639 * cpplex.c (cpp_output_token): Use a putc loop for
8640 SPELL_OPERATOR, and fwrite for SPELL_IDENT.
8641
8642 * configure.in: Detect fwrite_unlocked and fprintf_unlocked.
8643 * configure, config.in: Regenerate.
8644 * system.h: Replace fwrite and fprintf with their unlocked
8645 variants if available.
8646
8647 2001-09-27 Richard Henderson <rth@redhat.com>
8648
8649 * dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
8650 in favour of .eh_frame.
8651
8652 2001-09-27 Aldy Hernandez <aldyh@redhat.com>
8653
8654 * config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
8655 to macros.
8656 (LIBCALL_VALUE): Likewise.
8657
8658 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
8659
8660 * cpphash.h: Update comment.
8661 * cpplex.c: Update comments.
8662 (_cpp_can_paste): Remove.
8663 * cpplib.h (_cpp_can_paste): Remove.
8664 * cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
8665 lexer rather than _cpp_can_paste.
8666
8667 2001-09-27 Neil Booth <neil@daikokuya.demon.co.uk>
8668
8669 * doc/cppinternals.texi: Update.
8670
8671 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
8672
8673 * cpphash.h (struct cpp_pool): Remove locks and locked.
8674 (struct cpp_context): Add member buff.
8675 (struct cpp_reader): Remove member argument_pool.
8676 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8677 * cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
8678 * cpplex.c (chunk_suitable): Remove pool argument.
8679 (MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
8680 (new_buff, _cpp_extend_buff): Update.
8681 (_cpp_get_buff): Fix silly pointer bug. Be more selective about
8682 which buffer is returned.
8683 (_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
8684 (_cpp_lock_pool, _cpp_unlock_pool): Remove.
8685 * cppmacro.c (lock_pools, unlock_pools): Remove.
8686 (push_ptoken_context): Take a _cpp_buff.
8687 (enter_macro_context): Pool locking removed.
8688 (replace_args): Use a _cpp_buff for the replacement list with
8689 arguments replaced.
8690 (push_token_context): Clear buff.
8691 (expand_arg): Use _cpp_pop_context.
8692 (_cpp_pop_context): Free a context's buffer, if any.
8693
8694 2001-09-26 DJ Delorie <dj@redhat.com>
8695
8696 * c-typeck.c (digest_init): Check for sizeless arrays.
8697
8698 2001-09-26 Richard Henderson <rth@redhat.com>
8699
8700 * optabs.c (init_one_libfunc): Create a dummy function type
8701 instead of using error_mark_node.
8702
8703 2001-09-26 Neil Booth <neil@daikokuya.demon.co.uk>
8704
8705 * cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
8706 _cpp_extend_buff, _cpp_free_buff): New.
8707 (struct cpp_reader): New member free_buffs.
8708 * cppinit.c (cpp_destroy): Free buffers.
8709 * cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
8710 _cpp_extend_buff, _cpp_free_buff): New.
8711 * cpplib.h (struct cpp_options): Remove unused member.
8712 * cppmacro.c (collect_args): New. Combines the old parse_arg
8713 and parse_args. Use _cpp_buff for memory allocation.
8714 (funlike_invocation_p, replace_args): Update.
8715
8716 Wed Sep 26 13:20:51 CEST 2001 Jan Hubicka <jh@suse.cz>
8717
8718 * final.c (final_scan_insn): Use delete_insn instead of delete_note.
8719
8720 2001-09-25 Andrew Haley <aph@cambridge.redhat.com>
8721
8722 * except.c (sjlj_mark_call_sites): Change address inside sequence.
8723
8724 2001-09-24 Andrew Haley <aph@cambridge.redhat.com>
8725
8726 * config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
8727 glibc.
8728
8729 2001-09-25 Janis Johnson <janis187@us.ibm.com>
8730 Jim Wilson <wilson@redhat.com>
8731
8732 * doc/install.texi (Specific, ia64-*-linux): Document.
8733
8734 Tue Sep 25 17:13:56 CEST 2001 Jan Hubicka <jh@suse.cz>
8735
8736 * Makefile.in (cfgrtl.o): Add.
8737 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8738 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8739 free_aux_for_edge): Declare.
8740 * cfg.c
8741 (HAVE_return): Undefine.
8742 * basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
8743 free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
8744 free_aux_for_edge): New global functions.
8745 (first_delete_block): New static variable.
8746 (init_flow): Clear first_delete_block.
8747 (basic_block_for_insn, label_value_list, tail_recursion_label_list,
8748 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
8749 try_redirect_by_replacing_jump, last_loop_beg_note,
8750 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
8751 delete_insn, delete_insn_chain, create_basic_block_structure,
8752 create_basic_block, flow_delete_block, compute_bb_for_insn,
8753 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
8754 set_block_for_new_insns, split_block, merge_blocks_nomove,
8755 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
8756 redirect_edge_and_branch, force_nonfallthru_and_redirect,
8757 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
8758 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
8759 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
8760 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
8761 purge_all_dead_edges): Move to ....
8762 * cfgrtl.c: New file; .... Here.
8763
8764 * bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
8765 (reroder_basic_block): Use alloc_aux_for_blocks.
8766 * predict.c (estimate_bb_frequencies): Likewise; use
8767 alloc_aux_for_edges.
8768 * profile.c (compute_branch_probabilities): Likewise.
8769 (branch_prob): Likewise.
8770 * reg-stack.c (reg_to_stack): Likewise.
8771
8772 * emit-rtl.c (emit_insns_after): Never return NULL.
8773
8774 * basic-block.h (set_block_for_new_insns): Delete.
8775 * cfgrtl.c (set_block_for_new_insns): Delete.
8776
8777 * cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
8778 calls when crossjumping.
8779
8780 * cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
8781 * unroll.c (copy_loop_body): Use delete_insn.
8782
8783 * final.c (final, final_scan_insn): Use delete_insn/delete_note.
8784 * function.c (fixup_var_refs_insn, fixup_var_refs_1,
8785 keep_stack_depressed): Likewise.
8786 * gcse.c (cprop_cc0_jump): Likewise.
8787 * local-alloc.c (update_equiv_regs): Likewise.
8788 * loop.c (scan_loop, loop_delete_insns): Likewise.
8789 * regmove.c (try_auto_increment, fixup_match_1): Likewise.
8790 * reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
8791 delete_output_reload, delete_address_reloads_1,
8792 reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
8793 Likewise.
8794 * sibcall.c (replace_call_placeholder): Likewise.
8795 * cse.c (cse_insn): Likewise.
8796
8797 2001-09-25 Bernd Schmidt <bernds@redhat.com>
8798
8799 From Graham Stott <grahams@redhat.com>
8800 (def_builtin): Only define builtins appropriate for target_flags. All
8801 callers changed.
8802 (builtin_decsription): Add new field mask which is used to determine
8803 when to define the builtin via the macro def_builtin.
8804
8805 (bdesc_comi): Initialise new mask fields.
8806 (bdesc_2srg): Likewise.
8807 (bdesc_1arg): Likewise.
8808
8809 * config/i386/i386.c (ix86_init_builtins): Correct return type
8810 building v4hi_ftype_v4hi_int_int tree node.
8811 (ix86_expand_sse_comi): Fix typo swapping operands.
8812 Don't swap comparision condition, it is already swapped.
8813 (ix86_expand_sse_compare): Before swapping operands
8814 move operand 1 into new rtx and not the target rtx.
8815 Don't swap comparison condition, it is already swapped.
8816 Always check whether we need to create a new TARGET.
8817
8818 * config/i386/i386.md: (sse_comi) Fix typos.
8819 (sse_ucomi): Likewise.
8820 (cvtss2si): Fix operand 0 contraint.
8821 (cvttss2si): Likewise.
8822 (sse_unpckhps): Fix mode for operand 2.
8823 (sse_unpcklps): Likewise.
8824
8825 2001-09-25 Graham Stott <grahams@redhat.com>
8826
8827 * sibcall.c (skip_copy_to_return_value): Tighten return value
8828 copy check.
8829
8830 2001-09-24 David Edelsohn <edelsohn@gnu.org>
8831
8832 * rs6000.c (lwa_operand): Address must be word aligned.
8833
8834 Mon Sep 24 18:57:59 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8835
8836 * tree.c (type_hash_marked_p): Consider as marked if debug symbol
8837 number has been set.
8838 (type_hash_mark): Mark type itself.
8839
8840 2001-09-24 Neil Booth <neil@daikokuya.demon.co.uk>
8841
8842 * c-lex.c (cb_def_pragma): Update.
8843 (c_lex): Update, and skip padding.
8844 * cppexp.c (lex, parse_defined): Update, remove unused variable.
8845 * cpphash.h (struct toklist): Delete.
8846 (union utoken): New.
8847 (struct cpp_context): Update.
8848 (struct cpp_reader): New members eof, avoid_paste.
8849 (_cpp_temp_token): New.
8850 * cppinit.c (cpp_create_reader): Update.
8851 * cpplex.c (_cpp_temp_token): New.
8852 (_cpp_lex_direct): Add PREV_WHITE when parsing args.
8853 (cpp_output_token): Don't print leading whitespace.
8854 (cpp_output_line): Update.
8855 * cpplib.c (glue_header_name, parse_include, get__Pragma_string,
8856 do_include_common, do_line, do_ident, do_pragma,
8857 do_pragma_dependency, _cpp_do__Pragma, parse_answer,
8858 parse_assertion): Update.
8859 (get_token_no_padding): New.
8860 * cpplib.h (CPP_PADDING): New.
8861 (AVOID_LPASTE): Delete.
8862 (struct cpp_token): New union member source.
8863 (cpp_get_token): Update.
8864 * cppmacro.c (macro_arg): Convert to use pointers to const tokens.
8865 (builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
8866 replace_args, quote_string, stringify_arg, parse_arg, next_context,
8867 enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
8868 _cpp_backup_tokens, _cpp_create_definition): Update.
8869 (push_arg_context): Delete.
8870 (padding_token, push_token_context, push_ptoken_context): New.
8871 (make_string_token, make_number_token): Update, rename.
8872 (cpp_get_token): Update to handle tokens as pointers to const,
8873 and insert padding appropriately.
8874 * cppmain.c (struct printer): New member prev.
8875 (check_multiline_token): Constify.
8876 (do_preprocessing, cb_line_change): Update.
8877 (scan_translation_unit): Update to handle spacing.
8878 * scan-decls.c (get_a_token): New.
8879 (skip_to_closing_brace, scan_decls): Update.
8880 * fix-header.c (read_scan_file): Update.
8881
8882 * doc/cpp.texi: Update.
8883
8884 2001-09-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
8885
8886 * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC. Avoid
8887 leak by passing malloc'ed pointer to reconcat, not concat.
8888
8889 2001-09-24 DJ Delorie <dj@redhat.com>
8890
8891 * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
8892
8893 2001-09-24 Ulrich Weigand <uweigand@de.ibm.com>:
8894
8895 * flow.c (delete_dead_jumptables): Delete jumptable if the only
8896 reference is from the literal pool.
8897
8898 2001-09-24 Janis Johnson <janis187@us.ibm.com>
8899
8900 * doc/install.texi (Final install): Request additional information
8901 in mail about successful builds.
8902
8903 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8904
8905 * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero. Use
8906 initial value of return pointer register instead of value in frame-20.
8907 Revise comments.
8908
8909 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8910
8911 * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
8912 (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
8913 the libcall if there isn't a referenced identifier for the symbol.
8914
8915 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8916
8917 * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
8918 non 64-bit machines. Use these as a plabel for the trampoline.
8919 (TRAMPOLINE_SIZE): Adjust size for new words.
8920 (INITIALIZE_TRAMPOLINE): Initialize new words.
8921 (TRAMPOLINE_ADJUST_ADDRESS): New. Adjust address to make it a
8922 pointer to the plabel in the trampoline.
8923
8924 2001-09-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
8925
8926 * pa.c (function_arg): Pass floating arguments in both general and
8927 floating registers in indirect (dynamic) calls when generating code
8928 for the 32 bit ABI and the HP assembler.
8929
8930 2001-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
8931
8932 * doc/install.texi: Markup fixes.
8933 Use Solaris 2, SunOS 4 as appropriate.
8934 (Specific, *-*-solaris2*): Explain this.
8935 Unconditionally warn against /usr/ucb tools.
8936 Remove Sun as warning, obsolete.
8937 Move X11 header bug workaround here, update patches.
8938 (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
8939 (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
8940
8941 2001-09-23 Zack Weinberg <zack@codesourcery.com>
8942
8943 * errors.h (warning, error, fatal, internal_error): Don't mark
8944 with ATTRIBUTE_PRINTF_n.
8945 * toplev.h (internal_error, fatal_io_error, warning, error,
8946 pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
8947 error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
8948 Likewise.
8949
8950 Sun Sep 23 18:19:48 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8951
8952 * function.c (pop_function_context_from): var_refs_queue
8953 and temp slots now in GC memory.
8954 (mark_function_status, free_after_compilation): Likewise;
8955 also struct function now in GC memory.
8956 (assign_stack_temp_for_type): struct temp_slot now in GC memory.
8957 (combine_temp_slots): Likewise.
8958 (schedule_fixup_var_refs): var_refs_queue now in GC memory.
8959 (prepare_function_start): Use GC memory for struct function.
8960 (mark_temp_slot): Deleted.
8961 (gcc_mark_struct_function): struct function now in GC memory.
8962
8963 * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
8964 code for division, not modulus.
8965
8966 * rtl.def (MEM): Remove obsolete part of comment.
8967
8968 2001-09-22 Joseph S. Myers <jsm28@cam.ac.uk>
8969
8970 * c-format.c (init_function_format_info): Check __builtin_printf
8971 and __builtin_fprintf even if -ffreestanding. Check C99 functions
8972 in gnu89 mode.
8973
8974 Sat Sep 22 09:09:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8975
8976 * c-common.c (format_attribute_table): Remove decl.
8977 * tree.h (format_attribute_table, lang_attribute_table): New decls.
8978 (lang_attribute_common): Likewise.
8979
8980 * function.c (fix_lexical_address): Use set_mem_alias_set.
8981 (expand_function_start): Likewise.
8982 * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
8983
8984 * varasm.c (output_constant): Fix unused variable warning.
8985
8986 * attribs.c: New file, from c-common.c.
8987 (attribute_tables): Now four elements.
8988 (format_attribute_table, lang_attribute_common): New variables.
8989 (init_attributes): Reflect above changes.
8990 (handle_mode_attribute): Delete check for wider than uintmax.
8991 * c-common.c: Delete parts moved to attribs.c.
8992 (enum attrs): Deleted; unused.
8993 (c_format_attribute_table): New variable.
8994 (c_common_lang_init): Initialize format_attribute_table with it.
8995 * c-common.h (decl_attributes): Remove decl.
8996 * tree.h (decl_attribute): Move it to here.
8997 * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
8998 (attribs.o): New rule.
8999
9000 2001-09-22 Andreas Jaeger <aj@suse.de>
9001
9002 * builtins.c (c_getstr): Remove unused variable.
9003
9004 2001-09-21 Richard Henderson <rth@redhat.com>
9005
9006 * reload1.c (reload): Use delete_insn instead of splatting
9007 NOTE_INSN_DELETED.
9008
9009 2001-09-21 Richard Henderson <rth@redhat.com>
9010
9011 * reload.c (push_secondary_reload): Don't check for "=" in output
9012 constraint after ""->ALL_REGS check.
9013
9014 2001-09-21 Richard Henderson <rth@redhat.com>
9015
9016 * predict.c (expected_value_to_br_prob): Use pc_set.
9017
9018 * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
9019 ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
9020
9021 2001-09-21 Richard Henderson <rth@redhat.com>
9022
9023 * rtl.h (LCT_RETURNS_TWICE): New.
9024 * calls.c (emit_call_1): Set current_function_calls_setjmp for
9025 ECF_RETURNS_TWICE.
9026 (emit_library_call_value_1): Map LCT_RETURNS_TWICE
9027 to ECF_RETURNS_TWICE.
9028 * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
9029 call to setjmp.
9030
9031 * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
9032
9033 * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
9034 (JMP_BUF_SIZE): New.
9035
9036 2001-09-21 Richard Henderson <rth@redhat.com>
9037
9038 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
9039 to R8_REGS.
9040
9041 2001-09-21 Richard Henderson <rth@redhat.com>
9042
9043 * tree.def (FDESC_EXPR): New.
9044 * expr.c (expand_expr): Handle it.
9045 * varasm.c (initializer_constant_valid_p): Likewise.
9046 (output_constant): Likewise.
9047 * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9048 * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
9049 (ASM_OUTPUT_FDESC): New.
9050 * doc/tm.texi: Document the new macros.
9051
9052 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
9053
9054 * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
9055 ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
9056 once merging is complete.
9057
9058 Fri Sep 21 11:20:12 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9059
9060 * integrate.c (allocate_initial_values): Eliminate unused arg warning.
9061
9062 21-09-2001 Richard Earnshaw (reanrsha@arm.com)
9063
9064 * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
9065 that would be invalid after a merge.
9066
9067 Fri Sep 21 14:24:29 CEST 2001 Jan Hubicka <jh@suse.cz>
9068
9069 * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
9070 * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
9071 remove some labels.
9072 (flow_delete_insn): This one.
9073 (delete_insn_chain): Rename from ...; do not care labels.
9074 (flow_delete_insn_chain): ... this one.
9075 (flow_delete_block): Remove the insns one BB has been expunged.
9076 (merge_blocks_nomove): Likewise.
9077 (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
9078 updating BB boundaries.
9079 (tidy_fallthru_edge): Likewise.
9080 (commit_one_edge_insertion): Likewise.
9081 * cfgbuild.c (find_basic_block): Likewise.
9082 (find_basic_blocks_1): Likewise.
9083 * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
9084 (try_crossjump_to_edge): Likewise.
9085 (try_optimize_cfg): Likewise.
9086 * cse.c (delete_trivially_dead_insns): Likewise.
9087 * df.c (df_insn_delete): Likewise.
9088 * doloop.c (doloop_modify): Use delete_related_insns.
9089 * emit-rtl.c (try_split): Likewise.
9090 (remove_insn): Update BB boundaries.
9091 * expect.c (connect_post_landing_pads): Use delete_related_insns.
9092 * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
9093 updating BB boundaries.
9094 (propagate_block_delete_insn): Likewise.
9095 (propagate_block_delete_libcall): Likewise.
9096 * function.c (delete_handlers): Use delete_related_insns.
9097 (thread_prologue_and_epilogue_insns): Likewise.
9098 * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
9099 * genpeep.c (gen_peephole): Use delete_related_insns.
9100 * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
9101 BB boundaries.
9102 (find_cond_trap): Likewise.
9103 * integrate.c (save_for_inline): Use delete_related_insns.
9104 (copy_insn_list): Likewise.
9105 * jump.c (pruge_linie_number_notes): Likewise.
9106 (duplicate_loop_exit_test): Likewise.
9107 (delete_computation): Likewise.
9108 (delete_related_insn): Rename from ...; use delete_insn
9109 (delete_insn): ... this one.
9110 (redirect_jump): Use delete_related_insns.
9111 * loop.c (scan_loop): Likewise.
9112 (move_movables): Likewise.
9113 (find_and_verify_loops): Likewise.
9114 (check_dbra_loop): Likewise.
9115 * recog.c (peephole2_optimize): Likewise.
9116 * reg-stack.c (delete_insn_for_stacker): Remove.
9117 (move_for_stack_reg): Use delete_insn.
9118 * regmove.c (combine_stack_adjustments_for_block): Likewise.
9119 * reload1.c (delete_address_reloads): Use delete_related_insns.
9120 (fixup_abnormal_edges): Use delete_insn.
9121 * recog.c (emit_delay_sequence): Use delete_related_insns.
9122 (delete_from-delay_slot): Likewise.
9123 (delete_scheduled_jump): likewise.
9124 (optimize_skip): Likewise.
9125 (try_merge_delay_insns): Likewise.
9126 (full_simple_delay_slots): Likewise.
9127 (fill_slots_from_thread): Likewise.
9128 (relax_delay_slots): Likewise.
9129 (make_return_insns): Likewise.
9130 (dbr_schedule): Likewise.
9131 * rtl.h (delete_insn): Rename to delete_related_insns.
9132 (delete_insn, delete_insn_chain): New prototypes.
9133 * ssa-ccp (sse_fast_dce): Remove deleting of DEF, as it is done
9134 by df_insn_delete already.
9135 * ssa-dce.c (delete_insn_bb): Use delete_insn.
9136 * ssa.c (convert_from_ssa): Use delete_related_insns.
9137 * unroll.c (unroll_loop): Likewise.
9138 (calculate_giv_inc): Likewise.
9139 (copy_loop_body): Likewise.
9140
9141 * i386-protos.h (ix86_libcall_value, ix86_function_value,
9142 ix86_function_arg_regno_p, ix86_function_arg_boundary,
9143 ix86_return_in_memory, ix86_function_value): Declare.
9144 * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
9145 new static valurables.
9146 (x86_64_reg_class): New enum
9147 (x86_64_reg_class_name): New array.
9148 (classify_argument, examine_argument, construct_container,
9149 merge_classes): New static functions.
9150 (optimization_options): Enable flag_omit_frame_pointer and disable
9151 flag_pcc_struct_return on 64bit.
9152 (ix86_libcall_value, ix86_function_value,
9153 ix86_function_arg_regno_p, ix86_function_arg_boundary,
9154 ix86_return_in_memory, ix86_function_value): New global functions.
9155 (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
9156 (function_arg_advance): Handle x86_64 passing conventions.
9157 (function_arg): Likewise.
9158 * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
9159 (RETURN_IN_MEMORY): Move offline.
9160 (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
9161 (FUNCTION_VALUE_REGNO_P): New macro.
9162 (FUNCTION_ARG_REGNO_P): Move offline.
9163 (struct ix86_args): Add maybe_vaarg.
9164 * next.h (FUNCTION_VALUE_REGNO_P): Delete.
9165 * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
9166
9167 2001-09-21 Hartmut Penner <hpenner@de.ibm.com>
9168
9169 * s390.md: Changed attributes for scheduling.
9170 * s390.c: (s390_adjust_cost, s390_adjust_priority)
9171 Changed scheduling
9172
9173 2001-09-21 Joseph S. Myers <jsm28@cam.ac.uk>
9174
9175 Table-driven attributes.
9176 * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
9177 config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
9178 config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
9179 config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
9180 config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
9181 config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
9182 doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
9183 tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
9184 * tree.h (struct tree_decl): Change machine_attributes to
9185 attributes.
9186 * doc/c-tree.texi: Document that all attributes are now attached
9187 to decls and types.
9188 * c-common.c (add_attribute, attrtab, attrtab_idx,
9189 default_valid_lang_attribute, valid_lang_attribute): Remove.
9190 (attribute_tables, attributes_initialized,
9191 c_common_attribute_table, default_lang_attribute_table): New
9192 variables.
9193 (handle_packed_attribute, handle_nocommon_attribute,
9194 handle_common_attribute, handle_noreturn_attribute,
9195 handle_unused_attribute, handle_const_attribute,
9196 handle_transparent_union_attribute, handle_constructor_attribute,
9197 handle_destructor_attribute, handle_mode_attribute,
9198 handle_section_attribute, handle_aligned_attribute,
9199 handle_weak_attribute, handle_alias_attribute,
9200 handle_no_instrument_function_attribute,
9201 handle_no_check_memory_usage_attribute, handle_malloc_attribute,
9202 handle_no_limit_stack_attribute, handle_pure_attribute): New
9203 functions.
9204 (init_attributes, decl_attributes): Rewrite to implement
9205 table-driven attributes.
9206 * c-common.h (enum attribute_flags): Move to tree.h.
9207 * c-format.c (decl_handle_format_attribute,
9208 decl_handle_format_arg_attribute): Rename to
9209 handle_format_attribute and handle_format_arg_attribute. Update
9210 for table-driven attributes.
9211 * c-common.h (decl_handle_format_attribute,
9212 decl_handle_format_arg_attribute): Remove prototypes.
9213 (handle_format_attribute, handle_format_arg_attribute): Add
9214 prototypes.
9215 * c-decl.c (grokdeclarator): Handle attributes nested inside
9216 declarators.
9217 * c-parse.in (setattrs, maybe_setattrs): Remove.
9218 (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
9219 Update to handle nested attributes properly.
9220 (maybe_resetattrs, after_type_declarator,
9221 parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
9222 absdcl1_ea, direct_absdcl1): Update to handle nested attributes
9223 properly.
9224 (make_pointer_declarator): Update to handle nested attributes
9225 properly.
9226 * doc/extend.texi: Update documentation of limits of attributes
9227 syntax. Warn about problems with attribute semantics in C++.
9228 * target.h (struct target): Remove valid_decl_attribute and
9229 valid_type_attribute. Add attribute_table and
9230 function_attribute_inlinable_p.
9231 * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
9232 TARGET_VALID_TYPE_ATTRIBUTE): Remove.
9233 (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
9234 Add.
9235 (TARGET_INITIALIZER): Update.
9236 * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
9237 definition.
9238 (function_attribute_inlinable_p): New function. Check for the
9239 presence of any machine attributes before using
9240 targetm.function_attribute_inlinable_p.
9241 (function_cannot_inline_p): Update.
9242 * Makefile.in (integrate.o): Update dependencies.
9243 * doc/tm.texi: Update documentation of target attributes and
9244 example definition of TARGET_VALID_TYPE_ATTRIBUTE.
9245 * tree.c (default_valid_attribute_p, valid_machine_attribute):
9246 Remove.
9247 (default_target_attribute_table,
9248 default_function_attribute_inlinable_p): New.
9249 (lookup_attribute): Update comment to clarify handling of multiple
9250 attributes with the same name.
9251 (merge_attributes, attribute_list_contained): Allow multiple
9252 attributes with the same name but different arguments to appear in
9253 the same attribute list.
9254 * tree.h (default_valid_attribute_p): Remove prototype.
9255 (struct attribute_spec): New.
9256 (default_target_attribute_table): Declare.
9257 (enum attribute_flags): Move from c-common.h. Add
9258 ATTR_FLAG_TYPE_IN_PLACE.
9259 (default_function_attribute_inlinable_p): Declare.
9260 * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
9261 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9262 (TARGET_ATTRIBUTE_TABLE): Define.
9263 (vms_attribute_table): New.
9264 * config/arc/arc.c (arc_valid_decl_attribute): Remove.
9265 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9266 (TARGET_ATTRIBUTE_TABLE): Define.
9267 (arc_attribute_table, arc_handle_interrupt_attribute): New.
9268 * config/arm/arm.c (arm_valid_type_attribute_p,
9269 arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
9270 Remove.
9271 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9272 define.
9273 (TARGET_ATTRIBUTE_TABLE): Define.
9274 (arm_attribute_table, arm_handle_fndecl_attribute,
9275 arm_handle_isr_attribute): New.
9276 * config/avr/avr.c (avr_valid_type_attribute,
9277 avr_valid_decl_attribute): Remove.
9278 (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
9279 define.
9280 (TARGET_ATTRIBUTE_TABLE): Define.
9281 (avr_attribute_table, avr_handle_progmem_attribute,
9282 avr_handle_fndecl_attribute): New.
9283 * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
9284 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9285 (TARGET_ATTRIBUTE_TABLE): Define.
9286 (c4x_attribute_table, c4x_handle_fntype_attribute): New.
9287 * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
9288 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9289 (TARGET_ATTRIBUTE_TABLE): Define.
9290 (h8300_attribute_table, h8300_handle_fndecl_attribute,
9291 h8300_handle_eightbit_data_attribute,
9292 h8300_handle_tiny_data_attribute): New.
9293 * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
9294 i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
9295 Remove prototypes.
9296 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
9297 declarations.
9298 * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
9299 (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
9300 define.
9301 (TARGET_ATTRIBUTE_TABLE): Define.
9302 (ix86_attribute_table, ix86_handle_cdecl_attribute,
9303 ix86_handle_regparm_attribute): New.
9304 * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
9305 i386_pe_valid_type_attribute_p): Remove.
9306 (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
9307 * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
9308 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9309 (TARGET_ATTRIBUTE_TABLE): Define.
9310 (ia64_attribute_table): New.
9311 * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
9312 interrupt_ident2, model_ident1, model_ident2): Remove.
9313 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9314 (TARGET_ATTRIBUTE_TABLE): Define.
9315 (init_idents): Update.
9316 (m32r_attribute_table, m32r_handle_model_attribute): New.
9317 * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
9318 Remove.
9319 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9320 (TARGET_ATTRIBUTE_TABLE): Define.
9321 (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
9322 * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
9323 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9324 (TARGET_ATTRIBUTE_TABLE): Define.
9325 (mcore_attribute_table, mcore_handle_naked_attribute): New.
9326 * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
9327 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9328 (TARGET_ATTRIBUTE_TABLE): Define.
9329 (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
9330 * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
9331 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
9332 (TARGET_ATTRIBUTE_TABLE): Define.
9333 (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
9334 * config/sh/sh.c (sh_valid_decl_attribute): Remove.
9335 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9336 (TARGET_ATTRIBUTE_TABLE): Define.
9337 (sh_attribute_table, sh_handle_interrupt_handler_attribute,
9338 sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
9339 New.
9340 * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
9341 Remove.
9342 (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
9343 (TARGET_ATTRIBUTE_TABLE): Define.
9344 (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
9345 New.
9346 * config/v850/v850.c (v850_valid_decl_attribute): Remove.
9347 (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
9348 (TARGET_ATTRIBUTE_TABLE): Define.
9349 (v850_attribute_table, v850_handle_interrupt_attribute,
9350 v850_handle_data_area_attribute): New.
9351 * config/v850/v850-c.c (mark_current_function_as_interrupt):
9352 Return void. Call decl_attributes instead of
9353 valid_machine_attribute.
9354
9355 Fri Sep 21 01:49:41 2001 J"orn Rennecke <amylaar@redhat.com>
9356
9357 * sh-protos.h (sh_pr_n_sets): Declare.
9358 * sh.c (calc_live_regs): If the initial value for PR has been copied,
9359 look at the copy to determine if PR needs to be saved.
9360 sh_pr_n_sets: New function.
9361 * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
9362 (ALLOCATE_INITIAL_VALUE): Define.
9363
9364 * sh.c (initial_elimination_offset):
9365 Fix RETURN_ADDRESS_POINTER_REGNUM case.
9366
9367 Fri Sep 21 01:13:56 2001 J"orn Rennecke <amylaar@redhat.com>
9368
9369 * integrate.c (allocate_initial_values): New function.
9370 * integrate.h (allocate_initial_values): Declare.
9371 * local-alloc.c (local_alloc): Move call to allocate_reg_info from
9372 here...
9373 * reload1.c (reload): And initialization of reg_equiv_memory_loc
9374 from here...
9375 * toplev.c (rest_of_compilation): To here.
9376 Call allocate_initial_values.
9377 * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
9378
9379 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9380
9381 * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
9382
9383 2001-09-20 DJ Delorie <dj@redhat.com>
9384
9385 * c-typeck.c (really_start_incremental_init): Discriminate
9386 between zero-length arrays and flexible arrays.
9387 (push_init_level): Detect zero-length arrays and handle them
9388 like fixed-sized arrays.
9389 * expr.c (store_constructor): Handle zero-length arrays and
9390 flexible arrays correctly.
9391 * doc/extend.texi: Update zero-length array notes.
9392
9393 2001-09-20 Jim Wilson <wilson@redhat.com>
9394
9395 * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
9396 (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
9397 for issue port conflicts.
9398 (cycle_end_fill_slots): TYPE_L instructions take two slots.
9399
9400 2001-09-20 Andrew MacLeod <amacleod@redhat.com>
9401
9402 * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
9403 on ia64.
9404
9405 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9406
9407 * fold-const.c (hashtab.h): Include.
9408 (int_const_binop): Remove FORSIZE arg and compute from type; all
9409 callers changed.
9410 Call size_int_type_wide for all single-word constants.
9411 (size_htab_hash, size_htab_eq): New functions.
9412 (size_int_type_wide): Rework to use hash table.
9413 * ggc-common.c (hashtab.h): Include.
9414 (struct d_htab_root): New struct.
9415 (d_htab_roots): New variable.
9416 (ggc_add_deletable_htab, ggc_htab_delete): New functions
9417 (ggc_mark_roots): Handle deletable htabs.
9418 * ggc-page.c (ggc_marked_p): New function.
9419 * ggc-simple.c (ggc_marked_p): Likewise.
9420 * ggc.h: Reformatting throughout.
9421 (ggc_marked_p, ggc_add_deletable_htab): New declarations.
9422 * tree.c (init_obstacks): Make type_hash_table a deletable root.
9423 (type_hash_add): Allocate struct type_hash from GC memory.
9424 (mark_hash_entry, mark_type_hash): Deleted.
9425 (type_hash_marked_p, type_hash_mark): New functions.
9426 * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
9427
9428 Thu Sep 20 12:49:34 2001 J"orn Rennecke <amylaar@redhat.com>
9429
9430 * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
9431 than SImode.
9432
9433 Thu Sep 20 09:00:27 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
9434
9435 * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
9436 array-too-large test for signed sizetype.
9437
9438 Thu Sep 20 12:19:36 CEST 2001 Jan Hubicka <jh@suse.cz>
9439
9440 * i386.md (indirect_jump): Allow Pmode operand.
9441 (tablejump): LIkewise; perform expansion to 64bit mode.
9442 * i386.c (symbolic_operand): Allow 64bit PIC references.
9443 (pic_symbolic_operand): Likewise.
9444 (ix86_find_base_term): Strip the 64bit PIC references.
9445 (legitimate_pic_address_disp_p): Handle 64bit PIC.
9446 (legitimize_pic_address): Likewise.
9447 (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
9448 * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
9449
9450 2001-09-19 Alexandre Petit-Bianco <apbianco@redhat.com>
9451
9452 * stringpool.c (get_identifier_with_length): New function.
9453 * tree.h (get_identifier_with_length): New prototype.
9454
9455 2001-09-19 Alan Modra <amodra@bigpond.net.au>
9456 David Edelsohn <edelsohn@gnu.org>
9457
9458 Revert:
9459 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
9460 already sign-extended.
9461
9462 * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
9463 * config/rs6000/rs6000.c (logical_operand): Always compare op as
9464 HOST_WIDE_INT.
9465 (rs6000_emit_set_long_const): Avoid unnecessary shift.
9466 (output_profile_hook): Declare label_name const.
9467 * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
9468 to match constraints.
9469
9470 2001-09-19 Stan Shebs <shebs@apple.com>
9471
9472 * alias.c: Fix typos in comments.
9473 * sched-rgn.c (init_ready_list): Ditto.
9474 * unwind-dw2.c (uw_frame_state_for): Ditto.
9475 * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
9476 * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
9477 * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
9478
9479 2001-09-19 Richard Henderson <rth@redhat.com>
9480
9481 * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
9482 to the exit block.
9483 * Makefile.in (cfg.o): Depend on TM_P_H.
9484
9485 2001-09-19 Richard Henderson <rth@redhat.com>
9486
9487 * config/alpha/alpha.c (local_symbol_p): Split out from ...
9488 (local_symbolic_operand): ... here.
9489 (small_symbolic_operand): Check mode.
9490 (global_symbolic_operand): New.
9491 (input_operand): Reject symbolics if explicit relocs.
9492 (call_operand): Tidy.
9493 (alpha_legitimize_address): Use movdi_er_high_g.
9494 (alpha_expand_mov): Likewise.
9495 * config/alpha/alpha-protos.h: Update.
9496 * config/alpha/alpha.h (PREDICATE_CODES): Update.
9497 * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
9498 (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
9499 (UNSPECV_LDGP2): Remove.
9500 (all call patterns): Use 's' not 'i' for symbolic constraint.
9501 (call_osf call_value_osf): Use call_operand.
9502 (all osf call patterns): Use $gp. New peepholes for explicit relocs.
9503 (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
9504 (prologue_ldgp_1_er): Remove.
9505 (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
9506 (builtin_setjmp_receiver_er patterns): Use them.
9507 (exception_receiver_er): Likewise.
9508
9509 2001-09-19 Richard Henderson <rth@redhat.com>
9510
9511 * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
9512
9513 * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
9514 and NON_LOCAL_GOTO notes.
9515 * recog.c (peephole2_optimize): Likewise. Handle EH_REGION;
9516 copy over CALL_INSN_FUNCTION_USAGE.
9517
9518 2001-09-18 Catherine Moore <clm@redhat.com>
9519
9520 * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
9521 Define as 0.
9522
9523 2001-09-18 Ulrich Weigand <uweigand@de.ibm.com>:
9524
9525 * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
9526 new-style tm_file specification. Specify correct tm_p_file,
9527 md_file, and out_file for s390x.
9528
9529 * config/s390/linux.h, linux64.h: Don't include other target
9530 macro header files. Now handled via tm_file.
9531
9532 * config/s390/linux.h, s390.h: (IEEE_FLOAT, TARGET_IEEE_FLOAT,
9533 TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
9534 are defined before use.
9535
9536 Tue Sep 18 09:51:11 2001 Eric Christopher <ecechristo@redhat.com>
9537
9538 * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
9539 code generation only for Gnu assembler.
9540
9541 2001-09-18 Catherine Moore <clm@redhat.com>
9542
9543 * config/stormy16 (LIB_SPEC): Remove -lnosys.
9544
9545 2001-09-18 Richard Sandiford <rsandifo@redhat.com>
9546
9547 * config/mips/mips.c (mips_frame_set): New.
9548 (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
9549 a parallel frame-related expression with a set for each register.
9550
9551 2001-09-18 Philip Blundell <philb@gnu.org>
9552
9553 * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
9554 header files.
9555
9556 2001-09-17 Dale Johannesen <dalej@apple.com>
9557
9558 * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
9559 * config/rs6000/aix.h (FIXED_R2): Define.
9560 * config/rs6000/darwin.h (FIXED_R2): Define.
9561 * config/rs6000/sysv4.h (FIXED_R2): Define.
9562
9563 2001-09-17 Jeff Sturm <jsturm@one-point.com>
9564
9565 * except.c (dw2_build_landing_pads): New local
9566 clobbers_hard_regs. Emit an ASM_INPUT as a scheduling
9567 barrier after clobbers. Fixes c++/4012.
9568
9569 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9570
9571 * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
9572
9573 2001-09-17 Joseph S. Myers <jsm28@cam.ac.uk>
9574
9575 * dostage2, dostage3, listing, make-l2.com, makefile.vms,
9576 patch-apollo-includes, vmsconfig.com: Remove obsolete files.
9577
9578 2001-09-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9579
9580 * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
9581 alloca/strcpy.
9582
9583 2001-09-17 Neil Booth <neil@daikokuya.demon.co.uk>
9584
9585 * cpphash.h (_cpp_lex_direct): New.
9586 * cpplex.c (_cpp_lex_token): Update.
9587 (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
9588 and increment that pointer.
9589 * cppmacro.c (alloc_expansion_token): New.
9590 (lex_expansion_token): Lex macro expansion directly into
9591 macro storage.
9592
9593 2001-09-16 Brad Lucier <lucier@math.purdue.edu>
9594
9595 * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
9596
9597 Sun Sep 16 21:59:46 CEST 2001 Jan hubicka <jh@suse.cz>
9598
9599 * basic-block.h (free_bb_for_insn): Declare.
9600 * bb-reorder.c (label_for_bb): Use block_label.
9601 (emit_jump_to_block_after): Remove.
9602 (insert_intra_1): Do not update block_for_insn.
9603 (insert_inter_bb_scope_notes): Likewise; update bb->end
9604 * cfg.c (free_bb_for_insn): New.
9605 (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
9606 (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
9607 (commit_one_edge_insertion): Likewise.
9608 (commit_one_edge_insertion): Do not update BB boundary.
9609 (commit_edge_insertions): Do not call compute_bb_for_insn.
9610 * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
9611 * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
9612 (merge_blocks_move_successor_nojumps): Likewise.
9613 (try_crossjump_to_edge): Do not update block_for_insn.
9614 * combine.c (combine_instructions): Remove compute_bb_for_insn call.
9615 * df.c (df_pattern_emit_later): Do not update BB boundary.
9616 (df_jump_pattern_emit_after): Likewise.
9617 (df_insn_move_before): Use emit_insn_before.
9618 * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
9619 properly.
9620 (add_insn_after, add_insn_before, emit_insns_after): Update BB
9621 boundaries and basic_block_for_insn.
9622 (reorder_insns_nobb): Rename from reorder_insns.
9623 (reorder_insns): New.
9624 (emit_block_insn_before, emit_block_insn_after): Kill.
9625 * flow.c (check_function_return_warnings): Do not call
9626 compute_bb_for_insn; Do not free basic_block_for_insn.
9627 (attempt_auto_inc): Do not update basic_block_for_insn.
9628 * function.c (emit_return_into_block): Likewise;
9629 do not update BB boundaries.
9630 * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
9631 (insert_insn_end_bb): Use emit_insn_before; Likewise.
9632 (pre_insert_copy_insn): Likewise.
9633 (update_ld_motion_notes): Likewise.
9634 (insert_insn_start_bb): Likewise.
9635 (replace_store_insn): Likewise.
9636 * ifcvt.c (noce_process_if_block): Likewise.
9637 (if_convert): Do not call compute_bb_for_insn.
9638 * lcm.c (optimize_mode_switching): Do not update BB boundaries.
9639 Use emit_insn_before and emit_insn_after.
9640 * recog.c (split_all_insns): Do not update BB boundaries;
9641 Do not call compute_bb_for_insn.
9642 (peephole2_optimize): Do not update BB boundaries.
9643 * reg-stack.c (emit_pop_insn): Use emit_insn_after and
9644 emit_insn_before.
9645 (emit_swap_insn): Likewise.
9646 (convert_regs_1): Likewise.
9647 * reload1.c (reload): Call compute_bb_for_insn.
9648 * rtl.h (reorder_insns_nobb): Declare.
9649 * ssa.c (rename_equivalent_regs): Use emit_insn_before.
9650 * toplev.c (rest_of_compilation): Call free_bb_for_insn
9651 at places CFG is invalidated; do not call compute_bb_for_insn.
9652
9653 * cfg.c (expunge_block): Invalidate BB structure.
9654
9655 * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
9656 array.
9657
9658 * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
9659
9660 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
9661
9662 * cpphash.h (_cpp_lex_token): Update prototype.
9663 * cpplex.c (_cpp_lex_token): New prototype.
9664 * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
9665 lex_macro_node, read_flag, do_pragma_poison): Update.
9666 * cppmacro.c (cpp_get_token, parse_params,
9667 lex_expansion_token): Update.
9668
9669 2001-09-16 Neil Booth <neil@daikokuya.demon.co.uk>
9670
9671 * cppmain.c (scan_translation_unit): Don't worry about
9672 putting a space after hashes.
9673 * cpplib.c (directive_diagnostics): New.
9674 (_cpp_handle_directive): Update to use directive_diagnostics.
9675 (run_directive): Don't toggle prevent_expansion.
9676 (do_line): Backup in case of the line extension.
9677 * cpplib.h (cpp_lexer_pos): Remove.
9678 * cppmacro.c (_cpp_create_definition): Precede a leading #
9679 with whitespace.
9680
9681 2001-09-15 Richard Henderson <rth@redhat.com>
9682
9683 * c-typeck.c (comptypes): Handle zero-length arrays properly.
9684
9685 2001-09-15 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9686
9687 * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
9688
9689 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9690
9691 PR preprocessor/3571
9692 * tradcpp.c (handle_directive): Skip non-vertical space.
9693
9694 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9695
9696 * cppmain.c (setup_callbacks): Set line callback only
9697 if outputting preprocessed source.
9698
9699 2001-09-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9700
9701 * collect2.c (main): Const-ification.
9702 * gcc.c (translate_options, process_command): Use xstrdup in
9703 lieu of xmalloc/strcpy.
9704 (main): Use concat in lieu of xmalloc/strcpy/strcat.
9705
9706 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9707
9708 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
9709 example.
9710
9711 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9712
9713 * scan-decls.c (scan_decls): Fix typo.
9714
9715 2001-09-15 Neil Booth <neil@daikokuya.demon.co.uk>
9716
9717 * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
9718 Split mlstring_pos into mls_line and mls_col.
9719 * cppinit.c (cpp_create_reader): Initialize line to 1.
9720 (cpp_destroy): Free tokenruns.
9721 (push_include): Don't update lexer_pos.
9722 * cpplex.c (unterminated, parse_string): Update.
9723 (lex_token): Don't update lexer_pos, update.
9724 * cpplib.c (if_stack): Save line instead of line + col.
9725 (start_directive, _cpp_do__Pragma, do_else, do_elif,
9726 push_conditional, _cpp_pop_buffer): Update.
9727 * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
9728 (_cpp_create_definition): Update.
9729
9730 2001-09-15 Eric Christopher <echristo@redhat.com>
9731
9732 * config/mips/abi64.h: Add support for MEABI.
9733
9734 2001-09-15 Eric Christopher <echristo@redhat.com>
9735
9736 * config/mips/mips.md: Add unspec #2.
9737 (reload_indi): Use.
9738 (reload_outdi): Ditto.
9739 (reload_outsi): Ditto.
9740 (HILO_delay): New.
9741
9742 2001-09-15 Eric Christopher <echristo@redhat.com>
9743 Jason Eckhardt <jle@redhat.com>
9744
9745 * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
9746 * config/mips/isa32-linux.h: New file.
9747 * config/mips/isa3264.h: Ditto.
9748 * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
9749 * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
9750 (output_block_mode): Support MEABI.
9751 (function_arg): Ditto. Fix floating point arg passing.
9752 (mips_va_start): Ditto.
9753 (override_options): Add isas 32 and 64, meabi, mips32 and mips64
9754 processors.
9755 (mips_asm_file_start): Add new section to pass abi to gdb.
9756 (function_arg_pass_by_reference): Support MEABI.
9757 (mips_parse_cpu): Support mips32 and mips64 processors.
9758 * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
9759 TARGET_MIPS5KC. Support isa32 and isa64.
9760 (processor_type): Add r4kc, r5kc, r20kc.
9761 (GENERATE_MULT3_SI): New.
9762 (GENERATE_MULT3_DI): Ditto.
9763 (GENERATE_MULT3): Remove.
9764 (ISA_HAS_64BIT_REGS): Add isa == 64.
9765 (ISA_HAS_8CC): Add mips_isa = 32 and 64.
9766 (ISA_HAS_MADD_MSUB): New.
9767 (ISA_HAS_CLZ_CLO): Ditto.
9768 (ISA_HAS_DCLZ_DCLO): Ditto.
9769 (ABI_GAS_ASM_SPEC): New.
9770 (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
9771 (ASM_SPEC): Ditto.
9772 (LINK_SPEC): Ditto.
9773 (SUBTARGET_CC1_SPEC): Ditto.
9774 (SUBTARGET_CPP_SIZE_SPEC): Ditto.
9775 (PAD_VARARGS_DOWN): Support MEABI.
9776 (HARD_REGNO_NREGS): Move to mips.c.
9777 (ASM_OUTPUT_IDENT): Add #undef.
9778 * config/mips/mips.md: Add r4kc, r5kc, r20kc.
9779 (mulsi3): Use GENERATE_MULT3_SI.
9780 (mulsi3_mult3): Ditto. Support mips32, mips64.
9781 (mul_acc_si): Use ISA_HAS_MADD_MSUB.
9782 (mul_sub_si): New pattern.
9783 (unnamed splitters): New.
9784 (muldi3): Use GENERATE_MULT3_DI.
9785 (muldi3_internal2): Ditto.
9786 (movdicc): Support mips32.
9787 * config/mips/t-isa3264: New file.
9788
9789 2001-09-15 Hans-Peter Nilsson <hp@axis.com>
9790
9791 * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
9792 || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
9793 || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
9794
9795 * reorg.c (fill_slots_from_thread): After call to
9796 steal_delay_list_from_target, update own_thread as new_thread may
9797 have branched.
9798
9799 2001-09-14 Neil Booth <neil@daikokuya.demon.co.uk>
9800
9801 * cpperror.c (print_location): Take line and column, for
9802 default positioning use the previously lexed token.
9803 (_cpp_begin_message): Take line and column.
9804 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
9805 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
9806 * cpphash.h (_cpp_begin_message): Update prototype.
9807 * cppinit.c (push_include): Don't set output line.
9808 * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
9809 * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
9810 (do_pragma): Kludge for front ends. Don't expand macros at all.
9811 * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
9812 (struct cpp_token): Remove output_line.
9813 (struct cpp_callbacks): New member line_change.
9814 * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
9815 cpp_get_token): Preserve BOL flag.
9816 (cpp_get_line): Remove.
9817 (_cpp_backup_tokens): Remove useless abort().
9818 * cppmain.c (cb_line_change): New.
9819 (scan_translation_unit): Don't worry about starting new lines here.
9820 * scan-decls.c (scan_decls): Update.
9821 * c-lex.c (c_lex, init_c_lex): Update.
9822 (cb_line_change, src_lineno): New.
9823
9824 Fri Sep 14 13:54:50 EDT 2001 John Wehle (john@feith.com)
9825
9826 * tree.c (append_random_chars): Generate the random
9827 characters in a reproducable fashion.
9828
9829 2001-09-14 Richard Henderson <rth@redhat.com>
9830
9831 * config/i386/i386.c (internal_label_prefix): New.
9832 (internal_label_prefix_len): New.
9833 (override_options): Set them.
9834 (local_symbolic_operand): New.
9835 (legitimate_pic_address_disp_p): Use it.
9836 (legitimize_pic_address): Likewise.
9837
9838 2001-09-14 Marc Espie <espie@openbsd.org>
9839
9840 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Generate reference to GOT
9841 correctly.
9842
9843 2001-09-14 Roman Lechtchinsky <rl@cs.tu-berlin.de>
9844
9845 * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
9846 * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
9847
9848 2001-09-14 Nick Clifton <nickc@cambridge.redhat.com>
9849
9850 * rtlanal.c (subreg_regno_offset): Add semicolon to end of
9851 invocation of SUBREG_REGNO_OFFSET.
9852
9853 * haifa-sched.c: Fix typo in FSF copyright statement.
9854 * sched-deps.c: Fix typo in FSF copyright statement.
9855 * sched-ebb.c: Fix typo in FSF copyright statement.
9856 * sched-rgn.c: Fix typo in FSF copyright statement.
9857 * sched-vis.c: Fix typo in FSF copyright statement.
9858
9859 * config.gcc: Move inclusion of arm elf specific header files
9860 from the files themselves into the tm_file variable. Make
9861 sure that elfos.h is included before target specific elf
9862 headers.
9863 * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
9864 already defined.
9865 (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
9866 * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
9867 ASM_OUTPUT_CASE_LABEL): Protect definition.
9868 (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
9869 not already defined.
9870 * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
9871 LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
9872 Remove duplicate definition.
9873 (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
9874 (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
9875 (RDATA_SECTION_FUNCTION): Remove redundant definition.
9876 (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
9877 Remove inclusion of arm/elf.h.
9878 * config/arm/unknown-elf.h: as for conix-elf.h.
9879 (STARTFILE_SPEC): Include crti.o and crtn.o.
9880 * config/arm/linux-elf.h: as for conix-elf.h.
9881 * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
9882 * config/arm/strongarm-elf.h: Remove inclusion of
9883 unknown-elf.h.
9884 * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
9885 * config/arm/unknown-elf-oabi.h: Remove inclusion of
9886 unknown-elf.h and elf.h.
9887 * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
9888 * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
9889 ASM_WEAKEN_LABEL): Remove redundant definition.
9890 * config/arm/elf.h: Test for inclusion of elfos.h
9891 (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
9892 ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
9893 SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
9894 EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
9895 redundant definition.
9896 (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
9897 ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
9898 ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
9899 * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
9900 Add rules to build crti.o and crtn.o
9901 * crti.asm: New file.
9902 * crtn.asm: New file.
9903
9904 2001-09-13 Neil Booth <neil@daikokuya.demon.co.uk>
9905
9906 * c-parse.in (_yylex): Use _cpp_backup_tokens.
9907 * cpphash.h (struct tokenrun): Add prev.
9908 (struct lexer_state): Remove bol.
9909 (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
9910 (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
9911 : Remove.
9912 * cppinit.c (cpp_create_reader): Don't set bol.
9913 (cpp_destroy): Don't free lookaheads.
9914 * cpplex.c (lex_directive): Remove.
9915 (next_tokenrun): Update.
9916 (_cpp_lex_token): Clean up logic.
9917 (lex_token): Update to return a pointer to lexed token, since it
9918 can move to the start of the buffer. Simpify newline handling.
9919 * cpplib.c (SEEN_EOL): Update.
9920 (skip_rest_of_line): Remove lookahead stuff.
9921 (end_directive): Line numbers are already incremented. Revert
9922 to start of lexed token buffer if we can.
9923 (_cpp_handle_directive, do_pragma, do_pragma_dependency,
9924 parse_answer): Use _cpp_backup_tokens.
9925 (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
9926 instead. Don't check for EOL.
9927 (do_include_common, do_line, do_pragma_system_header): Use
9928 skip_rest_of_line.
9929 * cpplib.h (BOL, _cpp_backup_tokens): New.
9930 * cppmacro.c (save_lookahead_token, take_lookahead_token,
9931 alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
9932 cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
9933 (builtin_macro): Don't use cpp_get_line.
9934 (cpp_get_line): Short term kludge.
9935 (parse_arg): Handle directives in arguments here. Back up when
9936 appropriate. Store EOF at end of argument list.
9937 (funlike_invocation_p): Use _cpp_backup_tokens.
9938 (push_arg_context): Account for EOF at end of list.
9939 (cpp_get_token): Remove lookahead stuff. Update.
9940
9941 2001-09-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
9942
9943 * c-parse.in (yyerror): Const-ification and/or static-ization.
9944 * c-typeck.c (push_member_name): Likewise.
9945 * collect2.c (main): Likewise.
9946 * dbxout.c (dbxout_parms): Likewise.
9947 * diagnostic.c (format_with_decl): Likewise.
9948 * dwarf2out.c (output_ranges): Likewise.
9949 * dwarfout.c (fundamental_type_code): Likewise.
9950 * except.c (dw2_output_call_site_table): Likewise.
9951 * gcc.c (do_spec_1): Likewise.
9952 * genopinit.c (optabs): Likewise.
9953 * objc/objc-act.c (synth_id_with_class_suffix, start_class,
9954 gen_declaration_1, handle_impent): Likewise.
9955 * protoize.c (default_include, in_system_include_dir, abspath):
9956 Likewise.
9957 * sched-vis.c (visualize_stall_cycles): Likewise.
9958 * sdbout.c (plain_type_1, sdbout_end_function,
9959 sdbout_end_epilogue): Likewise.
9960 * varasm.c (decode_reg_name): Likewise.
9961
9962 * 1750a.c (mod_regno_adjust): Likewise.
9963 * alpha.c (alpha_write_one_linkage,
9964 unicosmk_output_default_externs): Likewise.
9965 * arm.c (arm_condition_codes): Likewise.
9966 * arm.h (arm_condition_codes): Likewise.
9967 * avr.c (output_movsisf, encode_section_info): Likewise.
9968 * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
9969 Likewise.
9970 * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9971 * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
9972 * m88k.c (output_function_profiler): Likewise.
9973 * mips.c (mips_output_conditional_branch): Likewise.
9974 * ns32k.c (ns32k_out_reg_names): Likewise.
9975 * ns32k.h (ns32k_out_reg_names): Likewise.
9976 * pj.c (pj_output_rval): Likewise.
9977 * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
9978 * sparc.c (sparc_flat_function_prologue,
9979 sparc_flat_function_epilogue): Likewise.
9980
9981 2001-09-13 Markus Werle <numerical.simulation@web.de>
9982 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
9983
9984 * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
9985 Aachen University of Technology".
9986
9987 2001-09-13 Andreas Schwab <schwab@suse.de>
9988
9989 * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
9990 C99.
9991
9992 2001-09-13 Richard Henderson <rth@redhat.com>
9993
9994 * config/alpha/alpha.c (small_symbolic_operand): New.
9995 (override_options): Set MASK_SMALL_DATA based on pic/PIC.
9996 (some_operand, input_operand): Don't handle HIGH.
9997 (alpha_legitimize_address): Use it. Emit HIGH with PLUS gp.
9998 (alpha_expand_mov): Likewise.
9999 (print_operand) [H]: Just print HIGH symbol.
10000 (print_operand_address): Handle small data.
10001 * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
10002 (TARGET_SWITCHES): Add -msmall-data/large-data.
10003 (PIC_OFFSET_TABLE_REGNUM): New.
10004 (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
10005 (PREDICATE_COES): Update.
10006 * config/alpha/alpha.md (adddi_er_high): New.
10007 (adddi_er_low): Handle small data.
10008 * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
10009 prefer .sdata to .rodata.
10010 (SELECT_RTX_SECTION): Likewise.
10011
10012 2001-09-12 Josh Martin <josh.martin@abq.sc.philips.com>
10013
10014 * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
10015 defining __size_t and leaving size_t undefined.
10016
10017 2001-09-12 Diego Novillo <dnovillo@redhat.com>
10018
10019 * basic-block.h (expunge_block): Declare.
10020 * cfg.c (expunge_block): Remove static declaration.
10021
10022 2001-09-12 Richard Henderson <rth@redhat.com>
10023
10024 * integrate.c (copy_insn_list): Copy label name from
10025 NOTE_INSN_DELETED_LABEL.
10026
10027 2001-09-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10028
10029 * c-common.c (c_tree_code_name): Const-ification.
10030 * c-decl.c (c_decode_option): Likewise.
10031 * c-typeck.c (warn_for_assignment): Likewise.
10032 * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
10033 Likewise.
10034 * cppinit.c (output_deps): Likewise.
10035 * dependence.c (dependence_string, direction_string): Likewise.
10036 * dwarf2out.c (output_ranges): Likewise.
10037 * fixinc/fixfixes.c (emit_gnu_type): Likewise.
10038 * fixinc/gnu-regex.c (re_error_msgid): Likewise.
10039 * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
10040 standard_startfile_prefix, standard_startfile_prefix_1,
10041 standard_startfile_prefix_2, tooldir_base_prefix,
10042 standard_bindir_prefix, find_a_file): Likewise.
10043 * genattrtab.c (make_length_attrs): Likewise.
10044 * gencheck.c (tree_codes): Likewise.
10045 * genemit.c (gen_split): Likewise.
10046 * genrecog.c (special_mode_pred_table): Likewise.
10047 * graph.c (graph_ext): Likewise.
10048 * protoize (default_include): Likewise.
10049 * reload.c (reload_when_needed_name): Likewise.
10050 * sched-vis.c (visualize_stall_cycles): Likewise.
10051 * tlink.c (recompile_files): Likewise.
10052 * toplev.c (decode_g_option): Likewise.
10053 * tradcpp.c (output_deps): Likewise.
10054 * varasm.c (decode_reg_name): Likewise.
10055
10056 * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
10057 Const-ification.
10058 * arm.md: Likewise.
10059 * avr.c (avr_regnames, encode_section_info): Likewise.
10060 * c4x.c (float_reg_names): Likewise.
10061 * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
10062 * elfos.h (const_section): Likewise.
10063 * i386.c (ix86_comp_type_attributes): Likewise.
10064 * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
10065 * ia64/aix.h (UNIQUE_SECTION): Likewise.
10066 * ia64.c (type_names): Likewise.
10067 * m68hc11.c (reg_class_names): Likewise.
10068 * m88k.c (m_options): Likewise.
10069 * mips.c (mips_output_conditional_branch, mips_unique_section):
10070 Likewise.
10071 * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
10072 * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
10073 ultra_code_names): Likewise.
10074 * sparc.h (OVERRIDE_OPTIONS): Likewise.
10075
10076 2001-09-12 Jakub Jelinek <jakub@redhat.com>
10077
10078 * configure.in (gcc_cv_as_shf_merge): Fix a typo.
10079 Use --fatal-warnings option for gas.
10080 * configure: Rebuilt.
10081
10082 2001-09-12 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10083
10084 * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
10085
10086 2001-09-11 Jim Wilson <wilson@redhat.com>
10087
10088 * alias.c (clear_reg_alias_info): Only handle pseudo registers.
10089
10090 2001-10-11 Matt Kraai <kraai@alumni.carnegiemellon.edu>
10091
10092 * builtins.c (c_strlen): Treat an offset too large for a
10093 HOST_WIDE_INT as out of range.
10094
10095 Tue Sep 11 18:57:47 CEST 2001 Jan Hubicka <jh@suse.cz>
10096
10097 * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
10098 (EDGE_CRITICAL_P): New predicate.
10099 * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
10100 handling.
10101 (insert_insn_on_edge): Use EDGE_CRITICAL_P.
10102 (dump_edge_info): Remove "crit".
10103 * cfganal.c (mark_critical_edges): Kill.
10104 * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
10105 * cfgcleanup.c (cleanup_cfg): Likewise.
10106 * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
10107 (find_spanning_tree): Likewise.
10108 * reg-stack.c (convert_regs_1): Likewise.
10109 * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
10110
10111 * basic-block.h (create_basic_block_structure): New.
10112 (create_basic_block): Update prototype.
10113 (force_nonfallthru): New.
10114 * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
10115 * cfg.c (create_basic_block_structure): Rename from create_basic_block;
10116 handle updating of block_for_insn, creating of empty BBs and BBs at
10117 the end of INSN chain.
10118 (create_basic_block): New function.
10119 (split_block): Use create_basic_block.
10120 (force_nonfallthru_and_redirect): Break out from ...; cleanup
10121 (redirect_edge_and_branch_force): ... here.
10122 (force_nonfallthru): New.
10123 (split_edge): Rewrite to use force_nonfallthru and create_block.
10124 * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
10125 (find_basic_blocks): Free basic_block_for_insn.
10126 * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
10127
10128 * cfg.c: Fix formating.
10129 * cfgcleanup.c: Fix formating.
10130 (merge_blocks, tail_recursion_label_p): Return bool.
10131 (merge_blocks_move_predecessor_nojumps,
10132 merge_blocks_move_successor_nojumps): Return void.
10133
10134 2001-09-11 Jakub Jelinek <jakub@redhat.com>
10135
10136 * configure.in: Check whether assembler supports section merging.
10137 * config.in: Rebuilt.
10138 * configure: Rebuilt.
10139 * varasm.c (variable_section, output_constant_pool): Pass alignment
10140 to SELECT_SECTION and SELECT_RTX_SECTION.
10141 (mergeable_string_section): New.
10142 (mergeable_constant_section): New.
10143 (default_elf_asm_named_section): Output SECTION_MERGE and
10144 SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10145 * output.h (mergeable_string_section): New.
10146 (mergeable_constant_section): New.
10147 (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
10148 * toplev.c (flag_merge_constants): New.
10149 (f_options): Add -fmerge-constants and -fmerge-all-constants
10150 options.
10151 (toplev_main): Default to -fno-merge-constants if not optimizing.
10152 * flags.h (flag_merge_constants): Add extern.
10153 * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
10154 * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
10155 argument.
10156 * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
10157 Define if assembler has working .subsection -1 support.
10158 (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
10159 Put constant into special SHF_MERGE sections if the linker should
10160 attempt to merge duplicates.
10161 * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
10162 macro argument.
10163 Put constant into special SHF_MERGE sections if the linker should
10164 attempt to merge duplicates.
10165 * config/alpha/elf.h: Likewise.
10166 (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
10167 has working .subsection -1 support.
10168 * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
10169 SELECT_SECTION.
10170 * config/svr3.h: Likewise.
10171 * config/darwin.h: Likewise.
10172 * config/arm/aof.h: Likewise.
10173 * config/arm/linux-elf.h: Likewise.
10174 * config/avr/avr.h: Likewise.
10175 * config/c4x/c4x.h: Likewise.
10176 * config/d30v/d30v.h: Likewise.
10177 * config/i386/dgux.h: Likewise.
10178 * config/i386/osfrose.h: Likewise.
10179 * config/i386/sco5.h: Likewise.
10180 * config/i386/svr3gas.h: Likewise.
10181 * config/ia64/aix.h: Likewise.
10182 * config/m32r/m32r.h: Likewise.
10183 * config/m68k/m68k.h: Likewise.
10184 * config/m88k/dgux.h: Likewise.
10185 * config/m88k/m88k.h: Likewise.
10186 * config/mcore/mcore-pe.h: Likewise.
10187 * config/mips/mips.h: Likewise.
10188 * config/pa/pa.h: Likewise.
10189 * config/pa/pa-linux.h: Likewise.
10190 * config/romp/romp.h: Likewise.
10191 * config/rs6000/sysv4.h: Likewise.
10192 * config/rs6000/xcoff.h: Likewise.
10193 * config/s390/linux.h: Likewise.
10194 * config/sparc/sparc.h: Likewise.
10195 * config/sparc/sysv4.h: Likewise.
10196 * config/stormy16/stormy16.h: Likewise.
10197 * config/v850/v850.h: Likewise.
10198 * config/vax/vms.h: Likewise.
10199 * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
10200 and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
10201 * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
10202 default_elf_asm_named_section for SHF_MERGE sections.
10203
10204 Tue Sep 11 17:55:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10205
10206 * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
10207 is OK.
10208
10209 2001-09-11 Joseph S. Myers <jsm28@cam.ac.uk>
10210
10211 * c-common.c (split_specs_attrs): Allow for empty attributes with
10212 empty TREE_PURPOSE. Fixes PR c/4294.
10213
10214 Tue Sep 11 11:37:52 CEST 2001 Jan Hubicka <jh@suse.cz>
10215
10216 * basic-block.h (cached_make_edge, make_single_succ): New.
10217 (make_edge): Remove first parameter.
10218 * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
10219 * cfg.c (cached_make_edge): Rename from make_edge; return newly
10220 created edge; use obstack allocation.
10221 (make_edge, make_single_succ_edge): New.
10222 (first_removed_edge): New static variable.
10223 (init_flow): Initialize first_removed_edge and n_edges.
10224 (clear_edges): Use remove_edge.
10225 (flow_delete_block): Likewise.
10226 (remove_edge): Add removed edges to the removed edges list.
10227 (split_block, redirect_edge_and_branch_force, split_edge):
10228 Use make_edge.
10229 * cfganal.c (flow_call_edges_add): Updaet make_edge call.
10230 (add_noreturn_fake_exit_edges): Likewise.
10231 (connect_infinite_loops_to_exit): Liekwise.
10232 * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
10233 Use cached_make_edge.
10234 * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
10235 * profile.c (branch_prob): Update make_edge call.
10236 * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
10237
10238 2001-09-11 Richard Henderson <rth@redhat.com>
10239
10240 * config/alpha/alpha.c: Tidy formatting.
10241 (local_symbolic_operand): Verify mode.
10242 (alpha_sa_mask): Ignore unicos for eh_return.
10243 (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
10244 * config/alpha/alpha.md (umk divsi patterns): Remove.
10245 (extendsfdf2): Remove unicos check.
10246 (tablejump): Merge vms and unicos code; always use direct set
10247 plus label_ref use.
10248
10249 2001-09-11 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10250
10251 * config.gcc (alpha*-*-unicosmk*): New target.
10252
10253 * config/alpha/alpha-protos.h (symbolic_operand,
10254 unicosmk_add_call_info_word, unicosmk_add_extern,
10255 unicosmk_defer_case_vector, unicosmk_unique_section,
10256 unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
10257 unicosmk_asm_file_start, unicosmk_asm_file_end,
10258 unicosmk_output_common): Declare.
10259
10260 * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
10261 direct_return, function_arg, alpha_va_start, alpha_va_arg,
10262 alpha_does_function_need_gp, alpha_end_function): Support Cray
10263 Unicos/Mk.
10264 (alpha_init_machine_status, alpha_mark_machine_status,
10265 alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
10266 unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
10267 unicosmk_asm_named_section, unicosmk_insert_attributes,
10268 unicosmk_section_type_flags, symbolic_operand,
10269 unicosmk_output_module_name, unicosmk_output_default_externs,
10270 unicosmk_output_dex, unicosmk_output_externs,
10271 unicosmk_output_addr_vec, unicosmk_ssib_name,
10272 unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
10273 unicosmk_asm_file_end, unicosmk_output_common,
10274 unicosmk_section_type_flags, unicosmk_unique_section,
10275 unicosmk_add_call_info_word, unicosmk_text_section,
10276 unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
10277 unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
10278 unicosmk_dex_count, unicosmk_special_name): New.
10279 (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
10280 TARGET_ABI_UNICOSMK.
10281 (get_aligned_mem, alpha_expand_unaligned_load,
10282 alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
10283 alpha_expand_unaligned_store_words): Support big-endian mode.
10284 (print_operand): Likewise. New format specifier 't'. Use
10285 TARGET_AS_SLASH_BEFORE_SUFFIX.
10286 (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
10287 (alpha_pv_save_size): Update with above change.
10288 (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
10289 alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
10290 Unicos/Mk.
10291
10292 * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
10293 (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
10294 (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
10295 (EXTRA_CONSTRAINT): New constraint 'U'.
10296 (PREDICATE_CODES): Add symbolic_operand.
10297
10298 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
10299 UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
10300 (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
10301 (integer division and modulus patterns): Split in default and
10302 Unicos/Mk versions.
10303 (*divmodsi_internal, *divmoddi_internal): Disable for
10304 TARGET_ABI_UNICOSMK.
10305 (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
10306 little-endian and big-endian versions.
10307 (ext, ins, msk): Likewise.
10308 (extv, extzv, insv): Support big-endian mode.
10309 (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
10310 (call_umk, call_value_umk, *call_umk, tablejump_umk,
10311 *tablejump_umk_internal, *call_value_umk): New.
10312 (*movdi_nofix): Add pattern for loading an address into a register on
10313 TARGET_ABI_UNICOSMK.
10314 (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
10315 (umk_mismatch_args, arg_home_umk): New.
10316 (various insns): Don't use mov, fmov, nop, fnop and unop.
10317 (realign): Support TARGET_ABI_UNICOSMK.
10318
10319 * config/alpha/unicosmk.h: New file.
10320 * config/alpha/t-unicosmk: New file.
10321
10322 * fixinc/inclhack.def (unicosmk_restrict): New.
10323 * fixinc/fixincl.x: Regenerate.
10324
10325 * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
10326 (wchar_t): Check for and define __WCHAR_T__.
10327
10328 2001-09-11 Richard Sandiford <rsandifo@redhat.com>
10329
10330 * combine.c (simplify_shift_const): Treat shifts by the mode
10331 size as undefined.
10332
10333 2001-09-11 Neil Booth <neil@daikokuya.demon.co.uk>
10334
10335 * cpphash.h (struct tokenrun): New.
10336 (struct cpp_context): New member bol.
10337 (struct cpp_reader): New members.
10338 (_cpp_init_tokenrun): New.
10339 * cppinit.c (cpp_create_reader): Set up the token runs.
10340 * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
10341 (lex_token): New internalised version of _cpp_lex_token. Don't
10342 handle directives or the multiple include optimization here any
10343 more. Simply lex a token.
10344 * cpplib.c (run_directive): Clear bol.
10345 (_cpp_pop_buffer): Set bol.
10346 * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
10347 arguments.
10348
10349 2001-09-11 Michael Meissner <meissner@redhat.com>
10350
10351 * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
10352 give an error if the user uses -mfp32.
10353 (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
10354 default options.
10355 (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
10356 floating point register size.
10357 (EXTRA_SPECS): Add CPP_FPR_SPEC.
10358
10359 * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
10360 HOST_WIDE_INT_PRINT_DEC to properly print the result of
10361 int_size_in_bytes.
10362 * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10363 * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
10364
10365 2001-09-11 Hans-Peter Nilsson <hp@axis.com>
10366
10367 * dbxout.c (dbxout_parms): Fix typo in comment.
10368 * unroll.c (loop_find_equiv_value): Ditto.
10369 * toplev.c (rest_of_compilation): Ditto.
10370 * loop.c (scan_loop): Ditto.
10371 * dwarf2out.c (struct dw_fde_struct): Ditto.
10372
10373 2001-09-10 Zack Weinberg <zackw@panix.com>
10374
10375 * cpplex.c (parse_identifier): Fast-path optimize. Avoid
10376 copying identifier when we're just going to throw it away.
10377 (parse_identifier_slow): New routine to handle abnormal cases.
10378 (_cpp_lex_token): Update call site.
10379
10380 * hashtable.c (ht_lookup): Don't assume that the string we've
10381 been given is NUL-terminated.
10382 * system.h: #define __builtin_expect(a, b) to (a) if not
10383 GCC >=3.0.
10384
10385 2001-09-10 Michael Meissner <meissner@redhat.com>
10386
10387 * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
10388 binutils, gdb.
10389
10390 2001-09-10 David Edelsohn <edelsohn@gnu.org>
10391
10392 * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
10393
10394 Mon Sep 10 16:26:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10395
10396 * builtins.c (c_getstr): Correct thinko in last change and further
10397 cleanup.
10398
10399 2001-09-10 Tim Freeman <tim@fungibole.com>
10400
10401 * dwarf2out.c (incomplete_types, decl_scope_table): Make them
10402 into varray's and register them as roots with the garbage
10403 collector so they are not collected too soon.
10404
10405 Mon Sep 10 14:21:26 CEST 2001 Jan Hubicka <jh@suse.cz>
10406
10407 * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
10408 New.
10409 * basic-block.h (flow_obstack, label_value_list,
10410 tail_recursion_label_list): Declare
10411 (tidy_fallthru_edges): Declare.
10412 (expunge_block, last_loop_beg_note): Delete.
10413 (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
10414 * cfg.c: New file
10415 (basic_block_for_insn, label_value_list): Move from flow.c; make global.
10416 (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
10417 init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
10418 flow_delete_insn, flow_delete_insn_chain, create_basic_block,
10419 expunge_block, flow_delete_block, compute_bb_for_insn,
10420 update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
10421 make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
10422 redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
10423 try_redirect_by_replacing_jump, last_loop_beg_note,
10424 redirect_edge_and_branch, redirect_edge_and_branch_force,
10425 tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
10426 split_edge, insert_insn_on_edge, commit_one_edge_insertion,
10427 commit_edge_insertions, dump_flow_info, debug_flow_info,
10428 dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
10429 verify_flow_info, purge_dead_edges, purge_all_dead_edges):
10430 Move here from flow.c
10431 * cfganal.c: New file.
10432 (forwarder_block_p, can_fallthru, mark_critical_edges,
10433 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
10434 find_unreachable_blocks, create_edge_list, free_edge_list,
10435 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
10436 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
10437 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
10438 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
10439 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
10440 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
10441 Move here from flow.c
10442 * cfgbuild.c: New file
10443 (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
10444 make_edges, find_basic_blocks_1, find_basic_blocks,
10445 find_sub_basic_blocks): Move here from flow.c
10446 * cfgcleanup.c: New file.
10447 (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
10448 merge_blocks_move_predecessor_nojumps,
10449 merge_blocks_move_successor_nojumps, merge_blocks,
10450 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
10451 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
10452 (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
10453 if succeeded.
10454 * cfgloop.c: New file
10455 (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
10456 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
10457 flow_loop_exit_edges_find, flow_loop_nodes_find,
10458 flow_loop_pre_header_scan, flow_loop_pre_header_find,
10459 flow_loop_tree_node_add, flow_loops_tree_build,
10460 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
10461 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
10462 Move here from flow.c
10463 * flow.c: Remove everything moved elsewhere
10464 * output.h (cleanup_cfg): Return bool.
10465
10466 * bb-reorder.c (reorder_block_def): Remove 'index'.
10467 (insert_intra_1): Add argument BB, set block for new note.
10468 (make_reorder_chain): Do not depdent on BB indexes.
10469 (make_reorder_chain_1): Do not use BB indexes.
10470 (label_for_bb): Likewise; set BB for new insn.
10471 (emit_jump_to_block_after): Likewise.
10472 (fixup_reorder_chain): Sanity check that all basic blocks
10473 are chained; verify newly created insn chain; remove
10474 undocnitional jump simplifying; Do not use BB indexes;
10475 properly initialize count and frequency information;
10476 dump reordered sequence.
10477 (insert_intra_bb_scope_notes): update call of insert_intra_1.
10478 (insert_inter_bb_scope_notes): Set block for new insn.
10479 (reorder_basic_blocks): Dump flow info before reoredering.
10480
10481 Mon Sep 10 06:47:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10482
10483 * alias.c (clear_reg_alias_info): Use K&R format definition.
10484 Avoid unsigned warning.
10485 * builtins.c: Use "unsigned int", not "unsigned".
10486 (target_char_cast): Use host_integerp and tree_low_cst.
10487 (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
10488 (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
10489 (c_getstr): Likewise.
10490 (std_expand_builtin_va_arg): Use int_size_in_bytes.
10491 (builtin_memcpy_read_str): Avoid unsigned warning.
10492 (expand_builtin_memcpy): Alignments are unsigned.
10493 (expand_builtin_strncpy, expand_builtin_memset): Likewise.
10494 (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
10495 * predict.c (expensive_function_p): LIMIT now unsigned.
10496 * resource.c (mark_target_live_regs): Make some vars unsigned.
10497 * sdbout.c: Use "unsigned int", not "unsigned".
10498 (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
10499 (sdbout_source_line): Likewise.
10500 (sdbout_record_type_name): Remove "const" for NAME declaration.
10501 * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
10502
10503 2001-09-10 Richard Sandiford <rsandifo@redhat.com>
10504
10505 * calls.c (store_one_arg): Expand comment.
10506
10507 2001-09-10 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10508
10509 * calls.c (store_one_arg): Make sure that the entire argument is
10510 pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
10511
10512 2001-09-09 Richard Henderson <rth@redhat.com>
10513
10514 * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
10515
10516 Sun Sep 9 10:43:17 CEST 2001 Jan Hubicka <jh@suse.cz>
10517
10518 * loop.c (combine_givs): Fix computing of benefit once giv is combined.
10519
10520 2001-09-09 Richard Henderson <rth@redhat.com>
10521
10522 * config/alpha/alpha.c (alpha_next_sequence_number): New.
10523 (alpha_this_literal_sequence_number): New.
10524 (alpha_this_gpdisp_sequence_number): New.
10525 (some_operand, input_operand): Add HIGH.
10526 (local_symbolic_operand): New.
10527 (alpha_encode_section_info): New.
10528 (alpha_legitimate_address_p): Allow LO_SUM.
10529 (alpha_legitimize_address): Generate HIGH+LO_SUM.
10530 (alpha_expand_mov): Likewise.
10531 (secondary_reload_class): Check memory_operand not general_operand
10532 for FP_REGS test.
10533 (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
10534 (alpha_expand_unaligned_store): Likewise.
10535 (alpha_expand_unaligned_load_words): Likewise.
10536 (alpha_expand_unaligned_store_words): Likewise.
10537 (alpha_expand_block_clear): Likewise.
10538 (print_operand): Handle %#, %*, %H.
10539 (print_operand_address): Handle LO_SUM.
10540 (find_lo_sum): New.
10541 (alpha_does_function_need_gp): Use it.
10542 (alpha_expand_block_move): Fix signed compare warnings.
10543 (alpha_sa_mask, alpha_align_insns): Likewise.
10544 * config/alpha/alpha-protos.h: Update.
10545 * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
10546 (MASK_EXPLICIT_RELOCS): New.
10547 (TARGET_SWITCHES): Add -mexplicit-relocs.
10548 (EXTRA_CONSTRAINT): Add 'T'.
10549 (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
10550 (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
10551 (ENCODE_SECTION_INFO): Out line.
10552 (REDO_SECTION_INFO_P): New.
10553 (STRIP_NAME_ENCODING): New.
10554 (ASM_OUTPUT_LABELREF): New.
10555 (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
10556 (PREDICATE_CODES): Update.
10557 * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
10558 call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
10559 movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
10560 builtin_setjmp_receiver_er, exception_receiver_1_er,
10561 call_value_osf_1_er): New patterns.
10562 (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
10563 (movqi, movhi, movsi): Add explicit $31 base register to lda.
10564 * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
10565 (FINAL_PRESCAN_INSN): New.
10566
10567 Sat Sep 8 22:00:55 CEST 2001 Jan Hubicka <jh@suse.cz>
10568
10569 * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
10570
10571 2001-09-08 Andreas Jaeger <aj@suse.de>
10572
10573 * i386.h (TARGET_SWITCHES): Fix description.
10574
10575 2001-09-07 David Edelsohn <edelsohn@gnu.org>
10576
10577 * rs6000.c (num_insns_constant): Compute number of instructions
10578 more accurately.
10579
10580 * doc/install.texi: Explain AIX exception handling work-around.
10581 Update URL for AIX fixes.
10582
10583 2001-09-07 Jim Wilson <wilson@redhat.com>
10584
10585 * alias.c (clear_reg_alias_info): New.
10586 * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
10587 * rtl.h (clear_reg_alias_info): Declare.
10588
10589 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10590
10591 * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
10592 available.
10593 (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
10594 (m16m,edivm,emulm): Change declaration to match definition.
10595
10596 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10597
10598 * reload.c (push_reload): Check for subreg_lowpart_p instead of
10599 SUBREG_BYTE being 0 when determining if the inner part of a subreg
10600 can be reloaded.
10601
10602 2001-09-07 Roman Lechtchinsky <rl@cs.tu-berlin.de>
10603
10604 * c-common.c (signed_or_unsigned_type): Handle machine mode types
10605 which have no corresponding C type.
10606 * fold_const.c (target_isinf,target_isnan,target_negative): Update
10607 the representation of 64-bit doubles to work with 64-bit ints.
10608
10609 2001-09-07 Aldy Hernandez <aldyh@redhat.com>
10610
10611 * config/mips/mips.c (override_options): Do not override ISA when ABI
10612 specified if MIPS_CPU_STRING_DEFAULT was specified.
10613
10614 2001-09-07 Richard Henderson <rth@redhat.com>
10615
10616 * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
10617 (express_from_1): Wrap lines.
10618 * rtlanal.c (commutative_operand_precedence): Rename from
10619 operand_preference; export.
10620 * rtl.h: Declare it.
10621 * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
10622 (simplify_binary_operation): Invoke simplify_plus_minus on
10623 (CONST (PLUS ...)) as well.
10624 (struct simplify_plus_minus_op_data): New.
10625 (simplify_plus_minus_op_data_cmp): New.
10626 (simplify_plus_minus): Use them. Avoid infinite recursion with
10627 simplify_binary_operation wrt CONST.
10628
10629 Fri Sep 7 11:52:30 2001 Kazu Hirata <kazu@hxi.com>
10630
10631 * h8300-protos.h (general_operand_dst_push): Remove.
10632 * h8300.c (general_operand_dst_push): Likewise.
10633 * h8300.h (OK_FOR_T): Likewise.
10634 (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
10635 * h8300.md (pushqi_h8300): New.
10636 (pushqi_h8300hs): Likewise.
10637 (pushqi): Likewise.
10638 (pushhi_h8300): Likewise.
10639 (pushhi_h8300hs): Likewise.
10640 (pushhi): Likewise.
10641
10642 Fri Sep 7 12:56:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
10643
10644 * genattrtab.c (attr_printf): First arg is unsigned.
10645 Clean up formatting of callers.
10646
10647 2001-09-06 Aldy Hernandez <aldyh@redhat.com>
10648
10649 * config/mips/mips.c (override_options): Allow abi32 with 64 bit
10650 registers.
10651
10652 2001-09-07 Andreas Jaeger <aj@suse.de>
10653
10654 * i386.h (TARGET_SWITCHES): Fix descriptions.
10655
10656 2001-09-07 Matt Kraai <kraai@alumni.carnegiemellon.edu>
10657
10658 * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
10659
10660 2001-09-06 Ira Ruben <ira@apple.com>
10661
10662 Remove OP_IDENTIFIER.
10663 * tree.def (OP_IDENTIFIER): Remove.
10664 * tree.c (tree_node_kind enum): Remove op_id_kind.
10665 (tree_node_kind_names): Remove "op_identifiers".
10666 (make_node): Remove OP_IDENTIFIER test.
10667 (build_op_identifier): Removed because it isn't being used.
10668 * print-tree.c (print_node): Remove OP_IDENTIFIER case.
10669 * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
10670
10671 2001-09-06 Richard Henderson <rth@redhat.com>
10672
10673 * simplify-rtx.c (simplify_binary_operation): Revert last change.
10674
10675 2001-09-06 Richard Henderson <rth@redhat.com>
10676
10677 * simplify-rtx.c (simplify_binary_operation): Simplify contents
10678 of CONST.
10679
10680 2001-09-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
10681
10682 * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
10683 number used for CR register.
10684
10685 Thu Sep 6 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
10686 Joern Rennecke (amylaar@cygnus.com)
10687
10688 * h8300-protos.h (h8300_return_addr_rtx): New prototype.
10689 * h8300.c (initial_offset): Handle offset between RP and FP.
10690 (h8300_return_addr_rtx): New function.
10691 * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
10692 return register.
10693 (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
10694 (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
10695 (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
10696 (CAN_ELIMINATE, REGISTER_NAMES):
10697 (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
10698
10699 2001-09-06 Nathan Sidwell <nathan@codesourcery.com>
10700
10701 Remove TYPE_NONCOPIED_PARTS.
10702 * tree.h (TYPE_NONCOPIED_PARTS): Remove.
10703 (struct tree_type): Remove noncopied_parts.
10704 * c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
10705 * expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
10706 (fixed_type_p): Remove.
10707 (expand_expr, INIT_EXPR): Don't deal with noncopied parts.
10708 (expand_expr, MODIFY_EXPR): Likewise.
10709 * ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
10710 * doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
10711
10712 2001-09-06 Alan Modra <amodra@bigpond.net.au>
10713
10714 * config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
10715 compiler warnings.
10716 (mask64_operand): Likewise.
10717 (includes_rldic_lshift_p): Likewise.
10718 (includes_rldicr_lshift_p): Likewise.
10719
10720 2001-09-05 Ziemowit Laski <zlaski@apple.com>
10721
10722 * objc/objc-act.c (build_message_expr): If a class method cannot
10723 be found, do not issue a warning if a corresponding instance
10724 method exists in the root class.
10725
10726 2001-09-05 Richard Henderson <rth@redhat.com>
10727
10728 * config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
10729
10730 2001-09-05 Zack Weinberg <zack@codesourcery.com>
10731
10732 * function.c (ggc_mark_struct_function): Mark f->outer.
10733 * toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
10734 * integrate.c (output_inline_function): ... not here.
10735
10736 Wed Sep 5 17:28:49 CEST 2001 Jan Hubicka <jh@suse.cz>
10737
10738 * profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
10739
10740 * i386.c (size_cost): New static variable.
10741 (override_function): Use size_cost when -Os is specified.
10742
10743 * i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
10744 properly; Use current_function_calls_eh_return.
10745 (ix86_expand_epilogue): Avoid dummy optimize_size tests;
10746 use leave to avoid dependency chain.
10747
10748 * local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
10749 get BB loop_depth instead of computing it from LOOP notes.
10750
10751 * reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
10752
10753 2001-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
10754
10755 * som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
10756 * pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
10757 UNALIGNED_DOUBLE_INT_ASM_OP): Define
10758
10759 2001-09-05 Jeffrey A Law (law@cygnus.com)
10760 Jason Merrill (jason@redhat.com)
10761
10762 * stor-layout.c (layout_type): Complain if an array's size can
10763 not be represented in a size_t.
10764
10765 * config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
10766
10767 2001-09-05 David Billinghurst <David.Billinghurst@riotinto.com>
10768
10769 * gcc.c: (process_command) Add parentheses around assignment
10770 used as truth value.
10771
10772 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
10773
10774 * config/mips/mips.c (save_restore_insns): Don't mark any register
10775 save slots as unchanging if current_function_calls_eh_return.
10776
10777 2001-09-05 Richard Henderson <rth@redhat.com>
10778
10779 * config/alpha/alpha.c (alpha_legitimate_address_p): New.
10780 * config/alpha/alpha-protos.h: Declare it.
10781 * config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
10782 (NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
10783 (NONSTRICT_REG_OK_FP_BASE_P): Likewise.
10784 (STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
10785 (REG_OK_FOR_BASE_P): Select one of the above.
10786
10787 2001-09-05 Richard Sandiford <rsandifo@redhat.com>
10788
10789 * config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
10790 (crti.o): Prefix name of object file with $(T).
10791 (crtn.o): Likewise.
10792
10793 2001-09-05 David S. Miller <davem@redhat.com>
10794
10795 * config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
10796 * config/sparc/linux64.h: Likewise.
10797
10798 2001-09-05 Andreas Jaeger <aj@suse.de>
10799
10800 * doc/invoke.texi (i386 Options): -mwide-multiply is not
10801 available anymore, remove the documentation.
10802 (i386 Options): Fix typo, cleanup index entries.
10803
10804 * prefix.c (concat): Remove, we can use the version from liberty.
10805
10806 2001-09-05 Richard Henderson <rth@redhat.com>
10807
10808 * config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
10809 New functions split out of md file expanders.
10810 * config/alpha/alpha-protos.h: Declare them.
10811 * config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
10812
10813 2001-09-05 Neil Booth <neil@daikokuya.demon.co.uk>
10814
10815 * cppmacro.c (funlike_invocation_p): No need to restore context.
10816
10817 2001-09-04 Richard Henderson <rth@redhat.com>
10818
10819 * reload.c (push_reload): Export.
10820 * reload.h (push_reload): Declare it.
10821
10822 * config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
10823 (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
10824 * config/alpha/alpha.c (alpha_legitimize_address): New.
10825 (alpha_legitimize_reload_address): Likewise.
10826 * config/alpha/alpha-protos.h: Declare them.
10827
10828 2001-09-04 Stan Shebs <shebs@apple.com>
10829
10830 * config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
10831 * config/darwin.c (machopic_stub_name): Account for internally
10832 generated lib calls such as memcpy.
10833
10834 2001-09-04 Richard Henderson <rth@redhat.com>
10835
10836 * unwind.h (_UA_END_OF_STACK): New flag.
10837 * unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
10838
10839 Tue Sep 4 11:16:35 2001 Jeffrey A Law (law@cygnus.com)
10840
10841 * h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
10842
10843 2001-09-04 Richard Sandiford <rsandifo@redhat.com>
10844
10845 * config/mips/mips.c (save_restore_insns): Change base_offset to
10846 fp_offset in second call to mips_emit_frame_related_store.
10847
10848 2001-09-04 Hans-Peter Nilsson <hp@axis.com>
10849
10850 * doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
10851 sometimes be represented as a NOTE of type
10852 NOTE_INSN_DELETED_LABEL.
10853 (Insns): Document NOTE_INSN_DELETED_LABEL.
10854
10855 2001-09-04 Nathan Sidwell <nathan@codesourcery.com>
10856
10857 * c-common.h (tree_dump_index): Add more comments.
10858 * c-dump.c (dump_files): Name flags `tree' rather than `ast'.
10859 (dump_option_value_info): New struct.
10860 (dump_options): New array.
10861 (dump_switch_p): Parse switch options symbolically.
10862 * doc/invoke.texi (-fdump-ast): Rename to ...
10863 (-fdump-tree): ... here. Document that options are symbolic, and
10864 not all are applicable.
10865
10866 2001-09-04 David S. Miller <davem@redhat.com>
10867
10868 * config/sparc/sparc.md (define_splits): Kill constraints.
10869
10870 Cleanup redundant and unused insn attributes.
10871 * config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
10872 binary, and move. Mark ialu as default.
10873 (commented out define_function_unit "alu"): Kill.
10874 (define_attr "use_clobbered"): Kill.
10875 (whole file): Kill address insn type references. Replace
10876 all unary/binary/move references with ialu.
10877 * config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
10878 references. Replace TYPE_{UNARY,BINARY,MOVE} references with
10879 TYPE_IALU.
10880
10881 Simplify length insn attribute and make more judicious use
10882 of insn attribute defaulting.
10883 * config/sparc/sparc.md (all insns with length > one): Mark as
10884 insn type multi if real instructions, else use default if
10885 it is a forced splitter.
10886 (all insns with length == one): Use default insn length.
10887 (all insns of type ialu): Use default insn type.
10888
10889 Fix erroneous insn attribute settings.
10890 (addx): Set insn type to misc.
10891 (mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
10892 const_umulsidi3_sp64): Set insn type to imul.
10893
10894 Track SFmode vs DFmode insns according to UltraSPARC
10895 scheduling rules.
10896 * config/sparc/sparc.md ("fptype"): New attribute, default
10897 to "single".
10898 (all DFmode single insns): Mark as fptype "double".
10899
10900 2001-09-03 Jakub Jelinek <jakub@redhat.com>
10901
10902 * loop.c (express_from_1): Fix CONSTANT_P(a) case.
10903
10904 2001-09-03 Richard Henderson <rth@redhat.com>
10905
10906 * function.h (struct function): Add arg_pointer_save_area_init.
10907 * function.c (expand_function_end): Init arg_pointer_save_area.
10908 (get_arg_pointer_save_area): Do not init arg_pointer_save_area
10909 when called from a nested function.
10910
10911 2001-09-02 Angela Marie Thomas <angela@cygnus.com>
10912
10913 * fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
10914 is enabled.
10915
10916 Sun Sep 2 18:37:54 CEST 2001 Jan Hubicka <jh@suse.cz>
10917
10918 * reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
10919
10920 2001-09-01 Geoffrey Keating <geoffk@redhat.com>
10921
10922 * expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
10923 (emit_push_insn): Use specified padding direction when
10924 STACK_PUSH_CODE is POST_INC.
10925
10926 * config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
10927
10928 2001-09-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10929
10930 * mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
10931
10932 2001-09-01 Neil Booth <neil@daikokuya.demon.co.uk>
10933
10934 * cppinit.c (cpp_start_read): Free the imacros list as we
10935 traverse it. Don't free the chains before returning.
10936 (_cpp_push_next_buffer): Only try pushing buffers if we've
10937 completed -imacros handling.
10938
10939 2001-08-31 Eric Christopher <echristo@redhat.com>
10940
10941 * gcc.c (handle_braces): Add explaination for abort.
10942
10943 2001-08-30 Roman Zippel <zippel@linux-m68k.org>
10944
10945 * expmed.c (store_bit_field): Update to patch from 2001-08-27:
10946 move adjustment of bitpos instead.
10947
10948 2001-08-31 Zack Weinberg <zack@codesourcery.com>
10949
10950 * function.c: Remove all_functions. Make outer_function_chain
10951 static.
10952 (init_function_start): Don't add new function structure to
10953 all_functions.
10954 (find_function_data, push_function_context_to,
10955 pop_function_context_from, put_var_into_stack,
10956 trampoline_address): Update for changed structure element names.
10957 (push_function_context_to): Disentangle.
10958 (free_after_compilation): Also free F.
10959 (expand_dummy_function_end): Don't free cfun here.
10960 (put_var_into_stack): Comment why we can't use find_function_data here.
10961 (fix_lexical_addr, trampoline_address, ): Use find_function_data.
10962 (mark_function_chain): Split into maybe_mark_struct_function and
10963 ggc_mark_struct_function. Export the latter.
10964 (init_function_once): Mark from cfun and outer_function_chain;
10965 not all_functions.
10966
10967 * function.h (struct function): Kill next_global. Rename next
10968 to outer. All users updated to match.
10969 (all_functions, outer_function_chain): Don't declare.
10970
10971 * ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
10972 * integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
10973 don't touch f->inlinable, after calling rest_of_compilation.
10974
10975 * tree.h: Forward-declare struct function. Prototype
10976 ggc_mark_struct_function.
10977
10978 2001-08-31 Kazu Hirata <kazu@hxi.com>
10979
10980 * config/h8300/h8300.md (*andorhi3): Fix typos.
10981
10982 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10983
10984 * calls.c (emit_library_call_value): Don't use a fixed
10985 argument after VA_CLOSE, i.e. out of scope in traditional C.
10986
10987 * emit-rtl.c (gen_rtvec): Likewise.
10988
10989 2001-08-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10990
10991 * Makefile.in (c-pragma.o): Depend on output.h.
10992 (reorg.o): Depend on except.h.
10993
10994 * c-pragma.c: Include output.h.
10995
10996 * reorg.c: Include except.h.
10997
10998 * unwind-dw2.c: Call __builtin_alloca, not alloca.
10999
11000 2001-08-31 Richard Henderson <rth@redhat.com>
11001
11002 * sched-deps.c (add_dependence): Don't elide dependency if the
11003 conditional used by insn is modified in elem.
11004
11005 2001-08-31 Nick Clifton <nickc@cambridge.redhat.com>
11006
11007 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
11008
11009 2001-08-31 Diego Novillo <dnovillo@redhat.com>
11010
11011 * c-decl.c (c_decode_option): Skip '-f' prefix before calling
11012 dump_switch_p.
11013
11014 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
11015
11016 * config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
11017 function.
11018 (stormy16_asm_out_constructor): New function.
11019 (TARGET_ASM_CONSTRUCTOR): Define.
11020 (TARGET_ASM_DESTRUCTOR): Define.
11021
11022 2001-08-31 Andreas Jaeger <aj@suse.de>
11023
11024 * gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
11025 * loop.c (add_label_notes): Likewise.
11026 * reload.c (find_reloads): Likewise.
11027 * config/sh/sh.c (machine_dependent_reorg): Likewise.
11028
11029 2001-08-31 Jason Merrill <jason_merrill@redhat.com>
11030
11031 * unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
11032 code here. Take _Unwind_{W,Sw}ord*.
11033 (read_encoded_value_with_base): Use them.
11034 * unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
11035 words.
11036 (extract_cie_info): Simplify read_?leb128 handling.
11037 (execute_stack_op, execute_cfa_program): Likewise.
11038 * unwind-dw2-fde.c (get_cie_encoding): Likewise.
11039
11040 2001-08-31 Geoffrey Keating <geoffk@redhat.com>
11041
11042 * config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
11043 the frame pointer to pop the stack if convenient.
11044
11045 * config/stormy16/stormy16.c (stormy16_initialize_trampoline):
11046 Don't use post-increment before combine.
11047 * config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
11048 a call-saved register.
11049
11050 2001-08-31 Andreas Jaeger <aj@suse.de>
11051
11052 * jump.c (mark_jump_label): Revert patch from 2001-08-28, the
11053 code was correct.
11054
11055 2001-08-30 Geoffrey Keating <geoffk@redhat.com>
11056
11057 * config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
11058 not DIV/MOD, of course.
11059
11060 2001-08-30 Vladimir Makarov <vmakarov@redhat.com>
11061
11062 * rtl.def: Undo my patch commited 2001-08-27.
11063
11064 * genattrtab.c: Ditto.
11065
11066 * rtl.h: Ditto.
11067
11068 * sched-int.h: Ditto.
11069
11070 * target-def.h: Ditto.
11071
11072 * target.h: Ditto.
11073
11074 * haifa-sched.c: Ditto.
11075
11076 * sched-rgn.c: Ditto.
11077
11078 * sched-vis.c: Ditto.
11079
11080 * Makefile.in: Ditto.
11081
11082 * doc/md.texi: Ditto.
11083
11084 * doc/tm.texi: Ditto.
11085
11086 * doc/contrib.texi: Ditto.
11087
11088 * doc/gcc.texi: Ditto.
11089
11090 * genattrtab.h: Remove it.
11091
11092 * genautomata.c: Remove it.
11093
11094 * genattr.c: Undo my patch and Richard Henderson's patch commited
11095 2001-08-27.
11096
11097 Thu Aug 30 19:22:15 2001 J"orn Rennecke <amylaar@redhat.com>
11098
11099 * config.gcc (h8300-*-elf*): New case.
11100 * h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
11101 (SUBTARGET_CPP_SPEC): Define.
11102 (EXTRA_SPECS): Define.
11103 (SUBTARGET_EXTRA_SPECS): Define.
11104 * config/h8300/crti.asm, config/h8300/crtn.asm: New files.
11105 * config/h8300/elf.h, config/h8300/t-elf: Likewise.
11106
11107 Thu Aug 30 18:50:37 2001 J"orn Rennecke <amylaar@redhat.com>
11108
11109 * t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
11110 (LIB2FUNCS_EXTRA): Define.
11111 config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
11112 config/h8300/fixunssfsi.c: New file.
11113
11114 2001-08-30 Kazu Hirata <kazu@hxi.com>
11115
11116 * config/h8300/h8300.md (zero_extendqihi2): Changes to
11117 define_expand to accommodate target-specific attributes.
11118 (anonymous zero_extendqihi2 patterns): New.
11119
11120 Thu Aug 30 18:10:56 2001 J"orn Rennecke <amylaar@redhat.com>
11121
11122 * h8300.md (*andorhi3): New pattern.
11123
11124 Thu Aug 30 16:00:31 2001 J"orn Rennecke <amylaar@redhat.com>
11125
11126 * h8300.c (dosize): Fix test for "sub".
11127
11128 Thu Aug 30 10:21:43 2001 J"orn Rennecke <amylaar@redhat.com>
11129
11130 * c-typeck.c (pointer_diff): Try to eliminate common term before
11131 doing conversions.
11132
11133 2001-08-30 Nick Clifton <nickc@cambridge.redhat.com>
11134
11135 * config/arm/arm.c (arm_compute_initial_elimination_offset):
11136 Account for the saves of the FP registers.
11137
11138 * config/arm/unknown-elf.h (TEXT_SECTION): Delete.
11139 (TEXT_SECTION_ASM_OP): Define.
11140 (INIT_SECTION_ASM_OP): Define.
11141 (FINI_SECTION_ASM_OP): Define.
11142 (SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
11143 (RDATA_SECTION_FUNCITON): Provide prototype.
11144
11145 2001-08-29 Geoffrey Keating <geoffk@redhat.com>
11146
11147 * reload1.c (move2add_note_store): Correct typo checking for
11148 argument pushes.
11149
11150 2001-08-29 Andrew MacLeod <amacleod@redhat.com>
11151
11152 * gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
11153 note should not be considered outside the libcall block.
11154
11155 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11156
11157 * genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
11158
11159 2001-08-29 Kazu Hirata <kazu@hxi.com>
11160
11161 * config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
11162
11163 2001-08-29 Kazu Hirata <kazu@hxi.com>
11164
11165 * config/h8300/h8300-protos.h: Add a prototype for
11166 emit_logical_op.
11167 * config/h8300/h8300.c (emit_logical_op): New.
11168 * config/h8300/h8300.md (andhi3): Use emit_logical_op.
11169 (andsi3): Likewise.
11170 (iorhi3): Likewise.
11171 (iorsi3): Likewise.
11172 (xorhi3): Likewise.
11173 (xorsi3): Likewise.
11174
11175 2001-08-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
11176
11177 * pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
11178 comparison with rtx INTVAL.
11179 (pa_output_function_prologue): Don't mix signed and unsigned in `?'
11180 expression.
11181 * pa.h (FUNCTION_ARG_SIZE): Likewise.
11182
11183 2001-08-29 Kazu Hirata <kazu@hxi.com>
11184
11185 * config/h8300/lib1funcs.asm: Update the copyright. Fix
11186 comment typos.
11187
11188 2001-08-29 Kazu Hirata <kazu@hxi.com>
11189
11190 * config/h8300/h8300.md (anonymous movhi pattern): Don't move
11191 (reg n) to (mem (pre_dec (reg n))
11192 (anonymous movsi pattern): Likewise.
11193
11194 2001-08-29 Kazu Hirata <kazu@hxi.com>
11195
11196 * config/h8300/h8300.h (RETURN_ADDR_RTX): New.
11197
11198 2001-08-29 Kazu Hirata <kazu@hxi.com>
11199
11200 * config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
11201 several special constants.
11202
11203 2001-08-29 Kazu Hirata <kazu@hxi.com>
11204
11205 * config/h8300/lib1funcs.asm: Fix comment typos.
11206
11207 2001-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11208
11209 * iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
11210 Fix format specifier warnings.
11211
11212 * irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
11213 inet_makeaddr, semctl): Prototype.
11214
11215 * mips.c (compute_frame_size): Fix signed/unsigned warnings.
11216 (save_restore_insns): Use base_offset, not gp_offset.
11217
11218 * mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
11219 (ASM_OUTPUT_BYTE): Fix format specifier warning.
11220
11221 2001-08-29 Richard Henderson <rth@redhat.com>
11222
11223 * bb-reorder.c (function_tail_eff_head): New.
11224 (record_effective_endpoints): Set it.
11225 (fixup_reorder_chain): Use it.
11226
11227 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11228
11229 * dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
11230
11231 2001-08-28 Dale Johannesen <dalej@apple.com>
11232
11233 * config/darwin.c (machopic_function_base_name): Add const
11234 qualifier to a string.
11235 (darwin_encode_section_info): Ditto.
11236
11237 2001-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11238
11239 * tree.c (default_valid_attribute_p): Don't use PARAMS on a
11240 function definition.
11241
11242 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
11243
11244 * df.h (struct df): Add rts_order variable.
11245
11246 * df.c (df_visit_next_rts): New function.
11247 (df_visit_next): Renamed to df_visit_next_rc
11248 (df_analyse_1): Allocate/compute/free rts_order as well.
11249 (df_rd_global_compute): Use df_visit_next_rc instead of
11250 df_visit_next.
11251 (df_ru_global_compute): Use df_visit_next_rts instead of
11252 df_visit_next.
11253
11254 * flow.c (flow_reverse_top_sort_order_compute): New function.
11255
11256 * basic-block.h: Add prototype.
11257
11258 2001-08-28 Daniel Berlin <dan@cgsoftware.com>
11259
11260 * ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
11261 blocks, the BB_REACHABLE is now set, rather than aux being
11262 non-NULL. Update the test to reflect this.
11263
11264 2001-08-28 Eric Christopher <echristo@redhat.com>
11265
11266 * config/mips/crtn.asm: Add comment explaining 16 byte alignment.
11267 config/mips/crti.asm: Ditto.
11268
11269 2001-08-28 Eric Christopher <echristo@redhat.com>
11270 Richard Henderson <rth@redhat.com>
11271
11272 * c-pragma.h (add_weak): Move prototype from here...
11273 * output.h (add_weak): ... to here.
11274 * varasm.c (add_weak): Fix typo.
11275 * config/mips/crti.asm: New file.
11276 * config/mips/crtn.asm: Ditto.
11277 * config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
11278 (CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
11279 (INVOKE__main): Ditto.
11280 (INIT_SECTION_ASM_OP): New.
11281 (FINI_SECTION_ASM_OP): Ditto.
11282 (STARTFILE_SPEC): Add crti.
11283 (ENDFILE_SPEC): Add crtn.
11284 * config/mips/elf64.h: Same.
11285 * config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
11286 Remove.
11287 * config/mips/vxworks.h: Ditto.
11288 * config/mips/t-elf: Support crti and crtn.
11289
11290 2001-08-28 Alexandre Oliva <aoliva@redhat.com>
11291
11292 * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
11293 INSN_LIST.
11294
11295 2001-08-28 Richard Henderson <rth@redhat.com>
11296
11297 * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
11298 (one_cmplbi2 splitter): Remove redundant test.
11299
11300 2001-08-28 Dale Johannesen <dalej@apple.com>
11301
11302 * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
11303
11304 2001-08-28 Danny Smith <dannysmith@users.sourceforge.net>
11305
11306 * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
11307
11308 2001-08-28 Stan Shebs <shebs@apple.com>
11309
11310 * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
11311 (UNALIGNED_SHORT_ASM_OP): Define.
11312 (UNALIGNED_INT_ASM_OP): Define.
11313
11314 2001-08-28 Will Cohen <wcohen@redhat.com>
11315
11316 * config/rs6000/rs6000.md (store_multiple): Correct RTL
11317 generation for first set.
11318
11319 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11320
11321 * flow.c (redirect_edge_succ_nodup): Return new edge.
11322 (try_simplify_condjump): Use new edge.
11323 * basic-block.h (redirect_edge_succ_nodup): Update prototype.
11324
11325 * cse.c (cse_basic_block): Skip note instructions.
11326
11327 2001-08-27 Richard Henderson <rth@redhat.com>
11328
11329 * combine.c (combine_simplify_rtx): Don't reverse condition
11330 if there is no reverse for the condition.
11331 (simplify_comparison): Don't simplify subregs from INT to FP.
11332
11333 * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
11334 suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
11335 sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
11336 bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
11337 bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
11338 bunle_rev, bunlt_rev, bltgt_rev): New patterns.
11339
11340 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11341
11342 * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
11343 bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
11344 (pushqi1): New.
11345 (adddi_dilshr32, adddi_dishl32): Only data register can be
11346 source for mem destination.
11347
11348 * expmed.c (store_bit_field): Ignore adjustment to bitpos
11349 and use bitnum to decide about register move.
11350
11351 2001-08-27 Richard Henderson <rth@redhat.com>
11352
11353 * genattr.c (main): Emit state_t even when not doing scheduling.
11354
11355 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11356 Richard Henderson <rth@redhat.com>
11357
11358 * gcse.c (reg_first_set, reg_last_set): Replace with ...
11359 (reg_avail_info, current_bb): ... these.
11360 (oprs_unchanged_p, record_last_reg_set_info): Use them.
11361 (compute_hash_table): Likewise.
11362
11363 2001-08-27 Roman Zippel <zippel@linux-m68k.org>
11364
11365 * flow.c (verify_flow_info): Use checksums to verify edges.
11366
11367 2001-08-27 Richard Henderson <rth@redhat.com>
11368
11369 * genautomata.c (expand_automata): Always create a description.
11370
11371 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
11372
11373 * optabs.c (expand_binop): Correctly handle the carry in multiword
11374 add/subtract operations.
11375
11376 2001-08-27 Fred Fish <fnf@be.com>
11377
11378 * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
11379 __SIZE_TYPE__.
11380
11381 2001-08-27 Geoffrey Keating <geoffk@redhat.com>
11382
11383 * reload.c (find_reloads_toplev): Back out this change:
11384
11385 Wed Jul 26 19:44:05 2000 Hans-Peter Nilsson <hp@axis.com>
11386
11387 * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
11388 mem if the address is a mode_dependent_address_p.
11389
11390 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
11391
11392 * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
11393 PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
11394 AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
11395 RTL constructions.
11396
11397 * genattr.c (main): New variable num_insn_reservations. Increase
11398 it if there is DEFINE_INSN_RESERVATION. Output automaton based
11399 pipeline hazard recognizer interface.
11400
11401 * genattrtab.h: New file.
11402
11403 * genattrtab.c: Include genattrtab.h.
11404 (attr_printf, check_attr_test, make_internal_attr,
11405 make_numeric_value): Move protypes into genattrtab.h. Define them
11406 as external.
11407 (num_dfa_decls): New global variable.
11408 (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
11409 DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
11410 DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
11411 DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
11412
11413 * genautomata.c: New file.
11414
11415 * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
11416
11417 * sched-int.h: (curr_state): Add the external definition for
11418 automaton pipeline interface.
11419 (haifa_insn_data): Add comments for members blockage and units.
11420
11421 * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11422 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11423 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11424 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11425 TARGET_SCHED_DFA_POST_CYCLE_INSN,
11426 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11427 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
11428 macros.
11429 (TARGET_SCHED): Use the new macros.
11430
11431 * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
11432 dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
11433 first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
11434 dfa_bubble): New members in gcc_target.sched.
11435
11436 * haifa-sched.c (insert_schedule_bubbles_p): New variable.
11437 (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
11438 (insn_queue): Redefine it as pointer to array.
11439 (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
11440 INSN_QUEUE_SIZE.
11441 (max_insn_queue_index_macro_value): New variable.
11442 (curr_state, dfa_state_size, ready_try): New varaibles for
11443 automaton interface.
11444 (ready_element, ready_remove, max_issue): New function prototypes
11445 for automaton interface.
11446 (choose_ready): New function prototype.
11447 (insn_unit, blockage_range): Add comments.
11448 (unit_last_insn, unit_tick, unit_n_insns): Define them for case
11449 FUNCTION_UNITS_SIZE == 0.
11450 (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
11451 actual_hazard, potential_hazard): Add comments.
11452 (insn_cost): Use cost -1 as undefined value. Remove
11453 LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
11454 pipeline interface.
11455 (ready_element, ready_remove): New functions for automaton
11456 interface.
11457 (schedule_insn): Add new code for automaton pipeline interface.
11458 (queue_to_ready): Add new code for automaton pipeline interface.
11459 Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
11460 (debug_ready_list): Print newline when the queue is empty.
11461 (max_issue): New function for automaton pipeline interface.
11462 (choose_ready): New function.
11463 (schedule_block): Add new code for automaton pipeline interface.
11464 Print ready list before scheduling each insn.
11465 (sched_init): Add new code for automaton pipeline interface.
11466 Initiate insn cost by -1.
11467 (sched_finish): Free the current automaton state and finalize
11468 automaton pipeline interface.
11469
11470 * sched-rgn.c: Include target.h.
11471 (init_ready_list, new_ready, debug_dependencies): Add new code for
11472 automaton pipeline interface.
11473
11474 * sched-vis.c: Include target.h.
11475 (get_visual_tbl_length): Add code for automaton interface.
11476 (target_units, print_block_visualization): Add comments.
11477
11478 * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
11479 USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
11480 (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
11481 (getruntime.o, genautomata.o): New entries.
11482 (genattrtab.o): Add new dependency file genattrtab.h.
11483 (genattrtab): Add new dependencies. Link it with `libm.a'.
11484 (getruntime.o, hashtab.o): New entries for canadian cross.
11485
11486 * doc/md.texi: Description of automaton based model.
11487
11488 * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
11489 Add comments.
11490 (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
11491 TARGET_SCHED_DFA_PRE_CYCLE_INSN,
11492 TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
11493 TARGET_SCHED_DFA_POST_CYCLE_INSN,
11494 TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
11495 TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
11496 TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
11497 hook descriptions.
11498 (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
11499 MAX_DFA_ISSUE_RATE): New macro descriptions.
11500
11501 * doc/contrib.texi: Add dfa based scheduler contribution.
11502
11503 * doc/gcc.texi: Add more information about genattrtab.
11504
11505 2001-08-27 Diego Novillo <dnovillo@redhat.com>
11506
11507 * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
11508 an RTL basic block.
11509
11510 2001-08-27 Richard Henderson <rth@redhat.com>
11511
11512 * function.c (expand_function_end): Don't init arg_pointer_save_area.
11513 (get_arg_pointer_save_area): New. Create an init it here.
11514 (fix_lexical_addr): Use it.
11515 * function.h: Declare it.
11516 * builtins.c (expand_builtin_setjmp_receiver): Use it.
11517 * stmt.c (expand_nl_goto_receiver): Use it.
11518
11519 2001-08-27 Richard Henderson <rth@redhat.com>
11520
11521 * final.c (final_scan_insn): Don't enter APP_ON mode for
11522 empty asm strings.
11523
11524 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
11525 alignment for assemble_integer for DW_EH_PE_aligned.
11526 * except.c (output_function_exception_table): Likewise.
11527
11528 2001-08-26 Andreas Jaeger <aj@suse.de>
11529
11530 * c-tree.h: Add prototyp for c_sizeof_nowarn.
11531
11532 2001-08-25 Dan Nicolaescu <dann@ics.uci.edu>
11533
11534 * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
11535
11536 2001-08-27 Alan Modra <amodra@bigpond.net.au>
11537
11538 * config/rs6000/rs6000.c (mask_operand): Rewrite without
11539 bit-shifting loop.
11540 (mask64_operand): Likewise.
11541 (rldic_operand): Delete.
11542 (includes_lshift64_p): Delete.
11543 (includes_rldic_lshift_p): New function.
11544 (includes_rldicr_lshift_p): New function.
11545 (print_operand): Don't call rldic_operand in case 'W'.
11546 * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
11547 (includes_lshift64_p): Remove.
11548 (includes_rldic_lshift_p): Declare.
11549 (includes_rldicr_lshift_p): Declare.
11550 * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
11551 * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
11552 Replace match_operand rldic_operand predicate with
11553 const_int_operand. Replace includes_lshift64_p condition with
11554 includes_rldic_lshift_p.
11555 <ashldi3_internal 64 bit rldicr patterns>: New.
11556
11557 2001-08-27 Andreas Jaeger <aj@suse.de>
11558
11559 * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
11560 * errors.c: Likewise.
11561 * final.c: Likewise.
11562 * dwarf2asm.c: Likewise.
11563 * doprint.c (checkit): Likewise.
11564 * diagnostic.c: Likewise.
11565 * collect2.c: Likewise.
11566 * calls.c: Likewise.
11567 * c-semantics.c (build_stmt): Likewise.
11568 * c-format.c (status_warning): Likewise.
11569 * c-errors.c (pedwarn_c99): Likewise.
11570 * builtins.c (validate_arglist): Likewise.
11571 * config/pj/pj.c (pj_printf): Likewise.
11572 * fix-header.c: Likewise.
11573 * gcc.c: Likewise.
11574 * gcov.c (fnotice): Likewise.
11575 * gensupport.c (message_with_line): Likewise.
11576 * mips-tfile.c: Likewise.
11577 * protoize.c (notice): Likewise.
11578 * read-rtl.c (fatal_with_file_and_line): Likewise.
11579 * rtl-error.c: Likewise.
11580 * tradcpp.c: Likewise.
11581 * tree.c: Likewise.
11582 * cp/tree.c (build_min_nt): Likewise.
11583 (build_min): Likewise.
11584 * cp/lex.c: Likewise.
11585 * cp/errfn.c: Likewise.
11586 * cp/rtti.c (create_pseudo_type_info): Likewise.
11587
11588 Sun Aug 26 20:25:44 2001 Denis Chertykov <denisc@overta.ru>
11589
11590 * df.c (df_uses_record): Return after recording all uses
11591 in ASM_OPERANDS.
11592
11593 2001-08-26 Daniel Berlin <dan@cgsoftware.com>
11594
11595 * df.c (df_insn_modify): Realloc the INSN table here, if
11596 necessary, here, too.
11597
11598 2001-08-26 Aldy Hernandez <aldyh@redhat.com>
11599
11600 * config/mips/mips.c (mips_function_value): Handle complex return
11601 values.
11602
11603 2001-08-25 Hans-Peter Nilsson <hp@bitrange.com>
11604
11605 * reload1.c (reload): Make all entries in reg_equiv_memory_loc
11606 unshared.
11607 * reload.c (make_memloc): Copy result if it is still
11608 reg_equiv_memory_loc[regno] on return.
11609 (subst_reloads) [ENABLE_CHECKING]: Check that none of
11610 reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
11611 reg_equiv_mem are modified by the substitutions.
11612
11613 Sat Aug 25 23:07:35 CEST 2001 Jan Hubicka <jh@suse.cz>
11614
11615 * predict.c (expensive_function_p): New.
11616 * rtl.h (expensive_function_p): Declare.
11617 * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
11618 (use_fast_prologue_epilogue): New static variable.
11619 (expand_prologue): Set it; emit short prologues if unset.
11620 (expand_epilogue): Likewise.
11621
11622 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
11623
11624 * config.gcc: Add stormy16-*-elf case.
11625 * config/stormy16/stormy-abi: New file.
11626 * config/stormy16/stormy16-lib2.c: New file.
11627 * config/stormy16/stormy16-protos.h: New file.
11628 * config/stormy16/stormy16.c: New file.
11629 * config/stormy16/stormy16.h: New file.
11630 * config/stormy16/stormy16.md: New file.
11631 * config/stormy16/t-stormy16: New file.
11632
11633 Sat Aug 25 15:46:51 CEST 2001 Jan Hubicka <jh@suse.cz>
11634
11635 * i386.h (no-accumulate-outgoing-args): Use proper mask.
11636
11637 2001-08-24 David Edelsohn <edelsohn@gnu.org>
11638
11639 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
11640 descriptor members are pointer size, not constant 4.
11641 * config/rs6000/rs6000.md (define_splits): Remove more unused
11642 constraints.
11643
11644 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11645
11646 * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
11647
11648 2001-08-24 Andreas Jaeger <aj@suse.de>, rkl@connect.org.uk
11649
11650 * cp/rtti.c (VPARAMS): Fix parameter.
11651
11652 2001-08-24 Zack Weinberg <zackw@panix.com>
11653
11654 * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
11655 to zero.
11656 (mode_for_extraction): No need for #ifdefs. Add default-case abort
11657 to switch.
11658 (store_bit_field): Eliminate insv_bitsize variable. Put HAVE_insv
11659 in if controlling use of insv.
11660 (extract_bit_field): Likewise, for extv and extzv.
11661
11662 Fri Aug 24 17:27:46 CEST 2001 Jan Hubicka <jh@suse.cz>
11663
11664 * i386.md (movcc peep2): Fix load of 0.
11665
11666 2001-08-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11667
11668 * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
11669 *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
11670
11671 2001-08-23 Jason Merrill <jason_merrill@redhat.com>
11672
11673 * c-pragma.h: Move weak_syms and weak_decls...
11674 * varasm.c: ...here. Now static.
11675 (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
11676 depend on HANDLE_PRAGMA_WEAK.
11677
11678 * c-common.c (c_alignof, c_alignof_expr): Move here...
11679 * c-typeck.c: ...from here.
11680 * c-tree.h, c-common.h: Adjust.
11681
11682 2001-08-23 Bernd Schmidt <bernds@redhat.com>
11683
11684 * config/ia64/ia64.c (rws_update): If !pred, set write_count
11685 instead of incrementing it.
11686
11687 * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
11688 asm ready, don't try to move them all into the same array element.
11689
11690 Thu Aug 23 17:21:43 CEST 2001 Jan Hubicka <jh@suse.cz>
11691
11692 * function.c (thread_prologue_and_epilogue_insns): Avoid
11693 fallthru flag on edge to exit.
11694
11695 * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
11696
11697 * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
11698 dead edges.
11699
11700 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
11701
11702 * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
11703 * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
11704 * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
11705 Remove prototype.
11706
11707 2001-08-23 Lars Brinkhoff <lars@nocrew.org>
11708
11709 * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
11710 replace "GNU CC" with "GCC".
11711
11712 2001-08-23 Richard Henderson <rth@redhat.com>
11713
11714 * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
11715 Reorganize. Handle ADDL like GR, add GR_AND_BR. Handle TFmode.
11716 (ia64_secondary_reload_class): Need GR between AR/BR and anything.
11717 Need GR between FR and not GR_AND_FR.
11718 * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
11719 * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
11720 AR regs before GR regs.
11721 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
11722 (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
11723 (REGISTER_MOVE_COST): Update.
11724 (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
11725
11726 2001-08-23 Richard Henderson <rth@redhat.com>
11727
11728 * regclass.c (init_reg_sets_1): Don't assume cost 2 within
11729 a register class.
11730
11731 2001-08-22 Geoffrey Keating <geoffk@redhat.com>
11732
11733 * reload1.c (emit_reload_insns): Don't look for notes
11734 on a NULL store_insn.
11735
11736 2001-08-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11737
11738 * sparc.c (uns_small_int): Don't reference a constant >32-bit.
11739 (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
11740 (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
11741 format specifier warnings.
11742 (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
11743
11744 2001-08-22 David Billinghurst <David.Billinghurst@riotinto.com>
11745
11746 * config/i386/i386-protos.h: Correct declaration of
11747 i386_pe_asm_named_section.
11748
11749 2001-08-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
11750
11751 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
11752 variable i.
11753 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
11754
11755 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
11756
11757 * cpperror.c (print_location): Don't show _Pragma.
11758 * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
11759 and file change callback generation here.
11760 (stack_include_file): Update use of cpp_push_buffer.
11761 * cpphash.h (_cpp_pop_file_buffer): Update prototype.
11762 (struct cpp_buffer): Remove type, pfile members.
11763 * cppinit.c (cpp_handle_option): Use free_chain.
11764 * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
11765 (skip_escaped_newlines, get_effective_char, lex_percent): Take
11766 a cpp_reader rather than a cpp_buffer.
11767 (skip_escaped_newlines, get_effective_char, skip_block_comment,
11768 skip_line_comment, parse_string, lex_percent, lex_dot,
11769 _cpp_lex_token): Update accordingly.
11770 * cpplib.c (_cpp_pop_buffer): Don't do file change callback
11771 generation here.
11772 (cpp_push_buffer): Update prototype.
11773 (run_directive): Update use of cpp_push_buffer.
11774 (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
11775 handle_assertion): Update use of run_directive.
11776 * cpplib.h (enum cpp_buffer_type): Remove.
11777 (cpp_push_buffer): Update prototype.
11778 * fix-header.c (read_scan_file): Update.
11779
11780 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11781
11782 * gcc.c (struct prefix_list): Change prefix to const char *.
11783
11784 2001-08-22 Matt Kraai <kraai@alumni.carnegiemellon.edu>
11785
11786 * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
11787
11788 2001-08-22 Jason Merrill <jason_merrill@redhat.com>
11789
11790 * explow.c (set_mem_attributes): Avoid returning a bogus alias set
11791 from a new MEM.
11792
11793 * jump.c (squeeze_notes): Take parms by reference. Handle END being
11794 a squeezable note.
11795 * rtl.h: Adjust.
11796 * ifcvt.c (dead_or_predicable): Adjust.
11797 * loop.c (find_and_verify_loops): Adjust.
11798 * stmt.c (expand_end_case): Adjust.
11799 * flow.c (merge_blocks_move_successor_nojumps): Adjust. Modify the
11800 head and end insn pointers in the basic block, not just local copies.
11801 (merge_blocks_move_predecessor_nojumps): Likewise.
11802
11803 2001-08-22 Lars Brinkhoff <lars@nocrew.org>
11804
11805 * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
11806 bitmap.h, builtin-types.def, builtins.c, builtins.def,
11807 c-aux-info.c, c-common.c, c-common.def, c-common.h,
11808 c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
11809 c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
11810 c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
11811 caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
11812 conditions.h, config.gcc, configure.frag, configure.in,
11813 conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
11814 cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
11815 dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
11816 doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
11817 dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
11818 emit-rtl.c, errors.c, errors.h, except.c, except.h,
11819 exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
11820 fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
11821 function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
11822 gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
11823 gencheck.c, gencodes.c, genconfig.c, genemit.c,
11824 genextract.c, genflags.c, gengenrtl.c, genmultilib,
11825 genopinit.c, genoutput.c, genpeep.c, genrecog.c,
11826 gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
11827 ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
11828 graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
11829 gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
11830 gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
11831 hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
11832 integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
11833 libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
11834 machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
11835 mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
11836 mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
11837 params.h, predict.c, predict.def, predict.h, prefix.c,
11838 prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
11839 read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
11840 regclass.c, regmove.c, regrename.c, regs.h, reload.c,
11841 reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
11842 rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
11843 sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
11844 sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
11845 ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
11846 stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
11847 tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
11848 tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
11849 unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
11850 unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
11851 xcoffout.h: replace "GNU CC" with "GCC".
11852
11853 2001-08-21 Richard Henderson <rth@redhat.com>
11854
11855 * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
11856 (final_scan_insn): Consider jump tables data even if we have no
11857 independent text section if !JUMP_TABLES_IN_TEXT_SECTION. Use
11858 ADDR_VEC_ALIGN.
11859 * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
11860 (ASM_OUTPUT_CASE_END): Remove.
11861 (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
11862 * config/ia64/ia64.md (tablejump): Decode pc-relative references.
11863 * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
11864
11865 2001-08-21 Richard Henderson <rth@redhat.com>
11866
11867 * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
11868 at barrier insns. Emit stop bits before barriers.
11869
11870 * flow.c (flow_find_cross_jump): Don't consider unconditional
11871 return insns for commoning.
11872
11873 * final.c (compute_alignments): Fix typo.
11874
11875 * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
11876 (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
11877 (store_bit_field): Use mode_for_extraction more places.
11878 (extract_bit_field): Likewise.
11879
11880 2001-08-21 Zack Weinberg <zackw@panix.com>
11881
11882 * caller-save.c: Don't include insn-codes.h.
11883 (reg_save_code, reg_restore_code): Make arrays of int.
11884 All uses updated to match.
11885 (insert_save, insert_restore): No need to initialize "code"
11886 variable upon declaration.
11887 * Makefile.in: update dependencies; fix typo in clean rule.
11888
11889 2001-08-21 Richard Henderson <rth@redhat.com>
11890
11891 * ifcvt.c (find_if_block): Allow join_bb as EXIT.
11892 (merge_if_block): Handle fallout from same.
11893
11894 2001-08-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
11895
11896 * builtins.c (type_to_class): Fix typo in last change.
11897
11898 2001-08-21 Richard Henderson <rth@redhat.com>
11899
11900 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
11901 ia64_asm_output_label.
11902
11903 * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
11904 copy of gp while the real gp register contains garbage.
11905
11906 2001-08-21 Zack Weinberg <zackw@panix.com>
11907
11908 * expmed.c (mode_for_extraction): New function.
11909 (store_bit_field, extract_bit_field): Use it.
11910 * expr.h: Prototype it and provide an enum for its first argument.
11911
11912 * combine.c, function.c, recog.c: Don't include insn-codes.h.
11913 Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
11914 and digging through the insn_data tables.
11915 * Makefile.in: Update dependencies.
11916
11917 2001-08-22 Neil Booth <neil@daikokuya.demon.co.uk>
11918
11919 * cppfiles.c (stack_include_file): line-map.c now handles include
11920 depth.
11921 (handle_missing_handler): Similarly.
11922 (_cpp_execute_include): Similarly.
11923 (_cpp_pop_file_buffer): Similarly.
11924 * cpphash.h (struct cpp_reader): Remove system_include_depth,
11925 buffer_stack_depth and include_depth.
11926 * cpplib.c (do_include_common): line-map.c now handles include depth.
11927 (cpp_push_buffer): Similarly.
11928 (_cpp_pop_buffer): Similarly.
11929 * cppmacro.c (builtin_macro): Update.
11930 * line-map.c (init_line_maps): Set depth.
11931 (add_line_map): Increment "used" earlier. Update and use the
11932 include depth.
11933 (trace_include): Use the include depth.
11934 * line-map.h (struct line_maps): New member depth.
11935
11936 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
11937
11938 * cppfiles.c (stack_include_file): Don't handle -H here.
11939 * cppinit.c (cpp_start_read): Set include tracing after
11940 cpp_post_options and after stacking the main file.
11941 * line-map.c (trace_include): New.
11942 (init_line_maps, add_line_map): Update.
11943 * line-map.h (struct line_maps): New member trace_includes.
11944
11945 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
11946
11947 * cppfiles.c (stack_include_file): Harmonize system headerness tests.
11948 * cppfiles.c (stack_include_file): Only stack a file if there
11949 is something to do. Return a boolean indicating whether a
11950 buffer was stacked or not.
11951 (_cpp_execute_include): Similarly.
11952 (_cpp_read_file): Similarly.
11953 * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
11954
11955 2001-08-21 Sam Steingold <sds@gnu.org>
11956
11957 * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
11958 (RECACHE): keep obufp_before_macroname up to date
11959
11960 2001-08-21 Zack Weinberg <zackw@panix.com>
11961
11962 * stmt.c: Don't include insn-codes.h.
11963 (expand_end_case): Machine specific logic moved to expr.c.
11964 No need to worry about __builtin_classify_type.
11965 (check_for_full_enumeration_handling, emit_case_nodes):
11966 Kill #if 0 blocks.
11967
11968 * builtins.o (expand_builtin_classify_type): Split up so code
11969 can be shared with fold_builtin_classify_type.
11970 (type_to_class, fold_builtin_classify_type): New functions.
11971 (fold_builtins): Handle __builtin_classify_type.
11972
11973 * expr.c (do_tablejump): Now static.
11974 (case_values_threshold, try_casesi, try_tablejump): New;
11975 code mostly from stmt.c (expand_end_case).
11976 (expr.h): Update prototypes.
11977
11978 * Makefile.in (stmt.o): Update dependencies.
11979
11980 2001-08-21 Will Cohen <wcohen@redhat.com>
11981
11982 * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
11983 declaration of variable i.
11984 * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
11985 declaration of variable i.
11986
11987 2001-08-21 Richard Henderson <rth@redhat.com>
11988
11989 * crtstuff.c: Fix thinko last change. Move list tails to start
11990 of CRT_END section. Tidy ifdefs.
11991 (__EH_FRAME_BEGIN__): Always static for ELF.
11992 (__do_global_ctors_1): Rename from __frame_dummy.
11993 * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
11994 name change; don't hide __EH_FRAME_BEGIN__.
11995
11996 2001-08-21 Richard Henderson <rth@redhat.com>
11997
11998 * gdbinit.in: Move break on exit after break on fancy_abort.
11999
12000 * config/ia64/ia64.c (ia64_return_in_memory): True for variable
12001 sized types.
12002
12003 2001-08-21 Neil Booth <neil@daikokuya.demon.co.uk>
12004
12005 * cpphash.h (_cpp_push_next_buffer): New.
12006 * cppinit.c (do_includes): Remove.
12007 (push_include, free_chain, _cpp_push_next_buffer): New.
12008 (cpp_start_read): Use them to rework command line option handling.
12009 (cpp_handle_option): Combine handling of -include and -imacros.
12010 * cpplex.c (_cpp_lex_token): Push a new -include buffer if
12011 appropriate. Always insert missing \n at EOF.
12012 * cpplib.c (start_directive): Get the directive position right.
12013 * cppmain.c (cb_file_change): Always print the first line, unless
12014 preprocessed.
12015
12016 2001-08-20 Andreas Jaeger <aj@suse.de>
12017
12018 * profile.c (compute_branch_probabilities): Remove extra new-line
12019 in error message.
12020 * flow.c (verify_flow_info): Likewise.
12021
12022 2001-08-20 Diego Novillo <dnovillo@redhat.com>
12023
12024 * basic-block.h (basic_block): Add new field 'flags'.
12025 (BB_REACHABLE): Define.
12026 (expunge_block): Declare.
12027 * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
12028 (EXIT_BLOCK_PTR): Ditto.
12029 (expunge_block): Remove static declaration.
12030 (cleanup_cfg): Clear bb->aux on every basic block.
12031 (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
12032 computing reachability.
12033 (delete_unreachable_blocks): Delete block b if b->flags has
12034 BB_REACHABLE unset.
12035
12036 2001-08-20 Diego Novillo <dnovillo@redhat.com>
12037
12038 * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
12039
12040 2001-08-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12041
12042 * sparc.c (sparc_variable_issue): Fix typo in last change.
12043
12044 2001-08-20 Richard Henderson <rth@redhat.com>
12045
12046 * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
12047
12048 2001-08-20 John David Anglin <dave@hiauly1.hia.nrc.ca>
12049
12050 * pa.h (RETURN_IN_MEMORY): Improve comment.
12051
12052 2001-08-20 Janis Johnson <janis187@us.ibm.com>
12053
12054 * doc/invoke.texi (Profiling options): Clarify the interactions
12055 between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
12056
12057 2001-08-20 Jeffrey Oldham <oldham@codesourcery.com>
12058
12059 * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
12060 command.
12061
12062 2001-08-20 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12063
12064 * gcc.c (make_relative_prefix): Allocate a sufficiently large
12065 buffer.
12066
12067 2001-08-20 Richard Henderson <rth@redhat.com>
12068
12069 * final.c (end_final): Fix typo last change.
12070
12071 2001-08-20 Neil Booth <neil@daikokuya.demon.co.uk>
12072
12073 * cppinit.c (init_standard_includes): The returned buffer
12074 is already malloc-ed.
12075 * gcc.c (add_prefix): Similarly.
12076 * prefix.c (translate_name): Update to support clear buffer
12077 ownership rules.
12078 (update_path): Similarly. Be sure to free any newly allocated
12079 key. UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
12080 (tr): New function.
12081 * prefix.h (update_path): Update prototype and document.
12082 * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
12083 up and update to new buffer ownership rules.
12084 * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
12085
12086 Mon Aug 20 01:44:50 CEST 2001 Jan Hubicka <jh@suse.cz>
12087
12088 * final.c (compute_alignments): New function.
12089 (init_insn_lengths): Do not care label_align.
12090 (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
12091 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
12092 (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
12093 (shorted_branches): Realloc label_align array; do
12094 not call init_insn_lengths; Do not care about loop alignments.
12095 * output.h (compute_alignments): Declare.
12096 * toplev.c (rest_of_compilation): Call compute_alignments.
12097 * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
12098
12099 * predict.c (block_info_def): Add npredecesors, remove nvisited;
12100 change visited to tovisit.
12101 (propagate_freq): Use faster traversing algorithm.
12102 (estimate_loops_at_level, estimate_bb_frequencies): Change visited
12103 to tovisit; reverse meaning.
12104
12105 * predict.c (struct block_info_def): Remove nvisited.
12106 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12107 (estimate_bb_frequencies): Call mark_dfs_back_edges.
12108
12109 2001-08-19 Geoffrey Keating <geoffk@redhat.com>
12110
12111 * doc/invoke.texi (MIPS Options): Document -mfused-madd.
12112 * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
12113 (TARGET_FUSED_MADD): New.
12114 (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
12115 * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
12116 the multiply-add instructions.
12117
12118 2001-08-19 Richard Henderson <rth@redhat.com>
12119
12120 * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
12121 is aligned to pointer size.
12122
12123 2001-08-19 Richard Henderson <rth@redhat.com>
12124
12125 * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
12126 display markers during final schedule.
12127
12128 2001-08-19 Richard Henderson <rth@redhat.com>
12129
12130 * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
12131
12132 2001-08-19 Richard Henderson <rth@redhat.com>
12133
12134 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
12135 in the same string.
12136 (ASM_NAME_TO_STRING): Remove.
12137 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
12138 in the same string. Remove support for expressions.
12139
12140 2001-08-19 Richard Henderson <rth@redhat.com>
12141
12142 * config/i386/i386.md (tablejump): Make an expander; handle
12143 pic relative addressing here.
12144 (tablejump_1): Rename from tablejump_pic.
12145 (casesi): Remove.
12146
12147 2001-08-19 Richard Henderson <rth@redhat.com>
12148
12149 * regclass.c (fix_register): Fix typo.
12150
12151 2001-08-18 Richard Henderson <rth@redhat.com>
12152
12153 * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
12154 (struct _Unwind_Context): Expand br_loc to hold it.
12155 (uw_frame_state_for): Handle leaf functions better.
12156 (uw_update_reg_address): Update for br_loc change.
12157
12158 2001-08-18 Richard Henderson <rth@redhat.com>
12159
12160 * crtstuff.c: Move list heads before code that uses them.
12161 (__JCR_LIST__): Remove initial null.
12162 (frame_dummy, __frame_dummy): Do java registration here ...
12163 (__do_global_ctors_aux): ... not here.
12164
12165 * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
12166 (__do_global_dtors_aux): Update to match.
12167 (__JCR_LIST__, __do_jv_register_classes): New.
12168 (.init): Call it.
12169 * config/ia64/crtend.asm (__JCR_END__): New.
12170 (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
12171 instead of an indirect LTOFF22 reloc.
12172
12173 2001-08-18 Richard Henderson <rth@redhat.com>
12174
12175 * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
12176 * regclass.c (init_reg_sets_1): Fix typo.
12177 * config/ia64/ia64.c (ar_pfs_reg_operand): New.
12178 (ia64_expand_call): Pass ar.pfs to sibcall expanders.
12179 (ia64_compute_frame_size): Make ar.unat live when in use.
12180 (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
12181 for ar.pfs; remove ar.unat handling.
12182 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
12183 call-saved.
12184 (PREDICATE_CODES): Add ar_pfs_reg_operand.
12185 * config/ia64/ia64-protos.h: Update decls.
12186 * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
12187 (sibcall_pic): Likewise.
12188
12189 2001-08-18 Richard Henderson <rth@redhat.com>
12190
12191 * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
12192 pred_rel_mutex when searching for insn_group_barrier.
12193 * config/ia64/ia64.md (cycle_display): Combine the expander
12194 and insn patterns.
12195
12196 * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
12197 bit before asm as needed.
12198
12199 2001-08-18 Richard Henderson <rth@redhat.com>
12200
12201 * timevar.def (TV_MACH_DEP): New.
12202 * toplev.c (rest_of_compilation): Use it.
12203 * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
12204
12205 2001-08-18 Zack Weinberg <zackw@panix.com>
12206
12207 * unwind-dw2.c (execute_stack_op): Add default aborts to
12208 the inner switches to prevent warnings.
12209
12210 2001-08-18 Richard Henderson <rth@redhat.com>
12211
12212 * timevar.h (struct timevar_time_def): Change element type to float.
12213 (ticks_to_msec, clocks_to_msec): Likewise.
12214 (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
12215 (get_time): Likewise.
12216 (timevar_print): Adjust zero check and printing to match.
12217
12218 2001-08-18 Zack Weinberg <zackw@panix.com>
12219
12220 * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
12221 doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
12222 Eliminate overfull or underfull hboxes.
12223
12224 2001-08-18 Zack Weinberg <zackw@panix.com>
12225
12226 * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
12227
12228 2001-08-18 Zack Weinberg <zackw@panix.com>
12229
12230 * haifa-sched.c: Convert to target hooks. Macros replaced
12231 are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
12232 MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
12233 MD_SCHED_FINISH, and HAVE_cycle_display.
12234 * target-def.h (TARGET_SCHED_ADJUST_COST,
12235 TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
12236 TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
12237 TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
12238 TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
12239 New hook #defines to be overridden.
12240 (TARGET_SCHED): Bring them all together.
12241 (TARGET_INITIALIZER): Update.
12242 * target.h: Don't forward declare struct rtx_def. Use 'rtx'
12243 instead of 'struct rtx_def *' throughout.
12244 (struct sched): New set of hooks for the scheduler.
12245 * Makefile.in (haifa-sched.o): Depend on target.h.
12246 * doc/tm.texi: Document the new scheduler hooks, together in
12247 their own section, instead of scattered around.
12248 Fix a bunch of underfull/overfull hboxes.
12249
12250 * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
12251 ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
12252 sparc.h: Don't define any of the old scheduler macros.
12253
12254 * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
12255 ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
12256 sparc.c: Create hook functions from code extracted from
12257 corresponding target header, or make existing hooks static, as
12258 appropriate. Set the appropriate entries in targetm.
12259
12260 * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
12261 i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
12262 rs6000-protos.h, s390-protos.h, sparc-protos.h:
12263 Remove prototypes for functions which are now static.
12264
12265 * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
12266 related gunk; the Haifa scheduler is now the only choice.
12267
12268 2001-08-18 Zack Weinberg <zackw@panix.com>
12269
12270 * optabs.h (OTI_flodiv, flodiv_optab): Kill.
12271 * genopinit.c: Put floating point divide insns in sdiv_optab.
12272 * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
12273 * config/gofast.h, config/c4x/c4x.h,
12274 config/ia64/hpux_longdouble.h, config/mips/mips.h,
12275 config/pa/long_double.h, config/rs6000/sysv4.h,
12276 config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
12277 * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
12278 (init_optabs): Use init_optabv for overflow-trapping optabs.
12279 Don't init flodiv_optab. Give mov_optab, movstrict_optab, and
12280 cmp_optab RTX codes so have_insn_for can find them.
12281
12282 * optabs.c (expand_simple_binop, expand_simple_unop,
12283 have_insn_for, gen_sub3_insn): New interfaces.
12284 * expr.h: Prototype new functions.
12285 (enum optab_methods): Move here from optabs.h.
12286
12287 * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
12288 loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
12289 Use new functions instead of working directly with optabs.
12290 * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
12291 unroll.c: Don't include optabs.h.
12292 * caller-save.c, combine.c, function.c, stmt.c: Just include
12293 insn-codes.h, not optabs.h.
12294 * Makefile.in: Update dependencies.
12295
12296 * combine.c (make_compound_operation, simplify_comparison):
12297 Fix typos testing for this or that instruction.
12298
12299 2001-08-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
12300
12301 * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
12302 generating libgcc.a.
12303
12304 2001-08-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
12305
12306 * except.c (TYPE_HASH): Delete.
12307
12308 * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
12309 HOST_WIDE_INT.
12310
12311 * tree.c (TYPE_HASH): Delete.
12312
12313 * tree.h (TYPE_HASH): Define.
12314
12315 2001-08-18 Graham Stott <grahams@redhat.com>
12316
12317 * config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
12318 define_split.
12319 (adddi3_internal_2+2): Likewise.
12320 (eh_set_lr_di+1): Likewise.
12321
12322 2001-08-17 Richard Henderson <rth@redhat.com>
12323
12324 * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
12325 UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
12326 * dwarf2asm.c: ... here.
12327 * dwarfout.c: Remove them.
12328
12329 * varasm.c (assemble_integer): Add align parameter.
12330 (assemble_real, output_constant, output_constructor): Likewise.
12331 * output.h: Update decls.
12332 * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
12333 config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
12334 config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
12335 config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
12336 config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
12337 Update all callers.
12338
12339 * final.c (end_final): Abort profile block generation if we
12340 haven't layed it out properly.
12341 * output.h (assemble_eh_integer): Remove stale decl.
12342 * varasm.c (assemble_zeros): Tidy; use assemble_integer.
12343 (min_align): New.
12344 (assemble_integer): Handle unaligned data.
12345 (assemble_real): Abort on unaligned data.
12346 (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
12347 anything useful.
12348 (default_dtor_section_asm_out_destructor): Use assemble_align.
12349 (default_named_section_asm_out_constructor): Likewise.
12350 (default_ctor_section_asm_out_constructor): Likewise.
12351 * config/darwin.c (machopic_asm_out_constructor): Likewise.
12352 (machopic_asm_out_destructor): Likewise.
12353 * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
12354 (nextstep_asm_out_destructor): Likewise.
12355 * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
12356 (vms_asm_out_destructor): Likewise.
12357
12358 2001-08-17 Richard Henderson <rth@redhat.com>
12359
12360 * config/mips/iris6.h (TARGET_IRIX6): New.
12361 (current_section_name, current_section_flags): New.
12362 (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
12363 (MAX_OFILE_ALIGNMENT): New.
12364 (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
12365 * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
12366 (copy_file_data): Split out from
12367 (mips_asm_file_end): ... here.
12368 (mips_asm_file_start): Remove extra .section directive. Use
12369 tmpfile instead of mips_make_temp_file.
12370 (mips_unique_section): Use const char * as needed for warnings.
12371 (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
12372 re-add align parameter.
12373 (iris6_asm_named_section): New.
12374 (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
12375 (iris6_asm_output_align, iris6_section_align_1): New.
12376 (iris6_asm_file_start, iris6_asm_file_end): New.
12377 * config/mips/mips-protos.h: Update decls.
12378
12379 2001-08-17 Janis Johnson <janis187@us.ibm.com>
12380
12381 * doc/install.texi (Install GCC): Add links to build status pages.
12382 (Specific): Ditto.
12383 (Final install): Ditto; request updates for specific info
12384
12385 2001-08-17 Neil Booth <neil@daikokuya.demon.co.uk>
12386
12387 * cpperror.c (print_location): Don't take a file name; use the
12388 line map instead.
12389 (_cpp_begin_message): Similarly.
12390 (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
12391 cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
12392 (cpp_pedwarn_with_file_and_line): Remove.
12393 * cppfiles.c (stack_include_file): Update; set filename to stdin
12394 here when appropriate.
12395 * cpphash.h (struct cpp_buffer): Remove nominal_fname.
12396 (_cpp_begin_message): Don't take a file name.
12397 * cppinit.c: Add comment.
12398 * cpplex.c: Fix end-of-directive indicator.
12399 * cpplib.c: Don't include intl.h.
12400 (run_directive, do_diagnostic): Update.
12401 (do_line): Update to not use nominal_fname.
12402 (cpp_push_buffer): Don't take a filename.
12403 * cpplib.h (struct ht): Remove.
12404 (cpp_push_buffer): Don't take a filename.
12405 (cpp_pedwarn_with_file_and_line): Remove.
12406 * cppmacro.c (struct cpp_macro): Remove file.
12407 (builtin_macro): Update.
12408 (_cpp_create_definition): Update.
12409 * cppmain.c: Correct comment.
12410 * fix-header.c (read_scan_file): Update.
12411
12412 2001-08-17 Kazu Hirata <kazu@hxi.com>
12413
12414 * sbitmap.c: Fix comment formatting.
12415 * sched-deps.c: Likewise.
12416 * sibcall.c: Likewise.
12417 * simplify-rtx.c: Likewise.
12418 * ssa.c: Likewise.
12419 * ssa-ccp.c: Likewise.
12420 * stor-layout.c: Likewise.
12421 * timevar.c: Likewise.
12422 * toplev.c: Likewise.
12423 * unwind-dw2.c: Likewise.
12424 * unwind-dw2-fde.c: Likewise.
12425 * varasm.c: Likewise.
12426
12427 2001-08-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
12428
12429 * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
12430 or larger than an integer in memory.
12431
12432 2001-08-17 Zack Weinberg <zackw@panix.com>
12433
12434 * system.h: Forward-declare struct rtx_def, struct rtvec_def,
12435 and union tree_node. Typedef rtx, rtvec, and tree. Fix comment.
12436 * rtl.h: Don't forward-declare union tree_node here. Don't
12437 typedef rtx or rtvec 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 * tree.h: Don't forward-declare struct rtx_def here. Don't
12441 typedef tree here. Change all uses of struct rtx_def *,
12442 struct rtvec_def *, or union tree_node * to use rtx, rtvec,
12443 and tree respectively.
12444
12445 2001-08-17 Richard Henderson <rth@redhat.com>
12446
12447 * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
12448 config/mips/openbsd.h: Fix typos last change.
12449
12450 2001-08-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12451
12452 * doc/invoke.texi (Optimize Options): The default for
12453 -finline-limit is 600.
12454
12455 2001-08-17 Richard Henderson <rth@redhat.com>
12456
12457 * varasm.c (text_section): Allow TEXT_SECTION to override the
12458 printing of TEXT_SECTION_ASM_OP.
12459 * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
12460 (DATA_SECTION, BSS_SECTION): Remove.
12461 * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
12462 RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
12463 Rename from s/_NAME//.
12464 * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
12465 (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
12466 (TEXT_SECTION): ... here. New.
12467 * config/mips/elf.h (TEXT_SECTION): New; no file switching.
12468 * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
12469 * config/mips/openbsd.h: Likewise.
12470 * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
12471 (mips_asm_file_end): Likewise test.
12472 (mips_output_function_epilogue): Likewise. Switch back to data
12473 section after emitting the function.
12474
12475 * doc/tm.texi (Sections): Document TEXT_SECTION.
12476
12477 2001-08-17 Richard Henderson <rth@redhat.com>
12478
12479 * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
12480 (dwarf2out_finish): Do it here. Emit .debug_loc before .debug_info.
12481
12482 2001-08-17 Richard Henderson <rth@redhat.com>
12483
12484 * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
12485 * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
12486 __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
12487 Add aligned attribute.
12488
12489 2001-08-17 Andrew Haley <aph@cambridge.redhat.com>
12490
12491 * config/sh/sh.md: Add modes to unspecs in first insn to match
12492 those in the second.
12493
12494 * Makefile.in: Fix collect2 copy for Cygwin.
12495
12496 Fri Aug 17 15:48:57 CEST 2001 Jan Hubicka <jh@suse.cz>
12497
12498 Install the proper patch.
12499 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12500 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12501 (expand_function_start): Likewise.
12502 * stmt.c (expand_decl): Likewise.
12503 * varasm.c (make_decl_rtx): Likewise.
12504
12505 Fri Aug 17 15:41:35 CEST 2001 Jan Hubicka <jh@suse.cz>
12506
12507 * final.c: Undo my previous accidental checkin.
12508 * output.h: Likewise.
12509 * tm.texi: Likewise.
12510
12511 2001-08-16 Richard Henderson <rth@redhat.com>
12512
12513 * varasm.c (named_section_flags): Remove align parameter.
12514 * varasm.c, dwarf2out.c: Update all callers.
12515 * output.h: Update prototypes.
12516
12517 * target.h (target.asm_out.named_section): Remove align parameter.
12518 * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
12519 config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
12520 config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
12521 config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
12522 config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
12523
12524 * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
12525 (get_named_section_flags, set_named_section_flags): New.
12526 (named_section_flags): Use them.
12527 (named_section): Do decl vs section flags check here...
12528 (default_section_type_flags): ... not here.
12529 (init_varasm_once): Create in_named_htab.
12530 (resolve_unique_section): Mark reloc unused.
12531
12532 2001-08-16 Richard Henderson <rth@redhat.com>
12533
12534 * varasm.c (force_const_mem): Keep pool alignment in bits.
12535 (output_constant_pool): Use assemble_align.
12536
12537 2001-08-16 Zack Weinberg <zackw@panix.com>
12538
12539 * doc/tm.texi: Remove extra @table command.
12540
12541 2001-08-16 Zack Weinberg <zackw@panix.com>
12542
12543 * final.c (shorten_branches): Clear the end of the label_align
12544 array only if we made it larger. Break up messy expressions
12545 for clarity.
12546
12547 * diagnostic.c (internal_error): Check for error recursion
12548 before doing ICE suppression.
12549
12550 * timevar.c: Timing variables now count in milliseconds.
12551 (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
12552 (get_time): Not here.
12553 (timevar_print): Don't print any timer whose user, cpu, and
12554 wall times are all zero as displayed.
12555 * timevar.h: Update comment aboout units. Make timevar
12556 counters unsigned.
12557
12558 Thu Aug 16 17:39:45 CEST 2001 Jan Hubicka <jh@suse.cz>
12559
12560 * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
12561 (assign_params): Avoid setting DECL_RTL to unfinished RTX.
12562 (expand_function_start): Likewise.
12563 * stmt.c (expand_decl): Likewise.
12564 * varasm.c (make_decl_rtx): Likewise.
12565
12566 2001-08-16 Jason Merrill <jason_merrill@redhat.com>
12567
12568 * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
12569 (finalize_record_size): Don't set TYPE_USER_ALIGN.
12570
12571 2001-08-16 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12572
12573 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
12574 variables.
12575
12576 2001-08-16 Andreas Jaeger <aj@suse.de>
12577
12578 * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
12579 prototype.
12580
12581 Wed Aug 15 15:22:52 EDT 2001 John Wehle (john@feith.com)
12582
12583 * rtl.h (only_sets_cc0_p): New prototype.
12584 * jump.c (sets_cc0_p): Handle INSN.
12585 (only_sets_cc0_p): New function.
12586 * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
12587 (tidy_fallthru_edge): Likewise.
12588 * integrate.c (copy_insn_list): Likewise.
12589 * unroll.c (unroll_loop): Likewise.
12590 (copy_loop_body): Likewise.
12591
12592 2001-08-15 Jason Eckhardt <jle@redhat.com>
12593
12594 * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
12595
12596 Wed Aug 15 14:24:22 CEST 2001 Jan Hubicka <jh@suse.cz>
12597
12598 * predict.c (struct block_info_def): Remove nvisited.
12599 (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
12600 (estimate_bb_frequencies): Call mark_dfs_back_edges.
12601
12602 * i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
12603 (ix86_adjust_cost): Teach scheduler that latency to load operand can
12604 be masked.
12605
12606 Wed Aug 15 12:41:32 CEST 2001 Jan Hubicka <jh@suse.cz>
12607
12608 * predict.def: Update hitrates.
12609
12610 2001-08-15 Richard Henderson <rth@redhat.com>
12611
12612 * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
12613
12614 Tue Aug 14 17:30:59 2001 Jeffrey A Law (law@cygnus.com)
12615
12616 * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
12617 note from its associated jump.
12618
12619 2001-08-14 Ulrich Weigand <uweigand@de.ibm.com>
12620
12621 * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
12622 also on 64-bit s390x targets.
12623
12624 2001-08-14 Nick Clifton <nickc@cambridge.redhat.com>
12625
12626 * config/arm/arm.c (arm_compute_initial_elimination_offset): New
12627 function.
12628 (arm_expand_prologue): Handled nested functions which take a
12629 variable argument list.
12630 * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
12631 macro with an invocation of
12632 arm_compute_initial_elimination_offset.
12633 * config/arm/arm-protos.h: Prototype
12634 arm_compute_initial_elimination_offset.
12635
12636 2001-08-14 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
12637
12638 * doc/install.texi (Specific, avr): Fix markup.
12639 (Specific, c4x): Ditto.
12640
12641 2001-08-14 Matt Kraai <kraai@alumni.carnegiemellon.edu>
12642
12643 * predict.c (dump_prediction): Change `bool' parameter to `int'.
12644
12645 2001-08-14 Gabriel Dos Reis <gdr@codesourcery.com>
12646
12647 * Makefile.in (OBJS): Add rtl-error.o
12648 (rtl-error.o): New rule.
12649 (diagnostic.o): Adjust dependency.
12650 diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
12651 error_for_asm, _fatal_insn, _fatal_insn_not_found,
12652 warning_for_asm): Move to...
12653 rtl-error.c: ...here. New file.
12654
12655 2001-08-14 Richard Henderson <rth@redhat.com>
12656
12657 * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
12658 if USING_SJLJ_EXCEPTIONS.
12659
12660 2001-08-14 Steve Ellcey <sje@cup.hp.com>
12661
12662 * tlink.c (scan_linker_output): Check string for unsatisfied in
12663 addition to undefined and unresolved.
12664
12665 2001-08-14 Graham Stott <grahams@redhat.com>
12666
12667 * libgcc2.c (*): Replace EH_FRAME_SECTION with
12668 EH_FRAME_SECTION_NAME.
12669
12670 Tue Aug 14 14:57:07 CEST 2001 Jan Hubicka <jh@suse.cz>
12671
12672 * genattrtab.c (simplify_test_exp_in_temp): New function.
12673 (simplify_test_exp): Avoid explicit use of temporary obstack.
12674 (simplify_cond, insert_right_side, evaluate_eq_attr,
12675 simplify_and_tree, simplify_or_tree, eliminate_known_true):
12676 Use simplify_test_exp_in_temp.
12677 (optimize_attrs): Iterate until expression stabilizes.
12678
12679 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>:
12680
12681 * glimits.h: Remove the __LONG_MAX__ special case for s390x.
12682 * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
12683
12684 2001-08-13 Richard Henderson <rth@redhat.com>
12685
12686 * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
12687 (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
12688 * config/arm/conix-elf.h: Likewise.
12689
12690 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
12691
12692 * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
12693 in gcc.c.
12694 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12695
12696 * gcse.c (hash_scan_set): Expressions that are set as part of
12697 jump instructions are not available.
12698
12699 2001-08-13 Ulrich Weigand <uweigand@de.ibm.com>
12700
12701 * config/s390/s390.c (print_operand, s390_function_prologue,
12702 s390_va_start): Fixed HOST_WIDE_INT type mismatch.
12703
12704 2001-08-13 Richard Henderson <rth@redhat.com>
12705
12706 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
12707 * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
12708 * doc/tm.texi (Exception Region Output): Document it.
12709
12710 2001-08-13 Geoffrey Keating <geoffk@redhat.com>
12711
12712 * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
12713 DWARF2 instead of stabs by default.
12714
12715 2001-08-13 David Edelsohn <edelsohn@gnu.org>
12716
12717 * config/rs6000/rs6000.c: Include optabs.h.
12718
12719 2001-08-13 David Edelsohn <edelsohn@gnu.org>
12720
12721 * config/rs6000/eabi.asm: Define 64-bit versions of FPR
12722 save/restore routines.
12723 * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
12724
12725 2001-08-13 Andreas Jaeger <aj@suse.de>
12726
12727 * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
12728 the english is correct.
12729
12730 2001-08-13 Zack Weinberg <zackw@panix.com>
12731
12732 * expr.h: Split out optab- and libfunc-related code to...
12733 * optabs.h, libfuncs.h: ... these new headers.
12734
12735 * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
12736 (OPTABS_H): New.
12737 (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
12738 dependencies.
12739 * mkconfig.sh: Don't include insn-codes.h from config.h.
12740
12741 * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
12742 enum insn_code is available. Move reload_in_optab and
12743 reload_out_optab array declarations to optabs.h.
12744 * regmove.c (gen_add3_insn): Move to optabs.c, export from
12745 there, prototype in expr.h.
12746 * gencodes.c: Cleanup: zap global variables, don't use
12747 printf where puts will do, don't bother defining MAX_INSN_CODE
12748 which nothing uses, let CODE_FOR_nothing get its value implicitly.
12749
12750 * genemit.c, genopinit.c: Include optabs.h in generated file.
12751 * genoutput.c: Include insn-codes.h in generated file.
12752 * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
12753 expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
12754 reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
12755 config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
12756 config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
12757 config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
12758 Include optabs.h.
12759 * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
12760 optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
12761 config/m88k/m88k.c, config/sparc/sparc.c:
12762 Include libfuncs.h.
12763 * reload.c: Include expr.h and optabs.h before reload.h.
12764 * config/alpha/alpha.c: Include tree.h before reload.h.
12765 * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
12766 and reload.h in that order.
12767 * config/sparc/sparc.c: Include debug.h.
12768 * recog.c: Include insn-codes.h.
12769
12770 2001-08-13 Andreas Jaeger <aj@suse.de>
12771
12772 * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
12773 s390*linux.
12774
12775 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
12776
12777 * dwarf2out.c (output_cfa_loc): Fix typo in comment.
12778 * gcc.c (init_spec): Fix typo in comment.
12779 * varasm.c (data_section): Fix typo in comment.
12780
12781 Mon Aug 13 02:27:39 CEST 2001 Jan Hubicka <jh@suse.cz>
12782
12783 * predict.c (dump_prediction): New argument "USED".
12784 (combine_predictions_for_insn): Determine the used heuristics,
12785 output the case no heuristic applied.
12786 * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
12787
12788 2001-08-13 Andreas Jaeger <aj@suse.de>
12789
12790 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
12791 register %rip.
12792
12793 2001-08-13 Kazu Hirata <kazu@hxi.com>
12794
12795 * jump.c: Fix formatting.
12796
12797 2001-08-13 Kazu Hirata <kazu@hxi.com>
12798
12799 * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
12800 length.
12801
12802 2001-08-12 Geoffrey Keating <geoffk@redhat.com>
12803
12804 * loop.c (check_dbra_loop): Use condjump_label to compute
12805 jump_label.
12806
12807 * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
12808 to better document the files they're in.
12809
12810 2001-08-12 Zack Weinberg <zackw@panix.com>
12811
12812 * recog.h (struct insn_operand_data): Shrink 'mode' field
12813 to 16 bits.
12814
12815 2001-08-12 Kazu Hirata <kazu@hxi.com>
12816
12817 * gcc.c: Fix comment formatting.
12818 * gccspec.c: Likewise.
12819 * gcov.c: Likewise.
12820 * gcse.c: Likewise.
12821 * genemit.c: Likewise.
12822 * gengenrtl.c: Likewise.
12823 * genrecog.c: Likewise.
12824 * gensupport.c: Likewise.
12825 * ggc-page.c: Likewise.
12826 * global.c: Likewise.
12827 * graph.c: Likewise.
12828 * ifcvt.c: Likewise.
12829 * integrate.c: Likewise.
12830 * lcm.c: Likewise.
12831 * libgcc2.c: Likewise.
12832 * loop.c: Likewise.
12833 * mbchar.c: Likewise.
12834 * optabs.c: Likewise.
12835 * predict.c: Likewise.
12836 * prefix.c: Likewise.
12837 * profile.c: Likewise.
12838 * protoize.c: Likewise.
12839 * real.c: Likewise.
12840 * recog.c: Likewise.
12841 * regclass.c: Likewise.
12842 * regmove.c: Likewise.
12843 * reg-stack.c: Likewise.
12844 * reload1.c: Likewise.
12845 * resource.c: Likewise.
12846 * rtlanal.c: Likewise.
12847 * rtl.c: Likewise.
12848
12849 2001-08-12 Kazu Hirata <kazu@hxi.com>
12850
12851 * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
12852 a tree representing a constant is passed to the macro.
12853
12854 2001-08-12 Richard Henderson <rth@redhat.com>
12855
12856 * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
12857 (rs6000_elf_asm_out_destructor): New.
12858 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
12859 (DTORS_SECTION_ASM_OP): Remove.
12860 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
12861 (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
12862
12863 2001-08-12 David Edelsohn <edelsohn@gnu.org>
12864
12865 Revert:
12866 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
12867 * gcc.c (set_collect_gcc_options): New function, split out from
12868 main.
12869 Ignore elided switches.
12870 (do_spec_1): Invoke before executing command.
12871 (set_input): Export.
12872 Move declaration ...
12873 * gcc.h (set_input): ... here.
12874 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
12875 file.
12876
12877 2001-08-12 Richard Henderson <rth@redhat.com>
12878
12879 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
12880 thinko wrt TARGET_RELOCATABLE.
12881
12882 2001-08-12 Neil Booth <neil@daikokuya.demon.co.uk>
12883
12884 * fix-header.c (cb_file_change): Update prototype.
12885
12886 2001-08-11 Zack Weinberg <zackw@panix.com>
12887
12888 * toplev.c (set_float_handler): Make static.
12889 * toplev.h: Don't prototype set_float_handler.
12890
12891 * simplify-rtx.c: Don't include setjmp.h.
12892 (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
12893 New functions.
12894 (simplify_unary_operation, simplify_binary_operation): Use them,
12895 via do_float_handler.
12896
12897 * fold-const.c: Don't include setjmp.h.
12898 (exact_real_inverse_1): New function.
12899 (exact_real_inverse): Use it, via do_float_handler.
12900
12901 * varasm.c: Don't include setjmp.h.
12902 (assemble_real_1): New function.
12903 (assemble_real): Use it, via do_float_handler.
12904 Call internal_error if we get a trap here.
12905
12906 * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
12907 config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
12908
12909 2001-08-11 Zack Weinberg <zackw@panix.com>
12910
12911 * defaults.h: Define PREFERRED_STACK_BOUNDARY to
12912 STACK_BOUNDARY if not already defined.
12913
12914 * calls.c, function.c, reload1.c, explow.c: Don't default
12915 PREFERRED_STACK_BOUNDARY. Remove all #if/#ifdef on
12916 PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
12917
12918 * explow.c (allocate_dynamic_stack_space): Change unsafe #if
12919 to run-time test.
12920
12921 * doc/tm.texi: Document that STACK_BOUNDARY is required;
12922 clarify difference between it and PREFERRED_STACK_BOUNDARY.
12923
12924 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
12925
12926 * cppmacro.c (enter_macro_context): Push macro expansions even
12927 if empty.
12928
12929 2001-08-11 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
12930
12931 * config/rs6000/rs6000.c: Include integrate.h to silence warning.
12932 (rs6000_elf_section_type_flags): Actually return a value.
12933
12934 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
12935
12936 * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
12937 Clean up code: add missing comments and prototypes, fix warnings,
12938 remove obsolete code, fix spacing to conform to coding style.
12939
12940 2001-08-11 Ulrich Weigand <uweigand@de.ibm.com>
12941
12942 * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
12943 and TARGET_ASM_CLOSE_PAREN.
12944 (regclass_map): CC register belongs to class NO_REGS.
12945 (legitimize_pic_address): Don't generate unnecessary moves
12946 (to avoid confusing loop optimization).
12947 (check_and_change_labels): Replace jump_long by indirect_jump.
12948 (s390_final_chunkify): Don't start a new literal pool on section
12949 switch in 64-bit code.
12950 (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
12951
12952 * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
12953 (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
12954 (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
12955 modes correctly.
12956 (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
12957 (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
12958 (CONST_COSTS): Fixed incorrect costs.
12959
12960 * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
12961 Use emit_jump instead of emit_jump_insn (gen_jump).
12962 (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
12963 (to avoid confusing flow analysis).
12964 (tablejump, tablejump1, tablejump2): Removed. Replaced by casesi.
12965 (casesi, casesi_jump): New.
12966 (jump_long): Removed. Functionality merged into indirect_jump.
12967 (indirect_jump): Accept address_operand, not just register_operand.
12968 (cjump_long, icjump_long): Use same logic as indirect_jump.
12969 (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
12970 Fixed broken setjmp/longjmp handling.
12971 (do_builtin_setjmp_setup): Removed.
12972
12973 * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
12974 broken GNU as versions that don't accept .quad with large
12975 negative values. Use hexadecimal output instead.
12976 (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
12977 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
12978 FUNCTION_EPILOGUE): Removed. Now in targetm.
12979
12980 * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
12981
12982 * config/s390/fixdfdi.h: Add missing copyright statement.
12983 Fix type conflicts on 64-bit. Add missing SFmode routines.
12984
12985 * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
12986 email address.
12987
12988 2001-08-11 Richard Henderson <rth@redhat.com>
12989
12990 * rtl.h (REG_EH_RETHROW): Remove.
12991 * rtl.c (reg_note_name): Update.
12992 * combine.c (distribute_notes): Don't check for it.
12993
12994 2001-08-11 Richard Henderson <rth@redhat.com>
12995
12996 * combine.c (distribute_notes): Place REG_SETJMP.
12997
12998 2001-08-11 Richard Henderson <rth@redhat.com>
12999
13000 * doc/extend.texi (Arrays and pointers implementation): Discourage
13001 relying on sign-extension of pointers.
13002
13003 2001-08-11 H.J. Lu <hjl@gnu.org>
13004
13005 * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
13006 in_dtors.
13007 (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
13008 RDATA_SECTION_ASM_OP.
13009
13010 2001-08-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13011
13012 * doc/install.texi (Specific, c4x): Fix cross-reference to the
13013 main manual to work both for info and HTML versions.
13014
13015 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
13016 Matt Kraai <kraai@alumni.carnegiemellon.edu>
13017
13018 * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
13019 * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
13020 (struct cpp_pool): New member first.
13021 * cppinit.c (append_include_chain): Plug memory leaks.
13022 * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
13023 Allocate pragma structures from the (aligned) macro pool to
13024 avoid leaking memory.
13025 * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
13026 so we don't leak memory.
13027 * hashtable.c (ht_destroy): New.
13028 * hashtable.h (ht_destroy): New.
13029
13030 2001-08-11 Neil Booth <neil@daikokuya.demon.co.uk>
13031 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13032
13033 * c-lex.c (map): Make const.
13034 (cb_file_change): Update for callback passing a line map.
13035 Don't assume we have a previous map. Remove sanity check
13036 about popping too many files.
13037 * cpperror.c (print_location): Make map const.
13038 * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
13039 (cpp_make_system_header): Similarly.
13040 (search_from): Similarly.
13041 (_cpp_execute_include): Don't remember where we came from.
13042 * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
13043 (struct cpp_reader): Make map const.
13044 (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
13045 * cpplib.c (do_line): Update; line maps now hold sysp.
13046 (cpp_push_buffer): Similarly.
13047 (_cpp_do_file_change): Similarly; callback with map instead.
13048 (cpp_get_line_maps): Constify return value.
13049 (_cpp_pop_buffer): Update.
13050 * cpplib.h (struct cpp_file_change): Remove.
13051 (struct cpp_callbacks): Update.
13052 (cpp_get_line_maps): Constify return value.
13053 * cppmacro.c (_cpp_create_definition): Update.
13054 * cppmain.c (struct printer): Constify map.
13055 (maybe_print_line): Similarly.
13056 (print_line): Similarly. Deduce flags 1 and 2 here.
13057 (cb_file_change): Update.
13058 * line-map.c (free_line_maps): Warn regardless.
13059 (add_line_map): Return pointer to const. When passed NULL to_file
13060 with LC_LEAVE, use the obvious values for the return point so the
13061 caller doesn't have to figure them out.
13062 (lookup_line): Return pointer to const.
13063 (print_containing_files): Take pointer to const.
13064 * line-map.h (struct line_map): New members reason, sysp.
13065 (add_line_map): Return pointer to const.
13066 (lookup_line): Similarly.
13067 (print_containing_files): Take pointer to const.
13068
13069 2001-08-10 Roman Zippel <zippel@linux-m68k.org>
13070 Richard Henderson <rth@redhat.com>
13071
13072 * regmove.c (regmove_optimize): Avoid setting a register twice in
13073 a parallel set.
13074
13075 2001-08-10 Richard Henderson <rth@redhat.com>
13076
13077 * doc/extend.texi (Arrays and pointers implementation): Document
13078 behavior of pointer/integer conversion.
13079
13080 2001-08-10 Ulrich Weigand <uweigand@de.ibm.com>
13081
13082 * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
13083
13084 2001-08-10 Richard Henderson <rth@redhat.com>
13085
13086 * doc/extend.texi (C Implementation): New chapter.
13087 * doc/gcc.texi (Top): Link it in.
13088
13089 2001-08-10 Andrew Cagney <ac131313@redhat.com>
13090
13091 * doc/install.texi (Specific): Fix CVS merge botch.
13092
13093 2001-08-10 Richard Henderson <rth@redhat.com>
13094
13095 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
13096 ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
13097
13098 2001-08-10 Zack Weinberg <zackw@stanford.edu>
13099
13100 * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
13101 if not already defined. Remove all #ifdefs on STACK_BOUNDARY;
13102 this macro is now required.
13103
13104 * cselib.c (cselib_process_insn), flow.c (propagate_block),
13105 loop.c (find_and_verify_loops), reload.c (reload): Check
13106 for rtx code of CALL_INSN, not CALL, when deciding if we
13107 need to check for REG_SETJMP note.
13108
13109 * gcse.c (compute_hash_table, compute_store_table): Update
13110 the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
13111 logic.
13112
13113 * config/avr/avr.c: Fix typo.
13114 * config/convex/convex.c (expand_movstr): Use adjust_address.
13115 * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
13116 variable.
13117 * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
13118 * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
13119 Fix typo.
13120 * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
13121 Do define STACK_BOUNDARY.
13122 * config/i370/i370.c: Include expr.h.
13123 * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
13124 config/pa/som.h, config/v850/v850.h: Take in_ctors and
13125 in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
13126 and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
13127 * config/m88k/m88k.c: Include c-tree.h after expr.h.
13128 * config/pdp11/pdp11.c: Include expr.h and toplev.h.
13129 * config/romp/romp.c: Include expr.h after tree.h.
13130 Include toplev.h.
13131 (output_fpop): Use xmalloc, not oballoc.
13132 * config/we32k/we32k.c: Include expr.h.
13133
13134 2001-08-10 Kazu Hirata <kazu@hxi.com>
13135
13136 * config/h8300/h8300.h: Fix formatting.
13137
13138 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
13139
13140 * c-common.h (RETURN_NULLIFIED_P): Lose.
13141 * c-semantics.c (genrtl_return_stmt): Don't check it.
13142
13143 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
13144
13145 * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
13146 (mips_annotate_frame_insn): New function.
13147 (mips_emit_frame_related_store): New function.
13148 (save_restore_insns): Don't mark instructions that set up the base
13149 registers as frame-related. Add REG_FRAME_RELATED_EXPR notes to
13150 the store instructions instead.
13151 (mips_expand_prologue): If the stack size is moved into a temporary
13152 register, do not mark that move as frame-related. Add a
13153 REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
13154
13155 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
13156
13157 * config/mips/mips.c (save_restore_insns): Don't mark the RA's
13158 stack slot as unchanging if current_function_calls_eh_return.
13159
13160 2001-08-10 Richard Sandiford <rsandifo@redhat.com>
13161
13162 * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
13163 access the second half of the TFmode scratch operand.
13164
13165 2001-08-10 Anthony Green <green@redhat.com>
13166
13167 * java/class.c (emit_register_classes): Conditionalize code on
13168 JCR_SECTION_NAME.
13169
13170 2001-08-10 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
13171
13172 * doc/install.texi (Specific, avr): Fix cross-reference to the
13173 main manual to work both for info and HTML versions.
13174
13175 2001-08-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
13176
13177 * stmt.c (expand_null_return_1): Remove code to generate simple returns
13178 and "use_goto" argument.
13179 (expand_null_return, expand_value_return): Update all callers.
13180 * function.c (expand_function_end): Remove code to generate simple
13181 return.
13182 * config/vax/vax.md (epilogue): New expander for function return.
13183 * doc/md.texi (epilogue): Remove "if defined".
13184
13185 2001-08-09 Zack Weinberg <zackw@stanford.edu>
13186
13187 * Makefile.in: Partially revert my previous change:
13188 put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
13189 of the hashtab.o and safe-ctype.o rules.
13190
13191 2001-08-09 Richard Henderson <rth@redhat.com>
13192
13193 * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
13194 (USE_COLLECT2): Remove duplicate definition.
13195 * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
13196 (use_collect2): Remove dead code.
13197 * configure.in (use_collect2): Remove will_use_collect2 and
13198 maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
13199 * configure: Rebuild.
13200
13201 * target.h (targetm.asm_out.constructor): New.
13202 (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
13203 * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
13204 (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
13205 * varasm.c (in_ctors, in_dtors): New.
13206 (assemble_constructor, assemble_destructor): Remove.
13207 (default_stabs_asm_out_destructor): New.
13208 (default_named_section_asm_out_destructor): New.
13209 (dtors_section, default_dtor_section_asm_out_destructor): New.
13210 (default_stabs_asm_out_constructor): New.
13211 (default_named_section_asm_out_constructor): New.
13212 (ctors_section, default_ctor_section_asm_out_constructor): New.
13213 * output.h: Update declarations.
13214 * c-decl.c (c_expand_body): Use target hooks instead of
13215 assemble_constructor and assemble_destructor.
13216 * profile.c (output_func_start_profiler): Likewise.
13217 * objc/objc-act.c (finish_objc): Likewise.
13218 (build_module_descriptor): Tidy. Set TREE_PUBLIC properly
13219 for the constructor.
13220 * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
13221
13222 * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
13223 (DTORS_SECTION_ASM_OP): Likewise.
13224 (__CTOR_LIST__): Use attribute section when possible.
13225 (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
13226
13227 * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
13228 ASM_OUTPUT_CONSTRUCTOR.
13229
13230 * config/darwin.c (machopic_asm_out_constructor): New.
13231 (machopic_asm_out_destructor): New.
13232 * config/darwin-protos.h: Update declarations.
13233 * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13234 (ASM_OUTPUT_DESTRUCTOR): Remove.
13235 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13236 * config/nextstep.c (nextstep_asm_out_constructor): New.
13237 (nextstep_asm_out_destructor): New.
13238 * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13239 (ASM_OUTPUT_DESTRUCTOR): Remove.
13240 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13241 * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
13242 ASM_OUTPUT_*STRUCTOR.
13243 * config/i386/aix386ng.h: Likewise.
13244
13245 * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
13246 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
13247 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13248 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13249 * config/lynx.h: Likewise.
13250 * config/netware.h: Likewise.
13251 * config/psos.h: Likewise.
13252 * config/alpha/alpha-interix.h: Likewise.
13253 * config/alpha/elf.h: Likewise.
13254 * config/arc/arc.h: Likewise.
13255 * config/arm/aof.h: Likewise.
13256 * config/arm/coff.h: Likewise.
13257 * config/arm/elf.h: Likewise.
13258 * config/c4x/c4x.h: Likewise.
13259 * config/h8300/h8300.h: Likewise.
13260 * config/i386/cygwin.h: Likewise.
13261 * config/i386/djgpp.h: Likewise.
13262 * config/i386/i386-coff.h: Likewise.
13263 * config/i386/i386-interix.h: Likewise.
13264 * config/i386/sco5.h: Likewise.
13265 * config/i386/vsta.h: Likewise.
13266 * config/i386/win32.h: Likewise.
13267 * config/i960/i960-coff.h: Likewise.
13268 * config/ia64/sysv4.h: Likewise.
13269 * config/m68hc11/m68hc11.h: Likewise.
13270 * config/m68k/coff.h: Likewise.
13271 * config/m68k/mot3300.h: Likewise.
13272 * config/m88k/m88k.h: Likewise.
13273 * config/mcore/mcore-pe.h: Likewise.
13274 * config/mcore/mcore.h: Likewise.
13275 * config/mips/elf.h: Likewise.
13276 * config/mips/elf64.h: Likewise.
13277 * config/mips/iris6.h: Likewise.
13278 * config/pa/pa64-hpux.h: Likewise.
13279 * config/rs6000/sysv4.h: Likewise.
13280 * config/sh/sh.h: Likewise.
13281 * config/sparc/litecoff.h: Likewise.
13282
13283 * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
13284 (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
13285 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13286 * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13287 (ASM_OUTPUT_DESTRUCTOR): Remove.
13288 * config/a29k/a29k.c: Move include of tree.h.
13289 * config/a29k/udi.h: Delete file.
13290 * config/alpha/alpha.c (vms_asm_out_constructor): New.
13291 (vms_asm_out_destructor): New.
13292 * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
13293 (EXTRA_SECTION_FUNCTIONS): Likewise.
13294 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13295 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13296 * config/c4x/c4x.c: Move include of tree.h.
13297 * config/clipper/clipper.c (clix_asm_out_constructor): New.
13298 (clix_asm_out_destructor): New.
13299 * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13300 (ASM_OUTPUT_DESTRUCTOR): Remove.
13301 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13302 * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13303 (TARGET_ASM_CONSTRUCTOR): New.
13304 * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
13305 (sco_asm_out_constructor): New.
13306 * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
13307 * config/i386/svr3gas.h: Remove stack grows up code.
13308 Remove code duplicated from i386/sysv3.h.
13309 (TARGET_ASM_CONSTRUCTOR): New.
13310 (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
13311 (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
13312 * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13313 (TARGET_ASM_CONSTRUCTOR): New.
13314 * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
13315 (m68hc11_asm_out_destructor): New.
13316 * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
13317 (TARGET_ASM_DESTRUCTOR): New.
13318 * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
13319 * config/m68k/dpx2.h: Properly undef all the bits inherited from
13320 config/svr3.h pertaining to section manipulation.
13321 * config/m68k/dpx2g.h: Remove #if 0 code.
13322 * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
13323 * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
13324 (ASM_OUTPUT_CONSTRUCTOR): Remove.
13325 (TARGET_ASM_CONSTRUCTOR): New.
13326 * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
13327 (m88k_svr3_asm_out_constructor): New.
13328 (m88k_svr3_asm_out_destructor): New.
13329 * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13330 (ASM_OUTPUT_DESTRUCTOR): Remove.
13331 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13332 * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
13333 * config/rs6000/aix.h: Likewise.
13334 * config/mips/rtems64.h: Don't undef removed constructor related bits.
13335 * config/mips/vxworks.h: Likewise.
13336 * config/rs6000/lynx.h: Likewise.
13337 * config/sh/elf.h: Likewise.
13338 * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
13339 (DTORS_SECTION_ASM_OP): New.
13340 * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13341 (ASM_OUTPUT_DESTRUCTOR): Remove.
13342 * config/sparc/sol2-sld-64.h: Likewise.
13343 * config/vax/vax.c (vms_asm_out_constructor): New.
13344 (vms_asm_out_destructor): New.
13345 * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
13346 (ASM_OUTPUT_DESTRUCTOR): Remove.
13347 (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
13348
13349 * doc/tm.texi (@node Initialization): Update.
13350
13351 2001-08-09 Richard Henderson <rth@redhat.com>
13352
13353 * config/alpha/crtbegin.asm (__JCR_LIST__): New.
13354 (__do_global_dtors_aux): Use gp-relative static data to avoid
13355 one dynamic relocation.
13356 (__do_frame_setup): Register Java classes.
13357 * config/alpha/crtend.asm (__JCR_END__): New.
13358
13359 2001-08-09 Zack Weinberg <zackw@stanford.edu>
13360
13361 * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
13362 (CONFIG_H, TCONFIG_H, TM_P_H): Update.
13363 (GEN, STAGESTUFF): Add new files.
13364 (insn-constants.h, s-constants, tm-preds.h, s-preds,
13365 genconstants, genpreds, genconstants.o, genpreds.o): New rules.
13366 (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
13367 * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
13368 as well as insn-codes.h and insn-flags.h in config.h; and no
13369 extra headers in tconfig.h and hconfig.h.
13370
13371 * gencodes.c: Eliminate code to generate predicate declarations
13372 or #defines for md-file constants.
13373 * genconstants.c, genpreds.c: New files.
13374
13375 * i386.md: Re-order guard expressions such that TARGET_64BIT
13376 comes first, when this permits better optimization. Add
13377 TARGET_64BIT to more x86-64 patterns. Add comment explaining
13378 why this is desirable.
13379
13380 2001-08-09 Jakub Jelinek <jakub@redhat.com>
13381
13382 * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
13383 (find_fde_for_dso): Remove.
13384 (_Unwind_IteratePhdrCallback): New.
13385 (_Unwind_FindTableEntry): Use dl_iterate_phdr.
13386 * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
13387
13388 Thu Aug 9 11:30:20 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
13389
13390 * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
13391 (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
13392
13393 2001-08-09 Graham Stott <grahams@redhat.com>
13394
13395 * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
13396 (vis_no_unit): Use it.
13397 (visualize_no_unit): Add the insn only if room exists.
13398
13399 2001-08-09 Graham Stott <grahams@redhat.com>
13400
13401 * predict.c (estimate_probability): Replace magic numbers with
13402 appropriate enumeration.
13403
13404 2001-08-09 Graham Stott <grahams@redhat.com>
13405
13406 * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
13407 parameter.
13408 (EXTRACT_FLAGS): Likewise.
13409
13410 2001-08-09 Aldy Hernandez <aldyh@redhat.com>
13411
13412 * config/mips/mips.c (mips_legitimate_address_p): Check for
13413 CONST_INT in last patch.
13414
13415 2001-08-08 Anthony Green <green@redhat.com>
13416
13417 * java/class.c (emit_register_classes): Use assemble_jcr if
13418 possible. Keep the original mechanism as a fallback.
13419 * defaults.h (JCR_SECTION_NAME): Define if we have named section
13420 and weak symbol support.
13421 * crtstuff.c (__JCR_LIST__): Define.
13422 (__JCR_END__): Define.
13423 (_Jv_RegiserClasses): Define weak symbol if possible.
13424 (__do_global_ctors_aux): Register classes for ELF targets with
13425 weak symbol support.
13426
13427 2001-08-08 Kazu Hirata <kazu@hxi.com>
13428
13429 * dbxout.c: Fix comment formatting.
13430 * dependence.c: Likewise.
13431 * df.c: Likewise.
13432 * diagnostic.c: Likewise.
13433 * dominance.c: Likewise.
13434 * doprint.c: Likewise.
13435 * dwarf2out.c: Likewise.
13436 * dwarfout.c: Likewise.
13437 * emit-rtl.c: Likewise.
13438 * except.c: Likewise.
13439 * explow.c: Likewise.
13440 * expmed.c: Likewise.
13441 * expr.c: Likewise.
13442 * flow.c: Likewise.
13443 * fold-const.c: Likewise.
13444 * function.c: Likewise.
13445
13446 2001-08-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
13447
13448 * global.c (retry_global_alloc): Avoid shadowing allocno.
13449
13450 2001-08-08 Mark Mitchell <mark@codesourcery.com>
13451
13452 * except.c (remove_fixup_regions): Fix typo.
13453
13454 2001-08-08 Jan van Male <jan.vanmale@fenk.wau.nl>
13455
13456 * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
13457 unsigned HOST_WIDE_INT to avoid warning.
13458 * final.c (final): Cast INSN_UID to unsigned to avoid warning.
13459 * flow.c (set_block_for_new_insns): Likewise.
13460
13461 Wed Aug 8 21:08:14 CEST 2001 Jan Hubicka <jh@suse.cz>
13462
13463 * sibcall.c (return_value_pseudo): New static variable.
13464 (skip_copy_to_return_value): Handle return_value_pseudo.
13465 (call_ends_block_p): Ensure that return_value_pseudo is set.
13466 (optimize_sibling_and_tail_recursive_call): Discover the
13467 load of pseudo return value in alternate exit block.
13468
13469 Wed Aug 8 21:06:43 CEST 2001 Jan Hubicka <jh@suse.cz>
13470
13471 * calls.c (ECF_ALWAYS_RETURN): New constant.
13472 (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
13473 (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
13474 (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
13475 * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
13476 * rtl.c (reg_note_name): New name.
13477 * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
13478
13479 2001-08-07 Aldy Hernandez <aldyh@redhat.com>
13480
13481 * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
13482
13483 2001-08-08 Jason Merrill <jason_merrill@redhat.com>
13484
13485 * alias.c (get_alias_set): Return a previously calculated
13486 alias set for a VAR_DECL.
13487 * function.c (gen_mem_addressof): Calculate the alias set before
13488 touching the RTL.
13489
13490 Wed Aug 8 18:44:37 CEST 2001 Jan Hubicka <jh@suse.cz>
13491
13492 * predict.def: Set hitrates according our experimental run.
13493
13494 Wed Aug 8 18:01:58 CEST 2001 Jan Hubicka <jh@suse.cz>
13495
13496 * i386.h (HARD_REGNO_RENAME_OK): New macro.
13497
13498 2001-08-08 H.J. Lu <hjl@gnu.org>
13499
13500 * config/mips/mips.c (mips_unique_section): New. Copied from
13501 config/mips/elf.h.
13502
13503 * config/mips/mips-protos.h (mips_unique_section): New
13504 prototype.
13505
13506 * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
13507
13508 * config/mips/little.h: New. Generic little endian mips
13509 targets. Only mips*-*-linux* is converted to use it so far.
13510
13511 * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
13512 (WCHAR_TYPE): Defined
13513 (WCHAR_TYPE_SIZE): Likewise.
13514 (INIT_SUBTARGET_OPTABS): Likewise.
13515 (BSS_SECTION_ASM_OP): Likewise.
13516 (SBSS_SECTION_ASM_OP): Likewise.
13517 (ASM_OUTPUT_ALIGNED_BSS): Likewise.
13518 (ASM_DECLARE_OBJECT_NAME): Likewise.
13519 (UNIQUE_SECTION): Likewise.
13520 (EXTRA_SECTIONS): Likewise.
13521 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
13522 (ASM_OUTPUT_DESTRUCTOR): Likewise.
13523 (ASM_OUTPUT_DEF): Likewise.
13524 (HANDLE_SYSV_PRAGMA): Removed.
13525 (NO_IMPLICIT_EXTERN_C): Likewise.
13526 (TARGET_MEM_FUNCTIONS): Likewise.
13527 (STARTFILE_SPEC): Likewise.
13528 (ENDFILE_SPEC): Likewise.
13529 (LIB_SPEC): Likewise.
13530 (INVOKE__main): Likewise.
13531 (CTOR_LIST_BEGIN): Likewise.
13532 (CTOR_LIST_END): Likewise.
13533 (DTOR_LIST_BEGIN): Likewise.
13534 (DTOR_LIST_END): Likewise.
13535 (SET_ASM_OP): Likewise.
13536 (ASM_OUTPUT_SOURCE_LINE): Likewise.
13537 (ASM_OUTPUT_DEF): Likewise.
13538 (ASM_OUTPUT_IDENT): Likewise.
13539
13540 * config/mips/mips.h (ASM_SPEC): Undefine before define.
13541 (CPLUSPLUS_CPP_SPEC): Likewise.
13542 (ASM_APP_ON) Redefine only if not defined.
13543 (ASM_APP_OFF): Likewise.
13544 (ASM_OUTPUT_SOURCE_LINE): Likewise.
13545 (ASM_OUTPUT_IDENT): Likewise.
13546
13547 * config.gcc: Update tm_file for Linux/mips.
13548
13549 2001-08-08 Bernd Schmidt <bernds@redhat.com>
13550
13551 * cselib.c (cselib_record_sets): If insn is predicated, turn
13552 sources into IF_THEN_ELSEs.
13553
13554 * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
13555 Turn into define_insn_and_split.
13556
13557 * sched-deps.c: Include "cselib.h".
13558 (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
13559 Use cselib to turn memory addresses into VALUEs.
13560 (sched_analyze): Call cselib_init/cselib_finish if necessary.
13561 * sched-int.h (struct sched_info): New member USE_CSELIB.
13562 * sched-ebb.c (ebb_sched_info): Initialize it.
13563 * sched-rgn.c (rgn_sched_info): Likewise.
13564 * Makefile.in (sched-deps.o): Update dependencies.
13565
13566 * cselib.h (cselib_subst_to_values): Declare.
13567 * cselib.c (cselib_subst_to_values): No longer static. Allow MEMs
13568 that have no value and autoincs to be handled by generating a new
13569 dummy value.
13570
13571 2001-08-08 Graham Stott <grahams@redhat.com>
13572
13573 * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
13574 within fixed length SEQUENCE.
13575
13576 2001-08-08 Graham Stott <grahams@redhat.com>
13577
13578 * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
13579 (diagnostic_prefixing_rule): Likewise.
13580 (diagnostic_line_cutoff): Likewise.
13581 (diagnostic_kind_count): Likewise.
13582
13583 2001-08-08 Graham Stott <grahams@redhat.com>
13584
13585 * alias.c (find_base_decl): Delete redundent assignment.
13586
13587 2001-08-08 Graham Stott <grahams@redhat.com>
13588
13589 * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
13590 (abs): Uppercase and paranthesize macro parameter.
13591 (MEM_DEPENDENCY): Add whitespace.
13592
13593 2001-08-08 Graham Stott <grahams@redhat.com>
13594
13595 * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
13596 failure check for CONST_INT
13597
13598 2001-08-08 Graham Stott <grahams@redhat.com>
13599
13600 * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
13601 (libcall_dead_p): Likewise.
13602
13603 (mark_used_regs): Constify fmt.
13604 (find_use_as_address): Likewise.
13605
13606 2001-08-08 Graham Stott <grahams@redhat.com>
13607
13608 * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
13609 parameter.
13610
13611 2001-08-08 Graham Stott <grahams@redhat.com>
13612
13613 * combine.c (combine_simplify_rtx): Update comment and
13614 remove erroneous test.
13615
13616 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
13617
13618 * cppinit.c (cpp_finish): Pop the final buffer without comment.
13619 * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
13620 take care to avoid multiple no-newline at EOF warnings in that
13621 case.
13622
13623 Tue Aug 7 22:18:06 CEST 2001 Jan Hubicka <jh@suse.cz>
13624
13625 * calls.c (expand_call): Do not emit INSN_SETJMP note.
13626 (emit_library_call_value_1): Likewise.
13627 (emit_call_1): Emit REG_SETJMP note.
13628 * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
13629 of INSN_SETJMP
13630 * cselib.c (cselib_process_insn): Likewise.
13631 * flow.c (propagate_block): Likewise.
13632 * loop.c (find_and_verify_loops): Likewise.
13633 * reload.c (find_equiv_regs): Likewise.
13634 * reload1.c (reload): Likewise.
13635 * resource.c (mark_referenced_resources,
13636 mark_set_resources): Likewise.
13637 * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
13638 * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
13639 * haifa-sched.c (unlink_other_notes): Likewise.
13640 (reemit_notes): Likewise.
13641 * sched-ebb.c (sched_ebb): Likewise.
13642 * sched-rgc.c (sched_region): Likewise.
13643 * rtl.c (note_insn_name): Likewise.
13644 (reg_note_name): Add REG_SETJMP
13645 * rtl.h (reg_note): Add REG_SETJMP.
13646 (insn_note): Remove NOTE_INSN_SETJMP.
13647
13648 * profile.c (branch_prob): Add fake edges for setjmp.
13649
13650 2001-08-07 Daniel Jacobowitz <drow@mvista.com>
13651
13652 * config.gcc: Quote target_cpu_default2 correctly for
13653 powerpc*-*-* targets.
13654
13655 2001-08-07 Neil Booth <neil@daikokuya.demon.co.uk>
13656
13657 * cpplib.h, line-map.h: Update comments.
13658 * cppmain.c (printer_init): Move inline.
13659 (maybe_print_line, print_line): Take a map pointer.
13660 (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
13661 (cb_file_change): Don't use prior value of print.map.
13662
13663 2001-08-07 David Edelsohn <edelsohn@gnu.org>
13664
13665 * doc/install.texi: Document fine-grained multilib configuration.
13666
13667 Tue Aug 7 16:52:54 CEST 2001 Jan Hubicka <jh@suse.cz>
13668
13669 * rtlanal.c (find_first_parameter_load): Call note_stores
13670 only on the instructions.
13671
13672 Tue Aug 7 14:56:16 CEST 2001 Jan Hubicka <jh@suse.cz>
13673
13674 * alias.c (nonlocal_mentioned_p):
13675 Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
13676 * calls.c (emit_call_1): Likewise.
13677 * cse.c (cse_insn, invalidate_skipped_block): Likewise.
13678 * cselib.c (cselib_process_insn): Likewise.
13679 * df.c (df_insns_modify): Likewise.
13680 * flow.c (need_fake_edge_p): Likewise.
13681 (propagate_one_insn): Likewise.
13682 * haifa-sched.c (reemit_notes): Likewise.
13683 * integrate.c (copy_insn_list): Likewise.
13684 * jump.c (delete_prior_computation): Likewise.
13685 * local-alloc.c (validate_equiv_mem): Likewise.
13686 * loop.c (scan_loop): Likewise.
13687 * predict.c (estimate_probability): Likewise.
13688 * reload.c (reload): Likewise.
13689 * sched-deps (sched_analyze): Likewise.
13690 * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
13691 * gcse.c (compute_hash_table): Likewise.
13692 (mark_call): Likewise.
13693 (store_killed_in_insn): Likewise.
13694
13695 2001-08-07 Jason Merrill <jason_merrill@redhat.com>
13696
13697 * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
13698
13699 2001-08-06 Richard Henderson <rth@redhat.com>
13700
13701 * varasm.c (assemble_gc_entry): Remove.
13702 * output.h: Likewise.
13703
13704 2001-08-06 Richard Henderson <rth@redhat.com>
13705
13706 * varasm.c (assemble_constructor): Take a symbol_ref and a
13707 priority instead of a bare string. Move priority handling
13708 here from cp/decl2.c.
13709 * output.h: Update decls.
13710
13711 * c-decl.c (c_expand_body): Update calls to assemble_constructor
13712 and assemble_destructor.
13713 * profile.c (output_func_start_profiler): Likewise.
13714 * objc/objc-act.c (finish_objc): Likewise.
13715 (build_module_descriptor): Return the symbol not the symbol name.
13716
13717 2001-08-06 David Edelsohn <edelsohn@gnu.org>
13718
13719 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
13720 * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
13721 ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
13722 * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
13723 * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
13724 * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
13725
13726 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
13727
13728 * cpperror.c (print_containing_files): Moved to line-map.c.
13729 (print_location): line-map.c handles re-listing or otherwise.
13730 * cpphash.h (struct lexer_state): Remove next_bol.
13731 (struct cpp_buffer): Remove include_stack_listed.
13732 * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
13733 Remove faked buffer handling.
13734 (_cpp_do_file_change): Tweak.
13735 * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
13736 * cppmain.c (struct printer): Remove filename.
13737 (print_line, cb_file_change): Update accordingly.
13738 * line-map.c: Include intl.h.
13739 (init_line_maps): Initialize last_listed.
13740 (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
13741 (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
13742 (print_containing_files): New.
13743 * line-map.h (struct line_maps): New member last_listed.
13744 (print_containing_files, INCLUDED_FROM): New.
13745 * Makefile.in: Update.
13746 * po/POTFILES.in: Add line-map.c.
13747
13748 2001-08-06 Richard Henderson <rth@redhat.com>
13749
13750 * except.c (convert_from_eh_region_ranges_1): Never mark
13751 USE or CLOBBER insns as throwing.
13752
13753 * expr.c (store_constructor): Don't clobber memory targets.
13754
13755 2001-08-06 Andreas Jaeger <aj@suse.de>
13756
13757 * profile.c (branch_prob): Remove unused variable insn.
13758
13759 * Makefile.in (local-alloc.o): Add dependency on except.h.
13760
13761 * local-alloc.c: Include except.h for can_throw_internal prototype.
13762
13763 2001-08-06 Richard Henderson <rth@redhat.com>
13764
13765 * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
13766 * function.c (expand_main_function): Implement it.
13767 * doc/tm.texi: Document it.
13768
13769 2001-08-06 Stan Shebs <shebs@apple.com>
13770
13771 * doc/install.texi: Document powerpc-*-darwin* details.
13772
13773 2001-08-06 Daniel Berlin <dan@cgsoftware.com>
13774
13775 * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
13776 (ASM_CPU_SPEC): Move back to rs6000.h
13777 #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
13778
13779 * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
13780
13781 * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
13782 readded.
13783
13784 * config/rs6000/linux64.h: Ditto.
13785
13786 * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13787 to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
13788 nothing.
13789
13790 Remove accidently readded definitions of FUNCTION_PROLOGUE,
13791 FUNCTION_EPILOGUE, ASM_OPEN_PAREN, ASM_CLOSE_PAREN
13792
13793 * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
13794 to rs6000.h
13795
13796 2001-08-05 Richard Henderson <rth@redhat.com>
13797
13798 * local-alloc.c (update_equiv_regs): Do not move insns that
13799 can throw.
13800
13801 2001-08-05 Jan Hubicka <jh@suse.cz>
13802
13803 * Makefile.in (reload1.o): Add dedendancy on except.h
13804 * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
13805 prototypes.
13806 * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
13807 indicating wehther edges has been cleaned up.
13808 * reload1.c: Inlucde except.h
13809 (fixup_abnormal_edges): Accept deleted insns.
13810 * toplev.c (rest_of_compilation): Purge dead edges unconditionally
13811 after combine.
13812
13813 2001-08-06 Neil Booth <neil@daikokuya.demon.co.uk>
13814
13815 * cpplib.c (do_line): Correct line number after pop_buffer.
13816
13817 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
13818
13819 PR preprocessor/3824
13820 * line-map.c: Update comments.
13821 * line-map.h: Update comments.
13822 * tradcif.y: Don't consider large numbers unsigned.
13823
13824 2001-08-05 Neil Booth <neil@daikokuya.demon.co.uk>
13825
13826 PR preprocessor/3081
13827 * c-lex.c (map): New.
13828 (cb_file_change): Update map and use it.
13829 (cb_def_pragma, cb_define, cb_undef): Use map and line.
13830 (c_lex): Update to use map.
13831 * cpperror.c (print_location): Move to using logical line numbers.
13832 * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
13833 (cpp_make_system_header): Similarly.
13834 (_cpp_execute_include): Stop line numbering hacks. Store the
13835 line we will return to.
13836 * cpphash.h (CPP_BUF_LINE): Remove.
13837 (struct cpp_buffer): Remove lineno and pseudo_newlines.
13838 Add map and return_to_line.
13839 (_cpp_do_file_change): Update.
13840 * cppinit.c (cpp_start_read): Update line kludge.
13841 * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
13842 (trigraph_ok): Use logical line numbers for diagnostics.
13843 (skip_block_comment): Likewise.
13844 (skip_whitespace): Likewise.
13845 (skip_line_comment): Use pfile->line instead.
13846 (_cpp_lex_token): Update to use logical line numbering exclusively.
13847 Handle BOL locally. Accept new lines in directives, but keep
13848 pfile->line decremented. Diagnostics use logical lines. Update
13849 directive handling.
13850 * cpplib.c (SEEN_EOL): New.
13851 (skip_rest_of_line, check_eol): Use it.
13852 (end_directive): Increase line number when accepting the newline
13853 at the end of a directive.
13854 (run_directive): Simplify.
13855 (do_line): Bad LC_LEAVEs become LC_RENAMEs. Update.
13856 (_cpp_do_file_change): Update to take buffer line number as an
13857 argument, and store the current map in the cpp_reader. Remove
13858 line number kludges.
13859 (_cpp_do__Pragma): Restore output position after a _Pragma.
13860 (cpp_push_buffer): Don't set output line or lineno.
13861 (_cpp_pop_buffer): Transfer more info from a faked buffer.
13862 Remove line kludge. Set output_line.
13863 * cppmacro.c (builtin_macro): Update handling of __LINE__.
13864 (parse_arg): Use logical lines.
13865 (save_lookahead_token): Save EOFs too now.
13866 * cppmain.c (struct printer): Fix comments.
13867 (printer_init): Simplify, let caller do errors.
13868 (scan_translation_unit, check_multiline_token, dump_macro): Update.
13869 (maybe_print_line): Simplify.
13870 (print_line): Don't print a linemarker if -P.
13871 (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
13872 (cb_file_change): Simplify.
13873 * line-map.h (LAST_SOURCE_LINE): Fix.
13874 (CURRENT_LINE_MAP): New.
13875
13876 2001-08-05 Bernd Schmidt <bernds@redhat.com>
13877
13878 * doloop.c (doloop_modify_runtime): Properly compute number of
13879 iterations if loop was unrolled.
13880
13881 * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
13882 if their CSELIB_VAL_PTRs are.
13883
13884 * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
13885 (setup_spill_pointers): Initialize it.
13886 (spill_restore_mem): Set it.
13887 (do_spill, do_restore): Use it to add REG_INC note.
13888 * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
13889
13890 * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
13891 asms if other insns are available.
13892
13893 * config/ia64/ia64.c (condop_operator): New predicate.
13894 * config/ia64/ia64.h (PREDICATE_CODES): Add it.
13895 * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
13896 patterns.
13897
13898 * expr.c (expand_expr, case COND_EXPR): Prefer working with a
13899 temporary register than directly using a MEM.
13900
13901 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13902
13903 * config/sh/sh.c (sh_asm_named_section): Fix typo in align
13904 parameter in last change.
13905
13906 2001-08-04 Zack Weinberg <zackw@panix.com>
13907
13908 * sparc.md: Don't use #if inside C test expression.
13909
13910 2001-08-04 Richard Henderson <rth@redhat.com>
13911
13912 * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
13913
13914 2001-08-04 Neil Booth <neil@daikokuya.demon.co.uk>
13915
13916 * cpphash.h (struct cpp_reader): New member directive_line.
13917 * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
13918 * cpplib.c (do_define, do_undef, do_ident, do_include_common,
13919 do_pragma): Pass line to callbacks.
13920 (start_directive): Record line of directive.
13921 * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
13922 cb_include): Similarly.
13923 * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
13924 Similarly.
13925
13926 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13927
13928 * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
13929 comment.
13930
13931 Sat Aug 4 13:51:36 CEST 2001 Jan Hubicka <jh@suse.cz>
13932
13933 * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
13934
13935 * reload1.c (fixup_abnormal_edges): New static function.
13936 (reload): Use it.
13937
13938 * flow.c (need_fake_edge_p): New function.
13939 (flow_call_edges_add): Fix handling of noreturn and sibling calls;
13940 avoid call insn to be very last insn in the insn stream.
13941
13942 * profile.c (branch_prob): Call flow_call_edges_add instead of
13943 doing that by hand; cleanup cfg to re-merge basic blocks once
13944 we are done.
13945
13946 2001-08-04 Neil Booth <neil@cat.daikokuya.demon.co.uk>
13947
13948 * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
13949 are also on line-map.h.
13950 * cppfiles.c (stack_include_file): Update.
13951 * cpphash.h (struct cpp_buffer): New member return_at_eof.
13952 (_cpp_pop_buffer): New.
13953 * cppinit.c (cpp_destroy, cpp_finish): Update.
13954 (do_includes): Mark each buffer to return at EOF.
13955 * cpplex.c (_cpp_lex_token): Pop buffers at EOF. Continue or
13956 return as requested.
13957 * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
13958 (cpp_pop_buffer): Rename _cpp_pop_buffer. Stop skipping.
13959 * cpplib.h (cpp_pop_buffer): Remove.
13960 (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
13961 * cppmacro.c (cpp_scan_buffer_nooutput): Similarly. No need to pop
13962 buffers.
13963 * cppmain.c (scan_buffer): Rename scan_translation_unit. No need
13964 to pop buffers.
13965 (do_preprocessing): Update.
13966 * fix-header.c (read_scan_file): Update. No need to pop buffers.
13967 * c-parse.in (_yylex): Similarly.
13968 * scan-decls.c (scan_decls): Similarly.
13969 * line-map.h: Update comments.
13970
13971 * objc/Make-lang.in (objc-act.o): Update dependencies.
13972
13973 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13974
13975 * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
13976 and soft register for operand 0.
13977 ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
13978
13979 2001-08-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
13980
13981 * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
13982 register for operand 0.
13983 ("bitcmpqi_z_used"): Allow memory for operand 0.
13984 (split "bitcmpqi"): New split to handle address reg as operand 1.
13985
13986 2001-08-04 Andreas Jaeger <aj@suse.de>
13987
13988 * gcse.c: Revert Daniel's last patch.
13989
13990 2001-08-03 Zack Weinberg <zackw@stanford.edu>
13991
13992 * sparc-protos.h: Add prototypes for fp_zero_operand and
13993 reg_or_0_operand.
13994 * sh-protos.h: Add prototype for fpul_operand.
13995
13996 2001-08-04 Hans-Peter Nilsson <hp@bitrange.com>
13997
13998 * doc/extend.texi (Other Builtins): Fix typo in last change.
13999
14000 2001-08-03 Richard Henderson <rth@redhat.com>
14001
14002 * target.h (gcc_target): Add asm_out.named_section,
14003 section_type_flags, have_named_sections.
14004 * target-def.h (TARGET_ASM_NAMED_SECTION): New.
14005 (TARGET_HAVE_NAMED_SECTIONS): New.
14006 (TARGET_SECTION_TYPE_FLAGS): New.
14007
14008 * Makefile.in (toplev.o): Depend on TARGET_H.
14009 (varasm.o, dbxout.o): Likewise.
14010 * c-common.c (decl_attributes): Check targetm.have_named_sections
14011 instead of ifdef ASM_OUTPUT_SECTION_NAME.
14012 * dbxout.c (dbxout_function_decl): Likewise.
14013 (dbxout_function_end): Likewise.
14014 * toplev.c (compile_file): Likewise.
14015 * varasm.c (exception_section): Likewise.
14016 * cp/decl2.c (finish_objects): Likewise.
14017
14018 * defaults.h (EH_FRAME_SECTION): Remove.
14019 (EH_FRAME_SECTION_ASM_OP): Remove.
14020 (EH_FRAME_SECTION_NAME): New.
14021 (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
14022 (UNIQUE_SECTION_P): Remove.
14023 * dwarf2out.c (SECTION_FORMAT): Remove.
14024 (ASM_OUTPUT_SECTION): Remove.
14025 (output_call_frame_info): Use named_section_flags.
14026 (output_comp_unit, dwarf2out_start_source_file): Likewise.
14027 (dwarf2out_end_source_file, dwarf2out_define): Likewise.
14028 (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
14029 * varasm.c (in_eh_frame, eh_frame_section): Remove.
14030 (named_section_flags): New.
14031 (named_section): Use it and targetm.section_type_flags.
14032 (resolve_unique_section): New.
14033 (assemble_start_function): Use it.
14034 (asm_emit_uninitialised, assemble_variable): Likewise.
14035 (default_section_type_flags): New.
14036 (default_no_named_section, default_elf_asm_named_section): New.
14037 (default_coff_asm_named_section, default_pe_asm_named_section): New.
14038 * output.h: Update varasm.c decls.
14039 (SECTION_*): New flags.
14040
14041 * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
14042 (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
14043
14044 * config/elfos.h (UNIQUE_SECTION_P): Remove.
14045 * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
14046 * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
14047 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14048 * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
14049 * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
14050 * config/mips/elf.h, config/mips/elf64.h: Likewise.
14051 * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
14052 * config/pa/pa64-hpux.h,
14053
14054 * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
14055 (TARGET_ASM_NAMED_SECTION): New.
14056 * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
14057 * config/alpha/vms.h, config/arm/coff.h: Likewise.
14058 * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
14059 * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
14060 * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
14061 * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
14062 * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
14063 * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
14064 * config/i386/sco5.h, config/i386/win32.h: Likewise.
14065 * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
14066 * config/mcore/mcore.h, config/mips/elf.h: Likewise.
14067 * config/mips/elf64.h, config/mips/iris6.h: Likewise.
14068 * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
14069 * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
14070 * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
14071 * config/sparc/sysv4.h: Likewise.
14072
14073 * config/nextstep.h: Error until named sections implemented.
14074
14075 * config/a29k/a29k.c (a29k_asm_named_section): New.
14076 * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
14077 (vms_section_type_flags, vms_asm_named_section): New.
14078 * config/arm/arm.c (arm_elf_asm_named_section): New.
14079 * config/avr/avr.c (asm_output_section_name): Remove.
14080 * config/avr/avr-protos.h: Update.
14081 * config/c4x/c4x.c (c4x_asm_named_section): New.
14082 * config/h8300/h8300.c (h8300_asm_named_section): New.
14083 * config/i386/i386.c (sco_asm_named_section): New.
14084 * config/i386/winnt.c (SECTION_PE_SHARED): New.
14085 (i386_pe_section_type_flags): New.
14086 (i386_pe_asm_named_section): New.
14087 * config/i386/i386-protos.h: Update.
14088 * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
14089 * config/mcore/mcore.c (mcore_asm_named_section): New.
14090 * config/mips/mips.c (iris6_asm_named_section): New.
14091 * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
14092 instead of UNIQUE_SECTION_P.
14093 * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
14094 (xcoff_asm_named_section): New.
14095 * config/sh/sh.c (sh_asm_named_section): New.
14096 * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
14097
14098 * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
14099 * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
14100 (EH_FRAME_SECTION_NAME): New.
14101 (EXCEPTION_SECTION): New.
14102 * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
14103 (DEBUG_*_SECTION): Remove.
14104 * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
14105 * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
14106 (EH_FRAME_SECTION_ASM_OP): Remove.
14107
14108 * doc/tm.texi (UNIQUE_SECTION_P): Remove.
14109 (ASM_OUTPUT_SECTION_NAME): Remove.
14110 (TARGET_ASM_NAMED_SECTION): New.
14111 (TARGET_HAVE_NAMED_SECTIONS): New.
14112 (TARGET_SECTION_TYPE_FLAGS): New.
14113 (EH_FRAME_SECTION_ASM_OP): Remove.
14114 (EH_FRAME_SECTION_NAME): New.
14115
14116 2001-08-03 Zack Weinberg <zackw@stanford.edu>
14117
14118 * builtins.c (fold_builtin_constant_p): Return integer_zero_node
14119 for complex expressions when cfun == 0.
14120 * doc/extend.texi: Document that __builtin_constant_p can be
14121 used in data initializers as well as functions.
14122
14123 2001-08-03 Alexandre Oliva <aoliva@redhat.com>
14124
14125 * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
14126 variable I locally, instead of expecting a declaration in the
14127 calling context.
14128
14129 2001-08-03 Richard Henderson <rth@redhat.com>
14130
14131 * except.c (collect_one_action_chain): Add an explicit cleanup
14132 action if regions surrounding a catch were encoded entirely
14133 within the call-site entry.
14134
14135 2001-08-03 Richard Henderson <rth@redhat.com>
14136
14137 * dbxout.c (dbxout_symbol_location): Flatten subregs first;
14138 don't take REGNO of a non-register.
14139
14140 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14141
14142 * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
14143 __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
14144 (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
14145 (__gthread_mutex_init_function): New function for mutex initialization.
14146
14147 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
14148
14149 * Makefile.in: Revert screwed up commit.
14150
14151 2001-08-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
14152
14153 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
14154 * config/m68hc11/larith.asm (_exit): Split in several sub-sections
14155 merged by linker script to get a final _exit().
14156 (__do_global_dtors): New for destructor handling in specific exit
14157 section.
14158 (__do_global_ctors): New for constructors in specific install section.
14159 (__map_data_section): Map data sections before running constructors.
14160 * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
14161 (CTORS_SECTION_ASM_OP): Define to put in readonly section.
14162 (DTORS_SECTION_ASM_OP): Likewise.
14163 (CTORS_SECTION_FUNCTION): Define to force a reference to
14164 __do_global_ctors.
14165 (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
14166
14167 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
14168
14169 * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
14170
14171 * Makefile.in: Add df.h to gcse.c dependencies.
14172
14173 2001-08-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
14174
14175 * varasm.c (output_constant_def_contents): Use for the length of a
14176 string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
14177 depending on which is larger.
14178
14179 2001-08-03 Daniel Berlin <dan@cgsoftware.com>
14180
14181 * gcse.c: Include df.h for use as a dataflow analyzer.
14182 Remove regvec.
14183 Declaration of reg_set_info: gone.
14184 New df_analyzer variable used by store motion.
14185 (reg_set_info): Deleted.
14186 (mark_mem_regs): New function, analyze regs used by a mem.
14187 (store_ops_ok): Use dataflow analyzer results to determine if
14188 necessary regs are changed in the block.
14189 (find_moveable_store): Remove check for symbol ref, we can handle
14190 much more complex expressions now.
14191 (compute_store_table): Remove most of the code, it's unnecessary
14192 now that the dataflow analyzer records the info for us.
14193 (store_killed_after): Add parameter to say whether to do the
14194 store_ops_okay test, used to speed up testing when we already know
14195 the answer, and just want to know if the store itself was killed.
14196 (build_store_vector): Largely rewritten to calculate the various
14197 vectors properly, and somewhat optimized.
14198 (store_motion): Init the df_analyzer, get REG_DEF chains.
14199 Also handle trapping expressions (since mems almost always trap)
14200 (simple_mem): Redefine what a simple mem is.
14201
14202 2001-08-03 DJ Delorie <dj@redhat.com>
14203
14204 * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
14205 set from a constant part of the condition.
14206
14207 2001-08-01 Andrew Cagney <ac131313@redhat.com>
14208
14209 * mkdeps.c (deps_add_default_target): Make local variable
14210 ``start'' a const char pointer.
14211 * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
14212
14213 2001-08-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14214
14215 * doc/install.texi (Configuration): Fix markup.
14216 (Specific, i?86-*-udk): Likewise.
14217 (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
14218 --with-gnu-ld.
14219 Document --enable-threads and --enable-libgcj status.
14220 (Specific, mips-sgi-irix*): Canonicalize triples.
14221 (Specific, mips-sgi-irix5): Warn about problems with this config.
14222 Mention required GNU as patch.
14223 Native assembler problems are fixed.
14224 (Specific, mips-sgi-irix6): Update O32 ABI support status.
14225 Document --enable-threads and --enable-libgcj status.
14226
14227 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
14228
14229 * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
14230 of mkinstalldirs.
14231
14232 2001-08-03 Richard Henderson <rth@redhat.com>
14233
14234 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
14235 constant data.
14236
14237 2001-08-03 Richard Henderson <rth@redhat.com>
14238
14239 * rtlanal.c (find_first_parameter_load): Stop if we
14240 reach a CODE_LABEL at BOUNDARY.
14241
14242 2001-08-03 Richard Henderson <rth@redhat.com>
14243
14244 * config/alpha/alpha.md (force_movdi): New insn.
14245 * config/alpha/alpha.c (alpha_expand_prologue): Use it.
14246 Tweek FRP marking of VMS prologue insns.
14247 * config/alpha/vms.h (EPILOGUE_USES): New.
14248
14249 2001-08-02 Richard Henderson <rth@redhat.com>
14250
14251 * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
14252
14253 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
14254
14255 * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
14256 simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
14257 config/convex/convex.h, config/d30v/d30v.c,
14258 config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
14259 config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
14260 config/mips/mips.h, config/mn10200/mn10200.h,
14261 config/mn10300/mn10300.h, config/pdp11/pdp11.md,
14262 config/v850/v850.h, config/vax/openbsd.h,
14263 config/vax/openbsd1.h, config/vax/ultrix.h,
14264 config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
14265 config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
14266 cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
14267 doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
14268 doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
14269 in comments and documentation.
14270
14271 2001-08-03 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14272
14273 * line-map.c: New.
14274 * line-map.h: New.
14275 * Makefile.in (line-map.o): New.
14276 (LIBCPP_OBJS, LIBCPP_DEPS): Update.
14277 * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
14278 * cpperror.c (print_containing_files): Similarly.
14279 (print_location): Update. Don't output a space before _Pragma.
14280 * cppfiles.c (stack_include_file): Set to line 1 immediately.
14281 (stack_include_filee, cpp_make_system_header): Update.
14282 (_cpp_execute_include): Get logical line number right for calling
14283 as-yet-unterminated #include.
14284 * cpphash.h (struct cpp_reader): Add line_maps.
14285 (_cpp_do_file_change): Update.
14286 * cppinit.c (cpp_create_reader): Initialize line maps.
14287 (cpp_destroy): Destroy line maps.
14288 (cpp_start_read): Get logical line number right.
14289 * cpplex.c (parse_string): Only warn once for multi-line strings.
14290 Use boolean variable for null warning.
14291 * cpplib.c (_cpp_handle_directive): End the directive if it isn't
14292 already.
14293 (do_include_common): End the directive early.
14294 (do_line): Don't warn about out-of-range lines in preprocessed
14295 source. Update. Remove unused variables.
14296 (_cpp_do_file_change): Update for new line mapping.
14297 (pragma_cb): New typedef.
14298 (cpp_register_pragma): Stop looking ahead before calling the
14299 handler. Clean up.
14300 (do_pragma_system_header): End directive early.
14301 (cpp_get_line_maps): New.
14302 (cpp_pop_buffer): Fudge logical line. Update.
14303 * cpplib.h: Include line-map.h
14304 (enum cpp_fc_reason): Remove.
14305 (struct cpp_file_change): Update.
14306 (cpp_get_line_maps): New.
14307 * cppmain.c (struct_printer): New member map.
14308 (cb_file_change): Update for new mappings.
14309 * fix-header.c (cb_file_change): Similarly.
14310
14311 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
14312
14313 * Makefile.in (libgcc.mk): Define mkinstalldirs.
14314 * mklibgcc.in: Use mkinstalldirs instead of mkdir.
14315
14316 2001-08-02 Lars Brinkhoff <lars@nocrew.org>
14317
14318 * config/vax/vax.c: include expr.h.
14319
14320 2001-08-02 Nick Clifton <nickc@cambridge.redhat.com>
14321
14322 * Makefile.in ($(srcdir)/configure): Only rebuild in
14323 maintainer mode.
14324 ($(srcdir)/config.in): Only define in maintainer mode.
14325 ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
14326
14327 2001-08-02 David Edelsohn <edelsohn@gnu.org>
14328
14329 * doc/install.texi (Install GCC: Binaries): Update Bull info.
14330
14331 2001-08-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14332
14333 * gcc.c (set_collect_gcc_options): New function, split out from
14334 main.
14335 Ignore elided switches.
14336 (do_spec_1): Invoke before executing command.
14337 (set_input): Export.
14338 Move declaration ...
14339 * gcc.h (set_input): ... here.
14340 * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
14341 file.
14342
14343 2001-08-02 Nathan Sidwell <nathan@codesourcery.com>
14344
14345 Kill -fhonor-std.
14346 * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
14347 interaction.
14348 * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
14349
14350 2001-08-02 Richard Sandiford <rsandifo@redhat.com>
14351
14352 * mips.md (movdicc): Make conditional on TARGET_64BIT. Likewise
14353 for the unnamed instructions it expands to.
14354
14355 2001-08-02 Richard Henderson <rth@redhat.com>
14356
14357 * regclass.c (call_really_used_regs): Conditionally define.
14358 (init_reg_sets_1): Don't use it if not defined.
14359 (fix_register): Similarly, don't set it.
14360
14361 2001-08-01 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14362
14363 * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
14364 Correct comment that had been missed in the previous change.
14365
14366 2001-08-01 Stan Shebs <shebs@apple.com>
14367
14368 * config/darwin.c (machopic_stub_name): Try matching by name.
14369 (update_stubs): New function.
14370 (darwin_encode_section_info): Call it and update_non_lazy_ptrs
14371 unconditionally.
14372
14373 2001-08-01 Richard Henderson <rth@redhat.com>
14374
14375 * except.c (output_function_exception_table): Use assemble_align.
14376 * varasm.c (assemble_eh_label): Remove.
14377 (assemble_eh_align, assemble_eh_integer): Remove.
14378
14379 2001-08-01 Robert Lipe <robertl@caldera.com>
14380
14381 * dwarfout.c: Remove reference to README.DWARF.
14382
14383 2001-08-01 Andrew MacLeod <amacleod@redhat.com>
14384
14385 * regclass.c (call_really_used_regs): New array for registers which
14386 are actually used by a call.
14387 (init_reg_sets_1): Initialize regs_invalidated_by_call with the
14388 new array.
14389 (fix_register): Set call_really_used too.
14390 * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
14391 * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
14392
14393 2001-08-01 Richard Henderson <rth@redhat.com>
14394
14395 * read-rtl.c (read_name): Consider \r whitespace.
14396
14397 2001-07-11 Andrew Cagney <ac131313@redhat.com>
14398
14399 * config.gcc: Recognize powerpc-*-netbsd*.
14400
14401 * doc/install.texi (Host/target specific installation notes for
14402 GCC): Mention powerpc-*-netbsd*.
14403
14404 * config/rs6000/netbsd.h: New file.
14405 (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
14406 (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
14407 (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
14408 (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
14409 (TARGET_VERSION): Redefine.
14410
14411 * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
14412 mcall-netbsd as a match for mcall-sysv.
14413 (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
14414 (ncrti.S, ncrtn.S): New targets.
14415 ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
14416
14417 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
14418 "netbsd' as a V4 ABI.
14419 (ASM_SPEC): Check for -mcall-netbsd.
14420 (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
14421 (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
14422 (LIB_SPEC, ENDFILE_SPEC): Ditto.
14423 (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
14424 (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
14425 (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
14426 (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
14427
14428 * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
14429 (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
14430
14431 2001-08-01 Mark Kettenis <kettenis@gnu.org>
14432
14433 * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
14434 only if NO_BASE_OF_ENCODED_VALUE isn't defined.
14435 * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
14436 including "unwind-pe.h".
14437
14438 Wed Aug 1 20:01:42 CEST 2001 Jan Hubicka <jh@suse.cz>
14439
14440 * rs6000.md (define_splits): Kill unused constraints.
14441
14442 Wed Aug 1 20:02:12 CEST 2001 Graham Stott <grahams@redhat.com>
14443 Jan Hubicka <jh@suse.cz>
14444
14445 * function.c (thread_prologue_and_epilogue_insns): Kill code
14446 dealing with non-existent CFG.
14447
14448 2001-08-01 Kazu Hirata <kazu@hxi.com>
14449
14450 * alias.c: Fix comment formatting.
14451 * bitmap.c: Likewise.
14452 * builtins.c: Likewise.
14453 * calls.c: Likewise.
14454 * c-common.c: Likewise.
14455 * c-decl.c: Likewise.
14456 * c-dump.c: Likewise.
14457 * c-lex.c: Likewise.
14458 * collect2.c: Likewise.
14459 * combine.c: Likewise.
14460 * conflict.c: Likewise.
14461 * cppfiles.c: Likewise.
14462 * cppinit.c: Likewise.
14463 * cpplex.c: Likewise.
14464 * cpplib.c: Likewise.
14465 * cppmacro.c: Likewise.
14466 * cppspec.c: Likewise.
14467 * c-pragma.c: Likewise.
14468 * crtstuff.c: Likewise.
14469 * cse.c: Likewise.
14470 * cselib.c: Likewise.
14471 * c-semantics.c: Likewise.
14472 * c-typeck.c: Likewise.
14473
14474 2001-08-01 H.J. Lu <hjl@gnu.org>
14475
14476 * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
14477
14478 2001-08-01 H.J. Lu <hjl@gnu.org>
14479
14480 * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
14481
14482 2001-08-01 Ziemowit Laski <zlaski@apple.com>
14483
14484 * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
14485 contextualizing Objective-C class name lookup by the lexer.
14486 (typespec_reserved_nonattr): Disable ObjC class name lookup after
14487 seeing a TYPESPEC.
14488 (protocoldef): Add support for forward @protocol declarations.
14489 (yylexname): Suppress ObjC class name lookup in certain contexts;
14490 re-enable after lookup is complete.
14491 (_yylex): Re-enable ObjC class name lookup when certain
14492 punctuation marks are seen.
14493
14494 * objc/objc-act.c (check_protocol_recursively): New function used
14495 for finding circular dependencies in protocols.
14496 (objc_declare_protocols): New function for handling forward
14497 @protocol declarations.
14498 (receiver_is_class_object): Detect the case when 'self' is used
14499 inside of a class method.
14500 (build_message_expr): Issue a warning if class method is desired
14501 but instance method is found instead.
14502 (conforms_to_protocol): Streamline.
14503 (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
14504 protocol Foo, even if 'Bar foo' does not.
14505 (check_protocols): Streamline.
14506 (start_protocol): Add checks for circular and duplicate protocol
14507 definitions.
14508 (encode_aggregate_within): For typedefs of structs, encode the
14509 underlying struct.
14510 * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
14511 (objc_declare_protocols): New prototype.
14512
14513 2001-08-01 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14514
14515 * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
14516 * cpplex.c (handle_newline): Update prototype. Maintain logical
14517 line number.
14518 (skip_escaped_newlines, skip_block_comment, parse_string):
14519 Update accordingly.
14520 (_cpp_lex_token): Update, and store token position within the token.
14521 * cpplib.h (struct cpp_token): Add line and column entries.
14522 * cppmacro.c (replace_args): Position stringified tokens correctly.
14523
14524 2001-08-01 Andreas Jaeger <aj@suse.de>
14525
14526 * basic-block.h: Add prototype for last_loop_beg_note.
14527
14528 2001-07-31 Alexandre Petit-Bianco <apbianco@redhat.com>
14529
14530 * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
14531 RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
14532 comment.
14533 (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
14534 while handling WITH_CLEANUP_EXPR node. Use second operand calling
14535 expand_decl_cleanup.
14536 * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
14537 the first RTX.
14538 (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
14539 operand while calling simple_cst_equal.
14540 * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
14541 operand is the cleanup expression, the third is the RTL_EXPR.
14542 * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
14543
14544 2001-07-31 Jeff Sturm <jsturm@one-point.com>
14545
14546 * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
14547
14548 2001-07-31 matthew green <mrg@eterna.com.au>
14549
14550 * config.gcc (i386-*-netbsdelf): New description.
14551 * config/i386/netbsd-elf.h: New file.
14552
14553 2001-07-30 Geoffrey Keating <geoffk@redhat.com>
14554
14555 * loop.c (check_dbra_loop): Use single_set to compute
14556 jump_label.
14557
14558 2001-07-31 Daniel Berlin <dan@cgsoftware.com>
14559
14560 PowerPC reorg and support for powerpc64-*-linux*.
14561
14562 Also fixes emitting of constants on 32 bit and 64 bit
14563 platforms.
14564
14565 * config.gcc: powerpc64-*-linux* is a new target.
14566 Things that needed aix.h now also include xcoff.h
14567
14568 * config/rs6000/rs6000.h: Split XCOFF specific stuff into
14569 xcoff.h.
14570 Move AIX specific stuff into aix.h.
14571 (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
14572 with more than just XCOFF now.
14573 (SET_ASM_OP): Remove, now defined where needed.
14574 (FUNCTION_PROLOGUE): New macro definition.
14575 (FUNCTION_EPILOGUE): New macro definition.
14576 (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
14577
14578 * config/rs6000/xcoff.h: New file.
14579
14580 * config/rs6000/linux64.h: New file.
14581
14582 * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
14583
14584 2001-07-31 Alan Modra <amodra@bigpond.net.au>
14585
14586 * rs6000.c (print_operand_address): Handle ELF syntax.
14587 (output_toc): Simplify. Use DOUBLE_INT_ASM_OP.
14588 * rs6000.md (load_toc_aix_di): Handle ELF syntax.
14589 * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
14590
14591 2001-07-31 David Edelsohn <edelsohn@gnu.org>
14592
14593 * rs6000.c (rs6000_override_options): Only disable
14594 flag_function_sections for XCOFF.
14595 (exact_log2_cint_operand): New predicate.
14596 (reg_or_{add,sub}_cint64_operand): New predicates.
14597 (add_operand): Compare CONST_INT with fewer function calls.
14598 (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
14599 (print_operand, case 'p'): Ensure positive operand.
14600 (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
14601 * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
14602 (PREDICATE_CODES): Add new predicates.
14603 * rs6000.md (addsi3): Split 32-bit constants more correctly.
14604 (divsi3, modsi3): Ensure positive power-of-2.
14605 (adddi3): Use new predicate. Split 32-bit constants more
14606 correctly. Re-arrange splitter to handle any constant.
14607 (subdi3): Use new predicate.
14608 (divdi3, moddi3): Ensure positive power-of-2.
14609 (movdi): Use rs6000_emit_set_const.
14610 (load_toc_v4_pic_di): Delete.
14611
14612 2001-07-31 Graham Stott <grahams@redhat.com>
14613
14614 * function.c (pad_below): Revert 2001-07-26 patch.
14615
14616 Tue Jul 31 15:37:35 CEST 2001 Jan Hubicka <jh@suse.cz>
14617
14618 * reg-stack (convert_regs_1): Fix best edge condition.
14619
14620 Tue Jul 31 15:33:27 CEST 2001 Jan Hubicka <jh@suse.cz>
14621
14622 * jump.c (duplicate_loop_exit_test): Better test for jumps
14623 entering the loop; create loop pre_header.
14624
14625 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
14626
14627 * doc/install.texi: Add s390 and s390x as new targets.
14628 * doc/invoke.texi: Add documentation of S/390 and zSeries
14629 target options.
14630 * doc/md.texi: Add documentation of S/390 and zSeries constraints.
14631
14632 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
14633
14634 * config/m68k/m68k.md: Replace all general_operand with
14635 nonimmediate_operand for all destinations.
14636 * config/m68k/m68k.c (not_sp_operand): Likewise.
14637
14638 Mon Jul 30 23:20:34 EDT 2001 John Wehle (john@feith.com)
14639
14640 * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
14641
14642 2001-07-30 Richard Henderson <rth@redhat.com>
14643
14644 * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
14645 * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
14646
14647 2001-07-30 Roman Zippel <zippel@linux-m68k.org>
14648
14649 * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
14650 Add missing doc strings
14651 * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
14652 * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
14653
14654 Mon Jul 30 22:16:08 CEST 2001 Jan Hubicka <jh@suse.cz>
14655
14656 * i386.c (ix86_output_main_function_alignment_hack): New function.
14657 (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
14658
14659 * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
14660 edges by EDGE_DFS_BACK flag.
14661 (dump_edge_info): Add dfs_back flag.
14662 * basic-block.h (EDGE_DFS_BACK): New constant.
14663 (mark_dfs_back_edges): Declare.
14664 * alias.c (loop_p): Remove.
14665 (mark_constant_function): Use mark_dfs_back_edges.
14666
14667 * reg-stack.c (block_info_def): Add predecessors counter and stack_out.
14668 (reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
14669 (compensate_edge): Break out from ...
14670 (convert_regs_1): ... here; do smart choosing of stack_out to copy.
14671 (convert_regs_2): Set block_done once block is really done;
14672 Do updating of the predecessors counts.
14673
14674 * toplev.c (rest_of_compilation): Recompute block_for_insn
14675 before post-reload cfg_cleanup.
14676 * function.c (thread_prologue_epilogue_insns):
14677 Call set_block_for_new_insns when emitting prologue directly.
14678
14679 2001-07-30 Andreas Jaeger <aj@suse.de>
14680
14681 * jump.c: Add prototype for mark_modified_reg.
14682
14683 * cse.c (set_live_p): Add unused attribute.
14684
14685 * gcov.c (calculate_branch_probs): Use gcov_type to avoid
14686 overflow.
14687 (scan_for_source_files): Use long for count to avoid overflow.
14688 (output_data): Likewise.
14689 (output_data): Don't use string concatatenation to silence gcc
14690 -traditional.
14691
14692 * predict.c: Fix typos and grammar.
14693
14694 * gcse.c (insert_insn_end_bb): Remove unused variables.
14695
14696 Mon Jul 30 21:54:53 CEST 2001 Jan Hubicka <jh@suse.cz>
14697
14698 * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
14699 (attempt_auto_inc): LIkewise.
14700 (mark_used_reg): Likewise.
14701 (try_pre_increment_1): Likewise.
14702 * regclass.c (regclass): Likewise.
14703 * global.c (allocno_compare): Update comment; change scaling factor.
14704 * local-alloc.c (QTY_CMP_PRI): Likewise.
14705 * regs.h (REG_FREQ_FROM_BB): New.
14706 (REG_FREQ_MAX): Likewise.
14707
14708 2001-07-30 H.J. Lu <hjl@gnu.org>
14709
14710 * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
14711 -D_GNU_SOURCE.
14712
14713 2001-07-30 H.J. Lu (hjl@gnu.org)
14714
14715 * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
14716 (ASM_DECLARE_FUNCTION_SIZE): Likewise.
14717 (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
14718
14719 2001-07-30 Nick Clifton <nickc@cambridge.redhat.com>
14720
14721 * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
14722 as -mthumb-interwork when -mcpu=arm7 is specified.
14723
14724 Mon Jul 30 17:44:43 CEST 2001 Jan Hubicka <jh@suse.cz>
14725
14726 * predict.def (noreturn, loop branch, loop exit): Mark as first
14727 match heuristics.
14728
14729 Mon Jul 30 12:52:11 CEST 2001 Jan Hubicka <jh@suse.cz>
14730
14731 * combine.c (try_combine): Avoid barrier after noop jumps.
14732
14733 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14734
14735 * cpphash.h (struct cpp_reader): Remove import_warning.
14736 * cpplib.c (skip_rest_of_line): Don't bother turning off
14737 macro expansion.
14738 (parse_include): Move include handling to...
14739 (do_include_common): ... here. Move import warning from...
14740 (do_import): ... here.
14741 (do_pragma_poison): Don't do a callback for poison identifiers.
14742 * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
14743 * cppmain.c (setup_callbacks): Similarly.
14744
14745 Sun Jul 29 23:26:50 CEST 2001 Jan Hubicka <jh@suse.cz>
14746
14747 * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
14748 handle multiple sets.
14749 * except.c (sjlj_mark_call_sites): .... here.
14750 * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
14751
14752 Sun Jul 29 21:38:45 CEST 2001 Jan Hubicka <jh@suse.cz>
14753
14754 Suggested by Richard Henderson and Richard Kenner:
14755 * combine.c (recog_for_combine): Use the fake recog
14756 only if instruction does not match.
14757 * rtl.h (NOOP_MOVE_INSN_CODE): New.
14758 * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
14759
14760 * combine.c (try_combine): Discover noop jump as direct jump.
14761
14762 2001-07-29 Daniel Berlin <dan@cgsoftware.com>
14763
14764 * df.c (df_rd_global_compute): Add successors to worklist, not
14765 current item.
14766 (df_ru_global_compute): Ditto.
14767
14768 2001-07-27 Daniel Berlin <dan@cgsoftware.com>
14769
14770 * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
14771 increment REG_N_SETS.
14772
14773 2001-07-26 Daniel Berlin <dan@cgsoftware.com>
14774
14775 * sbitmap.h: New prototype for sbitmap_a_xor_b.
14776
14777 * sbitmap.c (sbitmap_a_xor_b): New function.
14778 ifdef the basic block stuff on IN_GCC.
14779
14780 2001-07-29 Neil Booth <neil@cat.daikokuya.demon.co.uk>
14781
14782 * cppexp.c (parse_defined): Always record the macro name.
14783 (lex): Don't worry about identifiers, or special-case
14784 CPP_NOT here.
14785 (_cpp_parse_expr): Figure out at the end of the routine
14786 whether we saw a valid !defined() expression.
14787 * cppfiles.c (stack_include_file): Update for mi_valid.
14788 (_cpp_pop_file_buffer): Similarly.
14789 * cpplex.c (_cpp_lex_token): Similarly.
14790 * cpphash.h (enum mi_state, enum mi_ind, mi_state,
14791 mi_if_not_defined, mi_lexed): Remove.
14792 (mi_valid): New.
14793 * cpplib.c (do_if): Simplify.
14794 (do_endif, push_conditional, _cpp_handle_directive): Update
14795 for renaming of mi_state to mi_valid.
14796 doc:
14797 * cpp.texi: Add index entries for digraphs, and add comment
14798 that C++ refers to them as alternative tokens.
14799
14800 Sun Jul 29 18:59:13 CEST 2001 Jan Hubicka <jh@suse.cz>
14801
14802 * basic-block.h (CLEANUP_PRE_LOOP): New.
14803 * except.c (finish_eh_generation): Update call of cleanup_cfg.
14804 * sibcall.c (optimize_sibling_calls): Likewise.
14805 * toplev.c (rest_of_compilation): Likewise.
14806 * flow.c (try_forward_edges): Take argument MODE;
14807 do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
14808 (try_optimize_cfg): Update call of try_forward_edges.
14809
14810 Sun Jul 29 18:59:56 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
14811 Jan Hubicka <jh@suse.cz>
14812
14813 * (validate_replace_rtx_1): Fix simplification of MINUS.
14814
14815 2001-07-29 Neil Booth <neil@daikokuya.demon.co.uk>
14816
14817 PR preprocessor/3669
14818 * cppinit.c (init_dependency_output): Turn off dump requests
14819 if sending dependencies to stdout.
14820
14821 2001-07-28 Richard Henderson <rth@redhat.com>
14822
14823 * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
14824 not optimizing.
14825
14826 2001-07-28 Golubev I. N. <gin@mo.msk.ru>
14827
14828 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
14829
14830 2001-07-28 Kazu Hirata <kazu@hxi.com>
14831
14832 * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
14833 is VAR_DECL first to prevent an ICE.
14834
14835 2001-07-28 Richard Henderson <rth@redhat.com>
14836
14837 * varasm.c (immed_real_const_1): Don't elide special cases for
14838 nested functions.
14839 (clear_const_double_mem): Clear const_tiny_rtx too.
14840
14841 2001-07-28 Richard Henderson <rth@redhat.com>
14842
14843 * dwarf2out.c (dw_val_class_offset): New.
14844 (struct dw_ranges_struct, dw_ranges_ref): New.
14845 (ranges_table, ranges_table_allocated): New.
14846 (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
14847 (add_AT_offset, add_ranges, output_ranges): New.
14848 (print_die, output_die): Handle dw_val_class_offset.
14849 (attr_checksum, size_of_die, value_format): Likewise.
14850 (gen_lexical_block_die): Handle non-contiguous blocks.
14851 (gen_block_die): Likewise.
14852 (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
14853 if needed. Dump the ranges table.
14854 * final.c (final_start_function): Remove unnecessary notes and
14855 rebuild the block tree before numbering the blocks.
14856 * function.c (reorder_blocks_0): Walk the existing block tree
14857 to unmark all blocks.
14858 (reorder_blocks_1): Create block fragments when duplicate block
14859 notes are seen.
14860 (reorder_fix_fragments): New.
14861 (reorder_blocks): Call it.
14862 * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
14863
14864 2001-07-28 Richard Henderson <rth@redhat.com>
14865
14866 * emit-rtl.c (adjust_address): Make a copy of the memory address.
14867
14868 2001-07-28 Richard Henderson <rth@redhat.com>
14869
14870 * flow.c (add_to_mem_set_list): New function.
14871 (init_propagate_block_info): Use it.
14872 (mark_set_1): Likewise.
14873 (insn_dead_p): Canonicalize memory address for dead store
14874 comparison. Allow wider mode stores to kill narrower mode stores.
14875 (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
14876 (invalidate_mems_from_set): Don't handle MEMs.
14877
14878 2001-07-28 Kazu Hirata <kazu@hxi.com>
14879
14880 * config/h8300/h8300.h: Fix formatting.
14881
14882 Sat Jul 28 23:35:22 CEST 2001 Jan Hubicka <jh@suse.cz>
14883
14884 * basic-block.h (EDGE_FREQUENCY): New macro.
14885 * bb-reorder (fixup_reorder_chain): Set counts and frequencies
14886 for new BB/edges.
14887 * flow.c (find_sub_basic_blocks): Likewise.
14888 (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
14889 (redirect_edge_and_branch): Use EDGE_FREQUENCY.
14890
14891 * predict.c (DEF_PREDICTOR): New argument FLAGS.
14892 (HITRATE): New macro.
14893 (PRED_FLAG_FIRST_MATCH): New constant.
14894 (predictor_info): New field flgags.
14895 (combine_predictions_for_insn): Use DS theory to combine
14896 probabilities; set the edge probabilities when finished.
14897 (estimate_probability): Avoid duplicated matches
14898 of LOOP_BRANCH heuristics for nested loops; update comment.
14899 * predict.def: Add flags for each prediction, set probabilities
14900 according to B&L paper.
14901 * predict.h (DEF_PREDICTOR): New argument FLAGS.
14902
14903 * profile.c (compute_branch_probabilities): Cleanup way the edge
14904 probabilities are computed and REG_BR_PROB notes are dropped; if
14905 values does not match, emit error.
14906 (init_branch_prob): Do error instead of warning when profile driven
14907 feedback is missing or corrupt.
14908
14909 2001-07-27 DJ Delorie <dj@redhat.com>
14910
14911 * ifcvt.c (noce_get_alt_condition): If the condition is a compare
14912 against a constant, try to adjust the compare to have the desired
14913 constant in it so that min/max optimizations happen more often.
14914
14915 Fri Jul 27 17:53:00 CEST 2001 Jan Hubicka <jh@suse.cz>
14916
14917 * flow.c (last_loop_beg_note): New function.
14918 (redirect_edge_and_branch): Use it.
14919 (split_edge): Likewise.
14920
14921 * alias.c (loop_p): Avoid uninitialized memory access.
14922
14923 * flow.c (try_forward_edges): Avoid accessing freed memory.
14924
14925 * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
14926 variable access.
14927
14928 2001-07-26 Andrew Haley <aph@redhat.com>
14929 Joern Rennecke <amylaar@redhat.com>
14930
14931 * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
14932 (SUBTARGET_CPP_ENDIAN_SPEC): New.
14933 (SUBTARGET_CPP_SPEC): New.
14934 (CPP_SPEC): Remove.
14935 * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
14936 (SUBTARGET_CPP_PTR_SPEC): New.
14937 (CPP_DEFAULT_CPU_SPEC): New.
14938 (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
14939 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14940 (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
14941 SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
14942 (SUBTARGET_CPP_SPEC): Define as an empty string.
14943
14944 2001-07-27 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
14945
14946 * doc/install.texi (Configuration): Properly link the host
14947 specific instructions also when generating HTML.
14948
14949 Fri Jul 27 00:33:35 EDT 2001 John Wehle (john@feith.com)
14950
14951 * flow.c (redirect_edge_and_branch_force): Test
14952 target->global_live_at_start.
14953
14954 2001-07-26 Richard Henderson <rth@redhat.com>
14955
14956 * simplify-rtx.c (avoid_constant_pool_reference): Export.
14957 * rtl.h (avoid_constant_pool_reference): Declare it.
14958 * dwarf2out.c (add_location_or_const_value_attribute): Use it.
14959 (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
14960
14961 Thu Jul 26 22:30:22 CEST 2001 Jan Hubicka <jh@suse.cz>
14962
14963 * rtl.h (cleanup_barriers): Declare.
14964 * jump.c (cleanup_barriers): New function.
14965 * toplev.c (rest_of_compilation): Call cleanup_barriers
14966 before loop optimizer and after bb_reorder.
14967
14968 * flow.c (back_edge_of_syntactic_loop_p): New.
14969 (split_edge): Use it.
14970
14971 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14972
14973 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
14974
14975 Thu Jul 26 22:22:21 2001 Denis Chertykov <denisc@overta.ru>
14976
14977 * cse.c (cse_process_notes): Replace any registers if the address
14978 remains valid.
14979
14980 Thu Jul 26 14:04:03 EDT 2001 John Wehle (john@feith.com)
14981
14982 * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
14983 (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
14984 (propagate_block): Update prototype.
14985 * flow.c (update_life_info): Simplify the CFG and
14986 recalculate the global regs which are alive when
14987 removing dead code during a global update.
14988 (propagate_block): Return non-zero if an INSN is
14989 deleted.
14990
14991 2001-07-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
14992
14993 * Makefile.in (LIBICONV): Define.
14994
14995 2001-07-26 Catherine Moore <clm@redhat.com>
14996
14997 * config/v850/v850.h (ENCODE_SECTION_INFO): Change order
14998 of conditional to avoid tree checking errors.
14999
15000 2001-07-26 Kazu Hirata <kazu@hxi.com>
15001
15002 * regmove.c (regmove_optimize): Don't replace a reg with
15003 another reg of a different mode.
15004
15005 2001-07-26 Andrew MacLeod <amacleod@redhat.com>
15006
15007 * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
15008 limit length of dependency flush list.
15009 * params.h (MAX_PENDING_LIST_LENGTH): Define.
15010 * sched-int.h (struct deps): Add pending_flush_length field.
15011 * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
15012 has 1 element in it.
15013 (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
15014 (sched_analyze): After a jump, if the pending memory flush list is too
15015 large, flush the pending lists.
15016 (init_deps): Initialize pending_flush_length to 0.
15017 * doc/invoke.texi (max_pending_list_length): Document parameter.
15018
15019 2001-07-26 Neil Booth <neil@daikokuya.demon.co.uk>
15020
15021 * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
15022 * dbxout.c (dbxout_global_decl): Move outside #ifdef.
15023 * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
15024
15025 2001-07-26 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15026
15027 * cpphash.h (struct_lexer_state): Delete was_skipping.
15028 Move skipping here from struct cpp_reader.
15029 * cpplex.c (parse_identifier): Update.
15030 (_cpp_lex_token): Don't skip tokens in a directive.
15031 * cpplib.c (struct if_stack): Update.
15032 (start_directive, end_directive): Don't change skipping state.
15033 (_cpp_handle_directive): Update.
15034 (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
15035 (do_else, do_endif): Update; only check for excess tokens if not
15036 in a skipped conditional block.
15037 (push_conditional): Update for new struct if_stack.
15038
15039 2001-07-26 Graham Stott <grahams@redhat.com>
15040
15041 * function.c (locate_and_pad_parm): Also pad initial offset
15042 so that the total argument size also includes the padding.
15043
15044 2001-07-26 Graham Stott <grahams@redhat.com>
15045
15046 * gensupport.c (alter_output_for_insn): Correct enable checking failure
15047 change XSTR to XTMPL.
15048
15049 (process_one_cond_exec): Likewise
15050
15051 2001-07-25 Richard Henderson <rth@redhat.com>
15052
15053 * varasm.c (assemble_variable): Create DECL_RTL before setting
15054 TREE_ASM_WRITTEN.
15055
15056 Thu Jul 26 00:19:30 CEST 2001 Jan Hubicka <jh@suse.cz>
15057
15058 * predict.c (estimate_probability): Avoid duplicated predictions.
15059
15060 * loop.c (find_and_verify_loops): Grok multiple barriers.
15061
15062 Wed Jul 25 18:00:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
15063
15064 * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
15065
15066 * dbxout.c: Consistently use putc instead of fputc.
15067 (print_wide_int): New function; call instead of direct fprintf.
15068 (dbxout_type_index): Adjust calls of CHARS to be more accurate.
15069 (dbxout_type_fields, dbxout_type_method_1): Likewise.
15070 (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
15071 (print_int_cst_octal): Likewise.
15072 (print_octal): Show we wrote characters.
15073 (dbxout_type): Set have_used_extensions in more places.
15074
15075 2001-07-25 Catherine Moore <clm@redhat.com>
15076
15077 * config/v850/v850.c (v850_va_arg): Use addr
15078 instead of valist to build incr.
15079
15080 Wed Jul 25 22:48:59 CEST 2001 Jan Hubicka <jh@suse.cz>
15081
15082 * flow.c (delete_dead_jumptables): New function.
15083 (life_analyzis): Call it.
15084 * bb-reorder.c (skip_insns_after_block): Handle contradictory
15085 sequences.
15086
15087 2001-07-25 Richard Henderson <rth@redhat.com>
15088
15089 * except.c (reachable_handlers): Handle a region being removed
15090 out from under a RESX.
15091
15092 2001-07-25 Richard Henderson <rth@redhat.com>
15093
15094 * config/alpha/alpha.c (alpha_emit_conditional_move): Always
15095 swap GE/GT if it is an fp comparison.
15096
15097 2001-07-25 Andrew Haley <aph@cambridge.redhat.com>
15098
15099 * alias.c (rtx_equal_for_memref_p): Allow strings as types in
15100 operands.
15101
15102 Wed Jul 25 08:25:01 2001 Jeffrey A Law (law@cygnus.com)
15103
15104 * ssa.c (rename_insn_1): Do not wrap an assignment to a
15105 paradoxical SUBREG inside a SEQUENCE. Fix minor formatting
15106 glitch.
15107
15108 * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
15109 throw an exception.
15110 (visit_expression): When attempting to simplify an expression,
15111 retrieve any modes for arguments before they are simplified
15112 to constants.
15113
15114 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
15115 Janis Johnson <janis@us.ibm.com>
15116
15117 * stmt.c (expand_goto): A nonlocal goto can be a call too.
15118 * builtins.c (expand_builtin_longjmp): Reverse label and static chain
15119 pointer parameters to match documented usage of nonlocal_goto.
15120 * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
15121 parameters to their correct order.
15122 * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
15123 parameters to their correct order.
15124
15125 2001-07-25 Andrew MacLeod <amacleod@redhat.com>
15126
15127 * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
15128
15129 2001-07-25 Jan Hubicka <jh@suse.cz>
15130 Richard Henderson <rth@redhat.com>
15131
15132 * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
15133 the sequence.
15134 (make_edges): New argument update_p; populate the edge cache if set.
15135 (find_basic_blocks): Update make_edges invocation.
15136
15137 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15138
15139 * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
15140
15141 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15142
15143 * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
15144 -Acpu and -Amachine.h.
15145 * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
15146 Corrected header to say ELF not a.out.
15147 * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
15148 when given -msoft-float.
15149
15150 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15151
15152 * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
15153 extra multilib parts like arm-elf.
15154 (i960-*-coff*, i960-*-rtems): Should not use collect2.
15155 (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
15156 crtfini.o as extra multilib parts.
15157
15158 2001-07-24 Joel Sherrill <joel@OARcorp.com>
15159
15160 * configure.in: Add rtems as a supported thread model.
15161 * gthr-rtems.h: Add missing entry point __gthread_active_p.
15162 * configure: Rebuilt.
15163
15164 2001-07-24 Lars Brinkhoff <lars@nocrew.org>
15165
15166 * stor-layout.c (get_mode_alignment): make it work when
15167 BITS_PER_UNIT is not a power of two.
15168 * builtins.c (get_pointer_alignment): Likewise.
15169
15170 2001-07-24 Richard Henderson <rth@redhat.com>
15171
15172 * simplify-rtx.c (avoid_constant_pool_reference): Coerce
15173 the retrieved constant into the expected mode.
15174
15175 Wed Jul 25 01:41:27 CEST 2001 Jan Hubicka <jh@suse.cz>
15176
15177 * flow.c (try_simplify_condjump): Avoid duplicated edges.
15178 (verify_flow_info): Check for duplicated edges; clarify
15179 error reporting.
15180
15181 * flow.c (block_label): Update basic_block_for_insn.
15182 (commit_edge_insertions): Call compute_bb_for_insn.
15183
15184 * flow.c (purge_dead_edges): Handle conditional jumps and conditional
15185 returns too.
15186
15187 * flow.c (redirect_edge_and_branch,
15188 try_optimize_cfg): Use redirect_edge_succ_nodup
15189 (redirect_edge_succ_nodup): New.
15190 * basic_block.h (redirect_edge_succ_nodup): Declare.
15191
15192 * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
15193 after gcse.
15194
15195 Wed Jul 25 00:32:49 CEST 2001 Jan Hubicka <jh@suse.cz>
15196
15197 * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
15198 (try_crossjump_to_edge): Update commetns.
15199 (try_crossjump_bb): Likewise.
15200
15201 2001-07-24 Richard Henderson <rth@redhat.com>
15202
15203 * combine.c (distribute_notes): Move set of need_refresh
15204 for noop_move_p down to catch all cases.
15205
15206 Tue Jul 24 20:32:44 CEST 2001 Jan Hubicka <jh@suse.cz>
15207
15208 * recog.c (split_all_insns_noflow): New.
15209 * rtl.h (split_all_insns_noflow): Declare.
15210 * ia64.c (ia64_reorg): Use split_all_insns_noflow.
15211 * m68hc11.c (m68hc11_reorg): Likewise.
15212 * sh.c (machine_dependent_reorg): Likewise.
15213 * toplev.c (rest_of_compilation): Likewise for last split_all_insns
15214 call.
15215
15216 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
15217
15218 * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
15219 (ashlsi3_n splitter): Likewise.
15220 (lshrsi3_n splitter): Likewise.
15221
15222 (GOTaddr2picreg): Make const SImode.
15223 (sym_label2reg): Likewise.
15224 (symGOT2reg): Likewise.
15225 (symGOTOFF2reg) Likewise.
15226
15227 (casesi_worker_0): Make unspec SImode.
15228
15229 2001-07-18 Andrew Haley <aph@cambridge.redhat.com>
15230
15231 * config/sh/sh.c (barrier_align): Check that an operand really is
15232 an insn before extracting its INSN_CODE.
15233
15234 2001-07-24 Andrew Haley <aph@cambridge.redhat.com>
15235
15236 * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
15237 dangling else.
15238
15239 * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
15240 for SImode to prevent overflow.
15241
15242 2001-07-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15243
15244 * config/mips/irix6-libc-compat.c: New file.
15245 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
15246 * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
15247 passing workaround.
15248
15249 2001-07-24 lars brinkhoff <lars@nocrew.org>
15250
15251 * rtl.texi (REG_POINTER): Document.
15252 (Machine Modes): Document BImode, OImode, PQImode, PHImode,
15253 QFmode, HFmode, TQFmode, QCmode, and HCmode.
15254
15255 Tue Jul 24 10:49:40 CEST 2001 Jan Hubicka <jh@suse.cz>
15256
15257 * flow.c (delete_noop_moves): Do not confuse libcall regions.
15258
15259 2001-07-23 Richard Henderson <rth@redhat.com>
15260
15261 * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
15262
15263 2001-07-23 Kazu Hirata <kazu@hxi.com>
15264
15265 * config/h8300/h8300-protos.h: Add a prototype for
15266 general_operand_dst_push.
15267 * config/h8300/h8300.c (general_operand_dst_push): New.
15268 * config/h8300/h8300.h (OK_FOR_T): New.
15269 (EXTRA_CONSTRAINT): Use it.
15270 * config/h8300/h8300.md (movqi_push): Remove and integrate into
15271 the existing movqi pattern.
15272 (movhi_push): Likewise.
15273
15274 * reload.c: Fix comment typos.
15275
15276 Mon Jul 23 23:34:07 CEST 2001 Jan Hubicka <jh@suse.cz>
15277
15278 * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
15279
15280 2001-07-23 H.J. Lu (hjl@gnu.org)
15281
15282 * doc/extend.texi: Update __builtin_return_address and
15283 __builtin_frame_address.
15284
15285 2001-07-23 Richard Henderson <rth@redhat.com>
15286
15287 * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
15288 before CSE.
15289 * config/i386/i386.md: New setcc+movzbl peephole2.
15290
15291 2001-07-23 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15292
15293 * objc/Make-lang.in (objc-act.o): Depend on debug.h.
15294 * objc/objc-act.c: Include debug.h.
15295 (synth_module_prologue): Save and restore debug hooks too.
15296
15297 2001-07-23 lars brinkhoff <lars@nocrew.org>
15298
15299 * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
15300 and C4X_FLOAT_FORMAT.
15301 (BOOL_TYPE_SIZE): Document.
15302
15303 Mon Jul 23 11:54:23 2001 Clinton Popetz <cpopetz@cpopetz.com>
15304
15305 * unroll.c (loop_iterations): Fix miscalculation of initial
15306 giv offset.
15307
15308 2001-07-13 Andrew Haley <aph@redhat.com>
15309
15310 * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
15311 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
15312 * config/sh/sh.c (sh_can_redirect_branch): New function.
15313 * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
15314 * reorg.c (steal_delay_list_from_target): Use
15315 MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
15316
15317 Mon Jul 23 17:20:18 CEST 2001 Jan Hubicka <jh@suse.cz>
15318
15319 * flow.c (try_simplify_condjump): Unlink insn chain on
15320 fallthru edge; use can_fallthru.
15321
15322 Mon Jul 23 16:03:19 CEST 2001 Jan Hubicka <jh@suse.cz>
15323
15324 * basic-block.h (find_sub_basic_block): Declare.
15325 * flow.c (make_edges): New arguments MIN and MAX;
15326 (find_sub_basic_blocks): Revamp to use make_edges
15327 and purge_dead_edges.
15328 (find_basic_blocks): Update call of find_sub_basic_block.
15329
15330 * recog.c (split_all_insns): Always expect CFG to be consistent;
15331 call find_sub_basic_blocks in case something has changed.
15332 * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
15333 has been built.
15334
15335 * basic-block.h (delete_noop_moves): Declare.
15336 * combine.c (combine_instructions): Call it.
15337 (recog_for_combine): Tolerate noop moves
15338 (distribute_notes): Force refresh when register dies at noop move.
15339 * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
15340 too.
15341 (life_analysis): Update delete_noop_moves call.
15342 (set_noop_p): Move too ...
15343 * rtlanal.c (noop_move_p): ... here.
15344 * rtl.h (noop_move_p): Declare.
15345
15346 * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
15347 * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
15348 after combine.
15349 * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
15350 (cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
15351
15352 2001-07-23 Hans-Peter Nilsson <hp@bitrange.com>
15353
15354 * reload.c (push_reload): Fix typo in comment.
15355 (find_reloads_address): Ditto.
15356 (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
15357
15358 2001-07-22 Richard Henderson <rth@redhat.com>
15359
15360 * flow.c: Grammar check and clarify a lot of comments.
15361 (try_simplify_condjump): Rename variables to be clearer.
15362 (try_forward_edges): Skip complex and fallthru edges.
15363 Rearrange tests to avoid duplicate checks.
15364 (flow_find_cross_jump): Likewise.
15365 (outgoing_edges_match): Allow match if neither branch has
15366 probability data. Loosen probability match to 5%.
15367 (try_crossjump_to_edge): Hoist repeated indirection into
15368 local variables.
15369 (try_crossjump_bb): Don't check complex edges. Eliminate
15370 redundant crossjump tests.
15371 (try_optimize_cfg): Fix use of bool. Reorganize cheaper
15372 checks before more expensive checks.
15373
15374 2001-07-22 Richard Henderson <rth@redhat.com>
15375
15376 * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
15377 INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
15378 arguments.
15379
15380 2001-07-22 Richard Henderson <rth@redhat.com>
15381
15382 * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
15383 (const_sint32_operand): Likewise.
15384 * m68k.md (anon mulsi pattern): Use const_int_operand not
15385 const_sint32_operand.
15386 (umulsi3_highpart): Zero extend a constant input.
15387 (smulsi3_highpart): Don't bother checking SImode constant.
15388 (const_umulsi3_highpart): Give op3 DImode.
15389 (const_smulsi3_highpart): Likewise.
15390
15391 2001-07-22 Richard Henderson <rth@redhat.com>
15392
15393 * flow.c (split_block): Make sure bb_note is included in the
15394 new block when splitting before a label.
15395
15396 Sun Jul 22 23:28:56 CEST 2001 Jan Hubicka <jh@suse.cz>
15397
15398 * basic-block.h (redirect_edge_and_branch_force,
15399 redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
15400 * flow.c (redirect_edge_and_branch_force,
15401 redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
15402 (redirect_edge_and_branch_force): Fix copying of lifeness information.
15403 (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
15404 * ifcvt.c (dead_or_predictable): Take BB as an new destination
15405 instead of label; update CFG after transformation.
15406 (find_if_case_1): Update call, use redirect_edge_and_branch_force
15407 for finishing the transformation; handle even case where ELSE
15408 does not follow THEN.
15409 (find_if_case_2): Update call of dead_or_predictable; simplify
15410 CFG update.
15411
15412 * emit-rtl.c (split_branch_probability): New global variable.
15413 (try_split): Take care to set split_branch_probability and
15414 create REG_BR_PROB note for new jump insns.
15415 * md.texi (define_split): Document new feature.
15416
15417 * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
15418
15419 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
15420
15421 * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
15422 (asm_out_file): Remove redundant declaration.
15423 (assemble_asm): Remove old #if 0 block.
15424 (assemble_variable): Remove end of function; debug output is
15425 now handled with global_decl. Remove old #if 0 block. Update.
15426 Remove saved_in_section and associated no-op code.
15427 * Makefile.in (varasm.o): Correct dependencies.
15428
15429 Sun Jul 22 17:55:11 2001 Alexandre Oliva <aoliva@redhat.com>
15430
15431 * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
15432 the definition in defaults.h.
15433
15434 Sun Jul 22 21:31:04 CEST 2001 Jan Hubicka <jh@suse.cz>
15435
15436 * jump.c: Update comments.
15437 (delete_barrier_successors, delete_unreferenced_labels,
15438 delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
15439 delete_labelref_insn, redirect_tablejump, jump_optimize_1,
15440 jump_optimize, jump_optimize_minimal): Kill.
15441 (rebuild_jump_labels): Move code from jump_optimize_1.
15442 (purge_line_number_notes): Likewise.
15443 (copy_loop_headers): Likewise.
15444 * reg-stack.c: Update comment.
15445 * stmt.c: Likewise.
15446 * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
15447 JUMP_AFTER_REGSCAN): Kill.
15448 * toplev.c (rest_of_compilation): Use cleanup_cfg, call
15449 purge_line_number_notes and copy_loop_headers.
15450
15451 2001-07-22 Neil Booth <neil@daikokuya.demon.co.uk>
15452 Richard Henderson <rth@redhat.com>
15453
15454 * dbxout.c (dbxout_global_decl): New.
15455 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15456 * sdbout.c (sdbout_finish): New.
15457 (sdbout_debug_hooks): Use it, add comments.
15458 (sdbout_global_decl): Defer initialised public vars to
15459 sdbout_finish.
15460 * varasm.c (assemble_variable): Don't output debug information
15461 for file-scope variables.
15462
15463 2001-07-22 Richard Henderson <rth@redhat.com>
15464
15465 * config/alpha/alpha.c (get_trap_mode_suffix): New.
15466 (get_round_mode_suffix): New.
15467 (print_operand): Use them for [/]. Remove support for [&'`()+].
15468 * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
15469 * config/alpha/alpha.md (attr round_suffix): New.
15470 (attr trap_suffix): New.
15471 (all insns): Set them appropriately. Use %/ instead of the
15472 myriad punctuators.
15473
15474 2001-07-22 Neil Booth <neil@cat.daikokuya.demon.co.uk>
15475
15476 * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
15477
15478 2001-07-22 Richard Henderson <rth@redhat.com>
15479
15480 * regrename.c (regrename_optimize): Compute nregs for each
15481 potential target register.
15482
15483 2001-07-21 Neil Booth <neil@daikokuya.demon.co.uk>
15484 Richard Henderson <rth@redhat.com>
15485
15486 * dbxout.c (dbxout_global_decl): New.
15487 (xcoff_debug_hooks, dbx_debug_hooks): Use it.
15488 * sdbout.c (sdbout_finish): New.
15489 (sdbout_debug_hooks): Use it, add comments.
15490 (sdbout_global_decl): Defer initialised public vars to
15491 sdbout_finish.
15492 * varasm.c (assemble_variable): Don't output debug information
15493 for file-scope variables.
15494
15495 2001-07-21 H.J. Lu (hjl@gnu.org)
15496
15497 * config/mips/mips.c (mips_cpu): Moved into ...
15498 (override_options): Here.
15499
15500 * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
15501 mips_tune.
15502 (mips_cpu): Removed.
15503
15504 2001-07-21 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15505
15506 * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
15507 ("iorqi3"): Likewise.
15508 ("xorqi3"): Likewise.
15509 ("*addhi3"): Fix constraint to avoid reloading in a soft register.
15510 ("*subhi3_sp): Likewise.
15511 ("*subhi3"): Likewise.
15512 ("extendhisi2"): Accept D, X and Y as source operand to avoid
15513 reload problems.
15514
15515 2001-07-21 Nathan Sidwell <nathan@codesourcery.com>
15516
15517 * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
15518 * config/freebsd.h: Likewise.
15519 * config/linux.h: Likewise.
15520 * config/openbsd.h: Likewise.
15521 * config/alpha/linux-elf.h: Likewise.
15522 * config/arm/linux-elf.h: Likewise.
15523 * config/d30v/d30v.h: Likewise.
15524 * config/fr30/fr30.h: Likewise.
15525 * config/ia64/aix.h: Likewise.
15526 * config/ia64/ia64.h: Likewise.
15527 * config/mips/linux.h: Likewise.
15528 * config/pj/pj.h: Likewise.
15529 * config/rs6000/linux.h: Likewise.
15530 * config/sparc/linux.h: Likewise.
15531 * config/sparc/linux64.h: Likewise.
15532
15533 2001-07-20 Bruce Korb <bkorb@gnu.org>
15534
15535 * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
15536 because getc() and char* may disagree on signedness.
15537
15538 2001-07-20 Richard Henderson <rth@redhat.com>
15539
15540 * doc/rtl.texi (REG_DEAD): Update for current semantics.
15541
15542 * flow.c (try_redirect_by_replacing_jump): Correctly compute which
15543 insns to delete in the presence of cc0 in a jump insn.
15544
15545 Fri Jul 20 22:14:49 CEST 2001 Roman Zippel <zippel@linux-m68k.org>
15546 Jan Hubicka <jh@suse.cz>
15547
15548 * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
15549 of doing the change by hand.
15550
15551 Fri Jul 20 21:59:42 CEST 2001 Jan Hubicka <jh@suse.cz>
15552
15553 * rtlanal.c (set_noop_p): Return true for noop jumps.
15554
15555 * expr.c (emit_single_push_insn): Add call to push expander.
15556 * expr.h (optab_index): Add OTI_push
15557 (push_optab): New constant.
15558 * genopinit.c (optabs): Add push_optab.
15559 * optabs.c (init_optab): Init push optab.
15560 * md.texi (push??1): Document
15561
15562 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15563
15564 * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
15565 expand to emit the pattern; put a REG_INC note for push/pop
15566 instructions.
15567 ("movdf", "movdf_internal"): Likewise.
15568 ("movsi", "movsi_internal"): Likewise.
15569 ("movsf", "movsf_internal"): Likewise.
15570 ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
15571
15572 2001-07-20 Stephane Carrez <Stephane.Carrez@worldnet.fr>
15573
15574 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
15575 gen_highpart.
15576
15577 2001-07-20 Daniel Berlin <dan@cgsoftware.com>
15578
15579 * params.def: Change default max inline insns to 100.
15580
15581 2001-07-20 Diego Novillo <dnovillo@redhat.com>
15582
15583 * combine.c (combine_simplify_rtx): Generate a new shift operation
15584 when simplifying the first operand of a (neg (ashift)) expression.
15585
15586 2001-07-20 Roman Lechtchinsky <rl@cs.tu-berlin.de>
15587
15588 * regclass.c (N_REG_INTS): Use only 32 bits per element.
15589
15590 2001-07-20 Kelley Cook <kelley.cook@home.com>
15591
15592 * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
15593 information. Move rest into ...
15594 (*-*-solaris): ... here. Eliminate redundant information and
15595 reword necessary packages section. Delete 4.x assembler bug info.
15596 (sparc-sun-*): Merge into ...
15597 (sparc-sun-sunos*): here.
15598
15599 2001-07-20 Catherine Moore <clm@redhat.com>
15600
15601 * config/v850/v850.md (casesi): Generate LABEL_REF
15602 with Pmode.
15603
15604 Fri Jul 20 14:12:57 CEST 2001 Jan Hubicka <jh@suse.cz>
15605
15606 * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
15607 * i386.c (ix86_zero_extend_to_Pmode): Make global.
15608 * i386.md (strclrsi expander): Use it.
15609
15610 Fri Jul 20 13:24:16 CEST 2001 Jan Hubicka <jh@suse.cz>
15611
15612 * integrate.c (copy_insn_list): handle
15613 NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
15614 (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
15615 identically as to CODE_LABEL.
15616
15617 * fold-const (fold): Convert A/B/C to A/(B*C) and
15618 A/(B/C) to (A/B)*C
15619
15620 * except.c (connect_post_landing_pads): Delete the RESX insns.
15621
15622 2001-07-20 Aldy Hernandez <aldyh@redhat.com>
15623
15624 * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
15625
15626 * config/mips/mips.md (nmadd/nmsub): Use macro.
15627
15628 2001-07-20 Nathan Sidwell <nathan@codesourcery.com>
15629
15630 * cppinit.c (remove_dup_dir): Make static.
15631 (remove_dup_dirs): Make static. Only warn about preempting a
15632 system directory with a non-system directory.
15633
15634 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
15635
15636 * ifcvt.c (noce_try_store_flag_constants): Correct order
15637 of parameters to trunc_int_for_mode.
15638
15639 2001-07-19 Mark Mitchell <mark@codesourcery.com>
15640
15641 * reorg.c (fill_simple_delay_slots): If an instruction might throw
15642 an exception that will be caught within this function, do not fill
15643 its delay slot with any subsequent instruction.
15644
15645 2001-07-19 Steve Ellcey <sje@cup.hp.com>
15646
15647 * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
15648 * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
15649 pointer extension instruction.
15650 * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
15651 * simplify-rtx.c (simplify_unary_operation) Likewise.
15652 * explow.c (convert_memory_address) Check value of
15653 POINTERS_EXTEND_UNSIGNED to avoid some conversions when
15654 less than zero.
15655 * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
15656 MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
15657 * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
15658 Add Multilib Support.
15659 (POINTERS_EXTEND_UNSIGNED) Define for ILP32 support.
15660 * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
15661 Add Multilib Support.
15662 (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
15663 support.
15664 * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
15665 * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
15666 a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
15667
15668 2001-07-19 Alexandre Oliva <aoliva@redhat.com>
15669
15670 * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
15671 old and new operands in `<', `3' and `b'.
15672
15673 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15674
15675 * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
15676 (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
15677 (toplev.o): Don't depend on xcoffout.h.
15678 * c-decl.c: Include debug.h
15679 (duplicate_decls): Use debug hook.
15680 * dbxout.c (dbxout_source_file, dbxout_args): Make static.
15681 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15682 (dbxout_types): Remove.
15683 * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
15684 * debug.c (do_nothing_debug_hooks): Update.
15685 (debug_true_tree, debug_nothing_rtx): New.
15686 * debug.h (struct rtx_def): New.
15687 (struct gcc_debug_hooks): New hooks ignore_block,
15688 outlining_inline_function and label.
15689 (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
15690 dwarf2out_frame_finish): New.
15691 * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
15692 Make static, update prototype.
15693 (dwarf2_debug_hooks): Update.
15694 * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
15695 dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
15696 * dwarfout.c (dwarf_debug_hooks): Update.
15697 * emit-rtl.c: Include debug.h.
15698 (remove_unnecessary_notes): Use debug hook.
15699 * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
15700 (final_scan_insn): Use debug hook.
15701 * integrate.c (output_inline_function): Use debug hook.
15702 * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
15703 (sdb_debug_hooks): Update.
15704 * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
15705 * toplev.c: Don't include xcoffout.h.
15706 (note_outlining_of_inline_function, debug_ignore_block): Remove.
15707 * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
15708 Remove.
15709 * tree.h (dwarf2out_do_frame): Remove.
15710
15711 2001-07-19 Catherine Moore <clm@cygnus.com>
15712
15713 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
15714
15715 2001-07-19 Geoffrey Keating <geoffk@redhat.com>
15716
15717 * reload1.c (eliminate_regs_in_insn): When updating a set
15718 to the frame pointer to the hardware frame pointer, perform
15719 the update always not just when REPLACE is set.
15720
15721 * reload1.c (choose_reload_regs): Don't inherit a reload
15722 that crosses multiple registers if registers past the first
15723 don't fit in the desired class.
15724
15725 * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
15726 when negating constants.
15727
15728 2001-07-19 Toon Moene <toon@moene.indiv.nluug.nl>
15729
15730 * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
15731 * doc/tree.texi: Ditto.
15732
15733 2001-07-19 Mark Kettenis <kettenis@wins.uva.nl>
15734 Jakub Jelinek <jakub@redhat.com>
15735
15736 * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
15737 (extract_cie_info): Handle "eh" augmentation properly,
15738 remember eh_ptr.
15739 (struct frame_state, __frame_state_for): New.
15740
15741 2001-07-19 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15742
15743 * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
15744 HANDLE_SYSV_PRAGMA): Define.
15745 * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
15746 previous args.
15747 (copy_object): Caller changed.
15748
15749 2001-07-19 Andreas Schwab <schwab@suse.de>
15750
15751 * configure.in (assembler dwarf2 debug_line support): Define nop
15752 insn for m68k.
15753 * configure: Regenerated.
15754
15755 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15756
15757 * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
15758 dwarfout.h.
15759 * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
15760 to conditionally compiled block.
15761 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15762 * dbxout.h (dbxout_function): Remove.
15763 * debug.c (do_nothing_debug_hooks): Update.
15764 * debug.h (struct gcc_debug_hooks): New hooks function_decl,
15765 global_decl, deferred_inline_function.
15766 * dwarf2out.c (dwarf2_debug_hooks): Update.
15767 (dwarf2out_global_decl): New.
15768 * dwarfout.c: Don't include dwarfout.h.
15769 (dwarfout_global_decl, dwarfout_function_decl,
15770 dwarfout_deferred_inline_function): New.
15771 (dwarf_debug_hooks): Update.
15772 * dwarfout.h: Remove.
15773 * final.c: Don't include dwarfout.h.
15774 * sdbout.c (sdbout_global_decl): New.
15775 (sdbout_debug_hooks): Update.
15776 * toplev.c: Don't include dwarfout.h.
15777 (check_global_declarations, rest_of_compilation): Use new debug hooks.
15778 (note_deferral_of_defined_inline_function): Remove.
15779 * toplev.h (note_deferral_of_defined_inline_function): Remove.
15780 * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
15781 * ch/lex.c: Don't include dwarfout.h.
15782 * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
15783 (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
15784 * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
15785 * cp/optimize.c: Include debug.h.
15786 (maybe_clone_body): Use debug hook.
15787 * cp/semantics.c: Include debug.h.
15788 (expand_body): Use debug hook.
15789 * po/POTFILES.in: Remove dwarfout.h.
15790
15791 2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
15792
15793 * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
15794 * c-parse.in (yyerror, _yylex): Similarly.
15795 * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
15796 Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
15797 Update comments.
15798 * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
15799 * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
15800
15801 2001-07-18 Jeff Sturm <jsturm@one-point.com>
15802
15803 * dwarf2out.c (dwarf2out_abstract_function): Don't emit
15804 in-class declaration at -g1. Fixes c++/2814.
15805
15806 2001-07-18 Richard Henderson <rth@redhat.com>
15807
15808 * doc/md.texi (reload_in/out): Document restrictions in predicates
15809 and constraints for these patterns. Document empty string matching
15810 ALL_REGS.
15811
15812 2001-07-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15813
15814 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
15815
15816 Wed Jul 18 20:47:36 CEST 2001 Jan Hubicka <jh@suse.cz>
15817
15818 * cse.c: Undo my previous patch.
15819
15820 2001-07-18 Tom Tromey <tromey@redhat.com>
15821
15822 For PR java/2812:
15823 * configure: Rebuilt.
15824 * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
15825 instead.
15826 * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
15827
15828 Wed Jul 18 18:46:30 CEST 2001 Richard Henderson <rth@cygnus.com>
15829 Jan Hubicka <jh@suse.cz>
15830
15831 * flow.c (redirect_edge_and_branch): Bail out on complex edges.
15832 (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
15833 * jump.c (mark_jump_label): Do not forward branches.
15834
15835 Wed Jul 18 18:35:01 CEST 2001 Jan Hubicka <jh@suse.cz>
15836
15837 * cse.c (delete_trivially_dead_insns): Delete the libcall block
15838 when return value is unused.
15839
15840 Wed Jul 18 18:28:16 CEST 2001 Jan Hubicka <jh@suse.cz>
15841
15842 * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
15843
15844 Wed Jul 18 12:05:29 2001 Nicola Pero <n.pero@mi.flashnet.it>
15845
15846 * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
15847 on error. We can't blindly return the result of
15848 pthread_mutex_trylock because it returns a positive number on
15849 error, while we must return -1 on error.
15850 (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
15851 fixes.
15852 Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
15853
15854 2001-07-18 Andreas Jaeger <aj@suse.de>
15855
15856 * integrate.c (output_inline_function): Correct type of debug_hooks.
15857
15858 2001-07-18 Toon Moene <toon@moene.indiv.nluug.nl>
15859
15860 * combine.c (combine_simplify_rtx): DIV can be treated
15861 associatively for floats if unsafe math optimisations are enabled.
15862
15863 2001-07-17 Richard Henderson <rth@redhat.com>
15864
15865 * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
15866
15867 2001-07-17 Richard Henderson <rth@redhat.com>
15868
15869 * calls.c (prepare_call_address): New parameter SIBCALLP. If true,
15870 don't force the function address into a register.
15871 (expand_call, emit_library_call_value_1): Update callers.
15872 * builtins.c (expand_builtin_apply): Likewise.
15873 * expr.h (prepare_call_address): Update decl.
15874
15875 2001-07-17 Chandrakala Chavva <cchavva@redhat.com>
15876
15877 * config.gcc: For *-*-chorusos triplet, get chorus.h file from
15878 config directory.
15879 * config/i386/chorus.h: Move up.
15880 * config/sparc/chorus.h: Likewise.
15881 * config/rs6000/chorus.h: Likewise.
15882 * config/chorus.h: Moved here.
15883
15884 2001-07-17 Andreas Schwab <schwab@suse.de>
15885
15886 * configure.in (assembler eh_frame optimization): Handle big
15887 endian.
15888 * configure: Regenerated.
15889
15890 Tue Jul 17 23:43:31 CEST 2001 Jan Hubicka <jh@suse.cz>
15891
15892 * expr.c (epxand_expr): Convert divisions into multiplications by
15893 reciprocals if -ffast-math.
15894
15895 2001-07-17 Neil Booth <neil@daikokuya.demon.co.uk>
15896
15897 * dbxout.c (dbxout_really_begin_function): Rename to
15898 dbxout_begin_function.
15899 (dbx_debug_hooks, xcoff_debug_hooks): Update.
15900 (dbxout_begin_function): Remove.
15901 (dbxout_function): Update.
15902 (dbxout_source_line): Update prototype.
15903 * dbxout.h (dbxout_begin_function): Remove.
15904 * debug.c (do_nothing_debug_hooks): Update.
15905 (debug_nothing_tree): Update.
15906 (debug_nothing_charstar_rtx): Remove.
15907 * debug.h (union tree_node): Declare.
15908 (struct rtx_def): Remove.
15909 (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
15910 begin_function. Change source_line prototype.
15911 (debug_nothing_tree): New.
15912 (debug_nothing_charstar_rtx): Delete.
15913 (dwarf2out_begin_prologue): Moved from ...
15914 * tree.h: ... here.
15915 * dwarf2out.c (dwarf2_debug_hooks): Update.
15916 (dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
15917 debug info, call dwarf2out_source_line.
15918 (dwarf2out_souce_line): Update prototype.
15919 * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
15920 Change prototype, make static.
15921 (dwarfout_source_line): Update prototype.
15922 (dwarf_debug_hooks): Update.
15923 * dwarfout.h (dwarfout_begin_function): Remove.
15924 * final.c (final_start_function, final_scan_insn): Use appropriate
15925 debug hooks, update to use notice_source_line.
15926 (output_source_line): Rename notice_source_line. Don't call the
15927 source_line debug hook.
15928 * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
15929 make static, update prototype.
15930 (sdbout_mark_begin_function): Rename sdbout_begin_function, update
15931 prototype.
15932 (sdbout_end_prologue): New.
15933 (sdbout_source_line): Update prototype.
15934 (sdbout_debug_hooks): Update.
15935 (sdbout_symbol): Remove unused var.
15936 * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
15937 Delete.
15938 * varasm.c: Include debug.h.
15939 (assemble_start_function): Use begin_function debug_hook.
15940 * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15941 update with prototype.
15942 (xcoffout_source_line): Update prototype.
15943 * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
15944 update prototype.
15945 (xcoffout_source_line): Update prototype.
15946
15947 2001-07-17 Richard Henderson <rth@redhat.com>
15948
15949 * c-typeck.c (build_binary_op): Do not shorten unsigned
15950 right shift after sign extension.
15951
15952 Tue Jul 17 16:56:05 CEST 2001 Jan Hubicka <jh@suse.cz>
15953
15954 * combine.c (combine_simplify_rtx): Attempt to simplify
15955 a*(b/c) as (a*b)/c for floats in unsafe_math mode.
15956
15957 * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
15958 (simplify_binary_operation, simplify_unary_operation,
15959 simplify_relational_operation): Use it.
15960
15961 * combine.c (combine_simplify_rtx): Don't do associative law
15962 on divisions; allow associative law on floats.
15963
15964 2001-07-17 H.J. Lu <hjl@gnu.org>
15965 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15966
15967 * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
15968 ASM_OUTPUT_WEAK_ALIAS are defined.
15969 * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
15970 * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
15971 Moved ...
15972 * config/mips/iris5.h: ... here.
15973 (HANDLE_SYSV_PRAGMA): Defined as 1.
15974 * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
15975 * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
15976 symbol.
15977
15978 2001-07-17 Joseph S. Myers <jsm28@cam.ac.uk>
15979
15980 * c-parse.in (all_prefix_attributes): New variable.
15981 (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
15982 (maybe_resetattrs): New production.
15983 (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
15984 maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
15985 notype_initdcl, nested_function, notype_nested_function,
15986 component_decl, components, components_notype,
15987 component_declarator, component_notype_declarator,
15988 absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
15989 ivars, mydecl, myparm): Update. Avoid prefix attributes just
15990 after a comma being applied to more than one declarator.
15991 * doc/extend.texi (Attribute Syntax): Update. Remove
15992 documentation of bugs that are no longer present.
15993
15994 2001-07-13 Eric Christopher <echristo@redhat.com>
15995
15996 * config/mips/mips.h: Change TUNE_MIPS* options to use
15997 mips_tune.
15998 (EXTRA_SPECS): Add cc1_cpu_spec.
15999 * config/mips/mips.md (muldf3): Fix typo.
16000
16001 2001-07-16 Richard Henderson <rth@redhat.com>
16002
16003 * config/m68k/m68k.c: Include expr.h and reload.h.
16004 (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
16005 [general int]: Use HOST_WIDE_INT_PRINT_DEC.
16006
16007 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
16008 Richard Henderson <rth@redhat.com>
16009
16010 * cse.c (set_live_p): Take INSN argument for cc0; update callers.
16011 (insn_live_p): Fix fall off end of function.
16012 (dead_libcall_p): Remove COUNTS argument; update callers.
16013 (delete_trivially_dead_insns): Remove unused variables.
16014
16015 2001-07-17 Andreas Jaeger <aj@suse.de>
16016
16017 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
16018 x86-64 pic support.
16019
16020 * lcm.c (optimize_mode_switching): Avoid warning for unused
16021 variable if !NORMAL_MODE.
16022
16023 * flow.c (try_crossjump_to_edge): Remove unused variable.
16024
16025 2001-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
16026
16027 * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
16028 atexit declaration in stdlib.h.
16029
16030 2001-07-16 Richard Begg <Richard.Begg@colesmyer.com.au>
16031
16032 * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
16033
16034 Mon Jul 16 22:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
16035
16036 * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
16037 * except.c (finish_eh_generation): Update call of cleanup_cfg;
16038 do rebuild_jump_labels instead of jump_optimize
16039 * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
16040 * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
16041 * flow.c (try_optimize_cfg): Remove unneeded code_labels.
16042
16043 * flow.c: Include timevar.h
16044 (find_basic_block): Push/pop timevar;
16045 (cleanup_cfg): Likewise.
16046 * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
16047 * Makefile: Add dependencies on timevar.h
16048
16049 * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
16050 (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
16051
16052 * rtl.h (delete_trivially_dead_insns): Add new parameter.
16053 * toplev.c (rest_of_compilation): Update calls.
16054 * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
16055 (delete_trivially_dead_insns): ... here; accept new argument
16056 preserve_basic_blocks; preserve basic blocks if set.
16057
16058 * reg-stack.c (stack_regs_mentioned): Return 0 if
16059 stack_regs_mentioned_data is not initialized.
16060 (reg_to_stack): Make stack_regs_mentioned survive after the
16061 reg-stack is completted; do not call cleanup_cfg.
16062 * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
16063 make cleanup_cfg after bb-reorder to output to debug file.
16064
16065 2001-07-16 Richard Henderson <rth@redhat.com>
16066
16067 * regclass.c (init_reg_sets): Use only 32 bits per initializer
16068 from int_reg_class_contents.
16069
16070 2001-07-16 Richard Henderson <rth@redhat.com>
16071
16072 * hard-reg-set.h (regs_invalidated_by_call): Declare.
16073 * regclass.c (regs_invalidated_by_call): Move from cse.c.
16074 (init_reg_sets_1): Move initialization from cse_main.
16075 * cse.c (regs_invalidated_by_call): Move to regclass.c.
16076 (cse_main): Move its initialization also.
16077 * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
16078 * flow.c (propagate_one_insn): Likewise.
16079 * gcse.c (compute_hash_table): Likewise.
16080 (compute_kill_rd, compute_store_table): Likewise.
16081 * sched-deps.c (sched_analyze_1): Likewise.
16082
16083 Mon Jul 16 18:07:07 2001 J"orn Rennecke <amylaar@redhat.com>
16084
16085 * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
16086 gen_rtx_SET.
16087
16088 2001-07-16 Steve Ellcey <sje@cup.hp.com>
16089
16090 * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
16091 in if statement so we don't access undefined memory.
16092
16093 2001-07-16 Daniel Berlin <dan@cgsoftware.com>
16094
16095 * gcse.c: Update comment at top.
16096 Update comment on mem handling.
16097 mem_last_set, mem_first_set, mem_set_in_block: gone.
16098 Declaration of reg_set_info: gone.
16099 (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
16100 pointless with load_killed_in_block_p (they are *more*
16101 conservative then it, not less, and less accurate).
16102 (oprs_not_set_p): Ditto.
16103 (alloc_gcse_mem): Don't allocate mem_set_in_block
16104 (free_gcse_mem): Don't free it, either.
16105 (record_last_mem_set_info): Update comment in front, remove
16106 mem_*set_* stuff. Note the reason we don't handle stores directly
16107 here.
16108 (compute_hash_table): Update comments to reflect reality. Remove
16109 mem_*set_* references.
16110 (reset_opr_set_tables): Remove mem_*set_* references.
16111 (mark_call): Ditto.
16112 (mark_set): Ditto. Also remove double sets of bitmaps for REG's.
16113 (mark_clobber): Ditto (on both parts, we double set here too).
16114 (expr_killed_p): Remove mem_set_in_block test.
16115 (compute_transp): Remove mem_set_in_block test.
16116
16117 * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
16118 of edge, and removal of phi alternative to dump file.
16119 (ssa_ccp_substitute_constants): Add note about register now being
16120 constant, and which uses were replaced in what insns to dump file.
16121
16122 2001-07-16 Andreas Jaeger <aj@suse.de>
16123
16124 * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
16125 variables of type HOST_WIDEST_INT.
16126
16127 * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
16128 (__bb_exit_func): Correct type of count_max to avoid overflow.
16129 (num_digits): Handle long long argument.
16130
16131 * combine.c (gen_lowpart_for_combine): Remove unused variable.
16132
16133 2001-07-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
16134
16135 * output.h (sdb_begin_function_line): Restore as an extern
16136 variable.
16137 * sdbout.c (sdb_begin_function_line): Make extern.
16138
16139 2001-07-15 Richard Henderson <rth@redhat.com>
16140
16141 * machmode.def (Pmode): Redefine if GENERATOR_FILE.
16142 * genrecog.c (maybe_both_true_mode): New.
16143 (maybe_both_true_2): Use it.
16144 (write_switch): Don't put Pmode in a switch.
16145 * rtl.c (mode arrays): Don't explicitly size them.
16146
16147 Sun Jul 15 14:07:36 CEST 2001 Jan Hubicka <jh@suse.cz>
16148
16149 * toplev.c (rest_of_compilation): Fix register_life_up_to_date
16150 handling; move unconditional splitting before mode switching.
16151
16152 * i386.md (type): Add fistp type.
16153 (i387, length_attr, scheduling definitions): Handle this type.
16154 (fix_trunc?f?i2): Revamp to use mode switching.
16155 (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
16156 * i386.h (fp_cw_mode): New enum
16157 (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
16158 MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
16159
16160 Sun Jul 15 12:53:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16161
16162 * Makefile.in (integrate.o): Add debug.h.
16163 * integrate.c (debug.h): Add.
16164 (output_inline_function): Save, reset, and restore debug_hooks.
16165
16166 2001-07-15 Richard Henderson <rth@redhat.com>
16167
16168 * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
16169 instead of COMPARE for the EQUIV expression.
16170
16171 2001-07-15 Richard Henderson <rth@redhat.com>
16172
16173 * flow.c (redirect_edge_and_branch_force): Initialize
16174 global_live_at_start and global_live_at_end.
16175 (allocate_bb_life_data): Export.
16176 * basic-block.h (allocate_bb_life_data): Declare.
16177 * toplev.c (rest_of_compilation): Call it.
16178
16179 2001-07-15 Richard Henderson <rth@redhat.com>
16180
16181 * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
16182 (alpha_tablejump_best_label): New.
16183 * config/alpha/alpha-protos.h: Declare them.
16184 * config/alpha/alpha.md: Use braced strings for code blocks.
16185 (tablejump_osf): Break out add with r29.
16186 (tablejump_osf_internal): Remove.
16187 (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
16188 use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
16189
16190 Sun Jul 15 00:53:35 CEST 2001 Jan Hubicka <jh@suse.cz>
16191
16192 * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
16193 of the movable.
16194
16195 * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
16196
16197 * i386-protos.h (ix86_split_fp_branch): Update prototype.
16198 (ix86_fp_jump_nontrivial_p): New.
16199 * i386.md (fp_jcc_?): Update call of split_fp_branch;
16200 use ix86_fp_jump_nontrivial_p.
16201 * i386.c (ix86_fp_jump_nontrivial_p): New.
16202 (ix86_split_fp_branch): Accept code instead of rtx.
16203 (ix86_expand_compare): Expand comparison early in case
16204 doing so is resonably cheap.
16205
16206 2001-07-15 Nick Clifton <nickc@cambridge.redhat.com>
16207
16208 * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
16209 not 'machine'.
16210 (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
16211 (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
16212
16213 2001-07-15 Neil Booth <neil@daikokuya.demon.co.uk>
16214
16215 * dbxout.c (dbxout_source_line): Make static, update prototype.
16216 (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
16217 (dbxout_init, dbxout_finish, dbxout_source_line,
16218 dbxout_begin_block, dbxout_end_block): Update for new prototypes.
16219 * dbxout.h (dbxout_source_line): Delete.
16220 * debug.c (debug_nothing_file, debug_nothing_file_int,
16221 debug_nothing_file_charstar_rtx): New.
16222 (do_nothing_debug_hooks): Update.
16223 (debug_nothing_void, debug_nothing_charstar_rtx,
16224 dwarf2out_end_epilogue): New.
16225 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16226 * debug.h (struct rtx_def): Declare.
16227 (gcc_debug_hooks): New hooks source_line, end_epilogue
16228 and end_function.
16229 (debug_nothing_void, debug_nothing_charstar_rtx,
16230 dwarf2out_end_epilogue): New.
16231 (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
16232 * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
16233 (dwarf2_debug_hooks): Update.
16234 (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
16235 dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
16236 * dwarf2out.h (dwarf2out_source_line): Remove.
16237 * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
16238 Make static, update prototype.
16239 (dwarfout_init, dwarfout_finish, dwarfout_source_line,
16240 dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
16241 (dwarf_debug_hooks): Update.
16242 * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
16243 dwarfout_end_function): Remove.
16244 * final.c (profile_function): Use debug hooks for ending functions
16245 and epilogues.
16246 (output_source_line, final_end_function): Update prototype,
16247 use debug hooks.
16248 (final_start_function, final_scan_insn): Update.
16249 * output.h (sdb_begin_function_line): Remove.
16250 (final_end_function): Update prototype.
16251 * sdbout.c (sdb_begin_function_line): Make static.
16252 (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
16253 (sdbout_source_line): New.
16254 (sdbout_end_epilogue, sdbout_end_function): Make static, update
16255 prototypes.
16256 (sdb_debug_hooks): Update.
16257 (sdbout_init, sdbout_source_line,
16258 sdbout_begin_block, sdbout_end_block): Update for new prototypes.
16259 * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
16260 * toplev.c (compile_file, rest_of_compilation): Update.
16261 * tree.h (dwarf2out_end_epilogue): Move to debug.h.
16262 * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
16263 xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
16264 Update for prototype changes.
16265 * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
16266 xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
16267
16268 2001-07-15 Richard Henderson <rth@redhat.com>
16269
16270 * config/alpha/alpha.h (TARGET_ABI_OSF): New.
16271 (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
16272 * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
16273 * config/alpha/alpha.c: Likewise.
16274 * config/alpha/alpha.md: Likewise.
16275 * config/alpha/alpha32.h: Likewise.
16276 * config/alpha/vms.h: Likewise.
16277 (OPEN_VMS): Remove.
16278
16279 2001-07-14 Richard Henderson <rth@redhat.com>
16280
16281 * config/alpha/alpha.md: Use define_constants for unspec values.
16282 Substitute throughout.
16283
16284 2001-07-14 Tim Josling <tej@melbpc.org.au>
16285
16286 * tree.def (EXPON_EXPR) remove. Never supported anyway.
16287
16288 2001-07-14 John David Anglin <dave@hiauly1.hia.nrc.ca>
16289
16290 * pa.md: Remove unused constraints from define_split's.
16291
16292 2001-04-14 Richard Henderson <rth@redhat.com>
16293
16294 * ifcvt.c (find_cond_trap): Test for exit block.
16295
16296 Sun Jul 15 00:50:20 CEST 2001 Jan Hubicka <jh@suse.cz>
16297
16298 Re-install recently reverted patch.
16299 * emit-rtl.c (try_split): Update mark_jump_label call.
16300 * flow.c (find_sub_basic_blocks): Likewise.
16301 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16302 jump_back_p): Kill.
16303 (mark_all_labels): Kill second parameter.
16304 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16305 (rebuild_jump_labels, jump_optimize_minimal): Update call
16306 of jump_optimize_1.
16307 (jump_optimize_1): Kill crossjumping code.
16308 (mark_jump_label): Kill cross_jump parameter.
16309 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16310 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16311 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16312 splitting.
16313 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16314 DFI_bpro.
16315 (dump_file_info): Likewise.
16316 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16317 reorganize passes to do reg-stack first, bb-reorder second.
16318 * invoke.texi (-d letters doc): Remove the jump2 pass.
16319
16320 2001-07-14 Richard Henderson <rth@redhat.com>
16321
16322 * ifcvt.c (find_cond_trap): New.
16323 (find_if_header): Call it.
16324 (merge_if_block): Relax existing jump sanity check.
16325 * jump.c (jump_optimize_1): Remove conditional trap handling.
16326
16327 2001-07-14 Alan Modra <amodra@bigpond.net.au>
16328
16329 * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
16330 millicode.
16331 (insn_refs_are_delayed): Correct comment.
16332 * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
16333 * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
16334 instead of r31. Make associated insn !TARGET_64BIT, and
16335 provide an additional 64-bit insn that clobbers r2.
16336 (divsi3): Likewise.
16337 (udivsi3): Likewise.
16338 (modsi3): Likewise.
16339 (umodsi3): Likewise.
16340
16341 Sat Jul 14 02:58:38 CEST 2001 Jan Hubicka <jh@suse.cz>
16342
16343 * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
16344
16345 * flow.c (redirect_edge_and_branch_force, split_edge,
16346 try_crossjump_to_edge): Use set_block_for_new_insns.
16347 * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
16348
16349 2001-07-13 H.J. Lu (hjl@gnu.org)
16350
16351 * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
16352 the correct patch.
16353
16354 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
16355
16356 Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
16357
16358 2001-07-13 Joseph S. Myers <jsm28@cam.ac.uk>
16359
16360 * c-common.c (decl_attributes): Take a pointer to the node to
16361 which attributes are to be attached, and a flags argument.
16362 * c-common.h (enum attribute_flags): New.
16363 (decl_attributes): Update prototype.
16364 * c-decl.c (start_decl, push_parm_decl, finish_struct,
16365 finish_enum, start_function): Update calls to decl_attributes.
16366 * c-parse.in (component_declarator, component_notype_declarator,
16367 label): Update calls to decl_attributes.
16368
16369 Fri Jul 13 23:04:00 2001 Denis Chertykov <denisc@overta.ru>
16370
16371 * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
16372 * config/avr/avr.c (legitimate_address_p): Return value changed
16373 from letter to register classes. For better debugging.
16374
16375 2001-07-13 Kazu Hirata <kazu@hxi.com>
16376
16377 * jump.c (reversed_comparison_code_parts): Fix comment typos.
16378
16379 2001-07-13 H.J. Lu (hjl@gnu.org)
16380
16381 * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
16382
16383 2001-07-13 Marc Espie <espie@cvs.openbsd.org>
16384
16385 * config.gcc (*-*-openbsd*): Add fragment to compile libgcc
16386 correctly for shared configurations.
16387 * config/t-libgcc-pic: New.
16388 * config/{i386,m68k,sparc}/t-openbsd: New.
16389 * config/openbsd.h: Include cpu_spec in cpp_spec where needed.
16390 Support -shared. Support debugging libraries with -g.
16391 * config/i386/openbsd.h: Correct ASM_COMMENT_START. Ensure dwarf2
16392 frame information does not emit pointer diffs.
16393 * config/sparc/openbsd.h: Ensure dwarf2 frame information does not
16394 emit pointer diffs.
16395
16396 2001-07-13 Geoffrey Keating <geoffk@redhat.com>
16397
16398 Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
16399
16400 2001-07-13 David Edelsohn <edelsohn@gnu.org>
16401
16402 * combine.c (try_combine): Ensure const_int pow2 is positive.
16403
16404 2001-07-13 Hartmut Penner <hpenner@de.ibm.com>
16405
16406 * config.gcc: Add configuration for s/390.
16407 * config/s390/s390.c: New. Subroutines for code generation.
16408 * config/s390/s390.h: New. Definitions for s/390.
16409 * config/s390/s390-protos.h: New. Prototypes.
16410 * config/s390/linux.h: New. Definitions for linux for s/390.
16411 * config/s390/linux64.h: New. Definitions for linux for zSeries.
16412 * config/s390/t-linux: New. Makefile fragment.
16413 * config/s390/s390.md: New. Machine description for s/390 and zSeries.
16414 * config/s390/fixdfdi.h: New. Fix L_fix*di.
16415
16416 Fri Jul 13 14:46:21 CEST 2001 Jan Hubicka <jh@suse.cz>
16417
16418 * emit-rtl.c (try_split): Update mark_jump_label call.
16419 * flow.c (find_sub_basic_blocks): Likewise.
16420 * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
16421 jump_back_p): Kill.
16422 (mark_all_labels): Kill second parameter.
16423 (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
16424 (rebuild_jump_labels, jump_optimize_minimal): Update call
16425 of jump_optimize_1.
16426 (jump_optimize_1): Kill crossjumping code.
16427 (mark_jump_label): Kill cross_jump parameter.
16428 * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
16429 (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
16430 * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
16431 splitting.
16432 * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
16433 DFI_bpro.
16434 (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
16435 reorganize passes to do reg-stack first, bb-reorder second.
16436 * invoke.texi (-d letters doc): Remove the jump2 pass.
16437
16438 2001-07-12 Steve Ellcey <sje@cup.hp.com>
16439
16440 * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
16441
16442 Thu Jul 12 17:57:16 CEST 2001 Jan Hubicka <jh@suse.cz>
16443
16444 * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
16445 basic blocks.
16446 (verify_flow_info): Make diagnostics prettier.
16447
16448 Thu Jul 12 16:48:54 CEST 2001 Jan Hubicka <jh@suse.cz>
16449
16450 * flow.c (find_basic_blocks_1): Do not emit NOP after call.
16451
16452 * flow.c (outgoing_edges_match): Return early if condition reversal
16453 failed.
16454
16455 2001-07-06 Richard Sandiford <rsandifo@redhat.com>
16456
16457 * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
16458 (mips_move_2words): When splitting a move into two instructions,
16459 prefix the second address operand with '%D'.
16460
16461 2001-07-12 Neil Booth <neil@daikokuya.demon.co.uk>
16462
16463 * Makefile.in (final.o): Depend on debug.h.
16464 * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
16465 (dbx_debug_hooks): Add new hooks.
16466 (xcoff_debug_hooks): New.
16467 * debug.c (debug_nothing_file_int_int): New.
16468 (do_nothing_debug_hooks): Update.
16469 * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
16470 (debug_nothing_file_int_int): New.
16471 * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
16472 static, update prototype.
16473 (dwarf2_debug_hooks): Update.
16474 * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
16475 * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
16476 static, update prototype.
16477 (dwarf_debug_hooks): Update.
16478 * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
16479 * final.c: Include debug.h.
16480 (final_scan_insn): Use debug hooks when beginning and ending blocks.
16481 * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
16482 static, update prototype.
16483 (sdb_debug_hooks): Update.
16484 * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
16485 * toplev.c: Distinguish between xcoff and dbx.
16486
16487 * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
16488 Call all debug hooks, not just dwarf ones.
16489
16490 2001-07-11 Timothy Wall <twall@redhat.com>
16491
16492 * config.gcc: Add configuration for AIX5/IA64.
16493 * config/ia64/aix.h: New. AIX5/IA64-specific configuration.
16494 * config/ia64/crt[in].asm: New. Generic static ctor/dtor
16495 support prefix/suffix code.
16496 * config/ia64/t-aix: New. Makefile fragment.
16497 * config/ia64/unwind-aix.c: New. Unwind table entry lookup.
16498
16499 2001-07-11 Kazu Hirata <kazu@hxi.com>
16500
16501 * recog.c (validate_change): Fix a comment typo.
16502
16503 2001-07-11 Neil Booth <neil@daikokuya.demon.co.uk>
16504
16505 * Makefile.in (c-lex.o): Wrap long lines. Depend on debug.h.
16506 * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
16507 hooks directly.
16508 * dbxout.c (dbx_debug_hooks): Add new hooks.
16509 (dbxout_start_new_source_file): Rename dbxout_start_source_file,
16510 make static.
16511 (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
16512 make static.
16513 * dbxout.h (dbxout_start_new_source_file,
16514 dbxout_resume_previous_source_file): Delete.
16515 * debug.c (do_nothing_debug_hooks): Add new hooks.
16516 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16517 (debug_nothing_int_charstar, debug_nothing_int): New.
16518 * debug.h (gcc_debug_hooks): New hooks define, undef,
16519 start_source_file and end_source_file.
16520 (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
16521 (debug_nothing_int_charstar, debug_nothing_int): New.
16522 * dwarf2out.c (dwarf2_debug_hooks): Add new hooks. Move into
16523 the conditionally compiled section.
16524 (dwarf2out_start_source_file, dwarf2out_end_source_file,
16525 dwarf2out_define, dwarf2out_undef): Make static.
16526 * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
16527 dwarf2out_define, dwarf2out_undef): Remove.
16528 * dwarfout.c (dwarf_debug_hooks): Add new hooks.
16529 (dwarfout_start_source_file, dwarfout_end_source_file,
16530 dwarfout_define, dwarfout_undef): Make static.
16531 (dwarfout_start_source_file_check,
16532 dwarfout_end_source_file_check): New.
16533 (dwarfout_define, dwarfout_finish): Update.
16534 * dwarfout.h (dwarfout_start_new_source_file,
16535 dwarfout_resume_previous_source_file, dwarfout_define,
16536 dwarfout_undef): Remove.
16537 * sdbout.c (sdb_debug_hooks): Add new hooks.
16538 (sdbout_start_new_source_file): Rename sdbout_start_source_file,
16539 make static.
16540 (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
16541 make static, take an arg.
16542 * sdbout.h (sdbout_start_new_source_file,
16543 sdbout_resume_previous_source_file): Delete.
16544 * toplev.c (debug_start_source_file, debug_end_source_file,
16545 debug_define, debug_undef): Delete.
16546 * toplev.h (debug_start_source_file, debug_end_source_file,
16547 debug_define, debug_undef): Delete.
16548
16549 * java/jcf-parse.c: Include debug.h.
16550 (parse_class_file): Update to use debug hooks directly.
16551 * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
16552
16553 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16554
16555 * alias.c (set_mem_alias_set): New function.
16556 * rtl.h (set_mem_alias_set): Declare it.
16557 * builtins.c (expand_builtin_return_addr): Call it instead of
16558 using MEM_ALIAS_SET accessor.
16559 (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
16560 (get_memory_rtx, expand_builtin_va_arg): Likewise.
16561 (expand_builtin_va_copy):Likewise.
16562 * caller-save.c (setup_save_areas): Likewise.
16563 * calls.c (compute_argument_addresses): Likewise.
16564 * explow.c (set_mem_attributes): Likewise.
16565 * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
16566 (expand_assignment, store_constructor_field, store_field): Likewise.
16567 (expand_expr_unaligned): Likewise.
16568 * function.c (assign_stack_temp_for_type): Likewise.
16569 (put_reg_into_stack, gen_mem_addressof): Likewise.
16570 * ifcvt.c (noce_try_cmove_arith): Likewise.
16571 * reload1.c (reload, alter_reg): Likewise.
16572 * config/alpha/alpha.c (get_aligned_mem): Likewise.
16573 (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
16574 (alpha_expand_unaligned_store): Likewise
16575 (alpha_expand_unaligned_load_words): Likewise.
16576 (alpha_expand_unaligned_store_words): Likewise.
16577 (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
16578 (alpha_expand_epilogue): Likewise.
16579 * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
16580 * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
16581 * config/i386/i386.c (legitimize_pic_address): Likewise.
16582 * config/i960/i960.c (setup_incoming_varargs): Likewise.
16583 * config/ia64/ia64.c (spill_restore_mem): Likewise.
16584 * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
16585 * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
16586 * config/mips/mips.c (mips_va_arg): Likewise.
16587 * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
16588 * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
16589 * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
16590 (setup_incoming_varargs, rs6000_va_arg): Likewise.
16591 (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
16592 (rs6000_emit_epilogue): Likewise.
16593 * config/sh/sh.c (sh_builtin_saveregs): Likewise.
16594 * config/sparc/sparc.c (sparc_va_arg): Likewise.
16595 * config/v850/v850.c (v850_va_arg): Likewise.
16596
16597 Wed Jul 11 21:27:25 CEST 2001 Jan Hubicka <jh@suse.cz>
16598
16599 * flow.c (merge_blocks_move_successor_nojumps): Do not crash
16600 when fallthru edge is present.
16601 (mege_blocks): Handle case where creation of jump insn
16602 is required.
16603
16604 * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
16605 CLEANUP_POST_REGSTACK): New constants.
16606 * except.c (finish_eh_generation): Update call of cleanup_cfg,
16607 * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
16608 * output.h (cleanup_cfg): Update prototype.
16609 * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
16610 * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
16611 cleanup_cfg call; kill missleading comment.
16612 * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
16613 * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
16614 parameter; control optimizations performed using it.
16615 (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
16616 try_crossjump_bb): New functions.
16617
16618 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16619
16620 * pa.c (pa_output_function_prologue): Delete prototype. Make function
16621 extern.
16622 * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
16623 pa_output_function_prologue.
16624 * pa-protos.h (pa_output_function_prologue): New prototype.
16625
16626 2001-07-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
16627
16628 * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
16629 and low to get correct sign extension in low+high test.
16630
16631 2001-07-11 Janis Johnson <janis@us.ibm.com>
16632
16633 * gcov.c (arcdata): Use gcov_type to fix branch percentage
16634 for large hit count.
16635
16636 * profile.c (branch_prob): Fix .bbg info for computed gotos
16637 and C++ EH code.
16638
16639 2001-07-11 Mark Mitchell <mark@codesourcery.com>
16640
16641 * stmt.c (parse_output_constraint): New function, split out
16642 from ...
16643 (expand_asm_operands): ... here. Use parse_output_constraint.
16644 * tree.h (parse_output_constraint): Declare it.
16645
16646 2001-07-11 Richard Henderson <rth@redhat.com>
16647
16648 * bitmap.c: Comment some functions; fiddle whitespace.
16649 (bitmap_free): Don't export.
16650 (bitmap_element_allocate): Use memset.
16651 * bitmap.h (bitmap_free): Don't declare.
16652
16653 2001-07-11 Daniel Berlin <dan@cgsoftware.com>
16654
16655 * gcse.c, lcm.c, sched-deps.c:
16656 s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
16657
16658 * flow.c (flow_loops_find): Free dom if we found no loops, since
16659 we aren't going to save it.
16660
16661 * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
16662 done.
16663
16664 Wed Jul 11 09:00:48 2001 Jeffrey A Law (law@cygnus.com)
16665
16666 * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
16667
16668 Wed Jul 11 10:07:18 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16669
16670 * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
16671 #ifndef DWARF2_DEBUGGING_INFO.
16672
16673 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
16674
16675 * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
16676
16677 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
16678
16679 * config/mips/mips.c (gen_int_relational): Tell the caller not to
16680 reverse a branch if a NE comparison is implemented with GTU.
16681
16682 2001-07-11 Richard Sandiford <rsandifo@redhat.com>
16683 H.J. Lu <hjl@gnu.org>
16684
16685 * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
16686 constant addresses.
16687 (call_internal2): Likewise.
16688 (call_value_internal1): Likewise.
16689 (call_value_internal2): Likewise.
16690 (call_value_multiple_internal1): Likewise.
16691 (call_value_multiple_internal2): Likewise.
16692
16693 2001-07-10 Kazu Hirata <kazu@hxi.com>
16694
16695 * calls.c (emit_library_call_value_1): Fix a comment typo.
16696 * dwarf2out.c (mem_loc_descriptor): Likewise.
16697 * config/i386/i386.c (ix86_expand_aligntest): Likewise.
16698
16699 2001-07-11 David Billinghurst <David.Billinghurst@riotinto.com>
16700
16701 * simplify-rtx.c (simplify_subreg): Fix typo in comment
16702
16703 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16704
16705 * recog.c (offsettable_address_p): Handle LO_SUM case.
16706 * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
16707 instead of plus_constant.
16708
16709 2001-07-10 Stephane Carrez <Stephane.Carrez@worldnet.fr>
16710
16711 * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
16712 fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
16713
16714 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16715
16716 * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
16717 adjust_address_nv instead of plus_constant.
16718
16719 2001-07-10 Neil Booth <neil@daikokuya.demon.co.uk>
16720
16721 * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
16722 dwarf2out.o): Depend on debug.h, wrap long lines.
16723 * dbxout.c: Include debug.h.
16724 (dbx_debug_hooks): New.
16725 (dbxout_init): Make static, take just 2 args.
16726 (dbxout_finish): Make static.
16727 * dbxout.h (dbxout_init, dbxout_finish): Delete.
16728 * debug.c: New file.
16729 * debug.h: New file.
16730 * dwarf2out.c: Include debug.h.
16731 (dwarf2_debug_hooks): New.
16732 (dwarf2out_init): Make static.
16733 (dwarf2out_finish): Make static, take 2 args.
16734 * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
16735 * dwarfout.c: Include debug.h.
16736 (dwarf_debug_hooks): New.
16737 (dwarfout_init): Make static.
16738 (dwarfout_finish): Make static, take 2 args.
16739 * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
16740 * sdbout.c: Include debug.h.
16741 (sdb_debug_hooks): New.
16742 (sdbout_init): Make static, take 2 args.
16743 * sdbout.h (sdbout_init): Delete.
16744 * toplev.c: Include debug.h.
16745 (debug_hooks): New.
16746 (compile_file): Set deubg_hooks based on command line options.
16747 Use the hooks unconditionally rather than conditional compilation.
16748
16749 Tue Jul 10 09:04:45 2001 Jeffrey A Law (law@cygnus.com)
16750
16751 * ssa-ccp.c (first_phi_node): Remove. Replace uses with calls to
16752 first_insn_after_basic_block_note instead.
16753
16754 * df.c (df_bb_refs_unlink): #if 0 out for now.
16755
16756 2001-07-10 David Billinghurst <David.Billinghurst@riotinto.com
16757
16758 * ssa.h: Add prototype for ssa_const_prop
16759 * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
16760 (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
16761 (ssa_fast_dce): Remove unused variable
16762
16763 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16764
16765 * diagnostic.c (finish_diagnostic): Rename to
16766 diagnostic_finish. Make it take an 'output_buffer *'. Adjust
16767 calls thourghout.
16768
16769 2001-07-10 Jason Merrill <jason_merrill@redhat.com>
16770
16771 * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
16772 .loc support.
16773
16774 * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
16775 (dump_file): Only pad the demangled name with spaces if the
16776 mangled name was padded with spaces.
16777
16778 2001-07-10 Bernd Schmidt <bernds@redhat.com>
16779
16780 * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
16781 edge detection.
16782
16783 Tue Jul 10 07:27:53 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16784
16785 * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
16786 extraction if no direct load if either EXPAND_CONST_ADDRESS or
16787 EXPAND_INITIALIZER.
16788
16789 * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
16790 whether can put offset inside LO_SUM to check mode alignment, not size.
16791
16792 2001-07-10 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
16793
16794 * doc/tm.texi (Misc): Fix thinko.
16795
16796 2001-07-10 Jan van Male <jan.vanmale@fenk.wau.nl>
16797
16798 * regmove.c (replace_in_call_usage): Fix warnings.
16799 * sched-deps.c (add_dependence): Fix warnings.
16800 * simplify-rtx.c (simplify_subreg): Likewise.
16801 Return NULL_RTX instead of NULL.
16802
16803 * reg-stack.c (emit_swap_insn): Eliminate warnings.
16804 (subst_asm_stack_regs): Likewise.
16805
16806 * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
16807 warnings.
16808
16809 * dwarf2out.c (output_call_frame_info): Declare i as int.
16810 (build_abbrev_table): Declare n_alloc as int.
16811 (dwarf2out_finish): Initialize die.
16812 * except.c: Declare sjlj_funcdef_number as unsigned.
16813 (connect_post_landing_pads): Declare j as unsigned.
16814 (convert_to_eh_region_ranges): Initialize call_site.
16815 (output_function_exception_table): Initialize tt_format_size.
16816 * expr.c (move_by_pieces_1): Initialize to1.
16817 (store_constructor): Initialize minelt and maxelt.
16818 * flow.c (mark_regs_live_at_end): Declare i as unsigned.
16819 * function.c (instantiate_decls): Avoid signed/unsigned warning.
16820
16821 * c-decl.c (combine_parm_decls): Unused, remove.
16822 * c-tree.h: Remove prototype for combine_parm_decls.
16823
16824 * reload.c (push_reload): Fix warning.
16825 (regno_clobbered_p): Likewise.
16826 * reload1.c (replace_pseudos_in_call_usage): Likewise.
16827 (reload_combine): Likewise.
16828
16829 * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
16830 * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
16831 warnings.
16832 * bitmap.c (bitmap_operation): Change user.
16833 * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
16834
16835 2001-07-10 Eric Christopher <echristo@redhat.com>
16836
16837 * config/mips/mips.c (override_options): Fix typo.
16838
16839 2001-07-09 Stan Shebs <shebs@apple.com>
16840
16841 * target.h (struct gcc_target): New fields init_builtins and
16842 expand_builtin.
16843 * target-def.h (TARGET_INIT_BUILTINS): New macro.
16844 (TARGET_EXPAND_BUILTIN): New macro.
16845 (TARGET_INITIALIZER): Add them.
16846 * builtins.c: Include target.h.
16847 (expand_builtin): Use targetm.expand_builtin.
16848 (default_init_builtins): New function.
16849 (default_expand_builtin): New function.
16850 * expr.h (default_init_builtins): Declare.
16851 (default_expand_builtin): Declare.
16852 * c-common.c (c_common_nodes_and_builtins): Use
16853 targetm.init_builtins.
16854 * defaults.h (MD_INIT_BUILTINS): Remove.
16855 * Makefile.in (builtins.o): Depend on target.h.
16856
16857 * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
16858 (TARGET_EXPAND_BUILTIN): Define.
16859 * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
16860 (MD_EXPAND_BUILTIN): Remove.
16861
16862 * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
16863 (TARGET_EXPAND_BUILTIN): Define.
16864 (c4x_init_builtins): Make endlink arg a local.
16865 (c4x_print_operand): Fix typos in adjust_address usages.
16866 * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
16867 * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
16868 (MD_EXPAND_BUILTIN): Remove.
16869
16870 * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
16871 (TARGET_EXPAND_BUILTIN): Define.
16872 (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
16873 (ix86_init_builtins): Call new function only if TARGET_MMX.
16874 * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
16875 * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
16876 (MD_EXPAND_BUILTIN): Remove.
16877
16878 * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
16879 (TARGET_EXPAND_BUILTIN): Define.
16880 * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
16881 (MD_EXPAND_BUILTIN): Remove.
16882
16883 * doc/tm.texi: Document these changes.
16884
16885 2001-07-09 Diego Novillo <dnovillo@redhat.com>
16886
16887 * basic-block.h (tree_node): Forward declare if needed.
16888 (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
16889 (BLOCK_HEAD_TREE): Define.
16890 (BLOCK_END_TREE): Define.
16891 (struct loops): Rename field 'tree' to 'tree_root'.
16892 * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
16893 'end_tree'.
16894 (flow_loops_tree_build): Rename reference to field 'tree' to
16895 'tree_root'.
16896 (flow_loops_level_compute): Ditto.
16897 * predict.c (estimate_bb_frequencies): Ditto.
16898 * tree.h (struct tree_common): Add field 'aux'.
16899
16900 2001-07-09 Stan Shebs <shebs@apple.com>
16901
16902 * config/darwin.c (darwin_encode_section_info): Don't mark any
16903 DECL_EXTERNAL node as defined.
16904
16905 2001-07-09 John David Anglin <dave@hiauly1.hia.nrc.ca>
16906
16907 * pa.c (pa_init_machine_status, pa_mark_machine_status,
16908 pa_free_machine_status, hppa_init_pic_save): Delete.
16909 (hppa_pic_save_rtx): New. Use get_hard_reg_initial_val.
16910 (hppa_profile_hook): Use hppa_pic_save_rtx.
16911 * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
16912 hppa_init_pic_save): Delete.
16913 (hppa_pic_save_rtx): Declare.
16914 * pa.md (call, call_value, sibcall, sibcall_value,
16915 builtin_setjmp_receiver): Use hppa_pic_save_rtx.
16916
16917 2001-07-09 Kazu Hirata <kazu@hxi.com>
16918
16919 * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
16920 * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
16921
16922 2001-07-09 Andreas Jaeger <aj@suse.de>
16923
16924 * output.h: Add declaration of final_forward_branch_p.
16925
16926 * config/i386/i386.c (output_fix_trunc): Remove unused variable.
16927
16928 * varray.c: Include errors.h for internal_error and trim_filename
16929 declarations.
16930
16931 * Makefile.in (varray.o): Add errors.h.
16932
16933 2001-07-09 Toon Moene <toon@moene.indiv.nluug.nl>
16934
16935 * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
16936 * optabs.c (have_add2_insn): Check whether the add insn chosen
16937 really accepts the operands. (have_sub2_insn): Ditto for sub insn.
16938 * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
16939
16940 Mon Jul 9 13:26:40 2001 Jeffrey A Law (law@cygnus.com)
16941
16942 * Makefile.in (OBJS): Add ssa-ccp.o
16943 (ssa-ccp.o): Add dependencies.
16944 * toplev.c (DFI_ssa_ccp): New dump file enum.
16945 (dump_file): Add entry for dumping after SSA CCP.
16946 (flag_ssa_ccp): New flag variable.
16947 (f_options): Add -fssa-ccp.
16948 (rest_of_compilation): Run SSA CCP if requested.
16949 * timevar.def (TV_SSA_CCP): New timevar.
16950 * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
16951 * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
16952 Fix minor typo in SSA DCE documentation.
16953 * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
16954 Add documentation for new dump option. Renumber dump files
16955 appropriately.
16956
16957 Mon Jul 9 21:36:00 CEST 2001 Jan Hubicka <jh@suse.cz>
16958
16959 * emit-rtl.c (gen_highpart_mode): New.
16960 * rtl.h (gen_highpart_mode): Declare.
16961 * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
16962 operand can be VOIDmode constant.
16963
16964 Mon Jul 9 17:23:10 CEST 2001 Jan Hubicka <jh@suse.cz>
16965
16966 * flow.c (redirect_edge_and_branch_force): New.
16967 (can_fallthru): Ensure that basic blocks are succeeding.
16968 (try_optimize_cfg): Do not delete basic block if it is the last one.
16969
16970 * flow.c (try_redirect_by_replacing_jump): Do not remove
16971 jumps with side effects, unlink chain on fallthru edge;
16972 set block for new jump instruction; avoid basic block to
16973 over by line number note.
16974
16975 * flow.c (try_simplify_condjump): Verify that the condjump
16976 is not always falling through.
16977
16978 Re-install patch:
16979 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
16980
16981 * flow.c (forwarder_block_p): Fix for fallthru blocks.
16982 (try_redirect_by_replacing_jump): Update properly the count
16983 and frequency information.
16984
16985 Mon Jul 9 06:41:07 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
16986
16987 * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
16988 address that is a LO_SUM specially.
16989 * explow.c (plus_constant_wide, case LO_SUM): Deleted.
16990
16991 * c-lang.c (start_cdtor): Remove extra parameter from start_function.
16992
16993 * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
16994 (operand_subword): Use them.
16995 (change_address_1): Renamed from change_address; new arg VALIDATE.
16996 * expr.h: Reflect above changes; change_address now macro.
16997 * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
16998 making MEM.
16999 * cselib.c (add_mem_for_addr): Likewise.
17000 * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
17001 * regmove.c (try_apply_stack_adjustment): Likewise.
17002 * reload.c (push_reload, make_memloc): Likewise.
17003 * reload1.c (eliminate_regs): Likewise.
17004 * simplify-rtx.c (simplify_replace_rtx): Likewise.
17005 * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
17006 adjust_addess.
17007 * combine.c (make_extraction, simplify_shift_const): Likewise.
17008 (gen_lowpart_for_combine): Likewise.
17009 * cse.c (gen_lowpart_if_possible): Likewise.
17010 * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
17011 * expr.c (expand_expr, case COMPONENT_REF): Likewise.
17012 * optabs.c (gen_move_insn): Likewise.
17013 * reload1.c (alter_reg): Likewise.
17014 * simplify-rtx.c (simplify_subreg): Likewise.
17015 * stmt.c (expand_anon_union_decl): Likewise.
17016 * recog.c (validate_replace_rtx_1): Likewise.
17017 (expr.h): Include.
17018 * Makefile.in (recog.o): Add $(EXPR_H).
17019 * explow.c (stabilize): Call replace_equiv_address.
17020 * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
17021 * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
17022
17023 2001-07-03 Andrew Haley <aph@redhat.com>
17024
17025 * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
17026 the mode of the memory location.
17027
17028 2001-07-09 Bo Thorsen <bo@suse.co.uk>
17029
17030 * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
17031
17032 2001-07-09 Neil Booth <neil@daikokuya.demon.co.uk>
17033
17034 * final.c (output_addr_const): Use target opening and
17035 closing parentheses.
17036 * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
17037 defaults, add to TARGET_ASM_OUT.
17038 * target.h (struct gcc_target): Add open_paren and close_paren.
17039 * doc/md.texi: Update.
17040 * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
17041 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
17042 TARGET_ASM_CLOSE_PAREN.
17043 * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17044 Override.
17045 * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
17046 Override.
17047 * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
17048 * config/a29k/a29k.h: Similarly.
17049 * config/alpha/alpha.h: Similarly.
17050 * config/arc/arc.h: Similarly.
17051 * config/arm/aof.h: Similarly.
17052 * config/arm/aout.h: Similarly.
17053 * config/avr/avr.h: Similarly.
17054 * config/c4x/c4x.h: Similarly.
17055 * config/clipper/clipper.h: Similarly.
17056 * config/convex/convex.h: Similarly.
17057 * config/d30v/d30v.h: Similarly.
17058 * config/dsp16xx/dsp16xx.h: Similarly.
17059 * config/elxsi/elxsi.h: Similarly.
17060 * config/fr30/fr30.h: Similarly.
17061 * config/h8300/h8300.h: Similarly.
17062 * config/i370/i370.h: Similarly.
17063 * config/i386/i386.h: Similarly.
17064 * config/i860/i860.h: Similarly.
17065 * config/i960/i960.h: Similarly.
17066 * config/ia64/ia64.h: Similarly.
17067 * config/m32r/m32r.h: Similarly.
17068 * config/m68hc11/m68hc11.h: Similarly.
17069 * config/m68k/m68k.h: Similarly.
17070 * config/m88k/m88k.h: Similarly.
17071 * config/mcore/mcore.h: Similarly.
17072 * config/mips/mips.h: Similarly.
17073 * config/mn10200/mn10200.h: Similarly.
17074 * config/mn10300/mn10300.h: Similarly.
17075 * config/ns32k/ns32k.h: Similarly.
17076 * config/pa/pa.h: Similarly.
17077 * config/pdp11/pdp11.h: Similarly.
17078 * config/pj/pj.h: Similarly.
17079 * config/romp/romp.h: Similarly.
17080 * config/rs6000/rs6000.h: Similarly.
17081 * config/sh/sh.h: Similarly.
17082 * config/sparc/sparc.h: Similarly.
17083 * config/v850/v850.h: Similarly.
17084 * config/vax/vax.h: Similarly.
17085 * config/we32k/we32k.h: Similarly.
17086
17087 2001-07-09 Joseph S. Myers <jsm28@cam.ac.uk>
17088
17089 * doc/c-tree.texi: Document representation of attributes.
17090
17091 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
17092
17093 * doc/tm.texi: Update some places for the rename of target to
17094 targetm. Fix typo.
17095
17096 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
17097
17098 * target.h (struct gcc_target): Add insert_attributes.
17099 * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
17100 (TARGET_INITIALIZER): Update.
17101 * tree.c, tree.h (default_insert_attributes): New function.
17102 Update comments on other default functions to refer to targetm,
17103 not target.
17104 * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
17105 TARGET_INSERT_ATTRIBUTES.
17106 (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
17107 * c-common.c (decl_attributes): Use targetm.insert_attributes.
17108 Don't use PRAGMA_INSERT_ATTRIBUTES.
17109 * Makefile.in (c-common.o): Depend on $(TARGET_H).
17110 * c-decl.c (start_decl, start_function): Don't call
17111 SET_DEFAULT_DECL_ATTRIBUTES.
17112 * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17113 * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
17114 declare.
17115 * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
17116 (c4x_check_attribute): Avoid modifying attribute list itself.
17117 (c4x_set_default_attributes): Rename to c4x_insert_attributes.
17118 Make static.
17119 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
17120 * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
17121 declare.
17122 * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
17123 (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
17124 Make static.
17125 * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
17126 * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
17127 declare.
17128 * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
17129 (v850_set_default_decl_attr): Rename to v850_insert_attributes.
17130 Adjust parameters. Make static.
17131
17132 2001-07-08 Joseph S. Myers <jsm28@cam.ac.uk>
17133
17134 * c-common.c (decl_attributes): Only take a single attributes
17135 parameter.
17136 * c-common.h (decl_attributes): Update prototype.
17137 * c-decl.c (start_decl, start_function): Only take a single
17138 attributes parameter. Update calls to decl_attributes.
17139 (finish_struct, finish_enum): Update calls to decl_attributes.
17140 (push_parm_decl): Expect unified list of attributes. Update call
17141 to decl_attributes.
17142 * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
17143 notype_nested_function, component_declarator,
17144 component_notype_declarator, label): Update calls to
17145 decl_attributes.
17146 (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
17147 lists that are passed to push_parm_decl.
17148 * c-tree.h (start_function, start_decl): Update prototypes.
17149 * config/sh/sh-protos.h, config/sh/sh.c
17150 (sh_pragma_insert_attributes): Only take a single attributes
17151 parameter.
17152 * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
17153 * doc/tm.texi (INSERT_ATTRIBUTES): Update.
17154 * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
17155 build_module_descriptor, generate_static_references,
17156 generate_strings, build_selector_translation_table,
17157 generate_descriptor_table, generate_protocols,
17158 generate_ivars_list, generate_dispatch_table,
17159 generate_protocol_list, generate_category,
17160 generate_shared_structures, really_start_method, add_objc_decls,
17161 generate_classref_translation_entry): Update calls to start_decl
17162 and start_function.
17163 (build_tmp_function_decl, start_method_def): Unify attribute lists
17164 that are passed to push_parm_decl.
17165
17166 2001-07-08 Neil Booth <neil@daikokuya.demon.co.uk>
17167
17168 * final.c (no_asm_to_stream): New.
17169 (final_scan_insn): Use target structures for prologue ends
17170 and epilogue starts.
17171 * output.h (no_asm_to_stream): New.
17172 * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
17173 TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
17174 (TARGET_ASM_OUT): Update.
17175 * target.h (struct gcc_target): New members function_end_prologue
17176 and function_begin_epilogue.
17177 * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
17178 * config/alpha/alpha-protos.h (output_end_prologue): Delete.
17179 * config/alpha/alpha.c (output_end_prologue): Rename to
17180 alpha_output_function_end_prologue. Use in target struct
17181 and make static.
17182 * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
17183 * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
17184 * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
17185 ia64_output_function_end_prologue. Use in target struct
17186 and make static.
17187 (ia64_function_prologue, ia64_funciton_epilogue): Rename
17188 mistyped prototypes.
17189 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
17190 * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
17191 Delete.
17192 * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
17193 an use in target struct, make static.
17194 * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
17195 Delete.
17196
17197 2001-07-08 Richard Henderson <rth@redhat.com>
17198
17199 * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
17200
17201 2001-07-08 Richard Henderson <rth@redhat.com>
17202
17203 * config/i386/i386.md: Remove constraints strings from define_split
17204 and define_peephole2 patterns.
17205 (eh_return_si, eh_return_di): Split eh_return_1 for modes.
17206 (eh_return): Use them.
17207
17208 2001-07-08 Richard Henderson <rth@redhat.com>
17209
17210 * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
17211 Document MD_FALLBACK_FRAME_STATE_FOR.
17212
17213 2001-07-07 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17214
17215 * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
17216 Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
17217 elimination.
17218 * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
17219
17220 2001-07-07 Nick Clifton <nickc@cambridge.redhat.com>
17221
17222 * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
17223 of the label inside NAME as opposed to just the end of NAME.
17224
17225 2001-07-07 Neil Booth <neil@daikokuya.demon.co.uk>
17226
17227 * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
17228 * config/alpha/alpha.c (alpha_init_machine_status,
17229 alpha_mark_machine_status, alpha_free_machine_status): Delete.
17230 (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
17231 (vms_valid_decl_attribute_p): Make static, conditionally compile.
17232 * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
17233
17234 2001-07-06 Stan Shebs <shebs@apple.com>
17235
17236 * target.h (targetm): Rename global from "target", so as not to
17237 conflict with local variables.
17238 * c-decl.c: Ditto.
17239 * c-typeck.c: Ditto.
17240 * final.c: Ditto.
17241 * tree.c: Ditto.
17242 * cp/decl.c: Ditto.
17243 * cp/decl2.c: Ditto.
17244 * cp/typeck.c: Ditto.
17245 * 1750a/1750a.c: Ditto.
17246 * a29k/a29k.c: Ditto.
17247 * arc/arc.c: Ditto.
17248 * arm/arm.c: Ditto.
17249 * avr/avr.c: Ditto.
17250 * clipper/clipper.c: Ditto.
17251 * convex/convex.c: Ditto.
17252 * d30v/d30v.c: Ditto.
17253 * dsp16xx/dsp16xx.c: Ditto.
17254 * elxsi/elxsi.c: Ditto.
17255 * fr30/fr30.c: Ditto.
17256 * h8300/h8300.c: Ditto.
17257 * i370/i370.c: Ditto.
17258 * i386/i386.c: Ditto.
17259 * i860/i860.c: Ditto.
17260 * i960/i960.c: Ditto.
17261 * ia64/ia64.c: Ditto.
17262 * m32r/m32r.c: Ditto.
17263 * m68hc11/m68hc11.c: Ditto.
17264 * m68k/m68k.c: Ditto.
17265 * m88k/m88k.c: Ditto.
17266 * mips/mips.c: Ditto.
17267 * ns32k/ns32k.c: Ditto.
17268 * pa/pa.c: Ditto.
17269 * pdp11/pdp11.c: Ditto.
17270 * romp/romp.c: Ditto.
17271 * rs6000/rs6000.c: Ditto.
17272 * sh/sh.c: Ditto.
17273 * sparc/sparc.c: Ditto.
17274 * vax/vax.c: Ditto.
17275 * we32k/we32k.c: Ditto.
17276 * doc/tm.texi: Update the manual to match.
17277
17278 2001-07-06 Richard Henderson <rth@redhat.com>
17279
17280 * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
17281 DWARF2_UNWIND_INFO not just whether it is defined.
17282
17283 2001-07-06 Diego Novillo <dnovillo@redhat.com>
17284
17285 * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
17286 call to simplify_binary_operation returns a new pattern.
17287
17288 2001-07-06 Roman Lechtchinsky <rl@cs.tu-berlin.de>
17289
17290 * glimits.h (__SHRT_MAX__): New.
17291 (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
17292 (SHRT_MAX): Define in terms of __SHRT_MAX__.
17293
17294 2001-07-06 Jan van Male <jan.vanmale@fenk.wau.nl>
17295
17296 * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
17297 avoid warnings.
17298
17299 2001-07-06 Richard Henderson <rth@redhat.com>
17300
17301 * bitmap.c (bitmap_release_memory): Move adjacent to the
17302 allocation functions.
17303 (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
17304 the implementation. Binary search for the set bit.
17305 (bitmap_union_of_diff): Allocate the temporary on the stack
17306 instead of using xmalloc.
17307
17308 2001-07-06 Richard Henderson <rth@redhat.com>
17309
17310 * genrecog.c (validate_pattern): Warn for constraints in
17311 define_{expand,split,peephole2}. Remove strict_low_part
17312 before looking up match_dup.
17313
17314 2001-07-06 DJ Delorie <dj@redhat.com>
17315
17316 * doc/gcc.texi (Makefile): Rename to be a more general purpose
17317 chapter about various build hints and history. Add section
17318 talking about the various types of native and cross builds.
17319
17320 2001-07-06 Neil Booth <neil@daikokuya.demon.co.uk>
17321
17322 * Makefile.in (final.o): Depend on target.h.
17323 * final.c: Include target.h.
17324 (default_function_pro_epilogue): New.
17325 (final_start_function): Use target structure for function prologues.
17326 (final_end_function): Use target structure for function epilogues.
17327 * fold-const.c (real_hex_to_f): Constify s and p.
17328 * output.h (default_function_pro_epilogue): New.
17329 * real.h (real_hex_to_f): Update prototype.
17330 * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
17331 TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
17332 (TARGET_INITIALIZER): Update.
17333 * target.h (gcc_target): Add struct asm_out.
17334 * doc/tm.texi: Update.
17335
17336 config:
17337 Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
17338 TARGET_ASM_FUNCTION_EPILOGUE. Move macro code to functions
17339 in cpu/cpu.c, or rename old functions consistently. Take
17340 a HOST_WIDE INT not an int as the SIZE parameter. Remove now
17341 redundant macros and prototypes. Make new functions static.
17342
17343 * 1750a/1750a.c: Similarly.
17344 * 1750a/1750a.h: Similarly.
17345 * a29k/a29k-protos.h: Similarly.
17346 * a29k/a29k.c: Similarly.
17347 * a29k/a29k.h: Similarly.
17348 * arc/arc-protos.h: Similarly.
17349 * arc/arc.c: Similarly.
17350 * arc/arc.h: Similarly.
17351 * arm/arm-protos.h: Similarly.
17352 * arm/arm.c: Similarly.
17353 * arm/arm.h: Similarly.
17354 * avr/avr-protos.h: Similarly.
17355 * avr/avr.c: Similarly.
17356 * avr/avr.h: Similarly.
17357 * clipper/clipper-protos.h: Similarly.
17358 * clipper/clipper.c: Similarly.
17359 * clipper/clipper.h: Similarly.
17360 * convex/convex.c: Similarly.
17361 * convex/convex.h: Similarly.
17362 * d30v/d30v-protos.h: Similarly.
17363 * d30v/d30v.c: Similarly.
17364 * d30v/d30v.h: Similarly.
17365 * d30v/d30v.md: Similarly.
17366 * dsp16xx/dsp16xx-protos.h: Similarly.
17367 * dsp16xx/dsp16xx.c: Similarly.
17368 * dsp16xx/dsp16xx.h: Similarly.
17369 * elxsi/elxsi.c: Similarly.
17370 * elxsi/elxsi.h: Similarly.
17371 * fr30/fr30.c: Similarly.
17372 * fr30/fr30.md: Similarly.
17373 * h8300/h8300-protos.h: Similarly.
17374 * h8300/h8300.c: Similarly.
17375 * h8300/h8300.h: Similarly.
17376 * i370/i370-protos.h: Similarly.
17377 * i370/i370.c: Similarly.
17378 * i370/i370.h: Similarly.
17379 * i386/i386.c: Similarly.
17380 * i386/osf1elf.h: Similarly.
17381 * i386/osfrose.h: Similarly.
17382 * i860/i860-protos.h: Similarly.
17383 * i860/i860.c: Similarly.
17384 * i860/i860.h: Similarly.
17385 * i960/i960-protos.h: Similarly.
17386 * i960/i960.c: Similarly.
17387 * i960/i960.h: Similarly.
17388 * ia64/ia64-protos.h: Similarly.
17389 * ia64/ia64.c: Similarly.
17390 * ia64/ia64.h: Similarly.
17391 * m32r/m32r-protos.h: Similarly.
17392 * m32r/m32r.c: Similarly.
17393 * m32r/m32r.h: Similarly.
17394 * m68hc11/m68hc11-protos.h: Similarly.
17395 * m68hc11/m68hc11.c: Similarly.
17396 * m68hc11/m68hc11.h: Similarly.
17397 * m68k/crds.h: Similarly.
17398 * m68k/dpx2.h: Similarly.
17399 * m68k/m68k-protos.h: Similarly.
17400 * m68k/m68k.c: Similarly.
17401 * m68k/m68k.h: Similarly.
17402 * m68k/news.h: Similarly.
17403 * m88k/m88k-protos.h: Similarly.
17404 * m88k/m88k.c: Similarly.
17405 * m88k/m88k.h: Similarly.
17406 * mips/mips-protos.h: Similarly.
17407 * mips/mips.c: Similarly.
17408 * mips/mips.h: Similarly.
17409 * ns32k/merlin.h: Similarly.
17410 * ns32k/ns32k.c: Similarly.
17411 * ns32k/ns32k.h: Similarly.
17412 * ns32k/tek6000.h: Similarly.
17413 * pa/pa-protos.h: Similarly.
17414 * pa/pa.c: Similarly.
17415 * pa/pa.h: Similarly.
17416 * pdp11/2bsd.h: Similarly.
17417 * pdp11/pdp11-protos.h: Similarly.
17418 * pdp11/pdp11.c: Similarly.
17419 * pdp11/pdp11.h: Similarly.
17420 * romp/romp-protos.h: Similarly.
17421 * romp/romp.c: Similarly.
17422 * romp/romp.h: Similarly.
17423 * rs6000/rs6000-protos.h: Similarly.
17424 * rs6000/rs6000.c: Similarly.
17425 * rs6000/rs6000.h: Similarly.
17426 * rs6000/sysv4.h: Similarly.
17427 * sh/sh-protos.h: Similarly.
17428 * sh/sh.c: Similarly.
17429 * sh/sh.h: Similarly.
17430 * sparc/sparc-protos.h: Similarly.
17431 * sparc/sparc.c: Similarly.
17432 * sparc/sparc.h: Similarly.
17433 * vax/vax.c: Similarly.
17434 * vax/vax.h: Similarly.
17435 * vax/vms.h: Similarly.
17436 * we32k/we32k.c: Similarly.
17437 * we32k/we32k.h: Similarly.
17438
17439 Fri Jul 6 11:47:59 2001 Jeffrey A Law (law@cygnus.com)
17440
17441 * basic-block.h (first_insn_after_basic_block_note): Declare.
17442 * flow.c (first_insn_after_basic_block_note): Define. Moved
17443 from...
17444 * ssa.c (first_insn_after_basic_block_note): Remove.
17445 * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
17446 necessary.
17447 (ssa_eliminate_dead_code): Properly update the CFG and PHI
17448 nodes when we find a dead conditional branch. Insert BARRIERs
17449 after any blocks with no successors, but which do not have
17450 any BARRIERs.
17451
17452 2001-07-06 Zack Weinberg <zackw@stanford.edu>
17453
17454 * varray.c (varray_check_failed): Use internal_error.
17455
17456 2001-07-05 Andrew Haley <aph@redhat.com>
17457
17458 * Makefile.in (LIB2_DIVMOD_FUNCS): New.
17459 (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
17460 * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
17461
17462 2001-07-02 Jason Merrill <jason_merrill@redhat.com>
17463
17464 * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
17465 reference if the target constant is also a SYMBOL_REF.
17466
17467 2001-07-05 Eric Christopher <echristo@redhat.com>
17468
17469 * config/mips/mips.h (MASK_MIPS3900): Remove.
17470 (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
17471 MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
17472 (TARGET_MIPS3900): Change to use mips_arch.
17473 (TARGET_MIPS4000): New.
17474 (TARGET_MIPS4100): New.
17475 (TARGET_MIPS4300): New.
17476 (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
17477 (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
17478 for -mipsX.
17479 (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
17480 (ISA_HAS_BRANCHLIKELY): To here.
17481 (CC1_CPU_SPEC): New.
17482 (CC1_SPEC): Use here. Remove 4650 and 3900 options.
17483 (mips_arch_string): Declare.
17484 (mips_arch): Declare.
17485 (TARGET_OPTIONS): Add -march and -mtune.
17486
17487 * config/mips/mips.c (mips_arch_string): New.
17488 (mips_arch): New.
17489 (override_options): Handle -march for codegen and -mtune
17490 for scheduling. Use mips_arch. Move tx39 target default here.
17491 (mips_parse_cpu): Move error message to override_options.
17492
17493 * config/mips/r3900.h (TARGET_DEFAULT): Remove.
17494
17495 * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
17496
17497 * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
17498 (MIPS Options): Ditto. Change mcpu entry to historical text.
17499
17500 2001-07-05 H.J. Lu (hjl@gnu.org)
17501
17502 * config/mips/mips.c (mips_parse_cpu): New function to parse
17503 -march=*/-mcpu=*.
17504
17505 2001-07-05 Jim Wilson <wilson@redhat.com>
17506
17507 * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
17508 * config/ia64/t-ia64: Likewise.
17509 (LIB1ASMFUNCS): Update comment.
17510
17511 2001-07-05 David Edelsohn <edelsohn@gnu.org>
17512
17513 * doc/install.texi (Install GCC: Binaries): Fix typo.
17514
17515 2001-07-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17516
17517 * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
17518 reference using the stack pointer, adjust it since we push Y
17519 temporarily.
17520 ("*ashrsi3"): Likewise.
17521 ("*lshrsi3"): Likewise.
17522
17523 2001-07-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
17524
17525 * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
17526 when -fomit-frame-pointer is used.
17527
17528 2001-07-05 Jeffrey Oldham <oldham@codesourcery.com>
17529
17530 * flow.c: Reverse Jan Hubicka's patch of 02July2001.
17531 (try_redirect_by_replacing_jump): Reverse updating properly the
17532 count and frequency information. Reverse removing cc0 setter.
17533 (forwarder_block_p): Reverse fixing for fallthru blocks.
17534
17535 2001-07-05 DJ Delorie <dj@redhat.com>
17536
17537 * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
17538 (translate_options): If the above is defined, use it to map
17539 given options to new options.
17540 * doc/tm.texi: Document it.
17541
17542 2001-07-05 Brad Lucier <lucier@math.purdue.edu>
17543 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17544
17545 * doc/invoke.texi (Optimize Options): Document that -fgcse may
17546 cause programs using computed gotos to run more slowly.
17547
17548 2001-07-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17549
17550 * doc/install.texi (Specific): Markup, spelling and typo fixes.
17551 Fixed sorting.
17552 Consistently require binutils 2.11.2, not prereleases.
17553 (Specific, decstation-*): Canonicalize as mips-dec-*.
17554 (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
17555 always necessary.
17556 (Specific, m68k-altos): Removed reference to README.altos, deleted.
17557 (Specific, mips-*): Reword MIPS C compiler requirements.
17558 (Specific, powerpc*-*-*): New, mention --with-cpu once.
17559 (Specific, sunv5): Removed, obsolete.
17560
17561 2001-07-05 Nathan Sidwell <nathan@codesourcery.com>
17562
17563 * dwarf2out.c (output_loc_list): Use an all ones mask for
17564 .text asm output and don't rely on long long
17565 literals. Reformat some long lines.
17566
17567 2001-07-05 Andreas Jaeger <aj@suse.de>
17568
17569 * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
17570 section.
17571
17572 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
17573
17574 * dwarf2out.c (dwarf2out_define): Update comment.
17575 (dwarf2out_undef): Ditto.
17576 (dwarf2out_start_source_file): Ditto.
17577 (dwarf2out_end_source_file): Ditto.
17578 (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
17579 since we never call the start/end debug hook for the primary file.
17580
17581 2001-07-04 Kazu Hirata <kazu@hxi.com>
17582
17583 * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
17584 from shll.
17585
17586 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
17587
17588 * cppinit.c (remove_dup_dirs): Inform if a system include
17589 directory is being reordered.
17590 * doc/invoke.texi (Directory Options): GCC warns if you hide a
17591 system include.
17592 * doc/cpp.texi (Search Paths): Likewise.
17593 * doc/gcc.texi (Interoperation): Remove information about
17594 -I/usr/include.
17595
17596 2001-07-04 Nathan Sidwell <nathan@codesourcery.com>
17597
17598 * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
17599 (VARRAY_TOP_CHAR_PTR): Likewise.
17600
17601 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17602
17603 * gcc.c (process_command): Don't assign elements of a const char*.
17604
17605 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17606
17607 * emit-rtl.c (change_address): Don't abort if invalid address while
17608 reload is in progress.
17609
17610 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
17611
17612 * c-lex.c (cb_file_change): Pass line number to
17613 debug_start_source_file.
17614 (cb_undefine): Pass correct line number to debug_undef.
17615
17616 * toplev.c (debug_start_source_file): Add line number to
17617 parameters. Pass it along to dwarf2out_start_source_file.
17618 (decode_g_option): Stop resetting debug level back to normal when
17619 we change debug formats, unless the current level is
17620 none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
17621 3).
17622
17623 * toplev.h (debug_start_source_file): Add line number to
17624 parameters.
17625
17626 * dwarf2out.h (dwarf2out_start_source_file): Add line number to
17627 parameters.
17628
17629 * dwarf2out.c (dwarf2out_start_source_file): Add line number to
17630 parameters.
17631 Output debug_macinfo data for starting file if requested.
17632 (dwarf2out_end_source_file): Output debug_macinfo data for ending
17633 file if requested.
17634 (dwarf2out_define): Output debug_macinfo data for defining a macro
17635 if requested.
17636 (dwarf2out_undef): Output debug_macinfo data for undefining a
17637 macro if requested.
17638 (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
17639 (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
17640 (macinfo_section_label): New. DWARF2 macro info section label.
17641 (dwarf2out_init): If we want macro info, output the start label
17642 for the section.
17643 (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
17644 attribute to the compilation unit die pointing to the macro info.
17645
17646 2001-07-04 Daniel Berlin <dan@cgsoftware.com>
17647
17648 * dwarf2out.c (new_loc_list): Move to inside #ifdef
17649 DWARF2_DEBUGGING_INFO.
17650 (add_loc_descr_to_loc_list): Ditto.
17651 (output_loc_list): Ditto.
17652 Also, fix thinko in curr not being initialized.
17653 (gen_internal_sym): Ditto.
17654
17655 Wed Jul 4 13:40:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17656
17657 * emit-rtl.c (replace_equiv_address): New function.
17658 * expr.h (replace_equiv_address): New declaration.
17659 * explow.c (validize_mem): Call it instead of change_address and
17660 also call if -fforce-addr and address is constant.
17661 * expr.c: Replace more calls to change_address with adjust_address
17662 and/or replace_equiv_address or to validize_mem.
17663 * function.c, regmove.c, config/alpha/alpha.c: Likewise.
17664 * config/arm/arm.md, config/clipper/clipper.md: Likewise.
17665 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17666 * config/i370/i370.md, config/i860/i860.md: Likewise.
17667 * config/i960/i960.md, config/mips/mips.c: Likewise.
17668 * config/mips/mips.md, config/pa/pa.md: Likewise.
17669 * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
17670 * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
17671
17672 2001-07-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
17673
17674 * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
17675
17676 * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
17677 function.
17678
17679 2001-07-04 Joseph S. Myers <jsm28@cam.ac.uk>
17680
17681 * doc/include: New directory.
17682 * doc/fdl.texi: Move to doc/include/fdl.texi.
17683 * doc/texinfo.tex: Move to doc/include/texinfo.tex.
17684 * doc/include/funding.texi, doc/include/gpl.texi: New files.
17685 * doc/gcc.texi: Use funding.texi and gpl.texi.
17686 * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
17687 $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
17688 Update dependencies and use -I $(docdir)/include.
17689
17690 2001-07-04 Anthony Green <green@redhat.com>
17691
17692 * config/v850/t-v850 (v850-c.o): Add missing dependencies.
17693
17694 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17695
17696 * doc/install.texi (sparc64-*-*): Remove garbage.
17697
17698 Wed Jul 4 09:07:44 2001 Jan van Male <jan.vanmale@fenk.wau.nl>
17699
17700 * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
17701 Fix typo in last change to use adjust_address.
17702
17703 2001-07-04 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17704
17705 * doc/install.texi (Specific): Update information for *-*-solaris*.
17706
17707 Tue Jul 3 22:33:15 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17708
17709 * explow.c (plus_constant_wide): Reinitialize Y for restart.
17710
17711 2001-07-03 Stan Shebs <shebs@apple.com>
17712
17713 * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
17714 case for flag_no_mach_text_sections.
17715 (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
17716 * config/darwin.c (flag_no_mach_text_sections): Remove.
17717 * config/darwin-protos.h (darwin_init_pragma): Remove decl.
17718
17719 Tue Jul 3 15:35:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17720
17721 * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
17722 and avoid checking for constant as first operand.
17723 * recog.c (find_constant_term_loc): No longer static.
17724 (adj_offettable_operand): Delete.
17725 * rtl.h (adj_offsettable_operand): Delete declaration.
17726 (find_constant_term): Add declaration.
17727 * caller-save.c: Replace calls to adj_offsettable_operand with calls
17728 to adjust_address.
17729 * config/arm/arm.c, config/c4x/c4x.c: Likewise.
17730 * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
17731 * config/i386/i386.c, config/i386/i386.md: Likewise.
17732 * config/i860/i860.c, config/i960/i960.c: Likewise.
17733 * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
17734 * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
17735 * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
17736 * config/mips/mips.c, config/mips/mips.md: Likewise.
17737 * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
17738 * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
17739 * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
17740 * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
17741 * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
17742 * config/ns32k/ns32k.md: Likewise.
17743
17744 2001-07-03 Zack Weinberg <zackw@stanford.edu>
17745
17746 * rtl.c (copy_rtx): Handle 'T' format letter.
17747 * gensupport.c (collect_insn_data): Likewise.
17748 * print-rtl.c (print_rtx): Print 'T' slots like 's'.
17749
17750 2001-07-03 Nick Clifton <nickc@cambridge.redhat.com>
17751
17752 * doc/invoke.texi (Directory Options): Specifiy range for <N> in
17753 -B option. Use 'dir' not 'foo' as example directory name.
17754
17755 2001-07-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17756
17757 * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
17758 Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
17759
17760 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
17761
17762 * doc/cppinternals.texi: Improve formatting and logical markup.
17763
17764 2001-07-03 Andreas Jaeger <aj@suse.de>
17765
17766 * Makefile.in (insn-recog.o): Add dependency on reload.h.
17767
17768 * genrecog.c (write_header): Include reload.h for prototypes in
17769 insn-recog.c.
17770
17771 2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
17772
17773 config:
17774 * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
17775 VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
17776 * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
17777 i386_pe_valid_type_attribute_p): Add.
17778 * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
17779 * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
17780
17781 Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17782
17783 * explow.c (plus_constant_wide, case LO_SUM): New case.
17784 (plus_constant_for_output_wide): Delete.
17785 * rtl.h (plus_constant_for_output): Delete.
17786 * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
17787 instead of plus_constant_for_output.
17788 * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
17789 * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
17790 * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
17791 * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
17792 * config/sparc/sparc.md: Likewise.
17793 Convert some change_address calls to adjust_address.
17794
17795 2001-07-03 Joseph S. Myers <jsm28@cam.ac.uk>
17796
17797 * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
17798 doc/rtl.texi, doc/tm.texi: Improve formatting. Improve
17799 documentation of -std and -Wwrite-strings.
17800
17801 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
17802
17803 * cse.c (canon_hash): Don't register registers in very small
17804 register classes, as extending their lifetime might cause
17805 reload to fail.
17806
17807 Mon Jul 2 23:14:00 CEST 2001 Jan Hubicka <jh@suse.cz>
17808
17809 * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
17810
17811 * flow.c (forwarder_block_p): Fix for fallthru blocks.
17812 (try_redirect_by_replacing_jump): Update properly the count
17813 and frequency information.
17814
17815 Mon Jul 2 14:20:13 2001 Jeffrey A Law (law@cygnus.com)
17816
17817 * toplev.c (dump_file_index): Move SSA dumps just after first
17818 jump dump.
17819 (dump_file): Corresponding changes.
17820 (rest_of_compilation): Move SSA path to just after the first
17821 jump pass.
17822 * doc/gcc.texi (Passes): Update due to movement of SSA path.
17823 * doc/invoke.texi: Update dump file #s as they were completely
17824 out of date with reality.
17825
17826 2001-07-02 Geoffrey Keating <geoffk@redhat.com>
17827
17828 * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
17829
17830 * expr.c (emit_move_insn_1): Deal with non-default
17831 STACK_PUSH_CODE.
17832
17833 * expr.c (emit_single_push_insn): Fix warning.
17834
17835 2001-07-02 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
17836
17837 * expr.c (emit_move_insn_1): Avoid modifying
17838 cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
17839
17840 Mon Jul 2 15:33:31 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17841
17842 * emit-rtl.c (adjust_address): New function.
17843 * expr.h (adjust_address): Add declaration.
17844 * builtins.c: Replace some calls to change_address with calls to it
17845 or to validize_mem.
17846 * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
17847 * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
17848 * config/arm/arm.c, config/convex/convex.c: Likewise.
17849 * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
17850 * config/i386/i386.c, config/i386/i386.md: Likewise.
17851 * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
17852 * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
17853 * config/m88k/m88k.c, config/mips/mips.md: Likewise.
17854 * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
17855 * config/sh/sh.c, config/sparc/sparc.md: Likewise.
17856
17857 2001-07-02 Jim Wilson <wilson@redhat.com>
17858
17859 * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
17860
17861 2001-07-02 Steve Ellcey <sje@cup.hp.com>
17862
17863 * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
17864 * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
17865
17866 2001-07-02 Zack Weinberg <zackw@stanford.edu>
17867
17868 * cppinit.c (lang_defaults): New table.
17869 (set_lang): Just read from lang_defaults into the live options
17870 structure.
17871
17872 2001-07-02 Zack Weinberg <zackw@stanford.edu>
17873
17874 * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
17875 * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
17876 * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
17877
17878 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17879
17880 * doc/install.texi: Various spelling and markup fixes.
17881 (Installing GCC): Component specific installation instructions are
17882 gone.
17883 Fix reference.
17884 Warn about removing old install dir in the presence of shared libs.
17885 (Configuration): Invoke with options target to match configure
17886 --help.
17887 Consistently refer to gas, gld pathnames.
17888 Invert --enable-multilib documentation.
17889 Remove references to old compiler versions.
17890
17891 Mon Jul 2 12:50:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17892
17893 * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
17894
17895 2001-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
17896
17897 * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
17898 section.
17899 (Specific, mips*-sgi-irix5): Note IDO download.
17900 Reworded MIPS C hints.
17901 Use GNU as instead of GAS.
17902 Markup fixes.
17903 Removed SGI Freeware reference, IRIX 6 only.
17904 (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
17905 Note N64 library requirement/workaround.
17906 Update O32 hints.
17907 Complete list of structure passing bug victims.
17908
17909 2001-07-02 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
17910
17911 * doc/install.texi: Remove CVS Id.
17912
17913 2001-07-02 Andreas Jaeger <aj@suse.de>
17914
17915 * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
17916 (find_inherently_necessary): Remove unused variable.
17917
17918 2001-07-02 Nathan Sidwell <nathan@codesourcery.com>
17919
17920 * c-common.h (TDI_inlined): New ast dump phase.
17921 (dump_flag_name): New function.
17922 * c-dump.c (dump_files): Add inlined phase.
17923 (dump_flag_name): Define.
17924 * doc/invoke.texi (-fdump-ast-inlined): Document.
17925
17926 Mon Jul 2 06:29:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17927
17928 * stor-layout.c (layout_decl): Revert change to handling of alignment
17929 in packed types.
17930
17931 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17932
17933 * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
17934 for FIELD_DECL.
17935
17936 2001-07-01 Geoffrey Keating <geoffk@redhat.com>
17937
17938 * doc/tm.texi (FUNCTION_ARG): Document that the last call
17939 is special.
17940
17941 2001-07-01 Nathan Sidwell <nathan@codesourcery.com>
17942
17943 * tlink.c (recompile_files): Remove COMPILER_PATH and
17944 LIBRARY_PATH from the environment.
17945
17946 2001-07-01 Zack Weinberg <zackw@stanford.edu>
17947
17948 * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
17949 RID_LAST_PQ. Move RID_FIRST_PQ down with the other FIRST/LAST
17950 enumerators.
17951 (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
17952
17953 * c-parse.in (OBJC_STRING): Kill.
17954 (objc_string): Decompose to [objc_string] '@' STRING.
17955 (reswords): Take the leading '@' off all the Objective C keywords.
17956 (objc_rid_sans_at): Kill.
17957 (init_reswords): Don't initialize it.
17958 (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
17959 (_yylex): Kill reconsider label. Look ahead one token after
17960 an '@'; if we get an identifier, check whether it's an
17961 Objective C @-keyword. If so, return the keyword. Otherwise,
17962 put back the token and return the '@' as a terminal.
17963
17964 * cpplib.c (lex_macro_node): Remove unnecessary check for
17965 leading '@' on identifier. Clarify control flow and commentary.
17966
17967 Sun Jul 1 11:53:52 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17968
17969 * cse.c (new_label_ref): Variable deleted.
17970 (insert): Remove set of new_label_ref.
17971 (check_for_label_ref): New function.
17972 (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
17973
17974 See ChangeLog.5 for earlier changes.
This page took 0.836405 seconds and 5 git commands to generate.