1 2001-05-19 Bruce Korb <bkorb@gnu.org>
3 * fixinc/genfixes: no need for two warnings
4 * fixinc/Makefile.in: open stdin for those building with a closed one.
6 2001-05-19 Mark Mitchell <mark@codesourcery.com>
8 * jump.c (jump_optimize_1): Tidy.
9 (mark_jump_label): When changing the label in a LABEL_REF, change
10 update any REG_EQUAL notes as well.
12 2001-05-19 Joseph S. Myers <jsm28@cam.ac.uk>
14 * c-parse.in (parm_declarator): Split into
15 parm_declarator_starttypename and parm_declarator_nostarttypename.
16 (parm_declarator_starttypename, parm_declarator_nostarttypename):
17 New. Allow parenthesised sub-declarators which don't begin with a
18 TYPENAME. Fixes PR c/166.
20 2001-05-19 Mark Mitchell <mark@codesourcery.com>
22 * defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
24 * tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
26 * toplev.c (main): If the target does not allow profiling without
27 a frame pointer, issue an error message.
28 * config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
31 Sat May 19 07:53:42 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
33 * recog.c (general_operand): Modify last change to allow it if reload
36 Sat May 19 10:23:54 CEST 2001 Jan Hubicka <jh@suse.cz>
38 * recog.c (general_operand): Prohibit nonzero subreg bytes on
39 subregs containing mem.
41 Sat May 19 09:40:45 2001 Denis Chertykov <denisc@overta.ru>
43 * regrename.c (regrename_optimize): frame pointer register can
46 2001-05-18 Jason Merrill <jason_merrill@redhat.com>
48 * README.DWARF: Move into dwarfout.c.
50 2001-05-18 Dale Johannesen <dalej@apple.com>
52 * config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
53 specific misuse of r0 as a reload address.
55 Fri May 18 22:42:04 CEST 2001 Jan Hubicka <jh@suse.cz>
57 * combine.c (combine_simplify_rtx): Clear op0_mode if simplification
60 Fri May 18 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
62 * genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
63 (add_to_sequence): Make that decision type.
64 (maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
65 (write_switch, write_cond, debug_decision_2): Likewise.
67 * dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
69 (dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
72 2001-05-18 Stan Shebs <shebs@apple.com>
74 * configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
75 * configure: Regenerate.
77 2001-05-18 Per Bothner <per@bothner.com>
79 Changes needed for java/jvspec.c
80 * gcc.h (n_infiles, outfiles): Add declarations.
81 * gcc.c (n_infiles, outfiles): Mske no longer static.
83 Fri May 18 10:14:42 2001 Jeffrey A Law (law@cygnus.com)
85 * config/pa/som.h (EXCEPTION_SECTION): Define.
87 2001-05-18 Daniel Berlin <dan@cgsoftware.com>
89 * dwarf2out.c: Add dw_loc_list_ref, a reference to a location
91 Add have_location_lists, a variable to determine whether we need a
92 .debug_loc section or not.
93 (enum dw_val_class): Add dw_val_class_loc_list.
94 (dw_val_struct): Add val_loc_list.
95 (dw_loc_list_struct): New structure, represents location lists.
96 (new_loc_list): New function, return a new location list, given
97 the range and location expression.
98 (add_loc_descr_to_loc_list): New function, add a location
99 expression to a location list, given the expression and range.
100 (output_loc_list): New function, output a location list.
101 (gen_internal_sym): Modified to take symbol prefix, so we can
102 reuse it for location list symbols.
103 (add_AT_loc_list): New function, add a location list to a DIE at
105 (AT_loc_list): New function, return the location list reference
106 for a given attribute, if it's a location list.
107 (print_die): Handle dw_val_class_loc_list.
108 (size_of_die): Ditto.
109 (value_format): Ditto.
111 (output_location_lists): New function, output all of the location
112 lists for a DIE and it's children.
113 (dwarf2out_finish): Call output_location_lists if we have location
117 Fri May 18 15:39:16 CEST 2001 Jan Hubicka <jh@suse.cz>
119 * gcse.c (try_replace_reg): First try global replace, later try to
120 simplify the expression.
122 * gcse.c (find_used_regs): Change calling convention; work via
124 (cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
126 2001-05-18 Bernd Schmidt <bernds@redhat.com>
129 2001-02-09 Nick Clifton <nickc@redhat.com>
130 * config/arm/arm.md: Change output constraint on post inc
131 load/store multiple patterns to be a read/write constraint.
133 2001-05-18 Mark Mitchell <mark@codesourcery.com>
135 * basic-block.h (struct basic_block_def): Add documentation about
136 what a basic block is, and what the various fields are used for.
137 * flow.c (calculate_globlal_regs_live): Add documentation about
138 how the algorithm works, and how we know that it will terminate.
139 Check that the the inductive assumption that guarantees
140 termination actually holds.
141 (mark_used_regs): Treat conditionally set registers as used.
142 (debug_regset): Add comment.
143 * rtl.texi (cond_exec): Add documentation.
145 * function.c (expand_function_start): Avoid creating BLKmode
148 2001-05-17 Mark Mitchell <mark@codesourcery.com>
150 * dwarf2out.c (output_comp_unit): Always output a compilation-unit
151 DIE, even if it has no children.
152 (dwarf2out_finish): Always output the line-number table, even if
155 2001-05-18 David Edelsohn <edelsohn@gnu.org>
157 * rs6000.md (movsfcc,movdfcc): Remove NE case.
159 2001-05-17 Bruce Korb <bkorb@gnu.org>
161 * fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
162 * fixinc/genfixes: emit a warning if AutoGen is out of date
164 2001-05-17 Brendan Conoboy <blc@cygnus.com>
165 Bruce Korb <bkorb@gnu.org>
167 * fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
168 found in fixinc directory. Facilitates binary distributions.
170 2001-05-17 Jeffrey Oldham <oldham@codesourcery.com>
172 * dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
175 Thu May 17 19:42:39 2001 Mark Kettenis <kettenis@wins.uva.nl>
177 * dwarf2out.c (modified_type_die): Equate qualified type to die.
179 Thu May 17 23:19:46 CEST 2001 Jan Hubicka <jh@suse.cz>
181 * integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
182 (simplify_subreg): Handle complex types represented as CONCAT.
184 * recog.c (validate_replace_rtx_1): Properly canonicalize expression
185 * rtl.h (swap_commutative_operands_p): Declare.
186 * rtlanal.c (swap_commutative_operands_p): New.
187 (operand_preference): New static function.
189 * combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
190 (gen_binary): Likewise.
191 * optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
192 * simplify-rtx.c (simplify_gen_binary,
193 simplify_gen_relational): Likewise.
195 Thu May 17 20:43:36 CEST 2001 Jan Hubicka <jh@suse.cz>
197 * cse.c (fold_rtx): Use simplify_subreg.
199 * simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
200 (simplify_gen_subreg): New.
201 (simplify_rtx): Use simplify_subreg.
202 * rtl.h (simplify_gen_subreg): Declare.
204 2001-05-17 Mark Mitchell <mark@codesourcery.com>
206 * doc/install.texi: Update Solaris information.
208 * except.h (protect_cleanup_actions): Remove it.
209 (lang_protect_cleanup_actions): Declare it.
210 * except.c (protect_cleanup_actions): Remove it.
211 (lang_protect_cleanup_actions): New variable.
212 (init_eh): Don't make protect_cleanup_actions a GC root.
213 (expand_eh_region_and_cleanup): Call
214 lang_protect_cleanup_actions.
215 (output_function_exception_table): Remove unused `align'
217 * varasm.c (assemble_external): Abort if we have not yet
218 opened the assembly output file.
220 Thu May 17 11:54:50 2001 Jeffrey A Law (law@cygnus.com)
222 * except.c (sjlj_emit_function_enter): Call assemble_external_libcall
223 for eh_personality_libfunc.
225 Thu May 17 19:48:00 CEST 2001 Jan Hubicka <jh@suse.cz>
227 * recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
228 when calling simplify_subreg. This is needed to allow replacing
229 of expression of one mode by expression of different mode.
231 Thu May 17 19:40:03 CEST 2001 Jan Hubicka <jh@suse.cz>
233 * simplify-rtx.c (simplify_subreg): Avoid creating of incorrect subregs.
235 2001-05-17 Bernd Schmidt <bernds@redhat.com>
237 * expr.c (protect_from_queue): Protect against subsequent calls to
239 (expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
242 Thu May 17 18:17:34 CEST 2001 Jan Hubicka <jh@suse.cz>
244 * simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
246 2001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
248 * gccbug.in (CATEGORIES): Add "bootstrap".
250 Thu May 17 16:59:41 CEST 2001 Jan Hubicka <jh@suse.cz>
252 * simplify-rtx.c (simplify_subreg): Break out from ...
253 * combine.c (combine_splify_rtx) ... here and ...
254 * recog.c (validate_replace_rtx_1): ... here;
255 * rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
256 * emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
257 (subreg_lowpart_p): ... here.
259 2001-05-17 Bernd Schmidt <bernds@redhat.com>
261 * stmt.c (expand_asm_operands): For inout operands, make sure
262 the substitution of '=' for '+' makes it into the rtl.
264 * reload1.c (delete_output_reload): Call eliminate_regs on substed.
265 (reload_as_needed): Call update_eliminable_offsets a bit later.
267 2001-05-17 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
269 * gcc.texi (gccbug): Refer to the web pages for detailed information
272 2001-05-16 Zack Weinberg <zackw@stanford.edu>
274 * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
276 * Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
277 OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
278 LIB1FUNCS, and LIB1FUNCS_EXTRA. Delete rules: libgcc1-test,
279 libgcc1-test.o. Clarify commentary now that libgcc1 no longer exists.
280 * cross-make: Don't set LIBGCC1.
281 * mklibgcc.in: Delete all code for building from libgcc1.c.
282 Always honor LIB1ASMFUNCS if set.
284 * crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
285 config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
286 config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
287 config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
288 config/i386/uwin.asm, config/m68hc11/larith.asm,
289 config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
290 config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
291 config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
292 config/v850/lib1funcs.asm, config/c4x/libgcc.S:
293 Delete or update references to libgcc1 in commentary.
295 * config/t-libc-ok, config/t-linux, config/t-linux-aout,
296 config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
297 config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
298 config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
299 config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
300 config/arm/t-semi, config/arm/t-strongarm-coff,
301 config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
302 config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
303 config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
304 config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
305 config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
306 config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
307 config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
308 config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
309 config/m68k/t-m68kbare, config/m68k/t-m68kelf,
310 config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
311 config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
312 config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
313 config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
314 config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
315 config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
316 config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
317 config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
318 config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
319 config/mips/t-ultrix, config/mn10200/t-mn10200,
320 config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
321 config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
322 config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
323 config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
324 config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
325 config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
326 config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
327 config/sparc/t-sparclite, config/sparc/t-splet,
328 config/sparc/t-sunos41, config/sparc/t-vxsparc,
329 config/sparc/t-vxsparc64, config/v850/t-v850:
330 Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
332 * config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
333 Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
334 * config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
335 FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
336 nongcc_SI_type, nongcc_word_type, or perform_*
337 * config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
339 * config/i386/386bsd.h, config/i386/beos-elf.h,
340 config/i386/linux-aout.h, config/i386/linux-oldld.h,
341 config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
342 config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
343 Don't include i386/perform.h.
345 * config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
346 config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
347 config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
348 config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
349 config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
350 config/vax/t-openbsd, config/vax/t-vax: Delete.
352 * config.gcc: Remove references to deleted files.
353 (arm-semi-aof): Use arm/t-semi for tmake_file.
355 * gcc.texi, install.texi, invoke.texi, tm.texi:
356 Delete or rewrite text which is no longer relevant now that
357 libgcc1 no longer exists.
359 * config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
360 No need to set INSTALL_ASSERT_H. (Missed in previous sweep.)
362 2001-05-16 Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
363 Bruce Korb <bkorb@gnu.org>
365 * fixinc/inclhack.def(solaris27_mutex_init): Fix broken mutex
368 2001-05-16 Zack Weinberg <zackw@stanford.edu>
370 * i386.md: Add two peepholes to clean up code generated by
373 2001-05-16 Richard Henderson <rth@redhat.com>
375 * dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
376 variants of non-absolute encodings.
378 * config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
380 * libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
381 __register_frame_info_table_bases): Export.
383 2001-05-16 Richard Henderson <rth@redhat.com>
385 * except.c (eh_data_format_name): Move to ...
386 * dwarf2asm.c: ... here. Use designated initializers if available.
387 (dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
388 * dwarf2asm.h: Update declarations.
389 * dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
390 ASM_PREFERRED_EH_DATA_FORMAT.
391 (output_call_frame_info): Likewise. Use 'L' augmentation for
394 * unwind-dw2-fde.h (struct fde_vector): New.
395 (struct old_object): Rename from struct object.
396 (struct object): New.
397 (__register_frame_info_bases): Declare.
398 (__register_frame_info_table_bases): Declare.
399 (struct dwarf_fde): Remove explicit pc_begin/pc_range members.
400 * unwind-dw2-fde.c (objects): Remove.
401 (unseen_objects, seen_objects): New.
402 (__register_frame_info_bases): New.
403 (__register_frame_info): Use it.
404 (__register_frame_info_table_bases): New.
405 (__register_frame_info_table): Use it.
406 (__deregister_frame_info): Rewrite for changed object struct.
407 (base_from_object, get_cie_encoding, get_fde_encoding): New.
408 (fde_unencoded_compare): Rename from fde_compare; uninline.
409 (fde_single_encoding_compare, fde_mixed_encoding_compare): New.
410 (start_fde_sort): Adjust for new definition of fde_vector.
411 (fde_insert): Likewise.
412 (end_fde_sort): Likewise. Select comparison function based
413 on properties of the object.
414 (fde_split): Take object and fde_compare_t arguments.
415 (frame_heapsort, fde_merge): Likewise.
416 (classify_object_over_fdes): Rename from count_fdes. Handle
417 encoded pointers. Collect encoding, mixed_encoding, and pc_begin
419 (add_fdes): Handle encoded pointers.
420 (init_object): Rename from frame_init. Update for new struct object.
421 (linear_search_fdes): Rename from search_fdes. Handle encoded
423 (binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
424 (binary_search_single_encoding_fdes): New.
425 (binary_search_mixed_encoding_fdes): New.
426 (search_object): New.
427 (_Unwind_Find_FDE): Update for new struct object. Fill in
429 * unwind-dw2.c: Include unwind-pe.h. Constify all pointers
430 iterating over EH data.
431 (_Unwind_FrameState): Remove saw_lsda, addr_encoding. Add
432 fde_encoding, lsda_encoding.
433 (read_uleb128, read_sleb128): Remove.
434 (read_encoded_pointer): Remove. All callers use read_encoded_value.
435 (extract_cie_info): Set lsda_encoding from 'L' augmentation.
436 (uw_frame_state_for): Don't set bases.func. Handle encoded fde
438 * unwind-pe.h: Add "struct" to _Unwind_Context references.
440 2001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
442 * cppexp.c (lex): Use NODE_NAME and NODE_LEN.
443 * cpphash.c (_cpp_lookup_with_hash): Similarly.
444 * cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
445 cpp_spell_token, cpp_output_token): Similarly.
446 * cpplib.c (lex_macro_node, do_undef, do_pragma,
447 do_pragma_poison, parse_assertion, do_assert): Similarly.
448 * cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
449 save_parameter, _cpp_create_definition, check_trad_stringification,
450 cpp_macro_definition): Similarly.
451 * cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
452 * c-lex.c (cb_undef, c_lex): Similarly.
453 * fix-header.c (recognized_function): Similarly.
454 * cpplib.h (NODE_LEN, NODE_NAME): New.
455 (cpp_hashnode): Rename length len.
457 Wed May 16 13:41:10 2001 Jeffrey A Law (law@cygnus.com)
459 * pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
462 2001-05-16 Andreas Jaeger <aj@suse.de>
464 * Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
466 * toplev.c: Include dwarf2asm.h for prototype of
467 dw2_output_indirect_constants.
469 Wed May 16 19:53:53 CEST 2001 Jan Hubicka <jh@suse.cz>
471 * stmt.c (expand_asm_operands): Be able to offload addressof
472 expression to memory. (PR optimization/185)
474 Wed May 16 18:53:23 CEST 2001 Jan Hubicka <jh@suse.cz>
476 * combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
477 applying distributive law.
479 2001-05-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
481 * pa-hpux10.h (THREAD_MODEL_SPEC): Define.
483 * gthr-dce.h (UNUSED): Attribute unused macro.
484 (__gthread_key_dtor): Make arguments UNUSED.
485 (__gthread_key_delete): Revise for compatibility with DRAFT4
488 2001-05-16 David Edelsohn <edelsohn@gnu.org>
490 * doc/install.texi: Update AIX information.
491 * README.RS6000: Remove obsolete file.
493 2001-05-16 Jakub Jelinek <jakub@redhat.com>
494 Nathan Sidwell <nathan@codesourcery.com>
496 * gcc.c (give_switch): Don't write before start of string.
497 Always append suffix.
499 2001-05-16 Nathan Sidwell <nathan@codesourcery.com>
501 * cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
504 2001-05-16 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
506 * README.ALTOS: Remove obsolete file.
508 2001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
510 * c-lex.h (save_and_forget_protocol_qualifiers,
511 forget_protocol_qualifiers, remember_protocol_qualifiers):
512 Remove deleted functions' prototypes.
514 2001-05-16 Neil Booth <neil@daikokuya.demon.co.uk>
516 * c-parse.in (methodtype): New production.
517 (methoddef, methodproto): Collapse separate '-' and '+'
520 2001-05-16 Neil Booth <neil@cat.daikokuya.demon.co.uk>
522 * c-common.h (RID_FIRST_PQ): New.
523 * c-parse.in (objc_pq_context): New.
524 (objc parser): Set objc_pq_context rather than calling
525 remember_protocol_qualifiers and forget_protocol_qualifiers.
526 Don't call save_and_forget_protocol_qualifiers.
527 (yylexname): Handle objc protocol qualifiers here.
528 * stringpool.c (struct str_header): Replace with sp_hashnode.
529 (SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
530 (alloc_string): Rename alloc_ident. Use the SP_ accessors.
531 Allocate an IDENTIFIER_NODE for each identifier.
532 (FORALL_STRINGS, set_identifier): Delete.
533 (FORALL_IDS, expand_string_table, stringpool_statistics): Update.
534 (ggc_alloc_string): Use an obstack.
535 (get_identifier, maybe_get_identifier, mark_string_hash): Update.
536 * tree.h: Update comments.
537 (set_identifier): Delete.
538 * objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
539 save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
540 remember_protocol_qualifiers): Delete.
542 Tue May 15 22:14:09 2001 Jeffrey A Law (law@cygnus.com)
544 * flow.c (life_analysis): After life analysis is complete, do
545 an optional scan over insns looking for REG_LABEL notes that
546 reference a deleted label.
547 (propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
548 before peeking at LABEL_NUSES.
550 2001-05-15 Richard Henderson <rth@redhat.com>
552 * unwind-sjlj.c (_Unwind_GetDataRelBase): New.
553 (_Unwind_GetTextRelBase): New.
555 2001-05-15 Mark Mitchell <mark@codesourcery.com>
557 * config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
559 2001-05-15 Geoffrey Keating <geoffk@redhat.com>
561 * objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
562 so that CHOOSE_SECTION gets used.
564 * config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
565 TARGET_RELOCATABLE like flag_pic for now.
567 2001-05-15 David Edelsohn <edelsohn@gnu.org>
569 * rs6000.md (movdi splitter): Sign extend more efficiently.
570 * rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
571 to "long long" valid on 32-bit and 64-bit hosts.
572 (logical_operand): Cast trunc_int_for_mode return value.
573 (rs6000_emit_move): Shift macro to encapsulate variable.
574 (rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
575 (rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
576 plus_constant requires signed argument.
578 2001-05-15 Loren J. Rittle <ljrittle@acm.org>
580 * gthr-posix.h: Make additional pthread-* functions weak.
582 Tue May 15 13:51:32 CEST 2001 Jan Hubicka <jh@suse.cz>
584 * recog.c (apply_change_group): Avoid unneeded validating.
586 2001-05-14 David Edelsohn <edelsohn@gnu.org>
588 * rs6000.c (num_insns_constant_wide): Constants are sign-extended.
589 (num_insns_constant): CONST_INT can be 64-bits.
591 2001-05-14 Stan Shebs <shebs@apple.com>
593 * config/darwin.h (LIB_SPEC): Just use -lSystem.
594 (LIBGCC_SPEC): Don't define.
596 2001-05-14 Richard Henderson <rth@redhat.com>
598 * configure.in (gcc_cv_as_eh_frame): New test.
599 * config.in, configure: Rebuild.
600 * gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
602 2001-05-14 Andrew MacLeod <amacleod@redhat.com>
604 * config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
605 extended precision divide.
607 2001-05-14 Andrew MacLeod <amacleod@redhat.com>
609 * config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
612 Mon May 14 17:34:48 CEST 2001 Jan Hubicka <jh@suse.cz>
614 * i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
615 (CPP_CPU??_SIZE_TYPE): New.
616 (CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
617 (CPP_CPU_SPEC): ... here; support choosing of CPU.
618 (EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
619 (MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
621 * i386.c (override_options): Add sorry about not suported modes.
623 Mon May 14 08:56:47 2001 Jeffrey A Law (law@cygnus.com)
625 * config/pa/som.h (NM_FLAGS): Remove.
626 (ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
627 (ASM_OUTPUT_SECTION_NAME): Remove.
628 (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
630 2001-05-14 Mark Mitchell <mark@codesourcery.com>
632 * regrename.c (regrename_optimize): Do not rename registers to
635 2001-05-14 Alexandre Oliva <aoliva@redhat.com>
637 * rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
638 contain MEMs. Remove useless distinction about clobbering
641 2001-05-13 Geoff Keating <geoffk@redhat.com>
643 * config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
644 * config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
645 * config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
646 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
647 (EXCEPTION_SECTION): Define.
649 2001-05-13 Zack Weinberg <zackw@stanford.edu>
651 * libgcc2.c, libgcc2.h: Restore __eprintf. Label as used for
652 binary backward compat only.
653 * Makefile.in (LIB2FUNCS_ST): New. Put _eprintf here, not
654 in LIB2FUNCS. Pass it to mklibgcc.
655 * mklibgcc.in: Handle LIB2FUNCS_ST.
657 * Makefile.in (installdirs): Don't create $(gcc_tooldir).
659 2001-05-13 Alexandre Oliva <aoliva@redhat.com>
661 * tm.texi (THREAD_MODEL_SPEC): Document it.
662 * gcc.c (main): Use it.
663 * config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
664 * config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
666 2001-05-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
668 * rtl.h (SYMBOL_REF_WEAK): New macro.
669 * rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
670 * varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
671 * rtl.texi (SYMBOL_REF_WEAK): Document it.
672 * gcc.texi: Remove wrong description.
674 2001-05-13 Mark Mitchell <mark@codesourcery.com>
676 * Makefile.in (STAMP): New macro.
677 Replace all uses of `touch' with $(STAMP).
678 * fixinc/Makefile.in: Likewise.
680 Sun May 13 07:26:34 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
682 * configure.in: ldopen is never in -lexc, so don't test for it.
683 Add test for exc_resume in -lexc for Ada.
684 * configure: Regenerated.
686 2001-05-12 Richard Henderson <rth@redhat.com>
688 * dwarf2asm.c (size_of_encoded_value): New function.
689 * dwarf2asm.h: Declare it.
690 * except.c (output_function_exception_table): Align the TType
691 array only as wide as the encoding.
693 2001-05-12 Zack Weinberg <zackw@stanford.edu>
695 * extend.texi: Document #pragma GCC java_exceptions.
697 2001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
699 * c-parse.in (bison parser, init_reswords): Remove uses of
701 * c-tree.h (doing_objc_thang): Remove.
703 2001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
705 * cpplex.c (_cpp_lex_token): Ensure we warn at most once
706 about files not ending in newlines.
708 2001-05-12 Neil Booth <neil@cat.daikokuya.demon.co.uk>
710 * dwarfout.c (dwarfout_init): Add cast.
711 * sched-deps.c (sched_analyze_insn): Remove unused vars.
712 * unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
714 * method.c (build_mangled_C99_name): Remove unused prototype.
716 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
718 * config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
720 2001-05-12 Alexandre Oliva <aoliva@redhat.com>
722 * defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
723 * tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
725 2001-05-11 Richard Henderson <rth@redhat.com>
727 * defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
728 * dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
729 dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
730 * dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
731 (dw2_output_indirect_constants): Prototype.
732 * dwarf2out.c (dwarf2out_begin_prologue): Generate
733 current_function_func_begin_label if we'll need it for EH. Exit
734 early for IA64_UNWIND_INFO.
735 * except.c: Get DW_EH_PE_* defines from dwarf2.h.
736 (eh_data_format_name): Update for indirect references.
737 (output_function_exception_table): Care for IA64_UNWIND_INFO.
738 Handle ASM_PREFERRED_EH_DATA_FORMAT.
739 * except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
740 define HAVE_eh_return etc.
741 * final.c (final_start_function): Always call dwarf2out_begin_prologue.
742 (final_end_function): Don't call output_function_exception_table.
743 * toplev.c (compile_file): Call dw2_output_indirect_constants.
744 (rest_of_compilation): Invoke output_function_exception_table
745 for ia64 before assemble_end_function.
746 * tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
747 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
749 * unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
750 * unwind.h: Declare them.
751 * libgcc-std.ver: Export them.
752 * unwind-pe.h: New file.
754 * config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
756 * config/ia64/fde-glibc.c: Use "struct unw_table_entry"
758 (find_fde_for_dso): Extract DT_PLTGOT.
759 (_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
760 the segment and gp as well.
761 * config/ia64/frame-ia64.c: Remove file.
762 * config/ia64/frame-ia64.h: Remove file.
763 * config/ia64/unwind-ia64.c: New file.
764 * config/ia64/unwind-ia64.h: New file.
765 * config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
766 (ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
767 (ASM_OUTPUT_EH_DOUBLE_INT): Remove.
768 (ASM_PREFERRED_EH_DATA_FORMAT): New.
769 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
770 (IA64_UNWIND_INFO): Re-enable.
771 (HANDLER_SECTION): Remove.
772 (EH_RETURN_DATA_REGNO): New.
773 * config/ia64/ia64.md (exception_receiver): Remove.
774 * config/ia64/t-glibc (LIB2ADDEH): Re-enable.
775 * config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
777 2001-05-11 Richard Henderson <rth@redhat.com>
779 * config/ia64/ia64.c (group_barrier_needed_p): Don't allow
780 calls and jumps to be bundled together.
781 (ia64_reorg): Emit a break after a noreturn call that ends
783 * config/ia64/ia64.md (break_f): New.
785 2001-05-12 Neil Booth <neil@daikokuya.demon.co.uk>
787 * c-lex.c (lex_charconst): Convert into a simple wrapper
788 around cpp_interpret_charconst, to which most of the code
790 * cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
791 MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
792 MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
793 (lex): Use cpp_interpret_charconst.
794 * cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
795 hex_digit_value): New functions.
796 (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
797 * cpplib.h (cpp_interpret_charconst): New prototype.
798 * Makefile.in: Update.
800 2001-05-12 Dean Wakerley <dean@wakerley.com>
802 * doc/install.texi: New file. Converted to texinfo from the HTML
803 documentation in wwwdocs/htdocs/install.
805 Fri May 11 15:50:13 2001 Jeffrey A Law (law@cygnus.com)
807 * gcse.c (insert_insn_end_bb): Do not search for assignments to
808 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
810 * toplev.c (compile_file): Move comment for opening output
811 file to just before the code that opens the output file.
813 2001-05-11 Jakub Jelinek <jakub@redhat.com>
815 * regmove.c (regmove_optimize): Suppress the optimization for
816 unchanging destination register. Add comment above function.
818 2001-05-11 Zack Weinberg <zackw@stanford.edu>
820 * Makefile.in: Exterminate all references to assert.h.
821 * cross-make: Likewise.
823 * configure.in: Correct commentary.
824 * configure: Regenerate.
826 * libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
829 * config/t-freebsd, config/t-linux, config/t-linux-aout,
830 config/t-netbsd, config/t-rtems, config/x-linux,
831 config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
832 No need to override INSTALL_ASSERT_H.
834 * fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
835 fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
836 fixinc/fixincl.sh: Don't install assert.h into objdir/include.
838 2001-05-11 Graham Stott <grahams@redhat.com>
840 * combine.c (simplify_comparison): Fix typo.
842 2001-05-11 Mark Mitchell <mark@codesourcery.com>
844 * loop.h (struct movables): Remove `num'.
845 * loop.c (scan_loop): Don't set it. Use count_insns_in_loop.
846 Adjust call to strength_reduce.
847 (num_unmoved_movables): New function.
848 (move_movables): Don't set movables->num.
849 (strength_reduce): Compute the number of instructions in the loop
850 here, rather than in the caller.
851 (check_dbra_loop): Always clear reversible_mem_store if there
853 (loop_regs_scan): Don't count instructions here.
854 (count_insn_in_loop): New function.
856 2001-05-11 Mark Mitchell <mark@codesourcery.com>
858 * optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
860 2001-05-11 Neil Booth <neil@daikokuya.demon.co.uk>
862 * c-common.c (finish_label_expr): New function, lifted from
864 * c-common.h (finish_label_expr, lookup_label): New prototypes.
865 * c-parse.in: Move 3 blocks of parser code into new functions.
866 * c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
867 * c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
868 (lookup_label): Remove.
870 2001-05-11 Alexandre Oliva <aoliva@redhat.com>
872 * config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
873 FLOAT_BIT_ORDER_MISMATCH.
875 2001-05-10 David Edelsohn <edelsohn@gnu.org>
877 * expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
878 bytes. Reported by Kazu Hirata <kazu@hxi.com>.
880 2001-05-10 David Edelsohn <edelsohn@gnu.org>
882 * expr.c (emit_group_load): extract_bit_field requires a REG or
885 Thu May 10 14:45:44 2001 Jeffrey A Law (law@cygnus.com)
887 * cse.c (cse_insn): Mostly remove first hunk of code which collapsed
888 a computed jump into an unconditional jump.
889 In second hunk of code for collapsing computed and conditional jumps
890 into unconditional jumps, reemit the jump in additional cases.
892 * jump.c (jump_optimize_1): Do not wrap the new jump target
893 inside a LABEL_REF; gen_jump will do that automatically.
895 2001-05-10 Toon Moene <toon@moene.indiv.nluug.nl>
897 * dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
898 contents for a SYMBOL_REF in case of floating point constants.
900 2001-05-10 DJ Delorie <dj@redhat.com>
902 * c-common.c (combine_strings): Widen strings in a
903 host-endian-independent way.
905 2001-05-10 Joseph S. Myers <jsm28@cam.ac.uk>
907 * c-parse.in: Remove many shift/reduce conflicts. Update
909 (declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
910 declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
911 declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
912 declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
913 declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
914 declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
915 declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
916 declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
917 declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
918 declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
919 maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
920 typespec_reserved_nonattr, typespec_reserved_attr,
921 typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
922 structsp_nonattr, components_notype, component_notype_declarator,
923 absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
924 firstparm, setspecs_fp): New
925 (typed_declspecs, reserved_declspecs, typed_typespecs,
926 reserved_typespecquals, declmods, typespec, typespecqual_reserved,
927 typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
928 declmods_no_prefix_attr, nonempty_type_quals, structsp,
929 type_quals): Remove. Users updated.
930 (initdecls, notype_initdecls, after_type_declarator,
931 parm_declarator, notype_declarator, absdcl1, components, ivars):
932 Don't allow attributes at the start of a declarator; include them
933 in the production containing the declarator instead. Always
934 require type specifiers before trying to redeclare a typedef name.
935 (typename): Allow for attributes but warn that they are ignored.
936 (parmlist, firstparm, setspecs_fp): Include attributes in
937 parmlist; suck them off the parser stack in firstparm using
940 Thu May 10 09:17:42 2001 Jeffrey A Law (law@cygnus.com)
942 * ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
943 to determine if a block has an unconditional jump at its end.
945 * jump.c (jump_optimize_1): When converting a conditional jump
946 to an unconditional jump, build the jump using gen_jump instead
947 of just modify operands in-place.
949 2001-05-09 Zack Weinberg <zackw@stanford.edu>
951 * cppinit.c (cpp_post_options): Shut off macro expansion if
953 * cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
954 IN_I directives only if the # is in column 1 and the directive
955 name begins in column 2.
956 * cppmain.c (scan_buffer): Insert a space between # and an
957 identifier, when that identifier is a directive name.
959 * tradcpp.c (struct file_buf): Add a pointer to the next entry
960 in the header search path.
961 (enum node_type): Add T_INCLUDE_NEXT.
962 (directive_table): Add entry for include_next.
963 (do_include_next): New function.
964 (process_include): New routine, broken out of do_include.
965 (finclude): Insert 'nhd' argument, to be copied into
966 next_header_dir of the new buffer.
967 (main): Adjust to match.
968 * gsyslimits.h, limity.h: Un-indent #include_next.
970 2001-05-09 Joseph S. Myers <jsm28@cam.ac.uk>
972 * objc.texi: Move from ../libobjc/objc-features.texi. Adjust for
973 inclusion as a chapter of the GCC manual.
974 * gcc.texi: Include objc.texi.
975 * fdl.texi: Use @unnumberedsec for the addendum.
976 * Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
978 Wed May 9 16:01:41 CEST 2001 Jan Hubicka <jh@suse.cz>
980 * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
982 Wed May 9 10:40:25 2001 Alexandre Oliva <aoliva@redhat.com>
984 * regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
985 handling of two-address insns.
987 Wed May 9 10:36:18 2001 Alexandre Oliva <aoliva@redhat.com>
989 * Makefile.in (NM_FOR_TARGET): Look for ./nm, then
990 ../binutils/nm-new instead of ../binutils/nm.
992 Wed May 9 12:15:46 CEST 2001 Jan Hubicka <jh@suse.cz>
994 * i386.md (movdi splitter): Fix the splitting condition
995 (float_extenddftf splitter): Fix mode.
997 Wed May 9 12:05:39 CEST 2001 Jan Hubicka <jh@suse.cz>
999 * genrecog.c (write_switch): Avoid outputting of switch for
1000 types wider than int.
1002 2001-05-03 Andrew Haley <aph@cambridge.redhat.com>
1004 * reload1.c (copy_eh_notes): New function.
1005 (emit_input_reload_insns): Call it.
1006 (emit_output_reload_insns): Call it.
1008 2001-05-07 Zack Weinberg <zackw@stanford.edu>
1010 * config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
1012 * config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
1013 config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
1015 * optabs.c: Delete #ifdef BROKEN_LDEXP block.
1017 2001-05-07 John David Anglin <dave@hiauly1.hia.nrc.ca>
1019 * pa.md (interspace_jump): Revise comment.
1020 (builtin_longjmp): Block initial setup insns from delay slot of
1022 (builtin_setjmp_receiver): New expander to save and restore PIC
1025 * som.h (NM_FLAGS): Remove `-n' sort option. Revise comment.
1027 Mon May 7 09:30:14 2001 Jeffrey A Law (law@cygnus.com)
1029 * toplev.c (compile_file): Set up the output file before we call
1030 the various initializers for the compiler.
1032 * except.c (sjlj_mark_call_sites): Do not search for assignments to
1033 non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
1035 * pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
1036 * pa-64.h (*_TYPE_SIZE): Undefine before redefining.
1038 2001-05-06 Zack Weinberg <zackw@stanford.edu>
1040 * Makefile.in (tradcpp0): Correct typo in dependency list.
1042 2001-05-06 Geoff Keating <geoffk@redhat.com>
1044 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
1045 the link register if we're not going to use it.
1047 * config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
1048 (output_function_profiler): Likewise.
1050 2001-05-07 Alan Modra <amodra@one.net.au>
1052 * pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
1054 2001-05-06 Alexandre Oliva <aoliva@redhat.com>
1056 * unroll.c (loop_iterations): Don't sign-extend abs_diff;
1057 zero-extend it. Make abs_inc unsigned.
1059 * optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
1060 widest mode in narrowing and widening operations.
1062 * config/mips/mips.md: Sign extend CONST_INTs.
1064 2001-05-06 Andreas Jaeger <aj@suse.de>
1066 * invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
1067 (i386 Options): Document -momit-leaf-frame-pointer.
1069 2001-05-06 Neil Booth <neil@daikokuya.demon.co.uk>
1071 * c-typeck.c (internal_build_compound_expr): Check for
1072 array to pointer conversion just once.
1074 2001-05-05 Richard Henderson <rth@redhat.com>
1076 * integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
1078 2001-05-05 Richard Henderson <rth@redhat.com>
1080 * except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
1081 to the parent of the fixup region.
1083 2001-05-05 Jakub Jelinek <jakub@redhat.com>
1085 * gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
1087 * cpp.texi (__NO_INLINE): Document it.
1089 2001-05-05 Neil Booth <neil@daikokuya.demon.co.uk>
1091 * cppfiles.c (struct include_file): New member err_no.
1092 (find_or_create_entry): Set it.
1093 (open_file): Don't set fds to -2. Instead, use err_no to
1094 remember previous errors, if any.
1096 2001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1098 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
1099 between X and Y by using sequences of xgdx and xgdy.
1101 2001-05-05 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1103 * config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
1104 of '!' for the 'D' alternative ('!' is too strong).
1105 ("*logicalsi3_silshl16"): Likewise.
1106 ("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
1107 ("movstrictsi"): Remove spurious '+'.
1108 ("movstrictqi"): Don't accept 'A' and remove spurious '+'.
1109 ("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
1110 ("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
1113 2001-05-04 David Edelsohn <edelsohn@gnu.org>
1115 * calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
1117 2001-05-04 Lars Brinkhoff <lars@nocrew.org>
1119 * simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
1122 2001-05-04 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1124 * config/rs6000/rs6000.md (ashldi3 splits): Guard with
1127 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1129 * config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
1130 soft register, use ror instead of rol.
1132 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1134 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
1135 into account pre/post increment decrement for 68HC12.
1136 Fix other problems in replacement and fix call to reg_mentioned_p.
1138 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1140 * config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
1141 Put the soft registers in bss for 68HC12.
1142 (L_regs_d3_4): New for _.d3 and _.d4.
1143 (L_regs_d5_6): Likewise.
1144 (L_regs_d1_2): Likewise.
1145 * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
1147 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1149 * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
1150 to the pre-processor when -fshort-double is specified.
1151 * config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
1153 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1155 * config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
1156 (__mulsi3): Rewrite for 68HC12.
1157 * config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
1158 Mark 'x' constraint with earlyclobber to prevent a
1159 RELOAD_FOR_OTHER_ADDRESS to go in it.
1160 (mulhi3_m68hc12): New pattern.
1161 (mulhi3_m68hc11): Rename of mulhi3.
1162 (mulhi3): New expand for 68HC12 optimisation.
1163 (umulhisi3, mulhisi3): New patterns for 68HC12.
1165 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1167 * config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
1168 (extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
1169 (uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
1171 2001-05-04 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1173 * config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
1174 constants cheap after reload.
1175 * config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
1177 (m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
1178 so that gcc prefers a shift by 16.
1179 (m6811_cost, m6812_cost): Make the shift cheap compared to an add.
1181 2001-05-04 Nick Clifton <nickc@cambridge.redhat.com>
1183 * config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
1185 2001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1187 * alpha.h: NULL_PTR -> NULL.
1194 * i386.md: Likewise.
1197 * m68hc11.h: Likewise.
1198 * rs6000.h: Likewise.
1201 * sparc.h: Likewise.
1205 * final.c: Likewise.
1207 * recog.c: Likewise.
1209 2001-05-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1211 * i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
1212 `bool' parameter to `int'.
1214 * hash.c (hash_lookup): Likewise.
1216 * hash.h (hash_lookup): Likewise.
1218 * tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
1220 Fri May 4 13:10:03 CEST 2001 Jan Hubicka <jh@suse.cz>
1222 * i386.c (x86_initialize_trampoline): Fix mode of constant.
1224 2001-05-03 Geoff Keating <geoffk@redhat.com>
1226 * invoke.texi (i386 Options): Delete references to -malign-jumps,
1227 -malign-loops, -malign-functions.
1228 * i386.c (ix86_align_funcs): Delete.
1229 (ix86_align_loops): Delete.
1230 (ix86_align_jumps): Delete.
1231 (override_options): Mark -malign-* as obsolete. Emulate their
1232 behaviour with the -falign-* options. Default -falign-* from
1233 the processor table.
1234 * i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
1235 patch of Wed May 2 13:09:36 2001.
1236 (LOOP_ALIGN): Delete.
1237 (LOOP_ALIGN_MAX_SKIP): Delete.
1238 (LABEL_ALIGN_AFTER_BARRIER): Delete.
1239 (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
1241 2001-05-04 Andreas Jaeger <aj@suse.de>
1243 * except.h: Add prototype declaration for
1244 expand_builtin_init_dwarf_reg_sizes.
1246 2001-05-03 Geoffrey Keating <geoffk@redhat.com>
1248 * Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
1250 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1252 * config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
1254 ("bitcmpqi2"): New pattern for bit-extract and test.
1255 ("bitcmphi"): New pattern for bitb/bita instructions.
1257 2001-05-03 Joseph S. Myers <jsm28@cam.ac.uk>
1259 * gccbug.in: Use a temporary directory when the mktemp command is
1262 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1264 * config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
1266 (INITIALIZE_TRAMPOLINE): Call it.
1267 (TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
1268 (TRAMPOLINE_TEMPLATE): Remove.
1269 * config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
1270 * config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
1273 2001-05-03 David O'Brien <obrien@FreeBSD.org>
1275 * config/t-freebsd: Don't install "assert.h" in gcc. Compile crtbeginS.o
1276 and crtendS.o with PIC.
1278 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1280 * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
1282 (___subdi3, ___adddi3): Use x instead of y as index register.
1283 (__init_bss_section, __map_data_section): Optimize for 68HC12.
1284 (__memset, __memcpy): Likewise.
1285 (regs): Put the soft registers in bss for 68HC12.
1286 (abort): Use trap to abort for 68hc12.
1287 (__mulhi3, __mulhi32): Use emul for 68hc12.
1288 (__mulsi3): Avoid to use the tmp soft register for 68hc12.
1290 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1292 * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
1293 * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
1294 * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
1295 (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
1296 Set 68HC12 min offset to -65536.
1297 (print_operand): Put parenthesis arround the operand if it refers
1298 to a symbol having the same name as a register.
1299 (m68hc11_z_replacement): When z register is replaced by its
1300 equivalent soft register, force the insn to be re-recognized.
1301 (m68hc11_check_z_replacement): Fix the test when destination is
1302 the index register and z dies in the insn.
1303 (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
1305 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1307 * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
1308 costs according to processor variant.
1309 (m68hc11_shift_cost): New function to compute shift costs.
1310 (m68hc11_rtx_costs): Define costs according to processor variant.
1311 (m6811_cost): Costs for 68HC11.
1312 (m6812_cost): Costs for 68HC12.
1313 (COSTS_N_INSNS): Remove.
1315 * config/m68hc11/m68hc11.h (RTX_COSTS): New.
1316 (DEFAULT_RTX_COSTS): Remove.
1317 (CONST_COSTS): Define costs according to OUTER_CODE.
1318 (processor_costs): New struct to define costs.
1319 (m68hc11_cost): Pointer to current costs.
1321 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1323 * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
1324 and use m68hc11_notice_keep_cc when using leax/leay.
1325 (addhi3 split): Reject split if the insn is handled by
1327 * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
1328 push must be handled in a special way if the source operand uses
1329 sp as index register.
1330 (m68hc11_notice_keep_cc): New function.
1331 (m68hc11_gen_movhi): Use it when an insn changes a register but
1333 (m68hc11_gen_movqi): Fix move for 68HC12.
1334 * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
1336 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1338 * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
1339 and don't pass operands[0] to emit_library_call_value.
1341 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1343 * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
1344 (zero_extendsi split): Simplify and use (zero_extendhi).
1345 (*addhi3): Remove 'w' constraint since stack pointer is handled
1347 (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
1348 (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
1349 (*ashrhi3_const): Fix shift by 7.
1350 (*lshrsi3_const16): Fix template.
1351 (call, call_value): Fix constraint and predicate.
1353 2001-05-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
1355 * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
1356 (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
1357 (CC_REGNUM): Likewise.
1358 (*unnamed splits): Use above constants instead of hard coded numbers.
1359 (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
1360 (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
1361 (*return_16bit, *unnamed peepholes): Likewise.
1363 2001-05-03 David O'Brien <obrien@FreeBSD.org>
1365 * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix): Do not include
1366 rs6000/rs6000.h twice.
1368 2001-05-03 Mark Elbrecht <snowball3@bigfoot.com>
1370 * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
1371 (CPP_SPEC): Conditionally define MSDOS and GO32.
1372 (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
1373 (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
1375 (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
1377 2001-05-03 Alexandre Oliva <aoliva@redhat.com>
1379 * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
1381 2001-05-03 Mark Mitchell <mark@codesourcery.com>
1383 * integrate.h (struct inline_remap): Add leaf_reg_map table.
1384 * integrate.c (expand_inline_function): Use xcalloc to allocate
1386 (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
1389 2001-05-03 Mark Mitchell <mark@codesourcery.com>
1391 * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
1394 2001-05-03 Alexandre Oliva <aoliva@redhat.com>
1396 * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
1397 linker if -mrelax is given.
1398 (TARGET_SWITCHES): Document -mrelax.
1400 Re-installed 2001-01-09's patch:
1401 * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
1402 if it's wider than long and the target's long is wider than the
1405 2001-05-02 David O'Brien <obrien@FreeBSD.org>
1407 * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h: Do not
1408 directly include rs6000/rs6000.h. Instead do it in tm.h.
1410 2001-05-02 Stan Shebs <shebs@apple.com>
1412 * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
1413 NSConstantString for NeXT-style runtimes.
1414 (STRING_OBJECT_GLOBAL_NAME): New macro.
1415 (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
1416 OCTI_STRING_CLASS_DECL.
1417 (constant_string_global_id): New macro.
1418 (string_class_decl): Ditto.
1419 (setup_string_decl): New function.
1420 (build_objc_string_object): Use it to build a NeXT runtime
1421 compatible string initializer.
1423 2001-05-02 Jakub Jelinek <jakub@redhat.com>
1425 * tradcpp.c (do_define): Make sure we don't walk past limit.
1427 2000-05-01 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1429 * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
1430 offsets if not REG_OK_STRICT.
1432 * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
1433 (INT_REG_OK_FOR_INDEX_P): Likewise.
1434 (INT_REG_OK_FOR_BASE_P): Likewise.
1435 (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
1436 (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
1437 (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
1438 INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
1439 REG_OK_FOR_BASE_P. Take an additional parameter.
1440 (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
1441 (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
1442 (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
1443 (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
1444 rs6000_legitimate_address() and use it.
1445 * config/rs6000/rs6000.c: Update all callers.
1446 (rs6000_legitimate_address): New function.
1448 2001-05-02 David Edelsohn <edelsohn@gnu.org>
1450 * config/rs6000/rs6000.c (rs6000_emit_move): Merge
1451 special_constant conditional blocks together.
1453 2001-05-02 Dale Johannesen <dalej@apple.com>
1455 * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
1457 (STRICT_ARGUMENT_NAMING): Define.
1458 * config/rs6000/rs6000.c (function_arg_advance, function_arg,
1459 function_arg_partial_nregs, setup_incoming_varargs): Remove
1460 args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
1463 Wed May 2 13:09:36 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1465 * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
1467 * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
1470 * expr.c (store_field): Do nothing except elaborate side-effects if
1473 2001-05-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1475 * c-lex.c: NULL_PTR -> NULL.
1477 * emit-rtl.c: Likewise.
1479 * genpeep.c: Likewise.
1481 * mips-tdump.c: Likewise.
1482 * reload1.c: Likewise.
1483 * rtlanal.c: Likewise.
1485 * stor-layout.c: Likewise.
1486 * toplev.c: Likewise.
1488 2001-05-01 Per Bothner <per@bothner.com>
1490 * expr.c (expand_expr): When compiling LABELED_BLOCK_EXPR,
1491 call do_pending_stack_adjust before emiting label.
1493 2001-05-01 Mark Mitchell <mark@codesourcery.com>
1495 * extend.texi: Fix typo.
1497 2001-05-01 Stan Shebs <shebs@apple.com>
1499 * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
1500 of UOBJC_MODULES_decl.
1501 (generate_strings): Clear DECL_CONTEXT of new decl nodes.
1502 (generate_descriptor_table): Ditto.
1503 (generate_protocols): Ditto.
1504 (generate_protocol_list): Ditto.
1505 (generate_classref_translation_entry): Ditto.
1507 2001-05-01 Jeffrey Oldham <oldham@codesourcery.com>
1509 * invoke.texi (Optimize Options): Add documentation for `--param
1510 max-delay-slot-insn-search' and `--param
1511 max-delay-slot-live-search' and reorder --param section.
1512 * params.def: Modify initial comment.
1513 * params.h (param_info): Add `help' member.
1514 * toplev.c (lang_independent_params): Include `help' description.
1515 (display_help): Print --param parameters.
1517 2001-05-01 Zack Weinberg <zackw@stanford.edu>
1519 * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
1520 Remove references to deleted files.
1521 (*-*-openbsd): No need to override xmake_file.
1522 (*-*-sysv4): Treat like *-*-sysv.
1524 * configure.in: Probe for ldopen in various places, and set up
1525 collect2 to be linked with them if found.
1526 Don't dink with Windows registry stuff unless $host_os is a
1527 Win32 os name. Check to see if we need -ladvapi32.
1528 * configure: Regenerate.
1530 * Makefile: Get rid of CLIB and HOST_CLIB.
1531 Substitute in COLLECT2_LIBS and link collect2 against its contents.
1532 * build-make: Get rid of HOST_CLIB.
1534 * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
1535 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
1536 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
1537 config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
1538 config/rs6000/x-rs6000: Delete.
1540 * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
1543 24 x-host fragments remain, 0 x-cpu, 3 top level.
1545 2001-05-01 Zack Weinberg <zackw@stanford.edu>
1547 * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
1548 * configure: Regenerate.
1550 2001-05-01 Angela Marie Thomas <angela@cygnus.com>
1552 * Makefile.in (install-headers): Remove redundant dependency.
1554 2001-05-01 Nathan Sidwell <nathan@codesourcery.com>
1556 * c-tree.texi (USING_STMT): Document.
1558 2001-05-01 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1560 * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
1561 * c-common.c: Likewise.
1562 * c-decl.c: Likewise.
1563 * combine.c: Likewise.
1564 * rs6000.c: Likewise.
1565 * except.c: Likewise.
1566 * explow.c: Likewise.
1568 * fold-const.c: Likewise.
1569 * function.c: Likewise.
1572 * integrate.c: Likewise.
1574 * objc/objc-act.c: Likewise.
1575 * recog.c: Likewise.
1576 * reg-stack.c: Likewise.
1577 * reload.c: Likewise.
1578 * reload1.c: Likewise.
1579 * simplify-rtx.c: Likewise.
1581 * varasm.c: Likewise.
1583 2001-05-01 Gabriel Dos Reis <gdr@codesourcery.com>
1585 * diagnostic.def: New file.
1586 * diagnostic.h (diagnostic_t): New enum.
1587 * Makefile.in (diagnostic.o): Depend on diagnostic.def
1589 2001-04-30 Zack Weinberg <zackw@stanford.edu>
1591 * tsystem.h: Test only POSIX for availability of string.h
1593 * config.gcc (all systems): If USG appeared in xm_defines,
1594 change it to POSIX. If both USG and POSIX appeared, just
1595 delete USG. Remove unnecessary quotes around xm_defines
1597 (m68k-crds-unos*): Don't #define unos - tested nowhere.
1598 (m68k-apple-aux*): Don't #define AUX - tested nowhere.
1599 (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
1600 powerpc-*-linux*): No need to set xm_defines - handled by
1601 global settings for *-*-linux*.
1603 2001-04-30 Zack Weinberg <zackw@stanford.edu>
1605 * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
1606 Always include gstab.h, not system stab.h. Don't provide
1607 default definitions of N_CATCH or N_OPT. Always use the
1608 gstab.h variant of STAB_CODE_TYPE.
1609 * final.c: Don't include stab.h/gstab.h at all, or provide
1610 defaults for N_SLINE and N_SOL.
1612 * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
1613 N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
1615 * sdbout.c: Always include gsyms.h instead of system syms.h.
1617 * configure.in: No need to check for stab.h.
1618 * configure, config.in: Regenerate.
1619 * Makefile.in (final.o): Don't depend on gstab.h.
1621 2001-04-30 Mark Mitchell <mark@codesourcery.com>
1622 Richard Henderson <rth@redhat.com>
1624 * extend.texi: Improve documentation of volatile asms.
1626 2001-04-30 Mark Mitchell <mark@codesourcery.com>
1628 * c-tree.texi: Fix thinko.
1629 * gcc.texi: Likewise.
1631 2001-04-30 Richard Henderson <rth@redhat.com>
1633 * c-common.c (c_promoting_integer_type_p): New function, from the
1634 corpse of old macro. Properly promote too-small enumerations and
1635 booleans. Adjust all callers.
1636 * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
1637 (c_promoting_integer_type_p): Declare.
1638 * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
1639 * c-typeck.c: Likewise.
1640 (default_conversion): Remove now redundant boolean check.
1642 2001-04-30 Jan Hubicka <jh@suse.cz>
1643 Richard Henderson <rth@redhat.com>
1645 * regmove.c (try_apply_stack_adjustment): Remove now redundant
1647 (combine_stack_adjustments_for_block): Don't combine stack
1648 allocation followed by deallocations. Handle grow-up stacks.
1650 2001-04-30 Mark Mitchell <mark@codesourcery.com>
1652 * fdl.texi: New file.
1653 * c-tree.texi: Use the GFDL.
1654 * gcc.texi: Likewise.
1656 2001-04-30 Stan Shebs <shebs@apple.com>
1658 * invoke.texi: Add a section documenting Objective-C options.
1660 2001-04-27 Andrew Haley <aph@cambridge.redhat.com>
1662 * emit-rtl.c (try_split): Copy EH notes to sequence.
1664 2001-04-30 Mark Mitchell <mark@codesourcery.com>
1666 * regmove.c (record_stack_memrefs): Catch all references to the
1669 2001-04-29 Toomas Rosin <toomas at ns dot tklabor dot ee>
1671 * Makefile.in (stmp-fixinc): quote shell assignment values
1673 2001-04-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1675 * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
1679 * prefix.c: Likewise.
1681 2001-04-28 Stan Shebs <shebs@apple.com>
1683 * objc/objc-act.c (handle_class_ref): Rewrite to flush target
1684 specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
1685 * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
1686 * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
1688 * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
1689 (NEXT_OBJC_RUNTIME): Define.
1691 Sat Apr 28 21:02:58 CEST 2001 Jan Hubicka <jh@suse.cz>
1693 * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
1694 * simplify-rtx.c (simplify_gen_relational): Likewise.
1696 * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
1698 * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
1699 * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
1701 * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
1702 registers in SSE case; fix handling of the immediates.
1703 (negsf2_ifs, abssf2_ifs): Tweak constraints; require
1704 operands to be in regsiters before reload.
1705 (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
1706 (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
1707 (abstf,absxf,negtf,negxf splitters): Compute
1708 properly the regnum for x86_64.
1709 (avsdf2_if_rex64): New.
1711 Sat Apr 28 10:36:23 2001 Jeffrey A Law (law@cygnus.com)
1713 * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
1714 and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
1715 into the constant pool.
1716 * jump.c (jump_optimize_1): Remove barrier successors after all
1717 the LABEL_NUSES counds have been computed.
1718 (delete_barrier_successors): When deleting a tablejump insn, also
1719 delete the jump table it uses.
1720 * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
1723 2001-04-28 Martin Kalen <martin.kalen@todaysystems.com.au>
1725 * pa.c (FRP): Remove erroneous white space in macro definition.
1727 2001-04-28 Andreas Jaeger <aj@suse.de>
1729 * invoke.texi: Use XX-bit instead of XXbit or XX bit where
1731 * extend.texi: Likewise.
1732 * tm.texi: Likewise.
1734 2001-04-28 Andreas Jaeger <aj@suse.de>
1736 * md.texi: Use XX-bit instead of XXbit or XX bit where
1739 2001-04-28 Jens Schweikhardt <schweikh@schweikhardt.net>
1741 * gcc.c (process_command): Allow -l lib in addition to -llib
1742 for POSIX compliance. This fixes PR c/2347.
1744 * invoke.texi: Update section on Link Options accordingly.
1746 2001-04-27 Zack Weinberg <zackw@stanford.edu>
1748 * function.c (purge_addressof_1): Remove the duplicate
1749 if (code == SET) block. Fold the two if (code == ADDRESSOF)
1752 2001-04-28 Jason Merrill <jason_merrill@redhat.com>
1754 * except.c (expand_eh_region_start): Don't start a new block.
1755 (expand_eh_region_end): Don't end a block.
1756 * stmt.c (expand_end_bindings): Don't end EH blocks.
1757 (expand_decl_cleanup): Starting an EH region won't change the block.
1758 (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
1759 (is_eh_region): Lose.
1762 2001-04-27 Jeffrey Oldham <oldham@codesourcery.com>
1764 * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
1766 * collect2.c (main): Add `-L' case to remove duplicate entries.
1767 (is_in_args): New function to check for a duplicate argument.
1768 * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
1769 * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
1770 * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
1771 Define to be nonzero.
1773 2001-04-27 Andreas Jaeger <aj@suse.de>
1774 Richard Henderson <rth@redhat.com>
1776 * md.texi (Machine Constraints): Document additional i386
1777 constraints and fix description of "A".
1779 Fri Apr 27 10:43:49 2001 Jeffrey A Law (law@cygnus.com)
1781 * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
1783 2001-04-27 Jason Merrill <jason_merrill@redhat.com>
1785 * except.c (get_exception_filter): word_mode, not Pmode.
1787 2001-04-26 Geoffrey Keating <geoffk@redhat.com>
1789 * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
1790 common to other movsf patterns. Move up so that in future
1791 people who change the other patterns will change it too.
1792 (movsf_lo_sum): Allow even for soft-float; add appropriate
1794 (movsf_high): Likewise.
1795 (movsf_high+1): Allow even for soft-float.
1797 * function.c (expand_function_end): Always clobber the
1798 return registers, even if there is no return label.
1800 Thu Apr 26 20:28:21 CEST 2001 Jan Hubicka <jh@suse.cz>
1802 * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
1804 Thu Apr 26 19:20:28 CEST 2001 Jan Hubicka <jh@suse.cz>
1806 * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
1807 (pushqi2_rex64, pushhi2_rex64): Add.
1809 2001-04-26 Andrew Haley <aph@cambridge.redhat.com>
1811 * except.c (expand_eh_region_end_cleanup): Force pending stack
1812 adjust before emitting label that branches around cleanup code.
1814 2001-04-26 H.J. Lu (hjl@gnu.org)
1816 * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
1818 * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
1820 * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
1821 (ASM_OUTPUT_SECTION_NAME): Likewise.
1822 (ASM_WEAKEN_LABEL): Likewise.
1823 (UNIQUE_SECTION): Likewise.
1824 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1825 (ASM_OUTPUT_DESTRUCTOR): Likewise.
1826 * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
1827 (ASM_OUTPUT_SECTION_NAME): Likewise.
1828 (ASM_WEAKEN_LABEL): Likewise.
1829 (UNIQUE_SECTION): Likewise.
1830 (ASM_OUTPUT_CONSTRUCTOR): Likewise.
1831 (ASM_OUTPUT_DESTRUCTOR): Likewise.
1832 * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
1833 * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
1834 (ASM_FILE_START): Likewise.
1835 (ASM_OUTPUT_SOURCE_LINE): Likewise.
1836 (ASM_DECLARE_OBJECT_NAME): Likewise.
1837 (ASM_FILE_END): Likewise.
1838 (ASM_DECLARE_FUNCTION_NAME): Likewise.
1839 (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
1840 (ASM_GENERATE_INTERNAL_LABEL): Likewise.
1841 (ASM_OUTPUT_CASE_LABEL): Likewise.
1842 (ASM_OUTPUT_SKIP): Likewise.
1843 (ASM_OUTPUT_ASCII): Likewise.
1844 (ASM_OUTPUT_IDENT): Likewise.
1845 (READONLY_DATA_SECTION): Likewise.
1846 (EXTRA_SECTIONS): Likewise.
1847 (EXTRA_SECTION_FUNCTIONS): Likewise.
1848 (SELECT_RTX_SECTION): Likewise.
1849 (SELECT_SECTION): Likewise.
1851 * config/mips/linux.h (INVOKE__main): Undefine.
1852 (CTOR_LIST_BEGIN): Likewise.
1853 (CTOR_LIST_END): Likewise.
1854 (DTOR_LIST_BEGIN): Likewise.
1855 (DTOR_LIST_END): Likewise.
1856 (SET_ASM_OP): Defined it to ".dummy".
1857 (ASM_OUTPUT_DEF): Defined.
1858 (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
1860 2001-04-26 Nick Clifton <nickc@cambridge.redhat.com>
1862 * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
1863 assembler supports .p2align.
1865 2001-04-26 Nathan Sidwell <nathan@codesourcery.com>
1867 * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
1869 2001-04-26 Jakub Jelinek <jakub@redhat.com>
1871 * integrate.c (expand_inline_function): Check for error_mark_node
1874 2001-04-26 Jakub Jelinek <jakub@redhat.com>
1876 * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
1879 2001-04-26 Alexandre Oliva <aoliva@redhat.com>
1881 * configure.in (configargs.h): Define thread_model.
1882 * configure: Rebuilt.
1883 * gcc.c (main): Print it with -v.
1885 2001-04-25 Joseph S. Myers <jsm28@cam.ac.uk>
1887 * invoke.texi: Document -Wmissing-braces, -dumpspecs,
1888 -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
1889 * gcc.1: Regenerate.
1891 2001-04-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1893 * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
1894 is_redundant_typedef): Use static inline instead of inline static.
1896 Wed Apr 25 18:21:01 2001 Christopher Faylor <cgf@cygnus.com>
1898 * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
1899 this directory is always searched.
1901 2001-04-25 Richard Henderson <rth@redhat.com>
1903 * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
1904 of registers to restore along non eh_return path.
1906 2001-04-25 Jakub Jelinek <jakub@redhat.com>
1908 * c-format.c (check_format_info_recurse): Handle
1909 PLUS_EXPR for format string.
1911 2001-04-25 Jakub Jelinek <jakub@redhat.com>
1913 * config/ia64/ia64.h (CC1_SPEC): Define.
1914 * config/ia64/linux.h (CC1_SPEC): Define.
1916 Wed Apr 25 17:09:50 2001 J"orn Rennecke <amylaar@redhat.com>
1918 * emit-rtl.c (constant_subword): Also do sign extension in
1919 BITS_PER_WORD == 16 case.
1921 2001-04-25 Jason Merrill <jason_merrill@redhat.com>
1923 * loop.c (try_swap_copy_prop): Go back to checking insn.
1925 2001-04-25 Jakub Jelinek <jakub@redhat.com>
1927 * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
1928 if check_mode is non-zero.
1930 2001-04-25 Jakub Jelinek <jakub@redhat.com>
1932 * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
1933 out and comparison sequence has been detected, put result into
1934 proper temporary pseudo.
1936 2001-04-24 Zack Weinberg <zackw@stanford.edu>
1938 * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
1939 * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
1940 * libgcc2.c: Remove __dummy and __builtin_saveregs.
1941 * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
1942 * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
1943 for future reference.
1945 2001-04-24 Jason Merrill <jason_merrill@redhat.com>
1947 * except.c (reachable_handlers): Step out one level from a RESX.
1949 * except.c (struct eh_region): Rename 'last' to 'resume'.
1950 (mark_eh_region, duplicate_eh_region_1): Adjust.
1951 (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
1952 (build_post_landing_pads): Likewise.
1953 (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
1954 (expand_eh_region_end_must_not_throw): Likewise.
1955 (connect_post_landing_pads): Thread (only) regions with non-deleted
1958 * except.c (expand_eh_region_end_cleanup): Save the EH return data
1959 registers around the cleanup.
1960 (get_exception_filter): New fn.
1961 (finish_eh_generation): Use it.
1963 2001-04-24 Nathan Sidwell <nathan@codesourcery.com>
1965 * c-semantics.c (add_scope_stmt): Don't call
1966 current_scope_stmt_stack multiple times.
1968 2001-04-24 Zack Weinberg <zackw@stanford.edu>
1969 Nathan Sidwell <nathan@codesourcery.com>
1971 Lazy __FUNCTION__ generation.
1972 * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
1973 RID_C99_FUNCTION_NAME): New _RIDs.
1974 (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
1975 (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
1976 CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
1978 (function_id_node, pretty_function_id_node, func_id_node): Remove.
1979 (c99_function_name_decl_node, function_name_decl_node,
1980 pretty_function_name_decl_node, saved_function_name_decls):
1982 (struct language_function): Remove x_function_name_declared_p.
1983 (make_fname_decl): Remove a parameter.
1984 (declare_function_names): Remove prototype.
1985 (start_fname_decls, finish_fname_decls): Prototype.
1986 (fname_as_string): Likewise.
1987 (fname_string, fname_decl): Likewise.
1988 * c-common.c (make_fname_decl): Adjust.
1989 (struct fname_var_t): New struct.
1990 (fname_vars): New static array.
1991 (declare_function_name): Remove.
1992 (start_fname_decls, finish_fname_decls): New functions.
1993 (fname_as_string): New function from remnants of
1994 declare_function_name.
1995 (fname_string, fname_decl): New functions.
1997 * c-decl.c (c_function_name_declared_p): Remove.
1998 (init_decl_processing): Don't generate __FUNCTION__ et al ids,
1999 don't call declare_function_name. Call start_fname_decls.
2000 (c_make_fname_decl): Adjust parameters. Generate the name. Don't
2001 clobber the line number. Call finish_decl.
2002 (start_function): Call start_fname_decls.
2003 (finish_function): Call finish_fname_decls.
2004 Remove c_function_name_declared_p.
2005 (push_c_function_context): Don't push c_function_name_declared_p.
2006 (pop_c_function_context): Don't pop c_function_name_declared_p.
2007 (c_begin_compound_stmt): Don't check c_function_name_declared_p.
2008 * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
2009 (program): Call finish_fname_decls for C.
2010 (primary): Add VAR_FUNC_NAME.
2011 (reswords): Add slots for __FUNCTION__ et al.
2012 (rid_to_yy): Add mappings for __FUNCTION__ et al.
2013 (yylexname): If it's a STRING_FUNC_NAME generate the function name
2014 now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
2015 * c-semantics.c (prune_unused_decls): Remove.
2016 (finish_stmt_tree): Don't call prune_unused_decls.
2017 (genrtl_decl_stmt): Don't prune unused decls here.
2019 2001-04-24 Nick Clifton <nickc@cambridge.redhat.com>
2021 * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
2022 constant pool, use the pool's SYMBOL_REF instead.
2024 * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
2027 2001-04-23 Joseph S. Myers <jsm28@cam.ac.uk>
2029 * c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
2030 passing nested NOP_EXPRs to fold.
2032 Mon Apr 23 14:32:12 CEST 2001 Jan Hubicka <jh@suse.cz>
2034 * reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
2036 2001-04-22 Mark Mitchell <mark@codesourcery.com>
2038 * loop.c (loop_delete_insns): Add prototype.
2040 2001-04-23 Phil Edwards <pme@sources.redhat.com>
2042 * configure.in: Remove ENABLE_STD_NAMESPACE.
2043 * config.in: Regenerated.
2044 * configure: Regenerated.
2046 2001-04-22 Stan Shebs <shebs@apple.com>
2048 * config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
2050 * config/rs6000/xm-darwin.h: Remove file.
2052 2001-04-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2054 * collect2.c (main): Use concat in lieu of xmalloc/sprintf.
2055 (write_c_file_stat): Likewise.
2057 * dbxout.c (dbxout_init): Likewise.
2059 * profile.c (output_func_start_profiler): Likewise.
2061 2001-04-22 Philipp Thomas <pthomas@suse.de>
2063 * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
2064 require it instead of the CVS version.
2065 * cpperror.c (v_message): Put a blank before the macro
2066 body to not confuse exgettext.
2068 2001-04-21 Mark Mitchell <mark@codesourcery.com>
2070 * flow.c (proagate_one_insn): Remove useless assignment.
2071 * jump.c (delete_insn): Tidy.
2072 * loop.c (try_copy_prop): When deleting an instruction with a
2073 REG_RETVAL note, delete the entire libcall sequence.
2074 (loop_delete_insns): New function.
2075 * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
2076 we're not substituting into them yet.
2078 2001-04-21 Kazu Hirata <kazu@hxi.com>
2080 * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
2082 * config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
2084 * config/i960/i960.c (signed_arith_operand): Likewise.
2086 * calls.c (expand_call): Fix a comment typo.
2088 2001-04-20 Zack Weinberg <zackw@stanford.edu>
2090 * configure.in: Probe for times, clock, struct tms, and clock_t.
2091 * configure, config.in: Regenerate.
2092 * timevar.c: Replace ifdef forest in get_time with (relatively)
2093 straightforward series of checks based on autoconf's probes.
2095 Fri Apr 20 12:24:50 2001 Jeffrey A Law (law@cygnus.com)
2097 * config/pa/som.h (NM_FLAGS): Define.
2099 2001-04-20 Bernd Schmidt <bernds@redhat.com>
2101 * ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
2103 * ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
2104 * ia64.c (nop_cycles_until): New function.
2105 (prev_cycle, prev_first, last_issued): New static variables.
2106 (ia64_sched_reorder): Additional arg for clock.
2107 On final scheduling pass, emit extra NOPs as needed.
2108 Set prev_first and prev_cycle.
2109 (ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
2110 (ia64_variable_issue): Set last_issued.
2112 2001-04-20 Alexandre Oliva <aoliva@redhat.com>
2114 * config/i386/i386.c (ix86_expand_int_movcc,
2115 ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
2117 2001-04-20 Geoff Keating <geoffk@redhat.com>
2119 * config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
2120 ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
2121 ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
2122 ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
2123 ctrdi_internal6): In the short-branch case, this insn is only 4
2124 bytes long. Reported by Reza Yazdani <reza@apple.com>.
2126 2001-04-20 Jakub Jelinek <jakub@redhat.com>
2128 * reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
2129 "=u" is used together with "st" resp. "st(1)" clobber.
2131 2001-04-20 Jakub Jelinek <jakub@redhat.com>
2133 * gcse.c (gcse_main): Fix comment typo.
2134 (delete_null_pointer_check): Likewise.
2135 (hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
2136 * cse.c (cse_insn): Likewise.
2137 * function.c (fixup_var_refs_insns_with_hash): The sequence is
2140 2001-04-19 Zack Weinberg <zackw@stanford.edu>
2142 * toplev.c: Excise all code for the undocumented -dm option.
2143 (float_signal): Call signal just once, unconditionally.
2145 2001-04-19 Geoff Keating <geoffk@redhat.com>
2147 * fold-const.c (fold): Use first_rtl_op rather than
2148 TREE_CODE_LENGTH when looping over parameters of a tree.
2149 Correct strange grouping in test for evaluated SAVE_EXPR.
2151 Thu Apr 19 19:15:26 2001 Jeffrey A Law (law@cygnus.com)
2153 * config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
2154 * config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
2156 * config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
2157 name at 32 total characters.
2158 (ASM_OUTPUT_SECTION_NAME): Similarly. Also, only support placing
2159 functions in named sections -- data items can still go into unique
2160 sections, but they have normal names (ie $LIT$ and $DATA$).
2162 * config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
2165 2001-04-19 DJ Delorie <dj@redhat.com>
2167 * config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2168 to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
2169 * config/i386/cygwin.h: Likewise.
2170 * config/i386/mingw32.h: Likewise.
2171 * config/vax/vms.h: Likewise.
2172 * config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
2174 * config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
2175 to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
2176 * config/i386/xm-cygwin.h: Likewise.
2177 * config/i386/xm-djgpp.h: Likewise.
2178 * config/i386/xm-mingw32.h: Likewise.
2179 * config/vax/xm-vms.h: Likewise.
2181 * mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
2182 instead of OBJECT_SUFFIX.
2183 * collect2.c (find_a_file): Look for files matching the extension
2184 HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
2185 * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
2186 TARGET_EXECUTABLE_SUFFIX.
2187 (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
2188 (make_relative_prefix): Likewise.
2189 (convert_filename): Use TARGET_ suffixes throughout. Remove
2191 (process_command): Likewise.
2192 (do_spec_1): Likewise.
2193 * java/lang.c (init_parse): Likewise.
2195 * gcc.texi : Document four new options matching the pattern
2196 (HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX. Remove documentation
2197 for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX. Remove
2198 documentation for NO_AUTO_EXE_SUFFIX.
2200 2001-04-19 Mark Mitchell <mark@codesourcery.com>
2202 * toplev.h (struct lang_hooks): Allow decode_option to indicate
2203 that language-independent processing should not be done.
2204 * toplev.c (main): Adjust accordingly.
2206 * rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
2207 * loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
2209 * mips.md (reload_outputdi): Require that operand0 be a
2212 2001-04-19 Jakub Jelinek <jakub@redhat.com>
2214 * invoke.texi (-Wshadow): Clarify.
2216 2001-04-18 Mark Mitchell <mark@codesourcery.com>
2218 * loop.c (load_mems): Examine all the instructions in the loop
2219 before concluding that all jumps branch to the first instruction
2222 Wed Apr 18 20:32:03 2001 Christopher Faylor <cgf@cygnus.com>
2224 * config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
2226 2001-04-18 Jakub Jelinek <jakub@redhat.com>
2228 * cpp.texi (-Wwhite-space): Remove.
2229 (-Wall): -Wall does not imply -Wwhite-space.
2231 2001-04-17 Zack Weinberg <zackw@stanford.edu>
2233 * dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
2234 use it instead of blindly generating a .stabs.
2235 * xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
2237 * xcoffout.c: Don't bother defining default for N_CATCH.
2238 (UNKNOWN_STAB): Use internal_error.
2239 (stab_to_sclass): Remove now-unnecessary aborts.
2240 Remove #if 0'ed case N_BROWS. Add #ifdef N_OPT block.
2242 Tue Apr 17 21:41:11 2001 Jeffrey A Law (law@cygnus.com)
2244 * jump.c (mark_all_labels): Canonicalize the tail recursion
2245 label attached to CALL_PLACEHOLDER insns.
2247 2001-04-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2249 * output.h (dump_flow_info, free_basic_block_vars,
2250 which_alternative): Delete redundant prototypes.
2252 * rtl.h (bss_section): Likewise.
2254 2001-04-17 Loren J. Rittle <ljrittle@acm.org>
2256 * dbxout.c (N_OPT): Define if not available from <stab.h>
2258 2001-04-17 John David Anglin <dave@hiauly1.hia.nrc.ca>
2260 * vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
2261 libraries and native K&R compilers.
2263 2001-04-16 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2265 * c-typeck.c (convert_arguments): Don't check for width changes
2268 * invoke.texi (-Wtraditional): Update documentation.
2270 2001-04-16 Zack Weinberg <zackw@stanford.edu>
2272 * toplev.c (output_lang_identify): Delete.
2273 (compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
2274 Don't generate gcc2_compiled. label. Don't emit a nop if profiling.
2275 If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
2276 after calling ASM_FILE_END.
2278 * dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
2279 Instead, unconditionally emit an N_OPT stab with string equal
2280 to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
2282 * defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
2284 * config/dbxelf.h, config/freebsd.h, config/nextstep.h,
2285 config/psos.h, config/ptx4.h, config/1750a/1750a.h,
2286 config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
2287 config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
2288 config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
2289 config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
2290 config/i370/i370.h, config/i386/beos-elf.h,
2291 config/i386/osf1elf.h, config/i386/osfrose.h,
2292 config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
2293 config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
2294 config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
2295 config/m68k/tower-as.h, config/mcore/mcore-elf.h,
2296 config/mips/iris6.h, config/mips/osfrose.h,
2297 config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
2298 config/sparc/sp64-elf.h:
2299 Delete definitions of any or all of: ASM_IDENTIFY_GCC,
2300 ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
2302 * config/elfos.h, config/freebsd.h, config/linux.h,
2303 config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
2304 config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
2305 config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
2306 of ASM_FILE_START which merely emit a .version directive. Delete
2307 definitions of ASM_FILE_END which merely emit an .ident directive.
2309 * config/avr/avr.h, config/vax/vax.h: Delete definition of
2310 ASM_IDENTIFY_GCC and move part of its logic into
2313 * config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
2314 config/sparc/linux-aout.h: Don't emit .version directive in
2317 * config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
2318 (output_file_start): Correct comment.
2320 * config/i386/osfrose.h: Don't emit trailing .ident directive.
2321 * config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
2323 * config/pa/lib2funcs.asm: Delete gcc_compiled. label.
2324 * config/rs6000/aix.h: Correct comment.
2326 * config/i386/i386afe.h: Delete.
2327 * config.gcc: Remove references to i386afe.h.
2329 * tm.texi: Delete documentation of ASM_IDENTIFY_GCC. The
2330 other macros deleted by this patch were undocumented.
2332 Mon Apr 16 08:03:48 2001 Jeffrey A Law (law@cygnus.com)
2334 * pa.md (reload_outdi): Operand 0 must be a non hard register.
2336 * pa.c (secondary_reload_class): SAR<->FP copies require a
2339 * install.texi (mips-mips-bsd): Update list of functions
2340 required to include memmove.
2341 * tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
2342 used functions to include memmove.
2344 2001-04-15 Toon Moene <toon@moene.indiv.nluug.nl>
2346 * i386.md (sqrtdf2): SFmode should be DFmode.
2348 2001-04-15 Alexandre Oliva <aoliva@redhat.com>
2350 * gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
2351 (find_moveable_store): Likewise.
2353 2001-04-15 Jim Wilson <wilson@redhat.com>
2355 * function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
2357 Sat Apr 14 16:24:19 CEST 2001 Jan Hubicka <jh@suse.cz>
2359 * i386.md (ashldi3_1_rex64): Add 'J' to the constraints
2360 (ashrdi3_1_rex64): Change 'n' constraint to 'J'.
2362 2001-04-14 Alexandre Oliva <aoliva@redhat.com>
2364 * config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
2367 2001-04-14 Alan Modra <amodra@one.net.au>
2369 * pa.c (force_mode): New function.
2370 (emit_move_sequence): Use it instead of generating new rtx_REGs.
2372 2001-04-13 Jim Wilson <wilson@redhat.com>
2374 * config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
2375 (first_instruction): New static variable.
2376 (rtx_needs_barrier): Return 1 for alloc.
2377 (init_insn_group_barriers): Set first_instruction.
2378 (rws_sum): Delete duplicate definition.
2379 (group_barrier_needed_p): Return 0 when first_instruction true.
2380 (safe_group_barrier_needed_p): Save and restore first_instruction
2381 around group_barrier_needed_p call.
2383 Fri Apr 13 21:40:28 2001 Loren J. Rittle <ljrittle@acm.org>
2385 * expr.h (enum libfunc_index): Add LTI_memmove.
2386 (memmove_libfunc): Define macro.
2387 * optabs.c (init_optabs): Initialize memmove_libfunc.
2388 * expr.c (expand_assignment): Use memmove_libfunc instead of
2391 2001-04-13 Alan Modra <alan@linuxcare.com.au>
2393 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
2396 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2398 * Makefile.in (reg-stack.o): Depend on reload.h.
2399 (insn-attrtab.o): Depend on flags.h.
2401 * genattrtab (main): Include flags.h in insn-attrtab.c.
2403 * reg-stack.c: Include reload.h.
2405 * sparc.h (flag_pic): Delete redundant declaration.
2407 * output.h (flag_pic): Likewise.
2409 * tree.h (pedantic): Likewise.
2411 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2413 * Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
2415 * jump.c, regmove.c, toplev.c: Include reload.h.
2417 * reload.h (reload_cse_regs): Declare.
2419 * rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
2420 reload_cse_regs, init_reload, mark_home_live, reload,
2421 init_caller_save): Delete redundant prototypes.
2423 2001-04-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2425 * Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
2427 * regclass.c, ssa.c: Include expr.h.
2429 * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
2430 gen_move_insn): Delete redundant declarations.
2432 2001-04-13 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2434 * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
2435 (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
2436 MAKEINFO and MAKEINFOFLAGS too.
2437 (stage4_build): Correctly order -B flags.
2439 2001-04-13 Alan Modra <amodra@one.net.au>
2441 * pa.c (hppa_init_pic_save): Set rtx_unchanging for
2442 PIC_OFFSET_TABLE_SAVE_RTX.
2443 (zdepi_cint_p): Describe zdepi insn.
2444 Formatting and white space fixes throughout file.
2446 * pa.c (uint32_operand): Don't use long constant >= 2^32.
2447 (emit_move_sequence): Use HOST_WIDE_INT constants. Don't worry
2448 about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
2449 (compute_movstrsi_length): Make `align' unsigned to avoid warning.
2450 (output_64bit_and): Use plain `int's for shift counts.
2451 (output_64bit_ior): Likewise.
2452 (function_arg_partial_nregs): Use unsigned vars to avoid warnings.
2453 * pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
2456 * pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
2457 * pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
2458 * pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
2459 NEW_HP_ASSEMBLER into one. Kill warnings.
2461 * pa-gas.h: Delete file.
2462 * config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
2463 Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*. Update
2464 hppa*-*-linux*. For all pa targets, remove pa/gas.h from tm_file,
2465 instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
2467 * config/pa/mill32.S: New file.
2468 * config/pa/mill64.S: New file.
2469 * config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
2470 LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
2471 * config/pa/t-linux64: New file.
2472 * config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
2473 (LIB1ASMFUNCS, LIB1ASMSRC): Define.
2474 (TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
2476 * elfos.h (SELECT_SECTION): Undef before defining.
2477 * pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
2478 (LIB_SPEC): Remove -lmilli.
2479 (DBX_REGISTER_NUMBER): Remove.
2480 (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
2481 (DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
2482 NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
2483 DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
2484 DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
2485 ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
2486 ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
2487 TARGET_GAS): Define.
2488 * pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
2489 (function_arg): If TARGET_ELF32, pass fp args in both general and fp
2490 regs if we don't have a prototype.
2491 * pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
2492 * pa.h (TARGET_ELF32): Default to 0 if undefined.
2493 (EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
2494 EH_RETURN_HANDLER_RTX): Define.
2495 * pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
2496 (DWARF_FRAME_REGNUM): Define.
2497 * pa64-regs.h (DWARF_FRAME_REGNUM): Define.
2498 * pa32-linux.h: New file.
2499 * pa64-linux.h: New file.
2501 * pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
2502 (ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
2503 (LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
2504 NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
2505 DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
2506 DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
2507 CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
2508 FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
2509 READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
2510 DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
2511 UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
2512 ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
2513 TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
2514 * pa64-hpux.h: New file.
2515 (ASM_FILE_START): Correct typo.
2516 (PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
2517 * config.gcc: Modify for above.
2519 Fri Apr 13 00:09:22 EDT 2001 John Wehle (john@feith.com)
2521 * jump.c (jump_optimize_1): Don't delete dead stores here.
2522 * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
2523 prior to running jump optimize before cse2.
2525 2001-04-12 Richard Henderson <rth@redhat.com>
2527 * Makefile.in (regmove.o): Depend on except.h.
2528 * regmove.c: Include it.
2530 2001-04-12 Stan Shebs <shebs@apple.com>
2532 * objc/objc-act.c: Remove all code ifdefed with the never-used
2533 macro OBJC_INT_SELECTORS.
2534 * config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
2535 * tm.texi: Remove doc for OBJC_INT_SELECTORS.
2537 Thu Apr 12 18:13:37 2001 Rodney Brown <RodneyBrown@mynd.com>
2539 * config/pa/quadlib.c: Add prototypes.
2541 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2543 * bitmap.h (debug_bitmap): Delete redundant prototype.
2545 * rtl.h (get_frame_size): Likewise.
2547 2001-04-12 Jim Wilson <wilson@redhat.com>
2549 * config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
2550 to just emit an fnorm.
2552 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2554 * c-common.h (truthvalue_conversion, type_for_mode,
2555 type_for_size): Delete redundant declarations.
2557 * c-lex.h (is_class_name): Likewise.
2559 * c-tree.h (pedantic, convert, getdecls, gettags,
2560 global_bindings_p, init_decl_processing, insert_block,
2561 maybe_build_cleanup, poplevel, print_lang_decl,
2562 print_lang_identifier, print_lang_type, pushdecl, pushlevel,
2563 set_block, incomplete_type_error, build_function_call,
2564 lvalue_or_else, mark_addressable): Likewise.
2566 * expr.h (expand_tree_builtin): Likewise.
2568 2001-04-12 Mark Mitchell <mark@codesourcery.com>
2570 * invoke.texi: Document --param max-gcse-memory.
2572 2001-04-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2574 * configure.in (errno): Check for declaration.
2575 * configure, config.in: Regenerated.
2577 * system.h (errno): Only declare if not already done.
2579 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
2581 * recog.c (general_operand, immediate_operand,
2582 nonmemory_operand): Require CONST_INTs to be sign-extended
2583 values for their modes.
2585 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
2587 * expmed.c (store_bit_field): Truncate CONST_INTs.
2588 (expand_mult_highpart, expand_divmod): Likewise.
2589 * expr.c (convert_modes, store_field): Likewise.
2590 * integrate.c (expand_inline_function): Use promote_mode() to
2591 determine whether to convert_modes() an argument as signed
2593 * optabs.c (expand_binop): Get CONST_INT operands
2594 sign-extended for their appropriate modes.
2595 * stmt.c (emit_case_nodes): Convert node values to the
2597 (expand_end_case): Convert minval and range to the appropriate
2599 * unroll.c (loop_iterations): Truncate abs_diff to the mode of
2600 the iteration variable.
2601 * varasm.c (immed_double_const): Don't require words to be
2602 narrower than host wide ints to properly sign-extend
2605 2001-04-12 kaz Kojima <kkojima@rr.iij4u.or.jp>
2607 * sh.md (builtin_setjmp_receiver): New expander.
2609 2001-04-12 David Edelsohn <dje@watson.ibm.com>
2611 * config/rs6000/rs6000.c (rs6000_emit_move): Do not
2612 special-case HOST_BITS_PER_WIDE_INT != 32. Use same criteria
2613 for generating CONST_INT and CONST_DOUBLE.
2615 2001-04-12 Alexandre Oliva <aoliva@redhat.com>
2617 * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
2618 already sign-extended.
2619 (rs6000_emit_prologue): Make register iterator signed.
2620 (rs6000_emit_epilogue): Likewise.
2621 * config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
2623 (movsf split, movdf split): Sign-extend CONST_INTs.
2624 (movdi splits): Likewise.
2626 2001-04-12 Kelley Cook <kelley.cook@home.com>
2628 * config-lang.in (lang_dirs): Add in zlib.
2630 2001-04-11 Alexandre Oliva <aoliva@redhat.com>
2632 * config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
2633 operands that make it to RTL.
2635 2001-04-11 Stan Shebs <shebs@apple.com>
2637 Add Darwin (Mac OS X kernel) native support.
2638 * config.gcc (powerpc-*-darwin*): Add native bits.
2639 * config/darwin.c: New file, generic Darwin support functions.
2640 * config/darwin.h: New file, generic Darwin definitions.
2641 * config/darwin-protos.h: New file, generic Darwin prototypes.
2642 * rs6000/darwin.h: New file, Darwin for PowerPC.
2643 * rs6000/t-darwin: New file, Darwin makefile fragment.
2644 * rs6000/rs6000.h (OBJECT_MACHO): New macro.
2645 (TARGET_MACHO): Ditto.
2646 (rs6000_abi): Add ABI_DARWIN.
2647 (RS6000_REG_SAVE): Add ABI_DARWIN case.
2648 (RS6000_SAVE_AREA): Ditto.
2649 (FP_ARG_MAX_REG): Ditto.
2650 (RETURN_ADDRESS_OFFSET): Ditto.
2651 * rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
2653 (rs6000_emit_move): Add ABI_DARWIN cases.
2654 (print_operand): Ditto.
2655 (first_reg_to_save): Ditto.
2656 (rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
2657 (debug_stack_info): Ditto.
2658 (rs6000_emit_prologue): Ditto.
2659 (rs6000_emit_epilogue): Ditto.
2660 (output_profiler_hook): Ditto.
2661 (output_function_profiler): Ditto.
2662 (rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
2663 (output_mi_thunk): Add TARGET_MACHO case.
2664 (add_compiler_stub): Ditto.
2665 (output_compiler_stub): Ditto.
2666 (no_previous_def): Ditto.
2667 (output_call): Ditto.
2668 (machopic_output_stub): Ditto.
2669 (rs6000_machopic_legitimize_pic_address): Ditto.
2670 (toc_section): Ditto.
2671 * rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
2672 (macho_high): Ditto.
2675 (load_macho_picbase): Ditto.
2676 (call): Add TARGET_MACHO case to modify function.
2677 (call_value): Ditto.
2678 (call_nonlocal_sysv): Add ABI_DARWIN case.
2679 (call_value_nonlocal_sysv): Ditto.
2680 * rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
2682 (machopic_output_stub): Ditto.
2683 * ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
2685 2001-04-11 Mark Mitchell <mark@codesourcery.com>
2687 * dwarf2out.c (modified_type_die): Don't create new types here.
2688 * tree.h (get_qualified_type): New function.
2689 (build_qualified_type): Adjust comment.
2690 * tree.c (get_qualified_type): New function.
2691 (build_qualified_type): Use it.
2693 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2695 * cpp.texi (-Wtraditional): Update description.
2697 * invoke.texi (-Wtraditional): Likewise.
2699 2001-04-11 Jim Wilson <wilson@redhat.com>
2701 * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
2702 requires more than 64 bits of alignment.
2704 2001-04-11 Neil Booth <neil@daikokuya.demon.co.uk>
2706 * cpplib.c (do_line): Sanity check iff enable checking.
2708 2001-04-11 Richard Henderson <rth@redhat.com>
2710 * Makefile.in (insn-recog.o): Depend on toplev.h.
2711 (insn-emit.o, doloop.o): Likewise.
2712 * genrecog.c, genemit.c: Include toplev.h in generated file.
2713 * doloop.c: Include toplev.h.
2715 2001-04-11 Mark Mitchell <mark@codesourcery.com>
2717 * Makefile.in (gcse.o): Depend on params.h.
2718 * gcse.c: Include params.h.
2719 (gcse_main): Don't do GCSE if doing so will take inordinate
2721 * params.def (PARAM_MAX_GCSE_MEMORY): New parameter.
2722 * params.h (MAX_GCSE_MEMORY): New macro.
2724 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2726 * Makefile.in (insn-output.o): Depend on $(EXPR_H).
2728 * genoutput.c (output_prologue): Include expr.h in insn-output.c.
2730 2001-04-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2732 * output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
2734 * real.h (ereal_atof, real_value_truncate, target_isnan,
2735 target_isinf, target_negative, assemble_real, debug_real): Delete
2736 redundant prototypes.
2738 * Makefile.in (ifcvt.o): Depend on toplev.h.
2740 * c-semantics.c: Include expr.h.
2742 * ifcvt.c: Include toplev.h.
2744 * expr.h (rtx_equal_p): Delete prototype.
2746 * rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
2747 protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
2748 eliminate_constant_term, expand_complex_abs, find_single_use,
2749 make_tree, init_expr_once, init_optabs, supports_one_only):
2752 * tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
2753 rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
2754 expand_assignment, store_expr, emit_line_note_after,
2755 emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
2757 * toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
2759 * sparc-protos.h: Delete redundant prototypes.
2761 2001-04-11 Vladimir Makarov <vmakarov@toke.toronto.redhat.com>
2763 * reload.c (push_reload): Add condition missed in SUBREG byte
2766 Wed Apr 4 00:28:23 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2768 * sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
2770 Wed Apr 11 14:06:10 CEST 2001 Jan Hubicka <jh@suse.cz>
2772 * i386.md (floatsisf_sse): Fix output template
2773 * i386.c (ix86_expand_fp_movcc)
2775 * reg-stack.c (emit_pop_insn): Handle complex modes.
2776 (move_for_stack_reg): Emit proper move mode.
2777 (subst_stack_regs_pat): Handle complex modes.
2779 2001-04-11 Jakub Jelinek <jakub@redhat.com>
2781 * cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
2783 2001-04-10 Richard Henderson <rth@redhat.com>
2785 * libgcc2.h (__terminate_func_ptr): Remove typedef.
2786 (__pure_virtual, __terminate, __terminate_set_func,
2787 __default_terminate, __throw_type_match, __empty,
2788 __get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
2789 __eh_rtime_match, __unwinding_cleanup, __rethrow,
2790 __sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
2791 Remove prototypes of deleted functions.
2793 2001-04-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2795 * c-typeck.c (convert_arguments): -Wtraditional now activates
2796 -Wconversion warnings, except for changes in signed-ness.
2797 Detect complex<->int & int<->complex conversions as well.
2799 * invoke.texi (-Wtraditional): Document it.
2801 Tue Apr 10 17:45:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2803 * gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
2804 * flow.c (set_block_for_new_insns): Remove needless cast and
2805 properly check for unset block number.
2807 2001-04-10 Andrew MacLeod <amacleod@redhat.com>
2809 * function.c (purge_single_hard_subreg_set): Only check REGNO if
2810 the subreg was a hard register. Pseudos are left as subregs.
2812 2001-04-09 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2814 * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
2815 (LIB2ADD_ST): New macro, pass it to mklibgcc.
2816 * mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
2817 (libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
2818 * config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
2820 2001-04-09 Bo Thorsen <bo@suse.co.uk>
2822 * config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
2824 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
2826 * output.h (set_block_num): Missed it earlier, remove deprecated
2829 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
2831 * gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
2832 (load_killed_in_block_p): Change bb parameter from int to basic_block.
2833 (oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
2834 (handle_rd_kill_set): Change bb parameter from int to basic_block.
2835 (compute_kill_rd): Pass basic_blocks instead of ints as parameters.
2836 (expr_killed_p): Change bb parameter from int to basic_block, pass
2837 basic_blocks instead of ints as parameters.
2838 (compute_ae_kill): Pass basic_blocks instead of ints as parameters.
2839 (expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
2840 from int to basic_block, pass basic_blocks instead of ints as parms.
2841 (pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
2842 parameter from int to basic_block, pass basic_blocks instead of ints.
2843 (process_insert_insn): Pass basic_blocks instead of ints as parameters.
2844 (insert_insn_end_bb): Change bb parameter from int to basic_block,
2845 pass basic_blocks instead of ints.
2846 (pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
2847 basic_blocks instead of ints as parameters.
2848 (pre_delete): Pass basic_blocks instead of ints as parameters.
2849 (hoist_expr_reaches_here_p): Change bb parameter from int to
2850 basic_block, pass basic_blocks instead of ints.
2851 (hoist_code): Pass basic_blocks instead of ints as parameters.
2852 (reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
2853 Change bb parameter from int to basic_block.
2854 (build_store_vectors): Pass basic_blocks instead of ints as parameters.
2855 (insert_insn_start_bb): Change bb parameter from int to basic_block,
2856 pass basic_blocks instead of ints.
2857 (insert_store): Pass basic_blocks instead of ints as parameters.
2858 (replace_store_insn, delete_store): Change bb parameter from int to
2859 basic_block, pass basic_blocks instead of ints.
2860 (store_motion): Pass basic_blocks instead of ints as parameters.
2862 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
2864 * basic-block.h (set_new_block_for_insns): New Prototype.
2865 (set_block_num): Delete prototype.
2866 * flow.c (set_block_num): Remove obsolete function.
2867 (set_block_for_new_insns): Set BB for single or multiple insns.
2868 * gcse.c (handle_avail_expr): Use set_block_for_new_insns.
2869 (process_insn_end_bb): Use set_block_for_new_insns or
2870 set_block_for_insn instead of set_block_num.
2871 (pre_insert_copy_insn): Use set_block_for_new_insns.
2872 (update_ld_motion_stores): Use set_block_for_new_insns.
2873 (insert_insn_start_bb): Use set_block_for_new_insns.
2874 (replace_store_insn): Use set_block_for_new_insns.
2876 2001-04-09 Andrew MacLeod <amacleod@redhat.com>
2877 Jeff Law <law@redhat.com>
2879 * alias.c (get_addr): Externalize.
2880 (canon_true_dependence): New function. Behaves like true_dependance
2881 except it already assumes a MEM has been canonicalized.
2882 * flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
2883 * gcse.c (struct ls_expr): Add load/store expressions structure.
2884 (modify_mem_list, canon_modify_mem_list): New variable.
2885 (gcse_main): Initialize & finalize alias analysis. Use enhanced
2886 load motion and store motion if requested.
2887 (alloc_gcse_mem): Allocate space for modify_mem_list array.
2888 (free_gcse_mem): Free the modify_mem_list array.
2889 (oprs_unchanged_p): Use load_killed_in_block_p.
2890 (gcse_mems_conflict_p, gcse_mem_operand): New variables.
2891 (mems_conflict_for_gcse_p): New function. Don't kill loads
2892 with stores to themselves if its in the load/store expression list.
2893 (load_killed_in_block_p): New function.
2894 (canon_list_insert): New Function.
2895 (record_last_mem_set_info): Keep a list of all instructions which
2896 can modify memory for each basic block.
2897 (compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
2898 (oprs_not_set_p): Use load_killed_in_block_p.
2899 (mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
2900 (expr_killed_p): Use load_killed_in_block_p.
2901 (compute_transp): Do not pessimize memory references.
2902 (pre_edge_insert): Update stores for a load motion expression.
2903 (one_pre_gcse_pass): Check loads/stores for extra load motion.
2904 (ldst_entry): Find or create a ldst_expr structure.
2905 (free_ldst_entry): Free memory for an individual item.
2906 (free_ldst_mems): Free entire load/store expression list.
2907 (print_ldst_list): Print debug info.
2908 (find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
2909 (enumerate_ldsts): Assign integer values to each entry in list.
2910 (first_ls_expr): First expression in the list.
2911 (next_ls_expr): Next expression in the list.
2912 (simple_mem): Check if expression qualifies for ld/st expression list.
2913 (invalidate_any_buried_refs): Remove from expression list if its
2914 used in some other way we dont understand.
2915 (compute_ld_motion_mems): Find all potential enhanced load motion
2917 (trim_ld_motion_mems): Remove any expressions which are invalid.
2918 (update_ld_motion_stores): Copy store values to registers for loads
2919 which have been moved.
2920 (regvec, st_antloc, num_store): New global statics.
2921 (reg_set_info): Marks registers as set.
2922 (store_ops_ok): Verfies registers expressions are valid in a block.
2923 (find_moveable_store): Look for moveable stores in a pattern.
2924 (compute_store_table): Find stores in a function worth moving, maybe.
2925 (load_kills_store): Check dependance of a load and store.
2926 (find_loads): Find any loads in a pattern.
2927 (store_killed_in_insn): Check if a store is killed in an insn.
2928 (store_killed_after): Check is store killed after an insn in a block.
2929 (store_killed_before): Check is store killed before an insn in a block.
2930 (build_store_vectors): Generate the antic and avail vectors.
2931 (insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
2932 (insert_store): Add a store to an edge.
2933 (replace_store_insn): Replace a store with a SET insn.
2934 (delete_store): Delete a store insn.
2935 (free_store_memory): Free memory.
2936 (store_motion): Perform store motion.
2937 * invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
2938 * rtl.h (get_addr, canon_true_dependence): Add prototypes.
2939 * toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
2940 (f_options): Add gcse-lm and gcse-sm.
2942 Mon Apr 9 16:18:03 CEST 2001 Jan Hubicka <jh@suse.cz>
2944 * i386.c (expand_fp_movcc): Fix condition reversal code.
2946 * i386.c (ix86_register_move_cost): Fix handling of reformating penalty
2947 * i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
2948 (CLASS_MAX_NREGS): Use it.
2950 * i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
2951 handle properly complex values.
2952 (CLASS_MAX_NREGS): Likewise; update comment.
2954 2001-04-05 Bernd Schmidt <bernds@redhat.com>
2956 * ia64.c (ia64_flag_schedule_insns2): New variable.
2957 (ia64_override_options): Initialize it. Clear
2958 flag_schedule_insns_after_reload.
2959 (ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
2961 Mon Apr 9 15:09:13 CEST 2001 Jan Hubicka <jh@suse.cz>
2963 * i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
2964 Do not require source to match destination anymore;
2965 Add abort to the nontrivial cases that should be handled by split.
2966 (fix_trunc?fdi): Add SSE case for x86_64.
2967 (floatdi?f): Likewise.
2968 (floatdi?f_sse): New.
2969 (fix_trunc?fdi_sse): New.
2971 2001-04-09 Richard Sandiford <rsandifo@redhat.com>
2973 * dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
2974 (DEBUG_ARANGES_END_LABEL): Ditto.
2975 (dwarfout_init): Generate length and version fields at the start
2976 of the .debug_aranges info. Insert DEBUG_ARANGES_BEGIN_LABEL
2977 after the length field.
2978 (dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
2979 the .debug_aranges info.
2981 Sun Apr 8 00:43:27 CEST 2001 Jan Hubicka <jh@suse.cz>
2983 * i386.c (call, call_value): Make sure that resulting call_insn
2984 does have proper second operand.
2986 Sun Apr 8 22:50:49 2001 Christopher Faylor <cgf@cygnus.com>
2988 * config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
2989 function. Remove include of sys/cygwin.h.
2991 Sun Apr 8 22:20:27 2001 Christopher Faylor <cgf@cygnus.com>
2993 * config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
2994 (CPP_SPEC): Always search */include/w32api for header files.
2995 (ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
2996 (LINK_SPEC): Add "cyg" to the library search prefixes.
2998 2001-04-08 Philip Blundell <philb@gnu.org>
3000 * config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
3002 2001-04-08 Neil Booth <neil@daikokuya.demon.co.uk>
3004 * cpperror.c (print_location): Don't special case <stdin>.
3005 (_cpp_begin_message): Handle WARNING_SYSHDR the same as
3006 WARNING, but we don't check if we're in system headers.
3007 * cpplib.h (enum error_type): WARNING_SYSHDR: New.
3008 * cpplib.c (do_warning): Warn in system headers.
3010 2001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU>
3012 * mbchar.c: Include config.h first.
3014 2001-04-07 Zack Weinberg <zackw@stanford.edu>
3016 * config.gcc: Set default for xmake_file at top, not bottom.
3017 Change places that set xmake_file to "none" to set to the
3018 empty string instead, or remove them entirely if there is no
3019 default xmake_file for this cpu_type. Remove references to
3022 * config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
3023 config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
3024 config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
3025 config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
3026 config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
3027 config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
3028 config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
3029 config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
3030 config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
3031 config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
3034 * config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
3035 config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
3036 config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
3037 config/mips/x-sysv, config/rs6000/x-aix31:
3038 Just set CLIB to -lld or -lmld, as appropriate.
3040 * config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
3041 config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
3042 config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
3043 config/mips/x-iris, config/pa/x-pa:
3044 Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
3045 OTHER_FIXINCLUDES_DIRS.
3047 * config/i386/x-djgpp: Don't set LN or LN_S.
3048 * config/m88k/x-dolph: Don't define __m88k__.
3049 * config/m88k/x-tekXD88: Don't set AR_FLAGS.
3050 * config/pa/x-pa-mpeix: Just set up quadlib.asm.
3051 * config/i860/fx2800.h: No need to #undef SVR4.
3053 38 x-host fragments remain, 2 x-cpu.
3055 2001-04-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3057 * c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
3059 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
3061 * cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
3063 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
3065 * configure.in: Add check for lstat.
3066 * configure, config.in: Regenerate.
3067 * cppinit.c (append_include_chain): Make empty path ".".
3068 * cpplib.c (do_line): Don't simplify #line paths.
3069 * cppfiles.c (remove_component_p): New function.
3070 (find_or_create_entry): Acknowledge stat () errors during
3071 path simplification.
3072 (handle_missing_header): Don't simplify paths.
3073 (_cpp_simplify_pathname): Don't simplify VMS paths. Return
3074 the empty path untouched. Don't leave a trailing '/'.
3076 2001-04-06 Benjamin Kosnik <bkoz@redhat.com>
3078 * cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3079 * Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
3081 2001-04-06 Neil Booth <neil@daikokuya.demon.co.uk>
3083 * cppfiles.c (open_file): Fail directories silently, but
3084 with an errno of NOENT set.
3085 (read_include_file): Move the common exit code to the sole
3086 caller. Return an int indicating success or failure. Let
3087 open_file handle directories.
3088 (stack_include_file): If read_include_file fails,
3089 push a "null" buffer.
3091 2001-04-05 DJ Delorie <dj@redhat.com>
3093 * function.h (virtuals_instantiated): Declare.
3094 * function.c: (virtuals_instantiated): Make global.
3095 * calls.c (emit_library_call_value_1): Use
3096 virtual_outgoing_args_rtx only if it hasn't been instantiated.
3097 Otherwise, use the stack pointer directly.
3099 Thu Apr 5 19:13:33 CEST 2001 Jan Hubicka <jh@suse.cz>
3101 * i386.c (x86_initialize_trampoline): New global function.
3102 * i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
3103 (INITIALIZE_TRAMPOLINE): Move offline.
3104 * i386-protos.h (x86_initialize_trampoline): Declare.
3106 Thu Apr 5 19:02:15 CEST 2001 Jan Hubicka <jh@suse.cz>
3108 * i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
3109 (lea_0): Rename to lea_1.
3110 (lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
3111 (lea_general_?): Allow SImodes on TARGET_64BIT
3112 (lea_general_?_zext): New patterns.
3113 (call_1, call_1_rex64): Fix.
3115 Thu Apr 5 19:00:15 CEST 2001 Jan Hubicka <jh@suse.cz>
3117 * i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
3119 Thu Apr 5 18:25:56 CEST 2001 Jan Hubicka <jh@suse.cz>
3121 * i386.c (function_arg): Return constm1_rtx for last argument.
3122 (ix86_expand_prologue): Update gen_call calls.
3123 * i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
3124 * i386.md (call_pop): Likewise.
3125 (call): Second operand is VOIDmode.
3126 (call_0): Likewise; Support 64bits.
3127 (call_exp): New expander.
3128 (call_1): Get to the sync.
3129 (call_1_exp): New pattern.
3130 (call_value): Support 64bit.
3131 (call_value_exp): New pattern.
3132 (untyped_call): Update gen_call call.
3133 (call_value_pop): Disable for 64bit.
3134 (call_value_0_rex64): New pattern.
3135 (call_value_1_rex64): Likewise.
3137 2001-04-05 Bo Thorsen <bo@suse.de>
3139 * i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
3141 Thu Apr 5 13:44:17 2001 J"orn Rennecke <amylaar@redhat.com>
3143 * i386.md (*andsi_1+3): If used after reload, make sure the operand
3144 satisfies ANY_QI_REG_P.
3146 2001-04-05 Bernd Schmidt <bernds@redhat.com>
3148 * config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
3151 * sched-deps.c (sched_analyze_insn): Revert more of the March 27
3154 2001-04-04 Zack Weinberg <zackw@stanford.edu>
3156 * config.gcc: Remove default for xm_file. Clean up local
3157 machine type handling. Remove settings of xm_file to
3158 something that doesn't exist. In the big switch, set xm_file,
3159 don't append to it (the value before the big switch is always
3160 null). Don't force build_xm_file or host_xm_file to have a value.
3161 * configure.in: Remove default for xm_file. Do not special
3162 case $cpu/xm-$cpu.h not existing.
3163 * configure: Regenerate.
3165 2001-04-04 Diego Novillo <dnovillo@redhat.com>
3167 * simplify-rtx.c (simplify_binary_operation): Check for overflow
3168 when folding integer division and modulo operations.
3170 2001-04-04 Andrew MacLeod <amacleod@redhat.com>
3172 * dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
3173 instead of DWARF2_ADDR_SIZE for EH addresses.
3174 (output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
3177 2001-04-04 Richard Henderson <rth@redhat.com>
3179 * config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
3180 * config/ia64/t-glibc (LIB2ADDEH): Disable.
3181 * config/ia64/t-ia64 (LIB2ADDEH): Disable.
3183 2001-04-04 Richard Henderson <rth@redhat.com>
3185 * configure.in (gcc_cv_as_leb128): Escape "." in regexp.
3186 * configure: Rebuilt.
3188 2001-04-04 Jakub Jelinek <jakub@redhat.com>
3190 * gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
3191 push insns to delete to it instead of deleting them.
3192 (delete_null_pointer_checks): Delete insns from delete_list after
3193 all delete_null_pointer_checks_1 passes are done.
3195 2001-04-04 Richard Henderson <rth@redhat.com>
3197 * configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
3198 * configure: Rebuilt.
3200 2001-04-04 Zack Weinberg <zackw@stanford.edu>
3202 * expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
3203 * config/romp/xm-romp.h: Delete.
3205 2001-04-04 Bernd Schmidt <bernds@redhat.com>
3207 * sched-deps.c (sched_analyze_insn): Partially revert March 27
3210 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
3212 * emit-rtl.c (mark_label_nuses) Increment the label uses for
3213 all labels present in rtx.
3214 (try_split) Call new function for all split insns.
3216 2001-04-04 Jakub Jelinek <jakub@redhat.com>
3218 * recog.c (validate_replace_rtx_1): Instead of aborting just make
3219 sure the change won't be validated.
3221 Wed Apr 4 00:45:38 EDT 2001 John Wehle (john@feith.com)
3223 * rtl.h (set_noop_p): Declare.
3224 * flow.c (set_noop_p): Move from here ...
3225 * rtlanal.c (set_noop_p): ... to here and enhance.
3226 * cse.c (delete_trivially_dead_insns): Use it.
3227 * gcse.c (hash_scan_set): Likewise.
3228 * jump.c (delete_noop_moves): Likewise.
3229 * recog.c (split_all_insns): Likewise.
3231 2001-04-04 Alan Modra <alan@linuxcare.com.au>
3233 * dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
3234 stack pointer via a LO_SUM. Ditto for setting a temp register
3235 used to save to the stack. Set cfa_temp when setting fp, and
3236 allow matches to cfa_temp in addition to cfa_store when saving
3237 regs. Handle POST_INC and LO_SUM register stores. Document the
3238 changes and errors in rule 12 doco.
3240 * pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
3241 (actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
3242 (load_reg): Move closer to epilogue code.
3243 (DO_FRAME_NOTES): Define to control the following..
3244 (FRP): Define to set RTX_FRAME_RELATED_P on insns.
3245 (hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
3247 (hppa_expand_epilogue): Likewise.
3249 2001-04-03 Richard Henderson <rth@redhat.com>
3251 * configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
3252 * configure: Rebuild.
3254 2001-04-03 Richard Henderson <rth@redhat.com>
3256 * rtl.h (LCT_THROW): New.
3257 * calls.c (emit_library_call_value_1): Handle it.
3258 * except.c (connect_post_landing_pads): Use it.
3260 2001-04-03 Zack Weinberg <zackw@stanford.edu>
3262 * gansidecl.h: Delete file.
3263 * configure.in: Change all refs to gansidecl.h to use
3264 ansidecl.h. Adjust *_file_list so they know where ansidecl.h
3266 * configure: Regenerate.
3268 * Makefile.in (intl.o): Don't depend on gansidecl.h.
3269 * defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
3270 * ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
3271 Don't include gansidecl.h.
3272 * intl.c, main.c, version.c, fixinc/fixlib.h,
3273 fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
3276 Tue Apr 3 19:41:21 CEST 2001 Jan Hubicka <jh@suse.cz>
3278 * i386.c (ix86_force_to_memory, ix86_free_from_memory):
3281 2001-04-03 Zack Weinberg <zackw@stanford.edu>
3283 * config/i386/xm-beos.h, config/i386/xm-isc.h,
3284 config/i386/xm-next.h, config/i386/xm-sco.h,
3285 config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
3286 config/m88k/xm-m88k.h: Delete.
3288 * config/i386/xm-djgpp.h: Don't define __MSDOS__.
3289 * config/romp/xm-romp.h: Don't define bcopy.
3290 * config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
3291 HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
3293 * config.gcc: Remove references to deleted files.
3295 14 xm-host.h remain, 1 xm-cpu.h.
3297 2001-04-03 Jakub Jelinek <jakub@redhat.com>
3298 David S. Miller <davem@pierdol.cobaltmicro.com>
3299 Andrew MacLeod <amacleod@redhat.com>
3301 Use byte offsets in SUBREGs instead of words.
3303 * alias.c (nonlocal_mentioned_p): Use subreg_regno function.
3304 * caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
3305 to pass new argument.
3306 (add_stored_regs): Use subreg_regno_offset function.
3307 * calls.c (expand_call): For non-paradoxical SUBREG take endianess
3309 (precompute_arguments): Use gen_lowpart_SUBREG.
3310 * combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
3311 (combine_simplify_rtx): Rework to use SUBREG_BYTE.
3312 (simplify_set): Rework to use SUBREG_BYTE.
3313 (expand_field_assignment): Use SUBREG_BYTE.
3314 (make_extraction): Use SUBREG_BYTE.
3315 (if_then_else_cond): Use SUBREG_BYTE.
3316 (apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
3317 (gen_lowpart_for_combine): Compute full byte offset.
3318 * cse.c (mention_regs): Use SUBREG_BYTE.
3319 (remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
3320 (canon_hash): Use SUBREG_BYTE.
3321 (fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
3322 (gen_lowpart_if_possible): Formatting.
3323 * dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
3325 * dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
3326 (mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3327 (loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3328 * dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
3329 (output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3330 (output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
3331 * emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
3332 certain invariants about SUBREGs the compiler creates.
3333 (gen_lowpart_SUBREG): New function.
3334 (subreg_hard_regno): New function to get the final register number.
3335 (gen_lowpart_common): Use SUBREG_BYTE.
3336 (gen_imagpart): Spacing nits.
3337 (subreg_realpart_p): Use SUBREG_BYTE.
3338 (gen_highpart): Use SUBREG_BYTE.
3339 (subreg_lowpart_p): Always compute endian corrected goal offset,
3340 even at the byte level, then compare against that.
3341 (constant_subword): New function, pulled out all constant cases
3342 from operand_subword and changed second argument name to offset.
3343 (operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
3344 and call constant_subword to do the work. Return const0_rtx if
3345 looking for a word outside of OP.
3346 (operand_subword_force): Change second arg name to offset.
3347 * expmed.c (store_bit_field): Use SUBREG_BYTE.
3348 (store_split_bit_field): Use SUBREG_BYTE.
3349 (extract_bit_field): Use SUBREG_BYTE.
3350 (extract_split_bit_field): Use SUBREG_BYTE.
3351 (expand_shift): Use SUBREG_BYTE.
3352 * expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
3353 * final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
3354 * flow.c (set_noop_p): Use SUBREG_BYTE.
3355 (mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
3356 * function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
3357 (fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
3359 (optimize_bit_field): Use SUBREG_BYTE.
3360 (purge_addressof_1): Use SUBREG_BYTE.
3361 (purge_single_hard_subreg_set): Use subreg_regno_offset function.
3362 (assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
3363 actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
3364 * gengenrtl.c (special_rtx): Add SUBREG.
3365 * global.c (mark_reg_store): Use SUBREG_BYTE.
3366 (set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
3367 * ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
3368 * integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
3369 final byte offset is congruent to subreg's mode size.
3370 (subst_constants): Use SUBREG_BYTE.
3371 (mark_stores): Use subreg_regno_offset function.
3372 * jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
3373 function and SUBREG_BYTE.
3374 * local-alloc.c (combine_regs): Use subreg_regno_offset function.
3375 (reg_is_born): Use subreg_hard_regno.
3376 * recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
3377 endian correction code. Don't combine subregs unless resulting
3378 offset aligns with type. Fix subreg constant extraction for DImode.
3379 Simplify SUBREG of VOIDmode CONST_DOUBLE.
3380 (general_operand): Remove dead mode_altering_drug code.
3381 (indirect_operand): Use SUBREG_BYTE.
3382 (constrain_operands): Use subreg_regno_offset function.
3383 * reg-stack.c (get_true_reg): Use subreg_regno_offset function.
3384 * regmove.c (regmove_optimize): Use SUBREG_BYTE.
3385 (optimize_reg_copy_3): Use gen_lowpart_SUBREG.
3386 * regs.h (REG_SIZE): Allow target to override.
3387 (REGMODE_NATURAL_SIZE): New macro which target can override.
3388 * reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
3389 on the entire subreg rtx.
3390 (push_reload): Use SUBREG_BYTE in comments and code.
3391 (find_dummy_reload): Use subreg_regno_offset. Only adjust offsets
3392 for hard registers inside subregs.
3393 (operands_match_p): Use subreg_regno_offset.
3394 (find_reloads): Use SUBREG_BYTE and only advance offset for subregs
3395 containing hard regs.
3396 (find_reload_toplev): Use SUBREG_BYTE. Remove byte endian
3397 corrections when fixing up MEM subregs.
3398 (find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
3399 subreg_regno_offset where appropriate.
3400 (find_reloads_subreg_address): Use SUBREG_BYTE. Remove
3401 byte endian corrections when fixing up MEM subregs.
3402 (subst_reloads): When combining two subregs, make sure final
3403 offset is congruent to subreg's mode size.
3404 (find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
3405 (refers_to_regno_for_reload_p): Use subreg_regno.
3406 (reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
3407 * reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
3408 correction code for memory subreg fixups.
3409 (forget_old_reload_1): Use subreg_regno_offset.
3410 (choose_reload_regs): Use subreg_regno.
3411 (emit_input_reload_insns): Use SUBREG_BYTE.
3412 (reload_combine_note_store): Use subreg_regno_offset.
3413 (move2add_note_store): Use subreg_regno_offset.
3414 * resource.c (update_live_status, mark_referenced_resources): Use
3415 subreg_regno function.
3416 (mark_set_resources): Use subreg_regno function.
3417 * rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
3418 (subreg_regno_offset, subreg_regno): Define prototypes.
3419 (subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
3420 (gen_lowpart_SUBREG): Add prototype.
3421 * rtl.texi (subreg): Update to reflect new byte offset representation.
3422 Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
3423 * rtlanal.c (refers_to_regno_p): Use subreg_regno.
3424 (reg_overlap_mentioned_p): Use subreg_regno.
3425 (replace_regs); Make sure final offset of combined subreg is
3426 congruent to size of subreg's mode.
3427 (subreg_regno_offset): New function.
3428 (subreg_regno): New function.
3429 * sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
3430 * sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
3431 * stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
3432 * tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
3433 (SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
3434 * config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
3435 (a29k_get_reloaded_address): Use SUBREG_BYTE.
3436 (print_operand): Use SUBREG_BYTE.
3437 * config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
3438 * config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
3439 (arm_reload_out_hi): Use SUBREG_BYTE.
3440 * config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
3441 instead of SUBREG_WORD.
3442 (d30v_print_operand_memory_reference): Use subreg_regno_offset.
3443 * config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
3444 SUBREG creation to use byte offset.
3445 * config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
3446 inverted load insns): Fix explicit rtl subregs to use byte