]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Make -fsjlj-exceptions a configure option.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2001-03-27 Richard Henderson <rth@redhat.com>
2
3 * bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
4 jump.c, toplev.c:
5 Rename asynchronous_exceptions to flag_non_call_exceptions.
6
7 * gthr-single.h (UNUSED): New. Distinguish between how C
8 and C++ mark unused function arguments. Use throughout.
9
10 * Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
11 value to target configuration header.
12 * configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
13 * config.in, configure: Rebuild.
14 * except.h (USING_SJLJ_EXCEPTIONS): New. Define based on
15 configuration and target defines.
16 (exceptions_via_longjmp): Remove.
17 * dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
18 Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
19
20 2001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
21
22 * configure.in: Don't check for bcopy.
23 * configure, config.in: Regenerate.
24
25 * system.h: Don't define or prototype bcopy, instead poison it.
26
27 2001-03-27 Richard Henderson <rth@redhat.com>
28
29 * function.c (expand_function_start): Set DECL_REGISTER on
30 a pseudo used for DECL_RESULT.
31
32 * rtl.h (LCT_NORETURN): New.
33 * calls.c (emit_library_call_value_1): Handle it.
34
35 2001-03-27 Stan Shebs <shebs@apple.com>
36
37 * objc/objc-act.c (objc_init): Use dump_base_name.
38 (gen_declaration): Clear the buffer arg.
39 (gen_declaration_1): New function, body of gen_declaration.
40 (adorn_decl): Call gen_declaration_1 instead of gen_declaration.
41 (gen_method_decl): Ditto, plus always clear buffer arg.
42 (error_with_ivar): Simplify.
43 (warn_with_method): Ditto.
44 (build_message_expr): Don't clear buffers.
45 (dump_interface): Ditto.
46 (objc_debug): Ditto.
47 (build_keyword_selector): Clear the buffer by only zeroing
48 the first element.
49 (objc_implementation_context): Declare.
50 (start_class): Warn about missing @end.
51 (finish_objc): Ditto.
52
53 2001-03-28 John David Anglin <dave@hiauly1.hia.nrc.ca>
54
55 * reload1.c (eliminate_regs): Don't abort on MEM USEs.
56
57 2001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
58
59 * Makefile.in (SYSTEM_H): Define.
60 Depend on $(SYSTEM_H), not system.h.
61
62 * objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
63
64 2001-03-27 Jim Wilson <wilson@redhat.com>
65
66 * final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
67 IA64_UNWIND_EMIT.
68 * config/ia64/ia64.c (block_num, need_copy_state): New static vars.
69 (process_epilogue): New static function.
70 (process_set): Call process_epilogue instead of emitting .restore
71 directly.
72 (process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
73
74 * flow.c (struct reg_cond_life_info): New fields orig_condition
75 and stores.
76 (init_propagate_block_info): Set new fields.
77 (mark_regno_cond_dead): Set and use new fields.
78 (flush_reg_cond_reg_1): Likewise.
79 (and_reg_cond, case AND): Check for redundant AND conditions.
80 (mark_used_reg): Delete unnecessary clears before freeing splay trees.
81 Set new fields.
82
83 2001-03-27 Neil Booth <neil@daikokuya.demon.co.uk>
84
85 * cppmacro.c (stringify_arg): Null terminate strings.
86
87 2001-03-27 Zack Weinberg <zackw@stanford.edu>
88
89 * config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
90 inclusion style. xm-m68hc11.h no longer exists.
91 * config/m68hc11/xm-m68hc11.h: Delete file.
92 * config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
93
94 * config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
95 Don't define GCC_VERSION, N_, or PARAMS; don't include
96 gansidecl.h or stdio.h. Define inhibit_libc here.
97 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
98 Delete code conditioned on #if GCC_VERSION == 2095.
99
100 * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
101 Make code conditioned on #if GCC_VERSION > 2095 unconditional.
102 Delete code conditioned on #if GCC_VERSION == 2095.
103
104 2001-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
105
106 * system.h: Include symcat.h.
107 (STRINGIFY): Don't define.
108
109 * configure.in: Adjust comment.
110
111 * builtins.c: Use STRINGX, not STRINGIFY.
112 * gencheck.c: Likewise.
113 * gengenrtl.c: Likewise.
114 * protoize.c: Likewise.
115
116 * cpplex.c: Don't include symcat.h.
117 * cpplib.c: Likewise.
118
119 * gansidecl.h (HAVE_STRINGIZE): Don't define.
120
121 2001-03-27 Alan Modra <alan@linuxcare.com.au>
122
123 * c-typeck.c (digest_init): Fold init expression.
124
125 2001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
126
127 * sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
128
129 2001-03-27 Alan Modra <alan@linuxcare.com.au>
130
131 * except.c (eh_regs): Save results of build_pointer_type to a temp
132 as FUNCTION_VALUE macro may evaluate its args multiple times.
133
134 2001-03-26 Mark Mitchell <mark@codesourcery.com>
135
136 * c-common.h (DECL_NUM_STMTS): New macro.
137 * c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
138 DECL_FRAME_SIZE.
139 (pushdecl): Likewise.
140 * c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
141 * integrate.c (expand_inline_function): Don't check
142 DECL_FRAME_SIZE.
143 * print-tree.c (print_node): Don't print it.
144 * toplev.c (rest_of_compilation): Don't try to inline when
145 flag_no_inline is on.
146 * tree.h (DECL_FRAME_SIZE): Remove.
147 (tree_decl): Adjust accordingly.
148
149 2001-03-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
150
151 * combine.c (try_combine): Use memcpy, not bcopy.
152
153 * genattrtab.c (expand_units): Likewise.
154
155 Mon Mar 26 15:55:08 CEST 2001 Jan Hubicka <jh@suse.cz>
156
157 * i386.md (push mem DI peep2): New.
158 (mov 0, mov -1 peep2): Handle 64bit.
159 (lea to arithmetics peep2): Handle 64bit leas.
160 (rsp arithmetics to push/pop peep2s): New.
161
162 * i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
163
164 Mon Mar 26 14:35:18 CEST 2001 Jan Hubicka <jh@suse.cz>
165
166 * i386.c (struct machine_function): Add save_varrargs_registers.
167 (ix86_save_varrargs_registers): New macro.
168 (ix86_frame_layout): Support 64bit; support red zones and varrargs area.
169 (ix86_expand_prologue): Likewise.
170 (ix86_emit_epilogue_esp_adjustement): Likewise.
171 (ix86_expand_epilogue): Likewise.
172 * i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
173 (pro_epilogue_adjust_stack_1): New insn.
174 (pro_epilogue_adjust_stack_rex64): Likewise.
175 * i386.h (MASK_NO_RED_ZONE): New constant.
176 (TARGET_RED_ZONE): New macro.
177 (TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
178 (RED_ZONE_SIZE): New constant.
179 (RED_ZONE_RESERVE): New constant.
180
181 2001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
182
183 * toplev.c (set_float_handler): Use memcpy, not bcopy.
184
185 2001-03-25 Kazu Hirata <kazu@hxi.com>
186
187 * config/h8300/h8300.md (umodqi3): Output a tab instead of a
188 space.
189 (modqi3): Likewise.
190 (umodhi3): Likewise.
191 (modhi3): Likewise.
192
193 2001-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
194
195 * mkconfig.sh (DEFINES): Handle entries with '='.
196
197 * config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
198 Set xm_defines to MACRO=value instead.
199
200 * i370/xm-mvs.h: Delete.
201
202 * ns32k/xm-pc532-min.h: Likewise.
203
204 Sun Mar 25 15:01:40 CEST 2001 Jan Hubicka <jh@suse.cz>
205
206 * i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
207 shiftdi_operand;
208 use ix86_expand_binary_operator
209 (?sh??i_?): Disable for 64bit.
210 * i386.h (PREDICATE_CODES): Add shiftdi_operand.
211 * i386.c (shiftdi_operand): New predicate.
212
213 * (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
214 ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
215 ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
216 ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
217 ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
218 lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
219 lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
220 rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
221 rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
222 rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
223 (rotldi3, rotrdi3): New expanders.
224
225 Sun Mar 25 14:25:33 CEST 2001 Jan Hubicka <jh@suse.cz>
226
227 * i386.md (movstrsi): Move offline.
228 (movstrdi): New.
229 (strmovdi_rex64): New.
230 (strmov?i): Accept 64bit.
231 (strmov?i_rex64): New.
232 (strmov?i_rex_1): New.
233 (strmov?i_1): Disable for 64bit.
234 (rep_mov?i_rex64): New.
235 (rep_mov?i): Disable for 64bit.
236 (clrstrsi): Move offline.
237 (strset?i_rex64): New.
238 (strset?i: Accept 64bit.
239 (rep_stos?i): Disable for 64bit.
240 (rep_stos?i_rex64): New.
241 (strset?i_rex_1): New.
242 (strset?i_1): Disable for 64bit.
243 (cmpstrsi): Accept 64bit.
244 (cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
245 (cmpstrqi_nz_rex_1): New.
246 (cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
247 (strlensi): Move offline.
248 (strlendi): New.
249 (strlenqi_1): Disable for 64bit; fix constraints.
250 (strlenqi_rex_1): New.
251 * i386.c (ix86_adjust_counter): New static function.
252 (ix86_zero_extend_to_Pmode): Likewise.
253 (ix86_expand_aligntest): Likweise.
254 (ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
255 (ix86_expand_movstr): New global function.
256 (ix86_expand_clrstr): New global function.
257 (ix86_expand_strlen): New global function.
258 * i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
259 ix86_expand_strlen): Declare.
260 (ix86_expand_strlensi_unroll_1): Delete.
261
262 Sat Mar 24 23:15:19 CET 2001 Jan Hubicka <jh@suse.cz>
263
264 * i386.md (cmpdi): Fix operand predicates.
265 (cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
266 cmpdi_1_insn_rex64): New patterns.
267 (adddi3): Turn to expander.
268 (adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
269 (addsi3_carry_zext): New pattern.
270 (adddi_?_rex64): New patterns and splitters.
271 (addsi_?_zext): New patterns.
272 (subsi3_carry_zext): New pattern.
273 (subdi_?_rex64): New patterns and splitters.
274 (iorsi_?_zext): New patterns.
275 (iordi_?_rex64): New patterns and splitters.
276 (iorsi_?_zext): New patterns.
277 (iorsi_?_zext_imm): New patterns.
278 (xorsi_?_zext): New patterns.
279 (xordi_?_rex64): New patterns and splitters.
280 (xorsi_?_zext): New patterns.
281 (negdi*): New patterns.
282 (one_cmpldi*): Likewise.
283 (one_cmplsi*_zext, negsi*_zext): Likewise.
284 (testqi_ext_3_rex64): New pattern.
285
286 Sat Mar 24 21:13:28 CET 2001 Jan Hubicka <jh@suse.cz>
287
288 * i386-protos.h (ix86_split_long_move): Return void.
289 * i386.c (ix86_split_to_parts): Handle 64bit target.
290 (ix86_split_long_move): Likewise.
291 * i386.md (all calls to ix86_split_long_move): Update.
292
293 2001-03-23 Richard Henderson <rth@redhat.com>
294
295 * config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
296 to avoid shadowing arguments.
297
298 2001-03-23 Jakub Jelinek <jakub@redhat.com>
299
300 * varasm.c (make_decl_rtl): Don't append var_labelno discriminator
301 to variable names where DECL_NAME is different from
302 DECL_ASSEMBLER_NAME.
303
304 2001-03-23 Jim Wilson <wilson@redhat.com>
305
306 * varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
307 (assemble_alias): Call make_decl_rtl.
308
309 Fri Mar 23 16:59:08 2001 J"orn Rennecke <amylaar@redhat.com>
310
311 * stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
312
313 2001-03-23 Bryce McKinlay <bryce@albatross.co.nz>
314
315 * extend.texi: Document the "java_interface" attribute.
316
317 2001-03-22 Zack Weinberg <zackw@stanford.edu>
318
319 * mkconfig.sh: Use a subshell with redirected stdout,
320 instead of closing stdout and confusing commands that run
321 afterward. Throw away output of cmp.
322
323 2001-03-22 Gordon Sadler <gbsadler1@lcisp.com>
324
325 * Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
326
327 Thu Mar 22 22:15:59 CET 2001 Jan Hubicka <jh@suse.cz>
328
329 * i386.md (zero_extendsidi2_32): Break out from ...
330 (zero_extendsidi2): ... here ; turn to expander.
331 (zero_extendsidi2_rex64): New.
332 (extendsidi2_32): Break out from ...
333 (extendsidi2): ... here ; turn to expander.
334 (extendsidi2_rex64): New.
335 (zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
336 (trunc?f?f splitters): Add 64bit versions.
337
338 Thu Mar 22 21:41:16 CET 2001 Jan Hubicka <jh@suse.cz>
339
340 * i386.md (pushsi, pushsi2_prologue): Disable.
341 (pushsi2_rex64): New.
342 (movabs?i_1_rex64, movabs?i_2_rex64): New.
343 (movqi_ext_1): Disable for 64bit.
344 (movqi_ext_1_rex64): New.
345 (pushdi2_rex64): New pattern, peep2s and splitter.
346 (pushdi2_prologue_rex64): New pattern.
347 (popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
348 Likewise.
349 (movdi splitters): Disable for 64bit.
350 (movdi_1_rex64): New pattern, peep2s and splitters.
351 (swapdi): New pattern.
352 (pushsf): Disable for 64bit.
353 (pushsf_rex64): New pattern and splitter.
354 (pushdf_nointeger): Disable for 64bit.
355 (pushdf_integer): Handle the 64bit case.
356 (pushtf): Likewise; update splitters.
357
358 2001-03-22 Richard Henderson <rth@redhat.com>
359
360 * mkconfig.sh: Include insn-flags.h.
361 * Makefile.in (CONFIG_H): Include insn-flags.h.
362 (lots of objects): Remove insn-codes.h and insn-flags.h.
363
364 * alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
365 integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
366 regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
367 avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
368 dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
369 i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
370 m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
371 mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
372 pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
373 v850/v850.c, vax/vax.c:
374 Don't include insn-flags.h.
375
376 * diagnostic.c, expr.h, reload.c, toplev.c:
377 Don't include insn-codes.h.
378
379 * builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
380 final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
381 c4x/c4x.c, i960/i960.c, mips/mips.c:
382 Don't include insn-codes.h or insn-flags.h.
383
384 * genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
385 or insn-flags.h in the generated code.
386 * genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
387 (main): Forward declare struct rtx_def.
388
389 2001-03-22 Joseph S. Myers <jsm28@cam.ac.uk>
390
391 * invoke.texi (-ffast-math): Remove duplicate line about
392 __FAST_MATH__.
393
394 * gcc.texi: Remove more obsolete documentation of bugs and
395 installation problems.
396
397 2001-03-21 Kazu Hirata <kazu@hxi.com>
398
399 * config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
400 into two parts.
401
402 2001-03-20 Jason Merrill <jason@redhat.com>
403
404 * collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
405 not '.' or '$'.
406 * tree.c (FILE_FUNCTION_FORMAT): Likewise.
407 * varasm.c (CHKR_PREFIX): Likewise.
408
409 Wed Mar 21 14:27:11 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
410
411 * gcse.c (hash_scan_set): An expression is not anticipatible if it
412 is part of a multi-SET insn.
413
414 * cse.c (find_comparison_args): Remove previous change.
415 * ifcvt.c (noce_process_if_block): When moving an insn, remove any
416 REG_EQUAL notes.
417
418 * config/i386/i386.md (conditional_trap): Remove warning.
419
420 * recog.c (push_operand): Fix error in last change that caused
421 undefined symbol on many targets.
422
423 * sdbout.c: #include ggc.h.
424 (sdbout_init): Move to end of file.
425 Call ggc_add_tree_root for anonymous_types.
426 (sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
427 (sdbout_one_type): Use DECL_NAME for field name.
428 * Makefile.in (sdbout.o): Show includes ggc.h.
429
430 Wed Mar 21 20:33:26 CET 2001 Jan Hubicka <jh@suse.cz>
431
432 * i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
433 (override_options): Use properlimits for preferred_stack_boundary.
434 (ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
435 on x86_64.
436 (ext_register_operand): Accept DImode.
437 (load_pic_register): Abort on 64bit.
438 (gen_push): Use Pmode instead of SImode.
439 (ix86_save_reg): Pic reg is never used on 64bit.
440 (ix86_expand_prologue): Likewise.
441 (ix86_emit_save_regs): Use Pmode instead of SImode.
442 (legitimate_address_p): Check displacement for 64bit.
443 (print_operand): Avoid outputting of (%rip) on 64bit.
444 (print_operand_address): Output (%rip) where possible.
445 (split_di): Abort on 64bit registers.
446 (ix86_expand_branch): DImode comparison is simple for x86_64.
447 (memory_address_length): Recognize memory addresses formed using
448 PRE/POST modify.
449 (ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
450 for x86_64.
451 * i386.h (TARGET_USE_SAHF): Disable for 64bit.
452
453 Wed Mar 21 18:51:19 CET 2001 Jan Hubicka <jh@suse.cz>
454
455 * recog.c (push_operand): Recognize new format of push instructions.
456
457 Wed Mar 21 10:53:57 CET 2001 Jan Hubicka <jh@suse.cz>
458
459 * i386.md (pushqi1): New.
460 * i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
461 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
462 x86_64_immediate_operand, x86_64_immediate_operand,
463 x86_64_zext_immediate_operand): Declare.
464 * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
465 x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
466 x86_64_immediate_operand, x86_64_immediate_operand,
467 x86_64_zext_immediate_operand): define.
468 * i386.h (PREDICATE_CODES): Add new predicates.
469
470 Wed Mar 21 10:25:13 CET 2001 Jan Hubicka <jh@suse.cz>
471
472 * i386.md (pophi1, popqi1, pushqi1): Remove.
473
474 * expr.c (emit_single_push_insn): New function.
475 (move_by_pieces): Accept NULL as destination for push instructions.
476 (gen_push_operand): Kill.
477 (emit_push_insn): Pass NULL when pushing; avoid updating of
478 stack_pointer_delta.
479 * expr.h (gen_push_operand): Kill.
480
481 Tue Mar 20 20:15:06 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
482
483 * rtl.texi (COMPARE): Clarify documentation and reference section
484 on comparisons.
485
486 2001-03-20 Stan Shebs <shebs@apple.com>
487
488 * objc/objc-act.c (get_static_reference): Use NULL_TREE.
489 (get_object_reference): Ditto.
490 (error_with_ivar): Use error_with_file_and_line.
491 (warn_with_method): Use warning_with_file_and_line.
492
493 2001-03-20 Tom Tromey <tromey@redhat.com>
494
495 * libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
496
497 2001-03-20 Mark Mitchell <mark@codesourcery.com>
498
499 * tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
500 variables that are TREE_PUBLIC, even if not TREE_STATIC.
501
502 2001-03-20 DJ Delorie <dj@redhat.com>
503
504 * Makefile.in (install-libgcc): Pass complete list of variables.
505 (install-multilib): Ditto.
506
507 2001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
508
509 * config/i386/cygwin.h: Declare ctor_section, dtor_section
510 drectve_section, switch_to_section.
511
512 * winnt.c: Declare functions associated_type, gen_stdcall_suffix,
513 i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
514 i386_pe_mark_dllimport.
515
516 2001-03-20 David Billinghurst <David.Billinghurst@riotinto.com>
517
518 * config/i386/cygwin.h: Include <stdio.h> Declare and constify
519 functions i386_pe_*.
520
521 * config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
522 i386_pe_* functions with char * arguments.
523
524 2001-03-20 Alexandre Oliva <aoliva@redhat.com>
525
526 * config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
527 and store.
528 (movsi_ie): Introduce fpul store.
529
530 2001-03-20 Alan Modra <alan@linuxcare.com.au>
531
532 * Makefile.in (OBJS): Remove hashtab.o.
533
534 2001-03-19 Stan Shebs <shebs@apple.com>
535
536 * objc/objc-act.c (maybe_objc_method_name): Remove, never called.
537 * c-lang.c (maybe_objc_method_name): Ditto.
538 * c-tree.h (maybe_objc_method_name): Remove decl.
539
540 2001-03-19 Tom Tromey <tromey@redhat.com>
541
542 * gcc.c (init_gcc_specs): Fix comment.
543
544 2001-03-19 Mark Mitchell <mark@codesourcery.com>
545
546 Compute DECL_ASSEMBLER_NAME lazily.
547 * tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
548 (DECL_ASSEMBLER_NAME_SET_P): New macro.
549 (SET_DECL_ASSEMBLER_NAME): Likewise.
550 (COPY_DECL_ASSEMBLER_NAME): Likewise.
551 (set_decl_assembler_name): Declare.
552 (lang_set_decl_assembler_name): Likewise.
553 * tree.c (lang_set_decl_assembler_name): New variab.e
554 (set_decl_assembler_name): New function.
555 (init_obstacks): Set lang_set_decl_assembler_name.
556 (build_decl): Don't set DECL_ASSEMBLER_NAME.
557 * c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
558 COPY_DECL_ASSEMBLER_NAME, etc. Don't set DECL_ASSEMBLER_NAME
559 where it's not necessary.
560 (builtin_function): Likewise.
561 (finish_decl): Likewise.
562 * dbxout.c (dbxout_type_methods): Likewise.
563 * ggc-common.c (ggc_mark_trees): Likewise.
564 * profile.c (output_func_start_profiler): Likewise.
565 * varasm.c (make_decl_rtl): Likewise.
566
567 * cse.c (find_comparison_args): Update documentation. Fix
568 mishandling of COMPARE operations.
569
570 * tree.def (ABS_EXPR): Add documentation.
571 * fold-const.c (fold): Improve folding of ABS_EXPRs.
572
573 2001-03-19 Zack Weinberg <zackw@stanford.edu>
574
575 * Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
576
577 2001-03-19 Jakub Jelinek <jakub@redhat.com>
578
579 * crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
580 Remove ia32 linux PIC kludge and move it...
581 * config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
582
583 Mon Mar 19 18:53:54 CET 2001 Jan Hubicka <jh@suse.cz>
584
585 * i386.md (absdf2 expander): Fix 64bit case.
586
587 2001-03-19 Brad Lucier <lucier@math.purdue.edu>
588
589 * Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
590
591 2001-03-16 Andrew Haley <aph@cambridge.redhat.com>
592
593 * config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
594
595 2001-03-19 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
596
597 * README.X11: Remove obsolete file.
598
599 2001-03-18 Anthony Green <green@redhat.com>
600
601 * config/pj/pj.h: Remove some trailing commas.
602 (ASM_SPEC): Use -EB and -EL, not -mb and -ml.
603
604 2001-03-18 Richard Henderson <rth@redhat.com>
605
606 * defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
607 * calls.c: ... here.
608 * combine.c, expr.c, final.c, function.c toplev.c: Don't provide
609 defaults for them here.
610
611 2001-03-17 Anthony Green <green@redhat.com>
612
613 * config/pj/lib1funcs.S: Fix broken comment.
614 * config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
615 labels with '.'.
616
617 2001-03-18 Joseph S. Myers <jsm28@cam.ac.uk>
618
619 * gcc.texi: Remove obsolete information relating to build and
620 installation problems with enquire or the Pyramid C compiler.
621
622 2001-03-17 Richard Henderson <rth@redhat.com>
623
624 * dwarf2out.c (queue_reg_save): New.
625 (flush_queued_reg_saves, clobbers_queued_reg_save): New.
626 (dwarf2out_frame_debug_expr): Call queue_reg_save instead of
627 dwarf2out_reg_save.
628 (dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
629 (cfa, cfa_store, cfa_temp): Make static.
630 * final.c (final_scan_insn): Always call dwarf2out_frame_debug.
631
632 2001-03-17 Richard Henderson <rth@redhat.com>
633
634 * integrate.h (struct inline_remap): Add local_return_label.
635 * integrate.c (expand_inline_function): Initialize it and emit
636 it after copy_insn_notes.
637 (copy_insn_list): Don't store local_return_label here.
638 (copy_insn_notes): New function split out from copy_insn_list.
639
640 2001-03-17 Richard Henderson <rth@redhat.com>
641
642 * dwarf2out.c (lookup_filename): Emit .file if the assembler
643 is generating .debug_line.
644 (dwarf2out_init): Add main_input_filename to the file table first.
645 * configure.in (as_dwarf2_debug_line): Test with file number 1
646 instead of file number 0.
647
648 Sat Mar 17 11:52:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
649
650 * combine.c (undobuf): Remove field previous_undos; all refs deleted.
651 (gen_rtx_combine): Deleted; all references changed as appropriate.
652 (gen_unary): Deleted; all refs changed to call simplify_gen_unary.
653
654 * print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
655
656 2001-03-17 David Billinghurst <David.Billinghurst@riotinto.com>
657
658 * config/i386/xm-cygwin.h: Include <sys/cygwin.h. Remove unused
659 variable.
660
661 2001-03-16 Jim Wilson <wilson@redhat.com>
662
663 * config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
664 then set it to LOC_REG (79) instead of aborting.
665
666 2001-03-16 Phil Edwards <pme@sources.redhat.com>
667
668 * gccbug.in: Remove high priority.
669
670 2001-03-16 Richard Henerson <rth@redhat.com>
671
672 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
673 output with a space instead of deleting it.
674 * configure: Regenerate.
675
676 2001-03-16 Zack Weinberg <zackw@stanford.edu>
677
678 * aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
679 handles the gory details of converting an object file into
680 something that's safe to grep.
681 (gcc_AC_C_COMPILE_BIGENDIAN): Rename to
682 gcc_AC_C_COMPILE_ENDIAN. Use gcc_AC_EXAMINE_OBJECT. Put
683 newlines at either end of the string we're looking for.
684 Make 'checking ...' message less stilted.
685 (gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT. Handle
686 ARM in-memory layout and its hypothetical converse. Don't
687 define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
688 HOST_WORDS_BIG_ENDIAN.
689
690 * configure.in: Adjust for renamed macro. Move
691 gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
692 * configure, config.in: Regenerate.
693
694 2001-03-16 Laurynas Biveinis <lauras@softhome.net>
695
696 * fixinc/Makefile.in: Set SHELL.
697
698 2001-03-16 Laurynas Biveinis <lauras@softhome.net>
699
700 * fixinc/fixincl.c (fix_with_system): Quote file names before
701 passing them to shell.
702
703 2001-03-16 Laurynas Biveinis <lauras@softhome.net>
704
705 * Makefile.in: Use fix-header$(build_exeext) instead
706 of fix-header.
707
708 2001-03-16 Richard Henderson <rth@redhat.com>
709
710 * dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
711 (LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
712 (size_of_line_prolog): Remove.
713 (output_line_info): Compute prologue size via label difference.
714 (lookup_filename): Return "unspecified" for <internal> and <built-in>.
715
716 * configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
717 assembler error when redefining file numbers.
718 * config.in, configure: Rebuild.
719
720 * dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
721 (dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
722 (dw2_asm_output_delta_uleb128): Likewise.
723 (dw2_asm_output_delta_sleb128): Similarly.
724 (dw2_asm_output_data_sleb128): Similarly. Print number in decimal.
725
726 2001-03-16 Michael Meissner <meissner@redhat.com>
727
728 * mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
729 warnings.
730 (BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
731 warnings.
732 (BITMASK_LOWER16): Replacement for 0x0000ffff.
733
734 * mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
735 instead of 0xffff0000/0x0000ffff to avoid warnings about constants
736 being unsigned in ISO C and signed in traditional.
737 (expand_prologue): Ditto.
738 (RA_MASK): Use BITMASK_HIGH to avoid warnings.
739
740 * mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
741 warnings.
742 (divsi3,divdi3): Ditto.
743 (modsi3,moddi3): Ditto.
744 (fix_truncdfsi2,fix_truncdfdi2): Ditto.
745 (fix_truncsfsi2,fix_truncsfdi2): Ditto.
746 (movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
747 warnings.
748
749 Fri Mar 16 14:47:57 CET 2001 Jan Hubicka <jh@suse.cz>
750
751 * i386.c (ix86_expand_fp_movcc): Do not attempt to construct
752 SSE based conditional moves on LTGT/UNEQ conditions;
753 Canonicalize EQ to NE.
754 * i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
755 (sse_mov?fcc_ne): New.
756
757 * i386-protos.h (sign_extended_value, zero_extended_value): Declare.
758
759 2001-03-16 Alexandre Oliva <aoliva@redhat.com>
760
761 * config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
762 register may be dead.
763
764 2001-03-16 Brad Lucier <lucier@math.purdue.edu>
765
766 * Makefile.in (hash.o): Depend on CONFIG_H.
767
768 2001-03-15 Mark Mitchell <mark@codesourcery.com>
769
770 * dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
771
772 2001-03-15 Richard Henderson <rth@redhat.com>
773
774 * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
775 (ASM_OUTPUT_DWARF_PCREL): New.
776 * config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
777
778 2001-03-16 Alexandre Oliva <aoliva@redhat.com>
779
780 * cppfiles.c (stack_include_file): Use MAX of sysp.
781
782 2001-03-15 Steve Ellcey <sje@cup.hp.com>
783
784 * config.gcc (ia64*-*-hpux*): New case.
785 * config/ia64/hpux.h: New file for HP-UX support.
786 * config/ia64/t-hpux: New file for HP-UX support.
787
788 2001-03-16 Bruce Korb <bkorb@gnu.org>, Alexandre Oliva <aoliva@redhat.com>
789
790 * fixinc/inclhack.def (irix_stdio_va_list): New.
791 * fixinc/fixincl.x: Rebuilt.
792
793 2001-03-15 Richard Henderson <rth@redhat.com>
794
795 * dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
796 if provided by the target.
797 (dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
798 (dw2_asm_output_addr): New.
799 * dwarf2asm.h (dw2_asm_output_addr): Declare.
800 * dwarf2out.c (output_cfi): Use it for program addresses.
801 (output_call_frame_info, output_die): Likewise.
802 (output_aranges, output_line_info): Likewise.
803
804 2001-03-15 Bruce Korb <bkorb@gnu.org>
805
806 * gcc.c(main): make more rigorous
807 * collect2.c(main): guard against ignoring SIGCHLD
808 * protoize.c(main): ditto
809 * gcc/fixinc/fixincl.c(initialize): ditto
810
811 2001-03-15 Mark Mitchell <mark@codesourcery.com>
812
813 * sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
814 (sdbout_parms): Likewise.
815
816 Thu Mar 15 12:57:14 2001 Jeffrey A Law (law@cygnus.com)
817
818 * reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
819 "widen" a destination that is already wider than a word. Also do
820 not widen if LOAD_EXTEND_OP is NIL for the given mode.
821
822 2001-03-15 Bernd Schmidt <bernds@redhat.com>
823
824 * config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
825
826 Thu Mar 15 11:30:31 EST 2001 John Wehle (john@feith.com)
827
828 * i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
829
830 Thu Mar 15 11:24:29 EST 2001 John Wehle (john@feith.com)
831
832 * i960.h (i960_maxbitalignment,
833 i960_last_maxbitalignment): Declare.
834 * i960.c (i960_maxbitalignment,
835 i960_last_maxbitalignment): Make global.
836 (process_pragma): Delete.
837 (i960_pr_align, i960_pr_noalign): Move from here ...
838 * i960-c.c: ... to this new file.
839 * t-960bare (i960-c.o): New rule.
840 * t-vxworks960 (i960-c.o): Likewise.
841 * config.gcc (i960-*-*): Define c_target_objs and
842 cxx_target_objs.
843
844 2001-03-15 Bernd Schmidt <bernds@redhat.com>
845
846 * cselib.c (hash_rtx): For REG and MEM, just use value of expression
847 without adding in rtx code and mode.
848
849 * alias.c (init_alias_analysis): Don't use any rtx whose value
850 varies as a known value.
851 Delete a superfluous test.
852
853 * config/ia64/ia64.c (maybe_rotate): New function, broken out of
854 ia64_sched_reorder.
855 (ia64_sched_reorder): Call maybe_rotate; also rotate after
856 scheduling a stop bit.
857 (ia64_emit_nops): Correctly handle ASMs.
858
859 2001-03-15 Mark Mitchell <mark@codesourcery.com>
860
861 * varasm.c (assemble_variable): Use DECL_RTL_SET_P.
862
863 2001-03-15 Neil Booth <neil@daikokuya.demon.co.uk>
864
865 * cpp.texi: Update documentation for -include and -imacros.
866 * cppfiles.c (struct include_file): Remove "defined" memeber.
867 (find_or_create_entry): Make a copy of the file name, and
868 simplify it.
869 (open_file): Update to ensure we use the simplified filename.
870 (stack_include_file): Don't set search_from.
871 (cpp_included): Don't simplify the path name here.
872 (find_include_file): New prototype. Call search_from to
873 get the start of the "" include chain. Don't simplify the
874 filenames here.
875 (_cpp_execute_include): New prototype. Move diagnostics to
876 do_include_common. Update.
877 (_cpp_pop_file_buffer): Don't set defined.
878 (search_from): New prototype. Use the preprocessor's cwd
879 for files included from the command line.
880 (read_name_map): Don't simplify the pathname here.
881 * cpphash.h (enum include_type): New.
882 (struct buffer): Delete search from. New search_cached.
883 (_cpp_execute_include): Update prototype.
884 * cppinit.c (do_includes): Use _cpp_execute_include.
885 * cpplib.c (do_include_common): New function.
886 (do_include, do_include_next, do_import): Use it.
887
888 2001-03-14 Mark Mitchell <mark@codesourcery.com>
889
890 * varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
891 contents of the RTL, to determine the name of the object.
892
893 2001-03-14 Mark Mitchell <mark@codesourcery.com>
894
895 * tree.h (DECL_RTL): Allocate RTL lazily.
896 (SET_DECL_RTL): New macro.
897 (DECL_RTL_SET_P): Likewise.
898 (COPY_DECL_RTL): Likewise.
899 (DECL_RTL_IF_SET): Likewise.
900 * varasm.c (make_decl_rtl): Add assertions about the kind of
901 declaration we are processing.
902 * c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
903 (start_decl): Likewise.
904 (finish_decl): Likewise.
905 * c-semantics.c (emit_local_var): Likewise.
906 * calls.c (expand_call): Likewise.
907 * dbxout.c (dbxout_symbol): Likewise.
908 * emit-rtl.c (unshare_all_rtl): Likewise.
909 (unshare_all_decls): Likewise.
910 (reset_used_decls): Likewise.
911 * expr.c (store_constructor): Likewise.
912 (safe_from_p): Likewise.
913 (expand_expr): Likewise.
914 * function.c (put_var_into_stack): Likewise.
915 (instantiate_decls_1): Likewise.
916 (assign_parms): Likewise.
917 (expand_function_start): Likewise.
918 (expand_function_end): Likewise.
919 * ggc-common.c (gcc_mark_trees): Likewise.
920 * integrate.c (function_cannot_inline_p): Likewise.
921 (copy_decl_for_inlining): Likewise.
922 (expand_inline_function): Likewise.
923 (integrate_parm_decls): Likewise.
924 (integrate_decl_tree): Likewise.
925 * print-tree.c (print_node): Likewise.
926 * reg-stack.c (stack_result): Likewise.
927 * stmt.c (label_rtx): Likewise.
928 (expand_return): Likewise.
929 (expand_decl): Likewise.
930 (expand_decl_cleanup): Likewise.
931 (expand_anon_union_decl): Likewise.
932 * toplev.c (check_global_declarations): Likewise.
933 (rest_of_decl_compilation): Likewise.
934 * tree.c (simple_cst_equal): Likewise.
935 * objc/objc-act.c (generate_static_references): Likewise.
936
937 2001-03-14 Zack Weinberg <zackw@stanford.edu>
938
939 * aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
940 gcc_AC_C_FLOAT_FORMAT): New macros.
941 * configure.in: Add AC_PROG_CPP after CC tests;
942 gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
943 tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
944 * configure, config.in: Regenerate.
945
946 * config/a29k/xm-a29k.h, config/arc/xm-arc.h,
947 config/arm/xm-arm.h, config/c4x/xm-c4x.h,
948 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
949 config/i370/xm-linux.h, config/i370/xm-oe.h,
950 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
951 config/m68k/xm-m68k.h, config/mips/xm-mips.h,
952 config/pa/xm-linux.h, config/pa/xm-pa.h,
953 config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
954 config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
955 config/sparc/xm-sparc.h, config/vax/xm-vax.h,
956 config/we32k/xm-we32k.h: Delete.
957
958 * config/i370/xm-mvs.h, config/m88k/m88k.h,
959 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
960 config/vax/xm-vms.h: Don't define any of:
961 HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
962
963 * config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
964
965 * config.gcc: Remove references to deleted files.
966 (i370-*-opened*): Use i370/xm-mvs.h (which now defines only
967 FATAL_EXIT_CODE, which is the same between oe and mvs).
968
969 2001-03-14 DJ Delorie <dj@redhat.com>
970 Vladimir Makarov <vmakarov@redhat.com>
971
972 * config/i960/i960.c (i960_function_prologue): Compute size of
973 frame according to number of registers actually saved there.
974
975 2001-03-14 Richard Henderson <rth@redhat.com>
976
977 * expr.c (emit_move_insn_1): Fix else if around #endif.
978
979 Wed Mar 14 22:39:12 CET 2001 Jan Hubicka <jh@suse.cz>
980 Vojtech Pavlik
981
982 * md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
983 constraints.
984
985 Wed Mar 14 22:26:10 CET 2001 Jan Hubicka <jh@suse.cz>
986
987 * i386.c (ix86_cmodel_string, ix86_cmodel): Define.
988 (override_options): Parse cmodel string.
989 (x86_64_sign_extended_value, x86_64_zero_extended_value): New.
990 * i386.h (TARGET_OPTIONS): Add "cmodel".
991 (EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
992 (enum cmodel): New.
993 (ix86_cmodel_string, ix86_cmodel): Declare.
994
995 Wed Mar 14 22:26:54 CET 2001 Jan Hubicka <jh@suse.cz>
996
997 Spot by Matt Kraai:
998 * i386.h (GENERAL_REG_P): Add missing REG_P.
999
1000 2001-03-14 Laurynas Biveinis <lauras@softhome.net>
1001
1002 * configure.in: Use $gcc_cv_as instead of $as.
1003 * configure: Regenerated.
1004
1005 2001-03-14 Neil Booth <neil@daikokuya.demon.co.uk>
1006
1007 * cppfiles.c (stack_include_file): Only increase the include
1008 count if we actually process the file properly, as opposed
1009 to treating it as length zero. Only call read_include_file
1010 if not DO_NOT_REREAD. Handle the -H include file output
1011 here.
1012 (read_include_file): Remove now redundant DO_NOT_REREAD check.
1013 (cpp_included, find_include_file): Simplify pathnames after
1014 remapping them. If remapping, don't use the remapped file
1015 name's buffer as our scratch buffer.
1016 (cpp_pop_file_buffer): Replace the multiple include macro
1017 only if it isn't yet set.
1018 (read_name_map): Simplify remapped names when reading in.
1019 (remap_filename): Move code to code path that uses it.
1020 (_cpp_simplify_pathname): Return the input pointer.
1021 * cpphash.h (_cpp_simplify_pathname): Update prototype.
1022
1023 2001-03-14 Mark Mitchell <mark@codesourcery.com>
1024
1025 * expr.c (expand_expr): Revove bogus conditional.
1026
1027 Wed Mar 14 19:29:50 CET 2001 Jan Hubicka <jh@suse.cz>
1028
1029 * expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
1030
1031 2001-03-14 Jakub Jelinek <jakub@redhat.com>
1032
1033 * reg-stack.c (stack_result): Unconditionally use
1034 FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
1035
1036 Wed Mar 14 16:36:25 CET 2001 Jan Hubicka <jh@suse.cz>
1037
1038 * expr.c (emit_move_insn_1): Split push of complex value when
1039 no suitable push instruction exist.
1040
1041 * i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
1042 instead of QI_REG_P.
1043
1044 Tue Mar 13 22:22:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1045
1046 * alias.c (handled_component_p, can_address_p): New functions.
1047 (get_alias_set): Use them.
1048
1049 2001-03-13 Jim Wilson <wilson@redhat.com>
1050
1051 * config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
1052 from 80 in try_locals code.
1053 (ia64_expand_prologue): Add comment pointing to find_gr_spill change.
1054
1055 2001-03-13 Zack Weinberg <zackw@stanford.edu>
1056
1057 * aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
1058 gcc_AC_C_LONG_LONG): New.
1059 * configure.in: Use them. Probe the size of short, int, long,
1060 and long long/__int64 if we have them. Move all the AC_C_*
1061 checks together, except gcc_AC_C_CHAR_BIT which has to go
1062 after AC_CHECK_HEADERS(limits.h).
1063 Take hwint.h out of host_xm_file and build_xm_file.
1064
1065 * hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
1066 HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
1067 and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
1068 Move the HOST_WIDEST_INT setup logic here from system.h.
1069 Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
1070 defined.
1071 * system.h: Include hwint.h after limits.h. HOST_WIDEST_INT
1072 is now handled by hwint.h.
1073
1074 * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
1075 config/c4x/xm-c4x.h, config/i370/xm-oe.h,
1076 config/ia64/xm-ia64.h: Don't define any of:
1077 HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
1078 HOST_BITS_PER_LONGLONG.
1079
1080 * config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
1081 config/h8300/xm-h8300.h, config/mips/iris6.h,
1082 config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
1083 config/sparc/xm-sp64.h: Delete.
1084 * config.gcc: Remove references to deleted files.
1085
1086 * config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
1087 HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
1088 * config/i370/xm-linux.h: Clarify floating-point situation in
1089 a comment.
1090
1091 2001-03-13 Neil Booth <neil@daikokuya.demon.co.uk>
1092
1093 * cppfiles.c (NO_INCLUDE_PATH): New macro.
1094 (find_include_file): Decide here which part of the include
1095 chain to start the search. Complain about an empty include
1096 chain in all cases apart from an abolsute file name.
1097 (_cpp_execute_include): Don't choose the search chain here.
1098 Don't call handle_missing_include in the case of an empty
1099 include chain.
1100 (_cpp_compare_file_date): Don't choose the search chain here.
1101 * cpplib.c (do_include_next): Move the in-main-file diagnostic
1102 here from _cpp_execute_include. Behave like #include if
1103 we're in the main file.
1104
1105 2001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1106
1107 * system.h (malloc, realloc, calloc, strdup): Only poison these
1108 tokens when IN_GCC is defined.
1109
1110 Tue Mar 13 14:38:44 CET 2001 Jan Hubicka <jh@suse.cz>
1111
1112 * i386.md (abs?f expander): Support SSE case.
1113 (abd?f_if): Add new "USE"; add splitters.
1114
1115 2001-03-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1116
1117 * cpp.texi (poison): Explain the macro expansion exception.
1118
1119 2001-03-13 Jakub Jelinek <jakub@redhat.com>
1120
1121 * expr.c (store_expr): Add dont_store_target. If temp is already in
1122 target before copying to reg, don't store it into target again.
1123
1124 2001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
1125
1126 * cppinternals.texi: Update for file handling.
1127
1128 2001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
1129
1130 * emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
1131 2001-02-24 which broke building the Java library.
1132 * function.c (identify_blocks): Likewise.
1133 (all_blocks): Likewise.
1134 * integrate.c (integrate_decl_tree): Likewise.
1135 * print-tree.c (print_node): Likewise.
1136 * tree.h (BLOCK_NUMBER): Likewise.
1137 (struct tree_block): Likewise.
1138
1139 2001-03-12 David Edelsohn <edelsohn@gnu.org>
1140
1141 * rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
1142 __WCHAR_TYPE__ definition.
1143 (WCHAR_TYPE_SIZE): #undef before #define.
1144
1145 2001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
1146
1147 * cppfiles.c: Update comments.
1148 (destroy_include_file_node): Rename destroy_node.
1149 (find_or_create_entry): New function.
1150 (open_file, _cpp_fake_include): Use it.
1151 (handle_missing_header): New function, broken out of
1152 _cpp_execute include. Don't segfault if there is no
1153 system or quoted path.
1154 (_cpp_execute_include): Use handle_missing_header.
1155
1156 2001-03-12 Jeffrey Oldham <oldham@codesourcery.com>
1157
1158 * jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
1159 2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
1160
1161 Mon Mar 12 14:05:32 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1162
1163 * flow.c (insn_dead_p): Don't consider two memrefs equivalent
1164 unless anti_dependence says they are.
1165 * alias.c (objects_must_conflict): If neither has a type specified,
1166 they must conflict.
1167
1168 2001-03-12 Neil Booth <neil@daikokuya.demon.co.uk>
1169 David Billinghurst <David.Billinghurst@riotinto.com>
1170
1171 * config/mips/iris5.h: Change WCHAR_TYPE to int.
1172
1173 Mon Mar 12 16:32:21 CET 2001 Jan Hubicka <jh@suse.cz>
1174
1175 * i386.md (trunctfdf2_2): Rename missnamed pattern.
1176 (*_one_bit): Remove type on the match_operand in attributes.
1177
1178 Mon Mar 12 16:27:56 CET 2001 Jan Hubicka <jh@suse.cz>
1179
1180 * i386.c: Commit forgotten hunk in previous patch.
1181 (regclass_map): Add extended registers.
1182 (dbx_register_map): Add missing frame register.
1183
1184 Mon Mar 12 15:41:08 CET 2001 Jan Hubicka <jh@suse.cz>
1185
1186 * i386.md (all XFmode patterns except swapxf): Disable for 64bit.
1187
1188 * i386.md (x86_sahf_1): Disable for 64bit.
1189 (popsi*, pophi*): Likewise.
1190 (pushqi, pushhi): Likewise.
1191 (movdi, pushdi): Likewise.
1192 (zero extend DImode splitter): Likewise.
1193 (adddi, minusdi splitter): Likewise.
1194 (umulsidi): Likewise.
1195 (umulsi): New.
1196 (mulsidi): Disable for 64bit
1197 (lshift:DI/ashift:DI): Disable for 64bit.
1198 (loop patterns): Likewise.
1199 (call_pop, call_value_pop expanders and patterns): Likewise.
1200 (prologue_get_pc): Likewise.
1201 (leave): Likewise.
1202 (fcmovDI pattern and splitter): Likewise.
1203 (movdfcc_1_rex64): New.
1204
1205 Mon Mar 12 15:16:36 CET 2001 Jan Hubicka <jh@suse.cz>
1206
1207 * i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
1208 (MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
1209 (HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
1210 (STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
1211 (PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
1212 (LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
1213 (SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
1214 (PUSH_ROUNDING): x86_64 rounds to 64bits.
1215 (CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
1216 (REGPARM_MAX): Set to 6 for x86_64.
1217 (SSE_REGPARM_MAX): Set to 16 for x86_64.
1218 * i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
1219 registers.
1220
1221 * (patterns that does use upper halves): Update constraints
1222 'q' to 'Q' and 'r' to 'R'.
1223 (cmpqi_ext_1): Disable for 64bit.
1224 (cmpqi_ext_3_insn): Likewise.
1225 (movqi_extzv_1): Likewsie.
1226 (addqi_ext_1): Liekwsie
1227 (testqi_ext_1): Liekwsie
1228 (andqi_ext_1): Liekwsie
1229 (xorqi_ext_1): Liekwsie
1230 (cmpqi_ext_1_rex64): New.
1231 (cmpqi_ext_3_insn_rex64): Likewise.
1232 (movqi_extzv_1_rex64): Likewsie.
1233 (addqi_ext_1_rex64): Liekwsie
1234 (testqi_ext_1_rex64): Liekwsie
1235 (andqi_ext_1_rex64): Liekwsie
1236 (xorqi_ext_1_rex64): Liekwsie
1237
1238 2001-03-11 Zack Weinberg <zackw@stanford.edu>
1239
1240 * configure.in: Move check for unsigned enumerated bitfields
1241 to macro in aclocal.m4. Disable it for now.
1242 * configure, config.in: Regenerate.
1243 * system.h: Don't do anything with ONLY_INT_FIELDS. Use the
1244 unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
1245 * varasm.c (struct rtx_const): Use ENUM_BITFIELD(). Move enum
1246 kind above its first use.
1247
1248 * config/xm-interix.h, config/alpha/xm-alpha.h,
1249 config/i370/xm-linux.h, config/i386/xm-beos.h,
1250 config/i386/xm-mingw32.h, config/mips/xm-mips.h,
1251 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1252 config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
1253 Don't define ONLY_INT_FIELDS under any circumstances.
1254
1255 * config/pa/xm-pa.h: Don't define __BSD_NET2__.
1256
1257 * config/pa/xm-pahpux.h, config/pa/xm-papro.h,
1258 config/sparc/xm-sysv4.h: Delete - now identical with some
1259 other xm header.
1260 * config.gcc (hppa targets): Replace xm-pahpux.h and
1261 xm-papro.h with implicit xm-pa.h.
1262 (sparc targets): Replace xm-sysv4.h with implicit or explicit
1263 xm-sparc.h.
1264
1265 2001-03-12 Aldy Hernandez <aldyh@redhat.com>
1266
1267 * reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
1268 before reload_cse_noop_set_p.
1269
1270 2001-03-11 Zack Weinberg <zackw@stanford.edu>
1271
1272 * config.gcc: Where xm-host.h used to include another
1273 xm-host.h, list the nested header directly in xm_file. Remove
1274 references to deleted files. Can now use sparc/xm-sp64.h for
1275 sparcv9-*-solaris*.
1276
1277 * config/xm-linux.h, config/arm/xm-linux.h,
1278 config/i386/xm-dos.h, config/i386/xm-gnu.h,
1279 config/i386/xm-linux.h, config/i386/xm-openbsd.h,
1280 config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
1281 config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
1282 config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
1283 Delete.
1284
1285 * config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
1286 * config/mips/xm-iris5.h: Don't include mips/xm-mips.h. Don't
1287 bother to wrap #undef in #ifdef.
1288 * config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
1289 Don't include xm-linux.h.
1290 * config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
1291
1292 * configure.in: Wrap regexps using [] in changequote block.
1293 Use expr : not echo | grep. Simplify regexps.
1294 * configure: Regenerate.
1295
1296 56 xm-files remain, 22 xm-arch.
1297
1298 2001-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1299
1300 * mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
1301 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
1302 (local_index, local_rindex): Delete, use strchr/strrchr instead.
1303 (copy_object): Fix format specifier vs argument mismatch.
1304
1305 * mips-tdump.c: Make local functions static.
1306 (rindex): Don't #undef.
1307 (__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
1308 (fatal, fancy_abort): Delete.
1309 (read_seek): Avoid signed/unsigned compare.
1310
1311 Sun Mar 11 17:01:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1312
1313 * combine.c (try_combine): Fix error in change to try original
1314 register.
1315 (gen_rtx_combine): Do same as gen_rtx for now.
1316
1317 2001-03-11 Zack Weinberg <zackw@stanford.edu>
1318
1319 * configure.in: AC_SUBST xm_defines.
1320 * configure: Regenerate.
1321 * Makefile.in: Set DEFINES=$(xm_defines) when building
1322 tconfig.h.
1323
1324 2001-03-11 Neil Booth <neil@daikokuya.demon.co.uk>
1325
1326 * cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
1327 (cpp_included, find_include_file): Update.
1328 (_cpp_compare_file_date): Make else unconditional.
1329
1330 2001-03-10 kaz Kojima <kkojima@rr.iij4u.or.jp>
1331
1332 * config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
1333
1334 2001-03-10 Toshiyasu Morita <toshiyasu.morita@hsa.hitachi.com>
1335
1336 * config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
1337 * config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
1338
1339 Sat Mar 10 22:42:05 2001 Alexandre Oliva <aoliva@redhat.com>
1340
1341 * tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
1342 if it's a record type.
1343
1344 Sat Mar 10 17:52:54 2001 Christopher Faylor <cgf@cygnus.com>
1345
1346 * config/i386/cygwin.h: Make ../w32api a system directory. Reorganize
1347 mingw includes slightly.
1348
1349 2001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1350
1351 * system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
1352 #undef token before poisoning it.
1353
1354 2001-03-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1355
1356 * alpha.c (check_float_value): Use memcpy, not bcopy.
1357
1358 * m32r.c (m32r_sched_reorder): Likewise.
1359
1360 * vax.c (check_float_value): Likewise.
1361
1362 2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
1363
1364 * toplev.c (file_name_nondirectory): Remove.
1365 * toplev.h: Similarly.
1366 * dwarf2out.c (compute_section_prefix): Use lbasename instead
1367 of file_name_nondirectory.
1368
1369 Sat Mar 10 10:36:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1370
1371 * mips-tdump.c (read_seek): Call xmalloc, not malloc.
1372 * mips-tfile.c: Don't #undef rindex; not used.
1373
1374 Sat Mar 10 14:34:59 CET 2001 Jan Hubicka <jh@suse.cz>
1375
1376 * i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
1377 (dbx64_register_map): Declare.
1378 (RETURN_ADDR_RTX): Fix for 64bit.
1379 (DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
1380 (INCOMING_FRAME_SP_OFFSET): Set to 8.
1381 * i386.c (dbx64_register_map): New global array.
1382 * beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
1383 linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
1384 for 64bits.
1385
1386 2001-03-10 Neil Booth <neil@daikokuya.demon.co.uk>
1387
1388 * cppfiles.c (search_from): Use lbasename.
1389 * mkdeps.c (deps_add_default_target): Use lbasename.
1390
1391 2001-03-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1392
1393 * fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
1394 xcalloc in lieu of malloc, realloc & calloc.
1395
1396 * gencheck.c (xmalloc): Use really_call_malloc, not malloc.
1397
1398 * gengenrtl.c (xmalloc): Likewise.
1399
1400 * gensupport.c (xcalloc, xrealloc, xmalloc): Use the
1401 really_call_* memory allocation routines.
1402
1403 * stmt.c (check_for_full_enumeration_handling): Use
1404 really_call_calloc, not calloc.
1405
1406 * system.h (really_call_malloc, really_call_calloc,
1407 really_call_realloc): Define.
1408 (malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
1409
1410 Fri Mar 9 18:39:19 2001 Jeffrey A Law (law@cygnus.com)
1411
1412 * pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
1413
1414 2001-03-09 Nicola Pero <n.pero@mi.flashnet.it>
1415
1416 * configure: Rebuilt.
1417 * configure.in: Only use `lang_requires' for languages athat are
1418 actually enabled.
1419
1420 2001-03-09 Joseph S. Myers <jsm28@cam.ac.uk>
1421
1422 * invoke.texi: Fix typo.
1423 * gcc.1: Regenerate.
1424
1425 2001-03-09 Zack Weinberg <zackw@stanford.edu>
1426
1427 * configure.in: Prune nonexistent files from build_xm_file,
1428 xm_file, and host_xm_file lists. Warn unless they're
1429 $cpu/xm-$cpu.h.
1430 Don't generate *config.h here.
1431 AC_SUBST all variables needed to generate *config.h.
1432 * configure: Regenerate.
1433 * mkconfig.sh: New helper script, from code removed from
1434 configure.in.
1435 * Makefile.in: Zap all MALLOC variables - no longer used
1436 anywhere, and malloc.c doesn't exist.
1437 Substitute in variables needed to generate *config.h.
1438 Stop lying about the dependencies contained in CONFIG_H and
1439 GCONFIG_H.
1440 (HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
1441 (config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
1442 cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
1443 (all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
1444 $(TM_P_H), etc. as appropriate.
1445
1446 * config.gcc: Zap references to deleted files.
1447 * ggc-none.c: Don't include rtl.h or tm_p.h.
1448
1449 * config/i386/xm-beos.h, config/i386/xm-dgux.h,
1450 config/i386/xm-djgpp.h, config/i386/xm-dos.h,
1451 config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
1452 config/i386/xm-linux.h, config/i386/xm-linux.h,
1453 config/i386/xm-next.h, config/i386/xm-openbsd.h,
1454 config/i386/xm-sun.h, config/i386/xm-sysv3.h:
1455 Don't include i386/xm-i386.h.
1456
1457 * config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
1458 config/i386/xm-i386.h, config/i860/xm-i860.h,
1459 config/i960/xm-i960.h, config/mcore/xm-mcore.h,
1460 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1461 config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
1462 Delete (empty except comments, #includes of other deleted
1463 files, and macros used nowhere).
1464
1465 Fri Mar 9 20:05:27 CET 2001 Jan Hubicka <jh@suse.cz>
1466
1467 * i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
1468 independent on TARGET_FLAGS.
1469
1470 Fri Mar 9 19:52:52 CET 2001 Jan Hubicka <jh@suse.cz>
1471
1472 * i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
1473
1474 (FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
1475 extended ones.
1476 (CONDITIONAL_REGISTER_USAGE): Set proper values according to
1477 TARGET_64BIT.
1478 (FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
1479 LAST_REX_SSE_REG): define.
1480 (enum reg_class): Add 'LEGACY_REGS'
1481 (REG_CLASS_CONTENTS): Likewise; add extended registers.
1482 (SSE_REGNO_P): Recognize extended registers.
1483 (ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
1484 (REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
1485 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
1486 REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
1487 (REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
1488 REG_OK_FOR_STRREG_P): Remove.
1489 (HI_REGISTER_NAMES): Add extended registers.
1490 (ADDITIONAL_REGISTER_NAMES): Likewise.
1491 (QI_REGISTER_NAMES): Add 8bit extended registers.
1492 (DEBUG_REG): Support extended registers.
1493 * i386.c (regclass_map): Add extended registers.
1494 (dbx_register-map): Likewise.
1495 (svr4_dbx_register_map): Likewise.
1496 (print_reg): Support extended registers.
1497 (print_operand): Support 64bit operands.
1498
1499 Fri Mar 9 19:37:46 CET 2001 Jan Hubicka <jh@suse.cz>
1500
1501 * i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
1502 (BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
1503 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
1504 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
1505 (BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
1506 STACK_BOUNDARY): Set properly for 64bits.
1507 (MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
1508 (EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
1509 (BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
1510 (MOVE_MAX): Set to 16.
1511 (MOVE_MAX_PIECES): 8 for 64bit.
1512 (Pmode): Set to SImode.
1513
1514 Fri Mar 9 09:00:36 2001 Mike Stump <mrs@wrs.com>
1515
1516 * cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
1517
1518 Fri Mar 9 17:38:08 CET 2001 Jan Hubicka <jh@suse.cz>
1519
1520 * i386.h (mask_64bit): New constant.
1521 (target_64bit): New macro.
1522 (target_options): Add '64'/'32'
1523 (target_default): Define.
1524 * cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
1525 isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
1526 unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
1527
1528 Thu Mar 8 23:36:56 2001 Jeffrey A Law (law@cygnus.com)
1529
1530 * config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
1531
1532 Thu Mar 8 23:29:37 2001 John Wehle (john@feith.com)
1533
1534 * rtlanal.c (rtx_varies_p): Check operand 0 of a
1535 LO_SUM unless for_alias is set.
1536
1537 2001-03-08 Stan Shebs <shebs@apple.com>
1538
1539 * objc/objc-act.c: Fix old typos in comments, add comments for
1540 various functions.
1541 (hash_init): Fix file name in error message.
1542 (hash_enter): Ditto.
1543 (hash_add_attr): Ditto.
1544 (continue_class): Ditto.
1545
1546 2001-03-08 Bruce Korb <bkorb@gnu.org>
1547
1548 gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
1549 wait4() can receive the signal.
1550
1551 Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1552
1553 * fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
1554 entities.
1555 * fixinc/fixincl.x: Regenerate.
1556
1557 Thu Mar 8 21:09:10 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1558
1559 * fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
1560 on Tru64 UNIX.
1561 * fixinc/fixincl.x: Regenerate.
1562
1563 2001-03-08 Richard Henderson <rth@redhat.com>
1564
1565 * configure.in (HAVE_AS_LEB128): New assembler check.
1566 * configure, config.in: Rebuilt.
1567
1568 Thu Mar 8 19:54:04 CET 2001 Jan Hubicka <jh@suse.cz>
1569
1570 * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
1571 TFmode too.
1572
1573 2001-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1574
1575 * config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
1576 references to the MAXPATHLEN macro.
1577
1578 * config/alpha/xm-alpha.h, config/arm/xm-arm.h,
1579 config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
1580 the POSIX macro.
1581
1582 * config/i386/xm-gnu.h, config/xm-gnu.h,
1583 config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
1584 config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
1585 config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
1586 and/or unused files.
1587
1588 * config.gcc: Define POSIX in xm_defines as appropriate in lieu of
1589 doing so in various xm-*.h files.
1590
1591 Thu Mar 8 06:32:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1592
1593 * config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
1594
1595 2001-03-08 Alexandre Oliva <aoliva@redhat.com>
1596
1597 * configure.in (enable_shared): Support per-package shared-library
1598 enabling.
1599 * configure: Rebuilt.
1600
1601 2001-03-07 David Edelsohn <edelsohn@gnu.org>
1602
1603 * rs6000.md (cr logic): Add original POWER mnemonic alternative
1604 for crnot. Set operands[5] in splitter.
1605
1606 2001-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1607
1608 * config/i370/xm-mvs.h, config/i370/xm-oe.h,
1609 config/i386/xm-beos.h, config/i386/xm-mingw32.h,
1610 config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
1611 config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
1612 config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
1613 config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
1614 config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
1615 to the USG macro.
1616
1617 * config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
1618 config/i370/xm-i370.h, config/i386/xm-dgux.h,
1619 config/i386/xm-sun.h, config/i386/xm-sysv3.h,
1620 config/m68k/xm-tower.h, config/m68k/xm-aux.h,
1621 config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
1622 config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
1623 config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
1624 config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
1625 config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
1626 config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
1627 Delete unused and/or empty files.
1628
1629 * config.gcc: Define USG in xm_defines as appropriate. Define
1630 POSIX in lieu of xm-svr4.h. Delete all references to the SVR3
1631 macro. Remove deleted xm-* files from $xm_files variable.
1632
1633 2001-03-07 Tom Tromey <tromey@redhat.com>
1634
1635 * configure: Rebuilt.
1636 * configure.in: Allow config-lang.in to set `lang_requires' to list
1637 of other required languages.
1638
1639 2001-03-07 Andrew MacLeod <amacleod@redhat.com>
1640
1641 * config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
1642 after its emitted.
1643 (output_prologue): Use xmalloc not oballoc.
1644 (output_epilog): Free a29k_first_epilogue_insn when finished.
1645 * confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
1646
1647 2001-03-07 Brad Lucier <lucier@math.purdue.edu>
1648
1649 * builtins.c (expand_builtin_mathfn): Check
1650 flag_unsafe_math_optimizations, not flag_fast_math.
1651 (expand_builtin): Likewise
1652 * combine.c (combine_simplify_rtx): Likewise.
1653 (simplify_if_then_else): Likewise.
1654 * cse.c (fold_rtx): Likewise.
1655 * flags.h: Remove flag_fast_math. Add
1656 flag_unsafe_math_optimizations and flag_trapping_math.
1657 * fold-const.c (negate_expr): Check
1658 flag_unsafe_math_optimizations, not flag_fast_math.
1659 (invert_truthvalue): Likewise.
1660 (fold): Likewise. Before associating operands, check that
1661 code == MULT_EXPR, not code != MULT_EXPR.
1662 * ifcvt.c (noce_try_minmax): Check
1663 flag_unsafe_math_optimizations, not flag_fast_math.
1664 (noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
1665 * invoke.texi: Document -funsafe-math-optimizations and
1666 -fno-trapping-math. Change documentation for -ffast-math.
1667 * jump.c (reversed_comparison_code_parts): Likewise.
1668 (rtx_equal_for_thread_p): Likewise.
1669 * optabs.c (emit_conditional_move): Likewise.
1670 * simplify-rtx.c (simplify_binary_operation): Likewise.
1671 (simplify_relational_operation): Likewise.
1672 (simplify_ternary_operation): Likewise.
1673 * toplev.c: Remove flag_fast_math. Add flag_trapping_math and
1674 flag_unsafe_math_optimizations. Remove fast-math entry from f_options.
1675 Add trapping-math and unsafe-math-optimizations entries to f_options.
1676 (set_fast_math_flags): New, sets flags for -ffast-math.
1677 (set_no_fast_math_flags): New, sets flags for -fno-fast-math.
1678 (decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
1679 * toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
1680
1681 * config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
1682 (alpha_emit_conditional_move): Initialize local_fast_math to
1683 flag_unsafe_math_optimizations, not flat_fast_math.
1684 * config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
1685 instead of setting flag_fast_math to 1.
1686 * config/convex/convex.md: Check flag_unsafe_math_optimizations,
1687 not flag_fast_math.
1688 * config/i386/i386.c (override_options): Likewise
1689 * config/i386/i386.md: Likewise.
1690 * config/m68k/m68k.md: Likewise.
1691 * config/mips/mips.md: Likewise.
1692 * config/rs6000/rs6000.c (validate_condition_mode): Likewise.
1693 (rs6000_generate_compare): Likewise.
1694
1695 2001-03-07 Laurynas Biveinis <lauras@softhome.net>
1696
1697 * Makefile.in: Set RANLIB to @RANLIB@.
1698 Remove RANLIB_TEST.
1699
1700 2001-03-07 Laurynas Biveinis <lauras@softhome.net>
1701
1702 * fixinc/inclhack.def (djgpp_wchar_h): New test.
1703 * fixinc/fixincl.x: Regenerated.
1704
1705 2001-03-07 Richard Henderson <rth@redhat.com>
1706
1707 * config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
1708
1709 2001-03-07 Richard Henderson <rth@redhat.com>
1710
1711 * emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
1712 of block notes and exception handling notes.
1713
1714 * lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
1715 * toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
1716 (compile_file): ... here.
1717
1718 2001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1719
1720 * fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
1721
1722 * fixinc/gnu-regex.c: Don't include auto-host.h since we get
1723 config.h now. Include libiberty.h to handle alloca.
1724
1725 2001-03-06 Zack Weinberg <zackw@stanford.edu>
1726
1727 * c-parse.in (yylexname): New function, split out of _yylex.
1728 (objc_rid_sans_at): New table.
1729 (init_reswords): Initialize it.
1730 (_yylex): Give labels clearer names. Handle CPP_ATSIGN by
1731 retrieving the next token and checking it for significance as
1732 an ObjC keyword or string constant.
1733
1734 * cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
1735 * cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
1736
1737 * c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
1738 to CPP_OSTRING.
1739
1740 2001-03-06 Stephen L Moshier <moshier@mediaone.net>
1741
1742 * config/m68k/m68k.c (const_uint32_operand): Accept any
1743 const_int on a 32-bit host.
1744
1745 2001-03-06 Nicola Pero <n.pero@mi.flashnet.it>
1746
1747 * objc/objc-act.c (init_objc): Set save_lang_status,
1748 restore_lang_status, and mark_lang_status.
1749
1750 2001-03-06 Krister Walfridsson <cato@df.lth.se>
1751
1752 * dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
1753
1754 2001-03-06 Neil Booth <neil@daikokuya.demon.co.uk>
1755
1756 * cppinternals.texi: Update.
1757
1758 2001-03-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1759
1760 * config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
1761 config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
1762 config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
1763 config/convex/xm-convex.h, config/d30v/xm-d30v.h,
1764 config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
1765 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
1766 config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
1767 config/i386/xm-i386.h, config/i860/xm-i860.h,
1768 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
1769 config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
1770 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1771 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
1772 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1773 config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
1774 config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
1775 config/romp/xm-romp.h, config/rs6000/xm-beos.h,
1776 config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
1777 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1778 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
1779 config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
1780 config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
1781 match the defaults provided in hwint.h.
1782
1783 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
1784 config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
1785
1786 * config.gcc (xm_file): Don't set to files which are deleted.
1787
1788 * hwint.h: Provide default values for HOST_BITS_PER_*. No longer
1789 guard this file against these macros being undefined.
1790
1791 2001-03-06 Zack Weinberg <zackw@stanford.edu>
1792
1793 * objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
1794 and DECL_DEFER_OUTPUT on the decl we create, before calling
1795 rest_of_decl_compilation.
1796
1797 2001-03-06 Zack Weinberg <zackw@stanford.edu>
1798
1799 * aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
1800 AC_FUNC_ALLOCA.
1801 * configure, config.in: Regenerate.
1802 * config.gcc: Remove references to deleted files.
1803
1804 * genattr.c, genattrtab.c, genextract.c, genoutput.c,
1805 genrecog.c, rtl.c: Do not use alloca anywhere.
1806
1807 * Makefile.in, build-make, system.h, config/x-interix,
1808 config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
1809 config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
1810 config/arc/xm-arc.h, config/arm/xm-arm.h,
1811 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1812 config/h8300/xm-h8300.h, config/i370/x-oe,
1813 config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
1814 config/i386/x-ncr3000, config/i386/x-sco5,
1815 config/i386/xm-dgux.h, config/i860/x-sysv4,
1816 config/i960/xm-i960.h, config/m32r/xm-m32r.h,
1817 config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
1818 config/m68k/x-hp320g, config/m69k/x-mot3300,
1819 config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
1820 config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
1821 config/m68k/xm-mot3300.h, config/m88k/x-dolph,
1822 config/m88k/x-sysv4, config/m88k/x-tekXD88,
1823 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1824 config/mips/x-iris, config/mips/x-iris3,
1825 config/mips/x-sni-svr4, config/mips/x-sysv,
1826 config/mips/xm-iris6.h, config/mips/xm-mips.h,
1827 config/mips/xm-nws3250v4.h, config/pa/x-hpux,
1828 config/pa/x-pa-mpeix, config/pa/xm-pa.h,
1829 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
1830 config/pa/xm-papro.h, config/romp/xm-romp.h,
1831 config/rs6000/x-aix31, config/rs6000/x-aix41,
1832 config/rs6000/x-beos, config/rs6000/x-lynx,
1833 config/rs6000/x-mach, config/rs6000/x-rs6000,
1834 config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
1835 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
1836 config/sparc/x-sysv4, config/sparc/xm-linux.h,
1837 config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
1838 config/vax/xm-vms.h: Eradicate all references to alloca and
1839 related stuff.
1840
1841 * config/xm-alloca.h, config/clipper/x-clix,
1842 config/i386/xm-sysv4.h, config/i860/x-fx2800,
1843 config/i860/x-sysv3, config/m88k/x-sysv3,
1844 config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
1845 (contained only alloca related hacks).
1846
1847 * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
1848 USE_C_ALLOCA.
1849
1850 2001-03-05 Brad Lucier <lucier@math.purdue.edu>
1851
1852 * invoke.texi: Document __FAST_MATH__.
1853
1854 2001-03-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1855
1856 * crtstuff.c: Restore include of auto-host.h.
1857
1858 2001-03-05 Fergus Henderson <fjh@cs.mu.oz.au>
1859
1860 Put main() in a separate file, so that the language
1861 front-end can use a different main().
1862
1863 * main.c: New.
1864 * toplev.c: (main): Rename as toplev_main.
1865 * toplev.h: Declare toplev_main.
1866 * Makefile.in (OBJS): add toplev.o.
1867 (BACKEND): remove toplev.o, add main.o.
1868
1869 2001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
1870
1871 * cppfiles.c (search_from): Special case the empty string.
1872
1873 2001-03-04 Neil Booth <neil@daikokuya.demon.co.uk>
1874
1875 * cppfiles.c (_cpp_execute_include): Don't make a null-terminated
1876 copy of the filename. Don't use CPP_PREV_BUFFER. Don't call
1877 strlen or strcpy; we already know the length.
1878 (_cpp_compare_file_date): Similarly.
1879 * cpphash.h (struct cpp_reader): Delete done_initialising.
1880 (CPP_PREV_BUFFER): Delete.
1881 * cppinit.c (cpp_start_read): Don't set done_initialising.
1882 * cpplex.c (parse_string): Guarantee null-termination.
1883 (_cpp_equiv_toklists): Remove.
1884 * cpplib.c (glue_header_name): Null-terminate.
1885 (do_line): Don't leak memory.
1886 * cpplib.h (BT_WEAK): Delete.
1887 * cppmain.c (cb_ident): Strings are now null-terminated.
1888
1889 2001-03-04 Laurynas Biveinis <lauras@softhome.net>
1890
1891 * gcc.c (convert_filename): Append executable suffix
1892 if NO_AUTO_EXE_SUFFIX is not defined.
1893 * gcc.texi: Document NO_AUTO_EXE_SUFFIX.
1894 * config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
1895
1896 2001-03-03 David O'Brien <obrien@FreeBSD.org>
1897
1898 from 2000-09-06 Zack Weinberg <zack@wolery.cumb.org>
1899 * c-parse.gperf, c-gperf.h: Delete.
1900 (c-gperf.h was accidently re-added to the CVS repo in the rev
1901 1.16 commit by tromey)
1902
1903 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
1904
1905 * cpplex.c (_cpp_lex_token): Don't warn about directives in
1906 macro arguments when looking for the '('.
1907 * cppmacro.c (funlike_invocation_p): Set parsing_args to
1908 2 when really parsing arguments; 1 when looking for '('.
1909 Always restore the lexer position.
1910
1911 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
1912
1913 * longlong.h (umul_ppmm): Don't use a multiline string.
1914
1915 2001-03-03 John David Anglin <dave@hiauly1.hia.nrc.ca>
1916
1917 * fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
1918 * fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
1919 t_bool in declaration because pcc can't combine volatile with typedef
1920 types.
1921
1922 Sat Mar 3 19:47:13 CET 2001 Jan Hubicka <jh@suse.cz>
1923
1924 * i386.c (ix86_expand_fp_compare): Delay creating of scratch register
1925 until when it is really needed.
1926 (ix86_expand_compare): Update call of ix86_expand_fp_compare.
1927 * i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
1928 * i386.md (float?i?f splitter): Don't force source operand to memory
1929 for SSE.
1930 (sse_movdfcc): Fix constraint.
1931 (sse_movdfcc splitter): Handle properly the second alternative.
1932
1933 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
1934
1935 * cpplex.c (parse_string): Unconditionally pedwarn.
1936
1937 2001-03-03 Neil Booth <neil@daikokuya.demon.co.uk>
1938
1939 * cpp.texi: Update.
1940 * cppexp.c (parse_number): Update.
1941 * cpplex.c (parse_string): Pedwarn if multiline string does not
1942 result from a system header's macro.
1943 * cpplib.h (sys_objmacro_p): Rename sys_macro_p.
1944 * cppmacro.c (sys_objmacro_p): Rename sys_macro_p. Return true
1945 for function-like macros too.
1946 * c-lex.c (lex_number): Update.
1947
1948 2001-03-03 Richard Henderson <rth@redhat.com>
1949
1950 * dwarf2out.c (output_call_frame_info): Fix augmentation length.
1951
1952 Sat Mar 3 04:17:17 2001 J"orn Rennecke <amylaar@redhat.com>
1953
1954 * combine.c (try_combine): If split with mode-changed scratch
1955 register didn't work, try the original mode.
1956
1957 Sat Mar 3 03:46:47 2001 J"orn Rennecke <amylaar@redhat.com>
1958
1959 * tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
1960 * config/c4x/c4x.h: Likewise.
1961 * stor-layout.c (compute_record_mode): Likewise.
1962 (layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
1963
1964 2001-03-02 Zack Weinberg <zackw@stanford.edu>
1965
1966 * configure.in: Kill tm.h. Include the files in the $tm_file
1967 list in all three of config.h, hconfig.h, tconfig.h, after the
1968 relevant set of xm_files. Put TARGET_CPU_DEFAULT in all
1969 three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
1970 * configure: Regenerate.
1971 * Makefile.in (clean): Don't delete tm.h.
1972
1973 * system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
1974 defined, set them from EXIT_SUCCESS and EXIT_FAILURE. If
1975 those are not defined, set SEC and FEC to 0 and 1.
1976 * gcc.texi: Update to match.
1977
1978 * crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
1979 * config/fp-bit.c, config/m68k/aux-crt2.asm,
1980 config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
1981 Include tconfig.h, not tm.h.
1982
1983 * config/xm-lynx.h, config/xm-std32.h,
1984 config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
1985 config/alpha/xm-alpha.h, config/arc/xm-arc.h,
1986 config/avr/xm-avr.h, config/c4x/xm-c4x.h,
1987 config/clipper/xm-clix.h, config/convex/xm-convex.h,
1988 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
1989 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
1990 config/h8300/xm-h8300.h, config/i370/xm-linux.h,
1991 config/i386/xm-i386.h, config/i860/xm-i860.h,
1992 config/i960/xm-i960.h, config/ia64/xm-ia64.h,
1993 config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
1994 config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
1995 config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
1996 config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
1997 config/pa/xm-linux.h, config/pa/xm-pa.h,
1998 config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
1999 config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
2000 config/pj/xm-pj.h, config/romp/xm-romp.h,
2001 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
2002 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2003 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
2004 config/v850/xm-v850.h, config/vax/xm-vax.h,
2005 config/we32k/xm-we32k.h:
2006 Don't include tm.h.
2007 Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
2008
2009 * config/i370/xm-i370.h, config/i370/xm-mvs.h,
2010 config/i370/xm-oe.h: Don't include tm.h. Don't define
2011 SUCCESS_EXIT_CODE.
2012 * config/vax/xm-vms.h: Don't include tm.h.
2013
2014 * config/xm-lynx.h, config/avr/xm-avr.h,
2015 config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
2016 Delete; made empty by above changes.
2017 * config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
2018 config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
2019 Don't include config/xm-lynx.h or tm.h.
2020
2021 * config/xm-gnu.h: Don't include fcntl.h.
2022 * config/sparc/xm-lynx.h: Don't include sys/types.h and
2023 sys/wait.h.
2024 * config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
2025
2026 2001-03-02 Richard Henderson <rth@redhat.com>
2027
2028 * tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
2029 UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
2030
2031 2001-03-02 Richard Henderson <rth@redhat.com>
2032
2033 * Makefile.in (OBJS): Add dwarf2asm.o.
2034 * dwarf2asm.c, dwarf2asm.h: New files.
2035 * dwarf2out.c (*): Use them.
2036 (size_of_uleb128, size_of_sleb128): Remove.
2037 (output_uleb128, output_sleb128): Remove.
2038 (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
2039 (UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
2040 (UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
2041 (FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
2042 (ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
2043 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
2044 (ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
2045 (ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
2046 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
2047 (ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
2048 (ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
2049 (ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
2050 (ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
2051 (dwarf2out_frame_debug): Remove unused variables.
2052 (output_loc_operands): Don't abort on 8 byte constants if
2053 host integers are wide enough.
2054 (output_symbolic_ref): Remove.
2055 (size_of_die): Don't assume 4 byte host integers.
2056 (output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
2057 and end labels.
2058 (add_const_value_attribute) [CONST_INT]: Verify we're not doing
2059 something stupid with HOST_WIDE_INT to long truncation.
2060 [CONST_DOUBLE]: Likewise.
2061
2062 * config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
2063 (ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
2064 * config/arm/unknown-elf.h: Likewise.
2065 * config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
2066 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
2067 (ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
2068 (ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
2069 (ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
2070 (ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
2071 (ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
2072 (ASM_OUTPUT_DWARF_OFFSET): Remove.
2073 * config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
2074 * config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
2075 (UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
2076 (ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
2077
2078 2001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
2079
2080 * cselib.c (hash_rtx): Cast enums to unsigned int.
2081
2082 2001-03-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
2083
2084 * print-rtl.c (print_rtx): Cast enums to int for comparison.
2085 * c-decl.c (grokdeclarator): Cast enums to int for comparison and
2086 shifts.
2087 * c-format.c (C_STD_VER): Cast to int for comparisons.
2088 (check_function_format): Cast various enums to int for &.
2089 (maybe_read_dollar_number): Likewise.
2090 (check_format_info): Likewise.
2091 (check_format_info_main): Likewise.
2092 * expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
2093 (safe_from_p): Likewise.
2094 * varasm.c (const_hash): Cast enum to int for %.
2095 * emit-rtl.c (init_emit_once): Use int loop variable to work around
2096 pcc enum problems with < and ++ operators.
2097 * regclass.c (init_reg_sets_1): Cast enums for comparison.
2098 (choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
2099 (regclass_init): Change enum class to int to iterate over reg_classes.
2100 * genrecog.c (merge_trees): Cast enums for comparison.
2101 * rtl.h (GET_CODE): Cast to enum rtx_code.
2102 (PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
2103 (GET_MODE): Cast to enum machine_mode.
2104 (PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
2105 (GET_NOTE_INSN_NAME): Cast enum to int.
2106 * tree.h (TREE_CODE): Cast to enum tree_code.
2107 (TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
2108 * timevar.c (timevar_print): Change loop variable id from enum to
2109 unsigned int.
2110 * fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
2111 * config/i386/i386.md: Use PUT_MODE for mode assignment.
2112 * toplev.c (compile_file): Cast enum DFI to int.
2113 (decode_d_option): Likewise.
2114
2115 Fri Mar 2 12:18:13 2001 Christopher Faylor <cgf@cygnus.com>
2116
2117 * cppinit.c (append_include_chain): Mark "after" include file name list
2118 as a system directory.
2119 * cpp.texi: Document new behavior.
2120
2121 Fri Mar 2 11:59:43 CET 2001 Jan Hubicka <jh@suse.cz>
2122
2123 * ifcvt.c (noce_operand_ok): Handle properly unarry operations.
2124
2125 2001-03-02 Neil Booth <neil@daikokuya.demon.co.uk>
2126
2127 * cppfiles.c (struct include_file): Update.
2128 (stack_include_file): Use search_from.
2129 (cpp_included, find_include_file): Update.
2130 (cpp_execute_include): Update. ptr->name may not be
2131 null terminated. Use the new search_from member variable
2132 of cpp_buffer.
2133 (_cpp_compare_file_date): Similarly.
2134 (search_from): New function, similiar to actual_directory.
2135 (actual_directory): Delete.
2136 (remap_filename): Update. loc->name may not be null terminated.
2137 (struct file_name_list): Rename search_path. Update.
2138 * cpphash.h (struct cpp_buffer): Delete actual_dir. New members
2139 search_from and dir.
2140 (struct cpp_reader): Remove actual_dirs.
2141 * cppinit.c (struct cpp_pending): Update for renamed objects.
2142 (append_include_chain, remove_dup_dir, remove_dup_dirs,
2143 merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
2144 * cpplib.h (struct cpp_options): Similarly.
2145
2146 2001-03-01 Zack Weinberg <zackw@stanford.edu>
2147
2148 * config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
2149 config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
2150 config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
2151 config/clipper/xm-clix.h, config/convex/xm-convex.h,
2152 config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
2153 config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
2154 config/h8300/xm-h8300.h, config/i370/xm-i370.h,
2155 config/i370/xm-linux.h, config/i370/xm-mvs.h,
2156 config/i370/xm-oe.h, config/i386/xm-aix.h,
2157 config/i386/xm-i386.h, config/i386/xm-osf.h,
2158 config/i860/xm-i860.h, config/i960/xm-i960.h,
2159 config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
2160 config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
2161 config/mcore/xm-mcore.h, config/mips/xm-mips.h,
2162 config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
2163 config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
2164 config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
2165 config/pa/xm-pahpux.h, config/pa/xm-papro.h,
2166 config/pj/xm-pj.h, config/romp/xm-romp.h,
2167 config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
2168 config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
2169 config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
2170 config/v850/xm-v850.h, config/vax/xm-vax.h,
2171 config/vax/xm-vms.h, config/we32k/xm-we32k.h:
2172 Do not define TRUE or FALSE.
2173
2174 * config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
2175 empty by above change.
2176 * config.gcc: Remove references to these files.
2177
2178 * configure.in: Detect stdbool.h.
2179 * configure, config.in: Regenerate.
2180 * system.h: Include stddef.h here if available.
2181 Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
2182 Then set up a sensible boolean type at the very end.
2183
2184 * combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
2185 config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
2186
2187 * hash.h: Delete 'boolean' typedef and related #undefs.
2188
2189 * function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
2190 all uses of 'boolean' with 'bool'.
2191
2192 2001-03-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
2193
2194 * cpplib.c (_cpp_init_stacks): Cast enum for comparison.
2195 * cppexp.c (lex): Cast enums for comparison.
2196 * cppinit.c (parse_option): Cast enum for comparison.
2197 * cpplex.c (cpp_spell_token): Cast enums to int for minus.
2198 (cpp_output_token): Likewise.
2199 (cpp_can_paste): Cast enums for comparsion and plus/minus.
2200 (cpp_avoid_paste): Cast enums for minus and comparison.
2201
2202 2001-03-01 Zack Weinberg <zackw@stanford.edu>
2203
2204 * gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
2205 field to all array elements.
2206
2207 2001-03-01 Zack Weinberg <zackw@stanford.edu>
2208
2209 * cpphash.h (struct cpp_reader): Add print_version field.
2210 * cppinit.c (cpp_handle_option): For -v, -version, and --version,
2211 just set print_version and other flags as appropriate.
2212 (cpp_post_options): Print version here if print_version is set.
2213
2214 * toplev.c (exit_after_options): New flag.
2215 (independent_decode_option): Don't exit here; just set
2216 exit_after_options.
2217 (main): Exit after calling lang_hooks.post_options if
2218 exit_after_options is true.
2219
2220 * cppinit.c (append_include_chain): Drop never-used case QUOTE.
2221 (merge_include_chains): Adjust comment to match code.
2222
2223 2001-03-01 Zack Weinberg <zackw@stanford.edu>
2224
2225 * stringpool.c (set_identifier): New function.
2226 * tree.h: Prototype it.
2227
2228 * c-parse.in: Kill D_YES. If compiled for objc, call
2229 save_and_forget_protocol_qualifiers from init_reswords.
2230 * objc/objc-act.c (remember_protocol_qualifiers,
2231 forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
2232 Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
2233 vice versa.
2234 (save_and_forget_protocol_qualifiers): New function.
2235 * c-lex.h: Prototype save_and_forget_protocol_qualifiers.
2236
2237 2001-03-01 Diego Novillo <dnovillo@redhat.com>
2238
2239 * c-semantics.c (prune_unused_decls): Return error_mark_node
2240 instead of (tree) 1 to stop traversing the tree chain.
2241
2242 2001-03-01 Bernd Schmidt <bernds@redhat.com>
2243
2244 Fix a problem introduced by Kenner's Feb 18 change.
2245 * toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
2246 flag_cse_skip_blocks only temporarily, not for ever.
2247
2248 Thu Mar 1 09:49:58 2001 Jeffrey A Law (law@cygnus.com)
2249
2250 * config/pa/som.h (ASM_IDENTIFY_GCC): Define.
2251 (ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
2252
2253 * pa.c (emit_move_sequence): Verify operand0 is a hard register
2254 before determining its register class.
2255
2256 2001-03-01 Bernd Schmidt <bernds@redhat.com>
2257
2258 * config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
2259 from reg 4 if current_function_calls_setjmp.
2260 (gen_nop_type): New function.
2261 (ia64_emit_nops): New function.
2262 (ia64_reorg): Call it.
2263 (ia64_sched_reorder): Move code that rotates bundles up a bit.
2264
2265 * reload1.c (eliminate_regs_in_insn): Restrict the special case
2266 code not to try to optimize adds with anything but a REG destination.
2267
2268 * sched-int.h (struct haifa_insn_data): Add new member priority_known.
2269 (INSN_PRIORITY_KNOWN): New accessor macro.
2270 * haifa-sched.c (priority): Use it instead of testing priority against
2271 zero.
2272
2273 2001-02-28 DJ Delorie <dj@redhat.com>
2274
2275 * config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
2276 since that doesn't work the way gcc wants on a generic m68k.
2277
2278 2001-02-28 Richard Henderson <rth@redhat.com>
2279
2280 * caller-save.c (save_call_clobbered_regs): Fix typo in
2281 comparison last change.
2282
2283 Wed Feb 28 19:31:42 CET 2001 Jan Hubicka <jh@suse.cz>
2284
2285 * i386.c (pentium4_cost): New.
2286 (m_PENT4): New macro.
2287 (x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
2288 x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
2289 x86_integer_DFmode_moves, x86_partial_reg_dependency,
2290 x86_memory_mismatch_stall): Add Pentium4
2291 (x86_use_q_reg, x86_use_any_reg): Kill.
2292 (override_options): Add pentium4.
2293 (incdec_operand): Return 0 for pentium4.
2294 (ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
2295 * i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
2296 (TARGET_PENTIUM4): Define.
2297 (enum processor_type): Add PROCESSOR_PENTIUM4.
2298 (CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
2299 * i386.md (attribute "cpu"): Add pentium4.
2300 * invoke.texi (march): Add pentium4.
2301
2302 Wed Feb 28 19:28:06 CET 2001 Jan Hubicka <jh@suse.cz>
2303
2304 * i386.md (sse_mov?fcc*): New patterns and splitters.
2305 * i386.c (ix86_expand_movcc): Work post-reload; recognize
2306 the SSE based conditional moves.
2307
2308 Wed Feb 28 19:18:23 CET 2001 Jan Hubicka <jh@suse.cz>
2309
2310 * i386.md (attribute mode): Add "TI".
2311 (movsf_1): Add pxor support; remove constant propagation splitter.
2312 (movdf_integer): Likewise.
2313 (movdf_nointeger): Likewise.
2314 (movxf constant prop splitter): Handle all modes; update for SSE.
2315 * i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
2316 * i386.c (standard_80387_constant_p): Rewrite.
2317 (standard_sse_constant_p): New.
2318 * i386-protos.h (standard_sse_constant_p): New.
2319
2320 Wed Feb 28 19:05:37 CET 2001 Jan Hubicka <jh@suse.cz>
2321
2322 * i386.md (sse_setccsf, sse_setccdf): New.
2323 (sse_cmp* patterns): Use '%D' instead of outputtting condition
2324 flag directly.
2325 * i386.c (sse_comparison_operator): Accept the supported unordered
2326 comparses; be ready for fast_math.
2327 (print_operand): Support 'D'.
2328
2329 Wed Feb 28 18:54:51 CET 2001 Jan Hubicka <jh@suse.cz>
2330
2331 * jump.c (reversed_comparison_code): Kill.
2332
2333 Wed Feb 28 18:50:15 CET 2001 Jan Hubicka <jh@suse.cz>
2334
2335 * toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
2336 for STACK_REGS
2337
2338 Wed Feb 28 18:47:37 CET 2001 Jan Hubicka <jh@suse.cz>
2339
2340 * i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
2341 add missing '%' in constraints.
2342
2343 Wed Feb 28 17:24:24 CET 2001 Jan Hubicka <jh@suse.cz>
2344
2345 * c-common.c (build_common_tree_nodes): Build intTI_type_nodes
2346 for HOST_BITS_PER_WIDE_INT == 32 too.
2347
2348 Wed Feb 28 17:22:35 CET 2001 Jan Hubicka <jh@suse.cz>
2349
2350 * caller-save.c (reg_save_code, reg_restore_code): Index by mode, not
2351 NREGS.
2352 (insert_save, insert_restore): New parameter save_mode.
2353 (init_caller_save): Update initialization of reg_save_code
2354 and reg_restore_code.
2355 (save_call_clobbered_regs): Compute save_modes and update calls to
2356 reg_save_code and reg_restore_code.
2357 (insert_restore): Unsignetize numbers; use save_modes to choose mode
2358 of spill; update use of reg_restore_code.
2359 (insert_save): Likewise.
2360 * i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
2361 * c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
2362 * regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
2363
2364 Wed Feb 28 17:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
2365
2366 * ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
2367 noce_try_store_flag_inc, noce_try_store_flag_mask,
2368 noce_try_cmove_arith):
2369 Use reversed_comparison_code instead of reverse_comparison and
2370 can_reverse_comparison_p.
2371
2372 Wed Feb 28 17:17:29 CET 2001 Jan Hubicka <jh@suse.cz>
2373
2374 * jump.c (reversed_comparison_code_parts): Allow reversal of
2375 unordered compares in -ffast-math mode; reverse ordered compares
2376 for FP even w/o -ffast-math.
2377
2378 2001-02-27 Richard Henderson <rth@redhat.com>
2379
2380 * print-rtl.c (print_rtx) [i]: Don't print field five on
2381 NOTEs other than NOTE_INSN_DELETED_LABEL.
2382
2383 2001-02-27 Zack Weinberg <zackw@stanford.edu>
2384
2385 * mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
2386 * pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
2387
2388 2001-02-27 Diego Novillo <dnovillo@redhat.com>
2389
2390 * c-common.c (walk_stmt_tree): Visit the chain of the current tree
2391 even if walk_subtrees is 0.
2392 * c-semantics.c (prune_unused_decls): Return a non-null value to
2393 stop traversing the tree chain.
2394
2395 2001-02-27 DJ Delorie <dj@redhat.com>
2396
2397 * config/m68k/m68k.c (output_function_prologue): Save the new CFA
2398 register, *then* define it as the new CFA.
2399
2400 Tue Feb 27 16:49:13 2001 Jeffrey A Law (law@cygnus.com)
2401
2402 * pa.c (override_options): Promote -fpic to -fPIC.
2403 (legitimize_pic_address): Simplify due to removal of
2404 small PIC as a code generation option.
2405 (secondary_reload_class): Similarly.
2406 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
2407 (PRINT_OPERAND_ADDRESS): Similarly.
2408 * pa.md (various patterns): Similarly.
2409 (small pic lo_sum pattern): Remove.
2410
2411 Tue Feb 27 16:01:13 CET 2001 Jan Hubicka <jh@suse.cz>
2412 Fergus Henderson
2413
2414 * md.texi (min, max): Document
2415
2416 Tue Feb 27 15:51:35 CET 2001 Jan Hubicka <jh@suse.cz>
2417
2418 * i386.md (movsf, movdf): Use movaps for reg-reg moves if
2419 TARGET_PARTIAL_REG_DEPENDENCY.
2420 (truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
2421
2422 Tue Feb 27 15:36:48 CET 2001 Jan Hubicka <jh@suse.cz>
2423
2424 * i386.md (mins*, maxs*): New patterns, expanders and splitters.
2425
2426 2001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
2427
2428 * mips.c (mips_make_temp_file): Fix thinko in last change.
2429
2430 2001-02-26 Jason Eckhardt <jle@redhat.com>
2431
2432 * combine.c (known_cond): Do not reverse the condition when
2433 SMAX/UMAX is being considered and the condition is for equality
2434 or inequality.
2435
2436 * testsuite/gcc.c-torture/execute/20010221-1.c: New test.
2437
2438 2001-02-26 Philip Blundell <philb@gnu.org>
2439
2440 * config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
2441 "armv2-*-linux".
2442 * config/arm/linux-elf.h: Remove historical relics related to
2443 above configurations.
2444 * config/arm/linux-oldld.h: Delete.
2445 * config/arm/linux-elf26.h: Delete.
2446
2447 2001-02-26 Jason Merrill <jason@redhat.com>
2448
2449 * c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
2450 definitions.
2451 * toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
2452 recognize a tentative definition. Lose obsolete code.
2453
2454 * toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
2455 variables unless necessary, either.
2456
2457 2001-02-25 Richard Henderson <rth@redhat.com>
2458
2459 * ifcvt.c (struct noce_if_info): Add test_bb.
2460 (noce_get_alt_condition): New.
2461 (noce_try_minmax, noce_try_abs): New.
2462 (noce_operand_ok): New.
2463 (noce_process_if_block): Use them.
2464 * rtlanal.c (may_trap_p): NEG and ABS can never trap.
2465
2466 Sun Feb 25 14:26:17 2001 Christopher Faylor <cgf@cygnus.com>
2467
2468 * config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
2469 include.
2470
2471 2001-02-25 Zack Weinberg <zackw@stanford.edu>
2472
2473 * config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
2474 * config/mips/mips.c (mips_make_temp_file): Set temp_filename
2475 properly.
2476 (mips_asm_file_end): Free temp_filename here.
2477
2478 Sun Feb 25 08:34:23 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2479
2480 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
2481 * config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
2482
2483 * config/i386/i386.md (movstrsi): Handle FAIL case.
2484
2485 2001-02-25 Neil Booth <neil@daikokuya.demon.co.uk>
2486
2487 * cppinit.c (builtin_array): Update.
2488 (init_builtins): Flag builtins to warn if redefined or
2489 undefined. Define __GXX_WEAK as a normal macro.
2490 * cpplib.c (do_undef): Warn if flagged NODE_WARN.
2491 * cpplib.h (NODE_WARN): New flag.
2492 * cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
2493 Handle __STDC__ as a builtin only on Solaris.
2494 (warn_of_redefinition): Renamed from check_macro_definition.
2495 Reverse sense of test. Always warn if NODE_WARN.
2496 (_cpp_create_definition): Use warn_of_redefinition. Flag
2497 any macro beginning with "__STDC_" to require a mandatory
2498 warning if redefined or undefined.
2499
2500 2001-02-24 Zack Weinberg <zackw@stanford.edu>
2501
2502 * xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
2503 i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
2504 i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
2505 i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
2506 m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
2507 mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
2508 Don't define any of:
2509 USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
2510 P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
2511 NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
2512 index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
2513 STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
2514
2515 * alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
2516 fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
2517 definitions.
2518
2519 * m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
2520 Delete now-empty file.
2521
2522 * alpha/vms.h: Define NEED_ATEXIT here...
2523 * alpha/xm-vms.h: ...not here.
2524
2525 * i386/cygwin.h: Don't define PARAMS.
2526 * mips/mips.c: Don't prototype mktemp. Don't define
2527 P_tmpdir. Use make_temp_file to create temporary files.
2528 Don't be clever and delete temporary files early.
2529 * config.gcc: Drop references to deleted files. Don't define
2530 FULL_PROTOTYPES.
2531 * gcc.texi: Don't mention USE_PROTOTYPES.
2532
2533 Sat Feb 24 20:25:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2534
2535 * config/i386/i386.c (ix86_set_move_mem_attrs): New function.
2536 (ix86_set_move_mem_attrs_1): Likewise.
2537 * config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
2538 * config/i386/i386.md (movstrsi): Call it.
2539
2540 2001-02-24 Zack Weinberg <zackw@stanford.edu>
2541
2542 * config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
2543 x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
2544 ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
2545 rs6000/x-aix41-gld. These are nonexistent, empty, or obsolete.
2546
2547 (i750a-*-*): Error here if hosting on i750a.
2548 (alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
2549
2550 * x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
2551 Remove (empty modulo comments).
2552
2553 * 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
2554 alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
2555 i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
2556 i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
2557 mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
2558 rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
2559
2560 * i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
2561 Remove reference to winnt.h in comment.
2562 * rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
2563
2564 2001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2565
2566 * loop.c (check_dbra_loop): A biv has uses besides counting if it is
2567 used to set another biv.
2568
2569 Sat Feb 24 06:45:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2570
2571 * tree.h (BLOCK_DEAD): New macro.
2572 (struct tree_block): New flag, dead_flag.
2573 * print-tree.c (print_node, case 'b'): Print missing fields.
2574 * emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
2575 * function.c (identify_blocks): Enable test for misplaced notes.
2576 (all_blocks): Skip BLOCK_DEAD blocks.
2577 * integrate.c (integrate_decl_tree): Likewise.
2578
2579 * errors.c (internal_error, trim_filename): New functions.
2580 (fancy_abort): Call internal_error.
2581 * errors.h (internal_error, trim_filename): New declarations.
2582
2583 2001-02-24 Alexandre Oliva <aoliva@redhat.com>
2584
2585 * config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
2586 2000-08-26's patch.
2587 (EXTRA_CONSTRAINT): Formatting changes.
2588
2589 2001-02-23 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2590
2591 * rtl.c (rtl_check_failed_code2): Fix typo in last change.
2592
2593 2001-02-23 Per Bothner <per@bothner.com>
2594
2595 * gcc.c (record_temp_file, pfatal_with_name, error): Make non-static,
2596 so they can be called from java/jvspec.c.
2597 * gcc.h (record_temp_file, pfatal_with_name, error): Declare.
2598
2599 Sat Feb 24 03:32:50 CET 2001 Jan Hubicka <jh@suse.cz>
2600
2601 * i386.c (ix86_frame): New structure.
2602 (ix86_compute_frame_size): Kill.
2603 (ix86_compute_frame_layout): New.
2604 (ix86_save_reg): New.
2605 (ix86_can_use_return_insn_p): Use frame layout stuff.
2606 (ix86_expand_prologue): Likewise.
2607 (ix86_expand_epilogue): Likewise.
2608 (ix86_initial_elimination_offset): Likewise.
2609 (ix86_nsaved_regs): Use ix86_save_reg.
2610 (ix86_emit_save_regs): Likewise.
2611
2612 Sat Feb 24 03:30:38 CET 2001 Jan Hubicka <jh@suse.cz>
2613
2614 * flow.c (find_sub_basic_blocks): New function.
2615 (split_block): Be ready for basic block introduced by CODE_LABEL.
2616 (commit_one_edge_insertion): Call find_sub_basic_block.
2617
2618 * flow.c (make_edges): Add edge from entry for blocks starting with
2619 label having ALTERNATE_NAME
2620
2621 Sat Feb 24 03:19:42 CET 2001 Jan Hubicka <jh@suse.cz>
2622
2623 * function.c (epilogue_done): Be ready for first basic block not
2624 containing PROLOGUE_END note.
2625 (reposition_prologue_and_epilogue_notes): Avoid placing
2626 PROLOGUE_END note between BASIC_BLOCK.
2627
2628 Sat Feb 24 03:17:09 CET 2001 Jan Hubicka <jh@suse.cz>
2629
2630 * loop.c (canonicalize_condition): Move to reversed_comparison_code.
2631
2632 2001-02-21 DJ Delorie <dj@redhat.com>
2633
2634 * config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
2635 check for current_function_has_nonlocal_goto from 1999-11-12.
2636
2637 Fri Feb 23 15:28:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2638
2639 * diagnostic.c (trim_filename): No longer static.
2640 * toplev.h (trim_filename): Declare.
2641 * rtl.c (rtl_check_failed_bounds): Call internal_error.
2642 (rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
2643 (rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
2644 (rtvec_check_failed_bounds): Likewise.
2645 * tree.c (tree_check_failed, tree_class_check_failed): Likewise.
2646
2647 * convert.c (convert_to_integer): Don't do unsigned unless result or
2648 both inputs are unsigned.
2649
2650 * fold-const.c (fold_convert): Don't call size_int_type_wide if
2651 input overflows.
2652
2653 * c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
2654
2655 * varasm.c (output_constant): Recompute CODE after lang-specific fn.
2656
2657 2001-02-23 Jeffrey Oldham <oldham@codesourcery.com>
2658
2659 * Makefile.in (resource.o): Add params.h dependence.
2660 * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
2661 * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
2662 * resource.c: Add dependence on params.h.
2663 (current_live_regs): Fix explanatory comment.
2664 (find_basic_block): Add new parameter to permit limiting search
2665 for a BARRIER.
2666 (mark_target_live_regs): Add new argument to find_basic_block call.
2667 (incr_ticks_for_insn): Likewise.
2668
2669 2001-02-23 Gabriel Dos Reis <gdr@merlin.codesourcery.com>
2670
2671 * diagnostic.c (output_to_stream): Rename to
2672 output_buffer_to_stream. Loses the stream parameter.
2673 (init_output_buffer): Set diagnosic_buffer's stream.
2674 (flush_diagnostic_buffer): Adjust.
2675 (default_print_error_function): Likewise.
2676 (finish_diagnostic): Likewise.
2677 (verbatim): Likewise.
2678
2679 * diagnostic.h (struct output_buffer): Add `stream' field.
2680 (output_buffer_attached_stream): New macro.
2681
2682 2001-02-23 Jakub Jelinek <jakub@redhat.com>
2683
2684 * fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
2685 check if either operand is divisible by C.
2686 (multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
2687 If type is signed, consider negative numbers as well.
2688
2689 2001-02-22 Richard Henderson <rth@redhat.com>
2690
2691 * config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
2692 reach .text instead of gp-relative relocs.
2693 * config/ia64/crtend.asm (.init): Likewise.
2694
2695 2001-02-22 Andreas Jaeger <aj@suse.de>
2696
2697 * extend.texi (C++ Attributes): Fix typo.
2698
2699 2001-02-21 David Mosberger <davidm@hpl.hp.com>
2700
2701 * config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
2702 functions, drop current_function_args_info.words test.
2703 (ia64_compute_frame_size): Mark syscall_linkage functions as
2704 using eight input registers.
2705
2706 2001-02-21 Loren J. Rittle <ljrittle@acm.org>
2707 Bruce Korb <bkorb@gnu.org>
2708
2709 * fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
2710 * fixinc/README: Document how to convert sed substitutions
2711 to format style c_fix-es.
2712 * fixinc/fixincl.x: regen
2713
2714 2001-02-21 Jeffrey D. Oldham <oldham@codesourcery.com>
2715
2716 * gcc.c: Add comment explaining how to add a command-line option.
2717 Add title to specs language comment.
2718
2719 2001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
2720
2721 * gcc.c (cc1_options): Add "-param".
2722 (DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
2723 (option_map): Likewise.
2724 * toplev.c (display_help): Add entry for "--param".
2725 (independent_decode_option): Fix typographical error.
2726
2727 Wed Feb 21 18:57:28 CET 2001 Catherine Moore <clm@redhat.com>
2728 Bernd Schmidt <bernds@redhat.com>
2729 Jan Hubicka <jh@suse.cz>
2730
2731 * i386.c (function_arg_advance): Pass SSE arguments in registers.
2732 (function_arg): Likewise.
2733
2734 Wed Feb 21 18:12:41 CET 2001 Jan Hubicka <jh@suse.cz>
2735
2736 * i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
2737
2738 2001-02-21 Kazu Hirata <kazu@hxi.com>
2739
2740 * config/h8300/h8300.md (iorsi3): Do not output an extra newline
2741 character.
2742 (xorsi3): Likewise.
2743
2744 Wed Feb 21 17:35:24 CET 2001 Jan Hubicka <jh@suse.cz>
2745
2746 * flow.c (init_propagate_block_info): Canon address and use single_set
2747 for killing dead memory stores.
2748
2749 2001-02-21 Jeffrey Oldham <oldham@codesourcery.com>
2750
2751 * Makefile.in (reorg.o): Add params.h dependence.
2752 * params.def: Fix typographical error in comment.
2753 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
2754 * params.h: Modify introductory comment.
2755 (MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
2756 * reorg.c: Add dependence on params.h.
2757 (redundant_insn): Add parameterized throttle for search.
2758 (fill_simple_delay_slots): Add a comment explaining a variable.
2759 Move conditional out of loop, simplifying code.
2760 (fill_eager_delay_slots): Fix typographical error in comment.
2761
2762 2001-02-20 Aldy Hernandez <aldyh@redhat.com>
2763
2764 * tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
2765
2766 * flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
2767 (REVERSE_CONDEXEC_PREDICATES_P): Define macro.
2768
2769 2001-02-21 Jason Merrill <jason@redhat.com>
2770
2771 * tree.h (DECL_UNINLINABLE): Move from C++ frontend.
2772 (struct tree_decl): Add uninlinable bitfield.
2773 * c-decl.c (duplicate_decls): Set it.
2774 * integrate.c (function_cannot_inline_p): Check it.
2775
2776 * dwarf2out.c (add_name_and_src_coords_attributes): Don't add
2777 DW_AT_MIPS_linkage_name to abstract methods.
2778 (dwarf2out_abstract_function): Emit class context before calling
2779 set_decl_abstract_flags. Don't clear DECL_ABSTRACT.
2780 (gen_subprogram_die): Remove obsolete code.
2781 (gen_member_die): Don't include clones in the member list.
2782 (gen_decl_die): Emit abstract info for clone origin.
2783 * dwarfout.c (output_type): Don't include clones in the member list.
2784 * dbxout.c (dbxout_type_methods): Ignore abstract methods.
2785 * toplev.c (note_deferral_of_defined_inline_function): Don't clear
2786 DECL_ABSTRACT on a function that already has it set.
2787
2788 * dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
2789 (get_subprogram_die): Pass it in.
2790
2791 2001-02-21 Richard Earnshaw <rearnsha@arm.com>
2792
2793 * flow.c (mark_set_1): Make not_dead unsigned long. For
2794 non-pseudos, use it as a bitmask of the hard regs that
2795 don't die.
2796
2797 2001-02-21 Neil Booth <neil@daikokuya.demon.co.uk>
2798
2799 * cppfiles.c: Update comments.
2800 (_cpp_read_file): Don't check for NULL filenames any more.
2801 * cppinit.c (cpp_start_read): Don't do canonicalization of
2802 in_fname and out_fname. Use the passed file name exclusively.
2803 (_cpp_handle_options): Don't treat "-" as a command line option,
2804 but as a normal filename.
2805 (_cpp_post_options): Canonicalize in_fname and out_fname.
2806 * cppmain.c (printer_init): Don't check out_fname for NULL.
2807 * c-lex.c (orig_filename): Rename cpp_filename for clarity.
2808 (init_c_lex): Update, and use "" to represent stdin to CPP.
2809 (yyparse): Update.
2810
2811 2001-02-20 Will Cohen <wcohen@redhat.com>
2812
2813 * config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
2814 * config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
2815 (INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
2816 fixunstfsi_libfunc.
2817
2818 2001-02-20 Stan Shebs <shebs@apple.com>
2819
2820 * config/rs6000/rs6000.c (output_cbranch): Output branches
2821 on separate lines instead of using ';' to separate.
2822
2823 2001-02-20 Neil Booth <neil@daikokuya.demon.co.uk>
2824
2825 * cppinit.c (set_lang): Move builtin handling to...
2826 (init_builtins): ...here.
2827 (_cpp_create_reader): Move call to set_lang.
2828
2829 2001-02-20 Mark Mitchell <mark@codesourcery.com>
2830
2831 * stmt.c (expand_return): If an attempt is made to return the
2832 error_mar_node, treat the return like a return without a value.
2833
2834 2001-02-19 Zack Weinberg <zackw@stanford.edu>
2835
2836 * sibcall.c (skip_copy_to_return_value): Call
2837 identify_call_return_value here, and return orig_insn if it
2838 returns zero. Hardret and softret arguments now unnecessary.
2839 (call_ends_block_p): Don't call identify_call_return_value here.
2840
2841 * ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
2842 's' slots in RTXen.
2843 * ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete function.
2844 * ggc.h (ggc_mark_if_gcable): Delete prototype.
2845
2846 Mon Feb 19 20:30:16 2001 Jeffrey A Law (law@cygnus.com)
2847
2848 * pa.c (move_operand): Accept code to load the address of a
2849 symbol out of the DLT as a valid move operand.
2850 (print_operand, case 'A'): New to handle generating a DLT
2851 reference for a LO_SUM expression.
2852 * pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
2853 * pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
2854
2855 2001-02-19 Joseph S. Myers <jsm28@cam.ac.uk>
2856
2857 * README, cpp.texi, gcc.texi, version.c: Update version number to
2858 3.1.
2859 * cpp.1, gcov.1, gcc.1: Regenerate.
2860
2861 2001-02-19 Neil Booth <neil@daikokuya.demon.co.uk>
2862
2863 * cppfiles.c (stack_include_file): Generate dependencies
2864 here, and manage include_count here too.
2865 (PRINT_THIS_DEP): Delete.
2866 (_cpp_execute_include): Do not generate dependencies here,
2867 apart from the case of a missing header. Do not manage
2868 include_count.
2869 (_cpp_read_file): Leave dependency generation to
2870 stack_include_file.
2871
2872 Mon Feb 19 10:17:47 2001 Jeffrey A Law (law@cygnus.com)
2873
2874 * config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
2875 target_cpu_default. Remove dead assignment to
2876 target_cpu_default.
2877
2878 Mon Feb 19 16:47:39 CET 2001 Jan Hubicka <jh@suse.cz>
2879
2880 * regclass.c (contains_reg_of_mode): Make global.
2881 (init_reg_sets): Remove contains_reg_of_mode; take into account
2882 CLASS_MAX_NREGS when looking for the proper mode.
2883 (dump_regclass): Dump only classes considered for the pseudo.
2884 (regclass): Use contains_reg_of_mode.
2885
2886 Mon Feb 19 16:45:42 CET 2001 Jan Hubicka <jh@suse.cz>
2887
2888 * gcc.c (do_spec_1): 'n' for printing notices.
2889 * i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
2890
2891 Mon Feb 19 15:51:30 CET 2001 Jan Hubicka <jh@suse.cz>
2892
2893 * reg-stack.c (next_flags_user): Use current_block->end
2894 (swap_rtx_condition): Look for next user if flags don't die;
2895 give up on CALL_INSNs; use current_block->end.
2896
2897 Mon Feb 19 08:27:21 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2898
2899 * sibcall.c (call_ends_block_p): New function.
2900 (optimize_sibling_and_tail_recursive_call): Use it.
2901
2902 2001-02-18 Kazu Hirata <kazu@hxi.com>
2903
2904 * config/h8300/h8300.md: Update copyright.
2905 (andsi3): Do not output an extra newline character.
2906
2907 Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2908
2909 * toplev.c (note_deferral_of_defined_inlined_function): Argument
2910 FNDECL may be unused.
2911
2912 * toplev.c (rest_of_compilation): Don't have CSE skip blocks or
2913 follow jumps after first run.
2914 If -fexpensive-optimizations rerun CSE after GCSE and iterate until
2915 it doesn't change any jumps.
2916
2917 Sun Feb 18 17:05:50 2001 Jeffrey A Law (law@cygnus.com)
2918
2919 * Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
2920 ($HOST_PREFIX_1)rtlanal.o: Remove rules for building
2921 (mostlyclean): Corresponding changes.
2922 * rtlanal.c (hard-reg-set.h): Include.
2923 (rtx_unstable_p): Do not treat the argument pointer specially
2924 if it is not a fixed register.
2925 (rtx_varies_p, rtx_addr_can_trap_p): Similarly.
2926
2927 Sun Feb 18 15:45:17 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2928
2929 * sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
2930 against last real insn in basic block.
2931 Rework to avoid gotos.
2932
2933 * Makefile.in (gcse.o): Now includes ggc.h.
2934 * gcse.c: Include ggc.h.
2935 (want_to_gcse_p): Verify expression can be in SET as valid insn.
2936 (try_replace_reg): Remove warning of uninitialize variable.
2937 (process_insert_insn): Call invalid_insn_p to validate insn.
2938 * recog.c (insn_invalid_p): Now global.
2939 See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
2940 * recog.h (insn_invalid_p): New declaration.
2941
2942 * jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
2943
2944 * config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
2945 assignments from FP constants since 'Y' output code can't handle it.
2946 (eligible_for_sibcall_delay): Likewise.
2947
2948 * flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
2949 Call fancy_abort directly, passing args.
2950 (print_rtl_and_abort): Now a macro, like fancy_abort.
2951
2952 * final.c (output_operand_lossage): Use internal_error, not error.
2953
2954 2001-02-18 Shane Nay <shane@agendacomputing.com>
2955
2956 * mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
2957 structure shift insns.
2958
2959 2001-02-18 Mark Mitchell <mark@codesourcery.com>
2960
2961 * invoke.texi (-fsquangle): Remove documentation.
2962 (-fname-mangling-version): Likewise.
2963
2964 2001-02-18 Lars Brinkhoff <lars@nocrew.org>
2965
2966 * optabs.c (expand_abs): Remove reference to
2967 HAVE_contitional_arithmetic.
2968 * combine.c (simplify_set): Likewise.
2969
2970 2001-02-18 Richard Henderson <rth@redhat.com>
2971
2972 * ifcvt.c (dead_or_predicable): Don't move code if eh regions
2973 would be disrupted.
2974
2975 2001-02-18 Richard Henderson <rth@redhat.com>
2976
2977 * config/ns32k/ns32k.h (ADJSP): Upcase arguments.
2978
2979 * config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
2980
2981 * reload1.c (reload_cse_simplify_set): Fix typo.
2982
2983 Sun Feb 18 09:30:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2984
2985 * diagnostic.c (_fatal_insn): Decrement errorcount.
2986
2987 * invoke.texi (-I): Add note avoiding use for system header files.
2988
2989 * rtl.h (add_clobbers): Remove duplicate declaration.
2990 * recog.h (added_clobbers_hard_reg_p): New declaration.
2991 * genemit.c (struct clobber_pat): New field has_hard_reg.
2992 (gen_insn): Record if added clobbers clobber hard reg.
2993 (gen_split): Avoid unused warning if number of operands is 0.
2994 (output_added_clobbers_hard_reg_p): New function.
2995 (main): Call it.
2996
2997 2001-02-18 Alan Modra <alan@linuxcare.com.au>
2998
2999 * pa.c (hppa_expand_prologue): Simplify code storing return
3000 pointer. For large (>=8k) frames with a post_store, adjust stack
3001 pointer by 8k-64 first rather than by 64. When testing with
3002 VAL_14_BITS_P, always use the actual value rather than the value
3003 negated. Add blockage to prevent scheduling of spills before
3004 stack frame has been created.
3005 (hppa_expand_epilogue): Simplify code loading return pointer.
3006 Allow a slightly larger range for merge_sp_adjust_with_load case.
3007 When testing with VAL_14_BITS_P, always use the actual value.
3008
3009 * pa.c (pa_adjust_insn_length): Check that block move
3010 pattern is a set before looking at operands.
3011
3012 2001-02-17 Mark Mitchell <mark@codesourcery.com>
3013
3014 * fold-const.c (fold_binary_op_with_conditional_arg): New
3015 function, split out from ...
3016 (fold): ... here.
3017 * tree.def (COND_EXPR): Document the use of VOID_TYPE for
3018 conditional arms that throw exceptions.
3019
3020 * print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
3021 looking at a BLOCK.
3022
3023 2001-02-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3024
3025 * aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
3026 define HAVE_DECL_* to 1 to mask potential backup declarations.
3027 * configure: Regenerated.
3028
3029 2001-02-17 Mark Mitchell <mark@codesourcery.com>
3030
3031 * invoke.texi (-Woverloaded-virtual): Clarify documentation.
3032
3033 2001-02-17 Richard Henderson <rth@redhat.com>
3034
3035 * reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
3036 when replacing a memory load with a register.
3037
3038 Sat Feb 17 14:48:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3039 Jan Hubicka <jh@suse.cz>
3040
3041 * recog.c (validate_replace_src_1): New.
3042 (validate_replace_src_data): Likewise.
3043 (validate_replace_src): Use note_uses.
3044 * rtl.h (note_uses): Declare.
3045 * rtlanal.c (note_uses): New.
3046
3047 Sat Feb 17 10:52:34 CET 2001 Jan Hubicka <jh@suse.cz>
3048
3049 * reg-stack.c (stack_def): Make field reg unsigned.
3050 (remove_regno_note): Unsignetize parameter.
3051
3052 2001-02-16 Jes Sorensen <jes@linuxcare.com>
3053
3054 * ia64.c (errata_emit_nops): Add VOIDmode as second argument to
3055 shladd_operand() call.
3056
3057 2001-02-16 Bruce Korb <bkorb@gnu.org>
3058 Rodney Brown <RodneyBrown@mynd.com>
3059
3060 * fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
3061 * fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
3062 machine restrictions
3063 * fixinc/fixincl.x: regen
3064
3065 Fri Feb 16 12:41:30 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3066
3067 * gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
3068 Don't CSE a nop.
3069 (hash_scan_insn): Clean up calls to hash_scan_set.
3070 (compute_kill_rd): REGNO now unsigned.
3071 (try_replace_reg): Rework to use simplify_replace_rtx.
3072 (cprop_jump, cprop_cc0_jump): Likewise.
3073 (cprop_insn): Call find_reg_equal_equiv_note.
3074 Reflect changes to cprop_jump and cprop_cc0_jump.
3075
3076 * recog.c (validate_replace_src): Replace in operands of
3077 ZERO_EXTRACT in SET_DEST.
3078
3079 * cse.c (new_label_ref): New variable.
3080 (insert): Set it instead of recorded_label_ref.
3081 (cse_basic_block): Set recorded_label_ref if new_label_ref use, has
3082 CODE_LABEL for this function, and not already in REG_LABEL note.
3083
3084 2001-02-16 Jeffrey Oldham <oldham@codesourcery.com>
3085
3086 * resource.c (mark_referenced_resources): Fix typo in introductory
3087 comment.
3088 * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
3089 string constant.
3090
3091 2001-02-16 Jason Merrill <jason@redhat.com>
3092
3093 * dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
3094 NULL.
3095 (gen_subprogram_die): Don't abort on seeing a second definition if
3096 the previous one was abstract. Don't replace an abstract instance
3097 in the lookup table.
3098
3099 * dwarf2out.c (dwarf2out_abstract_function): Rename from
3100 gen_abstract_function.
3101 * dwarf2out.h: Declare it.
3102 * toplev.c (note_outlining_of_inline_function): New fn.
3103 * toplev.h: Declare it.
3104 * integrate.c (output_inline_function): Call it.
3105 * c-decl.c (duplicate_decls): Call it when redefining an extern
3106 inline. Don't inline the new defn.
3107
3108 * tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
3109
3110 2001-02-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3111
3112 * .gdbinit: Rename to gdbinit.in.
3113 * gdbinit.in: New file,
3114 * configure.in: Generate .gdbinit from gdbinit.in.
3115 * configure: Regenerated.
3116 * Makefile.in (distclean): Always remove .gdbinit.
3117
3118 2001-02-16 Jakub Jelinek <jakub@redhat.com>
3119
3120 * objc/objc-act.c (start_class): Register implemented_classes with
3121 GC.
3122
3123 2001-02-16 Neil Booth <neil@daikokuya.demon.co.uk>
3124
3125 * cppfiles.c (_cpp_make_system_header): Generate a file
3126 change callback.
3127
3128 2001-02-15 Jim Meyering <meyering@lucent.com>
3129
3130 * Makefile.in (install-common): Don't depend on installdirs here.
3131 Instead, make each of the lang.install-common targets (e.g.,
3132 c++.install-common in cp/Make-lang.in) depend on it.
3133 (install-driver): Depend on installdirs.
3134
3135 Thu Feb 15 21:30:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3136
3137 * flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
3138
3139 * function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
3140 do in memory.
3141
3142 2001-02-15 Mark Mitchell <mark@codesourcery.com>
3143
3144 * invoke.texi (--param): Document.
3145
3146 Thu Feb 15 15:16:38 2001 Alexandre Oliva <aoliva@redhat.com>
3147
3148 * config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
3149
3150 Thu Feb 15 10:52:31 CET 2001 Jan Hubicka <jh@suse.cz>
3151
3152 * i386.md (extendsfdf2_2): Fix constraints.
3153
3154 Thu Feb 15 09:46:21 CET 2001 Jan Hubicka <jh@suse.cz>
3155
3156 * i386.md (fop_df_3 splitter): Fix operand number.
3157
3158 Wed Feb 14 12:37:37 CET 2001 Jan Hubicka <jh@suse.cz>
3159
3160 * invoke.texi (-mreg-alloc): Nuke.
3161 * i386.c (ix86_reg_alloc_order, regs_allocated,
3162 order_regs_for_local_alloc): Nuke.
3163 (override_options): Kill reg_alloc code.
3164 * i386.h (TARGET_OPTIONS): Kill reg-alloc.
3165 (REG_ALLOC_ORDER): SSE goes before I387.
3166 (ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
3167 (ix86_reg_alloc_order): Likewise.
3168 * i386-protos.h (ix86_reg_alloc_order): Kill.
3169
3170 2001-02-14 Richard Henderson <rth@redhat.com>
3171
3172 * toplev.c (f_options): Clarify -fschedule-insns2 documentation.
3173
3174 Wed Feb 14 11:59:58 CET 2001 Jan Hubicka <jh@suse.cz>
3175
3176 * i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
3177
3178 Wed Feb 14 11:12:38 CET 2001 Jan Hubicka <jh@suse.cz>
3179
3180 * i386-protos.h (ix86_memory_move_cost): Move offline.
3181 * i386.c (ix86_register_move_cost): Compute properly cost of
3182 SSE, MMX and i387 instructions.
3183 (*_cost): Add costs of SSE/MMX moves.
3184 (ix86_memory_move_cost): Move offline from ....; Likewise.
3185 * i386.h (MEMORY_MOVE_COST): .... here;
3186 (struct processor costs): Add new fields to represent costs
3187 of SSE/MMX moves.
3188
3189 Wed Feb 14 10:08:26 CET 2001 Jan Hubicka <jh@suse.cz>
3190
3191 * regclass.c (init_reg_sets_1): Reinstall the optimization of
3192 move_cost together with Matt Kraai's fix.
3193
3194 2001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
3195
3196 * Makefile.in (OBJS): Add params.o.
3197
3198 2001-02-14 Richard Henderson <rth@redhat.com>
3199 DJ Delorie <dj@redhat.com>
3200
3201 * jump.c (jump_optimize_1): When we delete a conditional jump
3202 preceeding a non-conditional jump to effectively the same place,
3203 make sure that the combined jump skips any clobber insns between
3204 the two labels.
3205
3206 2001-02-14 Jeffrey Oldham <oldham@codesourcery.com>
3207
3208 * gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
3209
3210 2001-02-14 Mark Mitchell <mark@codesourcery.com>
3211
3212 * Makefile.in (toplev.o): Depend on params.h.
3213 (intergate.o): Likewise.
3214 (params.o): New target.
3215 * flags.h (inline_max_insns): Remove.
3216 * integrate.c: Include params.h.
3217 Use MAX_INLINE_INSNS instead of inline_max_insns.
3218 * params.c: New file.
3219 * params.h: Likewise.
3220 * params.def: Likewise.
3221 * toplev.c: Include params.h.
3222 (lang_independent_params): New variable.
3223 (decode_f_option): Use the param machinery instead of setting
3224 max_inline_insns.
3225 (independent_decode_option): Handle "--param name=value".
3226 (main): Register language-independent parameters.
3227
3228 Wed Feb 14 11:13:45 CET 2001 Jan Hubicka <jh@suse.cz>
3229
3230 * i386.md (pushsf, pushdf_nointeger): Fix constraint.
3231
3232 2001-02-14 Richard Henderson <rth@redhat.com>
3233
3234 * regclass.c (init_reg_sets_1): Revert last two changes.
3235
3236 2001-02-14 Jakub Jelinek <jakub@redhat.com>
3237
3238 * stor-layout.c (is_pending_size, put_pending_size): New functions.
3239 (variable_size): Call put_pending_size.
3240 * tree.h (is_pending_size, put_pending_size): Add prototypes.
3241 * fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
3242 sizes list, put newly created SAVE_EXPR there as well.
3243
3244 2001-02-14 Jakub Jelinek <jakub@redhat.com>
3245
3246 * config/ia64/ia64.c (last_group): Only 2 entries are needed.
3247 (errata_find_address_regs): load_group has only 2 entries.
3248 (errata_emit_nops): Likewise. shladd is not problematic.
3249 Clear last_group if nop was emitted.
3250 (fixup_errata): load_group has only 2 entries.
3251 Optimize.
3252
3253 2001-02-14 Neil Booth <neil@daikokuya.demon.co.uk>
3254
3255 * c-lex.c (lex_number): Only warn traditionally for U suffix
3256 outside system macros.
3257 * cppexp.c (parse_number): Similarly.
3258 * cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
3259 * cppmacro.c (struct cpp_macro): New member node.
3260 (parse_args): Only warn about missing rest args if not
3261 a system macro.
3262 (funlike_invocation_p): Similarly for uninvoked funlike macros.
3263 (cpp_sys_objmacro_p): New.
3264 (_cpp_create_definition): Store the node with the macro defn.
3265 Remember if the macro is defined in a system header.
3266
3267 2001-02-13 DJ Delorie <dj@redhat.com>
3268
3269 * configure.in (check_languages): determine languages to check
3270 * Makefile.in (check-c++): alias for check-g++
3271 (check-f77): alias for check-g77
3272 (CHECK_TARGETS): depend on configured languages
3273
3274 Wed Feb 14 01:13:59 CET 2001 Jan Hubicka <jh@suse.cz>
3275
3276 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
3277 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
3278 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
3279 (sqrtextendsfdf2): Disable for SSE2.
3280
3281 Wed Feb 14 00:19:28 CET 2001 Jan Hubicka <jh@suse.cz>
3282
3283 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
3284 (sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
3285 (sqrtsf2 patterns): Use 'x' instead of 'Y'.
3286 (sqrtextendsfdf2): Disable for SSE2.
3287
3288 Wed Feb 14 00:11:20 CET 2001 Jan Hubicka <jh@suse.cz>
3289
3290 * i386.md (movsfcc_1): Support integer cmove instruction.
3291 (movdfcc_1): Likewise; new splitter.
3292
3293 Tue Feb 13 23:19:27 CET 2001 Jan Hubicka <jh@suse.cz>
3294
3295 * i386.c (output_fp_compare): Support SSE.
3296 (prepare_fp_compare_args): SSE comparisons always support memory.
3297 * i386.h (TARGET_CMOVE): SSE imply cmove.
3298 * i386.md (cmp?f2): Enable for SSE too.
3299 (cmpfp_i*): Support SSE.
3300 (cmpfp_i_sse): New.
3301 (cmpfp_i_sse_only): New.
3302 (s*, b* fp expanters): Enable for SSE too.
3303 (fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
3304 New patterns.
3305
3306 Tue Feb 13 23:05:42 CET 2001 Jan Hubicka <jh@suse.cz>
3307
3308 * regclass.c (init_reg_sets_1): Silence warning.
3309
3310 Tue Feb 13 22:03:07 CET 2001 Jan Hubicka <jh@suse.cz>
3311
3312 * i386.md (sqrt?f2): Change to expander.
3313 (sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
3314
3315 Tue Feb 13 15:42:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3316
3317 * rtlanal.c (find_reg_equal_equiv_note): New function.
3318 * simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
3319 (simplify_gen_relational, simplify_replace_rtx): Likewise.
3320 * rtl.h: Add declarations for above functions.
3321
3322 Tue Feb 13 21:09:11 CET 2001 Jan Hubicka <jh@suse.cz>
3323
3324 * cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
3325 conditionals.
3326 * defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
3327 * emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
3328 * flow.c (mark_regs_live_at_end): Likewise.
3329 (calculate_global_regs_live): Likewise.
3330 * gcse.c (compute_hash_table): Likewise.
3331 (compute_kill_rd): Likewise.
3332 * resource.c (mark_target_live_regs): Likewise.
3333 * rtl.h (INVALID_REGNUM): New macro.
3334
3335 Tue Feb 13 20:59:22 CET 2001 Jan Hubicka <jh@suse.cz>
3336
3337 * i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
3338
3339 Tue Feb 13 16:32:20 CET 2001 Jan Hubicka <jh@suse.cz>
3340
3341 * i386.md (fixsfsi2, fixdfdi2): Force operand to register
3342 for SSE.
3343
3344 Tue Feb 13 14:53:16 CET 2001 Jan Hubicka <jh@suse.cz>
3345
3346 * i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
3347 too.
3348 (fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
3349 (fop_sf_comm_sse, fop_df_comm_sse): New patterns.
3350 (fop_sf_1_sse, fop_df_1_sse): New patterns
3351 (fop_*): Disable float_extend and float patterns for SSE compilation.
3352 * i386.c (output_387_binary_op): Support SSE.
3353
3354 Tue Feb 13 14:16:34 CET 2001 Jan Hubicka <jh@suse.cz>
3355
3356 * i386.md (dummy_extendsfdf2): Support SSE2
3357 (extendsfdf2): Enable if 80387 or SSE2.
3358 (extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
3359 and no MIX_I387_SSE2
3360 (extendsfdf2_1_sse_only): New pattern.
3361 (truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
3362 of SSE.
3363 (truncdfsf2_1): Support SSE.
3364 (truncdfsf2_2): Support SSE.
3365 (truncdfsf2_2_1_sse): New pattern.
3366 (fixtruncsfsi2): Always use SSE if available.
3367 (fix_truncsfsi_sse): New pattern.
3368 (fix_truncdfsi_sse): New pattern.
3369 (floatsis?f2): Support SSE.
3370 (floatsidf2_i387): New pattern.
3371 (floatsidf2_sse): Likewise.
3372
3373 Tue Feb 13 07:52:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3374
3375 * configure.in: Use "have_gnat" variable, not "gnat".
3376 * configure: Regenerated.
3377
3378 * config/sparc/sparc.c (function_value): Treat all non-record
3379 aggregate types like used to treat UNION_TYPE.
3380
3381 Tue Feb 13 13:31:33 CET 2001 Jan Hubicka <jh@suse.cz>
3382
3383 * i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
3384 * i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
3385 (MASK_SSE2): New.
3386 (MASK_MIX_SSE_I387): New.
3387 (TARGET_SSE): SSE2 imply SSE.
3388 (TARGET_SSE2, TARGET_MIX_SSE_I387): New.
3389 (TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
3390 (enum reg_class): Add new classes.
3391 (REG_CLASS_NAMES): Likewise.
3392 (REG_CLASS_CONTENTS): Likewise.
3393 (ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
3394 (REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
3395 supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
3396 (CLASS_MAX_NREGS): Use new macros.
3397 (REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
3398 * i386.md (pushsf, movsf): Support SSE.
3399 (pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
3400 splitters to use ANY_FP_REGNO_P.
3401 (movdf_nointeger, movdf_integer): Likewise.
3402
3403 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
3404
3405 * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
3406 (try_combine): Use it.
3407
3408 Tue Feb 13 11:37:06 CET 2001 Jan Hubicka <jh@suse.cz>
3409
3410 * i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
3411 MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
3412 (PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
3413 (REGISTER_MOVE_COST): Likewise.
3414 * i386-protos.h (ix86_secondary_memory_needed,
3415 ix86_preferred_reload_class, ix86_register_move_cost): Declare.
3416 * i386.c (ix86_secondary_memory_needed,
3417 ix86_preferred_reload_class, ix86_register_move_cost): New function.
3418
3419 Die Feb 13 11:04:25 CET 2001 Jan Hubicka <jh@suse.cz>
3420
3421 * i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
3422 (HARD_REGNO_MODE_OK): Move offline to ....
3423 * i386.c (ix86_hard_regno_mode_ok) ... here;
3424 refuse all incorrect modes.
3425 * i386-protos.h (ix86_hard_regno_mode_ok): Declare.
3426
3427 2001-02-13 Richard Henderson <rth@redhat.com>
3428
3429 * sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
3430 entire operator; replicate that and match_dup the operands.
3431 (cmp_ccx_arith_op_set): Likewise.
3432 (cmp_cc_arith_op_not_set): Likewise.
3433 (cmp_ccx_arith_op_not_set): Likewise.
3434
3435 2001-02-13 Alexandre Oliva <aoliva@redhat.com>
3436
3437 * explow.c (trunc_int_for_mode): Sign-extend value to mode.
3438
3439 2001-02-12 Geoffrey Keating <geoffk@redhat.com>
3440
3441 * config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
3442 (TARGET_NO_BITFIELD_WORD): New macro.
3443 (SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
3444 (BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
3445
3446 Mon Feb 12 18:13:26 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3447
3448 * cselib.c: New file, from simplify-rtx.c.
3449 * simplify-rtx.c: Remove cselib parts.
3450 * Makefile.in: Add cselib.o.
3451
3452 2001-02-12 Geoffrey Keating <geoffk@redhat.com>
3453
3454 * config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
3455 (setup_incoming_varargs): Remove warning.
3456
3457 * config/rs6000/rs6000.c (validate_condition_mode): When
3458 flag_fast_math, allow floating-point conditionals to be reversed.
3459 (rs6000_generate_compare): When flag_fast_math, don't generate
3460 cror operations for FP conditionals.
3461
3462 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
3463 -mcall-i960.
3464 (ASM_SPEC): Likewise.
3465 (CC1_ENDIAN_LITTLE_SPEC): Likewise.
3466 (CC1_SPEC): Likewise.
3467 (LINK_TARGET_SPEC): Likewise.
3468 (CPP_ENDIAN_SPEC): Likewise.
3469 * Makefile.in (check-consistency): New target.
3470
3471 2001-02-12 Joseph S. Myers <jsm28@cam.ac.uk>
3472
3473 * c-decl.c (grokdeclarator): In C99 mode, give the more specific
3474 "return type defaults" warning for functions with return type
3475 defaulting to int.
3476 * c-lang.c (c_init): In C99 mode, enable warnings for implicit
3477 function declarations by default rather than only when pedantic.
3478
3479 Mon Feb 12 17:28:48 CET 2001 Jan Hubicka <jh@suse.cz>
3480
3481 * regclass.c (init_reg_sets_1): Optimize calculation of move_cost
3482 arrays.
3483
3484 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
3485
3486 * extend.texi (Deprecated): Deprecate new initializer lists.
3487
3488 2001-02-12 Nathan Sidwell <nathan@codesourcery.com>
3489
3490 * mkdeps.c (deps_add_default_target): Robustify. Add
3491 basename component only.
3492 * cpp.texi (-M): Describe how default target is generated.
3493 * invoke.texi (-M): Likewise.
3494
3495 2001-02-12 Kazu Hirata <kazu@hxi.com>
3496
3497 * toplev.c (push_float_handler): Remove.
3498 (pop_float_handler): Remove.
3499 * toplev.h: Remove prototypes for the above functions.
3500
3501 2001-02-12 Jakub Jelinek <jakub@redhat.com>
3502
3503 * c-common.c (constant_fits_type_p): New function.
3504 (convert_and_check): Use it.
3505
3506 2001-02-11 Mark Mitchell <mark@codesourcery.com>
3507
3508 * Makefile.in (GXX_ABI_FLAG): Don't define.
3509 * configure.in (--enable-new-gxx-abi): Remove option.
3510 * config.in: Regenerated.
3511 * configure: Likewise.
3512
3513 2001-02-12 Alexandre Oliva <aoliva@redhat.com>
3514
3515 * lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
3516 basic block.
3517 (optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
3518 regular basic block, and arrange for all edges into it to switch
3519 to normal mode.
3520
3521 2001-02-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3522
3523 * Makefile.in (distclean): Do not remove .gdbinit.
3524
3525 2001-02-11 Mark Mitchell <mark@codesourcery.com>
3526
3527 * Makefile.in (gcc.o): Fix typos.
3528 (protize.o): Likewise.
3529 (unprotoize.o): Likewise.
3530
3531 2001-02-11 Richard Henderson <rth@redhat.com>
3532
3533 * tree.c (build1): Check for null operand in last change.
3534
3535 2001-02-11 Richard Henderson <rth@redhat.com>
3536
3537 * fold-const.c (split_tree): Don't assume a constant isn't splittable.
3538 (fold): Don't assume a constant isn't foldable.
3539 * tree.c (build): Set TREE_CONSTANT for an expression with no
3540 side-effects and constant operands.
3541 (build1): Likewise.
3542
3543 2001-02-10 Richard Henderson <rth@redhat.com>
3544
3545 * jump.c (squeeze_notes): Revert 2000-05-12 change.
3546
3547 2001-02-10 Anthony Green <green@redhat.com>
3548
3549 * cpp.texi (Standard Predefined): Add documentation for
3550 __OPTIMIZE_SIZE__.
3551
3552 * c-common.c (combine_strings): Improve warning message.
3553
3554 2001-02-10 Geoffrey Keating <geoffk@redhat.com>
3555
3556 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
3557 --oformat.
3558 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
3559
3560 Fri Feb 9 15:05:27 2001 Christopher Faylor <cgf@cygnus.com>
3561
3562 * config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
3563 CYGWIN_CROSS_DIR.
3564
3565 2001-02-09 Alexandre Oliva <aoliva@redhat.com>
3566
3567 * config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
3568 fp_mode attribute.
3569
3570 2001-02-09 Nick Clifton <nickc@redhat.com>
3571
3572 * config/arm/arm.md: Change output contraint on post inc
3573 load/store multiple patterns to be a read/write contraint.
3574
3575 2001-02-09 Neil Booth <neil@daikokuya.demon.co.uk>
3576
3577 * gcc.c (cpp_options): Delete .d files on error. Don't delete
3578 .o files when using the -M options.
3579
3580 2001-02-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3581 David Edelsohn <edelsohn@gnu.org>
3582
3583 * config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
3584 handle DImode constants. Use one TOC entry for SImode and smaller
3585 constants, aligned properly.
3586
3587 2001-02-08 Jason Merrill <jason@redhat.com>
3588
3589 * config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
3590 about the SP adjustment for saving the static chain pointer.
3591 * dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
3592 offset when setting a temporary CFA register.
3593
3594 2001-02-08 Chandrakala Chavva <cchavva@redhat.com>
3595
3596 * config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
3597 powerpc-*-chorusos* .
3598 * config/rs6000/chorus.h : New file.
3599 * config/i386/chorus.h : New file.
3600 * config/sparc/chorus.h : New file.
3601 * config/sparc/t-chorus-elf : New file.
3602
3603 2001-02-08 David Edelsohn <edelsohn@gnu.org>
3604
3605 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
3606 * config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
3607 * config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
3608 (__WCHAR_TYPE__): Correct macro name.
3609
3610 2001-02-08 Richard Henderson <rth@redhat.com>
3611
3612 * config/i386/i386.c (ix86_frame_pointer_required): New.
3613 (ix86_setup_frame_addresses): New.
3614 (struct machine_funciton): Add accesses_prev_frame.
3615 * config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
3616 ix86_frame_pointer_required.
3617 (SUBTARGET_FRAME_POINTER_REQUIRED): New.
3618 (SETUP_FRAME_ADDRESSES): New.
3619 * config/i386/i386-protos.h: Update.
3620 * config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
3621 from FRAME_POINTER_REQUIRED.
3622 * config/i386/svr3gas.h: Likewise.
3623 * config/i386/sysv3.h: Likewise.
3624 * config/i386/v3gas.h: Likewise.
3625
3626 2001-02-08 Richard Henderson <rth@redhat.com>
3627
3628 * config/sparc/sparc.c (function_arg_record_value_3): Fix
3629 calculation of the number of integer registers required.
3630 (function_arg_record_value): Likewise.
3631
3632 2001-02-08 Jason Merrill <jason@redhat.com>
3633
3634 * diagnostic.c (internal_error): Say "confused" after 1 error, not
3635 two. Print file and line with "confused" message.
3636
3637 * dwarf2out.c (dwarf2out_line): Include filename in -dA output.
3638
3639 Thu Feb 8 11:21:28 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3640
3641 * rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
3642
3643 2001-02-08 Bernd Schmidt <bernds@redhat.com>
3644
3645 * final.c (cleanup_subreg_operands): The address of a MEM can
3646 contain SUBREGs.
3647
3648 * config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
3649 for asms, too.
3650
3651 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
3652
3653 * gcc.texi (Incompatibilities): Update documentation of
3654 preprocessing numbers.
3655
3656 2001-02-07 Jakub Jelinek <jakub@redhat.com>
3657
3658 * c-decl.c (finish_enum): Revert part of 2000-01-05 change.
3659
3660 2001-02-07 Mark Mitchell <mark@codesourcery.com>
3661
3662 * config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
3663
3664 * defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
3665 * gcc.c (struct compiler): Add cpp_spec field.
3666 (input_file_compiler): New variable.
3667 (do_spec_1): Allow a particular compiler to handle `%C'
3668 specially.
3669 (main): Store the current compiler in input_file_compiler.
3670 * tm.texi (CPLUSPLUS_CPP_SPEC): Document.
3671
3672 2001-02-07 Zack Weinberg <zack@wolery.stanford.edu>
3673
3674 * cpphash.h (struct spec_nodes): Add n_true and n_false.
3675 * cppinit.c (cpp_create_reader): Initialize them.
3676 (append_include_chain): cxx_aware arg might be unused.
3677 * cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
3678 keywords and give them their phase 7 meaning. Pedwarn about
3679 this unless '__bool_true_false_are_defined' is defined.
3680
3681 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
3682
3683 * lcm.c (optimize_mode_switching): Emit mode_set before the
3684 JUMP_INSN of an abnormal edge.
3685
3686 2001-02-07 Bernd Schmidt <bernds@redhat.com>
3687
3688 * builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
3689 a scheduling barrier at the end.
3690
3691 * tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
3692
3693 2001-02-07 Alexandre Oliva <aoliva@redhat.com>
3694
3695 * config/sh/sh.md (reload_outsf): Removed.
3696 (movsf_ie): Introduce constraints for FPUL loads and stores.
3697 (reload_insf): Broaden the output constraint.
3698
3699 * config/elfos.h (INT_ASM_OP): Don't define it if it's already
3700 defined.
3701 * config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
3702 ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
3703
3704 2001-02-06 Chandrakala Chavva <cchavva@redhat.com>
3705
3706 * final.c: Revert my previous changes.
3707 * output.h: Make profile_label_no extern.
3708 * config/rs6000/rs6000.c (output_profile_hook): Use standard functions
3709 for generating label.
3710
3711 2001-02-06 Laurynas Biveinis <lauras@softhome.net>
3712
3713 * config/i386/djgpp.h: Add comments about standard paths.
3714 (MD_EXEC_PREFIX): Undefine before defining.
3715 (MD_STARTFILE_PREFIX): New.
3716
3717 2001-01-30 Bruce Korb <bkorb@gnu.org>
3718
3719 fixinc/fixincl.c(process): Emit error message only if appropriate :)
3720 (load_file): do not rely on load_file_data() to close file pointer
3721 fixinc/fixlib.c(load_file_data): do not close passed in file pointer
3722 fixinc/inclhack.def(irix_limits_const): add test_text
3723
3724 2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
3725
3726 * cppexp.c (parse_defined): Improve diagnostics for invalid
3727 syntax.
3728
3729 2001-02-06 Neil Booth <neil@daikokuya.demon.co.uk>
3730
3731 * cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
3732
3733 2001-02-06 Mark Mitchell <mark@codesourcery.com>
3734
3735 * config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
3736 * config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
3737 * config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
3738 (rs6000_output_symbol_ref): New function.
3739 (output_toc): Use VTABLE_NAME_P.
3740
3741 Tue Feb 6 07:54:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3742
3743 * print-tree.c (print_node, case PARM_DECL):
3744 Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
3745
3746 * stor-layout.c (reference_types_internal): New variable.
3747 (internal_reference_types): New function.
3748 (layout_type, case REFERENCE_TYPE): Make Pmode if internal.
3749 * tree.h (internal_reference_types): New declaration.
3750
3751 * cse.c (find_best_addr): Fix typo in computing cost.
3752
3753 Mon Feb 5 21:56:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3754
3755 * combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
3756 and this is the sum of a pointer and a constant, we know the result
3757 did not overflow.
3758 (num_sign_bit_copies, case PLUS): Likewise.
3759 * explow.c (convert_memory_address): Remove opposite SUBREG.
3760 * function.c (instantiate_new_reg): New function (from common code).
3761 (instantiate_virtual_regs_1): Call it.
3762 For PLUS, handle if (plus (subreg (virt-reg) (const_int))
3763 if pointers sign- or zero-extend.
3764 * simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
3765 If pointers extend unsigned, use inside of SUBREG.
3766 (simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
3767
3768 2001-02-05 Benjamin Kosnik <bkoz@redhat.com>
3769
3770 * Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
3771 subdir of gcc_gxx_include_dir.
3772 (gcc_gxx_target_include_dir): Remove.
3773
3774 2001-02-05 Jeffrey Oldham <oldham@codesourcery.com>
3775
3776 * dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
3777 (dwarf2out_frame_debug_expr): Revise introductory comments to add
3778 a high-level description.
3779
3780 2001-02-05 Chandrakala Chavva <cchavva@redhat.com>
3781
3782 * final.c: Move the declaration of profile_label_no to ...
3783 * output.h: ... here.
3784 * function.c (expand_function_start): Call PROFILE_HOOK.
3785 * config/rs6000/aix.h: Define PROFILE_HOOK.
3786 * config/rs6000/rs6000-protos.h: output_profile_hook new.
3787 * config/rs6000/rs6000.c (output_profile_hook): Define.
3788 (output_prolog): Do nothing for ABI_AIX as it is taken care by
3789 output_profile_hook.
3790 tm.texi : Explain new macro PROFILE_HOOK.
3791
3792 2001-02-06 Hans-Peter Nilsson <hp@axis.com>
3793
3794 * extend.texi (Extended Asm): Do not say that semicolon is always
3795 a valid line-breaking character for GNU assemblers. Use
3796 newline-tab as the most commonly supported syntax. Use
3797 newline-tab rather than semicolon in multi-insn examples.
3798
3799 2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3800
3801 * Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
3802
3803 2001-02-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3804 David Edelsohn <edelsohn@gnu.org>
3805
3806 * config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
3807 code for AIX, even without flag_pic.
3808
3809 2001-02-05 Jakub Jelinek <jakub@redhat.com>
3810
3811 * c-typeck.c (common_type): push and pop binding level around
3812 calling common_type on function parameters.
3813
3814 Mon Feb 5 14:30:37 2001 Christopher Faylor <cgf@cygnus.com>
3815
3816 * config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
3817
3818 Mon Feb 5 11:23:16 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3819
3820 * config/mips/mips.c (override_options): Fix typo in last change.
3821 (mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
3822 (mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
3823
3824 2001-02-05 Nathan Sidwell <nathan@codesourcery.com>
3825
3826 * invoke.texi (-fdump-class-layout): Document.
3827 (-fdump-translation-unit): Use `=' as filename separator.
3828
3829 2001-02-05 Mark Mitchell <mark@codesourcery.com>
3830
3831 * Makefile.in (s-mlib): Don't build multilibs if
3832 --disable-multilib.
3833 (DRIVER_DEFINES): Adjust accordingly.
3834 (gcc.o): Likewise.
3835 (protoize.o): Likewise.
3836 (unprotoize.o): Likewise.
3837 * configure.in: Recognize --enable-multilib.
3838
3839 2001-02-04 Mark Mitchell <mark@codesourcery.com>
3840
3841 * Makefile.in (DRIVER_DEFINES): Fix quoting.
3842
3843 * Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
3844 * configure.in: Remove --enable-libstdcxx_v3 support.
3845 * configure: Regenerated.
3846
3847 Sun Feb 4 15:52:44 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3848
3849 * config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
3850 Call abort instead of fatal.
3851 (TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
3852 * config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
3853 (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
3854 (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
3855 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
3856 * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
3857
3858 * diagnostic.h (set_internal_error_function): Renamed.
3859 * toplev.h (internal_error): Renamed from fatal.
3860 (pfatal_with_name): Deleted.
3861 (fatal_io_error): Now has printf-style arguments.
3862 * diagnostic.c (pfatal_with_name): Deleted.
3863 (fatal_io_error): Rework to have args in printf-style.
3864 (set_internal_error_function): Renamed from set_fatal_function.
3865 (internal_error): Renamed from fatal.
3866 (error_recursion, fancy_abort): Call internal_error instead of fatal.
3867 * dwarf2out.c (get_cfa_from_loc_descr): Likewise.
3868 * emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
3869 * expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
3870 * flow.c (verify_flow_info): Likewise.
3871 * config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
3872 * config/mips/mips.c (save_restore_insns): Likewise.
3873
3874 * except.c (duplicate_eh_handlers): Call abort instead of fatal.
3875 * flow.c (verify_flow_info): Likewise.
3876 * config/arm/arm.c (thumb_load_double_from_address): Likewise.
3877 * config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
3878 (avr_normalize_condition): Likewise.
3879 * config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
3880 * config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
3881 (limit_reload_class, double_reg_to_memory): Likewise.
3882 (print_operand_address, emit_1600_code_shift): Likewise.
3883 (gen_tst_reg, gen_compare_reg): Likewise.
3884 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
3885 * config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
3886 Deleted.
3887 * config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
3888
3889 * c-parse.in (methoddef): Call fatal_error instead of fatal.
3890 * objc/objc-act.c (build_ivar_chain): Likewise.
3891 * dwarfout.c (dwarfout_init): Call fatal_io_error instead of
3892 pfatal_with_name.
3893 * graph.c (clean_graph_dump_file): Likewise.
3894 * profile.c (init_branch_prob): Likewise.
3895 * objc/objc-act.c (objc_init): Likewise.
3896
3897 * config/arm/arm.c (arm_override_options): Make errors non-fatal.
3898 * config/avr/avr.c (avr_override_options): Likewise.
3899 * config/c4x/c4x.c (c4x_expand_prologue): Likewise.
3900 * config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
3901 * config/h8300/h8300.c (h8300_init_once): Likewise.
3902 * config/mips/mips.c (override_options): Likewise.
3903 * config/i386/i386.c (override_options): Likewise, rework.
3904 * config/m68k/m68k.c (override_options): Likewise.
3905
3906 * config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
3907 instead of fatal.
3908 * config/mips/mips.c (print_operand): Likewise.
3909 * hash.c (hash_allocate): Don't check for failure returns from
3910 obstack functions that can't fail.
3911 (hash_table_init_n, hash_table_init): Likewise; also now return void.
3912 * hash.h (hash_table_init_n, hash_table_init): Now return void.
3913 * objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
3914 (get_object_reference): Likewise.
3915
3916 2001-02-04 Nick Clifton <nickc@redhat.com>
3917
3918 * config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
3919 StrongARM1110, 10TDMI, and 1020T.
3920
3921 2001-02-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3922
3923 * mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
3924
3925 2001-02-04 Alexandre Oliva <aoliva@redhat.com>
3926
3927 * config/sh/sh.md (movdf load split): Pass register number to
3928 FP_OR_XD_REGISTER_P.
3929
3930 2001-02-04 Mark Mitchell <mark@codesourcery.com>
3931
3932 * cppinit.c (BC): New macro.
3933 (builtin_array): Add __GXX_WEAK__.
3934 * cpplib.h (builtin_type): Add BT_WEAK.
3935 * cppmacro.c (builtin_macro): Handle BT_WEAK.
3936 * defaults.h (SUPPORTS_ONE_ONLY): Define.
3937 * varasm.c (SUPPORTS_ONE_ONLY): Do not define.
3938
3939 2001-02-03 Jakub Jelinek <jakub@redhat.com>
3940
3941 * cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
3942
3943 2001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
3944
3945 * cpphash.h: Rename _ALIGN POOL_ALIGN.
3946 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3947
3948 2001-02-03 Neil Booth <neil@daikokuya.demon.co.uk>
3949
3950 * cpphash.h: Rename ALIGN _ALIGN.
3951 * cpplex.c (new_chunk, _cpp_pool_reserve): Update.
3952
3953 Fri Feb 2 23:15:29 2001 Christopher Faylor <cgf@cygnus.com>
3954
3955 * config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
3956 compilation environment.
3957 * config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
3958 control over location of cygwin includes and libs.
3959
3960 2001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
3961
3962 * c4x.h (HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
3963
3964 2001-02-02 lars brinkhoff <lars@nocrew.org>
3965
3966 * md.texi (Standard Names): remove reference to spur.md.
3967
3968 2001-02-03 Michael Hayes <m.hayes@elec.canterbury.ac.nz)
3969
3970 * c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
3971 (HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
3972 (INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
3973 * c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
3974 (c4x_expand_prologue, c4x_expand_epilogue): Likewise.
3975
3976 2001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3977
3978 * c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
3979 c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
3980 number before reload.
3981 (c4x_adjust_cost): Return zero before reload.
3982 * c4x.md (load_immed_address+1, load_immed_address+2): Do not
3983 split before reload.
3984
3985 2001-02-03 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3986
3987 * c4x.c (c4x_hard_regno_rename_ok): New.
3988 * c4x-protos.h (c4x_hard_regno_rename_ok): New.
3989 * c4x.h (HARD_REGNO_RENAME_OK): Define.
3990
3991 Fri Feb 2 20:03:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
3992
3993 * diagnostic.h: Add missing "extern" in all declarations.
3994
3995 2001-02-02 Alex Samuel <samuel@codesourcery.com>
3996
3997 * Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
3998 as for gcc_gxx_include_dir.
3999
4000 2001-02-02 Neil Booth <neil@daikokuya.demon.co.uk>
4001
4002 * cpp.texi, invoke.texi: Update -Wtraditional documentation.
4003
4004 2001-02-02 Alexandre Oliva <aoliva@redhat.com>
4005
4006 * config/sh/sh.c (output_far_jump): Don't use braf on SH1. Emit
4007 label before alignment to be used as the braf base address.
4008 * config/sh/sh.md (length): Use longer lengths for SH1 PIC far
4009 branches.
4010 (casesi_jump_2): Require at least TARGET_SH2.
4011
4012 * config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
4013 truncation to 32-bit doubles on -m3e and -m4-single-only.
4014
4015 2001-02-02 Mark Mitchell <mark@codesourcery.com>
4016
4017 * gcc.c (init_gcc_specs): New function. Make -shared-libgcc
4018 the default when building a shared object.
4019 (init_spec): Use it.
4020 * testsuite/lib/g++.exp: Include the directory where libgcc
4021 is located to the LD_LIBRARY_PATH list.
4022 * invoke.texi (-shared-libgcc): Document the cases in which
4023 GCC defaults to using the shared libgcc.
4024
4025 2001-02-02 Alexandre Oliva <aoliva@redhat.com>
4026
4027 * config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
4028 unsigned is wide enough.
4029 (BITS_PER_SI): New.
4030 * config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
4031 (si_to_float): Likewise.
4032 (float_to_si, float_to_usi): Use BITS_PER_SI.
4033
4034 2001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
4035
4036 * dwarf2out.c: Added explanation of abbreviations.
4037 (def_cfa_1): Added comments listing DWARF2 instructions.
4038 (cfa_temp_reg): Removed in favor of cfa_temp.
4039 (cfa_temp_value): Removed in favor of cfa_temp.
4040 (cfa_temp): New global variable.
4041 (dwarf2out_frame_debug_expr): Added extensive introductory
4042 comments explaining the function's transformations. Revised to
4043 use cfa_temp. Added some rtx checking. Generalize IOR case.
4044 (dwarf2out_frame_debug): Revised to use cfa_temp.
4045 (output_aranges): Cast as "unsigned" to avoid warning.
4046 * rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
4047 explain which instructions must be marked.
4048
4049 2001-02-01 Richard Henderson <rth@redhat.com>
4050
4051 * local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
4052 new instruction.
4053
4054 2001-02-01 Alexandre Oliva <aoliva@redhat.com>
4055
4056 * config/sh/crt1.asm (main_k): Modified so that start calls
4057 ___setup_argv_and_call_main.
4058
4059 2001-02-01 Neil Booth <neil@daikokuya.demon.co.uk>
4060
4061 * cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
4062 * cpplex.c (_cpp_lex_token): New token picks up the saved flags,
4063 and AVOID_LPASTE is cleared on meeting an unescaped newline.
4064 * cppmacro.c (builtin_macro): Set builtin flags here.
4065 (paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
4066 (replace_args): Clarify intent.
4067 (cpp_get_token): Macro expansion tokens get the saved flags.
4068 Update.
4069 * cppmain.c (scan_buffer): Remove now-redundant print.printed
4070 check.
4071
4072 2001-02-01 Jeffrey Oldham <oldham@codesourcery.com>
4073
4074 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
4075 2001-Jan-29.
4076
4077 Thu Feb 1 07:22:41 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4078
4079 * builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
4080 returns Pmode pseudo, but we need ptr_mode.
4081 * explow.c (allocate_dynamic_stack_space): Use plus_constant.
4082 Remove bogus conversions; use HOST_WIDE_INT for size.
4083 Don't use TARGET if wrong mode.
4084
4085 * config/i386/i386.c (ix86_compute_frame_size): Allow
4086 stack_alignment_needed to be non-default even if size is zero.
4087
4088 2001-01-31 Alan Modra <alan@linuxcare.com.au>
4089
4090 * (hppa_init_pic_save): Emit the pic offset table
4091 reg save after last_parm_insn.
4092 * pa.c (hppa_init_pic_save): New function.
4093 * pa.h (hppa_init_pic_save): Declare.
4094 * pa.md (call, call_value, sibcall, sibcall_value): Use
4095 the above instead of duplicated code.
4096
4097 * pa.c (hppa_encode_label): Correct size of alloca buffer
4098 so we don't overrun it. Correct leading `*' case.
4099 * pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
4100 need to handle `*@'.
4101 (FUNCTION_NAME_P): Likewise.
4102
4103 2001-01-31 Richard Henderson <rth@redhat.com>
4104
4105 * config.gcc (alpha-osf5): Use float-i128.h.
4106
4107 * config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
4108 * config/float-i32.h: Likewise.
4109 * config/float-i64.h: Likewise.
4110 * config/float-sh.h: Likewise.
4111 * config/float-sparc.h: Likewise.
4112
4113 2001-01-31 DJ Delorie <dj@redhat.com>
4114
4115 * expmed.c (extract_bit_field): allow non-integral modes if we
4116 want to extract a whole register from itself.
4117
4118 2001-01-31 Jakub Jelinek <jakub@redhat.com>
4119
4120 * c-typeck.c (set_init_index): If first is equal to last, assume as
4121 if it was not a range at all.
4122
4123 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
4124
4125 * config/fp-bit.c: Include tm.h.
4126 (float_to_si): Don't assume SImode is 32-bits wide.
4127 (float_to_usi): Likewise.
4128
4129 2001-01-31 Joseph S. Myers <jsm28@cam.ac.uk>
4130
4131 * c-parse.in (structsp): Pedwarn when "enum foo" refers to an
4132 incomplete type.
4133 (typename): Call pending_xref_error after parsing typed_typespecs.
4134 * c-decl.c (lookup_tag): Give error immediately rather than
4135 leaving it pending if the tag of the wrong type is in the same
4136 binding level.
4137 (xref_tag): Don't pedwarn for forward declarations of enum types
4138 here.
4139 * gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
4140 and enum tags.
4141
4142 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
4143
4144 * config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
4145
4146 2001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
4147
4148 * cpplib.c (T_ELIF): Move to STDC89, not that it matters.
4149 (_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
4150
4151 2001-01-31 Neil Booth <neil@daikokuya.demon.co.uk>
4152
4153 * cpphash.h (struct cpp_reader): New saved_flags.
4154 * cppmacro.c (cpp_get_token): Use saved_flags to remember
4155 to avoid a paste after a pasted token.
4156
4157 2001-01-31 Alexandre Oliva <aoliva@redhat.com>
4158
4159 * libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
4160 * libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
4161 Wtype_MIN instead of LONG_MIN.
4162
4163 2001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
4164
4165 * fixinc/fixincl.tpl: Add 2001 to copyright. Change name of
4166 README file.
4167 * fixinc/fixincl.x: Regenerated.
4168 * fixinc/inclhack.def (irix_limits_const): New definition to
4169 convert "const" to "__const" in limits.h.
4170
4171 2001-01-30 Jeffrey Oldham <oldham@codesourcery.com>
4172
4173 * fixinc/genfixes (AG): Fix "autogen4" thinko.
4174
4175 2001-01-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4176
4177 * regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
4178 when register dies in the insn.
4179
4180 2001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
4181
4182 * diagnostic.c (fatal): Fix word wrap.
4183
4184 2001-01-30 Alexandre Oliva <aoliva@redhat.com>
4185
4186 * combine.c (try_combine): Fix SUBREG setting for
4187 HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
4188
4189 2001-01-30 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4190
4191 * jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
4192 comparison codes.
4193
4194 2001-01-30 Neil Booth <neil@daikokuya.demon.co.uk>
4195
4196 * c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
4197 is not NULL.
4198 * toplev.c (decode_W_option): Update warn_larger_than
4199 unconditionally for each processed switch.
4200
4201 2001-01-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
4202
4203 * pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
4204 to NULL_RTX.
4205 (hppa_expand_prologue): Delete code to save pic offset table register
4206 in the function prologue.
4207 * pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
4208 * pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
4209 table register at the beginning of the function after the prologue.
4210
4211 2001-01-29 lars brinkhoff <lars@nocrew.org>
4212
4213 * tm.texi (PUSH_ROUNDING): Remove duplicate lines.
4214
4215 2001-01-29 John David Anglin <dave@hiauly1.hia.nrc.ca>
4216 Jeff Law <law@redhat.com>
4217
4218 * pa.md (return): Revise comment for trivial return.
4219 (return_internal): Non-trivial return pattern for non-PIC code.
4220 (return_internal_pic): Non-trivial return pattern for PIC code.
4221 It uses the PIC register to ensure it is restored after
4222 function calls.
4223 (epilogue): Generate appropriate return for PIC and non-PIC code.
4224
4225 Mon Jan 29 23:53:14 2001 Christopher Faylor <cgf@cygnus.com>
4226
4227 * config/i386/cygwin.h: Fix -mno-cygwin search path for link.
4228
4229 2001-01-29 DJ Delorie <dj@redhat.com>
4230
4231 * combine.c (if_then_else_cond): Pass the correct mode to
4232 operand_subword() for constants.
4233
4234 Mon Jan 29 20:38:19 2001 Christopher Faylor <cgf@cygnus.com>
4235
4236 * config/i386/cygwin.h: Add w32api to include search. Search different
4237 directories in a cross-build environment.
4238
4239 2001-11-29 Tim Josling <tej@melbpc.org.au>
4240
4241 * tree.h (TYPE_STUB_DECL): Add documentation.
4242
4243 2001-11-29 Laurynas Biveinis <lauras@softhome.net>
4244
4245 * sdbout.c (sdbout_one_type): Skip types with indeterminate size.
4246 (sdbout_field_types): Likwise. Fix use of host_integerp.
4247
4248 2001-01-29 Thomas Pfaff <tpfaff@gmx.net>
4249
4250 * mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
4251 cygwin.h.
4252
4253 2001-01-29 Jeffrey Oldham <oldham@codesourcery.com>
4254
4255 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
4256 to use flag_gnu_linker.
4257
4258 2001-01-29 Neil Booth <neil@daikokuya.demon.co.uk>
4259
4260 * cpplib.c (T_BAD_DIRECTIVE): Remove.
4261 (_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
4262
4263 2001-01-29 Joseph S. Myers <jsm28@cam.ac.uk>
4264
4265 * tree.c, tree.h (build_parse_node): Remove; was identical to
4266 build_nt.
4267 * c-lang.c (start_cdtor), objc/objc-act.c
4268 (build_module_descriptor): Use build_nt instead of
4269 build_parse_node.
4270
4271 2001-01-29 Jakub Jelinek <jakub@redhat.com>
4272
4273 * config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
4274 (testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
4275 not have any upper bits set.
4276
4277 2001-01-29 Phil Edwards <pme@sources.redhat.com>
4278
4279 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
4280
4281 2001-01-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4282
4283 * stmt.c (estimate_case_costs): Use integer_minus_one_node.
4284
4285 * tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
4286
4287 * tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
4288 (integer_minus_one_node): Define.
4289
4290 2001-01-28 Alexandre Oliva <aoliva@redhat.com>
4291
4292 * Makefile.in (bootstrap2-lean): Fix typo.
4293
4294 2001-01-28 Neil Booth <neil@daikokuya.demon.co.uk>
4295
4296 * cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
4297 : Don't set fe_value.
4298 * cpplib.h (AVOID_LPASTE): New flag.
4299 (struct cpp_hashnode): Remove fe_value.
4300 * cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
4301 * cppmacro.c (builtin_macro): Don't set flags here.
4302 (replace_args): Set AVOID_LPASTE flag on first token of an
4303 argument, and the token following it.
4304 (cpp_get_token): Set AVOID_LPASTE flag on first token of a
4305 macro expansion, and on the token following it. Do it for
4306 builtins too.
4307 * cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
4308
4309 2001-01-27 Richard Henderson <rth@redhat.com>
4310
4311 * config/alpha/t-ieee: Remove multilibbing.
4312 (TARGET_LIBGCC2_CFLAGS): Add -mieee.
4313
4314 2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4315
4316 * configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
4317
4318 * Makefile.in: Remove all dependencies on defaults.h.
4319 * builtins.c: Don't include defaults.h.
4320 * c-common.c: Likewise.
4321 * c-decl.c: Likewise.
4322 * c-pragma.c: Likewise.
4323 * c-typeck.c: Likewise.
4324 * combine.c: Likewise.
4325 * i386.c: Likewise.
4326 * frame-ia64.c: Likewise.
4327 * cppexp.c: Likewise.
4328 * crtstuff.c: Likewise.
4329 * dbxout.c: Likewise.
4330 * dwarf2out.c: Likewise.
4331 * dwarfout.c: Likewise.
4332 * emit-rtl.c: Likewise.
4333 * except.c: Likewise.
4334 * expr.c: Likewise.
4335 * final.c: Likewise.
4336 * frame-dwarf2.c: Likewise.
4337 * libgcc2.c: Likewise.
4338 * optabs.c: Likewise.
4339 * profile.c: Likewise.
4340 * sdbout.c: Likewise.
4341 * toplev.c: Likewise.
4342 * tradcif.y: Likewise.
4343 * tree.c: Likewise.
4344 * varasm.c: Likewise.
4345
4346 2001-01-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4347
4348 * builtins.c (expand_builtin_fputs): Use size_one_node when
4349 transforming into fwrite.
4350
4351 2001-01-27 Joseph S. Myers <jsm28@cam.ac.uk>
4352
4353 * extend.texi (Attribute Syntax): New section.
4354
4355 2001-01-27 Michael Sokolov <msokolov@ivan.Harhan.ORG>
4356
4357 * fixproto: Correctly install synthesised unistd.h and stdlib.h when
4358 they didn't need fixing.
4359
4360 2001-01-27 Janis Johnson <janis@us.ibm.com>
4361
4362 * config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
4363 if appropriate.
4364 * config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
4365 to remove macro definitions that are duplicated from elfos.h.
4366
4367 2001-01-27 Richard Henderson <rth@redhat.com>
4368
4369 * config/i386/sco5gas.h: Move ...
4370 * config/usegas.h: ... here.
4371 * config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
4372
4373 2001-01-27 Jakub Jelinek <jakub@redhat.com>
4374
4375 * c-typeck.c (struct constructor_stack): Add range_stack member.
4376 (really_start_incremental_init): Clear it.
4377 (push_init_level): Save constructor_range_stack and clear it if
4378 pushing explicit braces.
4379 (pop_init_level): abort if constructor_range_stack is non-zero at
4380 explicit closing brace. Restore saved constructor_range_stack if
4381 not implicit.
4382
4383 2001-01-27 Alexandre Oliva <aoliva@redhat.com>
4384
4385 * expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
4386 into register was forced into memory.
4387
4388 2001-01-27 Alexandre Oliva <aoliva@redhat.com>
4389
4390 * Makefile.in: Remove uses of + before $(MAKE).
4391
4392 2001-01-26 Richard Henderson <rth@redhat.com>
4393
4394 * stmt.c (cost_table): Remove.
4395 (COST_TABLE, cost_table_initialized): New.
4396 (estimate_case_costs): Use the later instead of the former.
4397 (balance_case_nodes): Likewise.
4398
4399 2001-01-26 Richard Henderson <rth@redhat.com>
4400
4401 * alias.c (objects_must_conflict_p): Read-only slots may not
4402 conflict despite having the same type.
4403
4404 2001-01-27 Michael Hayes <mhayes@redhat.com>
4405
4406 * loop.c (loop_giv_reduce_benefit): Copy mode size into
4407 int variable.
4408 (check_ext_dependant_givs): Initialise u_start_val and
4409 u_end_val.
4410 (load_mems): Make last_max_reg unsigned.
4411 (try_swap_copy_prop): Use INSN_P and initialise set.
4412
4413 Fri Jan 26 23:22:58 2001 Denis Chertykov <denisc@overta.ru>
4414
4415 * README.AVR : Removed.
4416
4417 Fri Jan 26 11:37:26 2001 Jeffrey A Law (law@cygnus.com)
4418
4419 * pa-64.h (text_section): Remove declaration.
4420
4421 * pa.md (return_internal): Remove mode on PIC register use.
4422
4423 2001-01-25 lars brinkhoff <lars@nocrew.org>
4424
4425 * tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
4426 ASM_CLOSE_PAREN): fix typos.
4427
4428 2001-01-25 Mark Mitchell <mark@codesourcery.com>
4429
4430 * acconfig.h: Define `const' to the empty string if neither
4431 __STDC__ nor __cplusplus is defined.
4432 * config.in: Regenerated.
4433
4434 2001-01-25 David Edelsohn <edelsohn@gnu.org>
4435
4436 * config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
4437 * collect2.c (main): Delete importf. Add ".obj" file extension.
4438 (GCC_CHECK_HDR): Handle AIX V5 new magic number.
4439 (aix_std_libs): Add additional AIX libraries to skip.
4440 * config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
4441 * config/rs6000/aix51.h: New file.
4442
4443 2001-01-25 Michael Hayes <mhayes@redhat.com>
4444
4445 * loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
4446 (loop_insn_emit_before): No longer static.
4447 (move_movables): Replace emit_insn_after with loop_insn_emit_after.
4448 (loop_givs_rescan, load_mems): Likewise.
4449 (check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
4450 (maybe_eliminate_biv_1):
4451 (move_movables): Replace emit_call_insn_before with
4452 loop_call_insn_hoist.
4453 * loop.h (loop_insn_emit_before): Add.
4454 * unroll.c (copy_loop_body): Replace emit_insn_before with
4455 loop_insn_emit_before.
4456
4457 2001-01-25 Neil Booth <neil@daikokuya.demon.co.uk>
4458
4459 * diagnostic.c (fatal): Request preprocessed source.
4460
4461 Thu Jan 25 02:01:16 2001 J"orn Rennecke <amylaar@redhat.com>
4462
4463 * c-decl.c (duplicate_decls): If different_binding_level is nonzero,
4464 olddecl has argument types and newdecl has none, use the argument
4465 types from olddecl.
4466
4467 2001-01-24 Ulrich Drepper <drepper@redhat.com>
4468
4469 * dwarf2out.c (prefix_of): New function. Determine longest common
4470 prefix of the two arguments. The units are whole path components.
4471 (output_file_names): When adding a new directory find the one entry
4472 with the longest common prefix already in the list. Artificially
4473 generate entry if there is none for this prefix.
4474 Fix test to check whether the zeroth directory entry is used.
4475
4476 Wed Jan 24 23:51:55 2001 J"orn Rennecke <amylaar@redhat.com>
4477
4478 * reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
4479 Changed all callers. Take it into account when deciding if a
4480 previously loaded value matches.
4481
4482 2001-01-24 Richard Henderson <rth@redhat.com>
4483
4484 * reload.c (find_reloads_subreg_address): Fail the substitution
4485 if the resulting address is insufficiently aligned.
4486
4487 2001-01-24 DJ Delorie <dj@redhat.com>
4488
4489 * combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
4490 check the original operand's mode also.
4491 * simplify-rtx.c (simplify_ternary_operation): Ditto.
4492
4493 2001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
4494
4495 * c-parse.in (cast_expr): Move compound literals from here ...
4496 (primary): ... to here. Use standard terminology "compound
4497 literal" instead of "constructor expression".
4498
4499 2001-01-24 Joseph S. Myers <jsm28@cam.ac.uk>
4500
4501 * gcc.1, cpp.1: Regenerate.
4502
4503 2001-01-24 Alexandre Oliva <aoliva@redhat.com>
4504
4505 * calls.c (emit_library_call_value_1): Memory slot for
4506 pass-by-reference argument should have the mode of the argument,
4507 not of the pointer to it.
4508
4509 2001-01-24 Tom Tromey <tromey@redhat.com>
4510
4511 * gcc.texi (G++ and GCC): Mention gcj manual.
4512 (Standards): Link to section of manual mentioning gcj/Java
4513 compatibility.
4514
4515 2001-01-24 Jakub Jelinek <jakub@redhat.com>
4516
4517 * cppfiles.c (_cpp_read_file): Add to dependencies if requested.
4518 * cppinit.c (cpp_start_read): Remove deps_add_dep call.
4519 * tradcpp.c (main): Add -imacros or -include'd dependencies
4520 for -M*.
4521 * cpp.texi (-M, -MM): Document -M -include behaviour.
4522
4523 2001-01-24 Roger Collins <roger@ProProject.com>
4524
4525 * config/i386/xm-i386.h: Make __i386__ a boolean macro.
4526
4527 2001-01-24 Will Cohen <wcohen@redhat.com>
4528
4529 * config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
4530 whether registers are 32 bits or 64 bits in size.
4531
4532 2001-01-24 Ben Elliston <bje@redhat.com>
4533
4534 * config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
4535
4536 2001-01-24 Richard Henderson <rth@redhat.com>
4537
4538 * config/alpha/alpha.md (builtin_longjmp_internal): New.
4539 (builtin_longjmp): Use it instead of emit_indirect_jump.
4540
4541 2001-01-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
4542
4543 * bb-reorder.c (make_reorder_chain_1): Handle case where
4544 jump edge goes to the same block as the fallthru edge.
4545
4546 2001-01-23 Jim Wilson <wilson@redhat.com>
4547
4548 * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
4549 * frame.h (__ia64_personality_v1): Add prototype.
4550 * libgcc2.c (ia64_throw_helper): Change personality declaration to
4551 prototype form. Add void * cast to first argument to personality
4552 call.
4553 * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
4554 (asctoe113): Likewise.
4555 * config/ia64/frame-ia64.c: Include eh-common.h.
4556 * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
4557 prototypes.
4558 * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
4559 to dump parameter.
4560 (itanium_split_issue): Add prototype.
4561 (gen_nop_type): Ifdef out.
4562 (find_best_packet): Initialize best_packet.
4563 (ia64_encode_section_info): New local string. Use for ggc_alloc_string
4564 result.
4565 * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
4566 * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
4567 (flushrs): Add explicit stop bit at end.
4568 * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
4569 trailing \ to >.
4570
4571 2001-01-23 Chris Demetriou <cgd@broadcom.com>
4572
4573 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
4574 of EH symbols.
4575 * libgcc2.c (__terminate_func): Make variable static.
4576 (__terminate_set_func): New function to set __terminate_func.
4577 * libgcc2.h (__terminate_func_ptr): New typedef.
4578 (__terminate_set_func): New function.
4579
4580 2001-01-23 Richard Henderson <rth@redhat.com>
4581
4582 * flow.c (init_propagate_block_info): Don't consider unchanging
4583 memories for dead frame store elimination.
4584
4585 2001-01-23 Richard Henderson <rth@redhat.com>
4586
4587 * varasm.c (UNIQUE_SECTION): Move default implementation ...
4588 * defaults.h: ... here.
4589
4590 2001-01-24 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
4591
4592 * c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
4593
4594 2001-01-23 Neil Booth <neil@daikokuya.demon.co.uk>
4595
4596 * c-lex.c (lex_charconst): Fix typo: s/p/str.
4597
4598 2001-01-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4599
4600 * rs6000.h (rs6000_return_addr): Move prototype from here...
4601 * rs6000-protos.h (rs6000_return_addr): ...to here.
4602 (rs6000_init_expanders): Delete prototype.
4603
4604 2001-01-23 Nick Clifton <nickc@redhat.com>
4605
4606 * invoke.texi: Replace , with \, inside @gccoptlist macros.
4607 (Spec Files): Document %B and %j and %. and %v3 and %M and
4608 %{S*&T} spec switches.
4609
4610 2001-01-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4611
4612 * c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
4613
4614 2001-01-23 Chris Demetriou <cgd@sibyte.com>
4615 Neil Booth <neil@daikokuya.demon.co.uk>
4616
4617 * cpperror.c: Merge handlers of PEDWARN and WARNING.
4618 Have -Werror make pedantic warnings errors, like the
4619 rest of GCC.
4620
4621 2001-01-23 Phil Edwards <pme@sources.redhat.com>
4622
4623 * c-tree.texi (IDENTIFIER_LENGTH): Fix typo.
4624
4625 2001-01-23 Jakub Jelinek <jakub@redhat.com>
4626
4627 * integrate.h (struct inline_remap): Add compare_src, compare_mode.
4628 * integrate.c (expand_inline_function): Initialize them.
4629 (subst_constants): If changing COMPARE so that both its arguments
4630 will be VOIDmode and the comparison mode will be lost, note
4631 compare_mode. Use the recorded compare_mode to optimize
4632 IF_THEN_ELSE.
4633
4634 2001-01-23 Jason Merrill <jason@redhat.com>
4635
4636 * dwarf2out.c (new_die): Use xcalloc.
4637 (output_die): Abort rather than emit a local reference to offset 0.
4638
4639 2001-01-17 Andrew Haley <aph@redhat.com>
4640
4641 * libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
4642 of a saved register; return NULL instead.
4643 (copy_reg): Take a pointer to a source register rather than a
4644 frame_state.
4645 (next_stack_level): Remember the address in the stack frame of all
4646 saved registers.
4647 Use the saved register pointer array as the source of the CFA.
4648 (throw_helper): Rewrite. Unwind once rather than twice and keep
4649 track of saved registers as we go.
4650
4651 2001-01-23 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4652
4653 * c4x-protos.h (c4x_legitimize_reload_address): Remove.
4654 * c4x.c (c4x_legitimize_reload_address): Remove.
4655 * c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
4656 reload address for ldp(k) insn.
4657
4658 Mon Jan 22 20:53:47 2001 Jeffrey A Law (law@cygnus.com)
4659
4660 * pa.md (return_internal): Add a USE of the PIC register to ensure
4661 it is restored after each call.
4662 (return expander): Corresponding changes.
4663
4664 2001-01-22 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4665
4666 * rs6000.h (INIT_EXPANDERS): Delete.
4667 (RETURN_ADDR_RTX): Call rs6000_return_addr().
4668 * rs6000.c (rs6000_override_options): Call *_machine_status from
4669 here...
4670 (rs6000_init_expanders): ...instead of here. Delete.
4671 (rs6000_mark_machine_status): New function.
4672 (rs6000_init_machine_status): Use xcalloc.
4673 (rs6000_return_addr): Generate RTX for the return address.
4674 (rs6000_ra_ever_killed): New, check if LR was ever destroyed.
4675 (rs6000_stack_info): Use it.
4676
4677 2001-01-22 Thomas Pfaff <tpfaff@gmx.net>
4678
4679 * gthr-win32.h: Include errno.h to get a declaration for
4680 EINVAL and _mingw.h if the target is mingw32.
4681
4682 2001-01-22 Andres Felipe Vargas <avargas@teletulua.com.co>
4683
4684 * cpp.texi: Correct typos.
4685
4686 Mon Jan 22 13:59:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4687
4688 * explow.c (probe_stack_range): Ensure value passed to
4689 stack_check_libfunc is ptr_mode, not Pmode.
4690
4691 Mon Jan 22 16:53:06 2001 J"orn Rennecke <amylaar@redhat.com>
4692
4693 * recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
4694 case, don't use operand_subword to calculate a SUBREG that is
4695 wider than a word.
4696
4697 * rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
4698
4699 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4700
4701 * c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
4702 (c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
4703 valid. If not replace it by equivalent insns.
4704
4705 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
4706
4707 * c4x.c (c4x_check_legit_addr): Only check CONST. Not if CONST
4708 contains SYMBOL_REF, LABEL_REF and CONST_INT.
4709 (c4x_U_constraint, symbolic_address_operand): Likewise.
4710 (c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
4711 memory.
4712 (c4x_r11_set_p, c4x_check_laj_p): New functions.
4713 * c4x-protos.h (c4x_check_laj_p): Add prototype.
4714 * c4x.md (in_annul_slot_3): Do not allow auto-increment in last
4715 anulling slot because of silicon bug.
4716 (laj, lajv): Call c4x_check_laj_p to check for silicon bug.
4717
4718 2001-01-22 Alan Modra <alan@linuxcare.com.au>
4719
4720 * cppexp.c (parse_charconst): Change `mask' type to agree
4721 with parse_escape.
4722
4723 2001-01-21 Richard Henderson <rth@redhat.com>
4724
4725 * config/i386/i386.c (ix86_asm_file_end): Disable putting
4726 pic_label_name in a linkonce section.
4727
4728 2001-01-17 Philipp Thomas <pthomas@suse.de>
4729
4730 * aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
4731 found in libintl.
4732 * configure: Regenerate.
4733
4734 Sun Jan 21 02:38:56 2001 J"orn Rennecke <amylaar@redhat.com>
4735
4736 * expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
4737 uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
4738
4739 Sun Jan 21 09:44:17 2001 Denis Chertykov <denisc@overta.ru>
4740
4741 * config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
4742 If REVERSE nonzero then condition code in X must be reversed.
4743 (encode_section_info): Optimise if/else.
4744 (avr_function_value): Fix formatting.
4745
4746 * config/avr/avr.md (branch): Call to ret_cond_branch changed.
4747 (difficult_branch): Likewise.
4748 (rvbranch): Likewise.
4749 (difficult_rvbranch): Likewise.
4750
4751 * config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
4752
4753 * config/avr/libgcc.S: Fix comment.
4754
4755 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
4756
4757 * sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
4758
4759 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
4760
4761 * cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
4762
4763 2001-01-20 Michael Sokolov <msokolov@ivan.Harhan.ORG>
4764
4765 * aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
4766 * configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
4767 * configure, config.in: Regenerate.
4768 * Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
4769 (LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
4770 (strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
4771 (doprint.o): New rule.
4772
4773 2001-01-20 Joseph S. Myers <jsm28@cam.ac.uk>
4774
4775 * c-typeck.c (digest_init): Handle boolean types as scalars.
4776
4777 Sat Jan 20 12:46:57 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4778
4779 * stmt.c (expand_return): Don't return anything if size is zero.
4780 Delete redundant assignment to BYTES.
4781 * expr.c (move_block_from_reg): Do nothing if NREGS is zero.
4782
4783 2001-01-20 Marek Michalkiewicz <marekm@linux.org.pl>
4784
4785 * config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
4786 the same as the default library function names.
4787 * config/avr/avr.md: Document special characters after '%'.
4788 (mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
4789 knowing which of the call-used registers are really clobbered.
4790 (divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
4791 New. Both quotient and remainder from one libgcc.S call.
4792 * config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
4793 clobber as few registers as possible.
4794 * config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
4795
4796 2001-01-20 Neil Booth <neil@daikokuya.demon.co.uk>
4797
4798 * cppmacro.c (funlike_invocation_p): Don't move back up to the
4799 context of the top of the stack.
4800
4801 2001-01-20 Jakub Jelinek <jakub@redhat.com>
4802
4803 * function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
4804 (fixup_var_refs_insns): ...here.
4805
4806 2001-01-20 Zack Weinberg <zack@wolery.stanford.edu>
4807
4808 * function.c (fixup_var_refs_insns): Break up into
4809 fixup_var_refs_insn [body of loop], fixup_var_refs_insns
4810 [loop over entire insn list], and fixup_var_refs_insns_with_hash
4811 [loop over hash table entries].
4812 (fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
4813 fixup_var_refs_insns_with_hash, to match above changes.
4814
4815 2001-01-19 John David Anglin <dave@hiauly1.hia.nrc.ca>
4816
4817 * Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
4818 (libgcc.a): Likewise.
4819 (stmp-multilib): Likewise.
4820 (STAGE2_FLAGS_TO_PASS): Likewise.
4821
4822 2001-01-19 Alexandre Oliva <aoliva@redhat.com>
4823
4824 * config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
4825 temporary if no_new_pseudos.
4826
4827 2001-01-19 Neil Booth <neil@daikokuya.demon.co.uk>
4828
4829 * cppinternals.texi: Update.
4830
4831 2001-01-19 Richard Earnshaw <rearnsha@arm.com>
4832
4833 * arm.c (arm_init_builtins): Re-enable builtins.
4834
4835 Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4836
4837 * rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
4838 * flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
4839 element to be null, and always expect an EXPR_LIST.
4840 * rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
4841 * sched-deps.c (sched_analyze_1): Likewise.
4842 * sched-rgn.c (check_live_1, update_live_1): Likewise.
4843
4844 * regclass.c (max_set_parallel): New variable.
4845 (reg_scan): Take it into account in computation of max_parallel.
4846 (reg_scan_mark_refs, case SET): Compute it.
4847
4848 * alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
4849 args are REG.
4850 * expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
4851 * function.c (assign_parms): Use INTVAL for a CONST_INT.
4852
4853 2001-01-19 Jason Merrill <jason@redhat.com>
4854
4855 * dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
4856 for the abstract instance of an inline function.
4857
4858 Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>
4859 J"orn Rennecke <amylaar@redhat.com>
4860
4861 * reload1.c (move2add_note_store): Treat all registers directly or
4862 indirectly derived from a base register as members of the same set
4863 of values.
4864 (reload_cse_move2add): Adjust accordingly. Take mode and offset
4865 of base register into account.
4866
4867 Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com>
4868
4869 * alias.c (find_base_value): Recognize TRUNCATE.
4870 (record_set): In PLUS case, invalidate if other summand is also a
4871 base value.
4872
4873 Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4874
4875 * flow.c (mark_set_1, case PARALLEL): New case; rework to allow
4876 entry to be EXPR_LIST.
4877 * rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
4878 be an EXPR_LIST (but not null, which other code doesn't allow).
4879 (note_stores): Properly handle PARALLEL in SET.
4880 Recursively call for top-level PARALLEL.
4881 * sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
4882 * sched-rgn.c (check_live_1, update_live_1): Likewise.
4883
4884 * config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
4885
4886 2001-01-18 Neil Booth <neil@daikokuya.demon.co.uk>
4887
4888 * cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
4889 not pfile->skipping (== 0).
4890
4891 2001-01-17 Nick Clifton <nickc@redhat.com>
4892
4893 * config/rs6000/rs6000.c: Add prototypes for {init|free}_
4894 machine_status.
4895
4896 2001-01-17 Jim Wilson <wilson@redhat.com>
4897
4898 * invoke.texi (IA-64 options): Improve.
4899
4900 2001-01-17 Tom Tromey <tromey@redhat.com>
4901
4902 * invoke.texi (Optimize Options): Use `{}' to around @samp
4903 argument.
4904
4905 2001-01-17 Aldy Hernandez <aldyh@redhat.com>
4906
4907 * invoke.texi (-fno-guess-branch-probability): New option.
4908
4909 Wed Jan 17 13:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4910
4911 * combine.c (try_combine): Don't set i3_subst_into_i2 for
4912 case of making new double-word constant.
4913 Revert last change: instead just test i3_subst_into_i2.
4914
4915 2001-01-17 Jakub Jelinek <jakub@redhat.com>
4916
4917 * config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
4918 Use q constraints instead of r.
4919
4920 Tue Jan 16 22:23:04 2001 Alan Modra (alan@linuxcare.com.au)
4921
4922 * config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
4923 (machine_function): Define.
4924 (PIC_OFFSET_TABLE_SAVE_RTX) : Define.
4925 * config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
4926 pa_free_machine_status): New functions.
4927 (override_options): Set {init,mark,free}_machine_status to above.
4928 (hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
4929 PIC_OFFSET_TABLE_REGNUM_SAVED.
4930 * config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
4931 PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
4932 * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
4933 references to PIC_OFFSET_TABLE_REGNUM_SAVED.
4934 * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
4935
4936 2001-01-15 DJ Delorie <dj@redhat.com>
4937
4938 * Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
4939 (cpp.1): Ditto.
4940 (gcc.1): Ditto.
4941
4942 Tue Jan 16 17:20:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
4943
4944 * flow.c (propagate_on_insn): Make trying to delete a prologue
4945 or epilogue insn an ICE, not a warning. Allow doing this if
4946 the current function returns with stack pointer depressed.
4947
4948 * combine.c (try_combine): If i3_subst_into_i2, properly check for
4949 I3 having more than one SET.
4950
4951 2001-01-16 Jim Wilson <wilson@redhat.com>
4952
4953 * invoke.texi: Document IA-64 options.
4954
4955 * config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
4956 (fixup_errata): Delete TARGET_A_STEP use.
4957 * config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
4958 (TARGET_SWITCHES): Delete -ma-step option.
4959 * config/ia64/ia64.md (all FP patterns): Delete %B0.
4960 (movqicc_astep, movqi_internal_astep, movhicc_astep,
4961 movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
4962 movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
4963 movdfcc_astep, movdf_internal_astep, movtfcc_astep,
4964 movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
4965 Delete.
4966 (movqi_internal, movhi_internal, movsi_internal, movdi_internal,
4967 movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
4968 cmovsi_internal): Delete ! TARGET_A_STEP check.
4969
4970 2001-01-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4971
4972 * gcc.texi (Bug Lists): Do not mention newsgroups nor the
4973 possibility to report bugs via postal mail. Change a URL and
4974 merge in a nearly duplicate statement...
4975 (Bug Reporting): ...from here.
4976 (Service): Refer to the Bug Reporting section instead of
4977 duplicating an URL.
4978 (Contributing): Remove trivial explanations concerning snapshots.
4979
4980 2001-01-16 Alan Modra <alan@linuxcare.com.au>
4981
4982 * cppmain.c (general_init): Don't use ANSI prototype.
4983
4984 2001-01-16 Tom Tromey <tromey@redhat.com>
4985
4986 * gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
4987
4988 2001-01-16 Richard Henderson <rth@redhat.com>
4989
4990 * config/i386/i386.h: Fix comment typo.
4991 * config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
4992 (ashr+compare patterns): Match CCGOCmode not CCNOmode.
4993
4994 2001-01-16 Phil Edwards <pme@sources.redhat.com>
4995
4996 * gcc.c: Revert previous -fsyntax-only-related change; move
4997 to cp/g++spec.c.
4998
4999 2001-01-16 Jakub Jelinek <jakub@redhat.com>
5000
5001 * config/i386/i386.c (fcmov_comparison_operator): Only initialize
5002 inmode after checking GET_CODE (op).
5003
5004 2001-01-16 Richard Henderson <rth@redhat.com>
5005
5006 * flow.c (struct propagate_block_info): Add mem_set_list_len.
5007 (MAX_MEM_SET_LIST_LEN): New.
5008 (propagate_one_insn): Update mem_set_list_len.
5009 (invalidate_mems_from_autoinc): Likewise.
5010 (invalidate_mems_from_set): Likewise.
5011 (mark_used_regs): Likewise.
5012 (init_propagate_block_info): Likewise. Stop collecting memories
5013 when we reach MAX_MEM_SET_LIST_LEN.
5014 (mark_set_1): Likewise.
5015
5016 2001-01-16 Richard Henderson <rth@redhat.com>
5017
5018 * unroll.c (precondition_loop_p): Fail if no iteration
5019 variable found.
5020
5021 2001-01-16 Phil Edwards <pme@sources.redhat.com>
5022
5023 * gcc.c: When -fsyntax-only is given, do not complain about
5024 unused libraries.
5025
5026 2001-01-15 Richard Henderson <rth@redhat.com>
5027
5028 * config/i386/i386.c (asm_output_function_prefix): Remove.
5029 (ix86_asm_file_end): New.
5030 (load_pic_register): Generate pic_label_name into a
5031 staticly allocated buffer.
5032 * config/i386/i386-protos.h: Update.
5033 * config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
5034 (ASM_FILE_END): New.
5035 * config/i386/i386afe.h: New file.
5036 * config.gcc (i?86-*-elf) [tm_file]: Use it.
5037 (i?86-*-{freebsd,linux*,moss*}): Likewise.
5038 * config/elfos.h (ASM_FILE_END): Undef before redefinition.
5039 * config/i386/cygwin.h (ASM_FILE_END): Likewise.
5040 * config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
5041 * config/i386/sco5.h (ASM_FILE_END): Likewise.
5042 * config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
5043
5044 2001-01-15 Joseph S. Myers <jsm28@cam.ac.uk>
5045
5046 * Makefile.in (install-man): Remove explicit dependency on
5047 $(srcdir)/gcc.1.
5048
5049 * configure.in, configure: Revert previous patch requiring perl
5050 5.6.0.
5051
5052 2001-01-12 Aldy Hernandez <aldyh@redhat.com>
5053
5054 * toplev.c (flag_guess_branch_prob): New.
5055 (f_options): Add guess-branch-probability option.
5056 (rest_of_decl_compilation): Only estimate branch probability if
5057 flag set.
5058 (main): set flag_guess_branch_prob.
5059
5060 * flags.h (flag_guess_branch_prob): New.
5061
5062 2001-01-15 DJ Delorie <dj@redhat.com>
5063
5064 * gcc.texi (Makefile): Add documentation for Makefile targets.
5065
5066 2001-01-15 Philip Blundell <philb@gnu.org>
5067
5068 * config/arm/arm.c (arm_finalize_pic): New arg "prologue".
5069 (is_pic): Delete.
5070 * config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
5071 (is_pic): Delete declaration.
5072 * config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
5073 (OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
5074 * config/arm/arm.md (builtin_setjmp_receiver): New.
5075
5076 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
5077
5078 * arm.c (use_return_insn): Don't try to determine the function type
5079 until after reload has completed.
5080 (arm_output_epilogue): Don't adjust the sp value recovered from the
5081 stack.
5082 (emit_multi_reg_push): Don't record dwarf information for the pc.
5083 * arm.md (eh_epilogue): The function type may have changed, so it
5084 needs to be recalculated.
5085 * arm/netbsd.h (DWARF2_UNWIND_INFO): Delete. Can now use dwarf2
5086 unwind tables on arm/netbsd.
5087
5088 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
5089
5090 * arm.md (cbranchsi4): Correct calculation of branch ranges.
5091 (negated_cbranchsi4): Likewise.
5092
5093 2001-01-15 Richard Earnshaw <rearnsha@arm.com>
5094
5095 * config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
5096 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
5097 (ASM_SPEC): Call subtarget_extra_asm_spec. Don't
5098 pass -mapcs-* options to assembler.
5099 * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
5100 (SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
5101 (ASM_SPEC): Call subtarget_extra_asm_spec.
5102
5103 2001-01-15 Andreas Jaeger <aj@suse.de>
5104
5105 * config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
5106 warnings.
5107 (ix86_expand_builtin): Likewise.
5108
5109 * gencodes.c (output_predicate_decls): Make i size_t to avoid
5110 warning about comparison between signed and unsigned.
5111
5112 2001-01-14 Geoffrey Keating <geoffk@redhat.com>
5113
5114 * expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
5115
5116 2001-01-14 Ralf Baechle <ralf@gnu.org>
5117
5118 * config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
5119 SUBTARGET_CPP_SPEC apropriatly.
5120
5121 2001-01-12 Mark Mitchell <mark@codesourcery.com>
5122
5123 * varasm.c (make_decl_rtl): Fix typo in last change.
5124
5125 2001-01-14 Jeffrey Oldham <oldham@codesourcery.com>
5126
5127 * defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
5128 linker supports the init_priority C++ attribute.
5129 * tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
5130 * config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
5131 linker does not support init_priority C++ attribute.
5132
5133 Sun Jan 14 22:31:30 2001 J"orn Rennecke <amylaar@redhat.com>
5134
5135 * Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
5136
5137 2001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
5138
5139 * c-parse.in (finish_parse): Add comment about cpp_destroy.
5140 * cp/lex.c (finish_parse): Similarly.
5141 * cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
5142 Return the number of errors encountered.
5143 * cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
5144 * cppmain.c (main): Don't call cpp_destroy.
5145
5146 2001-01-14 Joseph S. Myers <jsm28@cam.ac.uk>
5147
5148 * configure.in: Require at least perl 5.6.0 to regenerate
5149 manpages.
5150 * configure: Regenerate.
5151
5152 2001-01-14 Richard Henderson <rth@redhat.com>
5153
5154 * genrecog.c (DT_veclen_ge): New.
5155 (add_to_sequence) [MATCH_PARALLEL]: Generate one.
5156 (maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
5157 (nodes_identical_1): Handle DT_veclen_ge.
5158 (write_cond, debug_decision_2): Likewise.
5159
5160 2001-01-14 Richard Earnshaw <rearnsha@arm.com>
5161
5162 * arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete. Replace
5163 with ...
5164 (ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
5165
5166 2001-01-14 Neil Booth <neil@daikokuya.demon.co.uk>
5167
5168 * cppmain.c (do_preprocessing): New function; most of the old
5169 main.
5170 (main): Call it to do most of the work.
5171 (cb): Move from global scope to set_callbacks ().
5172 (setup_callbacks): Get the callback pointer.
5173 (general_init, printer_init): Clean up code and comments.
5174
5175 2001-01-14 Richard Earnshaw <rearnsha@arm.com>
5176
5177 * config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
5178 compiling PIC.
5179
5180 2001-01-14 Kazu Hirata <kazu@hxi.com>
5181
5182 * config/h8300/h8300.c (get_shift_alg): Update comments.
5183
5184 Sun Jan 14 06:20:49 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5185
5186 * ggc-page.c (alloc_annon): Call perror and correctly call exit.
5187 (alloc_page, ggc_alloc): Add casts to remove warnings.
5188
5189 2001-01-14 Geoffrey Keating <geoffk@redhat.com>
5190
5191 * combine.c (simplify_comparison): Don't change `code' when
5192 can't reverse comparison.
5193
5194 2001-01-14 Richard Henderson <rth@redhat.com>
5195
5196 * rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
5197 update all call sites. Return true for all non-label constants.
5198
5199 Sun Jan 14 10:09:48 MET 2001 Jan hubicka <jh@suse.cz>
5200
5201 * i386.c (ix86_expand_compare): Add bypass_test and second_test
5202 parameters.
5203 (ix86_expand_branch): Update.
5204 (ix86_expand_setcc): Update to handle multiple test conditions.
5205 (expand_int_movcc): Likewise.
5206 (expand_fp_movcc): Likewise.
5207 * i386-protos.h (ix86_expand_compare): New.
5208 * i386.md (andqi_?_slp, orqi_?_slp): New.
5209 (conditional trap expander): Update call to ix86_expand_compare.
5210
5211 2001-01-14 Richard Henderson <rth@redhat.com>
5212
5213 * config/vax/vax.md: Use nonimmediate_operand instead of
5214 general_operand in destinations.
5215
5216 * config/vax/vax.md (indirect_jump): Use register_operand.
5217
5218 * config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
5219 * config/vax/vax.md (call_pop): Turn into an expander.
5220 (call_value_pop): Likewise.
5221 (call, call_value): New.
5222
5223 2001-01-14 Andreas Jaeger <aj@suse.de>
5224
5225 * config/i386/i386.c (ix86_split_fp_branch): Remove unused
5226 variables.
5227 (ix86_fp_compare_mode): Add unused attribute.
5228 (ix86_expand_fp_movcc): Remove unused variable.
5229 (ix86_expand_builtin): Make fcode unsigned.
5230
5231 * expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
5232 (expand_expr): Add cast to avoid signed warning.
5233 (store_field): Likewise.
5234 (store_constructor_field): Likewise.
5235 (store_constructor): Likewise.
5236 (store_expr): Likewise.
5237 (clear_storage): Likewise.
5238 (emit_group_store): Likewise.
5239 (emit_group_load): Likewise.
5240
5241 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
5242
5243 * c-common.c: Move format checking code to ...
5244 * c-format.c: ... here. New file. Reorder some functions and
5245 declarations.
5246 (decl_handle_format_attribute, decl_handle_format_arg_attribute):
5247 New functions.
5248 * c-common.h (decl_handle_format_attribute,
5249 decl_handle_format_arg_attribute): Declare.
5250 * Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
5251 (c-common.o): Adjust dependencies.
5252 (c-format.o): New list of dependencies.
5253
5254 2001-01-13 Jakub Jelinek <jakub@redhat.com>
5255
5256 * unroll.c (loop_iterations): If we cannot prove iteration variable
5257 is set once in each iteration, punt.
5258
5259 Sun Jan 14 00:23:15 2001 Denis Chertykov <denisc@overta.ru>
5260
5261 * config/avr/avr.md ("strlenhi"): Remove clobber of input address.
5262 (*strlenhi): Remove clobber (which was buggy) of output address.
5263
5264 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
5265
5266 * Makefile.in (generated-manpages): Add gcc.1
5267 ($(srcdir)/gcc.1): New target.
5268 (maintainer-clean): Delete $(srcdir)/gcc.1.
5269 * gcc.texi: Add macros @gccoptlist and @gol.
5270 * invoke.texi: Include option summary in manpage. Mark up option
5271 summary with @gccoptlist and @gol. Use @r in one place where
5272 appropriate.
5273 * texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
5274 * gcc.1: Generate from invoke.texi.
5275
5276 2001-01-13 Richard Henderson <rth@redhat.com>
5277
5278 * ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
5279 (struct page_entry): Add group member.
5280 (struct page_group): New.
5281 (struct globals): Add page_groups member.
5282 (alloc_anon): Only define for using mmap; remove valloc call.
5283 (page_group_index): New.
5284 (set_page_group_in_use): New.
5285 (clear_page_group_in_use): New.
5286 (alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
5287 (free_page, release_pages): Likewise.
5288 * configure.in (with-gc): Default to ggc-page always.
5289
5290 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
5291
5292 * reload1.c (replace_pseudos_in_call_usage): Use
5293 reg_equiv_constant and reg_equiv_address, and don't try
5294 regno_reg_rtx first.
5295
5296 2001-01-13 Richard Henderson <rth@redhat.com>
5297
5298 * ggc-page.c (alloc_page): Round up allocation size to one page.
5299 Set e->order on extra pages.
5300
5301 2001-01-13 Richard Henderson <rth@redhat.com>
5302
5303 * genrecog.c (nodes_identical): Expand commentary.
5304 (write_switch): Watch out for identical nodes.
5305
5306 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
5307
5308 * cppfiles.c (_cpp_fake_include): New function.
5309 * cpphash.h (_cpp_fake_include): New.
5310 * cpplib.c (do_line): Call _cpp_fake_include when entering
5311 header files in preprocessed input.
5312 * cppmain.c (cb_pragma_implementation): Remove handling.
5313 (setup_callbacks): Don't register pragmas.
5314
5315 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
5316
5317 * extend.texi: Udate for CPP.
5318
5319 2001-01-13 Andreas Jaeger <aj@suse.de>
5320
5321 * reload1.c: Add prototype for replace_pseudos_in_call_usage.
5322
5323 * regmove.c: Add prototype for replace_in_call_usage.
5324
5325 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
5326
5327 * cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
5328 struct cpp_chunk, struct htab, struct toklist,
5329 struct cpp_context, CPP_STACK_MAX, struct lexer_state,
5330 struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
5331 CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
5332 ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
5333 (struct macro_args): Delete.
5334 * cpphash.h: See above.
5335
5336 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
5337
5338 * cppmain.c (struct printer): Remove no_line_dirs.
5339 (options, cb): New.
5340 (main, setup_callbacks, scan_buffer, printer_init, cb_define)
5341 : Use options rather than CPP_OPTION.
5342 (setup_callbacks): Use cb rather than pfile->cb.
5343 (main): No need to check for a buffer. Use cpp_errors.
5344 (printer_init): Don't set no_line_dirs.
5345 (maybe_print_line): Use options not no_line_dirs.
5346 (cb_file_change): Don't call print_line if -P.
5347
5348 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
5349
5350 * c-lex.c (init_c_lex): Use cpp_get_callbacks to set
5351 callbacks.
5352 * c-parse.in (finish_parse): Use cpp_errors.
5353 (__yylex): Use return value of cpp_pop_buffer.
5354 * cp/lex.c (finish_parse): Use cpp_errors.
5355 * cp/spew.c (read_token): Use return value of cpp_pop_buffer.
5356
5357 Sat Jan 13 16:57:40 2001 Denis Chertykov <denisc@overta.ru>
5358
5359 * README.AVR: URLs corrected.
5360
5361 Sat Jan 13 07:30:02 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
5362
5363 * c-decl.c (start_function): Don't warn if old prototype is builtin
5364 that's not in C's namespace.
5365 * libgcc2.c (_varargs): Update definition of __builtin_saveregs.
5366 (_bb): Add prototype for ctime.
5367 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
5368
5369 Sat Jan 13 09:53:32 MET 2001 Jan Hubicka <jh@suse.cz>
5370
5371 * i386.c (ix86_fp_comparison_arithmetics_cost,
5372 ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
5373 ix86_fp_comparison_cost): New functions.
5374 (ix86_expand_fp_compare): Use the costs to choose best bethod; add
5375 two new parameters SECOND_TEST and BYPASS_TEST; allow generating
5376 two-branch sequences; make static.
5377 (ix86_use_fcomi_compare): Do decision according to the costs.
5378 (split_fp_branch): New.
5379 * i386.md (compare-and-branch patterns): Use split_fp_branch.
5380 * i386-protos.h (ix86_expand_fp_compare): Remove
5381 (ix86_split_fp_branch): Declare.
5382
5383 * i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
5384 and ix86_comparison_operator.
5385
5386 * i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
5387 to make it cheaper.
5388
5389 * i386.c (put_condition_code): Output properly the unordered/ordered
5390 compares in fp case.
5391 (ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
5392
5393 * tm.texi (REVERSE_CONDITION): Document.
5394 * i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
5395 in -ffast-math mode.
5396 * i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
5397
5398 2001-01-13 Alexandre Oliva <aoliva@redhat.com>
5399
5400 * config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
5401
5402 * config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
5403 optimized away.
5404
5405 * config/sh/sh.c (mova_p): Fix test for mova_const.
5406
5407 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
5408
5409 * fix-header.c (read_scan_file): Use cpp_get_callbacks and
5410 cpp_get_options rather than dereferencing pfile and using
5411 CPP_OPTION.
5412 * scan-decls.c (scan_decls): Use return value of
5413 cpp_pop_buffer rather than CPP_BUFFER.
5414
5415 2001-01-13 Neil Booth <neil@daikokuya.demon.co.uk>
5416
5417 * cppinit.c (cpp_handle_option): help_only is now part of the
5418 cpp_options structure.
5419 * cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
5420 cpp_set_callbacks): New functions.
5421 * cpplib.h (cpp_callbacks): Break out as a named structure.
5422 (cpp_options): Move help_only here from cpp_reader.
5423 (CPP_FATAL_ERRORS): Update to use cpp_errors.
5424 (cpp_errors, cpp_get_options, cpp_get_callbacks,
5425 cpp_set_callbacks): New prototypes.
5426 * cppmain.c (main): Update for help_only.
5427
5428 2001-01-13 Joseph S. Myers <jsm28@cam.ac.uk>
5429
5430 * Makefile.in (info, maintainer-clean, install-info, uninstall):
5431 Also build and remove and install and uninstall c-tree.info and
5432 cppinternals.info.
5433 ($(srcdir)/gcc.info): Add dependency on contrib.texi.
5434 ($(srcdir)/cppinternals.info): New target.
5435 * c-tree.texi: Change file name used when makeinfo used without -o
5436 from ir.info to c-tree.info. Add info directory entry.
5437 * cppinternals.texi: Add info directory entry.
5438 * .cvsignore: Update.
5439
5440 2001-01-12 Jakub Jelinek <jakub@redhat.com>
5441
5442 * c-typeck.c (store_init_value): Don't require constant initializer
5443 elements with -pedantic -std=c99.
5444 (digest_init): Change error about non-constant initializer elements
5445 into pedwarn.
5446 (constructor_range_end): Remove.
5447 (constructor_incremental, designator_depth,
5448 designator_errorneous): New variables.
5449 (struct constructor_stack): Remove range_end, add incremental.
5450 (struct constructor_range_stack, constructor_range_stack): New.
5451 (struct initializer_stack): Add constructor_range_stack.
5452 (finish_init): Set it.
5453 (start_init): Likewise. require_constant_elements for non-static
5454 trees only if not flag_isoc99.
5455 (really_start_incremental_init): Remove constructor_range_end, add
5456 constructor_incremental.
5457 (pop_init_level): Likewise.
5458 (push_init_level): Likewise. If implicit and the subobject had some
5459 value set already, preinitialize the level with it.
5460 Warn about missing braces only if not pushing due to designators.
5461 (set_designator, push_range_stack): New functions.
5462 (set_init_label): Use them.
5463 (set_init_index): Likewise. Remove constructor_range_end.
5464 Error if designator index is outside of array bounds.
5465 (add_pending_init): Compare values of purpose index trees, not the
5466 trees themselves. Allow overwriting of already initialized element.
5467 Issue a warning if it had side-effects.
5468 (set_nonincremental_init, set_nonincremental_init_from_string): New
5469 functions.
5470 (pending_init_member): Rename to...
5471 (find_init_member): ...this function. Call set_nonincremental_init
5472 if necessary. Compare values of purpose index trees, not the trees
5473 themselves. Return the actual value, not just non-zero if something
5474 is found.
5475 (output_init_element): Remove checks for duplicates.
5476 If field has zero size, only check the initializer for correctness.
5477 Call set_nonincremental_init if necessary. Push RECORD/ARRAY into AVL
5478 if constructor_incremental is zero. Change error about initializers
5479 not computable at load time into pedwarn.
5480 (output_pending_init_elements): Compare bit positions, not
5481 FIELD_DECLs to take into account zero-sized fields.
5482 (process_init_element): Use constructor_range_stack to fill all
5483 ranges in the designator lists from current level up.
5484 * extend.texi: Update documentation for labeled elements.
5485
5486 2001-01-12 Alexandre Oliva <aoliva@redhat.com>
5487
5488 * calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
5489 to function usage for arguments passed by reference. Optimize
5490 callee-copied arguments.
5491 * regmove.c (replace_in_call_usage): New function.
5492 (fixup_match_1): Call it.
5493 * cse.c (cse_insn): Canonicalize registers in function usage.
5494 * reload1.c (replace_pseudos_in_call_usage): New function.
5495 (reload): Call it.
5496
5497 * Makefile.in: Reverted yesterday's wrong patch. Installed the
5498 right version.
5499
5500 2001-01-12 Jakub Jelinek <jakub@redhat.com>
5501
5502 * config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
5503 not XEXP (tmp, 0).
5504
5505 2001-01-12 DJ Delorie <dj@redhat.com>
5506
5507 * Makefile.in (bootstrap): rename stages to be mnemonic. Add
5508 restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
5509 targets.
5510
5511 2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
5512
5513 * cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
5514 tm.texi: Consistently refer to ISO C instead of ANSI C. Refer to
5515 -std options alongside references to -ansi. Update some
5516 documentation for C99.
5517 * cpp.1: Regenerate.
5518
5519 2001-01-12 Andreas Jaeger <aj@suse.de>
5520
5521 * haifa-sched.c (restore_line_notes): Remove argument block B
5522 since it's unused.
5523 * sched-ebb.c (schedule_ebb): Change caller.
5524 * sched-rgn.c (schedule_region): Likewise.
5525 * sched-int.h (restore_line_notes): Adjust prototype.
5526
5527 * loop.h: Remove wrong declaration of doloop_condition_get.
5528
5529 2001-01-12 Phil Edwards <pme@sources.redhat.com>
5530
5531 * extend.texi: Move C++-extension-related node from the C section
5532 into the C++ section.
5533
5534 2001-01-12 Joseph S. Myers <jsm28@cam.ac.uk>
5535
5536 * extend.texi: Refer to an array of pointers to functions instead
5537 of one of functions.
5538
5539 Fri Jan 12 12:08:12 MET 2001 Andreas Jaeger <aj@suse.de>
5540 Jan Hubicka <jh@suse.cz>
5541
5542 * combine.c (reversed_comparison): Fix typo in last patch.
5543 Check X for NULL.
5544 (combine_reversed_comparison_code): Make static to follow
5545 prototype declaration.
5546
5547 2001-01-12 Phil Edwards <pme@sources.redhat.com>
5548
5549 * install.texi: Remove misplaced duplicate entry.
5550
5551 2001-01-11 Ulrich Drepper <drepper@redhat.com>
5552
5553 * config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
5554
5555 Thu Jan 11 17:06:30 EST 2001 John Wehle (john@feith.com)
5556
5557 * final.c: (leaf_function_p): Fix typo.
5558
5559 2001-01-11 Zack Weinberg <zack@wolery.stanford.edu>
5560
5561 * aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
5562 Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
5563 which you have.
5564 (AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
5565 * configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
5566 mmap_anon, and valloc is available.
5567 * ggc-page.c: Restructure ifdef logic to match new autoconf
5568 spec. Don't throw away the test page in init_ggc.
5569
5570 * configure, config.in: Regenerate.
5571
5572 2001-01-12 Michael Hayes <mhayes@redhat.com>
5573
5574 * loop.h (total_biv_increment): Constify iv_class pointer.
5575 (struct induction): Replace `mem_mode' with `mem' rtx.
5576 * unroll.c (total_biv_increment): Constify iv_class pointer.
5577 * loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
5578 (find_mem_givs, combine_givs_p): Likewise.
5579 (debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
5580
5581 2001-01-10 Thomas Pfaff <tpfaff@gmx.net>
5582
5583 * gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
5584 LastError.
5585 (__gthread_getspecific): Ditto.
5586
5587 Fri Jan 12 00:04:00 MET 2001 Jan Hubicka <jh@suse.cz>
5588
5589 * i386.c (ix86_comparison_operator, fcmov_comparison_operator,
5590 put_condition_code): Convert fp comparison codes to integer
5591 before handling.
5592 (ix86_expand_fp_compare): Postnote the fp comparison code converison
5593 to final.
5594
5595 * i386.c (unsigned_comparison, no_comparison_operator): Kill.
5596 * i386-protos.h (no_comparison_operator): Kill.
5597
5598 * i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
5599
5600 * combine.c (REVERSIBLE_CC_MODE): Remove.
5601 (reversible_comparison_p): Remove.
5602 (combine_reversed_comparison_code): New.
5603 (reversed_comparison): New.
5604 (combine_simplify_rtx): Use
5605 combine_reversed_comparison_code/reversed_comparison instead
5606 of reversible_comparison_p.
5607 (simplify_if_then_else): Likewise.
5608 (simplify_set): Likewise.
5609 (simplify_logical): Likewise.
5610 (if_then_else_cond): Likewise.
5611 (known_cond): Likewise.
5612 (simplify_comparison): Likewise.
5613
5614 2001-01-11 Alan Lehotsky <lehotsky@tiac.net>
5615
5616 * builtins.c (std_expand_builtin_va_start): Handle varargs when
5617 sizeof (int) is larger than sizeof(__word__).
5618
5619 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
5620
5621 * cppinit.c (do_includes): Fix typo.
5622
5623 2001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5624
5625 * config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
5626 in S_REGS does not occur because not all sources are possible
5627 when a S_REGS is a destination (sometimes needs a clobber).
5628 (movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
5629 (zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
5630 (anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
5631 (ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
5632 (ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
5633 (ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
5634 (lshrdi_const1, lshrsi3_const16): Likewise.
5635 (*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
5636 (*movhi_68hc12, *movqi_68hc12): Likewise.
5637 (movstrictqi): Make sure reloading in D_REGS as a destination
5638 does not happen.
5639
5640 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
5641
5642 * cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
5643
5644 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
5645
5646 * cppinit.c (cpp_start_read): If -fpreprocessed, ignore
5647 -D, -U and -A, and don't initialize the builtins.
5648 (do_includes): Error if -include or -imacros with -fpreprocessed.
5649 * cppmain.c (cb_define, cb_undef): Unconditionally process
5650 the callback.
5651 * tradcpp.c (main): Fix typo.
5652
5653 2000-01-11 Mark Elbrecht <snowball3@bigfoot.com>
5654
5655 * cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
5656 (read_name_map): Use IS_ABSOLUTE_PATH.
5657 * tradcpp.c (get_filename): Likewise.
5658
5659 2001-01-11 Stephane Carrez <Stephane.Carrez@worldnet.fr>
5660
5661 * config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
5662 (*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
5663 (*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
5664 (*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
5665 (*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
5666 (cmphi_z_used): Don't use '@' for the output.
5667 (tstqi_z_used): Likewise.
5668 (cmpqi_z_used): Likewise.
5669 (one_cmplsi2): Likewise.
5670
5671 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
5672
5673 * config/sh/sh.c (barrier_align): Recognize branch around far
5674 branch and redundant insn.
5675
5676 2001-01-11 Neil Booth <neil@daikokuya.demon.co.uk>
5677
5678 * invoke.texi: Restore documentation of the drivers' switches -MD
5679 and -MMD.
5680
5681 2001-01-11 Alexandre Oliva <aoliva@redhat.com>
5682
5683 * config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
5684
5685 * Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
5686 check-objc//%): Support parallel testing of multilibs.
5687 (TESTSUITEDIR): Set to testsuite by default, but override for
5688 parallel testing.
5689 (check-gcc, check-g++, check-g77, check-objc): Enter
5690 $(TESTSUITEDIR).
5691
5692 2001-01-11 Bernd Schmidt <bernds@redhat.com>
5693
5694 * alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
5695 * sched-deps.c (deps_may_trap_p): Likewise.
5696 * basic-block.h: Remove a comment.
5697 * flow.c (PROP_POSTRELOAD): Remove.
5698 (update_life_info): Don't add it to prop_flags.
5699 (mark_set_1): Lose the code that was enabled by it.
5700
5701 2001-01-11 Michael Hayes <mhayes@redhat.com>
5702
5703 * flow.c (flow_call_edges_add): New.
5704 * basic_block.h (flow_call_edges_add): New.
5705
5706 2001-01-11 J"orn Rennecke <amylaar@redhat.com>
5707
5708 * reload1.c (move2add_note_store): Update reg_set_luid even if
5709 base reg remains the same.
5710
5711 2001-01-10 Nick Clifton <nickc@redhat.com>
5712
5713 * config/d30v/d30v.c (d30v_init_machine_status): Initialise
5714 machine_function structure to zero.
5715 Add prototypes for machine_status functions.
5716
5717 2001-01-10 Mark Mitchell <mark@codesourcery.com>
5718
5719 * c-common.h (CTI_VOID_LIST): Remove.
5720 (void_list_node): Likewise.
5721 * tree.h (TI_VOID_LIST_NODE): New enumeral.
5722 (void_list_node): New macro.
5723 * config/arm/arm.c (arm_init_builtins): Use void_list_node.
5724 * config/i386/i386.c (ix86_init_builtins): Likewise.
5725 * config/ia64a/ia64.c (ia64_init_builtins): Likewise.
5726
5727 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
5728
5729 * Makefile.in (tradcpp0): Depend on mkdeps.h. Link mkdeps.o
5730 * cppinit.c (cpp_start_read): Update comment, remove unneeded
5731 if statement.
5732 * tradcpp.c: Include mkdeps.h.
5733 (deps, print_deps_phony_targets, deps_append, output_deps,
5734 init_dependency_output, output_deps): New.
5735 (deps_buffer, deps_allocated_size, deps_size, deps_column,
5736 deps_output): Delete.
5737 (print_deps_missing_files): Rename deps_missing_files.
5738 (inhibit_output): Make global.
5739 (main): Delete inhibit_output, deps_stream, deps_target.
5740 Use mkdeps functionality in the same way as cpplib. Remove
5741 -g3 handling. Handle -MF, -MP, -MQ, -MT. Update handling of
5742 -M and -MM. Remove old handling of deps via deps_out, and
5743 old reading of environment variables.
5744 (get_filename): Update to use deps_add_dep.
5745
5746 2001-01-10 Mark Mitchell <mark@codesourcery.com>
5747
5748 * output.h (make_function_rtl): Remove prototype.
5749 (make_decl_rtl): Likewise.
5750 * varasm.c (make_function_rtl): Remove.
5751 (make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
5752 than from a third parameter.
5753 * tree.h (make_decl_rtl): Remove last parameter.
5754 * c-decl.c (builtin_function): Remove last argument in call to
5755 make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
5756 (start_function): Likewise.
5757 * except.c (call_get_eh_context): Likewise.
5758 * expr.c (emit_block_move): Likewise.
5759 (clear_storage): Likewise.
5760 * profile.c (output_func_start_profiler): Likewise.
5761 * toplev.c (rest_of_decl_compilation): Likewise.
5762 * objc/objc-act.c (create_builtin_decl): Likewise.
5763 (synth_module_prologue): Likewise.
5764 (generate_static_reference): Likewise.
5765 (build_selector_reference_decl): Likewise.
5766 (build_class_reference_decl): Likewise.
5767 (build_objc_string_decl): Likewise.
5768 (build_protocol_reference): Likewise.
5769
5770 2001-01-10 Richard Henderson <rth@redhat.com>
5771
5772 * hwint.h: Revert yesterday's change.
5773
5774 2001-01-10 Nick Clifton <nickc@redhat.com>
5775
5776 * function.h (save_machine_status): Delete.
5777 (restore_machine_status): Delete.
5778 Amend comment describing {init|mark|free}_machine_status.
5779
5780 * function.c (save_machine_status): Delete.
5781 (restore_machine_status): Delete.
5782 Amend comment describing {init|mark|free}_machine_status.
5783 (push_function_context_to): Remove invocation of
5784 save_machine_status.
5785 (pop_function_context_from): Remove invocation of
5786 restore_machine_status.
5787
5788 * emit-rtl.c (init_emit_once): Amend comment describing
5789 {init|mark|free}_machine_status.
5790
5791 * tm.texi (Per-Function Data): New node. Describe the
5792 INIT_EXPANDERS macro and the {init|mark|free}_machine_status
5793 function pointers.
5794
5795 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
5796
5797 * cppinit.c (OPT_g): Remove.
5798 (cpp_handle_option): Update for removed -g3.
5799 (print_help): Update.
5800 * cpplib.h (struct cpp_options): Remove debug_output.
5801 * cppmain.c (setup_callbacks, cb_define): Update.
5802 * gcc.c (cpp_options): Translate -g3 to -dD.
5803
5804 2001-01-10 Aldy Hernandez <aldyh@redhat.com>
5805
5806 * config/i960/i960.md: Change modifier to + on the zero_extract
5807 pattern after the (rotate -2 reg) canonicalization pattern.
5808
5809 2001-01-10 Richard Henderson <rth@redhat.com>
5810
5811 * config/alpha/alpha.c (alpha_free_machine_status): New.
5812 (override_options): Install it.
5813 (alpha_mark_machine_status): Verify machine non-null.
5814 * config/i386/i386.c (ix86_free_machine_status): New.
5815 (override_options): Install it.
5816 (ix86_init_machine_status): Use xcalloc.
5817 (ix86_mark_machine_status): Verify machine non-null.
5818 * config/ia64/ia64.c (ia64_free_machine_status): New.
5819 (ia64_override_options): Install it.
5820 (ia64_mark_machine_status): Verify machine non-null.
5821
5822 Wed Jan 10 11:34:39 2001 Jeffrey A Law (law@cygnus.com)
5823
5824 * function.c (instantiate_virtual_regs): Instantiate virtual
5825 registers found in CALL_INSN_FUNCTION_USAGE.
5826
5827 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
5828
5829 * i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
5830 equivalent to -ansi in disabling -Di386.
5831
5832 Wed Jan 10 16:38:31 MET 2001 Jan Hubicka <jh@suse.cz>
5833
5834 * i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
5835 new functions.
5836 (ix86_expand_fp_compare): Make trivial use of new infrastructure.
5837
5838 2001-01-10 Richard Earnshaw <rearnsha@arm.com>
5839
5840 * arm.c (arm_init_builtins): Temporarily disable xscale builtins.
5841
5842 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
5843
5844 * invoke.texi: Document that -fcond-mismatch isn't supported for
5845 C++.
5846
5847 2001-01-10 Joseph S. Myers <jsm28@cam.ac.uk>
5848
5849 * gcc.texi: Define macro gcctabopt.
5850 * invoke.texi: Add manpage sections BUGS and AUTHOR. Use
5851 @command, @env and @option in some places where appropriate. Use
5852 @gcctabopt where appropriate. Put URLs and email addresses inside
5853 @w.
5854
5855 2001-01-10 Nathan Sidwell <nathan@codesourcery.com>
5856
5857 * gcc.c (cpp_options): Set MD file name from output
5858 filename, if specified.
5859 (suffix_subst): New static variable.
5860 (do_spec): Clear it.
5861 (do_spec_1, case '.'): Handle new `%.suffix' spec.
5862 Clear it.
5863 (give_switch): Handle suffix_subst.
5864
5865 2001-01-10 Phil Edwards <pme@sources.redhat.com>
5866
5867 * invoke.texi: Fix another typo.
5868
5869 2001-01-10 Phil Edwards <pme@sources.redhat.com>
5870
5871 * invoke.texi: Fix typo.
5872
5873 2001-01-10 Neil Booth <neil@daikokuya.demon.co.uk>
5874
5875 * c-lang.c (lang_hooks): Update.
5876 (lang_decode_option): Remove.
5877 (lang_init_options): Rename c_init_options.
5878 * toplev.c (main): Use lang_hooks for lang_init_options
5879 and lang_decode_option.
5880 * toplev.h (lang_hooks): Add 2 new hooks.
5881 * tree.h: Remove lang_init_options and lang_decode_option.
5882 * cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
5883 * cp/decl2.c: Similarly.
5884 * cp/lex.c (lang_init_options): Rename cxx_init_options.
5885 (lang_hooks): Update.
5886 * f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
5887 for consistency.
5888 (lang_init_options): Rename ffe_init_options.
5889 (lang_hooks): Update.
5890 (lang_decode_option): Remove.
5891 * java/lang.c (lang_init_options): Rename java_init_options.
5892 (lang_decode_option): Rename java_decode_option.
5893 (lang_hooks): Update.
5894 * objc/objc-act.c (lang_init_options): Rename objc_init_options.
5895 (lang_decode_option): Rename objc_decode_option.
5896 (lang_hooks): Update.
5897
5898 2001-01-09 Nick Clifton <nickc@redhat.com>
5899
5900 * config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
5901 (d30v_return_addr_rtx): Delete.
5902 (d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
5903 cfun->machine structure.
5904 (struct machine_function): Move to d30v.h
5905 (d30v_save_machine_status): Delete.
5906 (d30v_restore_machine_status): Delete.
5907 (d30v_init_machine_status): New Function.
5908 (d30v_mark_machine_status): New Function.
5909 (d30v_free_machine_status): New Function.
5910 (d30v_init_expanders): Use new functions.
5911 (d30v_return_addr): Use ra_rtx field in cfun->machine.
5912 (d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
5913 d30v_return_addr_rtx.
5914
5915 * config/d30v/d30v.h (struct_machine): Move here.
5916 Add eh_epilogue_sp_ofs field.
5917
5918 *config/d30v/d30v.md (epilogue): Initialise eh_epilogue_sp_ofs
5919 field in cfun->machine structure.
5920
5921 Tue Jan 9 21:34:57 2001 John David Anglin <dave@hiauly1.hia.nrc.ca>
5922
5923 * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
5924 PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
5925 * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
5926
5927 Tue Jan 9 21:25:19 2001 Jeffrey A Law (law@cygnus.com)
5928
5929 * objc/lang-options.h: Remove bogus reference to
5930 Java trademark.
5931
5932 2001-01-09 Kazu Hirata <kazu@hxi.com>
5933
5934 * config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
5935 return the result.
5936
5937 2001-01-09 Alan Lehotsky <lehotsky@tiac.net>
5938
5939 * reload.c (find_reloads_address): Check for eliminable registers
5940 when substituting a constant expression for a pseudo.
5941
5942 2001-01-09 Joseph S. Myers <jsm28@cam.ac.uk>
5943
5944 * c-common.c (enum format_type): Add format_type_error.
5945 (decode_format_type): New function.
5946 (decl_attributes): Use it.
5947 (format_kind_info): Adjust comment.
5948
5949 2001-01-09 David O'Brien <obrien@BSDi.com>
5950
5951 * config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
5952 i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
5953 files in tm_file.
5954 * config/i386/gnu.h: Don't include required platform specific .h files,
5955 tm.h will do it instead.
5956 * config/i386/i386elf.h: Likewise.
5957 * config/i386/linux.h: Likewise.
5958 * config/i386/moss.h: Likewise.
5959 * config/mips/gnu.h: Likewise.
5960
5961 2001-01-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
5962
5963 * config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
5964 (rs6000-ibm-aix3.[01]*): Likewise.
5965 (rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
5966 (rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
5967 (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
5968 (rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
5969 (powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
5970 (powerpc-*-eabiaix*): Likewise.
5971 (powerpc-*-eabisim*): Likewise.
5972 (powerpc-*-elf*): Likewise.
5973 (powerpc-*-eabi*): Likewise.
5974 (powerpc-*-rtems*): Likewise.
5975 (powerpc-*-linux*libc1): Likewise.
5976 (powerpc-*-linux*): Likewise.
5977 (powerpc-wrs-vxworks*): Likewise.
5978 (powerpcle-wrs-vxworks*): Likewise.
5979 (powerpcle-*-sysv*): Likewise.
5980 (powerpcle-*-elf*): Likewise.
5981 (powerpcle-*-eabisim*): Likewise.
5982 (powerpcle-*-eabi*): Likewise.
5983 (powerpcle-*-solaris2*): Likewise.
5984 * config/rs6000/aix31.h: Delete includes.
5985 * config/rs6000/aix3newas.h: Likewise.
5986 * config/rs6000/aix41.h: Likewise.
5987 * config/rs6000/aix43.h: Likewise.
5988 * config/rs6000/beos.h: Likewise.
5989 * config/rs6000/rtems.h: Likewise.
5990 * config/rs6000/sysv4.h: Likewise.
5991
5992 2001-01-09 Kazu Hirata <kazu@hxi.com>
5993
5994 * config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
5995 Change an argument mode of machine_mode to shift_mode of
5996 shift_mode. Remove an extra error check.
5997 (emit_a_shift): Adopt to the new calling prototype of
5998 get_shift_alg.
5999 (function_prologue): Fix code for a monitor
6000 function. Support H8/S.
6001 (function_epilogue): Do not output pop for a monitor function.
6002
6003 2001-01-09 Nick Clifton <nickc@redhat.com>
6004
6005 * config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
6006 (setup_incoming_varargs): Use sysv_varargs_p field of the
6007 cfun->machine structure.
6008 (struct machine_function): Move to rs6000.h
6009 (rs6000_save_machine_status): Delete.
6010 (rs6000_restore_machine_status): Delete.
6011 (rs6000_init_machine_status): New Function.
6012 (rs6000_free_machine_status): New Function.
6013 (rs6000_init_expanders): Use new functions.
6014
6015 * config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
6016 export.
6017 (struct machine_function): Move here.
6018
6019 * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
6020 sysv_varargs_p field of the cfun->machine structure.
6021
6022 * config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
6023 Remove prototype.
6024 (rs6000_restore_machine_status): Remove prototype.
6025
6026 2001-01-09 Richard Henderson <rth@redhat.com>
6027
6028 * sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
6029 reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
6030 * sched-deps.c (sched_analyze_1): Update uses of struct deps.
6031 (sched_analyze_2, sched_analyze_insn): Likewise.
6032 (sched_analyze, init_deps): Likewise.
6033 (free_deps): Likewise. Iterate with EXECUTE_IF_SET_IN_REG_SET.
6034 * sched-rgn.c (propagate_deps): Likewise. Remove max_reg argument.
6035 (compute_block_backward_dependences): Update propagate_deps call.
6036
6037 2001-01-09 Mark Elbrecht <snowball3@bigfoot.com>
6038
6039 * gcc.c (process_command): Set switches[n_switches].ordering to 0.
6040
6041 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
6042
6043 * cppinit.c (OPT_MD, OPT_MMD): Restore.
6044 (cpp_handle_option): Handle them.
6045 (cpp_post_options): Ensure one of -M or -MM is specified with
6046 any other -M? option.
6047 (init_dependency_output): Suppress output with -MG.
6048
6049 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
6050
6051 * cpp.texi: Update.
6052 * invoke.texi: Update.
6053
6054 2001-01-09 Bernd Schmidt <bernds@redhat.com>
6055
6056 * sh.md (reload_outsf): Generate recognizable patterns for
6057 TARGET_SH3E.
6058
6059 2001-01-09 Neil Booth <neil@daikokuya.demon.co.uk>
6060
6061 * c-lang.c (lang_hooks): Update.
6062 (lang_init): Rename c_init.
6063 (lang_finish): Remove.
6064 * toplev.c (compile_file): Use lang_hooks for lang_init ()
6065 and lang_finish ().
6066 * toplev.h (lang_hooks): Add init () and finish ().
6067 * tree.h (lang_init, lang_finish): Remove.
6068 * cp/tree.h (lang_init, lang_finish): Remove.
6069 * cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
6070 * cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
6071 lang_hooks): New.
6072 (lang_init, lang_finish): Remove.
6073 * f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
6074 (lang_hooks): Update.
6075 * java/lang.c (lang_init): Rename java_init.
6076 (lang_finish): Remove.
6077 (lang_hooks): Update.
6078 * objc/objc-act.c (lang_init): Rename objc_init.
6079 (lang_finish): Remove.
6080 (lang_hoooks): Update.
6081
6082 20001-01-09 Graham Stott <grahams@redhat.com>
6083
6084 * cppfiles.c (_cpp_execute_include): Move `len` initialisation
6085 after `ptr` is initialised.
6086
6087 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
6088
6089 * config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
6090 (INITIALIZE_TRAMPOLINE): Adjust accordingly.
6091 * config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
6092 stack adjusts, instead of r3.
6093
6094 2001-01-09 Michael Hayes <mhayes@redhat.com>
6095
6096 * flow.c (flow_loop_scan): Break out of ...
6097 (flow_loops_find) ... here.
6098 * basic-block.h (flow_loop_scan): New.
6099 (LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
6100 (LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
6101
6102 2001-01-09 Alexandre Oliva <aoliva@redhat.com>
6103
6104 * cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
6105 macro_buffer_len.
6106 * cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
6107 realloc()ing macro_buffer.
6108
6109 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
6110 if it's wider than long and the target's long is wider than the
6111 host's.
6112
6113 2001-01-09 Mark Mitchell <mark@codesourcery.com>
6114
6115 Remove support for using UWIN as a host machine.
6116 * configure.in: Issue an error message.
6117 * configure: Regenerated.
6118 * config.gcc: Remove xm_* UWIN configury.
6119 * config/i386/xm-uwin.h: Remove.
6120
6121 2001-01-08 Nick Clifton <nickc@redhat.com>
6122
6123 * config/v850/v850.c (ra_rtx): Delete.
6124 (v850_save_machine_status): Delete.
6125 (v850_restore_machine_status): Delete.
6126 (v850_init_machine_status): New function.
6127 (v850_mark_machine_status): New function.
6128 (v850_free_machine_status): New function.
6129 (v850_return_addr): Use ra_rtx field in machine structure.
6130 (v850_init_expanders): Use new functions.
6131
6132 * config/v850/v850-protos.h: Fix prototypes for v850_output_*
6133 * config/v850/v850.c: Change arguments to v850_output+* functions
6134 to take a const char *, to avoid compile time warning.
6135 * config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
6136 (USER_LABEL_PREFIX): Redefine.
6137
6138 2000-01-08 Jim Wilson <wilson@redhat.com>
6139
6140 * sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
6141 1 to unsigned HOST_WIDE_INT before left shift.
6142
6143 2001-01-08 Nick Clifton <nickc@redhat.com>
6144
6145 * config/arm/arm.c (arm_mark_machine_status): Check to see if
6146 the machine structure has been allocated.
6147 (arm_free_machine_status): New function: Free the machine
6148 specific function structure.
6149
6150 2001-01-08 Richard Henderson <rth@redhat.com>
6151
6152 * jump.c (simplejump_p): Revert last change.
6153
6154 2001-01-08 Neil Booth <neil@daikokuya.demon.co.uk>
6155
6156 * cppinit.c (init): Rename init_library.
6157 (cpp_create_reader): Update.
6158 * gcc.c (cpp_options): If -o given, use it as the target of
6159 any -M options.
6160
6161 2001-01-08 Richard Earnshaw <rearnsha@arm.com>
6162
6163 * arm.c (arm_arch5e): New variable.
6164 (all_cores): XScale is a 5TE device.
6165 (arm_override_options): Set arm_arch5e.
6166 (arm_init_builtins): __builtin_prefetch is in arch5e.
6167 * arm.h (arm_arch5e): Declare it.
6168
6169 * arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
6170
6171 * arm.md (define_constants): Add defines for UNSPEC and
6172 UNSPEC_VOLATILE insns. Update all users.
6173 (define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
6174 * arm.c (multi_register_push, note_invalid_constants)
6175 (emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
6176 * arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
6177 (STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
6178
6179 Mon Jan 8 16:14:56 MET 2001 Jan Hubicka <jh@suse.cz>
6180
6181 * jump.c (jump_optimize_1): Use reversed_comparison_code
6182 instead of can_reverse_comparison_p.
6183 (jump_back_p): Likewise.
6184 (invert_exp_1): Likewise.
6185 (thread_jumps): Likewise.
6186 * simplify-rtx.c (simplify_unary_operation): Likewise.
6187 (simplify_ternary_operation): Likewise.
6188 * cse.c (find_comparison_args): Convert to use
6189 can_reverse_comparison_p.
6190 (record_jump_equiv): Likewise.
6191
6192 2001-01-08 Richard Earnshaw <rearnsha@arm.com>
6193
6194 * arm.h (HARD_REGNO_RENAME_OK): Delete.
6195 (EPILOGUE_USES): Define.
6196 (INITIAL_ELIMINATION_OFFSET): Current prologue code does not
6197 automatically stack the LR if it isn't live.
6198
6199 Mon Jan 8 13:46:02 MET 2001 Jan Hubicka <jh@suse.cz>
6200
6201 * i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
6202 properly.
6203
6204 Sun Jan 7 18:37:43 2001 Mark P Mitchell <mark@codesourcery.com>
6205
6206 * ggc-page.c (max_alignment): New structure.
6207 (MAX_ALIGNMENT): New macro.
6208 (init_ggc): Use it to round up the sizes in the
6209 extra_order_size_table.
6210
6211 2001-01-07 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6212
6213 * config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
6214 after reload.
6215
6216 2001-01-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6217
6218 * builtins.def (BUILT_IN_FPRINTF): New entry.
6219
6220 * c-common.c (c_expand_builtin_fprintf): New function.
6221 (init_function_format_info): Handle __builtin_fprintf.
6222 (c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
6223 (c_expand_builtin): Handle BUILT_IN_FPRINTF.
6224
6225 * c-decl.c (duplicate_decls): Adjust comment.
6226
6227 * extend.texi (fprintf): Document new builtin.
6228
6229 2001-01-07 Richard Henderson <rth@redhat.com>
6230
6231 * jump.c (simplejump_p): Recognize any single_set jump
6232 of the proper form.
6233
6234 2001-01-07 Richard Henderson <rth@redhat.com>
6235
6236 * configure.in (slibdir): Accept an --with-slibdir option.
6237 Use "test" not "[" in configure. Default to $(libdir).
6238
6239 * config/t-linux (SHLIB_INSTALL): Double quote slibdir;
6240 fix typo in rm -f.
6241 * config/t-aix43 (SHLIB_INSTALL): Likewise.
6242 * config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
6243 (SHLIB_LINK): Create links for the soname.
6244 * config/mips/t-iris6: Likewise.
6245 * config/sparc/t-slibgcc: Likewise.
6246 * config/sparc/t-slibgcc-sld: Likewise.
6247
6248 2001-01-07 Jakub Jelinek <jakub@redhat.com>
6249
6250 * config/i386/i386.c (constant_call_address_operand): Accept
6251 (const (plus (symbol_ref) (const_int))).
6252 * config/i386/i386.h (PREDICATE_CODES): Add CONST for
6253 constant_call_address_operand.
6254
6255 2001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6256
6257 * libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
6258 and LONG_LONG_TYPE_SIZE > 32.
6259
6260 2001-01-07 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
6261
6262 * jump.c (reversed_comparison_code_parts): Fix typo introduced by
6263 the previous change.
6264
6265 Sun Jan 7 19:37:48 MET 2001 Jan Hubicka <jh@suse.cz>
6266
6267 * jump.c (reversed_comparison_code_parts, reversed_comparison_code):
6268 New.
6269 (can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
6270 (reverse_condition_maybe_unordered): Abort on unsigned comparisons.
6271 * rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
6272 Declare.
6273
6274 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
6275
6276 * fix-header.c (read_scan_file): s/pfile/scan_in/.
6277
6278 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
6279
6280 * c-lang.c (c_post_options): Call cpp_post_options.
6281 * objc/objc-act.c (objc_post_options): Similarly.
6282 * cppmain.c (main): Similarly.
6283 * fix-header.c (read_scan_file): Similarly.
6284 * cppinit.c (cpp_start_read): Move option consistency checks
6285 to cpp_post_options. Don't call init_dependency_output.
6286 If needed, add default target and main file dependency.
6287 (OPT_MD, OPT_MMD): Remove.
6288 (OPT_MF): New.
6289 (cpp_handle_option): Update for OPT_* changes.
6290 (cpp_post_options): New.
6291 (init_dependency_output): Command line -MF overrides environment
6292 variables. Don't set default target etc. Suppress output
6293 if dependencies are going to stdout.
6294 (print_help): Update.
6295 * cpplib.h (cpp_post_options): New.
6296 * gcc.c (cpp_options): Update for -MD, -MMD, -MF.
6297
6298 Sun Jan 7 14:44:19 MET 2001 Jan Hubicka <jh@suse.cz>
6299
6300 * jump.c (comparison_dominates_p): Support unordered compares.
6301
6302 Sun Jan 7 14:39:07 MET 2001 Jan Hubicka <jh@suse.cz>
6303
6304 * simplify-rtx.c (simplify_relational_operation): Always simplify
6305 ORDERED and UNORDERED when FLAG_FAST_MATH. Handle properly UNLE
6306 and UNGE.
6307
6308 Sun Jan 7 14:35:13 MET 2001 Jan Hubicka <jh@suse.cz>
6309
6310 * combine.c (combine_simplify_rtx): Recognize the unordered compares.
6311 (nonzero_bits): Likewise.
6312 (simplify_comparison): Likewise.
6313 (num_sign_bit_copies): Likewise; return more sane value depending
6314 on STORE_FLAG_VALUE.
6315 (known_cond): Do not assume EQ to be always true for equivalent
6316 operands.
6317
6318 Sun Jan 7 14:31:57 MET 2001 Jan Hubicka <jh@suse.cz>
6319
6320 * cse.c (fold_rtx): Handle unordered comparisons.
6321
6322 Sun Jan 7 13:49:19 MET 2001 Jan Hubicka <jh@suse.cz>
6323
6324 * rtlanal.c (set_of_1): New static function.
6325 (reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
6326 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
6327 reg_set_last_last_regno): Remove.
6328 (set_of): New global function.
6329 (set_of_data): New structure.
6330 (reg_set_p, reg_set_last): Revamp for set_of.
6331 * rtl.h (set_of): New.
6332
6333 2001-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
6334
6335 * c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
6336 * extend.texi: Document _Exit builtin.
6337
6338 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
6339
6340 * (initialize, initialize_builtins,
6341 initialize_dependency_output, initialize_standard_includes):
6342 Rename s/initialize/init. Update.
6343 (init_dependency_output): Move to after
6344 cpp_handle_options, the correct location temporally at least.
6345 (opt_comp): Move next to init (), its caller. Fix prototype.
6346 (init): Make "initialized" local scope.
6347 (cpp_create_reader): Always call init ().
6348 (cpp_start_read): Update.
6349 (output_deps): New function, broken out of cpp_finish.
6350 (cpp_finish): Break out output_deps.
6351
6352 2001-01-07 Richard Henderson <rth@redhat.com>
6353
6354 * collect2.c (COFF specific stuff): Revert 12-06 patch
6355 to prototype system functions.
6356
6357 2001-01-07 Michael Hayes <mhayes@redhat.com>
6358
6359 * hard-reg-set.h: Add multiple include guard.
6360 * basic-block.h (struct loop): Add `sink' field.
6361 * loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
6362 (emit_iv_add_mult): Delete.
6363 (loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
6364 (loop_iv_add_mult_emit_before, loop_insn_sink): Define.
6365 (unroll_loop): Remove end_insert_before argument.
6366 * loop.c (loop_givs_rescan): Remove end_insert_before argument.
6367 (maybe_eliminate_biv_1): Likewise.
6368 (emit_iv_add_mult): Delete.
6369 (gen_add_mult, loop_regs_update): New.
6370 (loop_insn_emit_after, loop_insn_emit_before): New.
6371 (loop_insn_sink, loop_insn_sink_or_swim): New.
6372 (emit_iv_add_mult): Delete.
6373 (scan_loop): Set loop->sink.
6374 (loop_givs_reduce): Use loop_insn_sink and its ilk.
6375 (loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
6376 (maybe_eliminate_biv_1): Likewise.
6377 (maybe_eliminate_biv_1): Add basic block argument.
6378 * unroll.c (unroll_loop): Remove end_insert_before argument.
6379 (find_splittable_regs): Likewise.
6380 (find_splittable_regs): Use loop_insn_sink and its ilk.
6381 (find_splittable_givs, final_biv_value, final_giv_value): Likewise.
6382
6383 2001-01-07 Michael Hayes <mhayes@redhat.com>
6384
6385 * loop.h (loop_insn_hoist): New prototype.
6386 * loop.c (loop_insn_hoist, loop_insn_emit_before): New.
6387 (move_movables, loop_givs_rescan): Use loop_insn_hoist.
6388 (check_dbra_loop, load_mems): Likewise.
6389 * unroll.c (unroll_loop, find_splittable_regs): Likewise.
6390 (find_splittable_givs): Likewise.
6391
6392 2001-01-07 Michael Hayes <mhayes@redhat.com>
6393
6394 * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
6395
6396 2001-01-07 Richard Henderson <rth@redhat.com>
6397
6398 * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
6399
6400 2001-01-07 Richard Henderson <rth@redhat.com>
6401
6402 * Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
6403 NO_SHARED_LIBGCC_MULTILIB as required for the target.
6404 * gcc.c (init_spec): Massage the existing libgcc_spec into a
6405 variant that handles a shared libgcc.
6406 (process_command): Always validate -{static,shared}-libgcc.
6407 (do_spec_1): New 'M' case.
6408 * invoke.text (Link Options): Document -{static,shared}-libgcc.
6409
6410 2001-01-07 Richard Henderson <rth@redhat.com>
6411
6412 * Makefile.in (slibdir): New variable.
6413 (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
6414 (installdirs): Create slibdir.
6415 (install-libgcc, install-multilib): Defer to libgcc.mk.
6416 * configure.in (slibdir): Substitute.
6417 * mklibgcc.in (install): New target.
6418
6419 * config/t-linux (SHLIB_LINK): Create links for the soname.
6420 (SHLIB_INSTALL): New.
6421 * config/alpha/t-osf4 (SHLIB_INSTALL): New.
6422 * config/mips/t-iris6 (SHLIB_INSTALL): New.
6423 * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
6424 * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
6425 * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
6426
6427 2001-01-07 Richard Henderson <rth@redhat.com>
6428
6429 * config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
6430 * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
6431 * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
6432
6433 2001-01-07 Michael Hayes <mhayes@redhat.com>
6434
6435 * loop.c (count_loop_regs_set): Delete.
6436 (load_mems_and_recount_loop_regs_set): Delete.
6437 (loop_regs_scan): Merge common code from count_loop_regs_set,
6438 scan_loop, and load_mems_and_recount_loop_regs_set.
6439 (scan_loop): Call load_mems directly and loop_regs_scan
6440 again if new registers created.
6441
6442 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
6443
6444 * toplev.c (main): Call the front-end specific post_options
6445 hook if one is given.
6446 * toplev.h (struct_lang_hooks, lang_hooks): New.
6447 * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
6448 for the C front end.
6449 * cp/decl2.c (cxx_post_options, lang_hooks): Implement
6450 lang_hooks for the C++ front end.
6451 * objc/objc-act.c (objc_post_options, lang_hooks): Implement
6452 lang_hooks for the ObjC front end.
6453 * f/com.c (lang_hooks): Hooks for the Fortran front end.
6454 * java/lang.c (lang_hooks): Hooks for the Java front end.
6455
6456 2001-01-07 Neil Booth <neil@daikokuya.demon.co.uk>
6457
6458 * c-lex.c (init_c_lex): Request #define / #undef callbacks
6459 for verbose DWARF[2] debugging.
6460 (cb_define, cb_undef): The new callbacks.
6461 * toplev.h (debug_define, debug_undef): Make const correct.
6462 * toplev.c (debug_define, debug_undef): Similarly. Do not
6463 perform the verbosity tests here anymore.
6464
6465 2001-01-07 Alexandre Oliva <aoliva@redhat.com>
6466
6467 * reload.c (subst_reloads): Take INSN argument. When
6468 replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
6469 * reload.h (subst_reloads): Adjust prototype.
6470 * reload1.c (reload_as_needed): Pass INSN to subst_reloads.
6471 * jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
6472 present in JUMP_INSNs and copy them to JUMP_LABEL.
6473 * flow.c (find_label_refs, find_basic_blocks_1): Skip
6474 JUMP_INSNs and insns with REG_LABELs that are followed by
6475 JUMP_INSNs with the same REG_LABEL.
6476 * sched-rgn.c (is_cfg_nonregular): Likewise.
6477 * rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
6478 note is available.
6479 * unroll.c (unroll_loop): Look for REG_LABEL notes in
6480 JUMP_INSNs too.
6481 * rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
6482
6483 2001-01-06 Richard Henderson <rth@redhat.com>
6484
6485 * loop.c (scan_loop): Use xcalloc for the regs array.
6486 (load_mems_and_recount_loop_regs_set): Zero the new memory
6487 received from xrealloc.
6488
6489 2001-01-06 Neil Booth <neil@daikokuya.demon.co.uk>
6490
6491 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
6492
6493 Sat Jan 6 00:09:34 2001 J"orn Rennecke <amylaar@redhat.com>
6494
6495 * integrate.c (copy_rtx_and_substitute): When copying
6496 an ignored return value, strip REG_FUNCTION_VALUE_P.
6497
6498 2001-01-06 Michael Hayes <mhayes@redhat.com>
6499
6500 * loop.c (debug_biv, debug_giv): New.
6501 (loop_biv_dump): Break out from ...
6502 (record_biv): ... here.
6503 (loop_giv_dump): Break out from ...
6504 (record_giv): ... here.
6505 (loop_bivs_check): Use print_simple_rtl.
6506 * unroll.c (loop_iterations): Use print_simple_rtl.
6507
6508 2000-01-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
6509
6510 * pa.md (return, return_internal): Modify patterns to prevent regrename
6511 mucking with the return pointer.
6512
6513 2001-01-05 Richard Henderson <rth@redhat.com>
6514
6515 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
6516
6517 Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com>
6518
6519 * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
6520 version supplied by Matteo Frigo.
6521
6522 2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
6523
6524 * cpp.texi: Update for -MQ.
6525 * cppinit.c (cpp_create_reader): Always create pfile->deps.
6526 (cpp_cleanup): Always free pfile->deps.
6527 (initialize_dependency_output): Don't create pfile->deps.
6528 (cpp_handle_option): Similarly.
6529 (OPT_MQ): New.
6530 * gcc.c (cpp_options): Handle -MQ.
6531 (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
6532 * mkdeps.c (base_name): Remove.
6533 (deps_init): Don't allocate vector space until it's needed.
6534 (deps_free): Only free vectors if allocated.
6535 (deps_add_target, deps_add_dep): Update for initial allocation.
6536 (deps_add_default_target): Don't strip to the base_name.
6537
6538 2001-01-05 DJ Delorie <dj@redhat.com>
6539
6540 * config/v850/v850.h (RETURN_ADDR_RTX): Define.
6541 (INIT_EXPANDERS): Define.
6542
6543 * config/v850/v850.c (struct machine_function): Define.
6544 (v850_save_machine_status): New function.
6545 (v850_restore_machine_status): New function.
6546 (v850_return_addr): New function.
6547 (v850_init_expanders): New function.
6548
6549 * config/v850/v850-protos.h: Add prototypes for v850_return_addr
6550 and v850_init_expanders.
6551
6552 2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
6553
6554 * cpplib.h (struct cpp_reader): Add help_only field.
6555 * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
6556 (cpp_handle_option): Set pfile->help_only if we see -h,
6557 --help, -target-help, or --version. Print version string but
6558 do not set help_only if we see -v or -version. Make text
6559 printed by -v match that printed by (-)-version.
6560
6561 * cppmain.c (main): Exit after option parsing if
6562 pfile->help_only is true.
6563
6564 * toplev.c (independent_decode_option): Call print_version,
6565 then exit, if we see --version (but not -version).
6566 (print_version): Split lengthy message into two lines.
6567
6568 2001-01-05 Nick Clifton <nickc@redhat.com>
6569
6570 * config/v850/v850.c (v850_encode_data_area): Use alloca to create
6571 temporary string for initialisation before calling ggc_alloc_string.
6572
6573 2001-01-06 Michael Hayes <mhayes@redhat.com>
6574
6575 * rtl.h (print_simple_rtl): New.
6576 * print-rtl.c (print_simple_rtl): New.
6577 (flag_simple): New.
6578 (print_rtx): Disable printing of flags and modes, etc.,
6579 if `flag_simple` nonzero.
6580
6581 2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
6582
6583 * function.c (fixup_var_refs): Use push_to_full_sequence where
6584 possible.
6585
6586 2001-01-05 Michael Meissner <meissner@redhat.com>
6587
6588 * flags.h (flag_reorder_blocks): Add declaration.
6589 (flag_rename_block): Ditto.
6590
6591 2001-01-05 DJ Delorie <dj@redhat.com>
6592
6593 * function.c (reorder_blocks): Make sure the flags are all reset
6594 before using them to mark blocks, else a second invocation will
6595 corrupt the block chain.
6596 (reorder_blocks_0): New, resets the flags.
6597
6598 Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com>
6599
6600 * cse.c (find_comparison_args): Stop if the argument is known to
6601 be constant.
6602
6603 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6604
6605 * config/sh/sh.md (movdf): When splitting load into pair of
6606 registers, don't clobber the register used in the address too
6607 early.
6608
6609 2001-01-05 Jeffrey Oldham <oldham@codesourcery.com>
6610
6611 * varasm.c (mark_constant_pool): Improve initial comments.
6612 (mark_constants): Move marking of constants to mark_constant.
6613 (mark_constant): New function to recursively mark all constants
6614 referred to by a constant.
6615
6616 2001-01-05 Catherine Moore <clm@redhat.com>
6617
6618 * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
6619
6620 2001-01-05 Phil Edwards <pme@sources.redhat.com>
6621
6622 * cp/lang-options.h: Bring comment in line with reality.
6623 * f/lang-options.h: Likewise.
6624 * java/lang-options.h: Likewise.
6625 * objc/lang-options.h: Likewise.
6626 * ch/lang-options.h: Likewise.
6627 * f/g77.texi: And update the manual.
6628
6629 2001-01-05 Marek Michalkiewicz <marekm@linux.org.pl>
6630 Denis Chertykov <denisc@overta.ru>
6631
6632 * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
6633 * config/avr/avr.c (avr_peep2_scratch_safe): New function.
6634 * config/avr/avr.md (all peepholes that request a scratch register):
6635 Call it, FAIL the peephole if not safe (in interrupt functions).
6636
6637 2001-01-05 Mark Mitchell <mark@codesourcery.com>
6638
6639 * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
6640
6641 2001-01-05 Joseph S. Myers <jsm28@cam.ac.uk>
6642
6643 * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
6644 Define.
6645 * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
6646 BUILT_IN_CREAL and BUILT_IN_CIMAG.
6647 * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
6648 conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
6649 (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
6650 BUILT_IN_CIMAG.
6651 * extend.texi: Document these builtins.
6652
6653 2001-01-05 Daniel Berlin <dberlin@redhat.com>
6654
6655 * c-common.c (lang_get_alias_set): Say we know nothing of
6656 VECTOR_TYPE aliasing.
6657
6658 * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
6659
6660 2001-01-05 Bruce Korb <bkorb@gnu.org>
6661
6662 * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
6663 their x* equivalent versions for atexit-less systems
6664 * fixinc/fixincl.c(main): do not return from main() on atexit-less
6665 systems (or any other system any more).
6666
6667 2001-01-05 Richard Earnshaw <rearnsha@arm.com>
6668
6669 * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
6670 output operands. Use arm_hard_register_operand for operand 4.
6671 (stmsi_postinc): Similarly.
6672 (ldmsi): Use arm_hard_register_operand for opernand 2.
6673 (stmsi): Similarly.
6674 * arm.c (arm_hard_register_operand): New function.
6675 * arm-protos.h (arm_hard_register_operand): Prototype it.
6676
6677 * arm.h (HARD_REGNO_RENAME_OK): Define.
6678
6679 Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz>
6680
6681 * simplify-rtx.c (cfc_args): add "unordered" field.
6682 (check_fold_consts): Set unordered field.
6683 (simplify_relational_operation): Simplify the unordered
6684 comparisons.
6685
6686 * reg-stack.c (swap_rtx_condition): Ensure that the transformation
6687 is valid.
6688
6689 * emit-rtl.c (try_split): Fix code to mark labels.
6690 * jump.c (mark_jump_label): Make global.
6691 * rtl.h (mark_jump_label): Declare.
6692
6693 * predict.c (estimate_probability): Handle unordred comparisons.
6694
6695 2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
6696
6697 * cpp.texi: Update for -MP. Clarify behaviour of -MT.
6698 * cppinit.c (initialize_dependency_output): Update.
6699 (cpp_finish): Output dummy targets for -MP.
6700 (OPT_MP): New.
6701 (cpp_handle_option): Handle -MP. Don't quote -MT options.
6702 * cpplib.h (struct cpp_options): Add deps_phony_targets.
6703 * gcc.c (cpp_options): Update to handle -MP.
6704 * mkdeps.c (deps_add_target, deps_add_default_target): Update
6705 to quote only the default target.
6706 (deps_phony_targets): Insert a preceding newline. Rename from
6707 deps_dummy_targets for consistency.
6708 * mkdeps.h: Update
6709
6710 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6711
6712 * calls.c (emit_library_call_value_1): Support
6713 INIT_CUMULATIVE_LIBCALL_ARGS.
6714 * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
6715
6716 2001-01-04 Richard Henderson <rth@redhat.com>
6717
6718 * c-decl.c (finish_struct): Detect flexible array members
6719 used in an inappropriate context.
6720 * c-typeck.c (really_start_incremental_init): Special case
6721 constructor_max_index for zero length arrays.
6722 (pop_init_level): Allow initialization of flexible array
6723 members. Deprecate initialization of zero length arrays.
6724 Don't issue missing initializer warning for flexible array
6725 members or zero length arrays.
6726 (process_init_element): Don't dereference null DECL_SIZE.
6727 * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
6728 Don't abort for empty constructors. Use size_binop
6729 (output_constructor): Add commentary regarding zero length
6730 array futures. Abort if we try to initialize an array of
6731 unspecified length with a non-empty constructor in the middle
6732 of a structure.
6733
6734 * extend.texi (Zero Length): Update and clarify documentation
6735 on static initialization.
6736
6737 2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6738
6739 * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
6740 with more than 32767 words of local storage.
6741
6742 2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
6743
6744 * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
6745 for 'abs', 'labs', and 'fabs'.
6746 (c4x_expand_builtin): Likewise.
6747 * config/c4x/c4x.h (enum c4x_builtins): Likewise.
6748
6749 2001-01-05 Alexandre Oliva <aoliva@redhat.com>
6750
6751 * config/sh/sh.md (prget, prset): New insn types.
6752 (return delay slot): Dont' allow prset.
6753 (call, sfunc delay slot): Don't allow prget.
6754 (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
6755 for prset and prget.
6756
6757 2001-01-05 Michael Hayes <mhayes@redhat.com>
6758
6759 * loop.h (struct loop_reg): New.
6760 (struct loop_regs): Change to use array of `struct loop_reg'.
6761 * loop.c: Replace assortment of varrays with single regs array.
6762 (count_one_set): Delete may_not_move array argument
6763 and use regs array instead. All caller's changed.
6764 (count_loop_regs_set): Delete may_not_move and single_usage
6765 arguments and use regs array instead. All caller's changed.
6766 (find_single_use_in_loop): Replace usage array argument with pointer
6767 to regs structure. All caller's changed.
6768 (loop_optimize): Delete `moved_once' array.
6769
6770 2001-01-05 Michael Hayes <mhayes@redhat.com>
6771
6772 * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
6773 Use it instead of loop_info->has_call for scanning loop mems.
6774 (check_dbra_loop): Replace loop_info->has_call test with
6775 loop_info->has_nonconst_call.
6776
6777 2000-01-04 Matthew Hiller <hiller@redhat.com>
6778
6779 * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
6780 for TARGET_SH3E.
6781
6782 2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
6783
6784 * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
6785 use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
6786
6787 2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
6788
6789 * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
6790 (flag_short_double, flag_short_wchar): Define.
6791 (c_common_nodes_and_builtins): Create many tree nodes shared
6792 between C and C++ here instead of in cp/decl.c and ...
6793 * c-decl.c (init_decl_processing): ... here.
6794 (SIZE_TYPE, WCHAR_TYPE): Don't define.
6795 (flag_short_double, flag_short_wchar): Don't define.
6796 (record_builtin_type): New function.
6797 (build_void_list_node): New function.
6798 * c-common.h (flag_short_double, flag_short_wchar,
6799 record_builtin_type, build_void_list_node): Declare.
6800
6801 Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com>
6802
6803 * integrate.c (expand_inline_function): Don't put a virtual
6804 register into the reg map.
6805
6806 * function.c (fixup_var_refs_1): If force_operand didn't put
6807 the address into the target, move it there.
6808
6809 2001-01-04 Mark Mitchell <mark@codesourcery.com>
6810
6811 Special-case tree_decl/tree_list allocations.
6812 * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
6813 (OBJECT_SIZE): New macro.
6814 (NUM_EXTRA_ORDER): Likewise.
6815 (extra_order_size_table): New variable.
6816 (NUM_ORDERS): New macro.
6817 (objects_per_page_table): New variable.
6818 (object_size_table): New variable.
6819 (G.pages): Use NUM_ORDERS to bound the array.
6820 (G.page_tails): Likewise.
6821 (DIV_ROUND_UP): Remove.
6822 (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
6823 (alloc_page): Use OBJECT_SIZE.
6824 (size_lookup): Don't make it const.
6825 (ggc_alloc): Use OBJECT_SIZE.
6826 (ggc_set_mark): Likewise.
6827 (ggc_get_size): Likewise.
6828 (init_ggc): Set up the object_size_table, objects_per_page_table,
6829 and adjust size_lookup.
6830 (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
6831 (ggc_pop_context): Use NUM_ORDERS.
6832 (clear_marks): Likewise.
6833 (sweep_pages): Likewise.
6834 (poison_pages): Likewise.
6835 (ggc_print_statistics): Use OBJECT_SIZE.
6836
6837 Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6838
6839 * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
6840 Only call array_size_for_constructor if last field and array type
6841 with no upper bound.
6842
6843 2001-01-04 Philip Blundell <philb@gnu.org>
6844
6845 * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
6846 from bit 31 downwards, if this requires no more insns.
6847 (count_insns_for_constant): New helper function for above.
6848
6849 2001-01-04 Alexandre Oliva <aoliva@redhat.com>
6850
6851 * gencodes.c (output_predicate_decls): Remove empty initializer.
6852
6853 2001-01-04 Mark Mitchell <mark@codesourcery.com>
6854
6855 * tree.c (copy_node): Remove documentation about obstacks.
6856 (buidl1): Check that nobody tries to build 2-argument nodes this
6857 way.
6858
6859 2001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6860
6861 * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
6862 fp_high_losum_p.
6863
6864 * gencodes.c (output_predicate_decls): Fill empty initializer
6865 braces.
6866
6867 2001-01-04 Jakub Jelinek <jakub@redhat.com>
6868
6869 * tradcpp.c (deps_file, print_deps_missing_files): New variables.
6870 (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
6871 or -MM.
6872 (do_include): Handle missing headers like cpp0.
6873 * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
6874 paths with first include pathname. Don't strcat to uninitialized
6875 string.
6876
6877 2001-01-04 Bernd Schmidt <bernds@redhat.com>
6878
6879 * regrename.c (regrename_optimize): Don't rename from frame pointer
6880 if frame_pointer_needed.
6881 (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
6882 * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
6883 (ia64_reorg): Use it instead of scheduling if ! optimize.
6884 (errata_emit_nops): Properly call asm_noperands.
6885 (ia64_sched_reorder): Finish cycle if we see an asm.
6886 (ia64_variable_issue): Clear scheduling state after asms.
6887
6888 2001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
6889
6890 * cpp.texi: Update for -MT.
6891 * cppinit.c (initialize_dependency_output): Add a default
6892 target if none has been given already.
6893 (no_tgt, OPT_MT): New.
6894 (cpp_handle_option): Handle -MT. Update -M etc.
6895 * cpplib.h (struct cpp_options): Remove deps_target.
6896 * gcc.c (cpp_options): Handle -MT.
6897 * mkdeps.c (struct deps): Move from mkdeps.h.
6898 (deps_calc_target): Rename deps_add_default_target. Add a
6899 default target if none has been specified already.
6900 * mkdeps.h (struct deps): Move to mkdeps.c.
6901 (deps_calc_target): Rename deps_add_default_target.
6902
6903 2000-01-03 Richard Henderson <rth@redhat.com>
6904
6905 * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
6906 Remove dead code.
6907 * c-typeck.c (push_init_level): Move checks for flexible array
6908 members and zero length arrays ...
6909 (pop_init_level): ... here. Silently discard empty initializations.
6910 Remove dead code.
6911 * varasm.c (output_constructor): Update for sizeof change to
6912 zero-length arrays.
6913
6914 * extend.texi (Zero Length): Clarify semantics.
6915
6916 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
6917
6918 * configure.in (tm.h): Include isns-codes.h last.
6919 * configure: Rebuilt.
6920
6921 2001-01-03 Richard Henderson <rth@redhat.com>
6922
6923 * config/alpha/alpha.md (addvsi3, addvdi3): New.
6924 (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
6925
6926 2001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
6927
6928 * tradcpp.c (main): Make sure finclude() is called with a valid
6929 indepth value while handling -include.
6930
6931 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
6932
6933 * gencodes.c (output_predicate_decls): New function.
6934 (main): Call it.
6935 * machmode.h (GET_MODE_MASK): Arrange for it to be defined
6936 even if it is not the first time machmode.h is #included.
6937 * config/sh/sh.c (fpul_operand): Declare MODE argument.
6938 * tm.texi (PREDICATE_CODES): Document predicate declarations.
6939 * gcc.texi (Copyright): Added 2001.
6940
6941 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
6942
6943 * c-common.c (c_common_lang_init): New function. Warn if format
6944 warning options which only have effects when used with -Wformat
6945 are used without -Wformat.
6946 * c-common.h (c_common_lang_init): Declare.
6947 * c-lang.c (lang_init): Call c_common_lang_init.
6948 * objc/objc-act.c (lang_init): Call c_common_lang_init.
6949
6950 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
6951
6952 * configure.in: Check for the mktemp command.
6953 * configure: Regenerate.
6954 * gccbug.in: Use a separate temporary file $TEMP0 for one use of
6955 $TEMP. Create temporary files with mktemp, if available at
6956 configure time; otherwise use set -C. Remove temporary files
6957 before exit.
6958
6959 2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
6960
6961 * configure.in: Require at least texinfo 4.0. Check for whether
6962 Pod::Man is sufficiently recent to regenerate GCC manpages.
6963 * configure: Regenerate.
6964 * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
6965 on #!.
6966 (GENERATED_MANPAGES): Define.
6967 (generated-manpages): New target. Depend on cpp.1 as well as
6968 gcov.1.
6969 (install-man): Depend on $(GENERATED_MANPAGES) (defined by
6970 configure to generated-manpages or empty) rather than on the
6971 manpages directly. Remove execute permission from installed
6972 gcov.1 as well as cpp.1.
6973 * cpp.1, gcov.1: Regenerate.
6974
6975 2001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6976
6977 * builtins.c (expand_builtin_strncmp): Use host_integerp and
6978 tree_low_cst. Allow using cmpstrsi in more cases.
6979
6980 Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6981
6982 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
6983 sized types.
6984
6985 Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com>
6986
6987 * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
6988 * Makefile.in (HOST_CFLAGS): Mention build-make.
6989
6990 Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
6991
6992 * config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
6993 as JUMP_INSN.
6994
6995 2001-01-01 Bernd Schmidt <bernds@redhat.com>
6996
6997 * builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
6998 a REG rtx.
6999
7000 * cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All
7001 callers changed.
7002
7003 * alias.c (throughout): Use ORIGINAL_REGNO when accessing
7004 reg_base_value and reg_known_value arrays.
7005 (init_alias_analysis): Add more cases to detect known values.
7006 * sched-deps.c (deps_may_trap_p): New function.
7007 (sched_analyze_2): Use it.
7008
7009 2001-01-03 Alexandre Oliva <aoliva@redhat.com>
7010
7011 * combine.c (simplify_shift_const): Even if we're sign-extracting,
7012 don't discard an ASHIFTRT if we're shifting in a wider mode.
7013
7014 2000-01-02 John David Anglin <dave@hiauly1.hia.nrc.ca>
7015
7016 * toplev.c (rest_of_compilation): Don't print basic block information
7017 when CFG isn't up to date.
7018
7019 2001-01-02 Mark Elbrecht <snowball3@bigfoot.com>
7020
7021 * config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
7022 (UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
7023 (UNALIGNED_SHORT_ASM_OP): Define.
7024 (CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
7025
7026 2001-01-02 Mark Mitchell <mark@codesourcery.com>
7027
7028 * fold-const.c (fold_convert): Fix typo.
7029
7030 2001-01-02 Richard Henderson <rth@redhat.com>
7031
7032 * c-common.h (ASM_INPUT_P): New.
7033 * c-parse.in (asm): Set it when needed.
7034 * c-semantics.c (genrtl_asm_stmt): Test it instead of the
7035 existance of an operand.
7036
7037 Tue Jan 2 20:27:07 MET 2001 Jan Hubicka <jh@suse.cz>
7038
7039 * dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
7040 (dwarf2out_frame_debug_expr): Likewise.
7041 (mem_loc_descriptor): Handle PRE and POST_MODIFY.
7042
7043 Tue Jan 2 20:21:31 MET 2001 Jan Hubicka <jh@suse.cz>
7044
7045 * i386.c (ix86_split_to_parts): Return number of part required;
7046 handle TFmodes.
7047 (print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
7048 TFmodes.
7049 (ix86_split_long_move): Use number of part returned
7050 by ix86_split_to_parts
7051 * i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
7052 New macros.
7053 (TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
7054 (LONG_DOUBLE_TYPE_SIZE): Change from constant.
7055 (MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
7056 (INTEL_EXTENDED_IEEE_FORMAT): Likewise.
7057 (ALIGN_MODE_128): Add TFmode.
7058 (IS_STACK_MODE): Likewise.
7059 (HARD_REGNO_NREGS): TFmode needs 3 registers.
7060 (HARD_REGNO_OK): Support TFmodes.
7061 (ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
7062 * i386.md (scheduler definitions): Use memory operand to determine
7063 fst/fld instructions; use mode attribute to determine real mode of
7064 the instruction.
7065 (*tf): New patterns, expanders and splitters; based on XFmode patterns.
7066 * invoke.texi (128bit-long-double, 96bit-long-double): Document.
7067
7068 2001-01-02 Mark Mitchell <mark@codesourcery.com>
7069
7070 * tree.def (TRUTH_NOT_EXPR): Improve documentation.
7071
7072 Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
7073
7074 * expr.c (store_constructor_field): Update ALIGN before calling
7075 store_constructor.
7076
7077 2001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
7078
7079 * config/mips/mips.c (function_arg): Don't pass NULL_TREE to
7080 host_integerp.
7081
7082 2001-01-02 Jeffrey Oldham <oldham@codesourcery.com>
7083
7084 * tm.texi (FUNCTION_ARG): Document that @var{type} can be an
7085 incomplete type.
7086
7087 Tue Jan 2 10:47:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.
7088
7089 * c-decl.c (start_function): Don't warn on third parameter to main.
7090
7091 2001-01-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7092
7093 * tsystem.h: Define HAVE_DECL_GETOPT.
7094
7095 2001-01-02 Philip Blundell <pb@futuretv.com>
7096
7097 * config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
7098 of input operand.
7099
7100 2001-01-02 Richard Henderson <rth@redhat.com>
7101
7102 * alpha.md (*ze_and_ne): Duplicate insn condition to split.
7103
7104 2001-01-02 Andreas Jaeger <aj@suse.de>
7105
7106 * c-decl.c (c_decode_option): Remove support of
7107 -Wmissing-noreturn.
7108
7109 * toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
7110 (W_options): Add -Wmissing-noreturn here.
7111
7112 * flow.c: Define lang_missing_noreturn_ok_p.
7113 (check_function_return_warnings): Use it.
7114
7115 * c-common.h: Declare lang_missing_noreturn_ok_p.
7116
7117 * c-lang.c (c_missing_noreturn_ok_p): New function.
7118 (lang_init): Set lang_missing_noreturn_ok_p.
7119
7120 * invoke.texi (Warning Options): Document this.
7121
7122 2000-12-27 Phil Edwards <pme@sources.redhat.com>
7123
7124 * extend.texi (C++ Extensions): New node for C++ attributes;
7125 describe init_priority and com_interface.
7126 * invoke.texi: Remove -finit-priority as it now has zero effect.
7127 * install.texi: Fix xref syntax.
7128 * md.texi: Likewise.
7129
7130 Mon Jan 1 21:28:29 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7131
7132 * config.gcc (sparc64-wrs-vxworks*): New case.
7133 * config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
7134
7135 * config/sparc/sparc.c (sparc_override_options): Do support different
7136 pointer and architecture size.
7137 * config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
7138 (POINTERS_EXTEND_UNSIGNED): Define.
7139 (Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
7140 (FUNCTION_MODE): Define to be Pmode.
7141 * config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
7142
7143 * function.c (expand_function_end): Properly handle DECL_RESULT
7144 and copy when ptr_mode != Pmode.
7145 * expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
7146
7147 2001-01-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
7148
7149 * c-common.c (c_common_nodes_and_builtins): Set prototype
7150 parameters for __builtin_fputs, __builtin_fputc and
7151 __builtin_fwrite. Don't declare plain fputc as a builtin.
7152
7153 2001-01-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
7154
7155 * loop.c (add_label_notes): Increment the label usage count when
7156 a note is added to an insn which refers to a CODE_LABEL.
7157 * gcse.c (add_label_notes): Likewise.
7158
7159 2001-01-01 Andreas Jaeger <aj@suse.de>
7160
7161 * loop.c (scan_loop): Use xmalloc to allocate movables.
7162
7163 2001-01-01 Alexandre Oliva <aoliva@redhat.com>
7164
7165 * tm.texi (REGISTER_MOVE_COST): Add a mode argument.
7166 * reload.c (REGISTER_MOVE_COST): Likewise. Adjust all callers.
7167 * reload1.c (REGISTER_MOVE_COST): Likewise.
7168 * regclass.c (REGISTER_MOVE_COST): Likewise.
7169 (move_cost, may_move_in_cost, may_move_out_cost): Add mode
7170 dimension. Adjust all users.
7171 (init_reg_sets_1): Iterate on all modes.
7172 * config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
7173 * config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
7174 * config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
7175 * config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
7176 * config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
7177 * config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
7178 * config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
7179 * config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
7180 * config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
7181 * config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
7182 * config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
7183 * config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
7184 * config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
7185 * config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
7186 * config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
7187 * config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
7188 * config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
7189 * config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
7190 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
7191 * config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
7192 * config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
7193 * config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
7194 * config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
7195 * config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
7196 * config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
7197 * config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
7198 * config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
7199
7200 2001-01-01 Bernd Schmidt <bernds@redhat.com>
7201
7202 * alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
7203 arg VARIES_P. Call it with extra arg.
7204 (true_dependence): Likewise.
7205 * rtl.h (rtx_addr_can_trap_p): Declare.
7206 (rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
7207 prototypes.
7208 * rtlanal.c (rtx_addr_can_trap_p): No longer static.
7209 (rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
7210 pic offset table register if it's zero. All callers changed.
7211 (rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
7212
7213 Mon Jan 1 07:38:33 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
7214
7215 * explow.c (convert_memory_address, case SYMBOL_REF): Copy
7216 STRING_POOL_ADDRESS_P.
7217
7218 * config/sparc/sparc.c (input_operand): Properly test for short op.
7219
7220 * config.gcc (sparc-*-elf): Include sparc/sol2.h.
7221 (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
7222 (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
7223 * config/sparc/elf.h: No longer include sol2.h.
7224 * config/sparc/lifeelf.h: No longer include sparc/elf.h.
7225 * config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
7226
7227 * config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
7228
7229 2001-01-01 Michael Hayes <mhayes@redhat.com>
7230
7231 * loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
7232 (find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
7233 (record_initial): Likewise.
7234 * unroll.c (copy_loop_body, loop_iterations): Likewise.
7235 (remap_split_bivs): Likewise.
7236
7237 2001-01-01 Michael Hayes <mhayes@redhat.com>
7238
7239 * loop.c (loop_ivs_free): New function.
7240 (strength_reduce): Break out from...
7241
7242 2001-01-01 Michael Hayes <mhayes@redhat.com>
7243
7244 * loop.h (struct iv): New.
7245 (REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
7246 (struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
7247 'reg_biv_class' fields with 'regs' and 'n_regs'.
7248 (struct ivs): Rename 'loop_iv_list' field to 'list'.
7249 * loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
7250 * unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
7251
7252 2000-12-31 Alexandre Oliva <aoliva@redhat.com>
7253
7254 * resource.c (mark_referenced_resources): Abort() before
7255 attempting to mark a pseudo register.
7256 (mark_set_resources): Likewise.
7257
7258 2001-01-01 Michael Hayes <mhayes@redhat.com>
7259
7260 * loop.h (REG_IV_CLASS): New accessor macro.
7261 * loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
7262 * unroll.c (REG_IV_CLASS): Likewise.
7263
7264 See ChangeLog.4 for earlier changes.